From d4cf939435e06ca06e78e7c3e3cbb03b6291f775 Mon Sep 17 00:00:00 2001 From: Tommy Date: Mon, 26 Jun 2023 01:07:40 +0200 Subject: [PATCH 1/2] Add camera app --- robothub-oak/Camera App/Dockerfile | 8 + robothub-oak/Camera App/app.py | 235 ++ .../Camera App/frontend/--elements.js | 477 +++ robothub-oak/Camera App/frontend/--index.css | 3706 +++++++++++++++++ robothub-oak/Camera App/frontend/index.html | 129 + robothub-oak/Camera App/frontend/main.js | 299 ++ robothub-oak/Camera App/frontend/style.css | 201 + robothub-oak/Camera App/robotapp.toml | 15 + 8 files changed, 5070 insertions(+) create mode 100644 robothub-oak/Camera App/Dockerfile create mode 100644 robothub-oak/Camera App/app.py create mode 100644 robothub-oak/Camera App/frontend/--elements.js create mode 100644 robothub-oak/Camera App/frontend/--index.css create mode 100644 robothub-oak/Camera App/frontend/index.html create mode 100644 robothub-oak/Camera App/frontend/main.js create mode 100644 robothub-oak/Camera App/frontend/style.css create mode 100644 robothub-oak/Camera App/robotapp.toml diff --git a/robothub-oak/Camera App/Dockerfile b/robothub-oak/Camera App/Dockerfile new file mode 100644 index 0000000..3891ed2 --- /dev/null +++ b/robothub-oak/Camera App/Dockerfile @@ -0,0 +1,8 @@ +FROM ghcr.io/luxonis/robothub-app-v2:2023.131.2203-regular + +RUN apt-get update -y && \ + apt-get install -y git + +RUN pip install --upgrade pip +RUN pip install git+https://github.com/luxonis/depthai.git@camera-app#subdirectory=depthai_sdk +RUN pip install --upgrade git+https://github.com/whoactuallycares/robothub-oak.git@camera-app \ No newline at end of file diff --git a/robothub-oak/Camera App/app.py b/robothub-oak/Camera App/app.py new file mode 100644 index 0000000..2ad38dd --- /dev/null +++ b/robothub-oak/Camera App/app.py @@ -0,0 +1,235 @@ +from robothub_oak.manager import DEVICE_MANAGER +from robothub_oak import Device +import traceback +import robothub +import uuid +import time + +class CameraApp(robothub.RobotHubApplication): + def _sensor_resolutions(self, device) -> dict[str, list[str]]: + def sensor_resolutions(sensor: str): + return { + 'IMX214': ['1080p', '2160p'],#, '12mp'], + 'IMX378': ['1080p', '2160p'],#, '12mp'], + 'IMX577': ['12mp'], + 'IMX582': ['2160p'],#, '12mp', '32mp'], + 'OV9282': ['400p', '720p', '800p'], + 'OV7251': ['400p', '480p'], + 'AR0234': ['1200p'], + 'LCM48': ['2160p'], + }.get(sensor, ['1080p']) + + cameras = device.getCameraSensorNames() + + deviceResolutions = { + 'color': [], + 'mono': [] + } + + for socket, sensor in cameras.items(): + if socket == socket.RGB: + deviceResolutions['color'] = sensor_resolutions(sensor) + elif socket in [socket.LEFT, socket.RIGHT]: + deviceResolutions['mono'] = sensor_resolutions(sensor) + + return deviceResolutions + + def _stream_type(self, stream: str) -> str: + if stream == 'color': + return 'color' + return 'mono' + + def _overlay_active(self, device, stream): + if stream == 'color': + return device.conf['detections'] + return device.conf['colormap'] + + def _order_first(self, element, original): + if not element in original: + return original + array = original.copy() + array.remove(element) + array.insert(0, element) + return array + + def setup_device(self, device: Device, **kwargs): + device.reset() + print("setup") + + + if not hasattr(device, 'conf'): + device.conf = { + 'colormap': True, + 'detections': False, + 'temporal-filter': False, + 'ir-strength': 850 + } + device.streams = { + 'top': 'color', + 'bot': 'stereo' + } + device.resolutions = { + 'color': '1080p', + 'mono': '400p' + } + + if kwargs.get('top', None) != None: device.streams['top'] = kwargs['top'] + if kwargs.get('bot', None) != None: device.streams['bot'] = kwargs['bot'] + if kwargs.get('color', None) != None: device.resolutions['color'] = kwargs['color'] + if kwargs.get('mono', None) != None: device.resolutions['mono'] = kwargs['mono'] + + print(f'Setting up device {device.get_device_name()} with {device.streams} and {device.resolutions}') + def on_connected(hubCam): + print(f"{hubCam.device_name} {hubCam.device.getMxId()} connected") + robothub.COMMUNICATOR.notify(str(uuid.uuid4()), {'status': 'running', 'deviceId': hubCam.device.getMxId()}) + device.connect_callback = on_connected + + color = device.get_camera('color', resolution=device.resolutions['color'], fps=30) + left = device.get_camera('left', resolution=device.resolutions['mono'], fps=30) + right = device.get_camera('right', resolution=device.resolutions['mono'], fps=30) + stereo = device.get_stereo_camera(resolution=device.resolutions['mono'], fps=30, left_camera=left, right_camera=right) + stereo.configure(align=color) + color.configure(isp_scale=(1,3)) + + if 'color' in device.streams.values(): + color.stream_to_hub(name=f'Color stream {device.mxid}', unique_key=f'color-stream/{device.mxid}') + nn = device.create_neural_network('mobilenet-ssd', color) + nn.stream_to_hub(name=f'NN stream {device.mxid}', unique_key=f'nn-stream/{device.mxid}') + + if 'left' in device.streams.values(): + left.stream_to_hub(name=f'Left stream {device.mxid}', unique_key=f'left-stream/{device.mxid}') + + if 'right' in device.streams.values(): + right.stream_to_hub(name=f'Right stream {device.mxid}', unique_key=f'right-stream/{device.mxid}') + + if 'stereo' in device.streams.values(): + stereo.stream_to_hub(name=f'Stereo stream {device.mxid}', unique_key=f'stereo-stream/{device.mxid}') + device.spatialLocation = device.get_spatial_location_calculator(stereo) + device.stereoControl = device.get_stereo_control(stereo) + + + time.sleep(0.1) # Sleep to prevent duplicate stream error + + + def on_start(self): + devices = DEVICE_MANAGER.get_all_devices() + + for device in devices: + self.setup_device(device) + + robothub.COMMUNICATOR.on_frontend(notification=self.on_fe_notification, request=self.on_fe_request) + + def on_fe_request(self, session_id, unique_key, payload): + try: + print(f'FEReq: {unique_key} {payload}') + if unique_key == 'get': + if payload['option'] == 'devices': + return [{ + 'name': dev.oak['productName'], + 'mxid': dev.oak['serialNumber']} for dev in robothub.DEVICES + ] + elif payload['option'] == 'config': + device = DEVICE_MANAGER.get_device(payload['deviceId']) + + hubCam = device.hub_camera + + if hubCam is None: + return [{'id': 'camera', 'data': [{'name': 'Searching for cameras'}]}] + if hubCam.device is None: + return [{'id': 'camera', 'data': [{'name': 'Searching for cameras'}]}] + + supportedResolutions = self._sensor_resolutions(hubCam.device) + + supportedSterams = [] + + if hubCam.has_color: supportedSterams.append('color') + if hubCam.has_left: supportedSterams.append('left') + if hubCam.has_right: supportedSterams.append('right') + if hubCam.has_stereo: supportedSterams.append('stereo') + + topStream = self._stream_type(device.streams['top']) + botStream = self._stream_type(device.streams['bot']) + topResolution = device.resolutions[topStream] + botResolution = device.resolutions[botStream] + + return [ + {'id': 'ir-strength', 'data': device.conf['ir-strength']}, + {'id': 'temporal-filter', 'data': device.conf['temporal-filter']}, + {'id': 'top-stream', 'data': self._order_first(device.streams['top'], supportedSterams)}, + {'id': 'top-resolution', 'data': self._order_first(topResolution, supportedResolutions[topStream])}, + {'id': 'top-overlay', 'data': self._overlay_active(device, topStream)}, + {'id': 'bot-stream', 'data': self._order_first(device.streams['bot'], supportedSterams)}, + {'id': 'bot-resolution', 'data': self._order_first(botResolution, supportedResolutions[botStream])}, + {'id': 'bot-overlay', 'data': self._overlay_active(device, botStream)}, + ] + elif payload['option'] == 'resolutions': + device = DEVICE_MANAGER.get_device(payload['deviceId']) + + hubCam = device.hub_camera + + if hubCam is None: + return [{'id': 'camera', 'data': [{'name': 'Searching for cameras'}]}] + if hubCam.device is None: + return [{'id': 'camera', 'data': [{'name': 'Searching for cameras'}]}] + + supportedResolutions = self._sensor_resolutions(hubCam.device) + + return { + 'color': self._order_first(device.resolutions['color'], supportedResolutions['color']), + 'mono': self._order_first(device.resolutions['mono'], supportedResolutions['mono']) + } + elif payload['option'] == 'depth': + device = DEVICE_MANAGER.get_device(payload['deviceId']) + if device is None: + return + return device.spatialLocation.get_location() + elif unique_key == 'ping': + return 'pong' + except Exception as e: + traceback.print_exception(e) + return {'error': f'{e}'} + + + def on_fe_notification(self, session_id, unique_key, payload): + try: + print(f'FENtf: {unique_key} {payload}') + device = DEVICE_MANAGER.get_device(payload['deviceId']) + if device is None or device.hub_camera is None or device.hub_camera.oak_camera is None: + return + + if unique_key == 'set': + if payload['option'][3:] == '-resolution': + channel = payload['option'][:3] + if device.resolutions[self._stream_type(device.streams[channel])] != payload['value']: + self.setup_device(device, **{self._stream_type(device.streams[channel]): payload['value']}) + device.restart() + + elif payload['option'][3:] == '-stream': + channel = payload['option'][:3] + if device.streams[channel] != payload['value']: + self.setup_device(device, **{channel: payload['value']}) + device.restart() + elif payload['option'] == 'depth-query': + pos = payload['value'] + x, y = int(max(0, min(629, pos['x'] * 640))), int(max(0, min(349, pos['y'] * 360))) + device.spatialLocation.set_roi((x, y), (10, 10)) + elif payload['option'] == 'temporal-filter': + device.stereoControl.send_controls({'algorithm_control': {'align': 'CENTER'}, 'postprocessing': {"temporal": {"enable": payload['value']}}}) + device.conf['temporal-filter'] = payload['value'] + elif payload['option'] == 'ir-strength': + device.hub_camera.device.setIrLaserDotProjectorBrightness(int(payload['value'])) + device.conf['ir-strength'] = payload['value'] + elif payload['option'] == 'colormap': + device.stereoControl.send_colormap_controls({'colormap': 'JET' if payload['value'] else 'NONE'}) + device.conf['colormap'] = payload['value'] + elif payload['option'] == 'detections': + device.conf['detections'] = payload['value'] + + except Exception as e: + traceback.print_exception(e) + + def start_execution(self): + DEVICE_MANAGER.start() + + def on_stop(self): + DEVICE_MANAGER.stop() \ No newline at end of file diff --git a/robothub-oak/Camera App/frontend/--elements.js b/robothub-oak/Camera App/frontend/--elements.js new file mode 100644 index 0000000..928aa11 --- /dev/null +++ b/robothub-oak/Camera App/frontend/--elements.js @@ -0,0 +1,477 @@ +// RobotHubApi +let _streamStartedCbs = new Map(); + +robothubApi.onStreamStart = (cb) => { + console.error("Calling on stream with ", cb) + if (typeof cb === 'string') { + for (const [_id, _cb] of _streamStartedCbs) { + console.error("Calling") + void _cb(cb); + } + return ''; + } else { + const id = Math.random().toString(36).substring(2); + _streamStartedCbs.set(id, cb); + return id; + } +} + +document.getElementById('top-video').constructor.prototype.updateWidth = () => { + console.error("Stream started or smth") + // const wrapper = document.getElementById('top-video').shadowRoot.children[0] + // const video = wrapper.children[0] + // document.getElementById('top-video').updateWidth({ wrapper, canvas, video }); + // window.robothubApi.onStreamStart(document.getElementById('top-video').id); + +} + +robothubApi.offStreamStart = (id) => { + _streamStartedCbs.delete(id); +} + +robothubApi.whenSelected = (id, callback) => { + const ids = Array.isArray(id) ? id : [id]; + document.addEventListener('selected', event => { + if (!(event.target instanceof Element)) { + return; + } + const target = event.target; + if (ids.some(it => it === target.id) && target.getAttribute('disabled') !== 'true') { + callback({ ...event, target: event.target, selected: event.detail }); + } + }); +} + +robothubApi.whenSlid = (id, callback) => { + const ids = Array.isArray(id) ? id : [id]; + document.addEventListener('slid', event => { + if (!(event.target instanceof Element)) { + return; + } + const target = event.target; + if (ids.some(it => it === target.id) && target.getAttribute('disabled') !== 'true') { + callback({ ...event, target: event.target, value: event.detail }); + } + }); +} + +robothubApi.whenToggled = (id, callback) => { + const ids = Array.isArray(id) ? id : [id]; + document.addEventListener('toggled', event => { + if (!(event.target instanceof Element)) { + return; + } + const target = event.target; + if (ids.some(it => it === target.id) && target.getAttribute('disabled') !== 'true') { + callback({ ...event, target: event.target, value: event.detail }); + } + }); +} + +// Toggle +const toggleTemplate = document.createElement('template'); +toggleTemplate.innerHTML = ` + +
+
+
+ +`; + +class RobotHubToggle extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + this.shadowRoot.appendChild(toggleTemplate.content.cloneNode(true)); + } + + connectedCallback() { + this.setupListeners(); + this.updateDisplay(); + } + + setupListeners() { + this.addEventListener('click', () => { + this.toggleState(); + }); + } + + toggleState() { + if (this.getAttribute('data-switch') == 'on') { + this.setAttribute('data-switch', 'off'); + } else { + this.setAttribute('data-switch', 'on'); + } + this.dispatchEvent(new CustomEvent('toggled', { + bubbles: true, + detail: this.getAttribute('data-switch') == 'on' + })); + this.updateDisplay(); + } + + updateDisplay() { + const switchElement = this.shadowRoot.querySelector('div[data-is=switch]'); + if (this.getAttribute('data-switch') == 'on') { + switchElement.setAttribute('data-switch', 'on') + } else { + switchElement.setAttribute('data-switch', 'off') + } + } + + static get observedAttributes() { + return ['on']; + } + + attributeChangedCallback(name, oldValue, newValue) { + if (oldValue !== newValue) { + this.setAttribute('data-switch', newValue == 'true' ? 'on' : 'off'); + this.updateDisplay(); + } + } +} + +window.customElements.define('rh-toggle', RobotHubToggle); + + +// Option +const optionTemplate = document.createElement('template'); +optionTemplate.innerHTML = ` + +
+ +
+ +`; + +class RobotHubOption extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + this.shadowRoot.appendChild(optionTemplate.content.cloneNode(true)); + } + + connectedCallback() { + this.setupListeners(); + } + + setupListeners() { + this.addEventListener('click', (event) => { + event.stopPropagation(); + const selectElement = this.closest('rh-select'); + if (selectElement) { + selectElement.select(this); + } + }); + } +} + +window.customElements.define('rh-option', RobotHubOption); + +// Select +const selectTemplate = document.createElement('template'); +selectTemplate.innerHTML = ` + +
+
+
+
+ + + +
+ + + + +
+
+ +`; + +class RobotHubSelect extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + this.shadowRoot.appendChild(selectTemplate.content.cloneNode(true)); + this._selected = this.shadowRoot.querySelector('div[data-select="item"]'); + } + + static get observedAttributes() { + return ['id', 'open', 'selected']; + } + + connectedCallback() { + this.setupListeners(); + this.render(); + } + + disconnectedCallback() { + this.removeListeners(); + } + + attributeChangedCallback(name, oldValue, newValue) { + if (oldValue !== newValue) { + this[name] = newValue; + this.render(); + } + } + + setupListeners() { + const toggle = (event) => { + if (event.target === this) { + this.open = 'true'; + } else { + this.open = 'false'; + } + this.render(); + }; + + document.addEventListener('click', toggle); + this.removeListeners = () => { + document.removeEventListener('click', toggle); + }; + } + + render() { + const dialog = this.shadowRoot.querySelector('dialog[data-select="dialog"]'); + if (!dialog) { + throw new Error('Dialog element not found in shadow DOM'); + } + if (this.open === 'true') { + dialog.setAttribute('open', ''); + } else { + dialog.removeAttribute('open'); + } + const selectItem = this.shadowRoot.querySelector('div[data-select="item"]'); + if (selectItem) { + selectItem.innerHTML = this._selected?.innerText || ''; + selectItem.mxid = this._selected?.mxid || ''; + } + } + + select(option, quiet = false) { + this.open = 'false'; + if (this._selected != option) { + this._selected = option; + if (!quiet) { + this.dispatchEvent(new CustomEvent('selected', { bubbles: true, detail: option })); + } + this.render(); + } + + } + + get id() { + return this.getAttribute('id') || 'select'; + } + + set id(value) { + this.setAttribute('id', value); + } + + get open() { + return this.getAttribute('open') || 'false'; + } + + set open(value) { + this.setAttribute('open', value); + } + + get selected() { + return this._selected; + } + + set selected(value) { + this._selected = value; + this.setAttribute('selected', value.id); + } +} + +window.customElements.define('rh-select', RobotHubSelect); + +// Slider +const sliderTemplate = document.createElement('template'); +sliderTemplate.innerHTML = ` + +
+
+
+ 0 + 0 +
+ 0 +
+
+ +`; + +class RobotHubSlider extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + this.shadowRoot.appendChild(sliderTemplate.content.cloneNode(true)); + this.percentage = 0; + } + + connectedCallback() { + this.setAttribute('value', this.getAttribute('min')); + this.setupListeners(); + } + + setupListeners() { + this.addEventListener('mousedown', () => { + const updateSlider = event => { + const rect = this.getBoundingClientRect(); + let percentage = ((event.clientX - rect.x) / rect.width) * 100; + + percentage = this.stepped( + percentage, + parseFloat(this.getAttribute('min')), + parseFloat(this.getAttribute('max')), + parseFloat(this.getAttribute('step')) + ); + if (this.percentage !== percentage) { + this.update((percentage * parseFloat(this.getAttribute('max'))) / 100, percentage); + } + }; + document.addEventListener('mouseup', () => { + document.removeEventListener('mouseup', updateSlider); + document.removeEventListener('mousemove', updateSlider); + }); + + document.addEventListener('mousemove', updateSlider); + }); + } + + stepped(value, min, max, step) { + const numSteps = Math.round((value - min) / step); + const result = min + step * numSteps; + return Math.max(min, Math.min(max, result)); + } + + update(value, percentage) { + const steppedValue = this.stepped(value, parseFloat(this.getAttribute('min')), parseFloat(this.getAttribute('max')), parseFloat(this.getAttribute('step'))); + this.setAttribute('value', steppedValue.toString()); + this.percentage = this.stepped( + percentage, + 0, + 100, + (parseFloat(this.getAttribute('step')) / (parseFloat(this.getAttribute('max')) - parseFloat(this.getAttribute('min')))) * 100, + ); + this.dispatchEvent(new CustomEvent('slid', { + bubbles: true, + detail: steppedValue + })); + this.updateDisplay(); + } + + updateDisplay() { + this.shadowRoot.querySelector('[data-slider="min-value"]').textContent = this.getAttribute('min'); + this.shadowRoot.querySelector('[data-slider="max-value"]').textContent = this.getAttribute('max'); + this.shadowRoot.querySelector('[data-is="slider"]').style.setProperty('--_leftPadOffset', `${this.percentage}%`); + this.shadowRoot.querySelector('[data-slider="left-pad-value"]').textContent = this.getAttribute('value'); + } + + static get observedAttributes() { + return ['min', 'max', 'step', 'value']; + } + + attributeChangedCallback(name, oldValue, newValue) { + if (oldValue !== newValue) { + if (name == 'value') { + this.percentage = (newValue - this.getAttribute('min')) / (this.getAttribute('max') - this.getAttribute('min')) * 100 + } + this.updateDisplay(); + } + } +} + +window.customElements.define('rh-slider', RobotHubSlider); + +// Text +// Define our custom element +class RobotHubText extends HTMLElement { + constructor() { + super(); + // Attach shadow DOM to the custom element + this.attachShadow({ mode: 'open' }); + } + + connectedCallback() { + this.render(); + } + + attributeChangedCallback(attribute, oldValue, newValue) { + if (oldValue !== newValue) { + this.render(); + } + } + + get size() { + return this.getAttribute('size') || 'md'; + } + + get color() { + return this.getAttribute('color') || 'primary'; + } + + get weight() { + return this.getAttribute('weight') || 'normal'; + } + + render() { + this.shadowRoot.innerHTML = ` + + + + + + `; + } + + // static get observedAttributes lists the attributes we care about + static get observedAttributes() { + return ['size', 'color', 'weight']; + } +} + +// Define the new element +window.customElements.define('rh-text', RobotHubText); diff --git a/robothub-oak/Camera App/frontend/--index.css b/robothub-oak/Camera App/frontend/--index.css new file mode 100644 index 0000000..fbfc4ed --- /dev/null +++ b/robothub-oak/Camera App/frontend/--index.css @@ -0,0 +1,3706 @@ +/* + 1. Use a more-intuitive box-sizing model. +*/ +*, +*::before, +*::after { + box-sizing: border-box; +} +/* + 2. Remove default margin +*/ +*:not(dialog) { + margin: 0; +} +/* + 3. Allow percentage-based heights in the application +*/ +html, +body { + height: 100%; +} +/* + Typographic tweaks! + 4. Add accessible line-height + 5. Improve text rendering +*/ +body { + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} +/* + 6. Improve media defaults +*/ +img, +picture, +video, +canvas { + display: block; + max-width: 100%; +} +svg { + display: inline-block; +} +/* + 7. Remove built-in form typography styles +*/ +input, +button, +textarea, +select { + font: inherit; +} +/* + 8. Avoid text overflows +*/ +p, +h1, +h2, +h3, +h4, +h5, +h6 { + overflow-wrap: break-word; +} +/* + 9. Create a root stacking context +*/ +#root { + isolation: isolate; +} +a { + text-decoration: none; + color: inherit; +} +/* https://stackoverflow.com/questions/2781549/removing-input-background-colour-for-chrome-autocomplete */ +input:-webkit-autofill, +input:-webkit-autofill:hover, +input:-webkit-autofill:focus, +input:-webkit-autofill:active { + -webkit-box-shadow: 0 0 0 30px white inset !important; +} +:root { + --white: #fff; + --black: #000; + --gray25: #fcfcfd; + --gray50: #f9fafb; + --gray100: #f2f4f7; + --gray200: #eaecf0; + --gray300: #d0d5dd; + --gray400: #98a2b3; + --gray500: #667085; + --gray600: #475467; + --gray700: #344054; + --gray800: #1d2939; + --gray900: #101828; + --primary25: #f6fcfe; + --primary50: #dceffc; + --primary100: #c1dcf9; + --primary200: #a7c3f6; + --primary300: #8da4f4; + --primary400: #6178f4; + --primary500: #4c4ff1; + --primary600: #4e38ed; + --primary700: #5724e8; + --primary800: #441bb6; + --primary900: #301383; + --warning25: #fffcf5; + --warning50: #fffaeb; + --warning100: #fef0c7; + --warning200: #fedf89; + --warning300: #fec84b; + --warning400: #fdb022; + --warning500: #f79009; + --warning600: #dc6803; + --warning700: #b54708; + --error25: #fffbfa; + --error50: #fef3f2; + --error100: #fee4ef; + --error200: #fecdca; + --error300: #fda29b; + --error400: #f97066; + --error500: #f04438; + --error600: #d92d20; + --error700: #b42318; + --success25: #f6fef9; + --success50: #ecfdf3; + --success100: #d1fadf; + --success200: #a6f4c5; + --success300: #6ce9a6; + --success400: #32d583; + --success500: #12b76a; + --success600: #039855; + --success700: #027a48; + --pink700: #c11574; + --logo-color: #111111; + --shadow-xs: 0px 1px 2px rgba(16, 24, 40, 0.05); + --shadow-sm: 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06); + --shadow-md: 0px 4px 8px -2px rgba(16, 24, 40, 0.1), 0px 2px 4px -2px rgba(16, 24, 40, 0.06); + --shadow-lg: 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03); + --primary-color: var(--primary600); + --on-primary-color: #fff; + --divider-color: var(--gray200); + --navigation-background: #ffffff; + --content-background: #fcfcfd; + --component-background: #ffffff; + --font-family: Inter, -apple-system, BlinkMacSystemFont, Inter, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, + 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; + --screen-xs: 0px; + --screen-sm: 768px; + --screen-md: 992px; + --screen-lg: 1200px; + --screen-xl: 1400px; + --content-width-xs: 328px; + --content-width-sm: 568px; + --content-width-md: 712px; + --content-width-lg: var(--page-layout-panel-max-width); + --border-radius: 8px; + --border-radius-input: 6px; + --text-color: var(--gray900); + --text-color-secondary: var(--gray500); + --text-color-project: var(--primary700); + --icon-color: inherit; + --icon-color-hover: rgba(0, 0, 0, 0.75); + --heading-color: rgba(0, 0, 0, 0.85); + --text-color-dark: rgba(255, 255, 255, 0.95); + --text-color-secondary-dark: rgba(255, 255, 255, 0.75); + --font-size-base: 14px; + --line-height-base: 22px; + --font-size-text-xs: 0.857rem; + --line-height-text-xs: 0.857rem; + --font-size-text-sm: 1rem; + --line-height-text-sm: 1.35rem; + --font-size-text-md: 1.143rem; + --line-height-text-md: 1.56rem; + --font-size-text-lg: 1.286rem; + --line-height-text-lg: 1.286rem; + --font-size-text-xl: 1.429rem; + --line-height-text-xl: 1.429rem; + --font-size-display-xs: 1.514rem; + --line-height-display-xs: 1.8rem; + --font-size-display-sm: 2.143rem; + --line-height-display-sm: 2.143rem; + --font-size-display-md: 2.714rem; + --line-height-display-md: 2.714rem; + --font-size-display-lg: 3.286rem; + --line-height-display-lg: 3.286rem; + --font-size-display-xl: 4.286rem; + --line-height-display-xl: 4.286rem; + --font-size-display-2xl: 5.143rem; + --line-height-display-2xl: 5.143rem; + --font-weight-bold: 700; + --font-weight-semibold: 600; + --font-weight-medium: 500; + --font-weight-normal: 400; + --space-lg: 24px; + --space-md: 16px; + --space-sm: 12px; + --space-xs: 8px; + --space-xss: 4px; + --padding-lg: var(--space-lg); + --padding-md: var(--space-md); + --padding-sm: var(--space-sm); + --padding-xs: var(--space-xs); + --padding-xss: var(--space-xss); + --padding-side-default: var(--padding-md); + --margin-lg: var(--space-lg); + --margin-md: var(--space-md); + --margin-sm: var(--space-sm); + --margin-xs: var(--space-xs); + --margin-xss: var(--space-xss); + --height-base: 32px; + --height-lg: 40px; + --height-sm: 24px; + --border-color-base: var(--gray200); + --border-color-dark: var(--gray400); + --border-color-split: var(--border-color-base); + --border-color-inverse: var(--gray900); + --border-width-base: 1px; + --border-style-base: solid; + --outline-blur-size: 0; + --outline-width: 2px; + --outline-color: var(--primary-color); + --outline-fade: 20%; + --background-color-light: #fafafa; + --background-color-base: #f5f5f5; + --disabled-color: rgba(0, 0, 0, 0.25); + --disabled-bg: var(--background-color-base); + --disabled-active-bg: #e6e6e6; + --disabled-color-dark: rgba(255, 255, 255, 0.35); + --disabled-opacity: 0.6; + --shadow-color: rgba(0, 0, 0, 0.15); + --shadow-color-inverse: var(--component-background); + --box-shadow-base: var(--shadow-2); + --shadow-1-up: 0 -1.5px 4px -2px rgba(0, 0, 0, 0.06), 0 -2px 7px 0 rgba(0, 0, 0, 0.03); + --shadow-1-down: 0 3px 8px -4px rgba(0, 0, 0, 0.08), 0 -4px 14px 0 rgba(0, 0, 0, 0.05); + --shadow-1-left: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), + -12px 0 48px 16px rgba(0, 0, 0, 0.03); + --shadow-1-right: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), + 12px 0 48px 16px rgba(0, 0, 0, 0.03); + --shadow-2: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 9px 28px 8px rgba(0, 0, 0, 0.05); + --shadow-card: 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06); + /* Components */ + --layout-navmenu-mobile-height: 56px; + --navigationMenuWidth: 64px; + --navigationMenuHeight: 56px; + --navigationMenuBackground: var(--navigation-background); + --page-layout-panel-max-width: 960px; + --page-header-topbar-height: var(--navigationMenuHeight); + --page-content-spacing: 16px; + --page-content-bottom-offset: 56px; + --container-header-min-height: 72px; + --container-padding: var(--padding-md); + --divider: 1px solid var(--divider-color); + --inputHeightBase: 44px; + --inputHeightLg: 56px; + --inputHeightSm: 38px; + --inputPaddingHorizontal: 14px; + --inputPaddingHorizontalLg: 16px; + --inputPaddingHorizontalSm: 12px; + --inputPaddingVertical: 10px; + --inputPaddingVerticalLg: 12px; + --inputPaddingverticalSm: 8px; + --inputMinWidth: 120px; + --button-min-height: 42px; +} +:root { + --color: var(--text-color); +} +:root { + font-size: var(--font-size-base); + line-height: var(--line-height-base); + font-family: var(--font-family); + color: var(--color); + background-color: var(--gray50); +} +:focus { + outline: none; +} +/* Tablet and up */ +@media (min-width: 426px) { + :root { + --page-header-topbar-height: var(--navigationMenuWidth); + --page-content-spacing: 32px; + } +} +:is([data-text-align="left"]) { + text-align: left; +} +:is([data-text-align="center"]) { + text-align: center; +} +:is([data-text-align="right"]) { + text-align: right; +} +:is([data-text="text-xs"]) { + font-size: var(--font-size-text-xs); + line-height: var(--line-height-text-xs); +} +:is([data-text="text-sm"]) { + font-size: var(--font-size-text-sm); + line-height: var(--line-height-text-sm); +} +:is([data-text="text-md"]) { + font-size: var(--font-size-text-md); + line-height: var(--line-height-text-md); +} +:is([data-text="text-lg"]) { + font-size: var(--font-size-text-lg); + line-height: var(--line-height-text-lg); +} +:is([data-text="text-xl"]) { + font-size: var(--font-size-text-xl); + line-height: var(--line-height-text-xl); +} +:is([data-text="display-xs"]) { + font-size: var(--font-size-display-xs); + line-height: var(--line-height-display-xs); +} +:is([data-text="display-sm"]) { + font-size: var(--font-size-display-sm); + line-height: var(--line-height-display-sm); +} +:is([data-text="display-md"]) { + font-size: var(--font-size-display-md); + line-height: var(--line-height-display-md); +} +:is([data-text="display-lg"]) { + font-size: var(--font-size-display-lg); + line-height: var(--line-height-display-lg); +} +:is([data-text="display-xl"]) { + font-size: var(--font-size-display-xl); + line-height: var(--line-height-display-xl); +} +:is([data-text="display-2xl"]) { + font-size: var(--font-size-display-2xl); + line-height: var(--line-height-display-2xl); +} +:is([data-text="inherit"]) { + font-size: inherit; + line-height: inherit; +} +:is([data-text-weight="normal"]) { + font-weight: var(--font-weight-normal); +} +:is([data-text-weight="medium"]) { + font-weight: var(--font-weight-medium); +} +:is([data-text-weight="semibold"]) { + font-weight: var(--font-weight-semibold); +} +:is([data-text-weight="bold"]) { + font-weight: var(--font-weight-bold); +} +:is([data-text-weight="inherit"]) { + font-weight: inherit; +} +:is([data-font="default"]) { + font-family: var(--font-family); +} +:is([data-font="code"]) { + font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace; + white-space: pre; +} +[data-text][data-color="inherit"] { + color: inherit; +} +[data-clamp-text] { + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: var(--_lines, 2); + line-clamp: var(--_lines, 2); + -webkit-box-orient: vertical; +} +[data-clamp-text="1"] { + --_lines: 1; +} +[data-clamp-text="2"] { + --_lines: 2; +} +[data-clamp-text="3"] { + --_lines: 3; +} +.color-gray50 { + color: var(--gray50); +} +.color-gray100 { + color: var(--gray100); +} +.color-gray200 { + color: var(--gray200); +} +.color-gray300 { + color: var(--gray300); +} +.color-gray400 { + color: var(--gray400); +} +.color-gray500 { + color: var(--gray500); +} +.color-gray600 { + color: var(--gray600); +} +.color-gray700 { + color: var(--gray700); +} +.color-gray900 { + color: var(--gray900); +} +.color-primary500 { + color: var(--primary500); +} +.color-primary600 { + color: var(--primary600); +} +.color-primary700 { + color: var(--primary700); +} +.color-success50 { + color: var(--success50); +} +.color-success500 { + color: var(--success500); +} +.color-success600 { + color: var(--success500); +} +.color-success700 { + color: var(--success700); +} +.color-error500 { + color: var(--error500); +} +.color-error600 { + color: var(--error600); +} +.color-error700 { + color: var(--error700); +} +.color-warning600 { + color: var(--warning600); +} +.color-warning700 { + color: var(--warning700); +} +.color-pink700 { + color: var(--pink700); +} +.color-white { + color: #fff; +} +.background-primary25 { + background: var(--primary25); +} +.background-primary50 { + background: var(--primary50); +} +.background-primary100 { + background: var(--primary100); +} +.background-primary600 { + background: var(--primary600); +} +.background-primary700 { + background: var(--primary700); +} +.background-success50 { + background: var(--success50); +} +.background-error50 { + background: var(--error50); +} +.background-warning50 { + background: var(--warning50); +} +.background-warning600 { + background: var(--warning600); +} +.background-warning700 { + background: var(--warning700); +} +.background-gray25 { + background: var(--gray25); +} +.background-gray50 { + background: var(--gray50); +} +.background-gray100 { + background: var(--gray100); +} +.background-gray200 { + background: var(--gray200); +} +.background-gray600 { + background: var(--gray600); +} +.background-gray700 { + background: var(--gray700); +} +.background-gray900 { + background: var(--gray900); +} +html, +body, +div { + scroll-behavior: smooth; +} +[data-color] { + color: var(--color); +} +[data-color="project-primary"] { + --color: var(--text-color-project); +} +[data-color="primary"] { + --color: var(--text-color); +} +[data-color="secondary"] { + --color: var(--text-color-secondary); +} +[data-color="inverse-primary"] { + --color: var(--text-color-dark); +} +[data-color="inverse-secondary"] { + --color: var(--text-color-secondary-dark); +} +[data-color="disabled"] { + --color: var(--disabled-color); +} +[data-color="error"] { + --color: var(--error700); +} +[data-color="warning"] { + --color: var(--warning700); +} +[data-color="inherit"] { + --color: inherit; +} +[data-on="dark"][data-component-color="primary"] { + --_onPrimaryColor: var(--white); + --_primaryColor: var(--primary600); + --_secondaryColor: var(--primary25); + --_outlineColor: transparent; +} +[data-on="dark"][data-component-color="gray"] { + --_onPrimaryColor: var(--gray900); + --_primaryColor: var(--white); + --_secondaryColor: rgba(255, 255, 255, 0.4); + --_outlineColor: transparent; +} +[data-on="light"][data-component-color="primary"] { + --_onPrimaryColor: var(--on-primary-color); + --_primaryColor: var(--primary600); + --_secondaryColor: var(--primary25); + --_primaryHoverColor: var(--primary500); + --_secondaryHoverColor: var(--primary50); + --_outlineColor: var(--primary50); +} +[data-on="light"][data-component-color="error"] { + --_onPrimaryColor: var(--white); + --_primaryColor: var(--error700); + --_secondaryColor: var(--error50); + --_primaryHoverColor: var(--error500); + --_secondaryHoverColor: var(--error100); + --_outlineColor: var(--error100); +} +[data-on="light"][data-component-color="warning"] { + --_onPrimaryColor: var(--white); + --_primaryColor: var(--warning700); + --_secondaryColor: var(--warning50); + --_primaryHoverColor: var(--warning500); + --_secondaryHoverColor: var(--warning100); + --_outlineColor: var(--warning100); +} +[data-on="light"][data-component-color="success"] { + --_onPrimaryColor: var(--white); + --_primaryColor: var(--success700); + --_secondaryColor: var(--success50); + --_primaryHoverColor: var(--success500); + --_secondaryHoverColor: var(--success100); + --_outlineColor: var(--success100); +} +[data-on="light"][data-component-color="gray"] { + --_onPrimaryColor: var(--white); + --_primaryColor: var(--gray500); + --_secondaryColor: var(--white); + --_primaryHoverColor: var(--gray400); + --_secondaryHoverColor: var(--gray200); + --_outlineColor: var(--gray300); +} +[data-limit-width="page-panel"] { + max-width: var(--page-layout-panel-max-width); +} +[data-visible="no"] { + visibility: hidden; + animation-play-state: paused; +} +[data-visible="yes"] { + visibility: visible; +} +[data-scroll="none"] { + overflow: hidden; +} +[data-cursor="pointer"] { + cursor: pointer; +} +[data-padding] { + box-sizing: border-box; + padding: var(--_padding); +} +[data-padding="xss"] { + --_padding: var(--padding-xss); +} +[data-padding="xs"] { + --_padding: var(--padding-xs); +} +[data-padding="sm"] { + --_padding: var(--padding-sm); +} +[data-padding="md"] { + --_padding: var(--padding-md); +} +[data-padding="lg"] { + --_padding: var(--padding-lg); +} +[data-padding="none"] { + --_padding: 0; +} +[data-content-width="xs"] { + width: 100%; + max-width: var(--content-width-xs); +} +[data-content-width="sm"] { + width: 100%; + max-width: var(--content-width-sm); +} +[data-content-width="md"] { + width: 100%; + max-width: var(--content-width-md); +} +[data-content-width="lg"] { + width: 100%; + max-width: var(--content-width-lg); +} +[data-content-width="fill"] { + width: 100%; + max-width: unset; +} +:where([data-flex]) { + --_gap: var(--space-xs); + --_crossAxisAlign: center; + --_mainAxisAlign: center; +} +[data-flex] { + display: flex; + align-items: var(--_crossAxisAlign); + justify-content: var(--_mainAxisAlign); + gap: var(--_gap); + flex-wrap: var(--_flexWrap, unset); +} +[data-flex="row"] { + flex-direction: row; +} +[data-flex="row-inline"] { + display: inline-flex; + flex-direction: row; +} +[data-flex="column"] { + flex-direction: column; +} +[data-flex][data-flex-wrap] { + flex-wrap: wrap; +} +[data-flex][data-flex-main-align="start"] { + --_mainAxisAlign: flex-start; +} +[data-flex][data-flex-main-align="baseline"] { + --_mainAxisAlign: baseline; +} +[data-flex][data-flex-main-align="end"] { + --_mainAxisAlign: flex-end; +} +[data-flex][data-flex-main-align="stretch"] { + --_mainAxisAlign: stretch; +} +[data-flex][data-flex-cross-align="start"] { + --_crossAxisAlign: flex-start; +} +[data-flex][data-flex-cross-align="baseline"] { + --_crossAxisAlign: baseline; +} +[data-flex][data-flex-cross-align="end"] { + --_crossAxisAlign: flex-end; +} +[data-flex][data-flex-cross-align="stretch"] { + --_crossAxisAlign: stretch; +} +[data-flex][data-flex-gap="xss"] { + --_gap: var(--space-xss); +} +[data-flex][data-flex-gap="xs"] { + --_gap: var(--space-xs); +} +[data-flex][data-flex-gap="sm"] { + --_gap: var(--space-sm); +} +[data-flex][data-flex-gap="md"] { + --_gap: var(--space-md); +} +[data-flex][data-flex-gap="lg"] { + --_gap: var(--space-lg); +} +[data-flex][data-flex-wrap="nowrap"] { + --_flexWrap: nowrap; +} +[data-flex][data-flex-wrap="wrap"] { + --_flexWrap: wrap; +} +*[data-flex-child="stretch"] { + flex: 1; +} +[data-flex-gap="none"] { + --_gap: 0; +} +[data-is="grid"] { + display: grid; +} +.scrollable { + --scrollbar-foreground: var(--primary500); + --scrollbar-background: var(--gray200); + overflow-x: unset; + overflow-y: unset; + scroll-behavior: smooth; +} +.scrollable::-webkit-scrollbar { + scrollbar-color: var(--scrollbar-foreground) var(--scrollbar-background); + scrollbar-width: thin; + width: 8px; + height: 8px; +} +.scrollable::-webkit-scrollbar-track { + background-color: var(--scrollbar-background); +} +.scrollable::-webkit-scrollbar-thumb { + background: var(--scrollbar-foreground); +} +.scrollable.xy { + overflow-x: auto; + overflow-y: auto; +} +.scrollable.x { + overflow-x: auto; +} +.scrollable.not-x { + overflow-x: hidden; +} +.scrollable.y { + overflow-y: auto; +} +.scrollable.not-y { + overflow-y: hidden; +} +:where([data-animate="pulse"]) { + animation: pulse 2s ease 0s infinite; +} +@keyframes pulse { + 0% { + opacity: 1; + } + 50% { + opacity: 0.2; + } + 100% { + opacity: 1; + } +} +[data-layout="unsupported"] { + width: 100%; + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 16px; + box-sizing: border-box; + padding: var(--page-content-spacing); + background-color: var(--primary900); + color: var(--text-color-dark); +} +[data-layout="unsupported"] > :first-child { + margin-bottom: 16px; +} +[data-layout="unsupported"] > * { + width: 100%; + min-width: 0; + max-width: 800px; +} +div[data-layout="root"] { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + overflow: hidden; +} +div[data-layout="root"] > div[data-layout="body"] { + flex: 1; + width: 100%; + min-width: 0; + height: 100%; + overflow: hidden; + display: flex; + flex-direction: column; + align-items: stretch; +} +div[data-layout="body"] > div[data-layout="content"] { + flex: 1; + width: 100%; + min-width: 0; + overflow-x: hidden; + overflow-y: auto; + display: flex; + flex-direction: column; + align-items: stretch; +} +div[data-layout="body"] > div[data-layout="status"] { + display: none; +} +@media (min-width: 560px) { + div[data-layout="root"] { + flex-direction: row; + } + div[data-layout="body"] > div[data-layout="status"] { + width: 100%; + min-width: 0; + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-end; + gap: 24px; + border-top: 1px solid var(--gray200); + background-color: var(--gray50); + padding: 8px 32px; + box-shadow: var(--shadow-1-up); + } +} +/** Linked Robots */ +.LinkedRobots-info-bar { + display: flex; + flex-direction: column; + justify-content: space-evenly; +} +/** Camera Tile */ +.camera-description { + display: flex; + align-items: center; +} +.camera-description > span { + margin-right: 10px; +} +/** Dual Column */ +.DualColumn { + display: grid; + grid-template-columns: 1fr; + width: 100%; + height: 100vh; +} +.DualColumn > * { + width: 100%; + box-sizing: border-box; +} +.DualColumn > .left { + padding: 32px; + display: flex; + flex-direction: column; + justify-content: space-between; +} +.DualColumn > .left > .logo > svg { + width: 140px; + height: auto; +} +.DualColumn > .right { + display: none; +} +.DualColumn > .right > .camera { + max-width: 512px; +} +.DualColumn > .left > .content { + width: 100%; + max-width: 360px; + margin: auto; +} +.DualColumn > .left > .content > .header { + margin-bottom: var(--margin-lg); +} +.DualColumn > .left > .content > .header > .title { + margin-bottom: var(--margin-sm); +} +.DualColumn .links { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: center; + justify-content: flex-start; + margin: 12px 0 0 0; +} +.DualColumn .links > * { + margin: 4px; +} +@media (min-width: 800px) { + .DualColumn { + grid-template-columns: 1fr 1fr; + } + .DualColumn > .right { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + border: 1px solid var(--gray200); + border-radius: 80px 0px 0px 80px; + overflow: hidden; + background-color: #fff; + } +} +a:not([data-is="button"]) { + color: var(--color, var(--primary600)); + font-weight: var(--font-weight-medium); +} +a[data-fill-width] { + display: inline-block; + width: 100%; +} +:where(ul, ol)[data-is="list"] { + display: flex; + flex-direction: column; + align-items: stretch; + gap: var(--space-xs); + margin: var(--space-sm); + box-sizing: border-box; + padding: 0 0 0 var(--space-md); +} +dialog[data-is="modal"] { + --_sideMargin: 24px; + --_padding: 24px; + --_width: 600px; + --_maxWidth: calc(100vw - 2 * var(--_sideMargin)); + --_background: #fff; + --_contentGap: 24px; +} +dialog[data-is="modal"]::backdrop { + background: rgba(0, 0, 0, 0.25); +} +dialog[data-is="modal"] { + border-radius: var(--border-radius); + border: 0; + max-height: 90vh; + width: var(--_width); + max-width: var(--_maxWidth); + box-sizing: border-box; + padding: var(--_padding); + background: var(--_background); + box-shadow: var(--shadow-2); + flex-direction: column; + align-items: stretch; + gap: var(--_contentGap); +} +dialog[data-is="modal"][open] { + display: flex; +} +dialog[data-is="modal"][data-modal-stick="top"] { + top: var(--_sideMargin); + bottom: unset; +} +dialog[data-is="modal"][data-bg="gray"] { + --_background: var(--gray100); +} +dialog[data-is="modal"][data-bg="black"] { + --_background: #000; +} +dialog[data-is="modal"]:not([data-scroll="none"]) { + overflow-x: hidden; + overflow-y: auto; +} +dialog[data-is="modal"][data-scroll="none"] { + overflow: hidden; +} +dialog[data-is="modal"][data-padding="none"] { + --_padding: 0; +} +dialog[data-is="modal"][data-modal-width="auto"] { + --_width: fit-content; +} +dialog[data-is="modal"] header { + display: flex; + flex-direction: row; + align-items: center; +} +dialog[data-is="modal"] header > :first-child { + flex: 1; + display: flex; + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +/* PageHeader */ +[data-is="page-header"] { + display: flex; + flex-direction: column; + justify-content: space-between; + background-color: #fff; +} +[data-is="page-header"][data-page-header-level="primary"] { + box-shadow: var(--shadow-1-down); + position: relative; + z-index: 10; +} +[data-is="page-header"] > [data-page-header="banner"] { + font-size: var(--font-size-text-sm); + line-height: var(--line-height-text-sm); + background-color: var(--primary500); + color: var(--text-color-dark); + padding: 8px var(--page-content-spacing); + box-sizing: border-box; + text-align: center; +} +[data-is="page-header"] > [data-page-header="topbar"] { + display: flex; + flex-direction: row; + align-items: center; + min-height: var(--page-header-topbar-height); + padding: 0 var(--page-content-spacing); + border-bottom: var(--divider); +} +[data-is="page-header"][data-page-header-small-start-padding] > [data-page-header="topbar"] { + padding: 0 var(--page-content-spacing) 0 calc(var(--page-content-spacing) / 2); +} +[data-is="page-header"] > [data-page-header="topbar"] > :is(img, svg, [data-icon], [data-img], [data-is="button"]) { + margin-right: 20px; +} +[data-is="page-header"] > [data-page-header="topbar"] > :is(img, svg, [data-icon], [data-img]) { + width: 48px; + height: 48px; + display: flex; +} +[data-is="page-header"] > [data-page-header="topbar"] > [data-page-header="left-side"] { + display: flex; + flex: 1; + margin-right: 20px; + min-height: var(--btn-height-base); +} +[data-is="page-header"] > [data-page-header="topbar"] > [data-page-header="right-side"] { + display: flex; + flex-direction: row; + align-items: center; + gap: 12px; +} +[data-is="page-header"]:not([data-page-header-level="primary"]) { + border-top: var(--divider); + border-left: var(--divider); + border-right: var(--divider); +} +[data-is="page-header"]:not([data-page-header-level="primary"]), +[data-is="page-header"]:not([data-page-header-level="primary"]) [data-is="page-menu"] { + border-radius: var(--border-radius); +} +[data-is="page-header"]:not([data-page-header-level="primary"]) > [data-page-header="banner"] { + border-radius: var(--border-radius) var(--border-radius) 0 0; +} +/* PageMenu */ +[data-is="page-menu"] { + display: flex; + flex-direction: row; + justify-content: start; + padding: 8px var(--page-content-spacing); + border-bottom: var(--divider); +} +[data-is="page-menu"] > [data-page-menu="link"] { + display: inline-flex; + flex-direction: row; + align-items: center; + justify-content: center; + padding: 8px 12px; + margin-right: 8px; + border-radius: 6px; + color: var(--gray500); + font-size: var(--font-size-text-sm); + font-weight: var(--font-weight-medium); +} +[data-is="page-menu"] > [data-page-menu="link"].active { + background-color: var(--primary500); + color: var(--white); +} +[data-is="page-menu"] > [data-page-menu="link"]:not(.active) { + border: 1px solid var(--gray50); +} +[data-is="page-menu"] > [data-page-menu="link"]:not(.active):hover { + color: var(--primary500); + background-color: var(--primary25); +} +/* PageContent */ +[data-is="page-content"] { + --__padding: var(--_padding, var(--page-content-spacing)); + --__gap: var(--_gap, var(--page-content-spacing)); +} +[data-is="page-content"] { + display: flex; + flex-direction: row; + box-sizing: border-box; + padding: var(--__padding) var(--__padding) var(--page-content-bottom-offset) var(--__padding); + gap: 24px; +} +[data-is="page-content"] > [data-page-content="main"] { + display: flex; + flex-direction: column; + flex: 1; + min-width: 0; + gap: var(--__gap); +} +[data-is="page-content"][data-content="limit-width"] { + align-items: flex-start; +} +[data-is="page-content"][data-content="limit-width"] > * { + max-width: var(--page-layout-panel-max-width); +} +[data-is="page-content"] > [data-page-content="side-panel"] { + display: flex; + flex-direction: column; + align-items: stretch; + width: 100%; + max-width: 360px; + min-width: 360px; +} +/* PageInset */ +[data-is="page-inset"] { + width: 100%; + display: flex; + flex-direction: column; + align-items: stretch; + padding: var(--page-content-spacing); + box-sizing: border-box; + gap: 24px; +} +/* PageSearch */ +.PageSearch { + width: 100%; + display: flex; + flex-direction: column; + align-items: stretch; + box-sizing: border-box; + padding: 20px 24px; + border-radius: var(--border-radius); + background-color: #fff; + box-shadow: var(--shadow-md); + border: var(--border-width-base) var(--border-style-base) var(--gray200); + gap: 24px; +} +.PageSearch-field { + display: flex; + flex-direction: column; + gap: 6px; +} +.PageSearch input[type="search"]::-webkit-search-cancel-button { + padding: 2px; + cursor: pointer; +} +.PageSearchDropdown { + display: flex; + flex-direction: column; + min-height: 0; + min-width: 160px; + gap: 6px; +} +.PageSearchDropdown-option { + min-height: 38px; +} +.PageSearchDropdown .ant-select-selection-item, +.PageSearchDropdown-option .ant-select-item-option-content { + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-start; + gap: 8px; +} +@media (min-width: 720px) { + .PageSearch { + flex-direction: row; + align-items: center; + } + .PageSearch-field { + flex: 1; + } +} +/* ErrorPage */ +.ErrorPage { + text-align: center; +} +.ErrorPage > svg { + --_iconSize: 128px; + margin: auto; +} +/* Header */ +[data-header] { + display: block; + margin: 0 0 24px 0; +} +:where(svg[data-icon], [data-icon] > svg) { + --iconSize: 24px; +} +[data-icon]:where(svg, [data-icon]) { + width: var(--_iconSize, var(--iconSize)); + height: var(--_iconSize, var(--iconSize)); + color: var(--_iconColor, inherit); +} +[data-icon] { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + z-index: 6; + padding: var(--_iconPadding, 0); + border-radius: var(--border-radius); + background-color: var(--_bg, transparent); +} +[data-icon] > svg { + width: 100%; + height: 100%; +} +svg[data-inner-offset="4"] { + padding: 4px; +} +svg[data-size-override="6"] { + --_iconSize: 6px; +} +svg[data-size-override="14"] { + --_iconSize: 14px; +} +svg[data-size="6"] { + --iconSize: 6px; +} +svg[data-size="8"] { + --iconSize: 8px; +} +svg[data-size="16"] { + --iconSize: 16px; +} +svg[data-size="24"] { + --iconSize: 24px; +} +:where([data-icon], svg)[data-style="outlined-circle"] { + border-radius: 50%; + border: 1px solid var(--gray100); +} +:where([data-img], img)[data-style="outlined-circle"] { + border-radius: 50%; + border: 1px solid var(--gray100); + overflow: hidden; +} +[data-is="icon-glow"] { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + position: relative; + width: var(--_iconSize, var(--iconSize)); + height: var(--_iconSize, var(--iconSize)); +} +[data-is="icon-glow"] > :nth-child(1) { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; + background-color: var(--primary25); + border-radius: 100%; + z-index: 0; +} +[data-is="icon-glow"] > :nth-child(2) { + width: 70%; + height: 70%; + position: absolute; + left: 15%; + top: 15%; + background-color: var(--primary50); + border-radius: 100%; + z-index: 1; +} +[data-is="icon-glow"] > :is(svg, [data-icon]) { + width: 50%; + height: 50%; +} +[data-icon][data-disabled="yes"] { + opacity: 0.7; +} +*[data-is="divider"] { + --_maxWidth: unset; + --_color: var(--divider-color); + --_margin: 0; +} +*[data-is="divider"] { + width: 100%; + max-width: var(--_maxWidth); + margin: var(--_margin) 0; + display: flex; + flex-direction: row; + gap: 16px; + align-items: center; +} +*[data-is="divider"]:not([data-divider="with-label"]) { + border-top: 1px solid var(--_color); +} +*[data-is="divider"][data-on="light"] { + --_color: var(--gray600); +} +*[data-is="divider"][data-use-margin="yes"] { + --_margin: 16px; +} +*[data-is="divider"][data-divider="with-label"]::before, +*[data-is="divider"][data-divider="with-label"]::after { + content: ''; + display: block; + flex: 1; + height: 1px; + background-color: var(--_color); +} +*[data-is="divider"][data-divider="with-label"] > * { + font-size: var(--font-size-text-md); + font-weight: var(--font-weight-medium); + color: var(--gray700); +} +div[data-is="spinner"] { + --_size: 48px; + --_borderSize: calc(var(--_size) / 16); +} +div[data-is="spinner"].spinner--icon { + --_size: 16px; + --_borderSize: calc(var(--_size) / 16); +} +div[data-is="spinner"] { + width: var(--_size); + height: var(--_size); + border-radius: 50%; + display: inline-block; + position: relative; + border: var(--_borderSize) solid; + box-sizing: border-box; + animation: rotation 1.2s linear infinite; +} +div[data-is="spinner"]::after, +div[data-is="spinner"]::before { + content: ''; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + margin: auto; + border: var(--_borderSize) solid; + --_smallerSize: calc(var(--_size) - 4px); + width: var(--_smallerSize); + height: var(--_smallerSize); + border-radius: 50%; + box-sizing: border-box; + animation: rotationBack 0.6s linear infinite; + transform-origin: center center; +} +div[data-is="spinner"]::before { + --_smallestSize: calc(var(--_smallerSize) - 4px); + width: var(--_smallestSize); + height: var(--_smallestSize); + animation: rotation 2.4s linear infinite; +} +div[data-is="spinner"][data-visible="no"] { + animation-play-state: paused; +} +@keyframes rotation { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +@keyframes rotationBack { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(-360deg); + } +} +[data-is="spinner-wrapper"] { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-height: 96px; + width: 100%; + height: auto; +} +div[data-is="spinner"][data-on="dark"] { + border-color: #fff #fff transparent transparent; +} +div[data-is="spinner"][data-on="dark"]::before { + border-color: #FFF #FFF transparent transparent; +} +div[data-is="spinner"][data-on="dark"]::after { + border-color: var(--primary100) var(--primary100) transparent transparent; +} +div[data-is="spinner"][data-on="light"] { + border-color: var(--gray500) var(--gray500) transparent transparent; +} +div[data-is="spinner"][data-on="light"]::before { + border-color: var(--gray500) var(--gray500) transparent transparent; +} +div[data-is="spinner"][data-on="light"]::after { + border-color: var(--primary600) var(--primary600) transparent transparent; +} +div[data-is="progress"] { + --_percent: 0%; + --_height: 8px; +} +div[data-is="progress"] { + width: 100%; + height: var(--_height); + position: relative; + background-color: var(--gray200); + border-radius: calc(var(--_height) / 2); +} +div[data-is="progress"]::after { + content: ''; + position: absolute; + top: 0; + left: 0; + width: var(--_percent); + height: 100%; + background-color: var(--color, var(--primary600)); + border-radius: calc(var(--_height) / 2); + transition: width 0.2s ease-out; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"]), +:is(input[type="file"])::file-selector-button { + --_width: fit-content; + --_height: var(--button-min-height); + --_cursor: pointer; + --_text-light: var(--text-color); + --_text-dark: var(--text-color-dark); + --_text: var(--_text-light); + --_bg-light: hsl(0, 0%, 100%); + --_bg-dark: hsl(210, 9%, 31%); + --_bg: var(--_bg-light); + --_input-well-light: hsl(210, 16%, 87%); + --_input-well-dark: hsl(204, 10%, 10%); + --_input-well: var(--_input-well-light); + --_padding-inline: 1.75ch; + --_padding-block: 0.75ch; + --_border-radius: var(--border-radius); + --_border-light: hsl(210, 14%, 89%); + --_border-dark: var(--_bg-dark); + --_border: 1px solid var(--_border-light); + --_highlight-size: 0; + --_highlight-light: hsla(210, 10%, 71%, 0.25); + --_highlight-dark: hsla(210, 10%, 5%, 0.25); + --_highlight: var(--_highlight-light); + --_icon-size: 2ch; + --_shadow-color-light: 220 3% 15%; + --_shadow-color-dark: 220 40% 2%; + --_shadow-color: var(--_shadow-color-light); + --_shadow-strength-light: 1%; + --_shadow-strength-dark: 25%; + --_shadow-strength: var(--_shadow-strength-light); + --_shadow-1: 0 1px 2px -1px hsl(var(--_shadow-color)/calc(var(--_shadow-strength) + 9%)); + --_shadow-2: 0 3px 5px -2px hsl(var(--_shadow-color)/calc(var(--_shadow-strength) + 3%)), 0 7px 14px -5px hsl(var(--_shadow-color)/calc(var(--_shadow-strength) + 5%)); + --_shadow-depth-light: 0 1px var(--_border-light); + --_shadow-depth-dark: 0 1px var(--_bg-dark); + --_shadow-depth: var(--_shadow-depth-light); + --_transition-motion-reduce: none; + --_transition-motion-ok: box-shadow 145ms ease, + outline-offset 145ms ease; + --_transition: var(--_transition-motion-reduce); + font: inherit; + letter-spacing: inherit; + line-height: 1.5; + border-radius: var(--_border-radius); +} +@media (prefers-reduced-motion: no-preference) { + :is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"]), + :is(input[type="file"])::file-selector-button { + --_transition: var(--_transition-motion-ok); + } +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"]):not(:is([role="switch"], [hidden])), +:is(input[type="file"])::file-selector-button { + cursor: var(--_cursor); + touch-action: manipulation; + box-sizing: border-box; + display: inline-block; + width: var(--_width); + min-width: fit-content; + height: var(--_height); + font-size: var(--_size, 1rem); + line-height: var(--_lineHeight, 1); + background: var(--_bg); + color: var(--_text); + border: var(--_border); + box-shadow: var(--_shadow-2), var(--_shadow-depth), 0 0 0 var(--_highlight-size) var(--_highlight); + transition: var(--_transition); + position: relative; + font-weight: 500; + user-select: none; + -webkit-tap-highlight-color: transparent; + -webkit-touch-callout: none; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"]):not([role="switch"]) > [data-button="inner"] { + width: 100%; + height: 100%; + padding-block: var(--_padding-block); + padding-inline: var(--_padding-inline); + display: inline-flex; + justify-content: center; + align-items: center; + text-align: center; + gap: 1ch; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"]):not([role="switch"])[data-hide-children="yes"] > [data-button="inner"] { + visibility: hidden; +} +/* icons */ +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"]):not([role="switch"]) > [data-button="inner"] :where(svg, [data-icon]) { + block-size: var(--_icon-size); + inline-size: var(--_icon-size); + color: var(--_icon-color, var(--_text)); + border-radius: 0; + flex-shrink: 0; + fill: none; + stroke-linecap: round; + stroke-linejoin: round; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"]) > [data-is="spinner"] { + position: absolute; + --_size: calc(var(--_height) - 12px); + --_lineHeight: 1; + left: calc(50% - (var(--_size) / 2)); + top: calc((var(--_height) / 2) - (var(--_size) / 2)); +} +/* focus */ +:is(a[data-is="button"], button, input):where(:not(:active)):focus-visible { + outline-offset: 5px; +} +/* pressing */ +:where(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"]):where(:not(:active):hover) { + --_highlight-size: 0.5rem; +} +/* file input */ +:where(input[type="file"]) { + inline-size: 100%; + max-inline-size: max-content; + background-color: var(--_input-well); +} +:where(input[type="button"]), +:where(input[type="file"])::file-selector-button { + appearance: none; +} +:where(input[type="file"])::file-selector-button { + margin-inline-end: var(--_padding-inline); +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"])[disabled] { + --_cursor: not-allowed; + --_onPrimaryColor: var(--gray600); + --_primaryColor: var(--gray400); + --_secondaryColor: var(--gray100); + --_primaryHoverColor: var(--gray100); + --_secondaryHoverColor: var(--gray100); + --_shadow-depth: none; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-btn-type="primary"]:not(:is([disabled], [data-on="dark"])) { + --_bg: var(--_primaryColor); + --_border: none; + --_text: var(--_onPrimaryColor); +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-btn-type="primary"][disabled]:not([data-on="dark"]) { + --_bg: var(--_secondaryColor); + --_border: 1px solid var(--_outlineColor); + --_text: var(--_primaryColor); +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-btn-type="primary"][data-on="dark"]:not([disabled]) { + --_shadow-depth: none; + --_bg: transparent; + --_border: none; + --_text: var(--_primaryColor); +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-btn-type="primary"][data-on="dark"][disabled] { + --_shadow-depth: none; + --_bg: transparent; + --_border: none; + --_text: var(--_secondaryColor); + opacity: 0.6; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-btn-type="primary"]:hover { + --_bg: var(--_primaryHoverColor); +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-btn-type="secondary"] { + --_bg: var(--_secondaryColor); + --_border: 1px solid var(--_outlineColor); + --_text: var(--_primaryColor); + --_shadow-depth: none; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-btn-type="secondary"]:hover { + --_bg: var(--_secondaryHoverColor); +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-btn-type="tertiary"] { + --_bg: transparent; + --_border: none; + --_text: var(--_primaryColor); + --_padding-inline: 0; + --_padding-block: 0; + --_shadow-depth: none; + --_height: auto; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-fill-width] { + --_width: 100%; + min-width: fit-content; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-fill-width]:not([data-btn-align="center"]) > [data-button="inner"] { + justify-content: flex-start; +} +dialog[data-is="modal"] :is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-fill-width] > [data-button="inner"] { + justify-content: center; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-btn-size="sm"] { + --_icon-size: 18px; + --_height: 38px; + --_padding-inline: 1.5ch; + --_padding-block: 0.5ch; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-btn-size="md"] { + --_icon-size: 18px; + --_height: 42px; + --_size: 1rem; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"]):is([data-btn-size="lg"]) { + --_icon-size: 24px; + --_height: 48px; + --_size: 1.2rem; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"])[data-btn-size="xl"] { + --_icon-size: 28px; + --_height: 56px; + --_size: 1.4rem; +} +:is(a[data-is="button"], + button[data-is="button"], + input[type="button"], + input[type="submit"], + input[type="reset"], + input[type="file"]) > span[data-button="inner"] > span:not([data-btn-icon="end"]) { + display: inline-block; + flex: 1; + min-width: 0; +} +[data-tooltip] { + position: relative; +} +[data-tooltip] > dialog { + display: none; + z-index: 999999; + visibility: hidden; + position: absolute; + background-color: transparent; + border: 0; + transition: visibility 500ms ease-in-out 500ms; + width: 0; +} +[data-tooltip] > dialog > :first-child { + display: flex; + flex-direction: row; + align-items: center; + border-radius: var(--border-radius); + background-color: #000; + padding: 8px var(--container-padding); + box-sizing: border-box; + color: var(--text-color-dark); + box-shadow: var(--shadow-2); + width: max-content; + white-space: nowrap; + word-break: keep-all; +} +[data-tooltip][data-tooltip-placement="right"] > dialog { + left: calc(100% + var(--space-xs)); + flex-direction: row; + align-items: center; + justify-content: flex-start; +} +[data-tooltip][data-tooltip-placement="left"] > dialog { + left: calc(-1 * var(--space-xs) - 100%); + flex-direction: row; + align-items: center; + justify-content: flex-end; +} +[data-tooltip][data-tooltip-placement="top"] > dialog { + top: calc(-1 * (100% + var(--space-xs))); +} +[data-tooltip][data-tooltip-placement="bottom"] > dialog { + top: calc(100% + var(--space-xs)); +} +[data-tooltip] > dialog[open] { + display: flex; + visibility: visible; +} +[data-is="tabs"] { + display: flex; + flex-direction: row; + justify-content: start; + padding: 8px 0; +} +[data-is="tabs"][data-tabs-type="header"] { + padding: 8px var(--page-content-spacing); + box-sizing: border-box; + border-bottom: var(--divider); +} +[data-is="tabs"] > [data-tabs="tab"] { + padding: 8px 12px; + margin-right: 8px; + border-radius: 6px; + color: var(--gray500); + font-size: var(--font-size-text-sm); + font-weight: var(--font-weight-medium); + cursor: pointer; +} +[data-is="tabs"] > [data-tabs="tab"][data-tabs-active] { + background-color: var(--primary500); + color: var(--white); +} +[data-is="tabs"] > [data-tabs="tab"]:not([data-tabs-active]):hover { + color: var(--primary500); +} +[data-is="input"]:not([data-input-size]) { + --_minWidth: var(--inputMinWidth); + --_height: var(--inputHeightBase); + --_paddingVertical: var(--inputPaddingVertical); + --_paddingHorizontal: var(--inputPaddingHorizontal); +} +[data-is="input"][data-input-size='lg'] { + --_height: var(--inputHeightLg); + --_paddingVertical: var(--inputPaddingVerticalLg); + --_paddingHorizontal: var(--inputPaddingHorizontalLg); +} +[data-is="input"][data-input-size='sm'] { + --_height: var(--inputHeightSm); + --_paddingVertical: var(--inputPaddingVerticalSm); + --_paddingHorizontal: var(--inputPaddingHorizontalSm); +} +[data-is="input"] > :is(input, textarea) { + border: none; + background-image: none; + background: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +[data-is="input"] { + border-radius: var(--border-radius); + width: auto; + min-width: var(--_minWidth); + height: var(--_height); + display: flex; + flex-direction: row; +} +[data-is="input"][data-textarea] { + flex-direction: column; + height: auto; + min-height: calc(var(--_height) * var(--_minLines, 3)); +} +[data-is="input"][data-textarea] > textarea { + display: block; + resize: none; + width: 100%; +} +[data-is="input"] > .prefix { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + box-sizing: border-box; + padding: 0 12px; + background-color: var(--gray50); +} +[data-is="input"] > .prefix > svg { + width: 24px; + height: 24px; + color: var(--primary600); +} +[data-is="input"] > :is(input, textarea) { + flex: 1; + height: 100%; + box-sizing: border-box; + background-color: #fff; + padding: var(--_paddingVertical) var(--_paddingHorizontal); + color: var(--gray900); + border-top: 1px solid var(--border-color-base); + border-bottom: 1px solid var(--border-color-base); + border-right: 1px solid var(--border-color-base); + border-left: 1px solid var(--border-color-base); +} +[data-is="input"] > :is(input, textarea):focus { + outline: none; + border-color: var(--primary300); +} +[data-is="input"] > :is(input, textarea)::placeholder { + color: var(--gray300); +} +[data-is="input"] > :is(input, textarea)[disabled] { + background-color: var(--gray50); + color: var(--gray500); +} +[data-is="input"] > :first-child { + border-top-left-radius: var(--border-radius); + border-bottom-left-radius: var(--border-radius); + border-left: 1px solid var(--border-color-base); + border-top: 1px solid var(--border-color-base); + border-bottom: 1px solid var(--border-color-base); +} +[data-is="input"] > :first-child:not(:is(input, textarea)) { + height: 100%; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +[data-is="input"] > :last-child { + border-top-right-radius: var(--border-radius); + border-bottom-right-radius: var(--border-radius); + border-right: 1px solid var(--border-color-base); + border-top: 1px solid var(--border-color-base); + border-bottom: 1px solid var(--border-color-base); +} +[data-is="input"] > :last-child:not(:is(input, textarea)) { + height: 100%; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +*[data-dropdown="parent"] { + position: relative; +} +dialog[data-is="dropdown"] { + width: 100%; + display: none; + border: 0; + flex-direction: column; + min-height: 0; + padding: 0; + justify-content: flex-start; + top: 100%; + z-index: 10000; +} +dialog[data-is="dropdown"][data-dropdown-position="left"] { + align-items: flex-end; +} +dialog[data-is="dropdown"][data-dropdown-position="right"] { + align-items: flex-start; +} +dialog[data-is="dropdown"] > div { + display: flex; + width: max-content; + min-width: 100%; + flex-direction: column; + align-items: flex-end; + justify-content: flex-start; + background-color: #fff; + border: 1px solid var(--border-color-base); + box-shadow: var(--shadow-sm); + border-radius: var(--border-radius); +} +dialog[data-is="dropdown"][open] { + display: flex; +} +dialog[data-is="dropdown"] > div > :is(div, a)[data-is="dropdown-action"] { + width: max-content; + min-width: 100%; + display: flex; + flex-direction: row; + gap: 12px; + align-items: center; + min-height: var(--button-min-height); + box-sizing: border-box; + padding: 0 16px; + text-align: start; + cursor: pointer; +} +dialog[data-is="dropdown"] > div > :is(div, a)[data-is="dropdown-action"] { + --_textColor: var(--gray900); + --_iconSize: 16px; + --_iconColor: var(--gray500); +} +dialog[data-is="dropdown"] > div > :is(div, a)[data-is="dropdown-action"]:hover { + background-color: var(--gray100); +} +dialog[data-is="dropdown"] > div > :is(div, a)[data-is="dropdown-action"] { + color: var(--_textColor); +} +dialog[data-is="dropdown"] > div > :is(div, a)[data-is="dropdown-action"] :is(svg, [data-icon]) { + block-size: var(--_iconSize); + inline-size: var(--_iconSize); + color: var(--_iconColor); + flex-shrink: 0; + fill: none; + stroke-linecap: round; + stroke-linejoin: round; +} +dialog[data-is="dropdown"] > div > :is(div, a)[data-is="dropdown-action"][data-disabled] { + --_textColor: var(--disabled-color); + --_iconColor: var(--disabled-color); +} +dialog[data-is="dropdown"] > div > :is(div, a)[data-is="dropdown-action"][data-action="danger"] { + --_textColor: var(--danger600); + --_iconColor: var(--danger600); +} +[data-is="button-select"] > [data-is="button"] { + border-radius: 0; + border-left: 0; + border-right: 0; +} +[data-is="button-select"] > [data-is="button"]:first-child { + border-left: var(--_border); + border-top-left-radius: var(--_border-radius); + border-bottom-left-radius: var(--_border-radius); +} +[data-is="button-select"] > [data-is="button"]:last-child { + border-right: var(--_border); + border-top-right-radius: var(--_border-radius); + border-bottom-right-radius: var(--_border-radius); +} +[data-is="button-select"] > [data-is="button"].ButtonSelect-selected { + background: var(--primary50); + border: 1px solid var(--_primaryColor); +} +div[data-is="select"] { + --_border: var(--border-color-base); + --_arrowColor: var(--gray400); + --_height: var(--inputHeightBase); + --_fieldTextColor: var(--text-color); + --_background: #fff; +} +div[data-is="select"][data-input-size='lg'] { + --_height: var(--inputHeightLg); +} +div[data-is="select"][data-input-size='sm'] { + --_height: var(--inputHeightSm); +} +div[data-is="select"][data-select-height='fit-content'] { + --_height: max(max-content, var(--_selectItemMinHeight)); +} +div[data-is="select"][data-on="dark"] { + --_border: var(--border-color-dark); + --_fieldTextColor: var(--text-color-dark); + --_background: rgba(0, 0, 0, 0.6); +} +div[data-is="select"], +div[data-select="dialog"] { + --_iconSize: 24px; + --_iconColor: var(--primary500); + --_selectItemMinHeight: 48px; + --_selectItemVerticalPadding: var(--padding-xs); + --_selectItemHorizontalPadding: var(--container-padding); + --_selectItemGap: var(--space-sm); + --_maxHeight: 220px; +} +div[data-is="select"] { + background-color: var(--_background); + min-height: var(--inputHeightBase); + border: 1px solid var(--_border); + border-radius: var(--border-radius); + cursor: pointer; + font-size: var(--font-size-text-sm); + line-height: var(--line-height-text-sm); + position: relative; +} +div[data-is="select"] > div[data-select="field"] { + border-radius: var(--border-radius); + border: none; + height: var(--_height); + font-family: inherit; + font-size: inherit; + cursor: inherit; + line-height: inherit; + outline: none; + width: 100%; + min-width: fit-content; + color: var(--_fieldTextColor); + display: flex; + flex-direction: row; + align-items: center; +} +div[data-is="select"] > div[data-select="field"] > :first-child { + flex: 1; +} +div[data-is="select"] > div[data-select="field"] > svg { + margin: 0 8px; + --_iconColor: var(--gray300); +} +dialog[data-select="dialog"] { + width: 100%; + min-width: 100%; + display: none; + border: 0; + flex-direction: column; + min-height: 0; + padding: 0; + align-items: stretch; + justify-content: flex-start; + top: 100%; + z-index: 10000; + max-height: var(--_maxHeight); + overflow-y: auto; + box-shadow: var(--shadow-2); + border-radius: 0 0 var(--border-radius) var(--border-radius); +} +dialog[data-select="dialog"][open] { + display: flex; +} +dialog[data-select="dialog"] > div[data-select="item"]:hover { + background-color: rgba(0, 0, 0, 0.04); +} +dialog[data-select="dialog"] > div[data-select="item"], +div[data-is="select"] > div[data-select="field"] > div[data-select="item"] { + display: flex; + width: 100%; + height: max-content; + min-height: var(--_selectItemMinHeight); + flex-direction: row; + gap: var(--_selectItemGap); + align-items: center; + box-sizing: border-box; + cursor: pointer; + padding: var(--_selectItemVerticalPadding) var(--_selectItemHorizontalPadding); +} +div[data-is="select"]:not([data-select-height='fit-content']) > div[data-select="field"] > div[data-select="item"] { + height: 100%; + padding: 0 var(--_selectItemHorizontalPadding); +} +div[data-select="item"] :where(svg, [data-icon]) { + block-size: var(--_iconSize); + inline-size: var(--_iconSize); + color: var(--_iconColor); + flex-shrink: 0; + fill: none; + stroke-linecap: round; + stroke-linejoin: round; +} +div[data-select="item"][data-disabled] { + color: var(--disabled-color); +} +div[data-is="select"] [dropdown-arrow] { + width: 24px; + height: 24px; + margin-right: 8px; + pointer-events: none; + color: var(--_arrowColor); + grid-area: select; + justify-self: end; +} +div[data-is="badge"] { + --_paddingVertical: 2px; + --_paddingHorizontal: 8px; + --_gap: 4px; + --_height: 22px; + --_borderRadius: 11px; + --_textWeight: var(--font-weight-medium); + --_textSize: var(--font-size-text-xs); + --_lineHeight: var(--line-height-text-xs); + --_iconSize: 12px; +} +div[data-is="badge"][data-look="strong"] { + --_textColor: var(--_onPrimaryColor, #ffffff); + --_bg: var(--_primaryColor, var(--gray500)); +} +div[data-is="badge"][data-look="light"] { + --_textColor: var(--_primaryColor, var(--gray500)); + --_bg: var(--_secondaryColor, var(--gray100)); +} +div[data-is="badge"][data-look="transparent"] { + --_textColor: var(--_primaryColor, var(--gray500)); + --_bg: transparent; +} +div[data-is="badge"] { + display: flex; + width: fit-content; + height: var(--_height); + padding: var(--_paddingVertical) var(--_paddingHorizontal); + border-radius: var(--_borderRadius); + flex-direction: row; + justify-content: center; + align-items: center; + gap: var(--_gap); + color: var(--_textColor); + font-weight: var(--_textWeight); + font-size: var(--_textSize); + line-height: var(--_lineHeight); + background-color: var(--_bg); + user-select: none; +} +div[data-is="badge"][data-padding="none"] { + --_paddingVertical: 0; + --_paddingHorizontal: 0; +} +div[data-is="navigation-menu"] { + width: 100%; + height: var(--layout-navmenu-mobile-height); + border-bottom: var(--divider); + display: flex; + flex-direction: row; + align-items: center; + background-color: var(--navigationMenuBackground); + box-sizing: border-box; + gap: 16px; + padding: 0 var(--page-content-spacing); +} +div[data-is="navigation-menu"] > [data-device="mobile"] { + display: flex; +} +div[data-is="navigation-menu"] > [data-device="desktop"] { + display: none; +} +div[data-is="navigation-menu"] > [data-layout-nav="logo"] { + --_logoSize: calc(var(--layout-navmenu-mobile-height) - 12px); + width: var(--_logoSize); + height: var(--_logoSize); +} +div[data-is="navigation-menu"] > [data-layout-nav="logo"] > svg { + --_iconSize: var(--_logoSize); + --_iconColor: var(--logo-color); +} +div[data-is="navigation-menu"] [data-nav-menu="divider"] { + display: none; +} +div[data-is="navigation-menu"] > nav { + display: flex; + flex-direction: row; + align-items: center; + gap: 12px; +} +div[data-is="navigation-menu"] > nav:last-child { + flex: 1; + justify-content: flex-end; +} +div[data-is="navigation-menu"] > nav > :is(a, span) { + --_background: transparent; + --_borderColor: var(--gray100); + --_opacity: 1; + --_color: var(--gray600); +} +div[data-is="navigation-menu"] > nav > :is(a, span) { + width: 38px; + height: 38px; + border-radius: var(--border-radius); + border: 1px solid var(--_borderColor); + background: var(--_background); + color: var(--_color); + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + cursor: pointer; +} +div[data-is="navigation-menu"] > nav > :is(a, span):has(img) { + --border-radius: 48px; +} +div[data-is="navigation-menu"] > nav > :is(a, span) > svg { + width: 24px; + height: 24px; +} +div[data-is="navigation-menu"] > nav > :is(a, span).avatar > :is(img, svg) { + width: 100%; + height: 100%; + border-radius: var(--border-radius); + opacity: var(--_opacity); +} +div[data-is="navigation-menu"] > nav > *.active { + --_background: var(--primary700); + --_color: var(--on-primary-color); + --_borderColor: transparent; + --_opacity: 0.7; +} +@media (min-width: 560px) { + div[data-is="navigation-menu"] { + width: var(--navigationMenuWidth); + height: 100%; + flex-direction: column; + border-bottom: none; + border-right: var(--divider); + padding: 0; + gap: 0; + } + div[data-is="navigation-menu"] > [data-layout-nav="logo"] { + --_logoSize: var(--page-header-topbar-height); + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + border-bottom: var(--divider); + background-color: var(--primary-color); + } + div[data-is="navigation-menu"] > [data-layout-nav="logo"] > svg { + --_iconSize: 48px; + color: var(--on-primary-color); + } + div[data-is="navigation-menu"] > nav { + flex-direction: column; + padding: var(--container-padding) 0; + box-sizing: border-box; + } + div[data-is="navigation-menu"] [data-nav-menu="divider"] { + display: block; + height: 1px; + width: var(--navigationMenuWidth); + background-color: var(--gray100); + margin: 8px 0; + } + div[data-is="navigation-menu"] > nav:last-child { + flex: unset; + } + div[data-is="navigation-menu"] > nav > a { + width: 42px; + height: 42px; + } + div[data-is="navigation-menu"] > [data-device="mobile"] { + display: none; + } + div[data-is="navigation-menu"] > [data-device="desktop"] { + display: flex; + } +} +div[data-is="switch"] { + --_width: 36px; + --_borderWidth: 1px; + --_baseHeight: 20px; + --_height: calc(2 * var(--_borderWidth) + var(--_baseHeight)); + --_color: var(--gray300); + --_circleOffset: 2px; + --_circleSize: calc(var(--_baseHeight) - (2 * var(--_circleOffset))); +} +div[data-is="switch"] { + width: var(--_width); + height: var(--_height); + box-sizing: border-box; + border-radius: calc(var(--_height) / 2); + border: var(--_borderWidth) solid var(--gray200); + position: relative; + cursor: pointer; + background-color: var(--_color); +} +div[data-switch]::before { + position: absolute; + content: ''; + display: block; + width: var(--_circleSize); + height: var(--_circleSize); + border-radius: calc(var(--_circleSize) / 2); + top: var(--_circleOffset); + left: var(--_circleOffset); + transition: left 150ms ease-in-out; + background-color: var(--white); +} +div[data-switch="on"] { + --_color: var(--primary500); +} +div[data-switch="on"]::before { + left: calc(var(--_width) - var(--_circleOffset) - var(--_circleSize) - (2 * var(--_borderWidth))); +} +div[data-switch="off"] { + --_color: var(--gray200); +} +div[data-switch="off"]::before { + left: var(--_circleOffset); +} +.Table { + --_cell-padding: 16px; + --_cell-gap: 8px; + --_divider: 1px solid var(--divider-color); +} +.Table { + display: flex; + flex-direction: column; + align-items: stretch; + width: 100%; + border-radius: var(--border-radius); + background-color: #fff; + box-shadow: var(--shadow-md); + border: var(--border-width-base) var(--border-style-base) var(--divider-color); +} +.Table-header { + grid-column: 1 / -1; + display: flex; + flex-direction: row; + align-items: center; + min-height: var(--container-header-min-height); + padding: 0 var(--_cell-padding); + border-bottom: var(--_divider); +} +.Table-header-title { + flex: 1; + min-width: 0; +} +.Table-body { + display: grid; +} +.Table-headerCell, +.Table-cell { + display: flex; + flex-direction: row; + align-items: center; + justify-content: none; + padding: 0 var(--_cell-padding); + gap: var(--_cell-gap); + --_iconSize: 38px; +} +.Table-cell > [data-flex]:first-child { + width: 100%; +} +.Table-headerCell { + min-height: 44px; + border-bottom: var(--_divider); + font-weight: var(--font-weight-medium); + font-size: var(--font-size-text-sm); + color: var(--gray500); +} +.Table-filtersAppliedRow { + display: flex; + flex-direction: row; + align-items: center; + background-color: var(--primary25); + box-sizing: border-box; + padding: 0 var(--_cell-padding); + min-height: 56px; +} +.Table-filtersAppliedRow > :first-child { + flex: 1; + min-width: 0; + font-weight: 500; +} +.Table-cell { + min-height: 64px; +} +.Table-cell.cellAlign-start, +.Table-headerCell.cellAlign-start { + text-align: start; + justify-content: flex-start; +} +.Table-cell.cellAlign-center, +.Table-headerCell.cellAlign-center { + text-align: center; + justify-content: center; +} +.Table-cell.cellAlign-end, +.Table-headerCell.cellAlign-end { + text-align: end; + justify-content: flex-end; +} +.Table-cell.clickable { + cursor: pointer; +} +.Table-emptyContent { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + padding: 40px 0; +} +.Table-emptyContent-body { + width: 352px; + display: flex; + flex-direction: column; + align-items: center; +} +.LinkedRobots.Table-emptyContent-body { + min-width: 500px; +} +.Table-emptyContent-body > svg { + --_iconSize: 128px; +} +.Table-emptyContent-body > .title { + margin-top: 16px; +} +.Table-emptyContent-body > .text { + margin-top: 4px; +} +.Table-emptyContent-actions { + width: 100%; + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + margin-top: 16px; +} +[data-is="card"] { + --_contentGap: var(--container-padding); + --_paddingVertical: var(--container-padding); + --_paddingHorizontal: var(--container-padding); + --_backgroundColor: var(--white); + --_cursor: 'default'; + --_width: 100%; + --_minWidth: 0; +} +[data-is="card"] { + display: flex; + flex-direction: column; + width: var(--_width); + min-width: var(--_minWidth); + background-color: var(--_backgroundColor); + border: var(--divider); + cursor: var(--_cursor); + /* box-shadow: var(--shadow-card); */ + box-sizing: border-box; + border-radius: var(--border-radius); +} +[data-is="card"][data-card-padding] { + padding: 0; +} +[data-is="card"][data-card-padding="none"] { + --_paddingHorizontal: 0; + --_paddingVertical: 0; +} +[data-is="card"][data-card-padding="horizontal"] { + --_paddingVertical: 0; +} +[data-is="card"][data-card-padding="vertical"] { + --_paddingHorizontal: 0; +} +[data-is="card"] > [data-card="header"] { + display: flex; + flex-direction: row; + align-items: center; + width: 100%; + min-height: var(--container-header-min-height); + border-bottom: 1px solid var(--divider-color); + border-radius: var(--border-radius) var(--border-radius) 0 0; + padding: var(--container-padding); +} +[data-is="card"] > [data-card="header"] > [data-card="header-text"] { + flex: 1; + display: flex; + flex-direction: column; + align-items: flex-start; + justify-content: center; + gap: 4px; +} +[data-is="card"] > [data-card="header"] > [data-card="header-text"] > [data-card="title"] { + margin: 0; +} +[data-is="card"] > [data-card="content"] { + box-sizing: border-box; + padding: var(--_paddingVertical) var(--_paddingHorizontal); + display: flex; + flex-direction: column; + align-items: stretch; + gap: var(--_contentGap); +} +[data-is="card"] > [data-card="actions"] { + display: flex; + flex-direction: row; + align-items: center; + flex-wrap: wrap; + width: 100%; + gap: var(--padding-sm); + padding: calc(var(--container-padding) / 2) var(--container-padding); + border-top: 1px solid var(--gray100); +} +/* Grid */ +[data-is="cards-grid"] { + --_columnWidth: 410px; + --_gap: var(--page-content-spacing); +} +[data-is="cards-grid"] { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(0, var(--_columnWidth))); + column-gap: var(--_gap); + row-gap: var(--_gap); + grid-auto-flow: dense; + align-items: start; +} +[data-is="cards-grid"] > * { + width: 100%; + height: auto; +} +[data-is="cards-grid"] > [data-cards-grid-column="1"] { + grid-column: 1; +} +[data-is="cards-grid"] > [data-cards-grid-column="2"] { + grid-column: 2; +} +[data-is="cards-grid"] > [data-cards-grid-column="3"] { + grid-column: 3; +} +[data-is="cards-grid"] > [data-cards-grid-column="all"] { + grid-column: 1 / -1; +} +[data-is="cards-grid"] > [data-cards-grid="column"] { + display: flex; + flex-direction: column; + gap: var(--_gap); +} +[data-is="cards-grid"] > [data-cards-grid="column"] > * { + width: 100%; +} +/** + * List Row + */ +div[data-is='list-row'] { + --_prefixWidth: 56px; + --_prefixIconSize: 40px; + --_prefixImageSize: 40px; + --_spacing: 16px; + --_sideSpacing: var(--_spacing); + --_minHeight: 56px; + --_rowGap: 2px; +} +div[data-is='list-row'] { + width: 100%; + height: var(--_minHeight); + display: inline-grid; + row-gap: var(--_rowGap); + box-sizing: border-box; + padding: 0 var(--_sideSpacing); + column-gap: var(--_spacing); + align-items: center; + align-content: center; + grid-template-rows: max-content max-content; +} +div[data-is='list-row'][data-disabled] { + opacity: 0.7; +} +div[data-is='list-row'][data-narrow] { + --_minHeight: 48px; +} +div[data-is='list-row'][data-padding='none'] { + --_sideSpacing: 0; +} +div[data-is='list-row']:not([data-lr-prefix]) { + grid-template-columns: 1fr max-content; +} +div[data-is='list-row'][data-lr-prefix] { + grid-template-columns: calc(var(--_prefixWidth) - var(--_spacing)) 1fr max-content; +} +div[data-is='list-row'][data-lr-prefix] > :nth-child(1) { + grid-column: 1 / 1; + grid-row: 1 / -1; +} +div[data-is='list-row'][data-lr-prefix='square'] > :nth-child(1):is(svg, [data-icon]) { + width: var(--_prefixIconSize); + height: var(--_prefixIconSize); +} +div[data-is='list-row'][data-lr-prefix='square'] > :nth-child(1):is(img) { + width: var(--_prefixImageSize); + height: var(--_prefixImageSize); +} +div[data-is='list-row'][data-lr-prefix='rect'] { + --_prefixWidth: 120px; + --_minHeight: 72px; +} +div[data-is='list-row'][data-lr-prefix='rect'] > :nth-child(1):is(img, div) { + width: 100%; + height: var(--_minHeight); + border-radius: 4px; + object-fit: cover; +} +div[data-is='list-row'] > [data-list-row='title'] { + font-size: var(--font-size-text-sm); + font-weight: var(--font-weight-normal); + color: var(--gray900); + width: 100%; + display: inline-flex; + flex-direction: row; + align-self: var(--_alignTitle, center); +} +div[data-is='list-row'] > [data-list-row='subtitle'] { + font-size: var(--font-size-text-xs); + font-weight: var(--font-weight-normal); + color: var(--gray500); + width: 100%; + display: inline-flex; + flex-direction: row; + align-self: var(--_alignSubtitle, center); +} +div[data-is='list-row'][data-lr-type="dual-row"] { + --_alignTitle: end; + --_alignSubtitle: start; +} +div[data-is='list-row'] > [data-list-row='suffix'] { + font-size: var(--font-size-text-sm); + font-weight: var(--font-weight-normal); + color: var(--gray500); + display: inline-flex; + flex-direction: row; + align-items: center; + gap: 4px; +} +div[data-is='list-row'] > [data-list-row='suffix'] > :is(svg, [data-icon]) { + width: 24px; + height: 24px; +} +div[data-is='list-row'][data-list-row-type='simple'][data-suffix='no'] > :is([data-list-row='title'], [data-list-row='subtitle']) { + grid-column: 1 / -1; +} +div[data-is='list-row'][data-list-row-type='prefixed'][data-suffix='no'] > :is([data-list-row='title'], [data-list-row='subtitle']) { + grid-column: 2 / -1; +} +div[data-is='list-row'][data-list-row-type='simple']:not([data-suffix='no']) > :is([data-list-row='title'], [data-list-row='subtitle']) { + grid-column: 1 / 1; +} +div[data-is='list-row'][data-list-row-type='prefixed']:not([data-suffix='no']) > :is([data-list-row='title'], [data-list-row='subtitle']) { + grid-column: 2 / 2; +} +div[data-is='list-row'][data-subtitle='no'] > [data-list-row='title'] { + grid-row: 1 / -1; +} +div[data-is='list-row']:not([data-subtitle='no']) > [data-list-row='title'] { + grid-row: 1 / 1; +} +div[data-is='list-row']:not([data-subtitle='no']) > [data-list-row='subtitle'] { + grid-row: 2 / 2; +} +div[data-is='list-row'] > [data-list-row='suffix'] { + grid-row: 1 / -1; +} +div[data-is='list-row'][data-list-row-type='simple'] > [data-list-row='suffix'] { + grid-column: 2 / 2; +} +div[data-is='list-row'][data-list-row-type='prefixed'] > [data-list-row='suffix'] { + grid-column: 3 / 3; +} +/** + * Empty + */ +div[data-is='empty'] { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + gap: 16px; + box-sizing: border-box; + padding: 16px 0; +} +div[data-is='empty'] > :is(svg, [data-icon]) { + width: auto; + height: 64px; + opacity: 0.5; +} +/* + Code Block +*/ +div[data-is='code-block'] { + display: flex; + gap: 32px; + align-items: center; + border: 1px solid var(--gray200); + border-radius: 8px; + padding: 16px; + margin: 8px 0 0 0; + background-color: var(--gray100); + color: var(--gray900); + min-width: 0; + max-width: 100%; + word-break: break-all; + font-family: 'Roboto Mono', monospace; + font-style: normal; + font-weight: 500; + font-size: 12px; + line-height: 18px; +} +/* + Key/Value Attribute +*/ +div[data-is="kv-attribute"] { + display: flex; + flex-direction: column; + align-items: stretch; + gap: 8px; + box-sizing: border-box; + padding: 0 16px; +} +div[data-is="kv-attribute"] > [data-kv-attribute="value"] { + display: flex; + flex-direction: column; + align-items: stretch; + gap: 0; + font-size: var(--font-size-text-sm); + line-height: var(--line-height-text-sm); + font-weight: var(--font-weight-normal); + color: var(--text-color-secondary); +} +div[data-is="kv-attribute"] > [data-kv-attribute="value"] > div[data-kv-attribute="entry"] { + display: inline; + word-wrap: break-word; +} +div[data-is="kv-attribute"] > [data-kv-attribute="actions"] { + display: flex; + flex-direction: column; + align-items: stretch; + gap: 16px; + margin-top: 12px; +} +form[data-is="form"] { + --_padding: 32px; + --_itemSpacing: 12px; +} +form[data-is="form"] { + padding: var(--_padding) 0; +} +form[data-is="form"][data-padding="none"] { + --_padding: 0; +} +form[data-is="form"] > [data-is="divider"] { + margin: 12px 0 24px 0; +} +form[data-is="form"][data-form-style="compact"] { + display: flex; + flex-direction: column; + align-items: stretch; +} +form[data-is="form"][data-form-style="compact"] > [data-form="error"] { + margin: 0 0 24px 0; +} +form[data-is="form"][data-form-style="compact"] > [data-form="label"] { + margin: 0 0 8px var(--border-radius); +} +form[data-is="form"][data-form-style="compact"] > [data-form="field-error"] { + display: inline-block; + height: 12px; + margin: 4px 0 0 var(--border-radius); +} +form[data-is="form"][data-form-style="compact"] > [data-form="field-end"]:not(:last-of-type) { + display: inline-block; + height: 0; + margin-bottom: var(--_itemSpacing); +} +form[data-is="form"][data-form-style="dual-column"] { + display: grid; + grid-template-columns: 40% 60%; + row-gap: var(--_itemSpacing); + align-items: center; +} +form[data-is="form"] > [data-form="label"] { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 2px; +} +form[data-is="form"][data-form-style="compact"] > [data-form="actions"] { + display: flex; + flex-direction: column; + align-items: stretch; + gap: 16px; + margin-top: 24px; +} +form[data-is="form"][data-form-style="compact"] > [data-form="actions"] > * { + width: 100%; +} +form[data-is="form"][data-form-style="dual-column"] > [data-form="error"] { + grid-column: 1 / -1; +} +form[data-is="form"][data-form-style="dual-column"] > [data-form="label"] { + grid-column: 1 / 2; +} +form[data-is="form"][data-form-style="dual-column"] > [data-form="field-error"] { + grid-column: 2 / -1; +} +form[data-is="form"][data-form-style="dual-column"] > [data-form="field-end"] { + display: none; +} +form[data-is="form"][data-form-style="dual-column"] > [data-form="actions"] { + grid-column: 1 / -1; + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-end; + flex-wrap: wrap; + gap: 16px; +} +form[data-is="form"][data-form-style="inline"] { + --_padding: 0; + display: flex; + flex-direction: row; + align-items: center; + position: relative; +} +form[data-is="form"][data-form-style="inline"] > [data-form="error"] { + position: absolute; + top: 100%; + left: 0; + z-index: 999; + background-color: var(--content-background); + border-radius: var(--border-radius); + padding: var(--padding-xs); +} +form[data-is="form"] > [data-form="links"] { + display: flex; + flex-direction: column; + align-items: center; + gap: var(--space-sm); + margin-top: var(--margin-lg); +} +/** Checkbox */ +input[type="checkbox"] { + --_size: 16px; + --_backgroundColor: transparent; + --_borderColor: var(--gray300); +} +input[type="checkbox"] { + display: inline-block; + width: var(--_size); + height: var(--_size); + border-radius: calc(var(--_size) / 2); + background-color: var(--_backgroundColor); + border: 1px solid var(--_borderColor); +} +/** Checkbox Group */ +[data-is="checkbox-group"] { + display: flex; + flex-direction: column; + width: 100%; + gap: var(--space-sm); +} +/* root*/ +[data-checkbox-group="item"] { + display: flex; + flex-direction: row; + padding: 14px; + border-radius: 8px; + background-color: var(--white); + border: 1px solid var(--gray200); + align-items: center; + cursor: pointer; + gap: var(--space-md); + user-select: none; +} +/* checked */ +[data-checkbox-group="item"][data-checked] { + background-color: var(--primary50); + color: var(--primary800); + border: 1px solid var(--primary300); +} +[data-checkbox-group="item"][data-disabled] { + background-color: transparent; + opacity: 0.7; + border: 1px solid var(--gray100); + cursor: not-allowed; +} +div[data-is="slider"] { + --_width: 100%; + --_height: 38px; + --_padSize: 24px; + --_leftPadOffset: 0; + --_legendHeight: var(--font-size-text-sm); +} +div[data-is="slider"] { + width: var(--_width); + height: var(--_height); + position: relative; + display: flex; + flex-direction: row; + align-items: center; +} +div[data-is="slider"] > div[data-slider="track"] { + cursor: pointer; + width: 100%; + height: 8px; + background-color: var(--gray200); + position: relative; +} +div[data-is="slider"] > div[data-slider="track"]::before { + content: ""; + display: block; + position: absolute; + width: calc(var(--_leftPadOffset) + (var(--_padSize) / 2)); + height: 100%; + left: 0; + top: 0; + background-color: var(--primary600); +} +div[data-is="slider"] > :is([data-slider="min-value"], [data-slider="max-value"]) { + display: inline-block; + position: absolute; + top: calc(var(--_height) - (var(--font-size-text-sm) / 2)); + color: var(--gray400); + font-size: var(--font-size-text-sm); + font-weight: var(--font-weight-medium); + width: 1px; + display: flex; + align-items: center; + justify-content: center; + text-align: center; + user-select: none; +} +div[data-is="slider"] > [data-slider="min-value"] { + left: 0; +} +div[data-is="slider"] > [data-slider="max-value"] { + left: 100%; +} +div[data-is="slider"] > :is([data-slider="left-pad-value"], [data-slider="right-pad-value"]) { + position: absolute; + width: var(--_padSize); + height: var(--_legendHeight); + top: calc(-1 * var(--_legendHeight)); + color: var(--primary600); + font-size: var(--font-size-text-sm); + font-weight: var(--font-weight-medium); + display: flex; + align-items: center; + justify-content: center; + text-align: center; + user-select: none; +} +div[data-is="slider"] > :is(div[data-slider="left-pad"], div[data-slider="right-pad"]) { + width: var(--_padSize); + height: var(--_padSize); + border-radius: calc(var(--_padSize) / 2); + box-sizing: border-box; + position: absolute; + top: calc((var(--_height) - var(--_padSize)) / 2); + border: 1px solid var(--primary600); + background-color: #fff; + cursor: pointer; +} +div[data-is="slider"] > :is(div[data-slider="left-pad"], [data-slider="left-pad-value"], [data-slider="left-pad-legend"]) { + left: calc(var(--_leftPadOffset) - (var(--_padSize) / 2)); +} +div[data-is="pagination"] { + width: 100%; + display: grid; + grid-template-columns: max-content 1fr max-content; +} +div[data-is="pagination"] > [data-pagination="numbers"] { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + gap: var(--space-xs); +} +div[data-is="pagination"] > [data-pagination="numbers"] > [data-is="button"] { + --__size: var(--button-min-height); + width: var(--__size); + height: var(--__size); +} +div[data-is="pagination"] [data-device="mobile"] { + display: flex; +} +div[data-is="pagination"] [data-device="desktop"] { + display: none; +} +@media (min-width: 768px) { + div[data-is="pagination"] [data-device="mobile"] { + display: none; + } + div[data-is="pagination"] [data-device="desktop"] { + display: flex; + } +} +div[data-is="stepper"] { + --_progressColumn: 32px; + --_progressLineWidth: 2px; +} +div[data-is="stepper"] { + width: 100%; + display: grid; + grid-template-columns: var(--_progressColumn) 1fr; + row-gap: var(--space-lg); + column-gap: var(--space-lg); + position: relative; +} +div[data-is="stepper"]::after { + content: ''; + position: absolute; + top: 0; + left: calc((var(--_progressColumn) / 2) - (var(--_progressLineWidth) / 2)); + width: var(--_progressLineWidth); + height: 100%; + background-color: var(--gray100); +} +div[data-is="stepper"] > :is([data-stepper="bullet"], [data-stepper="step"]) { + min-height: var(--_progressColumn); + --_crossAxisAlign: flex-start; + --_mainAxisAlign: flex-start; +} +div[data-is="stepper"] > [data-stepper="bullet"] { + --__bulletColor: var(--gray100); + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + position: relative; +} +div[data-is="stepper"] > [data-stepper="bullet"]::after { + content: ''; + position: absolute; + z-index: 4; + top: 0; + left: 0; + width: var(--_progressColumn); + height: var(--_progressColumn); + border-radius: calc(var(--_progressColumn) / 2); + background-color: var(--__bulletColor); + z-index: 1; +} +div[data-is="stepper"] > [data-stepper="bullet"][data-bullet-state="pending"]::after { + --__bulletColor: var(--gray100); +} +div[data-is="stepper"] > [data-stepper="bullet"][data-bullet-state="active"]::before { + content: ''; + position: absolute; + z-index: 5; + top: 0; + left: 0; + width: var(--_progressColumn); + height: var(--_progressColumn); + border-radius: 50%; + border: 6px solid var(--primary500); + border-color: var(--primary500) transparent transparent transparent; + animation: in-progress-step 1.2s linear infinite; +} +div[data-is="stepper"] > [data-stepper="bullet"][data-bullet-state="active"]::after { + --__bulletColor: var(--primary100); + border: 1px solid var(--primary100); +} +div[data-is="stepper"] > [data-stepper="bullet"][data-bullet-state="complete"]::after { + --__bulletColor: var(--success100); +} +div[data-is="stepper"] > [data-stepper="bullet"][data-bullet-state="failed"]::after { + --__bulletColor: var(--error100); +} +div[data-is="stepper"] > [data-stepper="bullet"] > [data-text] { + width: var(--_progressColumn); + height: var(--_progressColumn); + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + z-index: 2; +} +div[data-is="stepper"] > [data-stepper="step"] { + padding: 8px 0 0 0; +} +@keyframes in-progress-step { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +[data-is="editable-text"] { + display: inline-flex; + flex-direction: row; + align-items: center; +} +dialog[data-is="modal"] > [data-is="video-player"] { + --_maxWidth: 90vw; +} +@media (min-width: 768px) { + dialog[data-is="modal"] > [data-is="video-player"] { + --_maxWidth: 700px; + } +} +@media (min-width: 1024px) { + dialog[data-is="modal"] > [data-is="video-player"] { + --_maxWidth: 900px; + } +} +/* Video Player */ +[data-is="video-player"] { + border-radius: var(--border-radius); + overflow: hidden; + width: 100%; + max-width: var(--_maxWidth); + height: auto; + background-color: transparent; + outline: unset; + margin: 0 -1px -1px 0; + position: relative; + background-color: #000; +} +[data-is="video-player"] > [data-video-player="overlay"] { + position: absolute; + top: 0; + left: 0; + z-index: 10; + width: 100%; + height: 100%; + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; +} +[data-is="video-player"] > video { + width: 100%; + height: auto; + border-radius: var(--border-radius); + display: none; +} +[data-is="video-player"] > canvas { + width: 100%; + height: auto; + border-radius: var(--border-radius); +} +/* Video Controls */ +[data-is="video-controls"] { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 19; +} +[data-is="video-controls"]:hover > [data-panel] { + opacity: 1; +} +[data-is="video-controls"] > [data-panel] { + position: absolute; + left: 0; + height: 60px; + width: 100%; + opacity: 0; + transition: opacity 0.3s ease-in-out; + display: flex; + flex-direction: row; + align-items: center; + padding: 0 var(--padding-side-default); + z-index: 20; +} +[data-is="video-controls"] > [data-panel="top"] { + top: 0; + background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%); + border-radius: var(--border-radius) var(--border-radius) 0 0; +} +[data-is="video-controls"] > [data-panel="bottom"] { + bottom: 0; + background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 100%, rgba(0, 0, 0, 0) 0%); + border-radius: 0 0 var(--border-radius) var(--border-radius); +} +[data-is="video-controls"] > [data-panel] > :first-child { + flex: 1; +} +[data-is="radio-group"] { + --_borderColor: transparent; +} +[data-is="radio-group"] { + display: flex; +} +[data-is="radio-group"][data-radio-group="inline"] { + flex-direction: row; + align-items: stretch; + height: var(--button-min-height); + max-height: var(--button-min-height); +} +[data-is="radio-group"][data-radio-group="inline"] > div:not([data-selected]) { + --_borderColor: var(--divider-color); +} +[data-is="radio-group"][data-radio-group="inline"] > div[data-selected] { + --_borderColor: var(--primary50); +} +[data-is="radio-group"][data-radio-group="inline"] > div { + display: flex; + flex-direction: row; + align-items: center; + gap: var(--space-xss); + height: 100%; + cursor: pointer; + padding: 0 var(--padding-xs); + border-color: var(--_borderColor); + background-color: #fff; + color: var(--text-color); + --_iconColor: var(--text-color-secondary); + --_iconSize: 16px; +} +[data-is="radio-group"][data-radio-group="inline"] > div[data-selected] { + background-color: var(--primary25); + color: var(--primary600); + --_iconColor: var(--primary600); +} +[data-is="radio-group"][data-radio-group="inline"] > div:first-child { + border-radius: var(--border-radius) 0 0 var(--border-radius); + border-left: 1px solid var(--_borderColor); + border-top: 1px solid var(--_borderColor); + border-bottom: 1px solid var(--_borderColor); +} +[data-is="radio-group"][data-radio-group="inline"] > div:not(:last-child) { + border-right: 1px solid var(--_borderColor); +} +[data-is="radio-group"][data-radio-group="inline"] > div:last-child { + border-radius: 0 var(--border-radius) var(--border-radius) 0; + border-right: 1px solid var(--_borderColor); + border-top: 1px solid var(--_borderColor); + border-bottom: 1px solid var(--_borderColor); +} +[data-is="radio-group"][data-radio-group="column"] { + display: flex; + flex-direction: column; + width: 100%; + gap: var(--space-sm); +} +[data-is="radio-group"][data-radio-group="column"] > div:not([data-selected]) { + --_borderColor: var(--divider-color); +} +[data-is="radio-group"][data-radio-group="column"] > div[data-selected] { + --_borderColor: var(--primary300); +} +[data-is="radio-group"][data-radio-group="column"] > div { + display: flex; + flex-direction: row; + padding: 14px; + border-radius: 8px; + background-color: var(--white); + border: 1px solid; + border-color: var(--_borderColor); + align-items: center; + cursor: pointer; + gap: var(--space-md); + user-select: none; +} +[data-is="radio-group"][data-radio-group="column"] > div[data-selected] { + background-color: var(--primary30); + color: var(--primary600); + --_iconColor: var(--primary600); + --_borderColor: var(--primary300); +} +[data-radio-group="icon"] { + color: var(--_iconColor); + display: inline-flex; + align-items: center; + justify-content: center; + width: 24px; + height: 24px; +} +[data-is="alert"] { + --_background: var(--_secondaryColor, transparent); + --_textColor: var(--_primaryColor, var(--gray500)); + --_borderColor: var(--_outlineColor, var(--gray300)); +} +[data-is="alert"] { + width: 100%; + display: flex; + flex-direction: column; + align-items: stretch; + gap: var(--space-sm); + background: var(--_background); + color: var(--_textColor); + border-radius: var(--border-radius); + border: 1px solid var(--_borderColor); + box-sizing: border-box; + padding: var(--padding-md); +} +[data-is="alert"] > [data-alert="actions"] { + display: flex; + flex-direction: row; + gap: var(--space-md); +} +[data-is="alert"] > [data-alert="actions"] > * { + flex: 1; +} +dialog[data-notification="container"] { + z-index: 9999; + width: min(280px, 90vw); + display: none; + flex-direction: column; + align-items: stretch; + height: max-content; + position: fixed; + gap: var(--space-md); + left: unset; + right: var(--space-lg); + top: var(--space-lg); + bottom: unset; + border: 0; + background-color: transparent; + padding: 0; +} +dialog[data-notification="container"][open] { + display: flex; +} +dialog[data-notification="container"] > div { + width: 100%; + display: flex; + flex-direction: row; + align-items: center; + gap: var(--space-md); + text-align: start; + background-color: var(--_primaryColor); + border: 1px solid var(--gray50); + border-radius: var(--border-radius); + box-shadow: var(--shadow-2); + box-sizing: border-box; + padding: var(--padding-md); + color: var(--_onPrimaryColor); +} +dialog[data-notification="container"] > div > div { + flex: 1; + display: flex; + flex-direction: column; + align-items: stretch; + text-align: start; + gap: var(--space-sm); +} +dialog[data-notification="container"] > div > :is(svg, [data-icon]) { + --_iconSize: 32px; + --_iconColor: var(--_onPrimaryColor); +} +[data-is="breadcrumbs"] { + display: flex; + flex-direction: row; + align-items: center; + gap: 16px; +} +.UserIdentifier { + display: flex; + flex-direction: row; + align-items: center; + min-width: 0; + width: auto; + gap: 8px; +} +.UserIdentifier .UserIdentifier-avatar { + width: 32px; + height: 32px; + border-radius: 16px; + border: 1px solid var(--divider-color); +} +div[data-is="logs-container"] { + width: 100%; + display: flex; + flex-direction: column; + align-items: stretch; + padding: 16px; + box-sizing: border-box; + background-color: #111; + border-radius: var(--border-radius); + height: 400px; + overflow: auto; + position: relative; + font-family: monospace; +} +div[data-is="logs-container"][data-disabled] { + opacity: var(--disabled-opacity); +} +div[data-is="logs-container"] > .centered { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} +div[data-is="logs-container"] > .centered > .placeholder-off { + font-size: var(--font-size-text-md); + color: var(--gray400); +} +div[data-is="logs-container"] > [data-logs-container="item"] { + display: flex; + flex-direction: row; + margin-bottom: 4px; +} +div[data-is="logs-container"] > [data-logs-container="item"] > [data-logs-container="timestamp"] { + opacity: 0.64; + margin-right: 24px; +} +div[data-is="logs-panel"] { + position: relative; +} +div[data-is="logs-panel"] > div[data-is="logs-toolbar"] { + position: absolute; + top: 16px; + left: 16px; + right: 32px; + z-index: 1; + text-align: right; +} +div[data-is="logs-panel"] > div[data-is="logs-toolbar"] > div { + display: grid; + grid-column: 1; + gap: 8px; + align-items: right; + justify-items: right; +} +div[data-is="logs-panel"] > div[data-is="logs-toolbar"] > div > a { + width: 135px; +} +div[data-is="logs-button"] { + display: flex; + flex-direction: row; + gap: 8px; + width: 100px; +} +[data-is="source-code"] { + overflow: hidden; + border-radius: var(--border-radius); +} +div[data-is="tiles"] { + --_columnWidth: 260px; + --_gap: var(--page-content-spacing); +} +div[data-is="tiles"] { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(0, var(--_columnWidth))); + column-gap: var(--_gap); + row-gap: var(--_gap); + grid-auto-flow: dense; + align-items: start; +} +div[data-is="tiles"] > [data-tiles="tile"] { + width: 100%; + min-width: 0; + height: 320px; + background-color: #fff; + border: var(--divider); + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + box-sizing: border-box; + border-radius: var(--border-radius); + cursor: pointer; + gap: 24px; +} +div[data-is="tiles"] > [data-tiles="tile"] > [data-tiles="icon"] { + width: 60%; + aspect-ratio: 1 / 1; + border-radius: var(--border-radius); + display: flex; + align-items: center; + justify-content: center; + background-color: var(--gray50); + box-sizing: border-box; + padding: 24px; + color: var(--gray400); +} +div[data-is="tiles"] > [data-tiles="tile"] > [data-tiles="icon"] > * { + width: 100%; + height: 100%; +} +[data-detection="grid"] { + --_childBaseSize: 220px; + --_labelHeight: 56px; +} +[data-detection="grid"] { + width: 100%; + display: grid; + grid-template-columns: repeat(auto-fill, minmax(var(--_childBaseSize), 1fr)); + grid-auto-rows: calc(var(--_childBaseSize) + var(--_labelHeight)); + column-gap: 28px; + row-gap: 28px; + grid-auto-flow: dense; +} +[data-detection="grid"] > * { + width: 100%; +} +[data-detection="cell"] { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + justify-content: flex-end; + align-items: stretch; + overflow: hidden; + cursor: pointer; + position: relative; + box-sizing: border-box; + border-radius: var(--border-radius); +} +[data-detection="cell"]:hover { + box-shadow: var(--shadow-md); + background-color: #fff; +} +[data-detection="cell"] > :first-child { + width: 100%; + height: calc(100% - var(--_labelHeight)); + border-radius: var(--border-radius); + background: white; + border: 1px solid var(--border-color-base); + transition: background 1s ease-in-out; +} +[data-detection="cell"] > :nth-child(2) { + height: var(--_labelHeight); + box-sizing: border-box; + padding: 0 var(--padding-md); +} +[data-detection="frame-panel"] { + width: 100%; + max-width: min(90vw, 900px); + height: auto; +} +[data-detection="frame-panel"] > :where(canvas, div) { + border-radius: var(--border-radius); + width: 100%; + height: auto; +} +.react-time-picker { + display: inline-flex; + position: relative; +} +.react-time-picker, +.react-time-picker *, +.react-time-picker *:before, +.react-time-picker *:after { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.react-time-picker--disabled { + background-color: #f0f0f0; + color: #6d6d6d; +} +.react-time-picker__wrapper { + border-radius: var(--border-radius); + width: auto; + min-width: var(--inputMinWidth); + height: var(--inputHeightBase); + display: flex; + border-top: 1px solid var(--border-color-base); + border-bottom: 1px solid var(--border-color-base); + border-right: 1px solid var(--border-color-base); + border-left: 1px solid var(--border-color-base); +} +.react-time-picker__inputGroup { + min-width: calc((4px * 3) + 0.54em * 6 + 0.217em * 2); + flex-grow: 1; + padding: 0 2px; + box-sizing: content-box; +} +.react-time-picker__inputGroup__divider { + padding: 1px 0; + white-space: pre; +} +.react-time-picker__inputGroup__input { + min-width: 0.54em; + height: 100%; + position: relative; + padding: 0 1px; + border: 0; + background: none; + font: inherit; + box-sizing: content-box; + -moz-appearance: textfield; +} +.react-time-picker__inputGroup__input::-webkit-outer-spin-button, +.react-time-picker__inputGroup__input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +.react-time-picker__inputGroup__input:invalid { + background: rgba(255, 0, 0, 0.1); +} +.react-time-picker__inputGroup__input--hasLeadingZero { + margin-left: -0.54em; + padding-left: calc(1px + 0.54em); +} +.react-time-picker__inputGroup__amPm { + font: inherit; + -moz-appearance: menulist; +} +.react-time-picker__button { + border: 0; + background: transparent; + padding: 4px 6px; +} +.react-time-picker__button:enabled { + cursor: pointer; +} +.react-time-picker__button:enabled:hover .react-time-picker__button__icon, +.react-time-picker__button:enabled:focus .react-time-picker__button__icon { + stroke: #0078d7; +} +.react-time-picker__button:disabled .react-time-picker__button__icon { + stroke: #6d6d6d; +} +.react-time-picker__button svg { + display: inherit; +} +.react-time-picker__clock { + width: 200px; + height: 200px; + max-width: 100vw; + padding: 25px; + background-color: white; + border: thin solid #a0a096; + position: absolute; + top: 100%; + left: 0; + z-index: 1; +} +.react-time-picker__clock--closed { + display: none; +} diff --git a/robothub-oak/Camera App/frontend/index.html b/robothub-oak/Camera App/frontend/index.html new file mode 100644 index 0000000..cb895b7 --- /dev/null +++ b/robothub-oak/Camera App/frontend/index.html @@ -0,0 +1,129 @@ + + + + + + + + Luxonis Camera + + + + + + + + + + + +
+
+ + Camera + +
+ + +
+ + General + +
+ + IR Projector Strength: + + + + + Temporal filter: + + + +
+ + + + + + + + +
+ + Detections + + + +
+
+
+
+ +
+
+ + Loading stream + +
+ + + +
+
+
+ 0.00 m +
+
+
+
+ + + + + + + +
+ + Colormap + + + +
+
+
+
+ +
+
+ + Loading stream + +
+ + + +
+
+
+ 0.00 m +
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/robothub-oak/Camera App/frontend/main.js b/robothub-oak/Camera App/frontend/main.js new file mode 100644 index 0000000..866e7a3 --- /dev/null +++ b/robothub-oak/Camera App/frontend/main.js @@ -0,0 +1,299 @@ +const getControl = (id) => { + return document.getElementById(id) +} + +const updateDropdown = (dropdown, options) => { + // Create option elements for every retrieved option + optionElements = options.map(option => { + const element = document.createElement('rh-option'); + + if (dropdown.id == 'camera') + { + element.innerText = option.name + element.mxid = option.mxid + } else { + element.innerText = option + } + return element + }) + // Replace old contents + dropdown.innerHTML = '' + for (const element of optionElements) { + dropdown.appendChild(element) + } + + + // if (!dropdown.selected || !optionElements.map(e => e.innerText).includes(dropdown.selected.innerText)) { + dropdown.select(optionElements[0]) +} + +// Update camera stream source +const updateStreamSource = (stream, source) => { + vid = document.querySelector(`#${stream}-container>div>rh-video`) + const newKey = `${source}-stream/${vid.streamKey.split('/')[1]}` + // Don't update if the source is already set + if (vid.getAttribute('stream-key') == newKey) { + return; + }; + vid.setAttribute('stream-key', newKey) + const overlayToggle = vid.parentElement.parentElement.parentElement.querySelector('.overlay-toggle') + switch (source) { + case 'color': + case 'stereo': + overlayToggle.style.position = 'relative' + overlayToggle.style.visibility = 'visible' + break; + case 'left': + case 'right': + overlayToggle.style.position = 'absolute' + overlayToggle.style.visibility = 'hidden' + } + overlayToggle.children[0].innerText = source == 'stereo' ? 'Colormap' : 'Detections' +} + +// Update camera stream resolutions +const updateStreamResolutions = (stream, resolutions) => { + updateDropdown(getControl(`${stream}-resolution`), resolutions) +} + +// Update camera stream key to show the selected camera's stream +const updateStreamKey = (id) => { + let videos = document.querySelectorAll('rh-video') + for (let vid of videos) { + const newKey = `${vid.streamKey.split('/')[0]}/${id}` + // Don't update if the source is already set + if (vid.getAttribute('stream-key') == newKey) { + continue; + }; + vid.setAttribute('stream-key', newKey) + } +} + +const notify = (option, value) => { + robothubApi.notify('set', { 'deviceId': deviceId(), 'option': option, 'value': value }) +} + +const request = (option, cb) => { + robothubApi.request({'option': option, 'deviceId': deviceId() }, 'get', 10000).then(cb) +} + +let slowedValues = {} +let slowedIntervals = {} + +// Only send updates every 250 ms to prevent overloading the agent +const rateLimitedNotify = (id, value, rate = 250) => { + slowedValues[id] = value + if (!slowedIntervals[id]) { + slowedIntervals[id] = setInterval(() => { + clearInterval(slowedIntervals[id]) + slowedIntervals[id] = null + notify(id, slowedValues[id]) + }, rate); + }; +} + +// Create depth hover tooltips for stereo streams, and remove them for other streams +const setupHoverDepth = () => { + for (let stream of document.querySelectorAll('rh-video')) { + const container = stream.parentElement.parentElement + const tooltip = container.querySelector('.depth-tooltip') + let updateInterval = null + + // Show or hide the tooltip when the mouse enters or leaves + container.onmouseenter = (event) => { + tooltip.style.visibility = 'hidden' + updateInterval = setInterval(() => { + robothubApi.request({'deviceId': deviceId(), 'option': 'depth'}, 'get', 10000).then((resp) => { + let [x, y, z] = resp.payload + x /= 1000 + y /= 1000 + z /= 1000 + distance = Math.sqrt(x * x + y * y + z * z) + tooltip.innerText = `${distance.toFixed(2)} m` + }) + }, 200) + } + + container.onmouseleave = (event) => { + tooltip.style.visibility = 'hidden' + if (updateInterval != null) { + clearInterval(updateInterval) + } + } + + // Update the position of the tooltip and send it to the app + container.onmousemove = (event) => { + tooltip.style.visibility = 'visible' + const rect = container.getBoundingClientRect() + const localX = event.x - rect.x + const localY = event.y - rect.y + tooltip.style.top = `${localY + 10}px` + tooltip.style.left = `${localX + 10}px` + + rateLimitedNotify('depth-query', { 'x': localX / rect.width, 'y': localY / rect.height }, 200) + } + } + + const other = document.querySelectorAll("rh-video[stream-key^='color-stream'], rh-video[stream-key^='left-stream'], rh-video[stream-key^='right-stream']") + for (let stream of other) { + const container = stream.parentElement.parentElement + container.onmouseenter = null + container.onmouseleave = null + container.onmousemove = null + } +} + +// Update stream state indicator +const updateStreamState = (stream, state) => { + let display = state == 'Connected' ? 'none' : ''; + container = stream.parentElement.parentElement + container.querySelector('.stream-status>rh-text').innerText = state + container.querySelector('.stream-status').style.display = display +} + +const updateStreamStates = (state) => { + for (const vid of document.querySelectorAll('rh-video')) { + updateStreamState(vid, state) + } +} + +const refreshVideo = (vid) => { + copy = vid.cloneNode(true) + parent = vid.parentElement + vid.remove() + parent.appendChild(copy) +} + +const refreshAllVideos = () => { + for (const vid of document.querySelectorAll('rh-video')) { + refreshVideo(vid) + } +} + +// Extract the id of the currently selected camera +const deviceId = () => { + try { + return getControl('camera').selected.mxid + } catch { + return '' + } +} + +function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); +} + +const updateConfig = (config) => { + console.error("update config", config) + config.forEach(setting => { + let control = getControl(setting.id) + switch (control.localName) { + case 'rh-select': + updateDropdown(control, setting.data) + break; + case 'rh-toggle': + control.setAttribute('on', setting.data) + break + case 'rh-slider': + control.setAttribute('value', setting.data) + break + } + }) +} + +const updateResolutions = () => { + request('resolutions', (resp) => { + topStream = getControl('top-stream').selected.innerText + botStream = getControl('bot-stream').selected.innerText + updateStreamResolutions('top', topStream == 'color' ? resp.payload.color : resp.payload.mono) + updateStreamResolutions('bot', botStream == 'color' ? resp.payload.color : resp.payload.mono) + }) +} + +const updateOverlay = (stream, overlay, event) => { + if (overlay == 'Detections') { + updateStreamSource(stream, event.value ? 'nn' : 'color') + refreshVideo(getControl(`${stream}-video`)) + } +} + +robothubApi.onConnectedWithApp(() => { + request('devices', (resp) => { + updateDropdown(getControl('camera'), resp.payload) + // updateStreamKey(getControl('camera').selected.mxid) + updateStreamStates('Connected') + }) + setupHoverDepth() +}) + +let firstTimeCounter = 0 + +// Update the source of all video to be the newly selected camera +robothubApi.whenSelected('camera', (event) => { + console.error('camera selected', getControl('camera').selected.mxid) + request('config', (resp) => { + firstTimeCounter = 0 + updateConfig(resp.payload) + updateStreamKey(getControl('camera').selected.mxid) + refreshAllVideos() + }) +}); + +robothubApi.whenSelected('top-stream', (event) => { + updateResolutions() + const stream = event.selected.innerText + updateStreamSource('top', stream) + rateLimitedNotify(event.target.id, stream, 500) + if (firstTimeCounter++ > 8) + updateStreamStates('Applying changes') + +}); +robothubApi.whenSelected('bot-stream', (event) => { + updateResolutions() + const stream = event.selected.innerText + updateStreamSource('bot', stream) + rateLimitedNotify(event.target.id, stream, 500) + if (firstTimeCounter++ > 8) + updateStreamStates('Applying changes') +}); + +robothubApi.whenSelected('top-resolution', (event) => { + rateLimitedNotify(event.target.id, event.selected.innerText, 500) + if (firstTimeCounter++ > 8) + updateStreamStates('Applying changes') +}); +robothubApi.whenSelected('bot-resolution', (event) => { + rateLimitedNotify(event.target.id, event.selected.innerText, 500) + if (firstTimeCounter++ > 8) + updateStreamStates('Applying changes') +}); + +robothubApi.onNotification((e) => { + console.error("Got notification with id", e.payload.deviceId, deviceId()) + if (e.payload.deviceId != deviceId()) { + return; + } + updateStreamStates('Connected') + refreshAllVideos() +}) + +robothubApi.whenSlid('ir-strength', (event) => { + rateLimitedNotify(event.target.id, event.value) +}) +robothubApi.whenSlid('detection-threshold', (event) => { + rateLimitedNotify(event.target.id, event.value) +}) + +robothubApi.whenToggled('temporal-filter', (event) => { + rateLimitedNotify(event.target.id, event.value) +}); +robothubApi.whenToggled('top-overlay', (event) => { + const overlay = event.target.previousElementSibling.innerText + notify(overlay.toLowerCase(), event.value) + updateOverlay('top', overlay, event) +}); +robothubApi.whenToggled('bot-overlay', (event) => { + const overlay = event.target.previousElementSibling.innerText + notify(overlay.toLowerCase(), event.value) + updateOverlay('bot', overlay, event) +}); diff --git a/robothub-oak/Camera App/frontend/style.css b/robothub-oak/Camera App/frontend/style.css new file mode 100644 index 0000000..947e181 --- /dev/null +++ b/robothub-oak/Camera App/frontend/style.css @@ -0,0 +1,201 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; + } + + html, + body { + height: 100%; + background: #F9FAFB; + } + + .videos{ + width: 100%; + } + .videos:nth-of-type(1) { + padding: 2rem 1rem 2rem 2rem; + } + .videos:nth-of-type(2) { + padding: 2rem 2rem 2rem 1rem; + } + + #canvas { + padding: 2rem; + } + + #maincontainer { + display: flex; + flex-direction: row; + height: 100vh; + } + + #settingscontainer { + min-width: 300px; + display: flex; + flex-direction: column; + padding: 55px; + border-right: 1px solid #EAECF0; + } + + #innercontentcontainer { + border: 1px solid #EAECF0; + border-radius: 12px; + padding: 32px 32px 0 32px; + height: fit-content; + } + + .rh-bar { + position: relative; !important + } + + #settingscontainer > rh-slider, + #settingscontainer > rh-toggle { + padding: 1em 0 2em 0; + } + + #videos > rh-tiles > rh-tiles:first-of-type{ + padding: 0 1rem 0 0; + } + + .depth-tooltip { + visibility: hidden; + position: absolute; + top: 0; + left: 0; + background-color: white; + border-radius: 12px; + border: 1px solid #EAECF0; + width: 5em; + height: 3em; + padding: 10px; + } + + .overlay-toggle { + display: flex; + justify-content: center; + align-items: center; + } + + .overlay-toggle > rh-text { + padding: 0 1em; + } + + + .video-overlay-container { + position: relative; + background-color: black; + border-radius: 12px; + aspect-ratio: 16/9; + } + + .video-rounder { + border-radius: 12px; + overflow: hidden; + } + + .video-overlay-container video { + width: 100%; + display: block; + } + + .video-overlay-container canvas { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + + .video-overlay-container:before { + content: ''; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + } + + .video-controls { + padding-bottom: 12px; + } + + .video-controls > * { + margin: 0 10px; + } + + .annotated-switch { + display: flex; + flex-direction: row; + align-items: center; + } + + .annotated-switch span { + margin-right: 1rem; + } + + @media (max-width: 1300px) { + .video-controls { + flex-direction: column; + } + } + + .stream-status { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + user-select: none; + } + + .stream-status * { + margin: 1em; + } + + .loading-dots { + display: flex; + justify-content: center; + align-items: center; + padding: 10px; + } + + .loading-dots span { + display: inline-block; + width: 10px; + height: 10px; + margin: 0 5px; + border-radius: 50%; + background-color: #fff; + animation: loading-dots 1.5s ease-in-out infinite; + } + + .loading-dots span:nth-child(1) { + animation-delay: 0.1s; + } + + .loading-dots span:nth-child(2) { + animation-delay: 0.2s; + } + + .loading-dots span:nth-child(3) { + animation-delay: 0.3s; + } + + @keyframes loading-dots { + 0% { + transform: scale(0); + } + + 50% { + transform: scale(1); + } + + 100% { + transform: scale(0); + } + } \ No newline at end of file diff --git a/robothub-oak/Camera App/robotapp.toml b/robothub-oak/Camera App/robotapp.toml new file mode 100644 index 0000000..3805462 --- /dev/null +++ b/robothub-oak/Camera App/robotapp.toml @@ -0,0 +1,15 @@ +config_version = "2.0" +configuration = [] + +[info] +name = "Luxonis Camera App" +description = "Luxonis Camera App" + +[runtime] +application = "app.py#CameraApp" +workdir = "/app" +requirements = ["stereo_depth"] + +[runtime.runs_on] +type = "custom" +dockerfile = "Dockerfile" \ No newline at end of file From e618696db5545fad2533d2a41e5b896d94d8cb21 Mon Sep 17 00:00:00 2001 From: Tommy Date: Mon, 13 Nov 2023 14:48:58 +0100 Subject: [PATCH 2/2] Camera app update --- robothub-oak/Camera App/Dockerfile | 3 +- robothub-oak/Camera App/app.py | 22 +- .../Camera App/frontend/GLTFLoader.js | 2894 +++++++++++++++++ .../Camera App/frontend/OrbitControls.js | 1016 ++++++ robothub-oak/Camera App/frontend/imu.js | 0 robothub-oak/Camera App/frontend/main.js | 3 +- .../Camera App/frontend/oak-d-pro.glb | Bin 0 -> 3740276 bytes .../Camera App/frontend/pointcloud.js | 178 + robothub-oak/Camera App/frontend/three.min.js | 6 + robothub-oak/Camera App/imu.py | 205 ++ robothub-oak/Camera App/kalman.py | 60 + robothub-oak/Camera App/mod.py | 97 + robothub-oak/Camera App/pointcloud.py | 168 + 13 files changed, 4645 insertions(+), 7 deletions(-) create mode 100644 robothub-oak/Camera App/frontend/GLTFLoader.js create mode 100644 robothub-oak/Camera App/frontend/OrbitControls.js create mode 100644 robothub-oak/Camera App/frontend/imu.js create mode 100644 robothub-oak/Camera App/frontend/oak-d-pro.glb create mode 100644 robothub-oak/Camera App/frontend/pointcloud.js create mode 100644 robothub-oak/Camera App/frontend/three.min.js create mode 100644 robothub-oak/Camera App/imu.py create mode 100644 robothub-oak/Camera App/kalman.py create mode 100644 robothub-oak/Camera App/mod.py create mode 100644 robothub-oak/Camera App/pointcloud.py diff --git a/robothub-oak/Camera App/Dockerfile b/robothub-oak/Camera App/Dockerfile index 3891ed2..8f6a359 100644 --- a/robothub-oak/Camera App/Dockerfile +++ b/robothub-oak/Camera App/Dockerfile @@ -5,4 +5,5 @@ RUN apt-get update -y && \ RUN pip install --upgrade pip RUN pip install git+https://github.com/luxonis/depthai.git@camera-app#subdirectory=depthai_sdk -RUN pip install --upgrade git+https://github.com/whoactuallycares/robothub-oak.git@camera-app \ No newline at end of file +RUN pip install --upgrade git+https://github.com/whoactuallycares/robothub-oak.git@camera-app +RUN pip install psutil \ No newline at end of file diff --git a/robothub-oak/Camera App/app.py b/robothub-oak/Camera App/app.py index 2ad38dd..74444f6 100644 --- a/robothub-oak/Camera App/app.py +++ b/robothub-oak/Camera App/app.py @@ -1,9 +1,11 @@ -from robothub_oak.manager import DEVICE_MANAGER -from robothub_oak import Device -import traceback import robothub +#import mod import uuid import time +from robothub_oak.manager import DEVICE_MANAGER +from robothub_oak import Device +import psutil +import traceback class CameraApp(robothub.RobotHubApplication): def _sensor_resolutions(self, device) -> dict[str, list[str]]: @@ -107,7 +109,8 @@ def on_connected(hubCam): device.spatialLocation = device.get_spatial_location_calculator(stereo) device.stereoControl = device.get_stereo_control(stereo) - + # device.pointcloud = device.get_pointcloud(color, stereo) + time.sleep(0.1) # Sleep to prevent duplicate stream error @@ -154,6 +157,7 @@ def on_fe_request(self, session_id, unique_key, payload): return [ {'id': 'ir-strength', 'data': device.conf['ir-strength']}, + #{'id': 'detection-threshold', 'data': 80}, {'id': 'temporal-filter', 'data': device.conf['temporal-filter']}, {'id': 'top-stream', 'data': self._order_first(device.streams['top'], supportedSterams)}, {'id': 'top-resolution', 'data': self._order_first(topResolution, supportedResolutions[topStream])}, @@ -232,4 +236,12 @@ def start_execution(self): DEVICE_MANAGER.start() def on_stop(self): - DEVICE_MANAGER.stop() \ No newline at end of file + DEVICE_MANAGER.stop() + current_process = psutil.Process() + children = current_process.children(recursive=True) + + for child in children: + try: + child.terminate() + except psutil.NoSuchProcess: + pass \ No newline at end of file diff --git a/robothub-oak/Camera App/frontend/GLTFLoader.js b/robothub-oak/Camera App/frontend/GLTFLoader.js new file mode 100644 index 0000000..b156388 --- /dev/null +++ b/robothub-oak/Camera App/frontend/GLTFLoader.js @@ -0,0 +1,2894 @@ +/** + * @author Rich Tibbett / https://github.com/richtr + * @author mrdoob / http://mrdoob.com/ + * @author Tony Parisi / http://www.tonyparisi.com/ + * @author Takahiro / https://github.com/takahirox + * @author Don McCurdy / https://www.donmccurdy.com + */ + +THREE.GLTFLoader = ( function () { + + function GLTFLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager; + this.dracoLoader = null; + + } + + GLTFLoader.prototype = { + + constructor: GLTFLoader, + + crossOrigin: 'Anonymous', + + load: function ( url, onLoad, onProgress, onError ) { + + var scope = this; + + var path = this.path !== undefined ? this.path : THREE.LoaderUtils.extractUrlBase( url ); + + var loader = new THREE.FileLoader( scope.manager ); + + loader.setResponseType( 'arraybuffer' ); + + loader.load( url, function ( data ) { + + try { + + scope.parse( data, path, onLoad, onError ); + + } catch ( e ) { + + if ( onError !== undefined ) { + + onError( e ); + + } else { + + throw e; + + } + + } + + }, onProgress, onError ); + + }, + + setCrossOrigin: function ( value ) { + + this.crossOrigin = value; + return this; + + }, + + setPath: function ( value ) { + + this.path = value; + return this; + + }, + + setDRACOLoader: function ( dracoLoader ) { + + this.dracoLoader = dracoLoader; + return this; + + }, + + parse: function ( data, path, onLoad, onError ) { + + var content; + var extensions = {}; + + if ( typeof data === 'string' ) { + + content = data; + + } else { + + var magic = THREE.LoaderUtils.decodeText( new Uint8Array( data, 0, 4 ) ); + + if ( magic === BINARY_EXTENSION_HEADER_MAGIC ) { + + try { + + extensions[ EXTENSIONS.KHR_BINARY_GLTF ] = new GLTFBinaryExtension( data ); + + } catch ( error ) { + + if ( onError ) onError( error ); + return; + + } + + content = extensions[ EXTENSIONS.KHR_BINARY_GLTF ].content; + + } else { + + content = THREE.LoaderUtils.decodeText( new Uint8Array( data ) ); + + } + + } + + var json = JSON.parse( content ); + + if ( json.asset === undefined || json.asset.version[ 0 ] < 2 ) { + + if ( onError ) onError( new Error( 'THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported. Use LegacyGLTFLoader instead.' ) ); + return; + + } + + if ( json.extensionsUsed ) { + + if ( json.extensionsUsed.indexOf( EXTENSIONS.KHR_LIGHTS ) >= 0 ) { + + extensions[ EXTENSIONS.KHR_LIGHTS ] = new GLTFLightsExtension( json ); + + } + + if ( json.extensionsUsed.indexOf( EXTENSIONS.KHR_MATERIALS_UNLIT ) >= 0 ) { + + extensions[ EXTENSIONS.KHR_MATERIALS_UNLIT ] = new GLTFMaterialsUnlitExtension( json ); + + } + + if ( json.extensionsUsed.indexOf( EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ) >= 0 ) { + + extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ] = new GLTFMaterialsPbrSpecularGlossinessExtension(); + + } + + if ( json.extensionsUsed.indexOf( EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ) >= 0 ) { + + extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] = new GLTFDracoMeshCompressionExtension( this.dracoLoader ); + + } + + if ( json.extensionsUsed.indexOf( EXTENSIONS.MSFT_TEXTURE_DDS ) >= 0 ) { + + extensions[ EXTENSIONS.MSFT_TEXTURE_DDS ] = new GLTFTextureDDSExtension(); + + } + + } + + var parser = new GLTFParser( json, extensions, { + + path: path || this.path || '', + crossOrigin: this.crossOrigin, + manager: this.manager + + } ); + + parser.parse( function ( scene, scenes, cameras, animations, asset ) { + + var glTF = { + scene: scene, + scenes: scenes, + cameras: cameras, + animations: animations, + asset: asset + }; + + onLoad( glTF ); + + }, onError ); + + } + + }; + + /* GLTFREGISTRY */ + + function GLTFRegistry() { + + var objects = {}; + + return { + + get: function ( key ) { + + return objects[ key ]; + + }, + + add: function ( key, object ) { + + objects[ key ] = object; + + }, + + remove: function ( key ) { + + delete objects[ key ]; + + }, + + removeAll: function () { + + objects = {}; + + } + + }; + + } + + /*********************************/ + /********** EXTENSIONS ***********/ + /*********************************/ + + var EXTENSIONS = { + KHR_BINARY_GLTF: 'KHR_binary_glTF', + KHR_DRACO_MESH_COMPRESSION: 'KHR_draco_mesh_compression', + KHR_LIGHTS: 'KHR_lights', + KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS: 'KHR_materials_pbrSpecularGlossiness', + KHR_MATERIALS_UNLIT: 'KHR_materials_unlit', + MSFT_TEXTURE_DDS: 'MSFT_texture_dds' + }; + + /** + * DDS Texture Extension + * + * Specification: + * https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/MSFT_texture_dds + * + */ + function GLTFTextureDDSExtension() { + + if ( ! THREE.DDSLoader ) { + + throw new Error( 'THREE.GLTFLoader: Attempting to load .dds texture without importing THREE.DDSLoader' ); + + } + + this.name = EXTENSIONS.MSFT_TEXTURE_DDS; + this.ddsLoader = new THREE.DDSLoader(); + + } + + /** + * Lights Extension + * + * Specification: PENDING + */ + function GLTFLightsExtension( json ) { + + this.name = EXTENSIONS.KHR_LIGHTS; + + this.lights = {}; + + var extension = ( json.extensions && json.extensions[ EXTENSIONS.KHR_LIGHTS ] ) || {}; + var lights = extension.lights || {}; + + for ( var lightId in lights ) { + + var light = lights[ lightId ]; + var lightNode; + + var color = new THREE.Color().fromArray( light.color ); + + switch ( light.type ) { + + case 'directional': + lightNode = new THREE.DirectionalLight( color ); + lightNode.target.position.set( 0, 0, 1 ); + lightNode.add( lightNode.target ); + break; + + case 'point': + lightNode = new THREE.PointLight( color ); + break; + + case 'spot': + lightNode = new THREE.SpotLight( color ); + // Handle spotlight properties. + light.spot = light.spot || {}; + light.spot.innerConeAngle = light.spot.innerConeAngle !== undefined ? light.spot.innerConeAngle : 0; + light.spot.outerConeAngle = light.spot.outerConeAngle !== undefined ? light.spot.outerConeAngle : Math.PI / 4.0; + lightNode.angle = light.spot.outerConeAngle; + lightNode.penumbra = 1.0 - light.spot.innerConeAngle / light.spot.outerConeAngle; + lightNode.target.position.set( 0, 0, 1 ); + lightNode.add( lightNode.target ); + break; + + case 'ambient': + lightNode = new THREE.AmbientLight( color ); + break; + + } + + if ( lightNode ) { + + lightNode.decay = 2; + + if ( light.intensity !== undefined ) { + + lightNode.intensity = light.intensity; + + } + + lightNode.name = light.name || ( 'light_' + lightId ); + this.lights[ lightId ] = lightNode; + + } + + } + + } + + /** + * Unlit Materials Extension (pending) + * + * PR: https://github.com/KhronosGroup/glTF/pull/1163 + */ + function GLTFMaterialsUnlitExtension( json ) { + + this.name = EXTENSIONS.KHR_MATERIALS_UNLIT; + + } + + GLTFMaterialsUnlitExtension.prototype.getMaterialType = function ( material ) { + + return THREE.MeshBasicMaterial; + + }; + + GLTFMaterialsUnlitExtension.prototype.extendParams = function ( materialParams, material, parser ) { + + var pending = []; + + materialParams.color = new THREE.Color( 1.0, 1.0, 1.0 ); + materialParams.opacity = 1.0; + + var metallicRoughness = material.pbrMetallicRoughness; + + if ( metallicRoughness ) { + + if ( Array.isArray( metallicRoughness.baseColorFactor ) ) { + + var array = metallicRoughness.baseColorFactor; + + materialParams.color.fromArray( array ); + materialParams.opacity = array[ 3 ]; + + } + + if ( metallicRoughness.baseColorTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'map', metallicRoughness.baseColorTexture.index ) ); + + } + + } + + return Promise.all( pending ); + + }; + + /* BINARY EXTENSION */ + + var BINARY_EXTENSION_BUFFER_NAME = 'binary_glTF'; + var BINARY_EXTENSION_HEADER_MAGIC = 'glTF'; + var BINARY_EXTENSION_HEADER_LENGTH = 12; + var BINARY_EXTENSION_CHUNK_TYPES = { JSON: 0x4E4F534A, BIN: 0x004E4942 }; + + function GLTFBinaryExtension( data ) { + + this.name = EXTENSIONS.KHR_BINARY_GLTF; + this.content = null; + this.body = null; + + var headerView = new DataView( data, 0, BINARY_EXTENSION_HEADER_LENGTH ); + + this.header = { + magic: THREE.LoaderUtils.decodeText( new Uint8Array( data.slice( 0, 4 ) ) ), + version: headerView.getUint32( 4, true ), + length: headerView.getUint32( 8, true ) + }; + + if ( this.header.magic !== BINARY_EXTENSION_HEADER_MAGIC ) { + + throw new Error( 'THREE.GLTFLoader: Unsupported glTF-Binary header.' ); + + } else if ( this.header.version < 2.0 ) { + + throw new Error( 'THREE.GLTFLoader: Legacy binary file detected. Use LegacyGLTFLoader instead.' ); + + } + + var chunkView = new DataView( data, BINARY_EXTENSION_HEADER_LENGTH ); + var chunkIndex = 0; + + while ( chunkIndex < chunkView.byteLength ) { + + var chunkLength = chunkView.getUint32( chunkIndex, true ); + chunkIndex += 4; + + var chunkType = chunkView.getUint32( chunkIndex, true ); + chunkIndex += 4; + + if ( chunkType === BINARY_EXTENSION_CHUNK_TYPES.JSON ) { + + var contentArray = new Uint8Array( data, BINARY_EXTENSION_HEADER_LENGTH + chunkIndex, chunkLength ); + this.content = THREE.LoaderUtils.decodeText( contentArray ); + + } else if ( chunkType === BINARY_EXTENSION_CHUNK_TYPES.BIN ) { + + var byteOffset = BINARY_EXTENSION_HEADER_LENGTH + chunkIndex; + this.body = data.slice( byteOffset, byteOffset + chunkLength ); + + } + + // Clients must ignore chunks with unknown types. + + chunkIndex += chunkLength; + + } + + if ( this.content === null ) { + + throw new Error( 'THREE.GLTFLoader: JSON content not found.' ); + + } + + } + + /** + * DRACO Mesh Compression Extension + * + * Specification: https://github.com/KhronosGroup/glTF/pull/874 + */ + function GLTFDracoMeshCompressionExtension ( dracoLoader ) { + + if ( ! dracoLoader ) { + + throw new Error( 'THREE.GLTFLoader: No DRACOLoader instance provided.' ); + + } + + this.name = EXTENSIONS.KHR_DRACO_MESH_COMPRESSION; + this.dracoLoader = dracoLoader; + + } + + GLTFDracoMeshCompressionExtension.prototype.decodePrimitive = function ( primitive, parser ) { + + var dracoLoader = this.dracoLoader; + var bufferViewIndex = primitive.extensions[ this.name ].bufferView; + var gltfAttributeMap = primitive.extensions[ this.name ].attributes; + var threeAttributeMap = {}; + + for ( var attributeName in gltfAttributeMap ) { + + if ( !( attributeName in ATTRIBUTES ) ) continue; + + threeAttributeMap[ ATTRIBUTES[ attributeName ] ] = gltfAttributeMap[ attributeName ]; + + } + + return parser.getDependency( 'bufferView', bufferViewIndex ).then( function ( bufferView ) { + + return new Promise( function ( resolve ) { + + dracoLoader.decodeDracoFile( bufferView, resolve, threeAttributeMap ); + + } ); + + } ); + + }; + + /** + * Specular-Glossiness Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_pbrSpecularGlossiness + */ + function GLTFMaterialsPbrSpecularGlossinessExtension() { + + return { + + name: EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS, + + specularGlossinessParams: [ + 'color', + 'map', + 'lightMap', + 'lightMapIntensity', + 'aoMap', + 'aoMapIntensity', + 'emissive', + 'emissiveIntensity', + 'emissiveMap', + 'bumpMap', + 'bumpScale', + 'normalMap', + 'displacementMap', + 'displacementScale', + 'displacementBias', + 'specularMap', + 'specular', + 'glossinessMap', + 'glossiness', + 'alphaMap', + 'envMap', + 'envMapIntensity', + 'refractionRatio', + ], + + getMaterialType: function () { + + return THREE.ShaderMaterial; + + }, + + extendParams: function ( params, material, parser ) { + + var pbrSpecularGlossiness = material.extensions[ this.name ]; + + var shader = THREE.ShaderLib[ 'standard' ]; + + var uniforms = THREE.UniformsUtils.clone( shader.uniforms ); + + var specularMapParsFragmentChunk = [ + '#ifdef USE_SPECULARMAP', + ' uniform sampler2D specularMap;', + '#endif' + ].join( '\n' ); + + var glossinessMapParsFragmentChunk = [ + '#ifdef USE_GLOSSINESSMAP', + ' uniform sampler2D glossinessMap;', + '#endif' + ].join( '\n' ); + + var specularMapFragmentChunk = [ + 'vec3 specularFactor = specular;', + '#ifdef USE_SPECULARMAP', + ' vec4 texelSpecular = texture2D( specularMap, vUv );', + ' texelSpecular = sRGBToLinear( texelSpecular );', + ' // reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture', + ' specularFactor *= texelSpecular.rgb;', + '#endif' + ].join( '\n' ); + + var glossinessMapFragmentChunk = [ + 'float glossinessFactor = glossiness;', + '#ifdef USE_GLOSSINESSMAP', + ' vec4 texelGlossiness = texture2D( glossinessMap, vUv );', + ' // reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture', + ' glossinessFactor *= texelGlossiness.a;', + '#endif' + ].join( '\n' ); + + var lightPhysicalFragmentChunk = [ + 'PhysicalMaterial material;', + 'material.diffuseColor = diffuseColor.rgb;', + 'material.specularRoughness = clamp( 1.0 - glossinessFactor, 0.04, 1.0 );', + 'material.specularColor = specularFactor.rgb;', + ].join( '\n' ); + + var fragmentShader = shader.fragmentShader + .replace( '#include ', '' ) + .replace( 'uniform float roughness;', 'uniform vec3 specular;' ) + .replace( 'uniform float metalness;', 'uniform float glossiness;' ) + .replace( '#include ', specularMapParsFragmentChunk ) + .replace( '#include ', glossinessMapParsFragmentChunk ) + .replace( '#include ', specularMapFragmentChunk ) + .replace( '#include ', glossinessMapFragmentChunk ) + .replace( '#include ', lightPhysicalFragmentChunk ); + + delete uniforms.roughness; + delete uniforms.metalness; + delete uniforms.roughnessMap; + delete uniforms.metalnessMap; + + uniforms.specular = { value: new THREE.Color().setHex( 0x111111 ) }; + uniforms.glossiness = { value: 0.5 }; + uniforms.specularMap = { value: null }; + uniforms.glossinessMap = { value: null }; + + params.vertexShader = shader.vertexShader; + params.fragmentShader = fragmentShader; + params.uniforms = uniforms; + params.defines = { 'STANDARD': '' }; + + params.color = new THREE.Color( 1.0, 1.0, 1.0 ); + params.opacity = 1.0; + + var pending = []; + + if ( Array.isArray( pbrSpecularGlossiness.diffuseFactor ) ) { + + var array = pbrSpecularGlossiness.diffuseFactor; + + params.color.fromArray( array ); + params.opacity = array[ 3 ]; + + } + + if ( pbrSpecularGlossiness.diffuseTexture !== undefined ) { + + pending.push( parser.assignTexture( params, 'map', pbrSpecularGlossiness.diffuseTexture.index ) ); + + } + + params.emissive = new THREE.Color( 0.0, 0.0, 0.0 ); + params.glossiness = pbrSpecularGlossiness.glossinessFactor !== undefined ? pbrSpecularGlossiness.glossinessFactor : 1.0; + params.specular = new THREE.Color( 1.0, 1.0, 1.0 ); + + if ( Array.isArray( pbrSpecularGlossiness.specularFactor ) ) { + + params.specular.fromArray( pbrSpecularGlossiness.specularFactor ); + + } + + if ( pbrSpecularGlossiness.specularGlossinessTexture !== undefined ) { + + var specGlossIndex = pbrSpecularGlossiness.specularGlossinessTexture.index; + pending.push( parser.assignTexture( params, 'glossinessMap', specGlossIndex ) ); + pending.push( parser.assignTexture( params, 'specularMap', specGlossIndex ) ); + + } + + return Promise.all( pending ); + + }, + + createMaterial: function ( params ) { + + // setup material properties based on MeshStandardMaterial for Specular-Glossiness + + var material = new THREE.ShaderMaterial( { + defines: params.defines, + vertexShader: params.vertexShader, + fragmentShader: params.fragmentShader, + uniforms: params.uniforms, + fog: true, + lights: true, + opacity: params.opacity, + transparent: params.transparent + } ); + + material.isGLTFSpecularGlossinessMaterial = true; + + material.color = params.color; + + material.map = params.map === undefined ? null : params.map; + + material.lightMap = null; + material.lightMapIntensity = 1.0; + + material.aoMap = params.aoMap === undefined ? null : params.aoMap; + material.aoMapIntensity = 1.0; + + material.emissive = params.emissive; + material.emissiveIntensity = 1.0; + material.emissiveMap = params.emissiveMap === undefined ? null : params.emissiveMap; + + material.bumpMap = params.bumpMap === undefined ? null : params.bumpMap; + material.bumpScale = 1; + + material.normalMap = params.normalMap === undefined ? null : params.normalMap; + if ( params.normalScale ) material.normalScale = params.normalScale; + + material.displacementMap = null; + material.displacementScale = 1; + material.displacementBias = 0; + + material.specularMap = params.specularMap === undefined ? null : params.specularMap; + material.specular = params.specular; + + material.glossinessMap = params.glossinessMap === undefined ? null : params.glossinessMap; + material.glossiness = params.glossiness; + + material.alphaMap = null; + + material.envMap = params.envMap === undefined ? null : params.envMap; + material.envMapIntensity = 1.0; + + material.refractionRatio = 0.98; + + material.extensions.derivatives = true; + + return material; + + }, + + /** + * Clones a GLTFSpecularGlossinessMaterial instance. The ShaderMaterial.copy() method can + * copy only properties it knows about or inherits, and misses many properties that would + * normally be defined by MeshStandardMaterial. + * + * This method allows GLTFSpecularGlossinessMaterials to be cloned in the process of + * loading a glTF model, but cloning later (e.g. by the user) would require these changes + * AND also updating `.onBeforeRender` on the parent mesh. + * + * @param {THREE.ShaderMaterial} source + * @return {THREE.ShaderMaterial} + */ + cloneMaterial: function ( source ) { + + var target = source.clone(); + + target.isGLTFSpecularGlossinessMaterial = true; + + var params = this.specularGlossinessParams; + + for ( var i = 0, il = params.length; i < il; i ++ ) { + + target[ params[ i ] ] = source[ params[ i ] ]; + + } + + return target; + + }, + + // Here's based on refreshUniformsCommon() and refreshUniformsStandard() in WebGLRenderer. + refreshUniforms: function ( renderer, scene, camera, geometry, material, group ) { + + if ( material.isGLTFSpecularGlossinessMaterial !== true ) { + + return; + + } + + var uniforms = material.uniforms; + var defines = material.defines; + + uniforms.opacity.value = material.opacity; + + uniforms.diffuse.value.copy( material.color ); + uniforms.emissive.value.copy( material.emissive ).multiplyScalar( material.emissiveIntensity ); + + uniforms.map.value = material.map; + uniforms.specularMap.value = material.specularMap; + uniforms.alphaMap.value = material.alphaMap; + + uniforms.lightMap.value = material.lightMap; + uniforms.lightMapIntensity.value = material.lightMapIntensity; + + 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.glossinessMap ) { + + uvScaleMap = material.glossinessMap; + + } 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; + + } + + var offset; + var repeat; + + if ( uvScaleMap.matrix !== undefined ) { + + // > r88. + + if ( uvScaleMap.matrixAutoUpdate === true ) { + + offset = uvScaleMap.offset; + repeat = uvScaleMap.repeat; + var rotation = uvScaleMap.rotation; + var center = uvScaleMap.center; + + uvScaleMap.matrix.setUvTransform( offset.x, offset.y, repeat.x, repeat.y, rotation, center.x, center.y ); + + } + + uniforms.uvTransform.value.copy( uvScaleMap.matrix ); + + } else { + + // <= r87. Remove when reasonable. + + offset = uvScaleMap.offset; + repeat = uvScaleMap.repeat; + + uniforms.offsetRepeat.value.set( offset.x, offset.y, repeat.x, repeat.y ); + + } + + } + + uniforms.envMap.value = material.envMap; + uniforms.envMapIntensity.value = material.envMapIntensity; + uniforms.flipEnvMap.value = ( material.envMap && material.envMap.isCubeTexture ) ? - 1 : 1; + + uniforms.refractionRatio.value = material.refractionRatio; + + uniforms.specular.value.copy( material.specular ); + uniforms.glossiness.value = material.glossiness; + + uniforms.glossinessMap.value = material.glossinessMap; + + uniforms.emissiveMap.value = material.emissiveMap; + uniforms.bumpMap.value = material.bumpMap; + uniforms.normalMap.value = material.normalMap; + + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + + if ( uniforms.glossinessMap.value !== null && defines.USE_GLOSSINESSMAP === undefined ) { + + defines.USE_GLOSSINESSMAP = ''; + // set USE_ROUGHNESSMAP to enable vUv + defines.USE_ROUGHNESSMAP = ''; + + } + + if ( uniforms.glossinessMap.value === null && defines.USE_GLOSSINESSMAP !== undefined ) { + + delete defines.USE_GLOSSINESSMAP; + delete defines.USE_ROUGHNESSMAP; + + } + + } + + }; + + } + + /*********************************/ + /********** INTERPOLATION ********/ + /*********************************/ + + // Spline Interpolation + // Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#appendix-c-spline-interpolation + function GLTFCubicSplineInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + THREE.Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); + + }; + + GLTFCubicSplineInterpolant.prototype = Object.create( THREE.Interpolant.prototype ); + GLTFCubicSplineInterpolant.prototype.constructor = GLTFCubicSplineInterpolant; + + GLTFCubicSplineInterpolant.prototype.interpolate_ = function ( i1, t0, t, t1 ) { + + var result = this.resultBuffer; + var values = this.sampleValues; + var stride = this.valueSize; + + var stride2 = stride * 2; + var stride3 = stride * 3; + + var td = t1 - t0; + + var p = ( t - t0 ) / td; + var pp = p * p; + var ppp = pp * p; + + var offset1 = i1 * stride3; + var offset0 = offset1 - stride3; + + var s0 = 2 * ppp - 3 * pp + 1; + var s1 = ppp - 2 * pp + p; + var s2 = - 2 * ppp + 3 * pp; + var s3 = ppp - pp; + + // Layout of keyframe output values for CUBICSPLINE animations: + // [ inTangent_1, splineVertex_1, outTangent_1, inTangent_2, splineVertex_2, ... ] + for ( var i = 0; i !== stride; i ++ ) { + + var p0 = values[ offset0 + i + stride ]; // splineVertex_k + var m0 = values[ offset0 + i + stride2 ] * td; // outTangent_k * (t_k+1 - t_k) + var p1 = values[ offset1 + i + stride ]; // splineVertex_k+1 + var m1 = values[ offset1 + i ] * td; // inTangent_k+1 * (t_k+1 - t_k) + + result[ i ] = s0 * p0 + s1 * m0 + s2 * p1 + s3 * m1; + + } + + return result; + + }; + + /*********************************/ + /********** INTERNALS ************/ + /*********************************/ + + /* CONSTANTS */ + + var WEBGL_CONSTANTS = { + FLOAT: 5126, + //FLOAT_MAT2: 35674, + FLOAT_MAT3: 35675, + FLOAT_MAT4: 35676, + FLOAT_VEC2: 35664, + FLOAT_VEC3: 35665, + FLOAT_VEC4: 35666, + LINEAR: 9729, + REPEAT: 10497, + SAMPLER_2D: 35678, + POINTS: 0, + LINES: 1, + LINE_LOOP: 2, + LINE_STRIP: 3, + TRIANGLES: 4, + TRIANGLE_STRIP: 5, + TRIANGLE_FAN: 6, + UNSIGNED_BYTE: 5121, + UNSIGNED_SHORT: 5123 + }; + + var WEBGL_TYPE = { + 5126: Number, + //35674: THREE.Matrix2, + 35675: THREE.Matrix3, + 35676: THREE.Matrix4, + 35664: THREE.Vector2, + 35665: THREE.Vector3, + 35666: THREE.Vector4, + 35678: THREE.Texture + }; + + var WEBGL_COMPONENT_TYPES = { + 5120: Int8Array, + 5121: Uint8Array, + 5122: Int16Array, + 5123: Uint16Array, + 5125: Uint32Array, + 5126: Float32Array + }; + + var WEBGL_FILTERS = { + 9728: THREE.NearestFilter, + 9729: THREE.LinearFilter, + 9984: THREE.NearestMipMapNearestFilter, + 9985: THREE.LinearMipMapNearestFilter, + 9986: THREE.NearestMipMapLinearFilter, + 9987: THREE.LinearMipMapLinearFilter + }; + + var WEBGL_WRAPPINGS = { + 33071: THREE.ClampToEdgeWrapping, + 33648: THREE.MirroredRepeatWrapping, + 10497: THREE.RepeatWrapping + }; + + var WEBGL_TEXTURE_FORMATS = { + 6406: THREE.AlphaFormat, + 6407: THREE.RGBFormat, + 6408: THREE.RGBAFormat, + 6409: THREE.LuminanceFormat, + 6410: THREE.LuminanceAlphaFormat + }; + + var WEBGL_TEXTURE_DATATYPES = { + 5121: THREE.UnsignedByteType, + 32819: THREE.UnsignedShort4444Type, + 32820: THREE.UnsignedShort5551Type, + 33635: THREE.UnsignedShort565Type + }; + + var WEBGL_SIDES = { + 1028: THREE.BackSide, // Culling front + 1029: THREE.FrontSide // Culling back + //1032: THREE.NoSide // Culling front and back, what to do? + }; + + var WEBGL_DEPTH_FUNCS = { + 512: THREE.NeverDepth, + 513: THREE.LessDepth, + 514: THREE.EqualDepth, + 515: THREE.LessEqualDepth, + 516: THREE.GreaterEqualDepth, + 517: THREE.NotEqualDepth, + 518: THREE.GreaterEqualDepth, + 519: THREE.AlwaysDepth + }; + + var WEBGL_BLEND_EQUATIONS = { + 32774: THREE.AddEquation, + 32778: THREE.SubtractEquation, + 32779: THREE.ReverseSubtractEquation + }; + + var WEBGL_BLEND_FUNCS = { + 0: THREE.ZeroFactor, + 1: THREE.OneFactor, + 768: THREE.SrcColorFactor, + 769: THREE.OneMinusSrcColorFactor, + 770: THREE.SrcAlphaFactor, + 771: THREE.OneMinusSrcAlphaFactor, + 772: THREE.DstAlphaFactor, + 773: THREE.OneMinusDstAlphaFactor, + 774: THREE.DstColorFactor, + 775: THREE.OneMinusDstColorFactor, + 776: THREE.SrcAlphaSaturateFactor + // The followings are not supported by Three.js yet + //32769: CONSTANT_COLOR, + //32770: ONE_MINUS_CONSTANT_COLOR, + //32771: CONSTANT_ALPHA, + //32772: ONE_MINUS_CONSTANT_COLOR + }; + + var WEBGL_TYPE_SIZES = { + 'SCALAR': 1, + 'VEC2': 2, + 'VEC3': 3, + 'VEC4': 4, + 'MAT2': 4, + 'MAT3': 9, + 'MAT4': 16 + }; + + var ATTRIBUTES = { + POSITION: 'position', + NORMAL: 'normal', + TEXCOORD_0: 'uv', + TEXCOORD0: 'uv', // deprecated + TEXCOORD: 'uv', // deprecated + TEXCOORD_1: 'uv2', + COLOR_0: 'color', + COLOR0: 'color', // deprecated + COLOR: 'color', // deprecated + WEIGHTS_0: 'skinWeight', + WEIGHT: 'skinWeight', // deprecated + JOINTS_0: 'skinIndex', + JOINT: 'skinIndex' // deprecated + } + + var PATH_PROPERTIES = { + scale: 'scale', + translation: 'position', + rotation: 'quaternion', + weights: 'morphTargetInfluences' + }; + + var INTERPOLATION = { + CUBICSPLINE: THREE.InterpolateSmooth, // We use custom interpolation GLTFCubicSplineInterpolation for CUBICSPLINE. + // KeyframeTrack.optimize() can't handle glTF Cubic Spline output values layout, + // using THREE.InterpolateSmooth for KeyframeTrack instantiation to prevent optimization. + // See KeyframeTrack.optimize() for the detail. + LINEAR: THREE.InterpolateLinear, + STEP: THREE.InterpolateDiscrete + }; + + var STATES_ENABLES = { + 2884: 'CULL_FACE', + 2929: 'DEPTH_TEST', + 3042: 'BLEND', + 3089: 'SCISSOR_TEST', + 32823: 'POLYGON_OFFSET_FILL', + 32926: 'SAMPLE_ALPHA_TO_COVERAGE' + }; + + var ALPHA_MODES = { + OPAQUE: 'OPAQUE', + MASK: 'MASK', + BLEND: 'BLEND' + }; + + /* UTILITY FUNCTIONS */ + + function resolveURL( url, path ) { + + // Invalid URL + if ( typeof url !== 'string' || url === '' ) return ''; + + // Absolute URL http://,https://,// + if ( /^(https?:)?\/\//i.test( url ) ) return url; + + // Data URI + if ( /^data:.*,.*$/i.test( url ) ) return url; + + // Blob URL + if ( /^blob:.*$/i.test( url ) ) return url; + + // Relative URL + return path + url; + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#default-material + */ + function createDefaultMaterial() { + + return new THREE.MeshStandardMaterial( { + color: 0xFFFFFF, + emissive: 0x000000, + metalness: 1, + roughness: 1, + transparent: false, + depthTest: true, + side: THREE.FrontSide + } ); + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#morph-targets + * + * @param {THREE.Mesh} mesh + * @param {GLTF.Mesh} meshDef + * @param {GLTF.Primitive} primitiveDef + * @param {Array} accessors + */ + function addMorphTargets( mesh, meshDef, primitiveDef, accessors ) { + + var geometry = mesh.geometry; + var targets = primitiveDef.targets; + + var hasMorphPosition = false; + var hasMorphNormal = false; + + for ( var i = 0, il = targets.length; i < il; i ++ ) { + + var target = targets[ i ]; + + if ( target.POSITION !== undefined ) hasMorphPosition = true; + if ( target.NORMAL !== undefined ) hasMorphNormal = true; + + if ( hasMorphPosition && hasMorphNormal ) break; + + } + + if ( ! hasMorphPosition && ! hasMorphNormal ) return; + + var morphPositions = []; + var morphNormals = []; + + for ( var i = 0, il = targets.length; i < il; i ++ ) { + + var target = targets[ i ]; + var attributeName = 'morphTarget' + i; + + if ( hasMorphPosition ) { + + // Three.js morph position is absolute value. The formula is + // basePosition + // + weight0 * ( morphPosition0 - basePosition ) + // + weight1 * ( morphPosition1 - basePosition ) + // ... + // while the glTF one is relative + // basePosition + // + weight0 * glTFmorphPosition0 + // + weight1 * glTFmorphPosition1 + // ... + // then we need to convert from relative to absolute here. + + if ( target.POSITION !== undefined ) { + + // Cloning not to pollute original accessor + var positionAttribute = cloneBufferAttribute( accessors[ target.POSITION ] ); + positionAttribute.name = attributeName; + + var position = geometry.attributes.position; + + for ( var j = 0, jl = positionAttribute.count; j < jl; j ++ ) { + + positionAttribute.setXYZ( + j, + positionAttribute.getX( j ) + position.getX( j ), + positionAttribute.getY( j ) + position.getY( j ), + positionAttribute.getZ( j ) + position.getZ( j ) + ); + + } + + } else { + + positionAttribute = geometry.attributes.position; + + } + + morphPositions.push( positionAttribute ); + + } + + if ( hasMorphNormal ) { + + // see target.POSITION's comment + + var normalAttribute; + + if ( target.NORMAL !== undefined ) { + + var normalAttribute = cloneBufferAttribute( accessors[ target.NORMAL ] ); + normalAttribute.name = attributeName; + + var normal = geometry.attributes.normal; + + for ( var j = 0, jl = normalAttribute.count; j < jl; j ++ ) { + + normalAttribute.setXYZ( + j, + normalAttribute.getX( j ) + normal.getX( j ), + normalAttribute.getY( j ) + normal.getY( j ), + normalAttribute.getZ( j ) + normal.getZ( j ) + ); + + } + + } else { + + normalAttribute = geometry.attributes.normal; + + } + + morphNormals.push( normalAttribute ); + + } + + } + + if ( hasMorphPosition ) geometry.morphAttributes.position = morphPositions; + if ( hasMorphNormal ) geometry.morphAttributes.normal = morphNormals; + + mesh.updateMorphTargets(); + + if ( meshDef.weights !== undefined ) { + + for ( var i = 0, il = meshDef.weights.length; i < il; i ++ ) { + + mesh.morphTargetInfluences[ i ] = meshDef.weights[ i ]; + + } + + } + + // .extras has user-defined data, so check that .extras.targetNames is an array. + if ( meshDef.extras && Array.isArray( meshDef.extras.targetNames ) ) { + + var targetNames = meshDef.extras.targetNames; + + if ( mesh.morphTargetInfluences.length === targetNames.length ) { + + mesh.morphTargetDictionary = {}; + + for ( var i = 0, il = targetNames.length; i < il; i ++ ) { + + mesh.morphTargetDictionary[ targetNames[ i ] ] = i; + + } + + } else { + + console.warn( 'THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.' ); + + } + + } + + } + + function isPrimitiveEqual( a, b ) { + + if ( a.indices !== b.indices ) { + + return false; + + } + + var attribA = a.attributes || {}; + var attribB = b.attributes || {}; + var keysA = Object.keys( attribA ); + var keysB = Object.keys( attribB ); + + if ( keysA.length !== keysB.length ) { + + return false; + + } + + for ( var i = 0, il = keysA.length; i < il; i ++ ) { + + var key = keysA[ i ]; + + if ( attribA[ key ] !== attribB[ key ] ) { + + return false; + + } + + } + + return true; + + } + + function getCachedGeometry( cache, newPrimitive ) { + + for ( var i = 0, il = cache.length; i < il; i ++ ) { + + var cached = cache[ i ]; + + if ( isPrimitiveEqual( cached.primitive, newPrimitive ) ) { + + return cached.promise; + + } + + } + + return null; + + } + + function cloneBufferAttribute( attribute ) { + + if ( attribute.isInterleavedBufferAttribute ) { + + var count = attribute.count; + var itemSize = attribute.itemSize; + var array = attribute.array.slice( 0, count * itemSize ); + + for ( var i = 0; i < count; ++ i ) { + + array[ i ] = attribute.getX( i ); + if ( itemSize >= 2 ) array[ i + 1 ] = attribute.getY( i ); + if ( itemSize >= 3 ) array[ i + 2 ] = attribute.getZ( i ); + if ( itemSize >= 4 ) array[ i + 3 ] = attribute.getW( i ); + + } + + return new THREE.BufferAttribute( array, itemSize, attribute.normalized ); + + } + + return attribute.clone(); + + } + + /* GLTF PARSER */ + + function GLTFParser( json, extensions, options ) { + + this.json = json || {}; + this.extensions = extensions || {}; + this.options = options || {}; + + // loader object cache + this.cache = new GLTFRegistry(); + + // BufferGeometry caching + this.primitiveCache = []; + + this.textureLoader = new THREE.TextureLoader( this.options.manager ); + this.textureLoader.setCrossOrigin( this.options.crossOrigin ); + + this.fileLoader = new THREE.FileLoader( this.options.manager ); + this.fileLoader.setResponseType( 'arraybuffer' ); + + } + + GLTFParser.prototype.parse = function ( onLoad, onError ) { + + var json = this.json; + + // Clear the loader cache + this.cache.removeAll(); + + // Mark the special nodes/meshes in json for efficient parse + this.markDefs(); + + // Fire the callback on complete + this.getMultiDependencies( [ + + 'scene', + 'animation', + 'camera' + + ] ).then( function ( dependencies ) { + + var scenes = dependencies.scenes || []; + var scene = scenes[ json.scene || 0 ]; + var animations = dependencies.animations || []; + var asset = json.asset; + var cameras = dependencies.cameras || []; + + onLoad( scene, scenes, cameras, animations, asset ); + + } ).catch( onError ); + + }; + + /** + * Marks the special nodes/meshes in json for efficient parse. + */ + GLTFParser.prototype.markDefs = function () { + + var nodeDefs = this.json.nodes || []; + var skinDefs = this.json.skins || []; + var meshDefs = this.json.meshes || []; + + var meshReferences = {}; + var meshUses = {}; + + // Nothing in the node definition indicates whether it is a Bone or an + // Object3D. Use the skins' joint references to mark bones. + for ( var skinIndex = 0, skinLength = skinDefs.length; skinIndex < skinLength; skinIndex ++ ) { + + var joints = skinDefs[ skinIndex ].joints; + + for ( var i = 0, il = joints.length; i < il; i ++ ) { + + nodeDefs[ joints[ i ] ].isBone = true; + + } + + } + + // Meshes can (and should) be reused by multiple nodes in a glTF asset. To + // avoid having more than one THREE.Mesh with the same name, count + // references and rename instances below. + // + // Example: CesiumMilkTruck sample model reuses "Wheel" meshes. + for ( var nodeIndex = 0, nodeLength = nodeDefs.length; nodeIndex < nodeLength; nodeIndex ++ ) { + + var nodeDef = nodeDefs[ nodeIndex ]; + + if ( nodeDef.mesh !== undefined ) { + + if ( meshReferences[ nodeDef.mesh ] === undefined ) { + + meshReferences[ nodeDef.mesh ] = meshUses[ nodeDef.mesh ] = 0; + + } + + meshReferences[ nodeDef.mesh ] ++; + + // Nothing in the mesh definition indicates whether it is + // a SkinnedMesh or Mesh. Use the node's mesh reference + // to mark SkinnedMesh if node has skin. + if ( nodeDef.skin !== undefined ) { + + meshDefs[ nodeDef.mesh ].isSkinnedMesh = true; + + } + + } + + } + + this.json.meshReferences = meshReferences; + this.json.meshUses = meshUses; + + }; + + /** + * Requests the specified dependency asynchronously, with caching. + * @param {string} type + * @param {number} index + * @return {Promise} + */ + GLTFParser.prototype.getDependency = function ( type, index ) { + + var cacheKey = type + ':' + index; + var dependency = this.cache.get( cacheKey ); + + if ( ! dependency ) { + + switch ( type ) { + + case 'scene': + dependency = this.loadScene( index ); + break; + + case 'node': + dependency = this.loadNode( index ); + break; + + case 'mesh': + dependency = this.loadMesh( index ); + break; + + case 'accessor': + dependency = this.loadAccessor( index ); + break; + + case 'bufferView': + dependency = this.loadBufferView( index ); + break; + + case 'buffer': + dependency = this.loadBuffer( index ); + break; + + case 'material': + dependency = this.loadMaterial( index ); + break; + + case 'texture': + dependency = this.loadTexture( index ); + break; + + case 'skin': + dependency = this.loadSkin( index ); + break; + + case 'animation': + dependency = this.loadAnimation( index ); + break; + + case 'camera': + dependency = this.loadCamera( index ); + break; + + default: + throw new Error( 'Unknown type: ' + type ); + + } + + this.cache.add( cacheKey, dependency ); + + } + + return dependency; + + }; + + /** + * Requests all dependencies of the specified type asynchronously, with caching. + * @param {string} type + * @return {Promise>} + */ + GLTFParser.prototype.getDependencies = function ( type ) { + + var dependencies = this.cache.get( type ); + + if ( ! dependencies ) { + + var parser = this; + var defs = this.json[ type + ( type === 'mesh' ? 'es' : 's' ) ] || []; + + dependencies = Promise.all( defs.map( function ( def, index ) { + + return parser.getDependency( type, index ); + + } ) ); + + this.cache.add( type, dependencies ); + + } + + return dependencies; + + }; + + /** + * Requests all multiple dependencies of the specified types asynchronously, with caching. + * @param {Array} types + * @return {Promise>>} + */ + GLTFParser.prototype.getMultiDependencies = function ( types ) { + + var results = {}; + var pendings = []; + + for ( var i = 0, il = types.length; i < il; i ++ ) { + + var type = types[ i ]; + var value = this.getDependencies( type ); + + value = value.then( function ( key, value ) { + + results[ key ] = value; + + }.bind( this, type + ( type === 'mesh' ? 'es' : 's' ) ) ); + + pendings.push( value ); + + } + + return Promise.all( pendings ).then( function () { + + return results; + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views + * @param {number} bufferIndex + * @return {Promise} + */ + GLTFParser.prototype.loadBuffer = function ( bufferIndex ) { + + var bufferDef = this.json.buffers[ bufferIndex ]; + var loader = this.fileLoader; + + if ( bufferDef.type && bufferDef.type !== 'arraybuffer' ) { + + throw new Error( 'THREE.GLTFLoader: ' + bufferDef.type + ' buffer type is not supported.' ); + + } + + // If present, GLB container is required to be the first buffer. + if ( bufferDef.uri === undefined && bufferIndex === 0 ) { + + return Promise.resolve( this.extensions[ EXTENSIONS.KHR_BINARY_GLTF ].body ); + + } + + var options = this.options; + + return new Promise( function ( resolve, reject ) { + + loader.load( resolveURL( bufferDef.uri, options.path ), resolve, undefined, function () { + + reject( new Error( 'THREE.GLTFLoader: Failed to load buffer "' + bufferDef.uri + '".' ) ); + + } ); + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views + * @param {number} bufferViewIndex + * @return {Promise} + */ + GLTFParser.prototype.loadBufferView = function ( bufferViewIndex ) { + + var bufferViewDef = this.json.bufferViews[ bufferViewIndex ]; + + return this.getDependency( 'buffer', bufferViewDef.buffer ).then( function ( buffer ) { + + var byteLength = bufferViewDef.byteLength || 0; + var byteOffset = bufferViewDef.byteOffset || 0; + return buffer.slice( byteOffset, byteOffset + byteLength ); + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#accessors + * @param {number} accessorIndex + * @return {Promise} + */ + GLTFParser.prototype.loadAccessor = function ( accessorIndex ) { + + var parser = this; + var json = this.json; + + var accessorDef = this.json.accessors[ accessorIndex ]; + + if ( accessorDef.bufferView === undefined && accessorDef.sparse === undefined ) { + + // Ignore empty accessors, which may be used to declare runtime + // information about attributes coming from another source (e.g. Draco + // compression extension). + return null; + + } + + var pendingBufferViews = []; + + if ( accessorDef.bufferView !== undefined ) { + + pendingBufferViews.push( this.getDependency( 'bufferView', accessorDef.bufferView ) ); + + } else { + + pendingBufferViews.push( null ); + + } + + if ( accessorDef.sparse !== undefined ) { + + pendingBufferViews.push( this.getDependency( 'bufferView', accessorDef.sparse.indices.bufferView ) ); + pendingBufferViews.push( this.getDependency( 'bufferView', accessorDef.sparse.values.bufferView ) ); + + } + + return Promise.all( pendingBufferViews ).then( function ( bufferViews ) { + + var bufferView = bufferViews[ 0 ]; + + var itemSize = WEBGL_TYPE_SIZES[ accessorDef.type ]; + var TypedArray = WEBGL_COMPONENT_TYPES[ accessorDef.componentType ]; + + // For VEC3: itemSize is 3, elementBytes is 4, itemBytes is 12. + var elementBytes = TypedArray.BYTES_PER_ELEMENT; + var itemBytes = elementBytes * itemSize; + var byteOffset = accessorDef.byteOffset || 0; + var byteStride = json.bufferViews[ accessorDef.bufferView ].byteStride; + var normalized = accessorDef.normalized === true; + var array, bufferAttribute; + + // The buffer is not interleaved if the stride is the item size in bytes. + if ( byteStride && byteStride !== itemBytes ) { + + var ibCacheKey = 'InterleavedBuffer:' + accessorDef.bufferView + ':' + accessorDef.componentType; + var ib = parser.cache.get( ibCacheKey ); + + if ( ! ib ) { + + // Use the full buffer if it's interleaved. + array = new TypedArray( bufferView ); + + // Integer parameters to IB/IBA are in array elements, not bytes. + ib = new THREE.InterleavedBuffer( array, byteStride / elementBytes ); + + parser.cache.add( ibCacheKey, ib ); + + } + + bufferAttribute = new THREE.InterleavedBufferAttribute( ib, itemSize, byteOffset / elementBytes, normalized ); + + } else { + + if ( bufferView === null ) { + + array = new TypedArray( accessorDef.count * itemSize ); + + } else { + + array = new TypedArray( bufferView, byteOffset, accessorDef.count * itemSize ); + + } + + bufferAttribute = new THREE.BufferAttribute( array, itemSize, normalized ); + + } + + // https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#sparse-accessors + if ( accessorDef.sparse !== undefined ) { + + var itemSizeIndices = WEBGL_TYPE_SIZES.SCALAR; + var TypedArrayIndices = WEBGL_COMPONENT_TYPES[ accessorDef.sparse.indices.componentType ]; + + var byteOffsetIndices = accessorDef.sparse.indices.byteOffset || 0; + var byteOffsetValues = accessorDef.sparse.values.byteOffset || 0; + + var sparseIndices = new TypedArrayIndices( bufferViews[ 1 ], byteOffsetIndices, accessorDef.sparse.count * itemSizeIndices ); + var sparseValues = new TypedArray( bufferViews[ 2 ], byteOffsetValues, accessorDef.sparse.count * itemSize ); + + if ( bufferView !== null ) { + + // Avoid modifying the original ArrayBuffer, if the bufferView wasn't initialized with zeroes. + bufferAttribute.setArray( bufferAttribute.array.slice() ); + + } + + for ( var i = 0, il = sparseIndices.length; i < il; i ++ ) { + + var index = sparseIndices[ i ]; + + bufferAttribute.setX( index, sparseValues[ i * itemSize ] ); + if ( itemSize >= 2 ) bufferAttribute.setY( index, sparseValues[ i * itemSize + 1 ] ); + if ( itemSize >= 3 ) bufferAttribute.setZ( index, sparseValues[ i * itemSize + 2 ] ); + if ( itemSize >= 4 ) bufferAttribute.setW( index, sparseValues[ i * itemSize + 3 ] ); + if ( itemSize >= 5 ) throw new Error( 'THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.' ); + + } + + } + + return bufferAttribute; + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#textures + * @param {number} textureIndex + * @return {Promise} + */ + GLTFParser.prototype.loadTexture = function ( textureIndex ) { + + var parser = this; + var json = this.json; + var options = this.options; + var textureLoader = this.textureLoader; + + var URL = window.URL || window.webkitURL; + + var textureDef = json.textures[ textureIndex ]; + + var textureExtensions = textureDef.extensions || {}; + + var source; + + if ( textureExtensions[ EXTENSIONS.MSFT_TEXTURE_DDS ] ) { + + source = json.images[ textureExtensions[ EXTENSIONS.MSFT_TEXTURE_DDS ].source ]; + + } else { + + source = json.images[ textureDef.source ]; + + } + + var sourceURI = source.uri; + var isObjectURL = false; + + if ( source.bufferView !== undefined ) { + + // Load binary image data from bufferView, if provided. + + sourceURI = parser.getDependency( 'bufferView', source.bufferView ).then( function ( bufferView ) { + + isObjectURL = true; + var blob = new Blob( [ bufferView ], { type: source.mimeType } ); + sourceURI = URL.createObjectURL( blob ); + return sourceURI; + + } ); + + } + + return Promise.resolve( sourceURI ).then( function ( sourceURI ) { + + // Load Texture resource. + + var loader = THREE.Loader.Handlers.get( sourceURI ); + + if ( ! loader ) { + + loader = textureExtensions[ EXTENSIONS.MSFT_TEXTURE_DDS ] + ? parser.extensions[ EXTENSIONS.MSFT_TEXTURE_DDS ].ddsLoader + : textureLoader; + + } + + return new Promise( function ( resolve, reject ) { + + loader.load( resolveURL( sourceURI, options.path ), resolve, undefined, reject ); + + } ); + + } ).then( function ( texture ) { + + // Clean up resources and configure Texture. + + if ( isObjectURL === true ) { + + URL.revokeObjectURL( sourceURI ); + + } + + texture.flipY = false; + + if ( textureDef.name !== undefined ) texture.name = textureDef.name; + + // .format of dds texture is set in DDSLoader + if ( ! textureExtensions[ EXTENSIONS.MSFT_TEXTURE_DDS ] ) { + + texture.format = textureDef.format !== undefined ? WEBGL_TEXTURE_FORMATS[ textureDef.format ] : THREE.RGBAFormat; + + } + + if ( textureDef.internalFormat !== undefined && texture.format !== WEBGL_TEXTURE_FORMATS[ textureDef.internalFormat ] ) { + + console.warn( 'THREE.GLTFLoader: Three.js does not support texture internalFormat which is different from texture format. ' + + 'internalFormat will be forced to be the same value as format.' ); + + } + + texture.type = textureDef.type !== undefined ? WEBGL_TEXTURE_DATATYPES[ textureDef.type ] : THREE.UnsignedByteType; + + var samplers = json.samplers || {}; + var sampler = samplers[ textureDef.sampler ] || {}; + + texture.magFilter = WEBGL_FILTERS[ sampler.magFilter ] || THREE.LinearFilter; + texture.minFilter = WEBGL_FILTERS[ sampler.minFilter ] || THREE.LinearMipMapLinearFilter; + texture.wrapS = WEBGL_WRAPPINGS[ sampler.wrapS ] || THREE.RepeatWrapping; + texture.wrapT = WEBGL_WRAPPINGS[ sampler.wrapT ] || THREE.RepeatWrapping; + + return texture; + + } ); + + }; + + /** + * Asynchronously assigns a texture to the given material parameters. + * @param {Object} materialParams + * @param {string} textureName + * @param {number} textureIndex + * @return {Promise} + */ + GLTFParser.prototype.assignTexture = function ( materialParams, textureName, textureIndex ) { + + return this.getDependency( 'texture', textureIndex ).then( function ( texture ) { + + materialParams[ textureName ] = texture; + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials + * @param {number} materialIndex + * @return {Promise} + */ + GLTFParser.prototype.loadMaterial = function ( materialIndex ) { + + var parser = this; + var json = this.json; + var extensions = this.extensions; + var materialDef = this.json.materials[ materialIndex ]; + + var materialType; + var materialParams = {}; + var materialExtensions = materialDef.extensions || {}; + + var pending = []; + + if ( materialExtensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ] ) { + + var sgExtension = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ]; + materialType = sgExtension.getMaterialType( materialDef ); + pending.push( sgExtension.extendParams( materialParams, materialDef, parser ) ); + + } else if ( materialExtensions[ EXTENSIONS.KHR_MATERIALS_UNLIT ] ) { + + var kmuExtension = extensions[ EXTENSIONS.KHR_MATERIALS_UNLIT ]; + materialType = kmuExtension.getMaterialType( materialDef ); + pending.push( kmuExtension.extendParams( materialParams, materialDef, parser ) ); + + } else { + + // Specification: + // https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#metallic-roughness-material + + materialType = THREE.MeshStandardMaterial; + + var metallicRoughness = materialDef.pbrMetallicRoughness || {}; + + materialParams.color = new THREE.Color( 1.0, 1.0, 1.0 ); + materialParams.opacity = 1.0; + + if ( Array.isArray( metallicRoughness.baseColorFactor ) ) { + + var array = metallicRoughness.baseColorFactor; + + materialParams.color.fromArray( array ); + materialParams.opacity = array[ 3 ]; + + } + + if ( metallicRoughness.baseColorTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'map', metallicRoughness.baseColorTexture.index ) ); + + } + + materialParams.metalness = metallicRoughness.metallicFactor !== undefined ? metallicRoughness.metallicFactor : 1.0; + materialParams.roughness = metallicRoughness.roughnessFactor !== undefined ? metallicRoughness.roughnessFactor : 1.0; + + if ( metallicRoughness.metallicRoughnessTexture !== undefined ) { + + var textureIndex = metallicRoughness.metallicRoughnessTexture.index; + pending.push( parser.assignTexture( materialParams, 'metalnessMap', textureIndex ) ); + pending.push( parser.assignTexture( materialParams, 'roughnessMap', textureIndex ) ); + + } + + } + + if ( materialDef.doubleSided === true ) { + + materialParams.side = THREE.DoubleSide; + + } + + var alphaMode = materialDef.alphaMode || ALPHA_MODES.OPAQUE; + + if ( alphaMode === ALPHA_MODES.BLEND ) { + + materialParams.transparent = true; + + } else { + + materialParams.transparent = false; + + if ( alphaMode === ALPHA_MODES.MASK ) { + + materialParams.alphaTest = materialDef.alphaCutoff !== undefined ? materialDef.alphaCutoff : 0.5; + + } + + } + + if ( materialDef.normalTexture !== undefined && materialType !== THREE.MeshBasicMaterial) { + + pending.push( parser.assignTexture( materialParams, 'normalMap', materialDef.normalTexture.index ) ); + + materialParams.normalScale = new THREE.Vector2( 1, 1 ); + + if ( materialDef.normalTexture.scale !== undefined ) { + + materialParams.normalScale.set( materialDef.normalTexture.scale, materialDef.normalTexture.scale ); + + } + + } + + if ( materialDef.occlusionTexture !== undefined && materialType !== THREE.MeshBasicMaterial) { + + pending.push( parser.assignTexture( materialParams, 'aoMap', materialDef.occlusionTexture.index ) ); + + if ( materialDef.occlusionTexture.strength !== undefined ) { + + materialParams.aoMapIntensity = materialDef.occlusionTexture.strength; + + } + + } + + if ( materialDef.emissiveFactor !== undefined && materialType !== THREE.MeshBasicMaterial) { + + materialParams.emissive = new THREE.Color().fromArray( materialDef.emissiveFactor ); + + } + + if ( materialDef.emissiveTexture !== undefined && materialType !== THREE.MeshBasicMaterial) { + + pending.push( parser.assignTexture( materialParams, 'emissiveMap', materialDef.emissiveTexture.index ) ); + + } + + return Promise.all( pending ).then( function () { + + var material; + + if ( materialType === THREE.ShaderMaterial ) { + + material = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ].createMaterial( materialParams ); + + } else { + + material = new materialType( materialParams ); + + } + + if ( materialDef.name !== undefined ) material.name = materialDef.name; + + // Normal map textures use OpenGL conventions: + // https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#materialnormaltexture + if ( material.normalScale ) { + + material.normalScale.y = - material.normalScale.y; + + } + + // emissiveTexture and baseColorTexture use sRGB encoding. + if ( material.map ) material.map.encoding = THREE.sRGBEncoding; + if ( material.emissiveMap ) material.emissiveMap.encoding = THREE.sRGBEncoding; + + if ( materialDef.extras ) material.userData = materialDef.extras; + + return material; + + } ); + + }; + + /** + * @param {THREE.BufferGeometry} geometry + * @param {GLTF.Primitive} primitiveDef + * @param {Array} accessors + */ + function addPrimitiveAttributes ( geometry, primitiveDef, accessors ) { + + var attributes = primitiveDef.attributes; + + for ( var gltfAttributeName in attributes ) { + + var threeAttributeName = ATTRIBUTES[ gltfAttributeName ]; + var bufferAttribute = accessors[ attributes[ gltfAttributeName ] ]; + + // Skip attributes already provided by e.g. Draco extension. + if ( !threeAttributeName ) continue; + if ( threeAttributeName in geometry.attributes ) continue; + + geometry.addAttribute( threeAttributeName, bufferAttribute ); + + } + + if ( primitiveDef.indices !== undefined && !geometry.index ) { + + geometry.setIndex( accessors[ primitiveDef.indices ] ); + + } + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#geometry + * @param {Array} primitives + * @return {Promise>} + */ + GLTFParser.prototype.loadGeometries = function ( primitives ) { + + var parser = this; + var extensions = this.extensions; + var cache = this.primitiveCache; + + return this.getDependencies( 'accessor' ).then( function ( accessors ) { + + var pending = []; + + for ( var i = 0, il = primitives.length; i < il; i ++ ) { + + var primitive = primitives[ i ]; + + // See if we've already created this geometry + var cached = getCachedGeometry( cache, primitive ); + + if ( cached ) { + + // Use the cached geometry if it exists + pending.push( cached ); + + } else if ( primitive.extensions && primitive.extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] ) { + + // Use DRACO geometry if available + var geometryPromise = extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] + .decodePrimitive( primitive, parser ) + .then( function ( geometry ) { + + addPrimitiveAttributes( geometry, primitive, accessors ); + + return geometry; + + } ); + + cache.push( { primitive: primitive, promise: geometryPromise } ); + + pending.push( geometryPromise ); + + } else { + + // Otherwise create a new geometry + var geometry = new THREE.BufferGeometry(); + + addPrimitiveAttributes( geometry, primitive, accessors ); + + var geometryPromise = Promise.resolve( geometry ); + + // Cache this geometry + cache.push( { + + primitive: primitive, + promise: geometryPromise + + } ); + + pending.push( geometryPromise ); + + } + + } + + return Promise.all( pending ); + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#meshes + * @param {number} meshIndex + * @return {Promise} + */ + GLTFParser.prototype.loadMesh = function ( meshIndex ) { + + var scope = this; + var json = this.json; + var extensions = this.extensions; + + var meshDef = this.json.meshes[ meshIndex ]; + + return this.getMultiDependencies( [ + + 'accessor', + 'material' + + ] ).then( function ( dependencies ) { + + var group = new THREE.Group(); + + var primitives = meshDef.primitives; + + return scope.loadGeometries( primitives ).then( function ( geometries ) { + + for ( var i = 0, il = primitives.length; i < il; i ++ ) { + + var primitive = primitives[ i ]; + var geometry = geometries[ i ]; + + var material = primitive.material === undefined + ? createDefaultMaterial() + : dependencies.materials[ primitive.material ]; + + if ( material.aoMap + && geometry.attributes.uv2 === undefined + && geometry.attributes.uv !== undefined ) { + + console.log( 'THREE.GLTFLoader: Duplicating UVs to support aoMap.' ); + geometry.addAttribute( 'uv2', new THREE.BufferAttribute( geometry.attributes.uv.array, 2 ) ); + + } + + // If the material will be modified later on, clone it now. + var useVertexColors = geometry.attributes.color !== undefined; + var useFlatShading = geometry.attributes.normal === undefined; + var useSkinning = meshDef.isSkinnedMesh === true; + var useMorphTargets = primitive.targets !== undefined; + + if ( useVertexColors || useFlatShading || useSkinning || useMorphTargets ) { + + if ( material.isGLTFSpecularGlossinessMaterial ) { + + var specGlossExtension = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ]; + material = specGlossExtension.cloneMaterial( material ); + + } else { + + material = material.clone(); + + } + + } + + if ( useVertexColors ) { + + material.vertexColors = THREE.VertexColors; + material.needsUpdate = true; + + } + + if ( useFlatShading ) { + + material.flatShading = true; + + } + + var mesh; + + if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLES || + primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP || + primitive.mode === WEBGL_CONSTANTS.TRIANGLE_FAN || + primitive.mode === undefined ) { + + if ( useSkinning ) { + + mesh = new THREE.SkinnedMesh( geometry, material ); + material.skinning = true; + + } else { + + mesh = new THREE.Mesh( geometry, material ); + + } + + if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP ) { + + mesh.drawMode = THREE.TriangleStripDrawMode; + + } else if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLE_FAN ) { + + mesh.drawMode = THREE.TriangleFanDrawMode; + + } + + } else if ( primitive.mode === WEBGL_CONSTANTS.LINES || + primitive.mode === WEBGL_CONSTANTS.LINE_STRIP || + primitive.mode === WEBGL_CONSTANTS.LINE_LOOP ) { + + var cacheKey = 'LineBasicMaterial:' + material.uuid; + + var lineMaterial = scope.cache.get( cacheKey ); + + if ( ! lineMaterial ) { + + lineMaterial = new THREE.LineBasicMaterial(); + THREE.Material.prototype.copy.call( lineMaterial, material ); + lineMaterial.color.copy( material.color ); + lineMaterial.lights = false; // LineBasicMaterial doesn't support lights yet + + scope.cache.add( cacheKey, lineMaterial ); + + } + + material = lineMaterial; + + if ( primitive.mode === WEBGL_CONSTANTS.LINES ) { + + mesh = new THREE.LineSegments( geometry, material ); + + } else if ( primitive.mode === WEBGL_CONSTANTS.LINE_STRIP ) { + + mesh = new THREE.Line( geometry, material ); + + } else { + + mesh = new THREE.LineLoop( geometry, material ); + + } + + } else if ( primitive.mode === WEBGL_CONSTANTS.POINTS ) { + + var cacheKey = 'PointsMaterial:' + material.uuid; + + var pointsMaterial = scope.cache.get( cacheKey ); + + if ( ! pointsMaterial ) { + + pointsMaterial = new THREE.PointsMaterial(); + THREE.Material.prototype.copy.call( pointsMaterial, material ); + pointsMaterial.color.copy( material.color ); + pointsMaterial.map = material.map; + pointsMaterial.lights = false; // PointsMaterial doesn't support lights yet + + scope.cache.add( cacheKey, pointsMaterial ); + + } + + material = pointsMaterial; + + mesh = new THREE.Points( geometry, material ); + + } else { + + throw new Error( 'THREE.GLTFLoader: Primitive mode unsupported: ' + primitive.mode ); + + } + + mesh.name = meshDef.name || ( 'mesh_' + meshIndex ); + + if ( useMorphTargets ) { + + addMorphTargets( mesh, meshDef, primitive, dependencies.accessors ); + + material.morphTargets = true; + + if ( mesh.geometry.morphAttributes.normal !== undefined ) material.morphNormals = true; + + } + + if ( meshDef.extras !== undefined ) mesh.userData = meshDef.extras; + if ( primitive.extras !== undefined ) mesh.geometry.userData = primitive.extras; + + // for Specular-Glossiness. + if ( material.isGLTFSpecularGlossinessMaterial === true ) { + + mesh.onBeforeRender = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ].refreshUniforms; + + } + + if ( primitives.length > 1 ) { + + mesh.name += '_' + i; + + group.add( mesh ); + + } else { + + return mesh; + + } + + } + + return group; + + } ); + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras + * @param {number} cameraIndex + * @return {Promise} + */ + GLTFParser.prototype.loadCamera = function ( cameraIndex ) { + + var camera; + var cameraDef = this.json.cameras[ cameraIndex ]; + var params = cameraDef[ cameraDef.type ]; + + if ( ! params ) { + + console.warn( 'THREE.GLTFLoader: Missing camera parameters.' ); + return; + + } + + if ( cameraDef.type === 'perspective' ) { + + camera = new THREE.PerspectiveCamera( THREE.Math.radToDeg( params.yfov ), params.aspectRatio || 1, params.znear || 1, params.zfar || 2e6 ); + + } else if ( cameraDef.type === 'orthographic' ) { + + camera = new THREE.OrthographicCamera( params.xmag / - 2, params.xmag / 2, params.ymag / 2, params.ymag / - 2, params.znear, params.zfar ); + + } + + if ( cameraDef.name !== undefined ) camera.name = cameraDef.name; + if ( cameraDef.extras ) camera.userData = cameraDef.extras; + + return Promise.resolve( camera ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins + * @param {number} skinIndex + * @return {Promise} + */ + GLTFParser.prototype.loadSkin = function ( skinIndex ) { + + var skinDef = this.json.skins[ skinIndex ]; + + var skinEntry = { joints: skinDef.joints }; + + if ( skinDef.inverseBindMatrices === undefined ) { + + return Promise.resolve( skinEntry ); + + } + + return this.getDependency( 'accessor', skinDef.inverseBindMatrices ).then( function ( accessor ) { + + skinEntry.inverseBindMatrices = accessor; + + return skinEntry; + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#animations + * @param {number} animationIndex + * @return {Promise} + */ + GLTFParser.prototype.loadAnimation = function ( animationIndex ) { + + var json = this.json; + + var animationDef = this.json.animations[ animationIndex ]; + + return this.getMultiDependencies( [ + + 'accessor', + 'node' + + ] ).then( function ( dependencies ) { + + var tracks = []; + + for ( var i = 0, il = animationDef.channels.length; i < il; i ++ ) { + + var channel = animationDef.channels[ i ]; + var sampler = animationDef.samplers[ channel.sampler ]; + + if ( sampler ) { + + var target = channel.target; + var name = target.node !== undefined ? target.node : target.id; // NOTE: target.id is deprecated. + var input = animationDef.parameters !== undefined ? animationDef.parameters[ sampler.input ] : sampler.input; + var output = animationDef.parameters !== undefined ? animationDef.parameters[ sampler.output ] : sampler.output; + + var inputAccessor = dependencies.accessors[ input ]; + var outputAccessor = dependencies.accessors[ output ]; + + var node = dependencies.nodes[ name ]; + + if ( node ) { + + node.updateMatrix(); + node.matrixAutoUpdate = true; + + var TypedKeyframeTrack; + + switch ( PATH_PROPERTIES[ target.path ] ) { + + case PATH_PROPERTIES.weights: + + TypedKeyframeTrack = THREE.NumberKeyframeTrack; + break; + + case PATH_PROPERTIES.rotation: + + TypedKeyframeTrack = THREE.QuaternionKeyframeTrack; + break; + + case PATH_PROPERTIES.position: + case PATH_PROPERTIES.scale: + default: + + TypedKeyframeTrack = THREE.VectorKeyframeTrack; + break; + + } + + var targetName = node.name ? node.name : node.uuid; + + var interpolation = sampler.interpolation !== undefined ? INTERPOLATION[ sampler.interpolation ] : THREE.InterpolateLinear; + + var targetNames = []; + + if ( PATH_PROPERTIES[ target.path ] === PATH_PROPERTIES.weights ) { + + // node should be THREE.Group here but + // PATH_PROPERTIES.weights(morphTargetInfluences) should be + // the property of a mesh object under node. + // So finding targets here. + + node.traverse( function ( object ) { + + if ( object.isMesh === true && object.material.morphTargets === true ) { + + targetNames.push( object.name ? object.name : object.uuid ); + + } + + } ); + + } else { + + targetNames.push( targetName ); + + } + + // KeyframeTrack.optimize() will modify given 'times' and 'values' + // buffers before creating a truncated copy to keep. Because buffers may + // be reused by other tracks, make copies here. + for ( var j = 0, jl = targetNames.length; j < jl; j ++ ) { + + var track = new TypedKeyframeTrack( + targetNames[ j ] + '.' + PATH_PROPERTIES[ target.path ], + THREE.AnimationUtils.arraySlice( inputAccessor.array, 0 ), + THREE.AnimationUtils.arraySlice( outputAccessor.array, 0 ), + interpolation + ); + + // Here is the trick to enable custom interpolation. + // Overrides .createInterpolant in a factory method which creates custom interpolation. + if ( sampler.interpolation === 'CUBICSPLINE' ) { + + track.createInterpolant = function InterpolantFactoryMethodGLTFCubicSpline( result ) { + + // A CUBICSPLINE keyframe in glTF has three output values for each input value, + // representing inTangent, splineVertex, and outTangent. As a result, track.getValueSize() + // must be divided by three to get the interpolant's sampleSize argument. + + return new GLTFCubicSplineInterpolant( this.times, this.values, this.getValueSize() / 3, result ); + + }; + + // Workaround, provide an alternate way to know if the interpolant type is cubis spline to track. + // track.getInterpolation() doesn't return valid value for custom interpolant. + track.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = true; + + } + + tracks.push( track ); + + } + + } + + } + + } + + var name = animationDef.name !== undefined ? animationDef.name : 'animation_' + animationIndex; + + return new THREE.AnimationClip( name, undefined, tracks ); + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#nodes-and-hierarchy + * @param {number} nodeIndex + * @return {Promise} + */ + GLTFParser.prototype.loadNode = function ( nodeIndex ) { + + var json = this.json; + var extensions = this.extensions; + + var meshReferences = this.json.meshReferences; + var meshUses = this.json.meshUses; + + var nodeDef = this.json.nodes[ nodeIndex ]; + + return this.getMultiDependencies( [ + + 'mesh', + 'skin', + 'camera', + 'light' + + ] ).then( function ( dependencies ) { + + var node; + + if ( nodeDef.isBone === true ) { + + node = new THREE.Bone(); + + } else if ( nodeDef.mesh !== undefined ) { + + var mesh = dependencies.meshes[ nodeDef.mesh ]; + + node = mesh.clone(); + + // for Specular-Glossiness + if ( mesh.isGroup === true ) { + + for ( var i = 0, il = mesh.children.length; i < il; i ++ ) { + + var child = mesh.children[ i ]; + + if ( child.material && child.material.isGLTFSpecularGlossinessMaterial === true ) { + + node.children[ i ].onBeforeRender = child.onBeforeRender; + + } + + } + + } else { + + if ( mesh.material && mesh.material.isGLTFSpecularGlossinessMaterial === true ) { + + node.onBeforeRender = mesh.onBeforeRender; + + } + + } + + if ( meshReferences[ nodeDef.mesh ] > 1 ) { + + node.name += '_instance_' + meshUses[ nodeDef.mesh ] ++; + + } + + } else if ( nodeDef.camera !== undefined ) { + + node = dependencies.cameras[ nodeDef.camera ]; + + } else if ( nodeDef.extensions + && nodeDef.extensions[ EXTENSIONS.KHR_LIGHTS ] + && nodeDef.extensions[ EXTENSIONS.KHR_LIGHTS ].light !== undefined ) { + + var lights = extensions[ EXTENSIONS.KHR_LIGHTS ].lights; + node = lights[ nodeDef.extensions[ EXTENSIONS.KHR_LIGHTS ].light ]; + + } else { + + node = new THREE.Object3D(); + + } + + if ( nodeDef.name !== undefined ) { + + node.name = THREE.PropertyBinding.sanitizeNodeName( nodeDef.name ); + + } + + if ( nodeDef.extras ) node.userData = nodeDef.extras; + + if ( nodeDef.matrix !== undefined ) { + + var matrix = new THREE.Matrix4(); + matrix.fromArray( nodeDef.matrix ); + node.applyMatrix( matrix ); + + } else { + + if ( nodeDef.translation !== undefined ) { + + node.position.fromArray( nodeDef.translation ); + + } + + if ( nodeDef.rotation !== undefined ) { + + node.quaternion.fromArray( nodeDef.rotation ); + + } + + if ( nodeDef.scale !== undefined ) { + + node.scale.fromArray( nodeDef.scale ); + + } + + } + + return node; + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#scenes + * @param {number} sceneIndex + * @return {Promise} + */ + GLTFParser.prototype.loadScene = function () { + + // scene node hierachy builder + + function buildNodeHierachy( nodeId, parentObject, json, allNodes, skins ) { + + var node = allNodes[ nodeId ]; + var nodeDef = json.nodes[ nodeId ]; + + // build skeleton here as well + + if ( nodeDef.skin !== undefined ) { + + var meshes = node.isGroup === true ? node.children : [ node ]; + + for ( var i = 0, il = meshes.length; i < il; i ++ ) { + + var mesh = meshes[ i ]; + var skinEntry = skins[ nodeDef.skin ]; + + var bones = []; + var boneInverses = []; + + for ( var j = 0, jl = skinEntry.joints.length; j < jl; j ++ ) { + + var jointId = skinEntry.joints[ j ]; + var jointNode = allNodes[ jointId ]; + + if ( jointNode ) { + + bones.push( jointNode ); + + var mat = new THREE.Matrix4(); + + if ( skinEntry.inverseBindMatrices !== undefined ) { + + mat.fromArray( skinEntry.inverseBindMatrices.array, j * 16 ); + + } + + boneInverses.push( mat ); + + } else { + + console.warn( 'THREE.GLTFLoader: Joint "%s" could not be found.', jointId ); + + } + + } + + mesh.bind( new THREE.Skeleton( bones, boneInverses ), mesh.matrixWorld ); + + } + + } + + // build node hierachy + + parentObject.add( node ); + + if ( nodeDef.children ) { + + var children = nodeDef.children; + + for ( var i = 0, il = children.length; i < il; i ++ ) { + + var child = children[ i ]; + buildNodeHierachy( child, node, json, allNodes, skins ); + + } + + } + + } + + return function loadScene( sceneIndex ) { + + var json = this.json; + var extensions = this.extensions; + var sceneDef = this.json.scenes[ sceneIndex ]; + + return this.getMultiDependencies( [ + + 'node', + 'skin' + + ] ).then( function ( dependencies ) { + + var scene = new THREE.Scene(); + if ( sceneDef.name !== undefined ) scene.name = sceneDef.name; + + if ( sceneDef.extras ) scene.userData = sceneDef.extras; + + var nodeIds = sceneDef.nodes || []; + + for ( var i = 0, il = nodeIds.length; i < il; i ++ ) { + + buildNodeHierachy( nodeIds[ i ], scene, json, dependencies.nodes, dependencies.skins ); + + } + + // Ambient lighting, if present, is always attached to the scene root. + if ( sceneDef.extensions + && sceneDef.extensions[ EXTENSIONS.KHR_LIGHTS ] + && sceneDef.extensions[ EXTENSIONS.KHR_LIGHTS ].light !== undefined ) { + + var lights = extensions[ EXTENSIONS.KHR_LIGHTS ].lights; + scene.add( lights[ sceneDef.extensions[ EXTENSIONS.KHR_LIGHTS ].light ] ); + + } + + return scene; + + } ); + + }; + + }(); + + return GLTFLoader; + +} )(); \ No newline at end of file diff --git a/robothub-oak/Camera App/frontend/OrbitControls.js b/robothub-oak/Camera App/frontend/OrbitControls.js new file mode 100644 index 0000000..f9b5720 --- /dev/null +++ b/robothub-oak/Camera App/frontend/OrbitControls.js @@ -0,0 +1,1016 @@ +/** + * @author qiao / https://github.com/qiao + * @author mrdoob / http://mrdoob.com + * @author alteredq / http://alteredqualia.com/ + * @author WestLangley / http://github.com/WestLangley + * @author erich666 / http://erichaines.com + */ + +// This set of controls performs orbiting, dollying (zooming), and panning. +// Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default). +// +// Orbit - left mouse / touch: one finger move +// Zoom - middle mouse, or mousewheel / touch: two finger spread or squish +// Pan - right mouse, or arrow keys / touch: three finter swipe + +THREE.OrbitControls = function ( object, domElement ) { + + this.object = object; + + this.domElement = ( domElement !== undefined ) ? domElement : document; + + // Set to false to disable this control + this.enabled = true; + + // "target" sets the location of focus, where the object orbits around + this.target = new THREE.Vector3(); + + // How far you can dolly in and out ( PerspectiveCamera only ) + this.minDistance = 0; + this.maxDistance = Infinity; + + // How far you can zoom in and out ( OrthographicCamera only ) + this.minZoom = 0; + this.maxZoom = Infinity; + + // How far you can orbit vertically, upper and lower limits. + // Range is 0 to Math.PI radians. + this.minPolarAngle = 0; // radians + this.maxPolarAngle = Math.PI; // radians + + // How far you can orbit horizontally, upper and lower limits. + // If set, must be a sub-interval of the interval [ - Math.PI, Math.PI ]. + this.minAzimuthAngle = - Infinity; // radians + this.maxAzimuthAngle = Infinity; // radians + + // Set to true to enable damping (inertia) + // If damping is enabled, you must call controls.update() in your animation loop + this.enableDamping = false; + this.dampingFactor = 0.25; + + // This option actually enables dollying in and out; left as "zoom" for backwards compatibility. + // Set to false to disable zooming + this.enableZoom = true; + this.zoomSpeed = 1.0; + + // Set to false to disable rotating + this.enableRotate = true; + this.rotateSpeed = 1.0; + + // Set to false to disable panning + this.enablePan = true; + this.keyPanSpeed = 7.0; // pixels moved per arrow key push + + // Set to true to automatically rotate around the target + // If auto-rotate is enabled, you must call controls.update() in your animation loop + this.autoRotate = false; + this.autoRotateSpeed = 2.0; // 30 seconds per round when fps is 60 + + // Set to false to disable use of the keys + this.enableKeys = true; + + // The four arrow keys + this.keys = { LEFT: 37, UP: 38, RIGHT: 39, BOTTOM: 40 }; + + // Mouse buttons + this.mouseButtons = { ORBIT: THREE.MOUSE.LEFT, ZOOM: THREE.MOUSE.MIDDLE, PAN: THREE.MOUSE.RIGHT }; + + // for reset + this.target0 = this.target.clone(); + this.position0 = this.object.position.clone(); + this.zoom0 = this.object.zoom; + + // + // public methods + // + + this.getPolarAngle = function () { + + return spherical.phi; + + }; + + this.getAzimuthalAngle = function () { + + return spherical.theta; + + }; + + this.reset = function () { + + scope.target.copy( scope.target0 ); + scope.object.position.copy( scope.position0 ); + scope.object.zoom = scope.zoom0; + + scope.object.updateProjectionMatrix(); + scope.dispatchEvent( changeEvent ); + + scope.update(); + + state = STATE.NONE; + + }; + + // this method is exposed, but perhaps it would be better if we can make it private... + this.update = function() { + + var offset = new THREE.Vector3(); + + // so camera.up is the orbit axis + var quat = new THREE.Quaternion().setFromUnitVectors( object.up, new THREE.Vector3( 0, 1, 0 ) ); + var quatInverse = quat.clone().inverse(); + + var lastPosition = new THREE.Vector3(); + var lastQuaternion = new THREE.Quaternion(); + + return function update () { + + var position = scope.object.position; + + offset.copy( position ).sub( scope.target ); + + // rotate offset to "y-axis-is-up" space + offset.applyQuaternion( quat ); + + // angle from z-axis around y-axis + spherical.setFromVector3( offset ); + + if ( scope.autoRotate && state === STATE.NONE ) { + + rotateLeft( getAutoRotationAngle() ); + + } + + spherical.theta += sphericalDelta.theta; + spherical.phi += sphericalDelta.phi; + + // restrict theta to be between desired limits + spherical.theta = Math.max( scope.minAzimuthAngle, Math.min( scope.maxAzimuthAngle, spherical.theta ) ); + + // restrict phi to be between desired limits + spherical.phi = Math.max( scope.minPolarAngle, Math.min( scope.maxPolarAngle, spherical.phi ) ); + + spherical.makeSafe(); + + + spherical.radius *= scale; + + // restrict radius to be between desired limits + spherical.radius = Math.max( scope.minDistance, Math.min( scope.maxDistance, spherical.radius ) ); + + // move target to panned location + scope.target.add( panOffset ); + + offset.setFromSpherical( spherical ); + + // rotate offset back to "camera-up-vector-is-up" space + offset.applyQuaternion( quatInverse ); + + position.copy( scope.target ).add( offset ); + + scope.object.lookAt( scope.target ); + + if ( scope.enableDamping === true ) { + + sphericalDelta.theta *= ( 1 - scope.dampingFactor ); + sphericalDelta.phi *= ( 1 - scope.dampingFactor ); + + } else { + + sphericalDelta.set( 0, 0, 0 ); + + } + + scale = 1; + panOffset.set( 0, 0, 0 ); + + // update condition is: + // min(camera displacement, camera rotation in radians)^2 > EPS + // using small-angle approximation cos(x/2) = 1 - x^2 / 8 + + if ( zoomChanged || + lastPosition.distanceToSquared( scope.object.position ) > EPS || + 8 * ( 1 - lastQuaternion.dot( scope.object.quaternion ) ) > EPS ) { + + scope.dispatchEvent( changeEvent ); + + lastPosition.copy( scope.object.position ); + lastQuaternion.copy( scope.object.quaternion ); + zoomChanged = false; + + return true; + + } + + return false; + + }; + + }(); + + this.dispose = function() { + + scope.domElement.removeEventListener( 'contextmenu', onContextMenu, false ); + scope.domElement.removeEventListener( 'mousedown', onMouseDown, false ); + scope.domElement.removeEventListener( 'wheel', onMouseWheel, false ); + + scope.domElement.removeEventListener( 'touchstart', onTouchStart, false ); + scope.domElement.removeEventListener( 'touchend', onTouchEnd, false ); + scope.domElement.removeEventListener( 'touchmove', onTouchMove, false ); + + document.removeEventListener( 'mousemove', onMouseMove, false ); + document.removeEventListener( 'mouseup', onMouseUp, false ); + + window.removeEventListener( 'keydown', onKeyDown, false ); + + //scope.dispatchEvent( { type: 'dispose' } ); // should this be added here? + + }; + + // + // internals + // + + var scope = this; + + var changeEvent = { type: 'change' }; + var startEvent = { type: 'start' }; + var endEvent = { type: 'end' }; + + var STATE = { NONE : - 1, ROTATE : 0, DOLLY : 1, PAN : 2, TOUCH_ROTATE : 3, TOUCH_DOLLY : 4, TOUCH_PAN : 5 }; + + var state = STATE.NONE; + + var EPS = 0.000001; + + // current position in spherical coordinates + var spherical = new THREE.Spherical(); + var sphericalDelta = new THREE.Spherical(); + + var scale = 1; + var panOffset = new THREE.Vector3(); + var zoomChanged = false; + + var rotateStart = new THREE.Vector2(); + var rotateEnd = new THREE.Vector2(); + var rotateDelta = new THREE.Vector2(); + + var panStart = new THREE.Vector2(); + var panEnd = new THREE.Vector2(); + var panDelta = new THREE.Vector2(); + + var dollyStart = new THREE.Vector2(); + var dollyEnd = new THREE.Vector2(); + var dollyDelta = new THREE.Vector2(); + + function getAutoRotationAngle() { + + return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed; + + } + + function getZoomScale() { + + return Math.pow( 0.95, scope.zoomSpeed ); + + } + + function rotateLeft( angle ) { + + sphericalDelta.theta -= angle; + + } + + function rotateUp( angle ) { + + sphericalDelta.phi -= angle; + + } + + var panLeft = function() { + + var v = new THREE.Vector3(); + + return function panLeft( distance, objectMatrix ) { + + v.setFromMatrixColumn( objectMatrix, 0 ); // get X column of objectMatrix + v.multiplyScalar( - distance ); + + panOffset.add( v ); + + }; + + }(); + + var panUp = function() { + + var v = new THREE.Vector3(); + + return function panUp( distance, objectMatrix ) { + + v.setFromMatrixColumn( objectMatrix, 1 ); // get Y column of objectMatrix + v.multiplyScalar( distance ); + + panOffset.add( v ); + + }; + + }(); + + // deltaX and deltaY are in pixels; right and down are positive + var pan = function() { + + var offset = new THREE.Vector3(); + + return function pan ( deltaX, deltaY ) { + + var element = scope.domElement === document ? scope.domElement.body : scope.domElement; + + if ( scope.object instanceof THREE.PerspectiveCamera ) { + + // perspective + var position = scope.object.position; + offset.copy( position ).sub( scope.target ); + var targetDistance = offset.length(); + + // half of the fov is center to top of screen + targetDistance *= Math.tan( ( scope.object.fov / 2 ) * Math.PI / 180.0 ); + + // we actually don't use screenWidth, since perspective camera is fixed to screen height + panLeft( 2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix ); + panUp( 2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix ); + + } else if ( scope.object instanceof THREE.OrthographicCamera ) { + + // orthographic + panLeft( deltaX * ( scope.object.right - scope.object.left ) / scope.object.zoom / element.clientWidth, scope.object.matrix ); + panUp( deltaY * ( scope.object.top - scope.object.bottom ) / scope.object.zoom / element.clientHeight, scope.object.matrix ); + + } else { + + // camera neither orthographic nor perspective + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' ); + scope.enablePan = false; + + } + + }; + + }(); + + function dollyIn( dollyScale ) { + + if ( scope.object instanceof THREE.PerspectiveCamera ) { + + scale /= dollyScale; + + } else if ( scope.object instanceof THREE.OrthographicCamera ) { + + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom * dollyScale ) ); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); + scope.enableZoom = false; + + } + + } + + function dollyOut( dollyScale ) { + + if ( scope.object instanceof THREE.PerspectiveCamera ) { + + scale *= dollyScale; + + } else if ( scope.object instanceof THREE.OrthographicCamera ) { + + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom / dollyScale ) ); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); + scope.enableZoom = false; + + } + + } + + // + // event callbacks - update the object state + // + + function handleMouseDownRotate( event ) { + + //console.log( 'handleMouseDownRotate' ); + + rotateStart.set( event.clientX, event.clientY ); + + } + + function handleMouseDownDolly( event ) { + + //console.log( 'handleMouseDownDolly' ); + + dollyStart.set( event.clientX, event.clientY ); + + } + + function handleMouseDownPan( event ) { + + //console.log( 'handleMouseDownPan' ); + + panStart.set( event.clientX, event.clientY ); + + } + + function handleMouseMoveRotate( event ) { + + //console.log( 'handleMouseMoveRotate' ); + + rotateEnd.set( event.clientX, event.clientY ); + rotateDelta.subVectors( rotateEnd, rotateStart ); + + var element = scope.domElement === document ? scope.domElement.body : scope.domElement; + + // rotating across whole screen goes 360 degrees around + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientWidth * scope.rotateSpeed ); + + // rotating up and down along whole screen attempts to go 360, but limited to 180 + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight * scope.rotateSpeed ); + + rotateStart.copy( rotateEnd ); + + scope.update(); + + } + + function handleMouseMoveDolly( event ) { + + //console.log( 'handleMouseMoveDolly' ); + + dollyEnd.set( event.clientX, event.clientY ); + + dollyDelta.subVectors( dollyEnd, dollyStart ); + + if ( dollyDelta.y > 0 ) { + + dollyIn( getZoomScale() ); + + } else if ( dollyDelta.y < 0 ) { + + dollyOut( getZoomScale() ); + + } + + dollyStart.copy( dollyEnd ); + + scope.update(); + + } + + function handleMouseMovePan( event ) { + + //console.log( 'handleMouseMovePan' ); + + panEnd.set( event.clientX, event.clientY ); + + panDelta.subVectors( panEnd, panStart ); + + pan( panDelta.x, panDelta.y ); + + panStart.copy( panEnd ); + + scope.update(); + + } + + function handleMouseUp( event ) { + + //console.log( 'handleMouseUp' ); + + } + + function handleMouseWheel( event ) { + + //console.log( 'handleMouseWheel' ); + + if ( event.deltaY < 0 ) { + + dollyOut( getZoomScale() ); + + } else if ( event.deltaY > 0 ) { + + dollyIn( getZoomScale() ); + + } + + scope.update(); + + } + + function handleKeyDown( event ) { + + //console.log( 'handleKeyDown' ); + + switch ( event.keyCode ) { + + case scope.keys.UP: + pan( 0, scope.keyPanSpeed ); + scope.update(); + break; + + case scope.keys.BOTTOM: + pan( 0, - scope.keyPanSpeed ); + scope.update(); + break; + + case scope.keys.LEFT: + pan( scope.keyPanSpeed, 0 ); + scope.update(); + break; + + case scope.keys.RIGHT: + pan( - scope.keyPanSpeed, 0 ); + scope.update(); + break; + + } + + } + + function handleTouchStartRotate( event ) { + + //console.log( 'handleTouchStartRotate' ); + + rotateStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + + } + + function handleTouchStartDolly( event ) { + + //console.log( 'handleTouchStartDolly' ); + + var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; + var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; + + var distance = Math.sqrt( dx * dx + dy * dy ); + + dollyStart.set( 0, distance ); + + } + + function handleTouchStartPan( event ) { + + //console.log( 'handleTouchStartPan' ); + + panStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + + } + + function handleTouchMoveRotate( event ) { + + //console.log( 'handleTouchMoveRotate' ); + + rotateEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + rotateDelta.subVectors( rotateEnd, rotateStart ); + + var element = scope.domElement === document ? scope.domElement.body : scope.domElement; + + // rotating across whole screen goes 360 degrees around + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientWidth * scope.rotateSpeed ); + + // rotating up and down along whole screen attempts to go 360, but limited to 180 + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight * scope.rotateSpeed ); + + rotateStart.copy( rotateEnd ); + + scope.update(); + + } + + function handleTouchMoveDolly( event ) { + + //console.log( 'handleTouchMoveDolly' ); + + var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; + var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; + + var distance = Math.sqrt( dx * dx + dy * dy ); + + dollyEnd.set( 0, distance ); + + dollyDelta.subVectors( dollyEnd, dollyStart ); + + if ( dollyDelta.y > 0 ) { + + dollyOut( getZoomScale() ); + + } else if ( dollyDelta.y < 0 ) { + + dollyIn( getZoomScale() ); + + } + + dollyStart.copy( dollyEnd ); + + scope.update(); + + } + + function handleTouchMovePan( event ) { + + //console.log( 'handleTouchMovePan' ); + + panEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + + panDelta.subVectors( panEnd, panStart ); + + pan( panDelta.x, panDelta.y ); + + panStart.copy( panEnd ); + + scope.update(); + + } + + function handleTouchEnd( event ) { + + //console.log( 'handleTouchEnd' ); + + } + + // + // event handlers - FSM: listen for events and reset state + // + + function onMouseDown( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + + if ( event.button === scope.mouseButtons.ORBIT ) { + + if ( scope.enableRotate === false ) return; + + handleMouseDownRotate( event ); + + state = STATE.ROTATE; + + } else if ( event.button === scope.mouseButtons.ZOOM ) { + + if ( scope.enableZoom === false ) return; + + handleMouseDownDolly( event ); + + state = STATE.DOLLY; + + } else if ( event.button === scope.mouseButtons.PAN ) { + + if ( scope.enablePan === false ) return; + + handleMouseDownPan( event ); + + state = STATE.PAN; + + } + + if ( state !== STATE.NONE ) { + + document.addEventListener( 'mousemove', onMouseMove, false ); + document.addEventListener( 'mouseup', onMouseUp, false ); + + scope.dispatchEvent( startEvent ); + + } + + } + + function onMouseMove( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + + if ( state === STATE.ROTATE ) { + + if ( scope.enableRotate === false ) return; + + handleMouseMoveRotate( event ); + + } else if ( state === STATE.DOLLY ) { + + if ( scope.enableZoom === false ) return; + + handleMouseMoveDolly( event ); + + } else if ( state === STATE.PAN ) { + + if ( scope.enablePan === false ) return; + + handleMouseMovePan( event ); + + } + + } + + function onMouseUp( event ) { + + if ( scope.enabled === false ) return; + + handleMouseUp( event ); + + document.removeEventListener( 'mousemove', onMouseMove, false ); + document.removeEventListener( 'mouseup', onMouseUp, false ); + + scope.dispatchEvent( endEvent ); + + state = STATE.NONE; + + } + + function onMouseWheel( event ) { + + if ( scope.enabled === false || scope.enableZoom === false || ( state !== STATE.NONE && state !== STATE.ROTATE ) ) return; + + event.preventDefault(); + event.stopPropagation(); + + handleMouseWheel( event ); + + scope.dispatchEvent( startEvent ); // not sure why these are here... + scope.dispatchEvent( endEvent ); + + } + + function onKeyDown( event ) { + + if ( scope.enabled === false || scope.enableKeys === false || scope.enablePan === false ) return; + + handleKeyDown( event ); + + } + + function onTouchStart( event ) { + + if ( scope.enabled === false ) return; + + switch ( event.touches.length ) { + + case 1: // one-fingered touch: rotate + + if ( scope.enableRotate === false ) return; + + handleTouchStartRotate( event ); + + state = STATE.TOUCH_ROTATE; + + break; + + case 2: // two-fingered touch: dolly + + if ( scope.enableZoom === false ) return; + + handleTouchStartDolly( event ); + + state = STATE.TOUCH_DOLLY; + + break; + + case 3: // three-fingered touch: pan + + if ( scope.enablePan === false ) return; + + handleTouchStartPan( event ); + + state = STATE.TOUCH_PAN; + + break; + + default: + + state = STATE.NONE; + + } + + if ( state !== STATE.NONE ) { + + scope.dispatchEvent( startEvent ); + + } + + } + + function onTouchMove( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + event.stopPropagation(); + + switch ( event.touches.length ) { + + case 1: // one-fingered touch: rotate + + if ( scope.enableRotate === false ) return; + if ( state !== STATE.TOUCH_ROTATE ) return; // is this needed?... + + handleTouchMoveRotate( event ); + + break; + + case 2: // two-fingered touch: dolly + + if ( scope.enableZoom === false ) return; + if ( state !== STATE.TOUCH_DOLLY ) return; // is this needed?... + + handleTouchMoveDolly( event ); + + break; + + case 3: // three-fingered touch: pan + + if ( scope.enablePan === false ) return; + if ( state !== STATE.TOUCH_PAN ) return; // is this needed?... + + handleTouchMovePan( event ); + + break; + + default: + + state = STATE.NONE; + + } + + } + + function onTouchEnd( event ) { + + if ( scope.enabled === false ) return; + + handleTouchEnd( event ); + + scope.dispatchEvent( endEvent ); + + state = STATE.NONE; + + } + + function onContextMenu( event ) { + + event.preventDefault(); + + } + + // + + scope.domElement.addEventListener( 'contextmenu', onContextMenu, false ); + + scope.domElement.addEventListener( 'mousedown', onMouseDown, false ); + scope.domElement.addEventListener( 'wheel', onMouseWheel, false ); + + scope.domElement.addEventListener( 'touchstart', onTouchStart, false ); + scope.domElement.addEventListener( 'touchend', onTouchEnd, false ); + scope.domElement.addEventListener( 'touchmove', onTouchMove, false ); + + window.addEventListener( 'keydown', onKeyDown, false ); + + // force an update at start + + this.update(); + +}; + +THREE.OrbitControls.prototype = Object.create( THREE.EventDispatcher.prototype ); +THREE.OrbitControls.prototype.constructor = THREE.OrbitControls; + +Object.defineProperties( THREE.OrbitControls.prototype, { + + center: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .center has been renamed to .target' ); + return this.target; + + } + + }, + + // backward compatibility + + noZoom: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.' ); + return ! this.enableZoom; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.' ); + this.enableZoom = ! value; + + } + + }, + + noRotate: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.' ); + return ! this.enableRotate; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.' ); + this.enableRotate = ! value; + + } + + }, + + noPan: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.' ); + return ! this.enablePan; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.' ); + this.enablePan = ! value; + + } + + }, + + noKeys: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.' ); + return ! this.enableKeys; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.' ); + this.enableKeys = ! value; + + } + + }, + + staticMoving : { + + get: function () { + + console.warn( 'THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.' ); + return ! this.enableDamping; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.' ); + this.enableDamping = ! value; + + } + + }, + + dynamicDampingFactor : { + + get: function () { + + console.warn( 'THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.' ); + return this.dampingFactor; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.' ); + this.dampingFactor = value; + + } + + } + +} ); \ No newline at end of file diff --git a/robothub-oak/Camera App/frontend/imu.js b/robothub-oak/Camera App/frontend/imu.js new file mode 100644 index 0000000..e69de29 diff --git a/robothub-oak/Camera App/frontend/main.js b/robothub-oak/Camera App/frontend/main.js index 866e7a3..3ab0a13 100644 --- a/robothub-oak/Camera App/frontend/main.js +++ b/robothub-oak/Camera App/frontend/main.js @@ -214,6 +214,7 @@ const updateOverlay = (stream, overlay, event) => { if (overlay == 'Detections') { updateStreamSource(stream, event.value ? 'nn' : 'color') refreshVideo(getControl(`${stream}-video`)) + updateStreamState(getControl(`${stream}-video`), 'Loading stream') } } @@ -223,7 +224,7 @@ robothubApi.onConnectedWithApp(() => { // updateStreamKey(getControl('camera').selected.mxid) updateStreamStates('Connected') }) - setupHoverDepth() + //setupHoverDepth() }) let firstTimeCounter = 0 diff --git a/robothub-oak/Camera App/frontend/oak-d-pro.glb b/robothub-oak/Camera App/frontend/oak-d-pro.glb new file mode 100644 index 0000000000000000000000000000000000000000..e39fc36cb4a950542aa637536cbde698a56ee159 GIT binary patch literal 3740276 zcmd3v3!GNd_y6}fr|71lkgn5|gk#gK^y98bzi{a2q2mUQA2Tlfxb#zpj~g?3%%y1; zQjxThQA0-$89FZQlw*6QP0Z|=-!VHoy+iuMq2n$cF=jLgXLZa-zp_L6&`INmj>e@+ z&%AW#ko4ouO+U43?+Y#-IDY835d%kEdcojPLkEr)(2g0InPk_v zG2;i0*M^;&(J?*PizP!u%8HG6o8CeCndD@_Xqo{H!laY~` zk(HUBlaY~?m!F@Nk(EWof?w6fCR(lAHE`6};R8>j)==Y0x}VgeGnwhxe)1^tKm9m% z(74lvjvqK`)QG{o$4t0z_~@Z@nL1_Az)OdoIA+wCaa{%u)?IUMW(Ry_bj-}p%FfCw z%+1QmEX<&mP#eZ^Nfyqy^2!cZqz@T0VbG|dXN(wvUKu}b!cf^)sKl?I=vRqOOQ`Ia zRhU6vnVFe6g@ySAc{v^S3MEY6E1j8pXDW zMQOVIMy{Y<$Ia`LNoPF_Xv zT;Ut-4H|j_2Va!ddBh|dXeL2IUdSxW%gD>iDJ;m(&C4N+;F&Pt09w&-P?@JOsOOLN}bvU4yGnvI%XU)Gv%iV!-fqV*LTFw%d|HJkGXj4n9)N= zkMDE&Sju*}G%{%fjF~W+W|+bZ-Ka@aE+@ZZPF7xSK~{ElUQSkSenE%KjE+dS*_0>p zGAOA~xy)Y};91#u8JW4+nS}*e zIdCD(dU<)-^nY$aVRmjs7iPePR2U67GY$rK*U)E>;D9?7SU z!XT^41DFk}i~%ygs`3;f|12*&n3YLBuG)h-;`}{G6IWgV$#_mI=t${-LMSUUFFT_k zw~(Bc@ee;_=5#D9D9p*p&d)C>EX>RofmqNnC!ZpWT$Al~1UW6MV{SHbFBK@vE6mTz zr)xPKb2Bq?b14&LW@Hp(SK~&^8&$ZG+fbD!Y5f0Fg?6tVjhUH+IT_^Gs(nel^-m>x zhcqpYGO5QsS7vm~%FdxoO;JcQO>TCF+>V(AG!N2Xq;}_aARpuvWYgq9!73AmVKvT_UlIjE_7 z_hv?!DRq_{bouz9-G`38a6BzzGb!7VmAKS%*f6~m*As?YJczi~us4(aqX;b%DHdb} zw7Sizx)NH#>{BEsBd4H>N+?C|TO^xi-n=S`P*;-Uq+L0b%xD(mocxcLWM=13exd|W zp%AU^tF)}LLYdhG1-VuFASXXR54lEGl|{=Qx{0X5LTVGmX2nw36tOe~nU>1Qp@dyk zU9_hDM^%)9Xq|%1sa9=YbYH7~4hUi{W6os0eW ztJR&f%o97Zii2?bhWT3lqeFWaoASUZC+M=L&u>+nDqg$e7_IYZ`~2cm@wSy&ZX16( zr#J}D{W4w4cOCm_%#_y-X{pQ3-g8zg2>0H0xR&oQy>r}@uiDZ?myJ(*tjv$OUmhRa zq&y6--O*0hb>7<9@gUsr`-2j;`7yV*?WwUu+k^7jAqQyvuAj}A$3>k-k1h|w90Lz# z?Tm+E9{cFxInGab_Kfl%%wz4~SNfL!PuUwU<4<z11`$0W)IVU9P~HaFg?;-9wF((#ELV#;H??-xg&M{Jw&!iRh4vZ&XT*Y2nx#(4Fd z_UVu5r)3puAOF@|X0%JJ{bGwk2Oqtt@vZl;^ z2Rnl>#|dK6l-bW13&z~AcNG1Fc#DVNU4Io8LysEp;qj^B*~@Ed+c1tySv`AVgyS#> zr#(=r>(XN(0Qdi(t!{6Vo7Tm`@b>Y2wVr+&#M(5zz##s${rVR(F2c_MC2IqLjZm+fjTiv;1XFMeIiBe$4x*Ec67>hj}W-(+c@ zd_?ybLAd$q$;HJO}Sv+0lF-5uPHy? zdOuwjxiko;-SeStBXX1}Pd%cMt_$l8Ki;(B1TBO6+%Vk#`%YR9?#+X6L9?1#UaxHe zFt;5!)|7YEKP=$~Q|3NGeh$MNpUB&$TrjVtw%?66Gv?Sv&NpSwC&>9>xL)fv+J1~R zQ|9r7xxkcPXxvWMi?L?PJYFzorHXkjz&vHjJT|e{5rhkx9iiLqj<4#O`vq}g%IsT= zks!=-EAGd`Fpp*QQ4r>Fd2N8Uhhg;fc^9@T=6?S-89s-8_J4H@zd?q5SRKP}kYOJt%jj#A<$kY>G2U^V z$9^)*^E=9hWwx2;dg!c**;l+KgnTm0eT4mdKjwbt^(yKL${e4({zutl7<-IdHVk8L zlkN9o?3Zd8?-_>)W1klC{LG~~#(pwn`1y+oV}Bm<{5&Nr^PWHS1ZB3L_r_5+D6_A4 ze;Z}@W$p{!$A(N$=Kke9ZIrEwIj(q58}i|~-I~Q+TNGo>faf44jOQJY$6Cve@q7U? zSO@ws_Q@fGwQdl`-Z

IZ<_t{cx7?W9*0TwV`sx{wie9mLQBhQpm$UK^XhhkazpS zjM@KKj|E}22l7Ff{f2dyAF~g!zA|O*Q|J%E94BsFZv0fm++SGh24Rj>$OmEUrE^~g zVeIX5Uk73AnL{427lhdc^luPmooKHqW4{iz@xHVPr_o+0#xn@Wqm8D_b@4MG=&6daU&=B;nC(IQ2VwRV`Z^3_j~#X*U->cjsg6UhulHq+ zAJ`v+*(d17AdEc(?z>>zQpi`&*el@v3c|Q=WqCiwz71qB-u)Q&>?{+6v6lsTjI|() z`+AlS!r0$~yu1GpgpUyN)ic|S_zA*nGvtFX_XXlA2xD&n?M2+0GRFz(3c?(>Ze4CX zSH&C;7~?^hV+`^^7<&R}JMRxv$Jjq%8B@md9hBu~J=HOuRY8WITbVGPuR)%lwV5!U zCqkZ|2`0n*ToPr&GPi}F$wFsU%zoo%){qa%+(-Sq=e8&tlsT60{3}(=F~-l-U{6rS zzBji$RgAq~_DK-N^A5=KvyWt$pC6%YRg7m7kl|-)Cd~ff=LIO646_aVtOR zex0YMRn6SUwU_KH!|$kE1)VFFJeA2PJK3{Amx_0cT{9e<}vHvbVPhUS#DcC{(m1=utG=D<-dh^X=V{1Hqg;?r& z^4Z%G{*k_t^-BGHn!A3v=8a74C$7t_*R5OD<^5j&g8OAPwOiKP@5!?&wZYZtw#84r zi)YU#n=*?o@woo$nPt~Ee?r@bwo5%OYja|zVnzyJQbjN(Bv@`H?3Sr@o6 zAIj?syd1KT#?-xnU-9zN$rS&7I;G4wFL!-HV`rt8yN)B!e&=M0r3n@_@9#Prtk_`Ys~t z9qHv3n{>+YD9egCiAX&n1|oiCT|M|LjR>Ddq)xI&w+r#J+~XqR*F1lArkFfy%V~*R zA#I!bpQ0SjKT_t1HIGy}*Gu{FfB#L@(0}CDh^2I&wW9hbG zjs3T19QoCIjgaxP$88HfOJkRNechd6O!{QQ534F|yWe%$M%k8hFD`#2zn0%TR=4*z zve9q6JVj#|mW?F4o~HN%_a>HpW1I6SR(pB&*V<>i``IaNc)_!0tM*x`wvDPQeTmx6 z;|29|Ukmvn`h7y4exG0(zcG}c98yGat{HJIVl3jP-|xEcXGGXvB<+#<$9wU!onnf{ zj<$hvtY@Q}^I>CUZIsuA&m+4nDDThg$ z#rTSxyln4U5f*ZvesW(dF_zuy`gajpOX%36^+tr&+nTZ7F0hpLXB!%`Q)!Nb^loCZ zK{MH)e_xq?if1i@c=nSQHpGtc=Ecvc4`p4hjO*KhTTV;Z|IfDU?Q1S0#}{9t@1Y5k}B58vs2O*8J-xD4+5q`cHA%jVI&9ORafo@c!EcjFdMlr8o6 zG~#KL6Cv}l7vt>b^*s}n zBi7Y1abG~Op!-J~>-k=@Y`dRMdEI4Qw1RDZF%L=Z>+!`mCHzMB6x#oEpGEz}W7v%i z_NVMqmdE`vvs>1+g+5C~d$Bgt`mr_}>v2szZua^?w7p35yN(~WLHd@~#^gt(aDOV+ z#<8l}4tY-(e=o%q_KDOl`mVw~ov^=xonp-DwzAEB`o&tV!Wvt)3uP8;VY-lnIQB<_jYtT{RnGh$5`>V84$6l1NzJ=6o<`hO+O zYjS-q)~gk4kp7Wzez*N?rRy}mHoAK7SsIbHi9ArjZ_B+re>%l@kh=Wr6k`gx!iy(W zD%xIQtuFl_b&5W!aPJ`Q=_2no8oGk}T9y?$1K$g9dB3*f_dM3Ved_$gJ++v3UJ|0>!bZ5HbU>|N-bg}n|x-_l-+t`GY* zw8x?udn^_E9ksgcl{&>78p9qaq}I}2i(g$0J((>eBkT2BUqK)D5!n5&G$Pkpk9+I$ zGbqlFduZd6Bo8}EuU{R(ev9VM$Gn5M(wzVC-57V8Ss&z|S@JMqKwQUfOR=A$eTY3D z>04Qsyzb{8DKBl4K0M6x&j#|3l##aWXgV{G?X2y|f3S}~Wj{)Jd0qCe^p9U%Qr@dy zJLs7uM+WjU_Y3R!=X|YwuXW;s<^9%jQjfGjmfiZ_cM^T-x5ktDWm(ZL5xFLmGE%>Y zlL~8fsRw1<|4Jj$X1|z}`bCUI{Py8l``-RZ#60Fr9os9G9GUP5*{0VmSWl6D&A7i{ z8|i!LR*EhBT#sT+%0IR`vXXU5d8wcD>atjS%V#JQxB5E8ZH2nT-ZIv5S_W|<%lg$z zwrF|SEXzuH@^iuu6!Ta=p#D;6v(zK(sj%0*dGysX<`a6Pyx)GcEGzvc<-hTK{)hLS z?cC=54F8F~sIW&Zb-vNGZXS;#DZkWbzgo&m8CNGhOJjca`}tPt^lU>vm4eAO&0p5cI^}j3c z&YQ9<>DRG}=PzPETwmk5#CoYr%8NBd1$nU^ll!#3YfHJ9@VVxF_nG&#pZiN* z7kv?tYkS#`)JIxB^-+cOo74kl{lX^^dEJ%AC#``!AMU&V?6=nXr=Gq2!u3l1qEEFA z+%KZvBT`1h4E&(myYGIrwArm|uMMnU-Z$-|Q`-TZvaHzCj`{7|OL@QjcDc{L=#F*B zZ)iiQEGzcCD?Iy|u1lT5Ke`{-|KdKq!XBL%*D;Y3 z@OKV+o~wQyaoZy5jmf%1j*|DVzOf^S|0d@kSr?Vn zcJKT5AyU84StQmBlI6413iF-VTd1(ckotxF73Mfum$1LWeu$h4q)yS-|JWbkvEa(% zv*LUwe2zJYW2Qpvp;SdZdt;{JbyvTLnF@MDT)|E~_t4*^MC3l0Y@_JA3i~{$g~x?t zIp6K0Q`>?0ZsGZvmF9C-kJcNJ`v5O_&p}4e+OV+vo5Y^d<*ip%y5}bK$h!RY8RRn^ zDKFdQ_Y6orx4NLgluFy>_nb>Ucavoo9DZ~z`&P=xXLHo&Ucai+Bbr@PsUM`CV~0&l z=oEU&q#nej=ettbcG1QP&s(J)DKG01zOC>)TI!Vc%d&pYYNbx;H>pS3BmLlB$7g9w zKDUx}$!BU+#aJcdE|%pzU;BifulYUKt15@yMtavY z%jY1!E-0xqR(<3vJTHSXj!*GCrEG?`UfD)#c|ZNKT|&OX^8#5``byR-^~iP!dx}I~ zcyaCKOuuIn!nYOVZMC1OP5(Ef&x2GGRY%oThp85-rD{Xh4pc{~R`k7tI)r}iK-55G ztM)2W<*Fm-=i}&lmg=PPh&mIWqE1ygstQ4G; zfx1^cs2)-a)l9l_FI`)p9;WY?(dPov{5a8N^!czFsFtb6)N1vdTC3KnGWCkus5Yr* z)U)bM6<4pSEu{4}^^Q7N#fV>3+thZFcwK#{-XQ*ze)@(!x2dnyw`zy_MSVv<|Dt}Q z?|;*$W7V*JSHBYPXZ=Ry>sg1W##TM6iPh3Nz&e<|*RxvDS3PTsYGWN?9Zl5EO1HAC z9IH8f71GbS)^Sz~x>7{fx>yk_o35U$k{i~t2^;j`l-~qfqpyLy4kwMy3@MJy26@i z-EEy_-D}-Nzqy}2AEK|j=;zz5CDttKM(Yvlzt%GAG3zO7CGq{%)AV@<{r@cS{Z={2 zK5M;5^ncdNR-EV+;=$?>YlAgNt+#4gL)8A3qAP!^rbnrW!W|DW32X;vJbav*mdZ$1AT93)wUbj4Xn0S zExWGW$Zo9a(*O0XW~z}o&~B~{vYXho)S-4W`fN(yE!EU+O`rSI_nIorKHRQBL$sA$ zU$wQ5v=2~@YGc<^9qnUPd%Gji$tpu-*j?1IcDCJ1<=6%G>8h*Bwa-+A_VM)Do4%i| zI@wYC9MxByV4tUo?auc3>ReS~pJYF5U7${~-?bjLj`eO+Ue?a`%L>Nm8SaH?NlH8Y`e8OT%BikRA<@!?Y8O|HNZYzoof%U zk5PqckbR;$-yUSsxyfpneT5om54DTcf7D3(7B$2kVPCFhtI_uLYPfx|eY5Io54O*t zufg^O_8Intc3=9skbdfAUqnBjL7x}er`lua=U()Ak$s7M8U5Vdo@9@;|6`ZhQ|+tm ztL$s(YnFW@ea#|?OX%}5x;l%l-eTWw&$aKd@1yUx)8}0KA^UNAxqY|&r2VwL+Fogw z(br1*1^XrYDSHt~tR$J|?G5(B_7nE&_9psz-G0k{*IsYGXTMLplD=Li`6cxEguTuF z)c%aVKDEEHzp;O$pSRKHr}j_wpY-!L^!cN`+jg9v=!)a~Y1eS-I=ksgUB_|iJB^(~ zoP(W4&SCVG=Cr1-G^YlArIA!4`aH}TWlykYs2OU4eZP7@-C)mC6YcBm#p)h)r9DB- zv?ts1)kJl^b&ab+@|BzDeDv=G)WNt@eETMs=-v)}E^7+0WV6 z(I!jWzC%4@m)lpX+trKqYbs{HXy2}0Ru9@QsWtY4_RH!;wak86Jz)RWenCB@9JIxZwa~uP{y+7%{i}VJ)z|vPF1Di9cXomGv;CbNweqa(_6gRv_D6QU)yew8 zKE?Xb-f16ib+x{>2U?%oU)x=+^Q=$oG1iy%4*Ps-wDp61mG!axy?wDY#rng(-r8mV zZeMB5uxw|6^_y)u(=FxHa^_q2ShbzS)`M0{XQ5TcY2iFzEwT=DmRqfyhR%J~lhy&w z6V^daJ!gfr)H>9eZ8dNXb(UJUSWTU2RuiY0bE|c&mF|qUnmcWr>#PY@O=qap*4fXQ zXbrRevd^^kclOv9S{tortRtKwoM)_Koc2zJv&nkHI@YOW)wXh+KUAiZ>(sISRE5qi zmFFDi>{dUhi1V2`-YIgvS3A|o&L=ABba6gcAE|E6+v+6eROe&0S@m?DSEo3=oVQfD z>f^kpdN^k~Yt*~yT&J~lhST5Kss=b0I-{IRoC(h5&Q;DdqEhES&T!{SXRI^H>EO(u zt4BFgoT1Lq&M@bEr`S2mIo;{(^ma~jN}TRaSErqGfzyvZJJ9zNoU@%1oqVUS)5*zl zIy#3t+4P%!^x4lTa1OK5tbxuzC(Sy?S!KPa_c(h3TK3M zjdPhb!n(q_+Bw@A;|#aXv8FnsofEBbPCu)}y4V@-WLOiO&epNkrOsteQ)`fuX*IPj za|SyHS|glh)#Qs-pFgB;aTvby z+&r!4`P?4GK{$TL@ml`p;hDujxZ|mvv^>r^F=d?T0iS%8d$v9wzA|3zjD0n8)3>MaPxoK1Ez0Z%L?+`Plyy~L-Vw5dCd5ry3@t~Wsv`=tp^Zb z<$kw+q)X-3a-h%>BjdMwAW894EX6M%k*EW0>zFApgH$>=|-hVHkUr+{Pe`{ZGjA zvjY>x{wn18c}I1OJz>c3bBD?p`{%gM&l>(M=Dm98PlmZIyw?pqRWbXD_oX4fFLPh; zzBFX2V(wqwqlSD?<{0CBX_O7mEp^{vjfy>I=&Xvd=MNdI75x~`DIkOOo*!e68Z!Kh z#)R>l1@c%|1YzuHvwlBjJF$KU!q@|cPS;n}Gy4kbu~ael7uJNP%>Kt()Q{O$kO{)< z6W1QsCqWtez3fjv#vU?c5PN=%eQA~n!q_v1JYv<4u}{u2K^XhbkmqLs)iL(@A*0vH zK8$AvEE9yeEr@4R<~E{i5N1CkwoRG)5oJx8;{-8g%G^hY?I4VOSNNaz`ArymypTuS z`Z4xhA%lEk%Gl#YS;U(uV~-kTdH=sM#=bYMV~hl0>lv;X;d0qRYLIj%5{OqpYwpD)0Mu*`9Y@fC)7EMSbAGRGl5 zr$D=cGWOFT&wKmHGWMNN7GuGbvEQQ0de1njW8CkvOc2H%Bjk~nf-v?!A?^WuL74rC z+!cg526#UlbydaK!-S06?`F&~iJTUMdCc;DIO+|`*dv8J#zGM07)D+S!q}69e#EdT zbL=6P24T)Kyzh;AlVOe@)N9Jz@2-E`ey@tz=jiKHG3QU-qlO=E?HtK(mi8C8zS@~~~q#jw9)Y;tAe<+>FB;{N3+0&V6MGd_(v2(~~zq;hV?P}_k zJ&nqy9o{I>uJ)tmSNiV(Wm}~EF5|N_BK1g_Yi?|-|4q~*%{s@P_s&U9r?YLPOnM9V z-;=JQbMyLp{5bJPUfJ`htkf^@)+H>c;I}-l!laaPv z_wCt<{+jId?=m_&TH3tB8-t%vy<%Kc@PoWA#z+MjF^*zVX1X^v>HP>XX}@fjl$qek zx7kPj{WtfXQ}_C`Lld!a`h*)R9Y+nHx+RPIacRTT5`K_Aac#h7X-w*uGL|<+V)XB? zr4Pk;iO90DT|$4Pf*wyN#a=|jMnuX>J<|Ti_r_I3#Be2g+o?H#m%LomlIj}ZofmQS#=U2o z!yZ|eWLb8dr{^%zbAdP3phwEPjL*`Tw3+Ljx-qke%IbDjR(9{d&vkV`k*KSP^yq%7 zs;sax!t(pnn>bUQ+Fm63LhI(Zg$0$_L%BuEk|^mT>0{Kippudi2A ztct#lNE`gh!hZZmZHP!cm+g(8h>S_jnTVwUeeOt%@w5gXEn}bDI-xj+S<1LIxiMcj zu2Vur%HQFg!TvMFem$jh`!^DgBtN43n=}rnjWO^nvVm;Yu|;jKU=M!JHc(r%490?# zcV!a&mynmX$#%K&uKm*Hn?2hWlU*yQ4%z|1uihMh{&~>j?}`2N|DQMC%%XmyzR-13Usou5!-Vog4sq>qeF*0EUfAc3M6Nin zq)p;HD=Gi=U3=HP=Q^#-yE6X5Q$Fa=Bg7KXf0Y{h+iTIA8eZOmQz$ChZs3$)9`MB4VRR zw9D7$H;Q=Z@8u?V895BDO2sH%S{PuWDb=S|TFynA@M8AKHw2Hk<8~`o%g8 zF|74qOu=s~FJnetmwG<(&WU=F=8mPFU&zJ?-J5G&xHp$|O<#3S;$Bkf{AXR-jtXtT z74B2nuG78o_ypM?{jl7dBhK^I&XtwzGj4tkUw7@%^~T10dv>LEN*iR^iSzELEI(sB z(%7bsO3cguj8FXD{jW44*U6K;vbbN9di-n?e#Sak`~Q0C3qScicTP*hM%m{#Cj21V zBIaDLFJLL>3AZiM53=6{7y0$O-*st^$koV`Y)7foFWc_<674UQEZZgK(3n_bU=Km( zCf*m}u^{ac^GKPPH_JpW)qT!o_bjiG7}sJBjfpulCiQf!H#^ZU(jGAvS19YZHgnsK z&(g>;Z@tZ9f&KEvxHgD$__P$)Xe=a{ufPB1r?5v~-*wZ8h!f48KQ;UL6FRx9l=t(w zY$Hl?U0~KDW&HdJ>B`DVdB1){S*}aUwD9K2+L>u(ofdtGHJ)yJg9&=iP&4g=C9X?7 z8|LV>oR(?k>FGy$JRQ2iyjCYC`an3NGNLUN)_cO9 zB58vxEBqD_aT^hFtH%x3HKF+bkPo$OB8DrhQKcR!FJdVo;-tb_*R{=Uo3wfBlF=*J zSChXxCc&~TQ|8P~#Iy8an=@}r_*2>=ZSdRwm-d|a>)1+TV9HsyCwwCIEzvHWFVH_y zzqDEGg;tQitcHGOq5Ul7WnE&gwZiibzp@ldG3cT=FCv>Xb02b_(szBG#7ZfCG*dhm zNuB%pf%`?;xiIaygwLhTQopcA`>8TL+tft~J%5bX@A!!9V_R9nz0Xkm_3V8%RN20? z)+zcTCi)R`2lu1r8#n%?Of`GXTEFxU#h%tF_NBGVYqS?F{UDk9=;Lv1u;v#!q1o-X ziq~B`X}w(p39Prbcx$=A-kOl*#a?v9d#;X8WwQ*;#i&zZkC&fKyhrQ6edB@cgsl5t z#pgBBo=0fi$oggfiZy&0?F;C7kKE@u3v1`LSFG1$=4K)ZD%IDGA@Q9tq?!(Pi1ZKyWZT3c|0$W`~1=#*XQ_j3+mBDXCNJ!N#iI&v$K*^-6hHCq8*juG(g41MP1_ z@H6di1ls4nZ0@v5*EW7@E$KJ8?<)8Fr4Rk|i@o$R?mskG?A6O>6Gi*#sjRQj?#iy; z*t$H?*P>n;3)-(JChH9}UZhSa@N|_foKT#oOUlsRsqPm%N09sc(jF0GiRb=!jzIe} zmG+UWOUiT+u`Ol36mjmipD%5z`Z+?v*NL{vdSzX_cY(HuF%psbrTwz(zUw0Pv#je! z?_Rh+&F!*Xa&KSkBURYjm-iRC8@+oRdG8?0iv5!c&lKc6h%77RUH$m1IId+`zi}ta z%5mpjck@Hz1|Q*X6%c2oV!yG%x=!qcmP!A}y?sBOe!lYCKbJQ6>6|cE@1Tubi`a`M8T{w^LF#v}>)&}gTp6*}s_-npmH(%n%jZr@?3qYA1>w+egsa&KJf6nmKX zTQBY3%J%Rp%e_+1rDNA6=Ghm#`;qaK6QrHe2EV;=Kb>OjQDF~U+K;l8*(q)N+S>zv zp4J|;9@hPcyeRf3E36y+_IBhRk!v$Pbw5>V1Nm0R1o;-vSapBz`z+vbZx8%@FTN^k zi`>(j?6c?WXOG+)ywh9f%%`?XJ#vpx$_xL)Z`ywNP0H`PpH`Xua$m9T-e<(RA6&a# zAM)6d?G=4g;qPJm_Vk2&ncyNRFZsBhKssCgVmej+d^%NrG@boEiF8Eh zvk9FZKZ$<6T1}VN=eP9r3H|(q+C|@ArW28y zsNM9rhrWKMpKDk@)6cc(vj&|3--ynaZ$+oc*RmSWIp~e8I@U4PFRCq_gIFd)e$nEKb`4j2H`BUk$kbc)o|F##MFyEcdR_{z_$@ig? z;d{}E@;GyTAf2>6oIcN`pD(5>Bk7#^L3AGSWpq~ka5{r`44o~11)aZp6`foBANsnM zPL{vHnnouY&!)5H=UDTt>*yT%d#(HEEaQoE7IG1tFuzEjHowSPXicZn=I^2t>7Sr; zPza2FX-g|=ScrNI*Wb=og@D! zog4ouoi4wg&P0Bi&Z~co&RBlKdW%l2f5zHGXDq*My-O$AKSigX-%qE{Z>P^?^!+0` zU%rGsORU9oDt|GZKYuj+|23We`xTuse~5Jyor~U#PM`mUP6|GlPDww|`iV}OKgc@F z`k7Ar|D8^i|4lWdGwJ`d_O}mHe_DspTLAW>w-@Y3C&t&b51>=w>(QC>byW>IYu-`~ z=$v+o-mlQWZlD^|>Fy0^2sO4FsU~#Bdm~k!zBi*Y)(=w6>^Ag0s*a|U=A-(w`BT+V zbPD{bs+hj_pfl$)=(9V0KV4ra-jAg-=P#f$=MN`tM`yKX)0F{q+I=>C7TE*sVfvi<^Xa7a z6X@LcvGjQnonU?f(L~Zwn?A3g?-S|V@+;`{_UrWL74*{#x>nnsN$0g+N1xZx?{1|t z+GpFh(UqC@JbS$Te{>f4{d6|_eER=3`vKB9fj%eD&yU!h?8S7dJ5F?8N@u#q>^Pm~ z{v>@qNmtj=x#ctHa|Y>unNDmkqm$gQ4RqT02li(BWBWsUi@n|c zg3fUNmd*^{O=r6QNhgATV}D6!g#T^-LMMX%ZLK3cw!J@{-mT~q_l6Fgy6+t1?4k3$ z*V;c?j{Pg0qyIOZynnFMoKEa+Md!Qk=d^TcI)Bj#-Yw|7_cnCub#v!f`pw^T>i)O% zu7i*19R}Z6+0HR^_H`DW)ZM{}IF|jHRYX#MTgA@tPL30GPNv^2c43AHt|rpeh!_zeGz?MV~uo%(B}|3nfnC`Cw7-x%icr1@H2g#U_WX=vpky|3VK z)m)uOZw)w!-e1t1-Y9aKeI&j2pog7C?-J=_7pU%bAG?-Wk8Lxhub675PE09 zDQX10bzmsoRYLDF7-ILcyU}}1dfPebY0JVk(3$x-75{lU8~;VMLA_^hQJd&}0~_ev_0Q}N)%)~@fp_Vg z_TTNV)aUkZHr`0`qy4%1!~Vhkn$B`xVn3vQqBj!kq_>?sX#byjjNWpvL@lQC@aL+B z>Fo#itNH47`&M-?o$x=8-gR;#o$!ALy)EH3)x~P>L zr8C>lr}vLsKxfzYrL*1fCX#ENd#v;6y!K121=iJc68?2`M*9Lf8-F65azE9X=salM zMyIsjNN2H+qx0NvwnjVG(;4j-J2%lANCwj>?_=nU_F44SlK##m)-XDMeloquq^C2O zPHOMzjH9=nlsIQvz35!|A#}ojo^!H=v*gdRrZ_X5x%A$UnNAs%i7Os=Cq`<`Fp~=I|bHZbZ&ifE8i+`y3$GW1x~(oiq)A;kS}yj za=Ou(^1bOC{w{Qu{n^%q7M*ub=iy)I45N1eT(c2{GeKc$AjrKcgtNkXu ziDo0cZ-U-DW4}#roq3nuJ@A?Op5C1BsrrQ8TkxZ@oE_>XwaZpc%$nu=pkjFIz^ujb zQ~q2V9Z-KzBvrgF`e2lGri$A?_?Xt2@m|Ns|B`>}>(*QPSWzT8`cb!CKX$Lc>zqei z+fMEmk=*e3hxPUCvo45K;GPf1;hzkWZ|K9lu6t0+pzPQm9&zQV?f*-j@$?d1?*MAA z&384JQoN9Jq!_TSEkh2e}Z&(V6)zIi=n z%1irSqRSRIN5oCJ^r0TQ?3O7zVnKM};*~M@w%5-!W2U^l^)b4xyDqse7KGbhagCOL z>D)naQ(k!ZbY0e(IXfPP)qt&?(BA0M8D(L(*UXG4^q}p2yl~QUk%VszIb-v2T0i12 z3?l|kBRfz1<@0zDMyx{q>89Vr!!XC~usQ1!F`Nt|7r~wtlbV(P8_aRoYUdM)m<-Ch z&N^B55%Q8LBNw4v_w@fUZpz4$D4Tyyi*m`xnYjM$gy!YQ`QUL4T2^4>d|cmfP0Mo0 zvop@nZ9$$iWz6Z&`S~L)%l#O6Tg!C)JsyOYo^igm2l>;ODTkx3Nn7{Ck;ALwjF-mi zx{ze3? zuyuy63pv@8(Wj^vc_s|Q&(MSXX3E^x$VSi(`JD1ZPDlkKXF?C>&&n9_#&wx8;vZ!>{*z_oE0pEjl`JFoCTs}7 z$OF*BIiWH}uETZCd(|<<6l8dOnJ{7%@}GNgYs8dSAM@-XCiE>4z_ zLr|9I!DJcp8p`qfZ#(f{I z^WH^ejC&Sb=Y5sR80&mo=Y1O^ru$aN^FBrp#u(xI-0B$jr#z-i8TX7R%lC=NGWIdh zF5c5HVb}n9-b*oIv={QczmzODJfu+TiJn~}9)=fQyi1R%_M7L$OgVn>U~NO=rKiPH z#xv8kJ<;_i#^NEkSNb?@8~Qg@T$-7o^8jo!W%viN`uhp1wXc%p(&(?+2J}}LM$Ev5 zL0@ds@skp!yaYYGuTmW&*FlE&yDDSkFjLv-00 zL*9;s;a*>#s`V^A@2I#br|tixj`>|*JPraMxJYs%NCG$D~I;&$IQ+yACF%^_K7meKYP27}`1DjG^ylzhwqrI%NI>sCU8D6U= z%UDZu*_1KO#q1NThr=-Y0eY%sZ!Lj7<+VgI%xfxMyCSZ_GOv+%ozJoAcfItk{3v8z z-}-*sl;dai)MbzQ{MC36PTRUm_tACd{u&R$1Nt=8`ahifRos+e5Bia9OO|(Cf04dN znA4u}Sd#qy*2@xQgEH(#9>#o;N=9F^&gvL_1Q|Ww88Y`5=4(^tIK(<32*XbJitS96 z7j9ncuCc$pCT7Z|v7>d_Ue0+jQ^r0&Y%aaMN6e2)4{NE{!&<)~FSPE}Wus`9A!D7B z@Mj3ddJlSd?UyWL?T50w4m4r-w(q8|q6HWHto@uczu7;Avh!Efh^sI>b(7Zf>^-gH zDg@6SRzD7VHhz3sJPel}m9F)SZ89~UDju6QT=y69o++~pxBj&tVNX@e`jM+m8S8VN zBTSinKCkWSg#W`b#tZDhyc~)tuKH1Iq@TP|$5^tAaR+-a7l&cw6X?-vfD|#tAlmih z)7$iTOqP)wVO!w=s@#;3pHcR;)poflBQL?`oU%{iVHq|oxzEvmr)R=^FO2n)Df7KN z$11NU{jT%_KsbI{NtS2b5&6uyl zFxJMrjtax*3-}Z3kT8rG{@D<8(Jex53 z{b(x7F>Jz!H^_4gr;G&yoFdk18#}8YtZKylu?zkyq?ct7>=k+?o zgt@L?ADEt~HyOrS4)yX{&V)-l*VJX<&oIn=x8dW96a5&JaUTbpdA*%1ryWl#1=53< z48t7H^Y8DSi0z;p{qZqv1L8SVjC&=ti|>!BV~h*P%y>Vl$4GUIdq&9cePXh_y~|6w z?HEU47-I@H%zxrIJ*FySwi)?02(vvHUtt(y1optUK^S9G+wbjrRL0!D$oZzsF@~`g zhA{?V8}F-_Fpo8i5mQEApWoan-o5Kw-Pg%->D#Xqq3q=51L9#=%`1pNPp6in;>LXT zL|u0BHB;iskQd%PQ#1Al9xx1hxgCEC!FfKVoL(yepDaJ)uDCMf(td~N zvarXLxvrjTW+dtj%$`3_nMU`;Vc6^I&ZW~5eVr70v9z-( zf41&9^tHCrk9#jJgN*iV2#ziv9@Fim+-}P1=c9C4J*SxRZ$D}Kbu1Zj{H1BSUd$q7<{P5g(0I}^eN_}Fs!_`>v3(!=r7oSdCioS7c)BVg<ha@eyWUg$>`Yh2k74Kh*Z11Y z4BI*m9;Msj$0$4b5?98LVL!_RVYFpiA6KUz?|ful@%t+WY1=Z^&o6FReoHDTyv`RW+?hy85AXxDzr z-LgR#eKh$FS6(vgM7`X`WSHBCvQ;tsj2sRbKjyY@U!#rHG3FQOMA_j|`Ci%T zc;Ukq=}8`p=3`5^ql_Zt%VLGn*@o%2-?uJMCgFY=5jkKg8&#W?cgjcZ*Qj0->R z{D>>lm&Qm?Mx3yGDj2pw58G+NXglQD57jaH7c$(}$ujy2Wx4NyFvc?G0`BX|7<%}6 z5a#&^I;&&EB+rkgyq(Ijem`Dny{_-SV1KGuQM-7}5R`F01sfn=8N*k6ZxV#zD_%qT zF?_;0gYb+68x!{w(JNoq_jIs149_@!W8z-MkGK5sy1tJ?T|t=b!9Bhyvu{z>l-V|v zHD$D&?`;Dy^#$KwqhFZ0A7Mif=6Hj=AHxrP4_+A$pnER9UKJw_aeoJypv?Ol9K*2F zk1?;|eiQnG@OX?7y0?XV5JtUxPiM+(4{~o1W_uuS$~j+eD6X??RP^ob??g>`;RhRv zuX}D(bi?ViUNYn~niEm>l}ENjO?mqg*XEX=ZHb0qtl1C)yxt4Kh=F#0y6eLrj2PfG zVRekP9Loe{wi)t4m~Do<33odGon3tyj49rh;Ju>q!;E&aLrz(QXY~JCkMD!(~kwHuT#x zPmkp=jCxs57@qX|dYz-br5t6-&+c)@6!MZOcmLImd6W&q?N_<>BcFufdh6B~4_!1b zI}X`O96MuM}*Kri%M~zP@-}i+Rzl zO*cnV#XG)SujjSTXkIhr*T^2^J^0_0J1=tmGv&<9Q9u5Av)f+#`pwZWJcRUM?#BEZ zh6gK0wb?Cd~J$&)(cGao?H@BbIO5^La8 z@_f24#=YUvq5Yz!jQwZq|8%E{9_jAsOp z?|OYd{k$MqhTpJ%wRE8C!yt^h3OspJ#=U=s!ERmEG4|iESI_%z)iFOa;y#6ZRm{(8 z-uLfg1Lp$hGE!%dk~fH+F-({7xKIFTpLVy@^kBp zPq=+>{RTu$ zx%B(>#W%l9_kjBkiiY7;tJfDF(q~?@dGmqMRI%E!zPQ|KOqwEq@{@f;aGZ%+Gfri{P!#o8YC z#bFqKhYUTq2M@yd`)9~wf5w#YH`^#1rG23=jP~L_i`!luqg{~UHZsG0Ft>#nwt?Bs z>Nt&ZEU%YLdGehL^xAJTt^G`S)y)g^8YvBHq!jT_vli%e>t@heHw-r(GOD;;&k4~b+sDR(@WQ)C6leW1 zC7S*+y<0p4myQ{(>xCZ4?H?OmJp1KqqI;%Y7Ecwcvqu;I{^Ja7a~NJ)a*?(THV5H) zv5C5krR#df{dmTL%e2lF)6a{C;otg?FaGnzS<$a*PK%rJ*u$?Ze)fQywSWE%?$B+V zwhev@!e734b;56wJM_Ie;j1uw*DIH6d-|O;DQ?Qce!MO*Ui^6JH!~8kEqP(T8GFZ0 z2!4OVwTUqjh7XxGJrU1Ac-L>&CdN@1PLGx*{BO!X{W3KX=c(d;YFZ*bgYcf7rNu`) zc2jh5?(}#N<~aGT^~3QX%zgU8>x<*5Vjf2|I&UG_A>BWu`o9cg>QuU)~k{^{3k9VfoLJyQ5cctEKg%ns*nrD}m0br2l`-@Xv4L zAJm%)hM!;g^3G_7U3Ijtl4aP#Wy3J+Y1IFY==7)RYI{<_um^f(kj|j|$j~{_>G}1v ze02<)A#)wcOP+g`+ee5KQ_h;*u4K-Yw?*qTs8_x(uYc?I=;~YR>g%cEWAD2&TKlm& zT4%D{_1$(QqtoU@vyQG?9)!`Z^>^PD{id|G+ZF>JR_4YVd>e*g=LgT-9zE#3I@;!B zxn-RrO1j5xjjqmc^|aV@NA#RcwYAPvaM3O|hSAb7X7ziO9P#n}_*M4K#d zW&F6~2Xmq?w{~SJlnD4KWF)aBZS>KOVnDZfPz|5Vpy$~!54 z#-s1*vZmaP<_Pu1CS8^pYX;=N?T7wV_P=1A_h`JMu2eC`$U+(~&}qs%Mo>0YjGQxo z@(*-Y#^0`V+YXwz5MuM=mpK@|3e*gC+CweJhDU05{$L&8#k3f59h{IaknmR+@igyV%Ut_vXJsjRgBz~MtKY} zevG`TD6c}MGVa#S9V6O)!59~~$HaZ~zrlzN+%rPIDZ|gWr$bp|rZ(b!O_vS83zyW_ z`MG`UftV?0JXuGVopWuico1IMs+Qhc*pb#NZpyD*+sK_qF6bW%!n+Ii*L4-IogELu zWlNhR>J7p>XSPWA)0EjK4W>Mu@J~>N|FLhg>eLT(Uzl*et6OWE@1lMT!-yYU@3vp# zro8Epwz}+2ij5$Q7(iVoT28qs&)V(Qh1f_HBR1HcAdJ|6{A%)*DWi|HpQ*1+nSG16 zGUd5f?O&2H@9rr4mMZSnu5C&8v;|scs(A8gZM4oev!9Baa_44kOA1e0sO<^EX(zVP zdLBNQ-u;mx?$)Jk$&MrEyS@s+H(k_5>lrxnskkYpO=??m%)GhU22&n1w~a1a-e^@k z3=ey&O-UBT;hfm2xG8_TvTY)UgK*vlX*!mE`D;r&48O2BO~*s$7q`SsdG*g}C7)5h zPhIqG+?01VYps3$>Y}Z2Q?Ajywf6IKpS~9l!|T#oXdm`D=!bY1?%b?}_TjDp zOBpS+4{PrFAs&X8ozg=4v-c@K#lvuu5iPWDNACVP9)@SkY@&TTW8~lQFudUUCfc`4 z8vPwNZ-;Zy%&}U=Z%y%$3I)``_TAhHkr{-<1D&rB-6y7>0{> z?Vni3hT*pJYw0+N(RwmfJgjVgtrPwU!s!ER>3G9hGz{}S!m984B<>fIVUE@QPxeW~ zZCK{GT|u^)GRH~h{rbdBnfr9w&%G1zVV}mmCDttKW^tw97rkb%%=tg@2t9CsX3&Xr- z=$amjg<-4{;OE~iUmXj>yk=O}_{mrp#+m^>@7MM5m?>jT3*YX%c}6S@V@;b+`y>Ot zx;_?$vA%_GXWTn2X3AL89!+}@8-Jf1`#1PwTKB@w3$M92X3Dr1V?T#s+>61_!^zKK z824rD=TtH7(b)e%824rD&wqolw*a5VDQ}oE?%f(tN4D;UX3|e=EVeHMq4_J5o8;rGRzfI3Xd0mEhx)tm}D7qG|KXPoh)Mx;<8~F`4)OO$0p0j6)4MjBU#4%7spQ+#xo=6aqr*F znCsG8Dq?%EboJvFy|uP z=Rw)9T-2~_Ny*>O=~zk?&)Qw9Ijo35?x>UnHMJPd!kvR26j(_DMP@CyZP zN;;FTru@1x9)^o{wJCY*=a}pB5WK9ZtLM9WSH{Eeu(CEK1E-a1d&2PhU!`k3w;sAO z9){;$)kgOh@>>|*vK02Li9UPLlW|iXJtkepUNOa95Z+zb#+4_V!*K7{(sYd7JZnqb zls7I<({WW}=R0vzUUXwx$zY0sXFh*B9)_+pgd~3?P);3D`GgVw`bEAZBO?h2fgT&Ym z!!Knt(Ei*)W8ajQozg)2^ClYmsp2Lh8YFT;7~VOvK_VxF;k=P`wVyE`rHWTgt*d>G zc`8->*+X@8UtsMgbbmB$&DnZwX~KvN+^^N@c&3h%WEp+^2;GCU{oqX9@5wUv(T;EWCi*KGhHr6? zHtVE*+RrA8dqeoJl>8Znk>B9Y9nL{I*CoryY4GRn?u~SQGhyT|9sj2ttn*m1jNAnu zj(zh`oyU@8}3B{|7$Ad=!SU7X-gy zJ_^Iw7lIFG)7%t>u`dLFj;FcFl(8=aAC98=$ds{X3xC$b+R2cyzX~6=r}a`8=6zAD zk-{+cGvUM8v|dUTXN;?_ef#y3$Hjwi=Vk|L`R02Lp}!+F;|HE}*A@NW8W}g`)#o?X z^{(6P#Dj3>X6}8N`@GDIH@tIbqAov%{dnH-W}8QKTTHlfvu47FW{f^UU9+-Z(EXJP z?)yRuZO<->0Y64xqptA{-q!tY!rMz*Y5fDJ-%S~Pjk;RS{!sUOb=2`{nS*hAliVf2^I4;`M@eP_Zg z@4*_w?e{Q@*h9U~Ji1xOp$Wgx3+s?Y(VGx6hKx8tU1hsJ&@odTH{6Li-OZ(87;(aN z1!1&H%Og%gFyaJy;Ac}t|Dx=P6enRAe*1jR8+xr0hT#Y3Df4_{!mwZ4;I$=Lh7VDe z{h2Hy22d7pXv&CTE*pd~*4R!{My^2FVlP)D%gB2u%X!a)k)I)t=Rv7rwuk2(=ud{( zKRgdYPcqE?GRvEnp(h#Uc;Gn^dXiy|Nt6x4JYIOtf<4JFk6-vU408_AeeLCwWO(A! z2b8qEcT2Qy+1Pj(E<4uMgV+wj>0j0>`L@dzJr+{Mbv|fSvbp?Cou9+-y8T*dpWvQ7 z3?Fo5OReV|@@*I%*1eVX73>MaX}ju`Y$E@BeB`LODNi}Op7t&JHw;B!5dqO-64_IAa`*!z~qIeLVwY|P>`|PWt@i6>Q!v?zTV{4um55v1pYM{s6@HbA1 zoAQ9;4%9yE)4ypv6n8tYVevar5Wk*RPofs z2bQGM9Fg|(;qfp$V?<-^+s<$7A2;Pg#x&Ocob+<-c&fPUvc}rC>$cX5r-~n#+F1L) z&#H!TQ-1cQ#@f$O>)?18R_hN<_&HTPZtbB7|C{nFWrrsG9ELw$erUqCVfeKN4^8+v z47c0eRQtIf(uelX=uZ#GTjgjDg{%bRN7PNTe$D&Fswrir{^$~Ww4u5Z+o682;nT7P{{+R|etjhquuEGM?tdRPpdGt+Y?D z4m9Py?OSO-?4k8r7_Rf2s|Rb^FkJe3OYKjr-%`anGh1n$uq_NvDQl_w4r@76PTY$f z`|#fTvVe>}#eLB1%OBDGn+oQ>u95yoqTiEY^wE#B-d=q765U_PGW+w5ZyrwgHYoGG zSYPs|DIwM{bITVV*;aCvHs4r$HHWCH7=~ zylq3=l(F7}54SJ=ARdOX#)Cg!diec#7{+=J{%q0uy?7Yr_1;-o@5aM0)_d^nM+dwU z55l-lVSk!3?o-%@sbbuxus_2v-`zn1{WXtwW2Sp*9`CrnPL^>`&Eq`` z^Sw64c&Zrp+VJi7lm|?i_dSq@!!Y)d&_|f>QpLQdg!#^tvA=}=T19hT80P&Y%!8(k zy;JxE>#H!#`=3}xh2i~Z4--DYnko$Qe&g%3rV7KQrHyplzH-NuxG6Ur?&gynmyC<2 ziu-?YkhW*V<UQ^4yPTa^`PIwFvsD|XFimO$z*uR)vi5=0aNDK zTQZw+ju(?bncI#S2*VtQs5cCApCTSid7>Ae@P8O?xU*5o%$l!zf6I|P*Q(Q4>nU1u zLp%&`zR1#wH2lQH8-PrLF3JEp|LaKkGP(KbMjDR0X;G-1Cf zuXx2R3m=Bz(hg0u4N>aTFg&q`s|VvfRm}FB_}U!_+md1S&#*)1Cw!F*a~~DdTu6Wa z=K4Pw<~X^q`JzP31Z9p@$eS{c5!f7tdCbCxVVH9W`qY#WV{PwUr*m2uMvOrZ$5nNV zSb_}4&;L)1n1nqXlhrZe5HcKl)iL6YWlS0I#`c&pVhm+D-b@&A1$mCK>KJn+WRS;9 znd{>D5qg3$w~^;Wlnu)4Po4)+HYjsH@;r#LL7C%+=RPhQk#A=q{ee}?oDt>=OP5n-J==b9X zUaMJx_sB!Wk5_+Hvjp#vhm0TBc&X+Zyt{LHe!X%(9#&d&4c=Rd_s)l5=!c%)eyXkO zN)_Y1gs=_z|4rU7rskSC^v>=&4eFKe%NSp)Z>_7Zr-IQIypMIpQ+0K_f-v6w+F@56 zEuSo-T^QrFAFHF=k}R)kS98s1dWU${(RIs%FzUs){-(6H>q7&cTU>Ju+KU(n!?5!M zdiVN4_tnuhC(9rITw_gldOz~&3|9~G!#SI3Yn`d!H4WU@KzqY5?EI46iQMV0+T~R- z@=TKju8bce&%E5)m8p!M|E`A4Gq73m1gD+O3BOWK2+J7zcn2}`{2R<;3i`t^#`1I; z*U%G&k+-j-ybV3f1I}!*=6CV~-mM&jH+E~S_HG~f`~-+#1e$(%tJNyR4u7Bww9JQZ7EvSl(uN8P)mxoq-gAF4I(+`5kxH6 zkcgBZh*Dw?4c@u$ah`AA_xh%t^PEY4zw7<)bLE1j&)x~8O8#Lvy0QSgn!dclWX99p)ZM=pCkC@uc)CP z!u1Q^l@@jE%qrMs_^!05;d;USs^3S}W8WKoL(DOT>bVm&k0JCKQP=LFjU$l%OUsAVxhv#4s9(ev=Rn(*V_8|l zxC6%s^@w=SJ~vA(b=-mW%NoWkXam$^v(LF%HmKtlw&!mQ;~MTu-R8d;#vQ09{P7|j zgGw@-FP9!UxQ!9s_=cNhv3f6HS7~{||Lf!Gy+B^ndi=YshU0?sMINugHXC7Rr?)z{ zw|n&vw#^7bJE3o{zPumXDPk7mW|^qoBiPN_nV`qe{^RO>L1apS7Fz*B{pZ!Wz1@){ z+?TChmg#2csm|^5(lW4~M(W(&?uQG88R{=k=j5x&xrD#7zd9#(X?Yd5Dal^yoZN2P z1Kj4n8RimjEfDp(Fw)QmsM;T(PEqrI4rN6R*M6j$2cYaf8P+i{52$l08N+=m^vTs~ zpA_}?>U}H32j+D$hW)~|?4n-RMw;g?Jg%2HP1JBt&94!o4EMayHy~~@hGXG5{I7;~ z^86rUxTl8e&PBZjOETOGLtlksDap_Vo+tGf_60eCsQKaV40(pCc?PyA$&l;p(lZj4 zr@GHH&8uQReDo}v$~f4wD)t}v7MqN_SE*{bruLaxG3Tg^o${;TIXWJbLq%P@vkIP< zgICW}quk+Q4UF@E+V`l8KpIY!FawFXvd7Q@@5^3?YhTyOvXco z*1>q%-zmdnTxOt?HMT~%{_9TGn2S1Uh?6zuqHaIN$r@W3JHP8>jjfEy?~ScFLB{d< zjsKDp#7v$xw&ny;d)8@!@eEb-fQ%OfG_hX$GTy%41>^ZZ9m{0g`9~LwCww1M#sP^g z7+V<2jB@x@7mPWKYoeY}w;9G6#x+qtsMi8x3-eVOM^|fsv4wAj>T!I&w!JpLHQtBr zXvYQhi@IXl7S?&Gj1Sdxwa$}ee11#|>>G*dytFj@z2b`XL##x7@y8a}_h7CoYJNWw zcXxpG-ozI3emhM4=D1PjeHgyYEo$Cp;5+6r=I8ng^*iP=hV#O|V=n4#FLSR`vszTf zJm121u4N4Q7VbUmvTI`QwbeYwPRy!q&9}A~@-4)6{%ch+_u6WhC-hX;BH{`UCW@NR z6W|-`qBg1X1c+hL^!X74RcqB;p*9w5=+ByFUDglYPc7J*p63YE8_z7 z9*xIV#&9pj<7|}QQ18)r{Ph^t4IrLWz4m3y*9}534`^!$wiwnBcutTpUqgVLAZl1E zfEbQf^MH)`+E-(B{4&a&UapD3SSDjw2ZK15SI06@^R=%Cb^MYstb;+EVf>OYU+WH6 z=U}4dYrimGk}+SiovY55WDIMz5R=>=Uc>cUBMfuMu#5wQ&nIm)+&4j4_&rh?!yIgo zS`VL(*=m??Kv_Qbu+=cmLRmiM+G-e6cv%@kE`@q{{e;f3%D8rq78dvx z9<)csosZgEx~Z|6seXf7#+I7)mM!YH0wLxy?t4|M=Z^YqZW({C*jwPcjnEz$yE<0J zdKRnS=9clBk@k4Lpgl5n?+5L%ka+dm+@f9_RT=x9qV_#emp@{!l~vm>JvA->x zpG{@#-@7XIxAFy9RK_DesA?Ib_LBqG&r%tG98(p~%ki~msHjh6RmIqz>~dQDu9od4 zzt_On&YymlO8IFGjP3cAg_H=|vrbKnXO#Jl`i#aHFAAuMvHfV_A5_NS18ZWO-L~9R z|Mx-6y{FZ|*q(@gPGy|)X&sF14*HB5c*6K4UYm&JmBTIgYTZp7~%}~dh^xqo{JjpF(I~*YMf;Z zxenr-U#>RhJrTdE<~oRHaql`*#*pjqTIf?3^Pa7STnF)t$gGcf&sIZzgV>J$sUhY% zTMgqf#53)6sy=6tusTLVoL8qDN`&!R#4s*HJkxxSsn0}gH;l^=Pru?+_4$bHhA|rA z8S!P7`hVHB8|IS`+wAV&B+B?lbv_C4B<&X_${6O85a+x%mL`fC=93WHBF7&RWn84r zCn2_J>(?dfaWD1WhsRLHaKFQ2DC5u7`yC!bQNukBkD*b9`yC!nQNw*Y#5Pa8_GN5R z@6-A9E^4?>=huE|81C62=0R#s5H;MV^E@DGSYLwJ!k8s$SW|*{!kASW9-*!~LCmAn zu}qI)O$lN+Ssk-V!?5lIah|A-WqJ&2#Sq(S>by(Fu*M5ubrH||KRG^MTbI_(yX}Va&iAFqa2{d% zk1#%BhL}KE=u0w&^9c1of6!wsRxvN1Wkam~-dfvY{?bm{thFuXFYUC=TFhhq5_8+E zo!=PjW1`mjr&d;vwd*M6FW1rETf4@!_!wm^cWLKN)LJg({RDELZPxOC4EfJkpx@e9 z6GQ$p?#Npk2V=;8#>Bt3HU`Cz|BOd}Z|GOwsj-6X^;jDhcpG3`&~GiD$B_Tz_P@85 zlViw#^0R(7KMwPU82skDQC{{Y%qwCDd<$OG!3|-K5kugc?=l`84fBl{GPgw~D(ZQ^ z{^z<7bv=KrpUhYHE9%bbvBUKkzkCyw@u25ge~UWQfXaBedLA)9cpaj8e0em?Nwo7W zW9Wyl-vgUZQyB+ugLz8~`4;+;grWaHdlHI&!@eZq!ul{b&~mJdp)c|M>MpEL*chAQDZBjYEQrj|nZMx^>pa2anN;EeS^du04*PE+hl z@EvebyN+mr=Q>~ge!Yy>ywU_?TRgK1mGOtpO)w_#{dyS>zS9_E5}|(AUdHA2H^!VW zKK&Ic>Yolb#MllP){shhcSB1@wg1P}Z%luZ@UB%2F}9&8O{u8+e%cV@8R^%YmWDqY z($Lae&Al!UTT)SXd%r%GC1vVTqdaX{eLQ#F(koFJ{~lEz&)u|Rm8p!)bL-=|OU|iA zjq;FB>*F~c5a&Sk*e=k~8WR~W405!_MAYpRM{696a?{?9);P$xZJ49AAIkV#xmp-Z&@WB(GZ5ydi4O-nB5cU#NLQ#!ug^Wz7#V9`H^LjBSBB-pM$7b`2cw z>^|#4Wn5un4U8>}cY53`rv}DzvO2CA ztc-8Zs*d#xQSZ6**m_^)yWv0gXn$kqll)uiMw$0j_^!H)p^x$Js>_)7hjjJ3>Z0Z` zAEd@m)Q~?RwhQlDFqhhDo$kV}m+%wr+8O`4sjGUjvF!2#!}jA8ByvAtA1i|R4l zAMtp~819dFY-J4hM?9V~=J!MpPZ`5KDUYY9VcmdV`%+fd4fwSWYY4U))(v;{^dFtj9;RL zHDriw)bvfbo@}f6+AqwzWDIMz5ZiU%Z^ZRmBh1%bQ`I?`s3Sjf!akg`Y$h$qcb028 zB>(*ns8L>5uL16N*Yr75)R#V~hh?|^`3{wF^IlpT;66f+m-ne_-LH)K@uoViupay0 zd7k>57xE0mU&j3WHtrf@J=c0&)T0iz0s4uIPw%LW^}u--HSc>12gX|ap)DRXQ)>g9 zcRl8PY-7|WYk&JY^W%bZDr(-Zpne(ia|GvC)Vz;DY-N0>zLVvf3aR)^&?px@tdDhe zv3yNM?X^TJ3*VHN@u27Runq7ndr{Bpu9XeSpGiesIIAx17s`sd`Ef^Un`PX)tyT}j zP{xs&b+A1|J&!V;_p4S9T+2q8x2NlgW!ARYVjiD2>#wrL$`>do`|83!S=kri5SL8*dB74 zsQG^R_z3mrH9uZHK0;Z&=CS2tB9#3*^K;6_LD>H9%=-)<`}p>H{?7X+`XSj8AOR z;^W&sSTV|tmzc0^3rIUf#uusvVm*5=j8bG=uC71U)1>SK#VB9O>4J6M4e(Zs^7NSm z>ug!mSrK*PC*D}L)*oXPQNO-ZE6X~)t%&+$YwcY3adS~b&5v>QxcW@gd|yXrI58R5 z^3!5I=9Vin%I)9M`bO$eFDBztHMQ6_^=re7@>p{)_LH55x-g@>e!W)bvisebQEqcH z2-`XOt3J#qvmdlNzl|QijPk%|S|0xL)xpdtZ~08idq)aJFd26b*7DxDa>JO6c~0oK zcr+6=&qZH%9nM4@>+55N`2gfJQD3;>jb$OH$vEQ!f2?QZmNAM^CU$MG&fUImDl)zt z*cR)ldUu2(<97W!U_HG~4pBr+n`vdQ`wmoOT)us0Y{Sw$Jr$!|I4v0K>@cajVw8g> zn6S<=ksTEoTYl(*^$dK!jUwaxNd)UTch^%f%0otJ#|UG(j4STe+6MC(QS<%6_%3R` zFPK+|n&%40b$ZP6667~Mo>)tZ?ZkO4nT(@)X?ZC+Y!nmq+vY&*Gk$G{Fj2>*XzjOO z?!#mpc3HdLH!NtwjPlIJT0WegHH^u4ENhSPxw_^xCgT;pE9X{xUZENvL zHzwm@eYCuNJK%L@l%fBBan)V9cXB9R3%0s@L4dj8C$7qhp9V6c3~hUHt))``Kp3`7 z#??P`Ra#Hg>iH)>C}+Z$KpvB^*{6#c_67CGIM~z$;{f%@_}-Py=BR0|ipv^TCgZQl z1)B2?w^G8(4Q56e`(d!V68Fgvtse?{YnxU|{=_%1tcWXiY-^sa9?RF?zRqO)ZN2v9 z&pvZimaXfc@4;l;|I3bMw@6pz)AkB8${SC1 zG{360?F~0G(_>mM*t|+TFCYKek;%A9O0aqOr>@F|=m2Jv2RU~(*He$BnSUVDSB1)5Q$e8k7|^&#N$Bl`(HK z)FW!%W+*Fao`<2VsQFj`W%YQ(w9YuT99Cmd@$ z7k5+i_^a1C;#jkxMsG#NgGL15SaWyAYl=~>u_6e^n%95qujuih)OI-5Y_JSgWE``n z4URRL3x_C1IU%Wm9lj543&nOct4a*jIg zh#1D23H3%{SrNk;CfwIRu9No5He)@4=52+Cnos4%s?u_k+dStxaz6-_^>XGrdEuAfJKlMvbFGa>rPXt)te(L(>5sFd% zxLjKc+}G3$8mh>+TwXg1+}AYfH&8Lkj*jgua9`8lt3iq$2i^~|zl^Bdd~ z$(Xkp>Jc?>Gn5rI&xd$V_cBlFHP6Ygy&k74opG$`JkpaHWgM4Zu4l>`#!6T-M$DQB%3}!Muw4yVPJDpE>GNZiUU@(q5!Ry;F8HaZ5gyYUAr(kB3 zYcA@9@&g9Cr>~8N_6Kw2nWHJM-1+(I{iiQO6xv z$F{|AUjXaaP*%iS8^e1S4V2EFVXU;>>>9j#rtM4A?N|V|^Y;k@SxMd;(GIuieY!8x z?jM1AjVcs|%bd2VUVWZb7*I@ZLGOUC@X%v7&^8S`@lIYiXFpMR+40U7gt z4*5jJyq}xYydh(r8zKM5nD^VC)!br~S6ywdK>wl6o?VP`#J770)Csvu)DG9*#j=oR zM4kOwb3B&3*W(g}op2HN3ppxV(8-Sn;C{0=tTgHIuCw)U`?NtrsHpR*-Ntr8UXtbm?@6V7= zWX$_m!+_>Y)cjnBRdi=E=3@=yB2m)`zgqjA9=Ey6tk;*QXB>NuWnum!W3O)Ku^z}R zG7kATO*?iq-^#dgNF_7mSeSc@dhDkUunjP$5;ZMz3Clw65_QLi4%lY6Khop88-=(p zm@mngw-a)dsQW98tZkMtk2B1RWX$^>GQUQkpNN|04Tz_xi`p`UM%Gihc{gREhW_(nNqwbkq$~EN(lE5`!gHVOf*5;Y<2!1hR5Z1xhd1*@w1t->TM_G=vikbV`wwf)BB5-c)TL^ieq@Zn~PkS zjCtHn#<^h|AclG!5|)Z_bKO&e$#{IjRP2+#G_S!#UAQR~V>s{AnoN%!Yo=k`awj-2 zqdfWGIgG=H7j9A+JHCAm<8Y(NO)Bcu*Dhe$h8bI_QFiyq!Pp+We2W@ox-$pkA6)-7 z74^hdE@GS?J8q+*jy`-5k7f9K+o-4`hv#9NXXR|8GUjbwa%`Bj{kE8&-`@R(ThFy# z^J7nT9A=G!E#`5E>@w6E6I;x$m!L^U5=G6gk+AoUCCZrhZHHl&L>cq`?C|x$L>cp3 zY8RQcU(`H*+I47nP}Dqs+HD}6Ma^@m-ORI{jWQpLBU^uNk}-^NFqcSkjKz6^9>d(m zp}|(%-d6MZm0!iFrjpF(4?(GOO)}^`J6#8F&EeiM{$&qNw5AL9FaD2PVpR$&-^< zPn7Qzs>j_t&tRM*=Mrj^`F@Ko#aP?$|C;aX^R@@A`?baVd^Jl*ww^m%%+FUC{gaBC z_s`b@%d^rp?;G1kmch9?^cf?~uT!$}Iu$jvZBpPmViy>Oeb`pd?Q=k>b#N^S51gAQ zV`vZ56Z*Z@9zEW?ejSPGHW=G)gje@HfHAo>?N2IW9^365wDS(J6)_xp??A1r5$5Nm zVB()t#$K--P$15?m;6a(4Do?_mWOD^_)jh_lZ5A`(x~fH#)U5qVIS)}_&ODJa>XQU z^M$F`sf^o9O~GSn7M)CG95FcskLBQ^WGds>PgC%?D*dA7WC`b9JBi12Vty>EO;fDLrQ0w29y#P; z?R&PE_qS?k9@f5Ri+O*WyiT3Vz3h9onCFCo(b+D1s^ZXE1DLYZdd<+UL zH#bqnJXeQ&Hz!fX@VuDMdyO<7yP-}Q^EnLEqsM%X0o%)%-=9J~GUoTKP>+oHy(H8l zW4=BQ^@y0fI|$yCb0G{>OA#-*5RDOvj7=~jBJU=4$n$tY+un0;{eY}WbEhcgfW4& zeHq*JYk={A=L<3((61rJ2cB`rxUgCyj1N2y5;czltmhkL9us)hAY&dAcy1zN9us(O zB4d6X!J5CQ`E>-(9c0X}BY1`)V}2dM^As8Ld<)M4WXy9cJdY4H&#UkZMbtd6!ZQ?6 z^YI$i&t=TVTzD=ZV?J)eGZdqod@vN}?XXTL>H(*F;F>e6mzK73Q@Ub1VNF=Z4}3>s zJ+MA3YMB4sLUyW(-d zy0nZ#?{>vwgmq~dCqE0u(8R* zZH6^x8S_2{>$IZg{R-BcWz72(tT`KHo)cirR>nLhz*@AZc}{@!XHoN<3~Rii=D8Hs znM=cb?1N{-qK5IJf75r!_;5R16ZA+jL4 zy>|f1jvqNIu_QA6)FL#}Tib!hJ<0O{Ovqe)|m8b9VdNRK~o` zdH%ieof*hWdd=JaN&TO#$6||l`v*0PwH}Kt=6$tIPL{Rb8fkt_1%w^5USGQX@>=+m zJ*WIykTt&+`phYydd&O(wM)fR#*m|+pFp3NF~8QH)UL+Z zPSm05w;$jfLGG1tTm>Jj2Xe1b=Iw#}X_R@tg+5u5dHW&XikkN^xPE2K`#j_&J?8xr z@}5!V{Sd|r8S_2~<3dU1*9+u-QNww3Ro*8f%GAYkYO9OFhbnJYoJxw8I4~JQd!U|- zSGD$tI%DiO(*I5^JQiE+FnuV-B=T-bXBqR@(uK)gY%v@=8Ig`0pUA};uHm;(JO zGJO3(QNw<*?5f_lUl9**?uLDm4(yUB<7)T1;`K!ybxf3Ti27|IIFFH6yC=%ng}j32 zA|m_sL>Wgrb;sB`6pcxgab!vW#yLN*ES2$$1pyf6;`L>yjE9X2#5m9Yz8sZtbiXzj z=gE62P#Fh**cRhlJlLKZdtuBiTPILa^LUQfxxpG+TWpQz@eTiptqtb!>^fzGHMX{x$8%u)4c6G& zVjj=%m{@CUZ86UksUvf(dBYa-Twz|HYt0+BnCFV(&F8IoL$7&$`0B?TYp#$r&lQLI zoU`T)Tg=D4FSE)r8S}C4)9U4zjQQ9%w{KZyl=(O~<*R z=5xjU8*4Hd^LgX^zK%GbhxvwH^ZDVD%{7>e`CPFcse^5RxuPxRb4BNf>dYv^dJ(_J zku^Uqs7H_axq$8UnBP~z_A=)8gHVr%LsO67_IcConNf~h5|4ErE?b+)ct+1m#qP;C z^2xuis|KZ*iwih+O z_k^;d=J$_KR>V>Bhe9~@fgoJsQ-Tey!PGO(ifATIBb@w!)ninz+3KrzP#Kp$s`VMT$Ct5Rv$J@<;2vMbC)~0z7xis8o9c0Rns%!UzJ2r=T10+=Q^}W<3t(HSel@BXaQIe)?C3q^2srtH;&e?k<&afjZwFptfym?FY0ZyN}OQK2X~hocW0U)j`uU zv2CxMd_w=~xZ7DubDwGCmy`RbjDzQ7D-HWhCFd_5pn4oKD_cqHGL87|J3#e#a+`BX z8<%NhMpitPad1?&(k*f_IkP988s)K5vz7AoB1r6}1o~IcZ2C_`y@@I8|2f18%%T#pRpcGD>&x9AQP_30lo zlpr;>lhf`}QG1!v6*sm2I4xJdA0gqWG8szPH&e+SbxfQ@K8z`#qIP|r zrc}H50V#9$4_ewT`Ya9e>e8$`RFC5}WGnHb=8-c?_tXEM99xj3IQ0LSY+!anw5#3L$Whj~Y^o}}2yOvXhM;<28HGqsth;W-6dFP0~D@%?rY zhy14Pmp+)>Mbv!1E~~ENGaA^hEsp4a6x(n2;h_Xk-^xqHvg6lnNfdQ#${8%1^r0J- z@qqc+SkLe_kyO+VveK3PY7XD}!Cm@45MJ|HqEKPemP8n1=bkpw)dU>aoA1WBxa%-luvT)*}P+f8AaWsf?YD zW?=rmHuW);ah_u)=Ko#Io>Dz-^TQKm&#ld5b4^$FSLZrCQ8u^OOoryWvXVS;R*_Pa zy@|9+Y03WT@*id?+nviOJGwVvdYtrrHg4Z`uQSu*km=`?&H=kg$4^|CVV-vu+u*XN zAqy$NQM=FJHm}<|F&Tdma$RY7t%%f}wuXv2BJG;;+rlDJg{`4_>^T0KQfbX&a-doa z6}6xDHN|!3BQmpd3@yp@$yMdcw;qx=CaJ&eV2~#ty@B!Rw`Mh!v0v70<>%;|he2JmHTt^N$SLXbaM#~PJg0g+g~BONAIO2 zIb_}yynaVq^HTe~nB$K9j%DxI`?8XpRPG*bld#l_m1L))T-@f1F>b6R$GV?ae*b(c z8Mmwj(_=5kT*dPFWr&j5J*)ZliZmQIA#ofb;Of z#MwWFmWC(SeT;3(nz@bYaazDb+`eu1O;nH9cDS#MQ;$7>{X#`e@84CNJ6s{PuCAjp z?)_GwGIRMg;%&Ednz`FAY#>wCKBS@!YnY)}LSo6{y^pAj!>cC|m?szRo@XizyT5w~>yMnj%2bl4 zB{AH_y~8Gx9*2xb#O(|2?=guwxyCLm8@BzJ$tXv^7mszWo=;7pj!25bvJrttO?n(< zKMA*|K5>b9Y}dDuwta*61W}LoTZCmd&j_M=92qdo1bvD8+^>rsCx5sC>u;)lA6(Sq zhwPxRFF21fCRgiYJ?eX}38Ic%*f-I7yd{`lQ@PKYvC=RoL!<(C0ND38e3+7|mYHR-WO>N9M^H2bk_FD)cHg)}QFrWB4a?Fd@d=`?o>LCX zdVLy1MIE}ZHkKtT`*qRdHNTd{?T4#5S&zdyHn7%TlEZs>;Wlu7OT+KZbjJE2wxZ_O zAmm1)%+FEF(8JdA^>^ld>4ci+WjuYbH^u?_yr>;7Yv&01zaH~k0eQ6~^ZWyORge4a z*4hvGM8-T9L9P~cU@sqxA>?PHT(_)NC*)W??$ut~9&&g|=6Mq4JVu%4Js4Z{nCDd( z$3z3q7P99i49Ih`t=6M^gUp?kI z7V@Nwb3XSn(ZBH*Y=k2inrgKaL_ zHP2*}k4)0)jQnPmsU&|Jq;2CDw8^B$bJJY0osft1IB%CTZVz)UQCD+w$Fh)bMV%7S z0L#KWR@5K&^}w=_hh=OzT-(})l00_83x!_`rQyw=SHm_y{Kc*HjX%}=$@`?N`FVu= zsmHvJ!B`+_zt^5&Y~lLVx$ul*j!-?iDr9w=h@K8CIzq4OFsJ?@sIy&Jr3mKPH>QGZ7T=2umUywvZxi}}IM6fE1Yy9<-?E%lok zybUrAKX?S|=`+ZciMsgKQ7oHw(usL*8bw(gNYuuYoOJCYYZX6e%ZFUgS!#l zHe1|%mDXmb&>&)z3p2Dj+xT=OdOTy0wte+b?kYq?71`_MUN-X)VAL?+Dj32o6ohf zHAB1=QO7pd%3e%psu<;A)3h}o=wmW=`dXW(?QUFKG0L~5Yxk!?l>&)T-u^;+Z~S~g zC8adn``lyfhvgmJh>W}4-HG)aYUQJd`qpl(Z2R**iXNXBscl~&!dH>;*gCtg&547( z6;bC$?!dB;LyWThL#)A6R>bVOU?hE^vgy-MN$9h5=w4$QsaZY<Fc7Ys3%Ujh5KFHZ8?>3<6Sqfo}|jlsi@(%EMSeo?$w&aC=Xk90PBQtU&cjM z_hLOT&oRob53gaJwH_^}qK0ob@L0*%YfgWx$FKEmlc=LM*K=70U*l_8_8mZ+R2TMsG*X)7iqin=gkC$=YSetY#k_rH7Ed)2Z2wXr7kySlbJs_D!BKT`K4Y91>` zrCW`nRSCg1!1kr>Y6n~6zB+EK z!$ci@OzZz0echN*w)WVE7Vw~ZAwlr*? zm5+TRF6*JmC`TVm#5TiRu~clip|#mL$rLSNr=2&o>r0(K80F`$CgHKeeA_5b9CQ`y zgf%fyA6lf9g*7ofzH(jL9@fNU9MVRs2iC+yopR(F9xvo@qa52`s}t75^thg%)_%D5 z^*AE&Huj~n>8+R^PfNLl+poN&{;#nPyI0h>}rs9VKlVOdyrlJU5K53!zG zqZ<%W|5BWWWntY+##1^LVLic_9z@2Wzy5~xK%SKG({^{Up4FR@O)_q!q+mUGjtugn zfq!D1VH*R9jQ4iBjP<~HD&ukM3$dQLNpnpyo?G<=)-z0fb|&NFd1tVm?%|uMQC@dH z73(ZF=`a;_`9HM(WrJ}?#$#t`ef!V;tEe8&8-4=Y{Pb8pHOh4>y&OZIEu*5&i9C+& z8NQ$#)8pfz{ua1TY5Re@BIBvQ`C>f}?|Cam`Kz^lSm)9mo{FefC27a?{#aK<#$WxZ z{cm99F}{k7H{R0P1Mi>6m|y!9Z!DuS_WbfT_LH{vR#82UcesPw=k)!78fE*XT22dQ z(Nxs6-_gp>>9~T5I{un=EIkLTqB5>GSF5LYxgV$=ANJDP+~=c}RMe&^Co%pv!yK8Y z$*>G8TPN6+m4=-vX!YkmZO-)Aqm#CMZ}s;uOL9tj8nzkcnMS!6O~*RR?r6nCozzb& zyP}0V)8qDyv|~K^+>IIKZtrMye&yGaiJA@6%8qhzV|skYS<6>2PmnRsb@uAJZ8Gi` zuC*u9KZuluk6zL0ueM74i9!j7pL$u(+RjAOuPxTfI_~d4^!UndZTo4fI}tq&TEC0@ zp#Gk)V~^HM)Z?$mk=%JV$)*?T@Bc_R^g=wbMBXF^-8@)nIISEbQ)b>IpAT=vjIzU? zLxg>GlbDNLnNcR|k_h~^b8?U7OvdA%oFMRfzk9p7F{5nPx8z6I<5b4vSX)K zR>tn$hY8zWK#rmo34?gRXmxDgQAX*Nq6!|`!`xL zqa409ne3~Ok1^3>sYV-^kMSt?R*ls*Nw@TzIKcZSNoE3#)HYYaLpm2 z+{!0A>Zv|7X{pI+jHb<+3mnM6&GYR4GnINwwne)oiSypt_;i5~Zy z5NIBy_ObbO8xtc9{l9;-6N5TM9MSa!{+2$(R@AZIYGvVi(PNhi&v0Ke4pb*HhVuyX zkOCOLO2KcA)XwSqwOTS!$2)8Bx0~S1L`?^2WvAC|%tZaXgFp7GGCYo|3@{g1A$pho$`#s?U;R|8|Hj9s=Q;r+GWt@9=shkTrh^-P;sXcG0@ zg-5ZhqjLo!ikWQVa*5X53M`jB;(}V zb68LEs5vH4lY2WTKSmjcAO02Vfn(R>$eRan`(kzODq}caxX0YsttFFj(7k=w9{WYN zO-4E5>l^~H?G~WE3uKU;K2E}RMym5PqZ~4tVx3_gS4>7ZYIZIj``W_ROw{)FC$K$v zV;-Ai9J=`;fqTQ=>Y9&HF1mgM+eUm(n2hqY85!E~#$}m|^7dNCu}&w`R+C}gc^2!8 zc=cD)c7wcno_4Oo)Ep@4@$T8!9>{y5hJ8&?`v$DN>oL?1>xYnMjB-#x3Wc@Muw*wT z&@bPb07Os6! zkKdArW#_16Mcpy;34@#;vG=&iD2LNWSZ7>7hRG=JY*vJIM!sEWGRif^|A}?_O}cE7 z@#w}+u^y+U6^K!uk*XbU!HBIUqx?bMLu_YA(KeHeN_C`deUL0sXVIy*I)e+Zp=hEt8Bt z8R~=eMD)lt$=IWoFV;hfEhZWN_?}izxc>%|Q6BP#KejFQW-TJ)?u)dxLC!SF=T`(^ z+h*LTOGKRz5Qt@~sn5$w)9~z!*Kdn?tYCgFieHF)%QP*a?-m#=E~Rei9bqFx@C9>e^fziVfdBR+Y~ zc>6`&JM}s9Q`di{S5gqm_k)Py} zpFZ+trD6CTvoY7skyk(SR=kudx=QNwFRWMqAB{GB2r9CT}l(#dk2WUBqmD7#F)kN>Ce zsH->AWB83Gek`IcnsI}$i}_^c5cM1xNkcWy$T+vdcxBwY-$=a=y;*4( z{>P2SO~y3wE`@pHL-l;g7=GJQ5sA0dMKW!no&wVit|7572Z==Upf1k~y?rZ*9{r_OB^W`=&hW!?0Zz5Zc1mJ!} z4EyEVi~9L#U-RbXyGgfZ-b}`;JpHf@{SNpu8CP5#i2bv_Zv!UdDhmT~z76%rxb@gT za|74iWaYa}nNeXqDH8aYQode8=>+dGlE4E@rIed12IZ-{{c6RPekKOMC znAfTCtdZN2$vCQ_c3s?bY{^8u=TU$;zR_+{CZ{&%=MOpiy;4>X@s zug#(Dn=u)OCIp%j)Ov=TXv&Q8v=f0i)Jf}eO@CncHT-$2c7cZ;V16~ObKT@^fBg2AjNw=w&uD}7*y`XVzUDCxi^#abK*cD-F~YTcm1=Dh z@l&@zbIJpC4QFyoMaE$ttN%MT{{?ZL7of-(js>oZ!SMkYXFZ0#?Rh*9w-<3vBR})A zg)d0`mHvv1KfdZ`e)D+|sl3czG0Gcv`k7y-ZTo((pQ6VBLH_2eQ7=efwvQs?=lA{1 zzt}w??d$m{M%iwg*0z21ycIp}Sv|mfMLm`^Jv|i}57-u9Zu6{&w5r-#G0I(r2be!s z&r7p`9*Q0puhO>vp0rYAoTL8lb`$mb`ngt1MaJ-*IGzJ-F~1(6tc>|}3iXJZ=Uyl) zYMvXRtcY(VoyWM1Y44?o+O$^9tSu}k_c>zF9&Xm4!{ zg7YG3+J6tm`Lkutij3F3w-@{5)HfR`GG2X3i(9Rs&WfnldhEs+o_BCoL>=F6FJ2>^ z`ZZES?N_YD@SWO?6j2w>*n|D#*zSgkjO{OI$KJ@?P?2%*<2a1Nq1ld#jGY$j$No@m zm4hPVRh#3mf6i&?sK_{}LmbBW&!u$~8HaD&i+ybG<=Tp<9Y5TUv3(=LK@oMa&wh+U zt>-lrQIn(l@YtX9tEtF%`z!nK*cW|NLy>W|-9e1Qvk$5&GS2Ovh<)sr@9h<%9C|Ds zyM7_DyVT|q3I^`8n2Rj|cIBXePPLXlE-C>Nw<2TAGq8@f7 z36K3!wK9rPhHn|eT1wkF~O%a(>=J#FY@ zJFNeo9RBWcYu^)f+NZ~@eNV;%mL9kEJyCDpaopPXWIVb1DQkX{v0vA8>v(FE^T(XB z<~mXDiaKS@Z!+GVe9D^NMC~;o9b*gQsi;>+rsJ{0cxsdfB&B0aU_2FdzEcLq0mf4q zw^^ErF@gD;j33ya#r_8O2r{N8GBM6DXA^Z;v(p$)n6t^a`0LXcTbQ$nx~TbCj3?X| zh}!Y3vv}-qUm)YOQ)e*_aF3wJ!$Pz0c;Q~aC_DU^g>is;Pf?F|JBNJ<)*oa%`9>DT z6Ye*Sa>%f3j4j-I8s+UbvoZc~AF9U#x}U??!up1cbH6`_@qx7tQ8#XogK>bh4jJ3W z<>0a7T8D&}+|pt)`=GNT<6)h&^*2~!lyPWR?Rf{R#ff_2Q7yKxZYJaL6SZe^u!bh% z0mHTDbPyAxe5<_{XIM|xjswPX2)`YU=IwNE=o zZ_E78~>ukDr=6PQrh0!V2^TDeU_~#eu}8S3^>5}`#-jrU)NAp#{7DO zdi0p*dDvc$dESQY|1Dc)9mLqeJ3^wKS2+=n3*Hfuae!+ge?Y!tk=Gbi*IRdfP1lj)8C!CV$FMcJpZG7>zF9&dJVNP2+oTh-+6EuV+(5$ zGOnC`3Hu?e%gMOfbS+k}z9H%=O|`henue(FKfZ+51+1Hi`qN%o3}LNI)CW^8W8Z+a zG8z9e;R^N{SSyq9ul@2c4zM;W$IXSsD24!3+u5)IrN81 z7-v|I74?eK7cjQ4{x9lXP8Tr_u>Nn9BO)(ieBfDtsEfE>`BHy2LFaJhi6ZsK3O3L;|$L?^_T?Y;IYFq zO&LF&l7q(%&oM>)MM@4HFFeOI%5{s*VjSQdAyGGMcpCc{yccAYXV=ZbIKw+aG9F~k z!Z^b_LPq(ukFzlT@V<~9+qs;^*upzPGLG;)jWL1ug+%?J`)P~=ydxyz{$o$$vBUd9 zGXAAF4PyfD2+6q3#go>)Cu3*>e;3FW^LK%utWoCg|3IB0?tAW}wZDn_!m*RqK4z4M z>^N!ddwTqA$w_M;lW~VK$E`U{#-El?wvM4j`NWkJYkre)(Vi4*ev|RDnJLzsrpKS( zKZ>!1aZ}VajvmEhhcQ&fZ_GZ5#|~qtsE_*`#p8uB)F^+v<1oeq=4>+F*X0oQH@HWT zapA{@G0reglks4;!x(3nry1p6XmsGj04;w$oRrE3&sKN z3uN5?F~ehrdjuK(uz_Jr;GR^*-J4PDZ?Hxo<4z+O#u@HOMg8VYim`=zQltEQD8)F# zJ*lXNmZ2D1SoaWh#+F2k1FU<@=*PheC+L|5@{XGHu6~sZthiYo^gmq&*p0Y@L zP6Yck%2lgq@q{`>eLGx>8=iyx-S@UPXP>+cFue-|ldqJXxeeq|?GLFx_ z%=o)KGVbeimGO6bO51R}{JFo3(<)tM{5>C|4DI3X5{P=x_xX&!=OgM1vH5r`@Scwz zH~lsr&lkMsBjfc0wEe<+J~9sOp3nGuJ~Ccoxx)B+J~F1&wBv$zd-QmH#ubb|yxUV6 zUcCAW#s}W*DQ%bWxx)CnJ)$oEhqr~l+aqg!jYB=6=GP#U6*bS{P*%n~KSMqLBM{pR^@#fCn*kR1UAXV#S}HO=TCR;^l+zal zSm1Z$s=n4zk?~JI24KI1IOy?!%K_L|VS7>c8x&xH-;t}C)k=|ZwSfT^_#L_Lp0!qF z98n>_0>2&idb`$&9xq$xZ-L*A`!K{yk#YSg{ucP{xHav46&VM$)!MVIg^!}g0Tw?C z{9fFdRlbUhU;n_*0>2mc*fl^g${F4KEbx1A>vH`RJ>Hh+i`)Nj-d~aNy+B_J{9at0 zl>v&3c|NpPe|uBZ{JMj(qUP5ilod74y--%hJbywxGA?xX$ML0Tmp_p;jEPYbT4Fu6 z`ZwxtsjmJ{gyYkeM8+lRY`^%r4bkKKvjZ%*)Ul@9rgp?AcUI?7=f8bMdXEhxrR|5A0hVBO{&PAykcfJ2 z)fc#?1Uc3g^Xm@E>M_6WV0%&XybWb#%yTc)^G^;Kbr<6^H)*a(#;bq7hi!&>WL)&c zeKt|O-`QS0!DN(|RlARIfVSyz?)^X6=j#27qjNJN<8$fv*t)M@khoWv$td@$au53< z9E+&;FS>_)63U8t;l%r_mwGHD?z~CH}n#Hbre);Wssj9`D%tnEk9C`?QGqM8?YS zC+tFT5ovSFi5TUb<)1Jo^;p){YD)CD_pqmIsoKY8RBl0JY?t&Wi&yLEo#;l4GS7__ zZ!DuS=GQFLBWixlLRnGsoD5|}&2uJ{m2t;cZ{t|gZ0Ao@kKJqD#$4COKZeSfT>b;| z-T=R~RK{=CyTh86c|uNHTTe^FN0R=)G4#Y|>!=>j-uDNNYeg^C(Z9Ojb$&$@IgOQ8GlI%*}9rfh?~cHD(aZG3)$o77bIhU43)97_g!|%@d=ss z;aV!?)&x z*n6e6{f?(UQW;m8c8{H``h<)Q{E5nVz}dTOOdNwgac#zATsGkp*3%`V4wLbTW~cBxo;p^CiTctZ z?Oo#2=5kENN3Lq`X;1A^j)}VUJK8(RroQEvj4S1zz<915S&qrLTc;Bk&k<9~F{8YA z!71$X7u~N@84ulh3a|IKdS9n9PHKM&`+xrNYgEP#yR~<}l`hw)jL+24-U%PR;3^gM zmec7N+jBEhsHo2rrei!aQc|d>pM0H;F?_!F7&Xef8>V9)Za6QQ%6Qhd+W!=st#OnZ z!qPJR#T%KT~>Q%?BK>9si;qv)82(^xL_5Pad-voeaNi^-%}Z}KOw7r@M5K5hzazc4>Gm3iMZv|)2vY zJXmR%&dy{LH@+Z8x4JVue#@e5UnR8_6ZMLNr`f*FPsoV1Zp z+@Q*7-2ST*Etwu4sCk<8U-N>j+~>-S@`p!HvviLqWWSv&6Lq1}Jqqt7LSB+J&r48` z9`pPI+sl~e3aH0c7aT3XI5;}BWHR=Pxr}XqdPF_#_sbOC{YYNfipe;v;bjWX9H9+H zdG&jLPDZKm9Kf|3F<+yIwDZKl!<)Aw=%F|k0!#)f#)Z^p|`PheH zdl`p%+{F02KGcI5|rZ=hes~b4{Y=*C3P?HNPIAtRC~c4cp6@=U%8skE5FIz%l5- zZhsafJAEEH>hr`fjM8-~E9jEZ_$J~>3iBZn0 zeUievAH$Lw5RrCOyu3kV9Y`DL#dlK<6Lf& zt#0c7&IEX}f78>p+#uc6-1TdSCzCOp7nm2pGbURM^CEbz1Z71WHt-gK-^XxLpGO#F zhjTXx{C>sNUg{c)4u=i?9k)0Aq_#na<8Bw=_I(o7^+pNPsRaan+adIj2Q$hc{@2JW z>bU&4rw0@DwD9ZLhu_}%f0(=PuquxJ0rVIf)*v=4QB+WncHn@ZQFi87VvX1$cA`cx zF$vaS$4-oeC@OaB#2})Aq5@~<*iearqN1Xrpki#;5mE1a2bahDdoHg#%<{hXzt3}? znc45m&dl!4*+SQ!OTjj{Ggkg9#L7Gd<@|rSmQ^qO?;Lv1?GPKH zmAxE$;!|Po(0iRN;k8|CFKpfaEpq;W9*tJ)j>*?0LaCq5#bhx=A z;dSm{AH3@FYoxp3NYpsTyEpc(@($VQ?T8w0>(~pwKl2VnMA;KHF8Hc9t|1p7`+fH0 zQ+GJh3&+L0MVG2O5Hj$)|`}v0|R^F#lL<)c7NHEQup{CSl5@XgKekV z;I#V0ArBg}ah;;yYW#0H z*jSToH@stSxwLJrE8LdZzq{rCrmKG2h}F^aizo7b(>|y4Y`fiuSd#yhp&!OKc!x5V zK9NN1HKi{rCoh#qY7Ezki{8PX1Y*v;B+x6l9hS$#16SQTO6*&%FOWIDXVehlzObp70&nN;vDmLT~=nrXaCA- z91-cn%3Km{L5lOd_KvK~;6|22jr$($%Jy}`w@rx}TUGALVi-Qxh7{*u=PoRUUVWPr zHI~QhEt>a4t<2j{jv6cT7^LU5a^3=YMO@x@Co(hSc|$oohB;YDFJjp4?dm&Fc-Rvb zLrD!WD0z7eF*J_dhRnYBm&L$i*p`xB)E2$BBJ1_{yrG=WdHwWw*8bi4)g&TT+J8su zIz&rD-*`H+uuKs{+di#YSPqYKzC6eJL!14tWL|r%J;CyBzfp$@f@BfDs90Fe_&=g# zUWcD8tV=?JAeq;hE7Mtfrs{%Zt?U(k9-DXCh8D%YlGWHOE)}2l-;N?$y^uv*ur38( z8n^?UJ^WnO%6*rf!>L(2P|6Q4Wv%RYC;_|A`WLMmWkX8CDTfZ=217HE%TG3>v<>H4 zNo8)JieqiqdDrLMxj$joDY{!nBoR+ve~y)7y`X|5V)ulrtelWVzZy%!1tGUs`P(ve za%nsF`z*GtjFn-sh+&^rUYv=(8*Iz=DX*>j-$pI|YR>ZV`a9PwG|`zpZ$)DeahKFv zXsDM1D@Vjl6K2nPNhU-dYp3%}uKZi1Tt@Lxq%WI{dLtZsj z+8omJS{VzFSB;fE59xWWj0MQ6#>(|Iq%WyQrupOJ+iszKKiUwj9P(-)i>J?_8bm8Q zS`Nmiu0KH6f3P7UwrJU&#diK}St8=9L9VQv;n%OrBF?R6$I8j_+$C$___?Es$|;GJ zx&)1TZ{)Sop1Br|MqVrZB&ea}&1?6iV{ztDtKu-l*z8{3_`gI(DD_AN@aa z=;$%HXYae{8+w0{8V58Sf$xp^7d?ul$2b9Zem58&Nq&Ns(_@?(H?$eV);!HFH1-xT z%z>~D4C|S^Ui{S{c1;)5*T!4K9jXsvF`$di-n{mm(4NJhTi|Nsb>yt}tPOp}xfyxA z{=4>tF%Ne!ia6=ED~n%lXeRS|vWP9>U0Gcs7JM*jW%osPtX}_~A0>;} zYJ(lCW82J8vWOjr+Oay`*gr}Zu~L`r7Q2e-C2FN!TPy7pqv%Cbbn$~=&8qAbzM%Dn3K zZ4IK8mE(nD+Zu$|aEyTe+Dvb1v*U$`mH(%p%#vC;UbG6VK}5W*S2~`$AOgA1-z)RF z?Vfa8tHEEWXZskL*D2GoaNCGC=#}3(S;ULIuHb{^|3Zsb9*{+xX3E0hW8R=&UvH3k z9dY9d-rG3>P53%a*2-zRY#fxFhb}b^m$mZZWmoZnyd9{0#Y3`)yT@na={H^@pIw_} z5m)uPhIhB#j;`H~lSOPZ;0|_=d4+aO+#-v3apWDGz26L?Fc%#hgk%JzxyrWXq%e+1|`XM`x z5T~`Wh&x+6VdZ$uUnlc=73h|Lb) zFMQVQ#Tr?}<<353<)jQ)E{k|#|L3f2p&VW(cYlt_n>^IF{A!ukW2ZdF@V*Gxu813c zk&74Q=b>J1TV$;~aqUwaxX28*@3uxRZQK0zjP)yM2N9>aJj3-@d_Y^)tdT{$`290B zULYP`%Sq30-3o6|vtH|DUR&RJ%Hpq6Z=I~hj^&=>RJxCL{<=;Uapsbzct;xD!am{6Nes`Px25lbgS^`qCyu&AAhb0oR|Ato>-r=*pX?diT?P|Wl z@D87l+Le$Rht+wB;T=AC%il{Pw!ZfQvvEF2;;5`yBHeJr@qO=w{+r%*+sy#)%t^1SLn1C1;AVh# z*MyGtKw3FqtD6DdT~qZ}ccjLh0t?fJ{p5<&xGO45-*>Gu67p;}1H8LtWTX@7s*&AC zxEbKxHPaj0BVJn;xU#;KKEnZ(hTVGV4flS3fV$g%jd)$5p5AaQ=mBzXtw+4J-05bR zH1h#^__QU`%7?4F8TK!DfNK42i$uKTdsoBOum`AIL^D(pCq(BUzp$n(uZUyIXVdQv zH(=$6IBx%Kl-a!wD~HFAd$<`ApJpTXv(~7z4edOv_FZI`+L*=3w7&(dtB*vi z%#AybEtl0;8EcSU#7cjLa(J!uXUMC@Fs={K;|Qcztqp!)_I2KPkex)oHoh4o?ibc&ZjY)3EnJ=xbM3sc+mU@Xj|kKS&iqJJ;%%L zXQOv#H_0Nl4tS1dKFCHDcWsc>IP?5-Jo(>jw4>TOS;X!&U*Iluj9W|%leO|h-BtXd z<2Lkt)*)Gq7dN|t34M-u-Mlzi!~w(7@mcyDaahM#St}>iNXIAWbHq39Max>*&*KTo zrsoM~^BoDV)7v~iGCjXS^gXw{_OiN%;5x4EfR;onn~%yya2@wDuLTit$fPU;*9E&e z(05I9T7GmJ!L=LY6>-4Wn+UGmpd1mKC1oJEc7t+w9btYO!FAk?mv*GIZN2Cgf@?R3 zlh?r?_fgXK3ndXp(|rfmZcvVht!Q1~+6~I#HSBA+c7wdU&O4cb;MxuHiddeqpY{Jh zx{jg7)_=+fuH7D%wMJUmH#8Z+wVUsh+DI!$Pq~EP+RgF1@<=QD`&~zH?Ur{pThhv% zacQ3YTa=of@?RsAL=8m4E2Js7E0GlN@5sm zXjKE2_j3+faU8+5+ep_sNW^|s&LFsUdl+be)Hovd9D-}N_&Jr3h%Nf1v2q-Hl|gD8 zclk1cYqyBKPbCpYr(8vF?Uv+nQ&QthhwChT^x89$h<%>iKyd9AY<^G@vET8%GMo>< zd?;#VJVH4lR{A`YqsB_#hV;Bv#yjNYu^qX^+6|6JBF=n#Q-ur{cXBbuL*;rODPSr=*L@QH~s9A66P+MtMiTHj)Q81^r(!)jh* zeF^f4IH>V;8ICD|%i<)h9Cz_18&eRQ8e7C&XJZP|^E$lzH5ra6NlE7<5&PMv%WzEb zint@Gap$Ns8ICCd?cPWt4qlnU$_b|HfokkKAX$cEN-|v!6me$UNg0kQ$#gwXjl(XO zSbFQ)b&-fI_9Vz~Ofg$uABouOJ8Gj{E7M ze2-qsk2vQ@cpZK4p1hRK!|!J~5Um{0JX;Q+*CT_c(RV=zIPQnrvLl^)d(CS>M4Zy( zmK;O-e?EN=l8AFHGv)QPKd;?tM@qw87Mv$->&2o$*PIBiztLYHkH3gTJ7+o(5!QD}ST8Bbt-q+&1+xc}3&*p5Bu1`dEcaB!5yAni_F5wqQOPdWm*&(k?u%DoM?ZMwPEi&I--@g%}66&)1%OmOHM?M_uRff zsx62@7v?wG+zBx)T0^eV3XQxw7{?TLu1&bx}c zq{X0WBU%sVC8hF z;)T_?`IEx!9(;;0uQOyl+g7Cw&RE3tJv>=C-#9vAUhnJY%JM#%?TJO)b(T9Tr*R!S zEaI_mTv$1G*0;tY9{HP&mGe*Yj#!PGnhN8;l5UN8op!pg{c9g=gw?qFU}qMaKA;We z_0jtb&ZvC<)7AAE9ZkLaa+vm z!O2%xJQH4fViCI!O=0E0{u1%F@6&NUo!^=?@W8xQ`eaD8xRVP$%_JQWu~p4?tei*f+=y0w7JP%S>z8;(qQ)V!@38bq z<}O5y*VfKs>7o7AI4tWKOK(%L1yN(A%)Jx7Dk}f~dewx&7+Ry2M8sdre8XaE``(FY z!s~HI3RvDrUEPRQ4w&|yl?iKoyzaTd$prlk<^eS} z+B&oJuq`$29O}u^!<;PQRe!j%a(cVeBPDgp%6F2IS4%7P3Z~_&@fDP@mW0>S_8(zmAI^0}oOjO*!#n`x@EFebl=T0} zxhs#eIN|(R#2L{EtQM-t+9xkG%1|J6J~f~ z5f6G+cr05zvmNI37ygCw_7l1mC*mW&7shZo+!>4bwL{_Yy`zmD7iZTlg~!}KzqG@= zZri%>T&`V5dt98A^D9_i;Nc&vLITQ`Qel-G8S zhcO(B;dsRBk(Umzyj!z9v54&|#jSzvaSK54K*a#slbmDdb*ZdS1i5 zCF}CN*tS0BoW@sh|DY%oo2|pV4tsb7U#}I5Uedg39QpfI9BL7ZY%jZEUeDV=zawBB zi~fjp#=M@s@d|7ICc%za#KBG(_}AZQTSc|PS{eEV+yk&=O)Iv)cn$Xed>`RixUc^| z?6sKw&p0m%&Cs{PBAz$u8XiLTwaY+vEaJesSMiPoIclu*2S~5VALj~|zJyNl)f*z4#-hzf znq#e8AzaVe4bF3T9Y50D0P`N?)yj<`T@3YXVo{$wcPwJ}eR{*HB~fU4r>J1i4>3m|@5{tM_qMP9)y}$Pxb4RR|D^$}PLjQX)=29od@Q1!LEup_)!YF*~tU*I%aZZ{Lmr|4QflbE8wu{f^VM`11e$KFNtkhSH*FPYeP>?N156tU`Z&qS=uM{M8@xUTB8ybqMoO+dtbPaecSY>PyLZnad(hjtov|9H@A#*vj=Z)jpNu;@>_Zz;yI?h* z-uqHf`}6p#E;X@|{{LEu`OKaQxHyjtxrE2IJ%d_2vBV-)`T%U}Q%_I)hn4?zqY7BW zN}q%}e(I3RrlRt-azy#VMQtMDw7Nz-OfsQ={%(Okb;kC>--%xn{HfEu2}@r#y#fBz zWA`3qzfXy;i$8VMeJ9xOuNT+GX4$8T9G;zAl>SqD^*_gchw^o~Da;VVr*1nlmHiGe ze`+PowO3A9DQER8{r}6#wwkQ-#GhJ;ZR_dQMR9_a_`yoOAn&JE+5xtuv=zkgsqw0d z1lk$$e(LHYl8b)-)VoKVW52_8KlSF7=Zk*7Y@W^x+x^tP<(?|~{ZlLD!#?`dN*ZYM z8U2%3UTE`AebwbE`yJX`jVGQuS(N@$D`i6aeCpKAS6F)ZU1=YP^HVEzhrXn=30SE+ z#IMH6wxEvjN%=Tt_&(&~(1d(yd3rt``$aTbHK-~1)a!Hd*>N21QRKC6+qbxSi+gBk zA6ufvN$uaV_dMrxX-Yn4G=qMI>tlK~_N}#8QqrrnSGzYD)&`;OBKD>C%EG!ClvAAL zpYz$;KBOtm5hwC7tPevP5kGA57KhXSM`~}fBU*Xn(RX+WUDvI+-HC`eW?ViVMb}}f z*S9BHS$8ZSzoBbN9~QSHB2GH-7Q0!+q6)8ClG1Po_qX^4{m-cBO$VaJp^0ztK)UX? zteg`O@x-GA_#9ndU3|omXl0*av`pIOGhaIqHE#H<0C%Bl#f~eTiHMVzyu(hk|IDrI zLbUSwr|)pTr?*k>JV&CHQFZ|y?3RT#-Ekni4yNA-Yquo}ZJ*JS@Os|1w|M+F+324a zc7)eHL*C+_ZSSC~lUooGdl~3=!K&Xyt$Q~oY8=r118$D9(LP)HY-tHxzuR5Z$H9T+ z<+0bl?=Ye7huM~DPfFWRudh>b(D8*WS)6JN?~8NqQkY%~7aS_UztMNvSWmGdS~=|E zTYQ+l)24!db5a^EH|8xqMc;Mv_-7lU#u1^;?E5Kj4#4YyKe`y;-Q$o~jgxD;7~nm4 zkY0`JoOd?Bd-fnbueWS>Ho&|7Ag_qiLLFHh&5qxdM0{3qGGx%PlRh#@(#jAI)X~oQ zEQ?LVFka%SC$n-&>h80h4Z*bUSuNcliTK1YCqwA-Y~(laf~1w9t)TDe^ck#+aF-#v`)2qgDNyI_+?=Z}t z>2pnzRxWq80K@$0AD2wOh5dQweg6)_{28_+RT8m(!8;7|XYTzpNh|wZ&Byq+yXY^! zBXV)}vVDtRr01YiQ-b`df62c^hS2}Hs?h(rigN>>+w8xyX7qn95xf6oWaYsBWggL3d?g``DF3giag~2B5#|3iHU4SinWFmgdcNTwqWr(6#)Ia_#FpM$n@aDkEzZ{; zn~L@kkMBt}v6BA(x^aw&99jMkTJoY9Maelk-4BOVpIu)>1R{9}qw>bA1 zcd2N*B38x)wBe`Lb-Y>BhFUqV=^c_qpQpG$pQjM!%_PN6-0PC<>2TV#>u^f`rl^f?8s z4EM<>`&!r^+nkl7!b&?sdR{Ai4D#|==j_hv3-_XnIIOAObcp_M)$2fWEaE9+^elde zN5nII_3Yj!C`XNNO?EL=qt6;VedUftTz$IUbb$VEQn7Ihtd+N1(VLX#1$g~%rJnUA zXa`;&^U#~h(*KfH*Jz1FY_ZVIbd>%tHl&Ip7V)c#Zl*c(zc7c3j#!NyhP#=L)Bp7@ ze&d2gyl0)O37$3BNuM>)%4M#)nzqx}8q;SD)R^>gH7%lbuhCSGMO<;Y&a{s{YtTT_ zW39Y4L1%(z4IcgOj@7uoz0L&B8YHapz#{fv>SBUt4SpNe3Tx$Dq&JQDHWfX5)f|af zcGa8u{*r|<&FqngFLcwJmh?P^w(a;5X=NiF*De0Kfy({mgG$5Co%N=#PTWPwy;~t( z=d{$DU~MycTYDs8nDYnI`(~|Iy^}-@_rbzDnv~;+S})V-O<7m6QH4H1NGso`{c3l+ zEM)j{4bsZ9Xj|2wb*xO^1E7`7ztNjEo1aE*?@dU=J6r2b0cKaxqDs+7#22gSO%Le0 zZrTSg#OwQq+)S`GI5N})Y2{sBZYKCfNyBk=NW{+%yPDt|CBC^fNW`@rT-mq_-PsJO zaaxlP1jcC)O)uhtYi|jBFYLt^)<`S6T+1Wyy)eJP+DI#3{{9t#?}h35l}B2+WyA{t z-wQLllPzgw*O2D~z899+@USG}+fARd{hK~)p`?X%qgTsHIcgp9;2D`g+uUc}dRZ%b z^?pXy{qg_}u-YtZ<>*mQ$xmY*Ae*(@WD$o;xn$9=4^YLEJ7f_rc=wpJq5c2fh@G+; zFFx~#?dy7hJ7f_*eE){H|DKJueQ{PU&Z#r=i6QGQ>LI1d#d%JzH)PBG+er83l&r=! zuky&_IgzMLlLn+XCvSN}{%jnDPB*JZKJ}7^kIBX+MzkpKFS#@vdG`r9aVHziv)(0( zc;oY2;(6~j!d)U|HST%(Cac$Dx9u{o*V|lRd3PKorqSpsF+V2=(XO-=JrG@ zClAagUoDP8hBYmTh#wAqOIp(VnO)wsB&Ff|XY)yQx>m5_sRL1C!_c>6DNVnwz7rAg ztnUkmW&K$6B*~Fz<+2qDh!<`1IbS*xHO^a8K%(e+c#B=mM8sp<-;qAF|HRaGAzGP@ zBf74eLBD6D*08P%-%En@JXY4CVf+gFW6Z1^6^1w~(wHGVuVF13zV!xqOX@}&T-e(3 z!KO|`D=TZ=a4j!lWsMrj5phQ+JzIZHpU{YC`ewxI8j7jbHLH?|Hu zz|4-QaW(p0XjlgxaMPBE*vII`)`7=mHYHlQoTZ+v1II6IM%37=pPsD)?`zkDh$>dF}G?Ke$}_u5~pIr~e1_r}H+X7x4r7-%zDJdssOl z4y6Ctji>WG#3SO>^c|;ipFQ;3)YXty{>I7O^x@K8v@P^Y#A|rZ>fu9sQP>O%_Rdu; z+|^%iDqkZ8jcrp7@p@}Rcawd`XjE%dHN@-M>3Y+=9{Z3_)oMt@Q?R>f$Ew|EUa~pT z%CN5|PuPvd{#c3acM+%KNQC;AW95|8(@yD4Wxm;itQ%HDrQx=rbl$76ANe$^gm`^n zw!3M3qeztAxh&%KhRJ%GN?d1+;lh{u+3H%)pQiNfcVLA)NnPH%cPna(+r-b-rS znU3FVI)1%_Pa-vjF}snD+3#wdWMh`cuV%TMPTxsD!^g>}G+c*{!7+3Uj!I5Ky!NJj zCXx1;8}ex+;?Y~_{Q%N2l-$P}iMVs1yD2C4ILg@C5@}_#je1jz?P=sw+X1QZ?p1oz zIGgh*eX%zZ@zfvPP49k4L*~_bA+0?3PrYgX$;-&PZEvK;3zz6kEt_T_zpODx#OFu2 zo3;+UhWwh&LRxvlA9_=_);Ca$RS;6+{xtoF1vk*ffIpCk{~Ae;-7~JDInqj`m17s{ zO$#bsN0!m6kQ(<|M(1j$tLXI1a3ta!+Q(WvzkpWl+KIGs)C#?6*_ex{`srOrjW37k zO@~jOL$7-5MNoY&ZK_ud{oAf4srzF(r;1Q(8m$vCmRiaF&>u4E?xH~-u z%dv<--+KImc%*QVvmsZ| zmbYt=h-b%pnjWTKL!)*qL?Ui;$kTLtY&r@F9En7HWRIt5{G78W_|^jd{`v1>Qn*oy6-7Z)3C|Ak==w! zNR1!v@-$8OD+gtl29G-I{2KI>A<*Hl$lc?{WraUZuc8lCY+0c-YeVR_B{h7rM#)}PkwymtI|B_2L)5Bhs`C#=T)Q&;0Umk*$=^Sa^U9MyC+e*JSCdi{Gh ztj0;@SK`Et`_YH>ov<1|%Ugxz=Z8>@W!*5Z8?6b&D_0&w^|o}vY8?IVD*R~G5ws+< z8&>0j38C~mK1a~%ot@~ncs}pYI;-)evytfjFKsZdw>(&hJJ7YAK|i&@ybh|m5)T=_ zAC(=|2CH%Odiws};RjKIUmMJ8r5%g|;rm2|ZKB>`?A>wjogf&S%Cj~lvGSY|}hT+eVYp@XLi$2gB+ZiIKw_UKqR zPkzoV2ZZAO)sLeoZf&quhIgb7=z1Q_n(l#1;=J@T=xMn&EHAHpdL*L(%e+|Ll6rj9 za(sEt8RSv14d!)RL@18GnS{C>Z-uq;-7iCNkC`V?g>TQGL5EvmHLi1g1&;SjMtcvo!Xkd`u>!x2IF0UAZG%O; zbmJYd`&lPAMD4RDRSs)XljS>*u`o+4K);+|ILbjC{uM%^GDam&8hJkeAm= zoRC+@ALj&C4yTp*2lDcGdhM#XPvs$84^IQ+u66-I}$*BJMEQ92=)4p?b$!;nMcRM-__Bmw4U%UB#mFC0@f=P_Cgw z96;k&&WCvoF)Qc8B8D-gT+@jd#x<-Pz;!XNErQH3NjZRKecuN28oo`YTvLl$xu%A4 zO6;~}amJ!Z)bUr^4jMWBWjS2KHU^bJt*};pF`xoIN3Zn;RP@AJIVr0=p45Cls#3`l ztMN#ya=7!>eP}?3R=6~rHnco$U1J~GUDXq-vE%Lv*nQ1Dbk5QXmxe?W%aeBXUxYwL$)X%~bt8u^|-|$y=ea0PMFu_0?hHZ6X83doiMMJ^D+2Ohu5L` zWsCklQsbcHvUuCPLukX2Zdi?TzM<)(529%cyJ0mBoc;wq-0J|!n$ryz=g>oCaMG?= zv_GgD<~7W{%73ZhXX(+#UJtce{ScM*9$=*HHyK4^`gS0@|9gktKLas{xC?#esIq=HI^c8$iTK$=z3JDLQRwlgGf2cQ>9beoZTF(X zzR5@{H*<40wY|6p?Tbi4TDe1#-Zb?5UR2??Q;65;x4ld=W+kK3jS1p)M6Q=a7Epog}t1g~L zc?awfuX8fIOqa$SM_yYj5U-WJPb%bjHHCEag zu4}ZivajKKN{yBN2G@xqUiQY@1pUA5B}}yPVcr@)-%xm+n3fG6BKk$0rzlHNT z^gUizSWtM3gYn4g;ixS;F2Fp%>-sv0<%M}kD`$9PRwj&JHSW~Fz|zCKp@m^QD&>e; z=>yQ0M69#}jB8#ieF?@waaQ&n%mX4;`W}pBt*rD(m|J+Qi$kVS(`@jO1W&A$m+!@< zY7=a*?U#))uk+uuGbPNj!DZ+4z*_lyN^8?|T4wv*L$Ow#HORx1Gu;NSc;b(>^2qM4 zrk;T|xc}jwu~zQ0--+#uCg#6l5ocaQrg?Yl*gh5Us&H)jaMzZVBVwov#4}*;Ppn=d zhIsVHeqrVC_`^_Ss&}FVzTDXpYvo^b*fg(gVLPjFvx(Rg<=%p|C$EpUkxb)h{CkHR zu!yJcZfEjLYJrdL?2gsA^_j0tJ!$$s_VvReez>}|X(}z}w>d+w8c&(-Y3f1K_is1? zi#XiV!&KvB3;g}c(O8YgVZG@EZD%s*M=avtuU$=bkGH@c-Ns_A%*GMzZ!60FTsV$6 z4SjF4W#QQ2@s0aV24&0&`(wp7(_`fy#~iU%p5D>j;6caf#qY*o zt=!1L)9{qe6;548Vi7N|+Q#sbp2Ik87>c!W=!MpXb#y)?%{Q2P5SdFKr6sE7z+8v8{5yA!wdVHBZ&k<|o{84mnp>r~fcV0*D!fZ~4yu4QC zvG5=25)msgLpf@!#0lwnt;~mzSH#Mk4CU}T{xLGZ^`J*B9ns3{xJ=L0FH{^!N@6%Z zt{Xa<<>fUTqoe8<<}Imn=eQc+x-8XV6w%6yRw4sjJM`M*LbS5aILQF#^A3mF5D_n+ z^D|t7&q(h`w6Zy!pWzyz?fVWyjZc&*Jl2%2^eqwb(28vgaP1#owm;FzfoEGA;JV{! zdOxDZ74~}?;JPDq{2(IY%F8_ru;x&$)AvLxJO1KffNPnn4~7vnF8EDvfNPny`-T${ z*Bb9?fNPoP%_E6cW^)TY)>Iw%L*YEbX*mDCYb8!d z&ue8qguEhF=42>`$9XsOZ0)hmlo3QLD{E75>{DZ9eG=01T3Nq>ydrKq6ti`|d#7xP zRyGnnTbuH!HJoVWR>7^sl4^IuSMAbikXfYqehFO+@^Q17d61J{4LKt$Zs@ zVrylWCVLPyp1J_BwKA)XPDI50zrbv*Z1MtIqLr2PSQziTR@P=AFRzvNDOE}+d>0?Q zPf4xenG|?ui1fY_dnV;`4&S{Te?RXGDpSx2^ZG!i71(?BY1HIpC(P@pdn<6#z$7&P zZYM0_+@7KM@bu%T%7so?#LBx?pxx9skiKhW2z}SenEXzd*U397W9OZxQ2!_Nc|cBA zT~P^lZE_OnZ*;;UE~rrnk4ZR&UjIY;7^mS`LZwfNIHSz|qIWomT6vZk%Hg&0Tr=cV z<&V!bv-F>F*y{thH~mIuzoX8W*U1qF@cCM?=;=Kj*2=XUWALoTv1m*;4=mzxo(Hh? zJo=r@4enSgC)GHBS6RfO(Wl+88i%%t#pP-H{N2qRYvq_du^66Nt~=2Kt8s3nSp0&v z!w>paSi~XzG5BZt{mPwDt*})T zh3ZXcNqC*&@s@nuEt}r&Z%23?|0JK7+uuP$#J|pM07VHJ)=WpJX(@ zhnDrRC2Bl$#yfIk!2=YOYEMer>o2`$-}0{Ar6tkQFs_~JocTqnF2Nnaj zQ8v14>sXkV!f{f%}HsvaX~&g^ZNrd>1P|F#;-2r zv;CXYr70=SgN8bqwuU`G&4`qtD8*(-!(0*Q_z=mjLn}3~5uuty}Zb7v2 zoFAM_GTo>B>9?dy!yWHAnqZ$Ee{WAjtn3Tlnu{e~+yClpGDhbh$g72+Zz$!I#Ov2N zo4&7om&H?3!*-RtYTfImv*}>@Y_?rB?)@=6l&{8_disss{kK{9Y8^wE$dtqQzn8<=XeT|+^17gslj$s-=Yt0)Nm?0VfMb?iEm1dE60y6zlWF<$Y!o!`f~1w9ZDAe`IdXy3k=HPndbwq=yr1*)xlX2u z&$5v@J}ZfM?RqEE26_%)=b0#J<sfMM+xOZiusK25slC=om?j%g=W<<-f>Aen0*#iFm^nXVVngKf_jRmb9{R%>wg4 zNvw>0$jfVGEI?jfD`NrjsE+QlI2?h^KH<=&5~ADt{vd~P{i+J@>x4WIU@ek z;SFmCC`ZJp``;0md(khaBoW&W&nGbV2LG~M(#lqY^I5-wI`TRy?G5W!keAnFe?EbE z*zZKNBx1jqw*=RJLerNQ<>DNem`@tCxQ|xM zzaSUq^bXGp=i$+-Wf6Be`-066I$Dm1t8aQv>e6%RuCq7DS~+pUb2hFaHeTD?zF^}T z^76WT-{)k{oosZeOSmlJm3N+zu6OBqTHY2}jfXFOMy}9nALkX@WDy^I`;^S3+x;qZ zhpd&AK9)Xgp(J8uKSDXYR`w(0#%Z4>b&X& zWD1=d9Y@wjS{dpE=V@Unjah8GhV!%zD;u!9JRZ3&pImsHjr?_WkcfY7_lBg>a&mvO zKx$mSTpqdfh^|r0u7pHv_TUvO$K9t4Qse%WUy*dW-RM0}B@x%{{*ttMLa(`;Zc1w0 zJ@y4l9~X8;67jeWFUV%v_d+Thltf(H!IiD4!k7}Z(pRAzUMqbS^72|4zmT`2w(sF) zilO`Qn153w;?ytPOzY`>G3#cHO2fH6adHa1ZrXm{o@iy?XZz$b-R>f1x^`L;yVEt> z)pX4k@_x<%G)){`6RSc0$Km$IQ!?ydSZ59>#wocb8P?n&4X@(@kIHa;4S7Xu*2g6O zO0U;`nPEdjY<1(XJdK_MH_vQIMC?b~9M(lQ&~;HYwyKmM&!yKyRcF}|5&P~a)lbmcxX*loA2^r>C=;y`RC*zn5b2y~oHH=MI|M9K8SmL!359H;w z5+~&4wKCozuZYt>&OcC&i2W*<rOIkT);!$}vJ-+)_+$)LLXRJ|PO6S;= z<}s31_S;6}Np#-GJ#|D<Hb^4Yy+4d#j`bUKLDI^0SqTW{*pS9&B@vtborqwL4SSa$ zY2~C9GJ-ia?)nKyjnnU#5X`Y&ISG=8gA67FbF6R7Zb>UgoI8eKj#O5m)7it_Ga)QlQke=86#xQyM!)mzE$q-q@=F^w4 zaw4aD$!eUkX$(s*JI5J$jqcPf%v&!$QN%&ZzBNMK(bk^cLUtQ06_vwjvu_(9$Sc#j zh&aUj=fZMmd-B>}_b1B>`;OO16V|f4(0_QHNsi0zFKV*Brhy#2&BZvp~ zk%+^yFoJksABouPLl}z(`mm5|hO&5|51R=%Z`u(S4~$1%`;CufF~A%mVl??Aivi{k ztsGE^u-KqXHMVlzFIWAo2Ag9=9Ns&Em1E}LTo!R>5-IOlYr*2-wON-fEN{bqTFN30 z{PK5J7u`62qlkl=&13O|C(JYQI|gYIFG&`#-=rW(iATipyWgaucvLt%-UG4i(*45g%$_a?wgvk_#OX&Du^6C# zia7J~d=?M%PhOi<+{I#m@y=_%cU#$ZVVsIM@OBJ~0p>apM@))h@jyAe?z}c!&VEz9 zaK2LE@awBsdb_XmvXCPtv2p?nwi?4ZZ7nxudF6SH5=Cq_Wq=XtF0ab+7IMSUQc*bq z&a`WWSUI#_y!NXxh2@3z6tUUzFjfxiUtULiyM^Ut{ZPPpJ1@yCEUoai-Q{Gh95Fqc zmC0h`bZ%M{%NukvqMe9?wv1rqWcI%-@!BtIoe|n3q(xIC;>?&Wl2VR{QI*jM%7MCw z*ys0XRt~hSht162)GbdI4 z5L%nX!|Ob^<1BCT@EWp+ljd({bun9Ln<(Tp;Vho;%b|%$0uGwipT%P((Y09tM_2E~ z;_-dAN)mC<_!UOzGY!2eBN3YwEH%Qu&a-|i3Aw{sNr}fyz(N14l$3aQjj{(KhynJI zhy#A>iy#KrMo~GOsP>C(3po+f&5hc%N*0)Dq`9HI{j;TfJ9?eF1H##+j89SbErZ zS~*ZokTX8EzZ!=d|72|*)ZE#q#+i11vi1q6?`9Nn(uNRLcWc?h$ZPA!b}Z)1O)Vs? z?02s%t5;C>rji;5xwd8Thx>gcaeLuxBlL6Y#3(69h2{4_M(C3{2mY2sjDmuU&_Dg} zM@VWM)H_&$IFXUYDd5ag3nhr(JnnCa*Vf$@N=nQk4xrV5x`b?RA!+6C9tc6bbiJEO zyf#}cA*dJh9})XZSi$OLX6t5|gaE!=&ohqww zX4n0w?R-mI<8Z3X>j>IEAbb zv~uRXUh7#Rt|D&D??pi?1;EC zJ-1ipUJ(cTEob`|=3Ws;(`yIVzcBamI(TCUYZI7ng-ow8p-tep3D=lBPNCO^%5k$a zY#p|j)e(-fybhrER9Mq{PS(ey$yzz&eHbg#*UOynI4{5)yQ(E2}Y%ky!N5@@F@F>*CF>EWT*@5 zBN3a^dzl~x=)+ps&vqV*4f->$E$Dq>5D$!Z5&L%A!eW3iE@I_==DR(Q7v0;e)`5S9 zp%i-m!^96KWv#5-o4st#b6Lbe7E@Sk^3pt6#L7MAK6fh<5hHqU2DDXj_v%E%K_Bm* z-&MXAJufZ1uU@TDgV7SiusEwO5wY?t0Nd`zX9Uz51r9J4#USF3&p5z-QJ!&7>mVat zllr(Xc&$8(0sT|N^3F*t2I!w!S$VDm#;=I2=sjA{J}|CD95FNYlmU1H_He&==c{S&C)%G!AM^>kUp{`5cY&h#Dt*DtThTG_&93yaOENmU}^xYj#a zZ0B{=39mD!^kp$z-Pw$YI6P}0i-G*ooQN2mTPeZ*n&_w_A`WlAR)YPN(N|B@*qYw= zqNFbk%kP#Nm3oQTx<)S<%7OhQ;>@Z2WvDOgFJ4El3uiGvzZJ1By%!5&fPTwsACKcK z1{l{OHmCQtK@2did9C|435}~%i{0+s1Z<+>Jyd9|{SE?&M;u@-K#@}gXvBYG#v z=V%(ZKcP7Ltvw;n`&chku9JYu(z-Zzy(s$$ILH1JD*v%fc!yRy2R zv2ILwjc#;h@o${fn5c2CT^APr&!iC%vDxCK67_zJi$G(`x^<)u8&^`n4=e962@)}L~ zhQ%Dc@Fz))b7-G|m_tI#8MSiehE6R0@YO#^TG{NoU?c1cvjG<+H4Y~oS-rwH50iME znXu3Z?Vs}|RpPZ-lVws-oW(fPW}y+<+-ucYNyKKqFO?upv$v@duVs2{g*c&~sIgh@ z5(#4VTYXm2%DQr05yX!+{2*!N2zt(=j9E3#ZP5imz0l5K60d#fxf#SC)Wpmv;t+a1 z2{FU`rpDp)JPl&DURus5VmRMs{U_LpoqK=IaPA7*jcinpoyThJl)C58`GJMk7g{+t z@fa%eMQxn+!cx}C{=HIJnQ$G%>-06rXju8eIu_^XohH@}6Q|aad9Cx2S@{{xb!0X6 zy}XfaE4=s7L|#Yy5zg8nJRmZW*I|#>vpB6^WF+!h_p~RAS?;$`60zK}H;X^B@-j)p zx(Pj4T>?hWkcxBWj^z^c?aV&+B@qX?g-Xz$!|Fbhcr8B&k)ZEI&$%h7v026+MkQtu zhmT%jRAT0}&+%_%$P4>O#Ip4wV^Q5X9sNgl8QKB*n~3FVU1f*?`blvPv)RD51>;dG z=caFDZ3yF(*Se}lSzeewMV$HdI#zcW?`oX;LT2p%b0DvyH=biL!~85_s~`ShF+e%o zzIU3{m*p+S0UHuo8knoqI3oEx`hHw(wq_{e;ELx_ZB$qew|_k*Po^)DSs2IV^F&diM%!+xrxQ*XS+R7E9Xi+ zES|uYp^{d%p4PLl4TJuacrE|3)Chf`^TXE?udVMcF~YvHy7NL3ac1k462##D=(VJk z(cVxAV)MHDLgMz0J_zFRbqbXbrvq;FMzG!RxqnK$4vgB&wi~3|kSOA~x|>-HK~~!n zh1~1}i>Kk!8gd+`lYTtTVu=6EQr60uGzOS+qF1KNyte!4ID&a&V()ZWjnj?C&`5f& zvb|Qiti~yH-$85(u2&%<_OjZ{;`H5Eh49*caX5?FZe$fA;((ofSX~ZuZ$@~Xa=SN+ zKkPOAc7{fl9eT5RHUFzA5wTgjl@jculw&TWG#nHYDnTDBJJN;l8tFqN=x@oDU5JQ- zep+f&>ZrzMSxbyc%vu@wFEJL?MZnSCKI|L=`k_{~nA($_KS2NFwaWC(-jgWgZr>b+x0cE-*jyTDb<9 z)$4N6^+-vqoacA@?NZS>|9`S_4R|uLG7+(I%@u#M5>aF2I=A+|CWP0@wQbr4Yof-= z+CutMC&Fvxx_BtYN}<5wWtK3FC#={)b~xm&G;MwKK0%ZpX+^mKWyL%DzW-$$J;oz&qNU zlZ$hDVywKArhzqt;v7;TMjrgJUcC0({5QHr>$UdDS((>Xs}7)yk8L92uyF^GQpe(K z@k=C9+DeTB&hJ9KX`6hrjXuZ3X@ASbtW8EI)8~vhZGC7li}So?S)#_#WBy=qZkqoE z(aL_~JX!oxYu6=OIiRZ-t5^4lb%`2VuWZHY)!;xK!t3yDvnA-0J2IOP5u?^~B>uCINtaSIbm3f^++ZncH(P@xTjlF1n;n#jv1uizTETy|4gjm;|@X6e~>i?MEf2#d|a6&pnyxPK|z zR!W&~jcV*Sq#fICz^iJKhy!l6VcQKK`Nms~gN*Yf*r(C9;gX2`%FUBtUj+AEC8;sG zKf|bOSHxx$rW%#)s&Ve?)-r4t+F6ySc*;;dv}Z1-1MV+n+k(ENmE+8ouy~+f73aKJ zd)RhioQk+}>S0z6j2996^oe6JLpjAc&~7(N17n%jN*y1)N-3&uNvv%5V8fK682*!$ zecC;y91*dyAMw4iM2(exdu&HNBIJ+#dG2y6qV(pUsFGEAtX; zSH#M^1lv{Rk8?7#voa^EwKDfYd-7U2?m)lN%E~ba`dD#Rj_ELVM64W(VeIhQV*74X z<2MVo)+*x8Pyd$9K9(cmoYq?rl=FM$8JX9**;`O-M+^MzhBLAnXI|WlYMEQ$8N<%V zyiT#F>zoxW*m^Iob8kkX<2258bbjV_kk@?HKGs)0$Rf_&Jdd^2(SaXi5nI=p$J)^E z?t59pDYKkey)0YRBqByfoLIe{XIc^w>&iK?dd*!<-xncZx*jM&f9^2lDACK!nUp5JW``$VLQ|Y(xb`K}A4C zjfjG7#DIVZr~$cZ#3-nUkm-(~5fK5o$wdMpBC>(aHC%+#-_==tp6BP(@&OYyd zpC?au^{VQsRn-i>`AY7)SL*KGF5WSLRZ^ zFn6eU9z8n@917?oTn?vhVm3-?-d*^vvRxOZUw8y;#RC zQ`a-k&7yNp4QOSk*!ScjUqpCC{6U=8X|cg|bjv%szGI+{h*QN8DId`Bc>fm6d4UB6 z*Cm)&tbU*F*O~)qhOXN`^e(kk>N^>RibMZ7j;=LiKz=~Q#>KI8@5&x}H=yF2F?ke^ zv1Ud<#RcCdQ#_sqy*ueT^UD?#TVDN7R;#$+jzo&h(>HIGit~z|@S=}J982>`Y}CCk zfPR&8uDVynz7CIj(PxUf$9jX=nE!~^DO16Dv4aCnU0kwner~{tGl=5`x1@23`>X4s zp7AukaDP=Ccd$8)HQZkncUziAv0*Ie+V}P|6dT5cisSzEJjI4_5zOUb?@>I+1G*lw zY&MmTJfQ1nD?h(x_0OoXQbWZY+r4wvIdN9TeXV@U*Htmst3}E8P93jgzNhbx{@ZZN zBW659F@MzNyrE*g*RSunU?{m_ygWHO(&X`?>P&0ApgqqIsb{K~$4KUc2ade=Oow1IuDTP}TauF<9<9*Kvf&hjm@Vhf#KYDk?5n&KVL%-1jWS&^7j)A#whm<`hq2SUpqMIaQid4C_9uYr19Q z*`Z$C>#~*6rpVofcyW&&?_rfA@%H`!Cmy%FpkKg=P174kHZ>3r?w7>*Gvf@zfP3eb zjV@y-HuPxd<9({(Yf-Ew;?9^};lCtDeA*=NOxyjtz` z)`p6Ux{je37SDb^AhGZCD7vm^^W1>8M>VAwJkx(&?GxBDD~@9D#n&v>weMGJzqoZT ze4{R9iCow(fc7u=<9L=&U}NM^FXAb9_EMI}*+aaDC+^7cEJNV@-OYW7C-323S4*7Z zY3@TjMtIF)iQ}xflH!^9en8@a0nbuA8#l}iNQ|`y;>kJDiq;`I#ySCQQa-UYtr^_* znB3oe6OT5cwVzvFT=<(Yx}r>7m(ASn!@0K{|J6`&V%aud>gq=RS|9&vsCY-4ZN5n_ zHuB#z{8vNQnZN($OR~*p?y(ONOk!$#QME!f%5}{sa~U(C!20LxA{CT`tbC_ z?M+>m&7SK;fBycp_NH6Ti=FF5pP!Q1-g?)e=dxb216&ukoV#vTfa|F1g1cq~xGuUL zv3U^XCG%a)Pcs?|)43BM<0$WBrdQX5;~h z^A2pK_>t#zU7E6$;z!QE8jd)$pUOwBR`HnD`wgBKB#s`ph1wQ#ldcnA+CniDd21ND zK6Jx2n%8iyTgE+o&&q+-I#s9pTUpPv?)6A(tQCAy-B9r%Yh2)3dACmJByplOMsQtE z&Rv~!9bt_T^as!B`kf>;ejY@134LXYSJ%hu4x;$`?%L#)IPTtmQeB2T_>))LeP#!6 zFWSEm=Zn*H-jA~abl+<=@u|41$E*O_ylmd}K8bxz=XnuxsTH%t1vBS*5r1Y_6Q8cj zV&;0Cx@g+d;UOR5FPpH%t83rW5BezPUpIN(a(?k($}Q+W63?{Oz%;I(o6yNEm-YID z>g!o?S0`O>{B|kT3u9d3BI|hv^*VKPbwk&sd$&>i(@LrvZn@y2eZKSC8`3k5Th4rE zx9{wDyG#{N?E4cPKc-W-q2hwHy}k+KDq;@evhuwK*UK$0zHSS(Rrj?u4P7U$-9#}j zf2Nk9;xSPl)3rQ9LRaZ}W5yC{PtWK3R;$=Z`iNrlv>3ix*Pd4fQJgtN-+A3~{*(7n z{JD+4@T%BTGneA;RyW`cX5ZxZz330s{4qX>b308Bpl?s>T+gTCxS!wkqOXqVTi>VR z+|W5*r+fwbzL^ZR$p(6<9lY(bpYWFU&YL^HKs>mQx;6%W zL~&xgNF4qAB8nMfN5!F|mr%?YJHdQ>=w^xyc|+HSp4~&`;~i8mkBHhx#~`;T`QT2f zBgz~R#2XjHOt)?M#U|zdf_(MpMN+FVJ->=8MYMW94n94HeAu0>xP| zUtGyN&*Hx8dWf|)Ky2urD(3kV_gBf*+>P>auRRLpwGGCa#Jq07I8rgM-;i@8=CvI1 ziLO2SclzFWwIO{*pz9%FI}Ps}_PK63G5r^#up%B^_x;xfUy2n^$^2c0#6_!j`BE$D zCGn6|Klwjcxdd0-WRF{FPt^Z*yu%~Ph#V})3T~p%YGY3#S*Qd5Lb#1Kb zPcam)PcS9UeQLHB_qSDQ8`CxKoaMzmDh}LW<_cUkcUpjB6FGERfa59CbY|wg24cWH zlGxL`uR$?b_eb)EZY_=0wEcdpM+6*QI+G(RGcO`o(S;>kY)SV{HZ+;Yw6q>`~m>d-q?UC%z&lFm(izP+LAMzfmJxkVW(0un#|LK7;-xPDc! z#Cu$>Cl|Y$?U(~D{;rYu~g3ZqtM+E(H%hfY&D=ra<3@YD$^2mM6X--fj+>Gg#DxsR^r zKb%45=3c68NPJ(X%#y_E4Jfy}<@Xn+Q<)W3R+9k)p{+=(^~)61V%J3dMkaD{<(Wauaz5xxy{i?|R-u-oO~w z^^EAVbS`qHTVC`0X{sa2RPmiF(o2$0T|;?K;_5f0Q90w6#TXJFIGk1z5^cvL@#WE} zRL;ysjSYz({xgy4b^J(ZK;k;x6Dgj!V@Uytr}T)Yc;eRH>y>!-A5HCex~F+1ezHw0 z#dFB}gID73B4R0?qBEa*C2l)C(uqgn{VO7!cqEQ~u9kDZBwoL-mUF)(_LqfFJm}97 z&w0M89go$Yb$x5ozfI&E9!LSrMw`fR$A@QR#Q%ZKuvVUXNE$7~rOl2DDlMRVO;#*Q33q}qJNW6G_0>v}p z>+u1Jd$+K1sdc|Rai3*LTu>ZG@%RR`&XTy@k1-UF5joB)@uVd&6pv?0Pp`yJT(okj z)jo(v;_Kp~oOmSeJwNP!-!Fk{g@-%$OX7u#s!=@X&u-b%r8>oizOC!q@~Y6e7^f0< z4tS_u$VC!owenCr$g2`B`OcazD)Op|`&rM+JI~dnwXs|Nc2^>mx#Rj942j?C*MiE) zy!1gp;zk#nP&s+i8W&4^@j)wBSZ$R%`L`^I3m>q?cttr9Px;Xrn^rlfm&D=2Yfw38 zXNmX!JA}%?eb;pl>-m@apF^Wua~5?@-DLf7@ozpIm5ey2fmYLmE!fAYHJ$@5aE zOi$wmopgO?T61cv6%)63b$ubOIknI6J)67|f4(!8Vpugf&gYgN-xf=;jkmssrR!%m z$5MOl{@{9_#3zqNIQ7zXhm#Rb{1T_1jd1EB@qjrsoqnS0rHgAi{Y2t=%WFDgN8)uM z9;yrSgRVbp;Gw!8CrBLI(&LO-iGPkcL-R7`8i|{BJ416H<_L*-{;gwumsw)|Jo=jU zd!5gwD`TFs5Rb&%wube+b&2^iQ`E&R^Zn{=eJ@_u-2eMozb7Cuf2KSrCd!nU$5fTK zBTb2UOg(4)UV+4%>qc6?9U(D)c3<*YiYYPY&)BLdro@~-{nl?#xMiN>YX8;Vl$iHR z6!*Nzl$htuOV)3yNX+x*-PZ4@=$h9vXcLKf{|VYeVqOcOO(f=Z5!yszUUOo6NzD6v zFuo+_bu7l0#Jmni{*joU5im}5&Cfo_?YiduSIFnO=4U13aEbZZ8FQ}0{LG8_QDWW$ z@LD}9l!IQs!q&3hXT#?>|@=DikSt?HT*^L~#f7Bw>^<~=8#;R&Y1 zya%Q{CDU}vygw)IA2*n~=DkKZ*DdqDBh*pXyoU<+%PsT%F5Ej^^IkRdL$}QP)-XnN z&3o`L9wp{|hR78X^Jm|umTz%B2bY>Z2mklD&CX}ys^-t}A4#lXO3eETCbthYC3f~X z%(>Q-nD<>QeW0-^G4BJpp+-wnV&0e1FC*EMnD@yb9*KG14&ss6*+*pEFSpEloN(`S z&HJ^`4<+XPS{N4+^S(HYafx|98^*Q7{F!WSzYWgkv#RFLh3`#V?|eqAYW|En$`@kl znm@}vmf&Klmbj_ddr@vWlNX*|y8-6g%l$iG|gx^`$l$gI;x2}49Q)1qa z@zZaOOkMN$1QCOZc@GJ$B{6@`5%)r3-W!8^A#%lcInh7)yPTCV@A*Mrm6*SaigD_e zd0!L8uda_Km75o>-xmAL`n@S#e-UxoY-@dA82bv`^0&X7qIgiIiZ`@qRq~$oy<;4& z>&f?(Q~WEf-&Ig?$0_9|uJwZTTMD}V;?~o2F13}WqmOw?(9RvL-=L7V_D)X;?)4t) zH;Yu9Sgi`R?L_N0D|9`xZ79Y3TS`k)*Six#DbCveYH6yt?=7Je=UnTzJ|rIBJd$Gm zE2WL8>p+u8in*!vdtWNPJt>l6o@xDNi^MG!#5yrw4If?->(ncle=KO`+%Fa1Ul8lm zUDuIsHFNrvu6w@H%;_f*PuZDFF^ti=0f zWl$ZF8+HBdfL0VU2F2X!tri7?4=B92jptE%W@2lJBqJSB+J6B@co;_qg8O3)^rX2Vyj z_@nJL>AJa}e&>}q|8h;b?hxyDtyMg!Y9w8Ej`dsRx_&q^lCG6!{oc5)ulqLExvs?i z6|qhXD*pRF&75|2%Q5SkIc*-ymmf``>!M%jdS7}9m5;up>s#;4r0ZhbT@5E(Zbju| zJW723C#|TCC`ZM2g=Et47|X%T^-Z^acURY3=05AUc2&&xw7>P+!V>fS?O^@3u!^}4 zzh?bDv&7tQldRufRxyv+HP-KD>zc>u^VV-=>zZ>EuIrXLcOf1XbACpfOU(HhZ63@# z2cci-n&%z#C0+9zjj`jFdCtX{QgQcYnI)5+uz&x`Ek}($Z=%eU89NM#zv_OL%0a$z z%ef2Ao1J|P{3X417!oILJa4uRY2bgR{tiRpS3f#S<)Dtb_PlVG>Vk7soUyJ7-RrVF z;ikm(_EafB8@}>hxGC|AN2`>e4KF_sZo1`}YeT7y&F*YwN_==zDAn=%v+<@|9(sQy z)%T6C3{%(L_k_~9#}>z%Do*bcN$qg!+6+_IPxp(Yy0;&kVY+4Sqp?oiC4Tm)Sf^fY z`G(=KPJLAzQLUNN$0RO38}IZnUEg;k-suk#KXW;W>Vll0>vxVMQT)gQ5-0CUqPidt zNZe#{I@Ja9j;_l`rBhunFSzB!VVP7W^0TggKbb*of^*&S^na#PnV7RG>%3D@&bgH_ z-lp4^ZbtXk(lRtw2!WN zt%bg)YhGWWze&vNBJ?+1^LiLLLD#$nMjp^LuX{1}bUdDn2kEqa?SwU6)`E>2rbV>wC7o zq3hHM7fr5?Dj)S#@x))sseBwC%ynCYl;Hjr-1SYd#81o( zp?i`0;@RS0P8}3N?QfjiU993mo>~;!#y%6gx{mHui{dGJn0FV%JNI41v*#yKY#1*Rw@XZ-*f3sH{QSd76eq@xiWfCbr#O+v zBrYt>pmLByB>v>*G>RX&PS-py^qjucnIo=buJ5d#+nu^s#vJFJqqjLRU&-7b$_m3w ziMc-v3a@1bGxveO-dd)Lc^tL-tf{GM9y=>vY+?p8kDcxB#+kb2Ty*I_X{KA|9M%8H z6jQ~Vm%jWm)eL6N?TAxio{!L;D&~BS*i_8(1?sM1o?Fp3B<6V&eL%&$-oSX#HLo!+ zMpVq}4U88R^V$!2L)W~PL$1&@uN#ryRQ%!R=ghhh_L|l$_x?G(WK=D?OkMxD@*>5P zc>7jE*JF=fG;!U-m$n!ZFFtaP%E6qa>#<*il%PG0HKC@8-}oVf+N$;op{B%J2G*kM zPK|3~N<8hcS`^P+W@A&=#s7+=7+TawF(rN_KayhD{7$kd@!?LfPCUA9ep9RygInG* zH2#0zBZ2D=h`?}t8G@Z`Hn03pK_DZ9= zAfLEpu2=KdqMbUbnqw$v663^E89Vnn$rF&6@2_WiwSdGtE_`o2=yl6HE;8RA=#`lB zhVRTKudX?76uq^3I%#2_)}Qp6)M&o6YpD(0QanCBPVBZ-}P*6Pm^^ZbkcEHSTJ zFs^mY>lTb_i62V4Y=*xQ<^TPwO@_qJ=3Jz5kXPOE$@q)rwckY1J7HaK-k4VM;3@lD ziFkk+@r9C z)lG>Hd|tH#{qW^StD6#UJz9(EwaI_2DRIjSwWwaBj>MW0PplC}^?LW+SX1Jmt0Spi zFTI~&N?c?{QoWwaN-!m!zc!NUReGR>DY371tWz&tm)DGS>f)BGSBrJ(CGpQYn>zi_ zEsxvK)ajGDj{Bym(+?%C-#(G*g}fp0jV%(XF31}aue~Ob>V>=^ao)gGsu%LSuJ7%Z zN_9aVz8cP0kw)cX?$GtHxoOlsIQMG!bn8?qAL|EQb35O%u(8wTQgi!9r!{fzg{nFJ z#Y>tvbx}2sh5RPz0f~7mWHx9WkeJ6p{^}b85_9hIEo$kNnDbRZ&v>uIoVy|hU+>j5 z&o6Q2Qm@23*A%Vz$g69fQ*!@W?3I|;0H}+^yaqsBB<3{$>LoF++0fr4<~1Aoo5Z|k zLw}Q)*VxDp67w1x`9We{Vi>U)0>t z_0M0X(z%#tRs3jJT1oqf_W$<`X8*Fw=GS{7{X;UE8WJD=^&*vn*mT|YNsrSe!Te5h z57otUAl?Y(kD6UF(YA;|#m~L)x5@1j%ugMuT7ve;%kT#z-ZrEf)iL+h{s9$FNvcNm zEvV8XpyC$EVRoG5b-WV)cW=l&R~5XJedt>3aR2F;1Mi9{+w*=e|q)b8btgf2z1( zbW`WPtGIWMrcS?7aoasD?Rr_`PU7f-mJ}z(k%~i)r_gng58d(&{nDsR>2Ri>z z)l@N$se=n+Oo_SA4;|UaR56dKSEojsD(0MX)B5J7t~r0s=pJwCn)B6(Da}k>bN)xn z5_7Ib{K3rmA91Rf=TO{tx6JcC`l^a~K1Cl0W}c(buT;!y7>qlKd7XxQqHA8yU<|65 z*QLly67#wdc}drE`du;)PPNyTZh2Q;YRO%b>@sy-W0I!?@k~3m!O-=d1s=NYKjv>R zbUk~@C6i;;^}gq;QOsS|hnNzdm|BhEpYlqGDRJa$VHA(IK_gS*O*6tMo=cxMG$lTF zB9h|CEo*AJW#eol#a4HuwO3Z)PqxK4vFZBHO)*Xk62I+h>fA4hx3_NU+%Jj0yQ3w= zgZ`}RFWa`H7|@5^^1Mzd6c2KOTkba}mCD50)h++fEQRWh{39{fv3phvr@mJ*U#oOW z3+K9(G2iRFPX`7h=KF43H#nec?*F-~zR!}F`+wY))majAPKYj@=yl7SEAk$E#VaxA zQpBcf&Y6foVxC`czjV!W3ht3x=J^+WSYn=k(T64GH4MhDTjsS5#<;}yzK~MVX>N5*?29s0JimDqU2D}d*PFWjD=~_$^>Os|rd!^d8bxgw z61dKkxcY(^r(SNkxFE)-FlI z*8r%C#JnCrT_ol;0O}$!ucOfSB<3|0`kutR&P3mH%e*yJdcc!d#>4W2UF%t=xL_Z0nZq8eFAhd>y+?6>lvFq2uH3Yh|eT%g8Dv z5#e_E!R!kSp?c*XNHcWZ{_YSezxg{EhKhGAt4`M{=${{O%N;UnP@CjG{BA(Sr;k^s zm=~{^5m51_Q`4$cYQ9L;_>v#TczSoH$_oAdH+fCO59;& z48`d?TivVTMz==Uao!p04d&thh;qtQ@v!_Dr!Ept85iTkrs7*i#X0v>;zljvoO`X} z2YSRg_d1w2HAtY?Fh+F!_&Y5q9*hMQFWb?A;=x!@@lZ2~VneQwcxBBLDhJOX5})`o znc}BsnIIl9Dv6Fkj?(qL4<=K4qI_NdZ2i^~ayxRhiaDPrm6aMQ=JtPb&N}B_sG8%! zwSt-3s%6RdPP<*n+*db`{@ak4`|Z{?=M5Eezn#42f}vs_?{CeHG$rQo-f(C=Q^h>q zZ=4Wes+jZP$c5LMy5`)wF(JlOG3U(GVX>yJdG5fqRLpZ0>gASsK0^G#%yT#HyIbb@ z9eqH>Jint4sF>GC7*o3DwGhUUig_)Bain5iD%s@K#-=M0Ja^s7NJ zq{N;xB<}H9IK^|cRy|YVx<)v~Q}|(BQ{p!Lq9~qOE2B+apT9qfV(8W*+H}h!hsQYa zxaFmf#5i&4x__fM=YHvWcC9$)9!dPb_!blc`mn^khPR-2(1&$hwO$g%fIK7dzT1+i z9OM~^Q%@&SU65PcGS_S5$yQDsD`Sr5_-n15*eYYb*9CLl59pfjZ~M)20}^we&-?P% z)e>|6&r7XYtZU8#We;DdqdaN9;!*_7G;#pG*i<~Ig(n*^Xdlm;Es7;BJyInb z^(xpktyto26GJJU=&X;u5;r^+O7Y}eoZ*#t*x*QtXHL5?pTuz!BPpKpCKtRSZ;o~1 zi4%C((pV=RUEi{_nRAbHJ?hqG&V7;imOqjy2J~Br*W8v&@u1&I-1xl=iU;|@Eg#vP zPO)K(t9bEKnRGnzq+8DRx1xHXOkGcW^Sr;!scR_r>NPq5 zaLaiSm#NH=(T%OObmd*xuxd8iXT)Ej0f|$WSItHp^G+uPB!2bNS`<&jclUZF?iC$I z@#J?-^Gdw%he(Pi)c=E5;(o^>DW1~*eCn0>;3Kh4JQBCQHP(qo;u^2SJNHZC4vpiT z`z3K%lO&1<{aNDNafuWU`m?U{hNn>s$Qu%OUz$oWV2ta!^k_Q8fSf6Dded}@0p+;m zv28B7Wq+SY;<7KQP&spcOg1Er__Z3o})g5;vUEg33WVOYDnE zqH=KGb-m4c7Uq5^@%*u^v*TZEMEzOUW53O$b60q47;bsUTdlKiT5ZRp>m#q8@y|Kh z$e-V_x}obG^-uaoTIV7s=sNN9GyW&6m@~hrZm4+0-ZOr*IoeI)Ay1v8auBnwJzY=w z6D!(T#l3FwWTS08{U&shIJvtg8*Sxz>aI=_=iTR_zUMh!zmvqfH`kLqc}1I?X&sO!P^Gc zh3bnOqU#+yQm9_Y8xl7>nMw7+T%+r{g{`wERLnKHF5i_&b;n%emgiXW_*82?@(ush zQ1NwE-7#0bbo^IC*W0Ym7ROqj`M%VCui=)f?as``T-N#HUkzQKvibw+zGOh8DRGw7 z&(S80w?&!~KV*GYi}opvi83XA#2O=LlVdX?O^MH2c>wM6;__ru;?J!7hW2URH^r2A zxAmDg+UL$?DW=4aSUD5zQ?+V}sp~CP&PSWf%4}~+jQI;~QgpbzDe-b^zX95$U$2`? ziGQ``M6}8N*V>yBkF(}_ZXaD^t-@_0@eXS*2e*mDORe<}w~55}TkAR=M{aqiwRYt( zC2^6pe}>1D#PQY|n8%dFgRQka+6p;Y*FCJ~6toHQu*3=0-XydM^0375*7FY91bJBE zk=8RK+5~g7#AVhqGTH}ox2}i%P>pF2gOi z-IJdEkLeBkNA~P6R2*`9G9BN&X>C*Dw$>gA)a7JmT~p%stUViu|NNq6ro{`CX zaLY5S&!$tOukrVNd9$JG_pHy>aqgzX8m7dXtl0 zPw~9@Kx0#4pS3pw@%&Vyr77`#Yp)2}r)@^EDRFme?+VA`mOr%i)o^UOo^0(A!ntT? zx14P47vesk>!Zu6(z)o*Zh57(FN^!Ot~*-$)^IMyyTnK8UG}3*FveB9!TMaad{m_W z)_xldiO*P{rB<6A;r}*qy&>`A*5}TM=YluHl(_xZ2^3GCOphsXiS=1L;_1}4p($~~ z={Sn#o+;Ou5-+y)Dj=RGYBe<_u2vR9@r3QW-jw)&wU>kAk$9rDmjnF=@kqSR+Uvsi zOX7#Dy)K9c_eeYn|^gshYn(wSL@5L)W3!XYQ!WrOD-n#Qa^b;RnM^iN{-e2@ubb z?sZLx`Fm~as@FFq9%k*4Ks+D)*2t8YzpsaQbRB2y_uv>L=I9z{{g=l#^lv}5%LwLS zT~GVZS;t_XLoh$GDI+_@is!=oU53QVN4LsOt*Dp8@o%-t=9pDn?XQe%ZU+@l`Z6PX z?yC*`AKtsmkT`2VtL&LpIcQs5*N;r0Hh*SyT~p%YEmElN8>`kcReb3}GSz+AsJf=a zlfQ39@wZKFX-XWw-TI!C)j!X_-qKX@y04p2{JYjCm=e$06-)7VOKoFH>?^arUuMN$ zXJ#8Sm^W{WrI>#S++a$4qF6P9@;ZfNBq#5}ljJ)ep(ei8ri zlp?Rh$eDevC~OW1YbLN8*Oonho(|oJw5RTCXC0+Cbz?KQK+pZ(q{d%`%o92Kvxa>~!wb<0y<&ZN2wSXb052QNusH19#d~MYG+;z^Y|LJ=SDM_IiDZ~U2{G``6}j| ziMG`>=Sj4)u6d3?zjDhwU!Y$FGtYw7CQXJ((T zV*gf^u8;dNvm<@>xw;;^COx~y6V_gx={pP+PrElWd!ThZ-Z!dv@W<)d9xJv_dhIZD zJvlO&+AwW!xGC|@8C{Ey`I91@ zdP#gJKhmj}#Ivrc<@7g+8(s```kutOp|za8Cvj=>5ULmQfW)79La1KI0}{V_O$gNs zIYHv(9WVHKj*vL+zMWg$e6H)9s0)71?Ghh9e3r^V3@Yv$UGC?(QrEk! zc^T)Hor*FfPPN*6q%{w&_)nyv>mgRV-Db^+eaA!@DlWJB3CAq)3akGkX3tIU7E7FO z^?$@4*K|R##0RW#je6xiQCO_&Xe&pdE)glyyb?cT5+Ana7u0dgfm2?I*I4r=>e#o@39qg(?{i%wo@cEAxGoY;v(__Q7l}t& z>oo3%x=ygxX59BAF0|H}PTzCMTdXxR>V;gP>x=QpR4?QQU5~WZ{HP0Zg04qd&oYP^ zIa%Vq)-wz43-YtB%lBtwZ|GN_o{uCx)jOTa8UJj3L*mC*rDbobS>M0>L?c7RAz|s+ z_gAm)Ka$?iQ1OSp3@RUUx31g2l|k3SxxsvBXA-qT!QI~!yXC3(CsEAC^Jj}yy!qWE ziZkx??qU^3U5=-i$NXc0SH*`vj;DA$6CU-dxb^mUif7|P&wF*2=5 znOKUypzl_%itnEgOY!H7+v^SHxVe!|oNhU1b)*xgiq9{NbmCNT*LJm>`>yN9C)RTM zfQl0a)^hrQibwPhq1Z5v-13_3Arv#lk&0iP8A35*9I3dp$s7r8~^ z0e_wIBY&ctU|!t!qMvi7t~Z{%NaZ6x2eYs1IVvA91oMFS^ZrH=6>%!~+gcgfPt>xH z*Y)_8f77)JCPo_)`}+Uwf7yzmTay?=#l!ABPsgJjbiMmXNH*H1tc52a@rf!`vk`Od z)M^2VJIts>@#M{X(5vf9AJn24jCljSZaK9ilHzH9Zj;w7pZYeE;#@I(gICwNBV(O- zB%V1u)`>ylUIp>a{nGX1sqxPJa?3@xB~d)+&u)2En|zd zdPVNi^^u8b6f<&&TRvdrv305zMG#RV(J9w{NBTR@Q^9^*LWl#i-*mR{m*t zc?;E7$LJ@B^U|77Q`eKMH8bMu9bU^+G5QZ;YxhE^DKW+xV*V|zi7D|xYmJTg7r)rV zR58XW;-6?*-@Vl|@)cqpS0lxgxQ4Z^M$FxwOfglA{DzpXnU!oxjQr2>>$;b<#^#t+ zjCp}$cFUMgxzD)eC$054_a7BwUgrLzYphQYKgOx9*IR3H#EEgLVys~hC&sB;#+nfE zBR9HbtPc?<@}9)}9Pv!g?aniWs(EeSdGt0z#r&LQ6o#3)=I5j3duy4x=4a2^pEWhz zGCyOkdpFJuW`0iJ@SikO*Zh3F=*v`7*Zdv>*LBPMUIOt1Gr!wGJFA%A)u0V^&F{X@ zmn7!*SLj#4%``*0SkT|wxdUiXj96Z~qc+Cr`**mP5uPxtX=sNlKL~7^H9<6S= z<&lpkQadF6Ufq;AgIhklvntgWxkA^c-ns1O zxkln#|7Abte~DM!f04>T{?~Q>@XLOl3*7R7H!o6|h)2cUS6}q=Tr6=%YYl*MLO*O` zNIcBCFWs&Av}|ExL)VL~_H6o1ls_-6iJ{{5vo2HJ5wotZv&IGD%xs<>koc4}77(*9 zx^+O}Zq|55`;Rbg3`pF^%44XPXKqWc#Ph72M)%^*c(25VtelK`W#(S*mAK5BYf!J5 ztCxBuPO#=0)GOzUkGv9JvgS?HEAh|8UWp5>^#IpP;)ksD0M|?6e%6|Y>m_kpYc0q9 zP~yYZT8{gn#E)C+QtpQmkFeI;s2B2v#51k+HtL1EA#q*nnF94f-jH~k^*n`oA#dw? zh4oBC_sGiI68BC>&0e@C(qEX-)R6dv{4^>DbEvL2zLAo>7Z?nTWF6%XE(lHGP< zq`&@wctgdRM^mYM#HQk6UmBH<<5fKVnnbF5UMqh<;`Fy$Qk?l+`v+7!Y+Fl;(-+bs zpyF*?n^K%*r|WnnUOK)h#c6!7HA}^3K5j~J<~?vOOT`z{Vkyqt76o2iuaAtS*hVBz z@~SvKE|y|T>^;M);sK#iPHYmt-aN{QQ^jo>Mmcc?^SInF=l)9k;iqBF{Z;XxiDAzD zRq>YiY7{5Ni^R$ASED#FUQ~Q!U^R*p<3+{QB0Ll)a-+n{@A%t~9E*G+aht#X_9O41 zoM1lH&qH-YZq#*7{v|*1Fv<_+iHkkd=E&75{?^LvpIBus?eLSKVs7UHXEr)*uIi~) zY<#U?<~I4{x{XfzT*=%&yDYC}O5ED&tBCEFsH&!lxqr6*qpGQ59`7p`#+bS;vc@}N zyJuu0Q^h>S$4rejbvEK*R;qXSHryi zL=Fk&obN9Ak4>$}s{$vFOv&D5m9zEO21DYK&8gYDE8@|0_kJnaJttY?ZvF;C+h3+; zceBpL{L)?5<62VP$E^=By9?a*v6dA7*RO<_64xKyl;WAvpphwYuc1vTo_1d}G$l@` z6HDop8ut`2M8pmbNIc5w^N7Lt_WLY}(dQA5Z`bN9i81yOPs9%s zy%J;WBcA++U-3$ee8}-gjNHiaNZinxJNSM{jQN7^m&BM)5fA#at}%xq2J~UKjI|Bo z!Fbm-)+C4rV_f3m4$0ZqhDP{b9{7Wy;`XnkWEa+qptX&}7iXtrmvphq(RIg%ld~_4 zitw)~`@zulyyYp`bw}IRmAH9Ma`vZI{1e{&!I1ddaS7D^j~%>ZNF1>!f!d_+FP9C8 zJ5EcWdY$ig*^u~_jd4`3*QZ9A5?}lyj_Q@s_8L>-<-6jjUUl|GnG!euIfm+Wd*C`# z;wN{-P`&>7%=MDyzdUQ?s5HzjWUK$KH2iDUamIrWnG{((_Wy(F&xP`J|%CC={= z?({>6ck~N)`k};AmsO{FA#X@L_RZ>4FXRo0bLLg2dLeH}JnKRgsu$)XiF1CcLiNHN zA@PovJX8*z<#j#eU=?Z;%n@#R*enl~iFi~T_o>I3uO*&itrIZsXAVp?B<^k9mloFi z8#*Ax(Djp6d!DoA+{OD-3>B}k`Vz;i>pW{*AkOlwuLdOUXN?QQ?AbUmAn{UbyrV90 z^Is3R<*8OqLmiDzuFaD8S1YHXj(PvAktK10m8((5yuQD8(lzE9)TONP9bSoZt$7D^ z$%*LVmAHd7pQ0`iqr6^;u{Pj(Nt|k}6S!UyH@4P4TrY{wTkAURdlE0T)^*(XByMf3 zSGn&=T-#cQqh81xx^8W)y-^qB3W-0oo+(flVjM?aiaCz zx0mYF^H;mCm7(H!v#QYXm>+{Vs#}%py5aTc88(=gpH0esA-A4?%YigQ;%ZqbR1V_N zb>_e%r|v3VQiABEq2e!QCp&GW;;u)Nopw`kT=xX3d%=MGfW+&5YC&-(KKyP# z#i8{QC{EAX837f~ER3T#J>k7O>H5k3aTJ>;_LJ2rUNJt-j_vWhRk|+uHiqKNJ(}iq z%Tqs$q4@L5t9w;^Xhn=2fA?5#FwYns<-{rRxBrTAVpH*m=cAn1RBXH!?%a2`d~j#D z(;rk^@M*ZyA5`4_aCM3qV@lUKEo<1Vk2n;`v!26dQ7;#J$QrR1R{c z#M532q52{p>YC%vnX}HRi>g~&bJhfF&WbH7HG-Mri7olwiS0_}dp&jZ--g69tb2;s zR<${AsF?f7GkY!=D&}!CWOk$}@eykrAzOL%v6C<%!c;NmrOpelHFaHTOJG3R;2AI$mIJi=|FVxDKwPbB6!6!%@lybi%Q zlDNcLlc2sBM=IuZ2*#0$dCiHO1Z(|?IwFs$INtid*rg5Zb+xWv?~;_g z%sSUMz0{DnTV8VZ=M^#NdTB~hc2d21{$sb58oJ&*I61qibuQ*CT_0T8g6dv(@i{}+ z8yB>om|u!LXSn4ZcgETGBCMY2mh1cCD9+zMwEi!xrVlTOp?JzyMw=4H&yArNUh5HU zN<1$=%85tfN2W(P@kqS z+~SrOZ>o~rreeHH{A*ZMsv~la#2%}T$i1gdv@#?{45-(%*IH9NI>x<53`Miv4@iuA zjq4uTI5(hc^nb+Qnf&W&i7^%sgQs!LVu_I-5KqBVm$D>Aen32VzaP(%82OXqkr?@t z<{yT{yN`cE zZTLXFKMaWre*T8q_R`A-4PB2gzoGWLJ?)?&apJ0PsGm2hf6$P4@YHqGwtsFbHFO=9 zyN=p(`=C<8Ew5_7j@ov2%~C_+j&bX#oxA+>ogr~t%sOi4oyFf7x-PB0f!cQJ;dzEz zE?EB~wRv{QJVV!8-v5!>_QQGe42e&@{3Eq($eZ&FiOZh*k=pjI*X9`#bK4GR{It`~ zl`*$x`QuMJZL4Z-&-A5FJ8dg9x9!-iPdn`_HTU85Pp3HjS!%v_2g;sy?xU(X=M;5G za`I1Q%=u?aTC$Uiq~`py{k){Q#mb={%2UJK|N*Twp< zU_yVou8w(qSmvD+aLb4X>(88a|D#QTvTHe%`bSSP&MB#94|4qKg!WH zw-wISH9x1|+{*fv34^HJ@C@a)@hre)N_w=MT!5krR**|+yAI2Qv zmWO=anc5ud6I~yPxrN#pYZ8f947r8c8S4;=C;LisKng1cn)>ToFDLBMPkksc*i0!=L)=6k(hG@-mAD}&d+$4B{An8ysObQ z&!Kq7sB4}#@m^8IJU`<7p?haKtodM9H2Zh3mT9shgnfAQ)1|%-Te|L z)M!oR^z3wxU)R;zcA#@VsM^Ud@jcb-{+4nv)vxOwzob(P=o`AOQ~ZT%fEhT$B(h8>&>s&=OQPlxbR{7c#J_^@9Slsi!r6^ixCG*+$R@uQZ06^~xB z-YH*VuFF5>HFWA#8S{Mfdbev#i8*hNoA#}tYo3GVEnaV^nCFp82iF@a<~jP|D(eju z^Ln5`y&nt}^ZYyI_wNl|^L%>a6Qzc(d0s<11hWyinR0BMMTw@a*EVTP=dODAZbQXg zU%Z} zk9l9$pCo-w=iYGV?S5Scy4Y>9efb@JU5~okzV2W7xA}Gb{g2Bi=5My#;a73p2kdM4 z3%dE;a{BGDPCk_QlO-`u9@h2wWA?eor7C{;3Hx~DQi+>Q|BBil>n>gYyOA9O^7Ga3 ztj>1%$lEIZshNE|^0tb&FkdD z9scc;_}%&|D1NM^CGO$1>w~Z&hw(p2tKE{!X!)x1RVjQXXp|~w{UvM8){BwwX-?45{aniP* zseJT#UGE=Y$A)XE_{13dS{R$U{_s`%T8Dr7(5K??U-nYHaJ-5ydhFPcuT;#>tr+jR z_Rp~EGVADKUoemS-i{x~sQA#1xl~`Q*;MRVIo&y4#VwlI`2p)X6+bq|jtA={6@N3_ zjtAxI`o26nHmt97{oEP*x`l>+@&X3+^N<2Ni6_vAcNsg&&{;c6h_TA>y_SZ}7&nyQ2;Wu@?eVTo4 z;Ro5Ku4j$1&wZmqXH(bD^|a4D{CQ_n*L&mbb9;v0V(R+UloHC%SXZc+-%H>*NY@7r zwxs^kDdiSZ*ZIp#iW6%yUH9!{pNlo5uK7I=-fKyGZEZUStdn(J@RLDx$2wNmI~LgI zVx6gCeh+}pDRk|hVPDH$H&)(F*1qhl8FbC>itRbVewX_{oiw(I(+^er`GRp257w?K zj(cVp9gnr5iccJ~%g6D$o>k{DCpHz|G}OKp){`pEf7LD@$E&!g_)&@n>rY)L-D%%< zoU7|6y>`8@E>&^dPP<+>Ud3xRJVN!tI#$IyGwgWmHLad|oU>!Yxw__eap?2G-0LfQ zTws1waeRdRZVkt)xa|hJe9WP`&bkmyV-x49c;pfLT9|Wn?b%~r3+L+ktw=kEV7^xI zzAx=-;dm9N`|R>Dr|Y`wYxcEpuCDL6(>@n-w61qFyUiIRD(3eF$9LXfsJQWnb5#D< zvrCMt?U-juatA|V{`{_6n$J)%f4+9A&}ZnHKcif{JmdH z#kGgo@nDWt@ro!r9+a=^BR6!T*f2-yIyEkX&PALm?%p@ext6ZSM%!(I`CY{;p0Z=Z z@hWaQ@;AFKTjm%N^JhR9zq-yHl1edPO`_tQb6x0otSfYVXsX>lI9J#Fo*%hR*B74J zMKLGev%t6-=6CPY-fd?{%%5Q)*Xf!+%R^q(^;b>oe1)}{iYJb;-_hZC74zp!_IlF3 z*8eoWW5nNsdHz4`>tbD};&& z&Q)>Yu~1qAWBsP<=?m>RajvdEU1nbwb6+rzSRLl%99{EgNn^HuY5cc*rklrk_77&> zH;exK-!iW`pGr?QueNzDJtwq@d9^*~g;450SUahB=1XM;_EF<_6-QrFi^|8^M%VMJ z+p%GNqTh)Qn_jnc^kFl@f5z%+h z@fg3l_S|d7W{-V6^Rvc*57SJEd7Xo`L}gw4NOR}h%9x)|bC0w#ueN#b6LO}md5;$I zn67#68Lj^-_M}zD#jEUmh_$+kc~2USS26D^!}?ss7i!zYBeJgL8Gwdu))ORm|Uu!SO22-F&-`bF7Lt9+>VN zui_DT-ROAaOciH-(VdP*o>Z|>=WVBaT^G&hLgyk+>bmU2G$&3K7mSz$Bc7z&HIXxdsWQ)mT|m_ zdC#z&d+j~LS2FKO#xW}9ecH&YD(3y?I9|oPe;#>N#k_wW$E%q4wvcA^Im$Kt83nij=ZXC{{9ipRdM-^`)RCU9joH?eQWtShpRZW&ORz1Ia$SrTK-1I zBPXl4+rRC2P`-+{>kK=V6`jcIEhYu>|&b9K#oN0Enh&HGewu8MhoCUUQ?d0!~b z)iv)2M(zz}-k*tMg1JrLRwu`*xbW_7bUbpPiU+@x;gql9Lr2n`@>M*xwS7Etpsoj; zw_`(oR&mF!c3a_i6<=5PHmVC^Q}LlYGwFEbSQQtZ=;|D=;?PTWJjk&s&d*Mx@^QSb zqaU;DV&`W)=lyKg3+L*Z_v9dFs+jjgAqT3M_Y0wX74se{l&@mmw}u?6Yu-zSb5+cH z_K;(B&HMLouC946A9Ad&d7mE6)iv+aL%!8D@4Lgfy5>D;$iuqk{lhp{#if5dMq?Ih zY!$DMdf7Q%#W{D|bZUE@l-G5{9rz{_)+JWU_LR&t|Ma5HSbSA zj#V-5i?DOPy)WWQ=Di%q$tvc(95`OZyr%_uSjD`@2FL4~_W~ggtC;s1;dmAEejemo zUGu&poU3BqpMxB$Yu*=xb5+dyZID-0%zONByo&iVce@YUpSfSj{Fy$EQ8DjHK%Z1G z?@7S%D(1Zz=##qUeIPhj#k{8leNxxFe+K93n)k+_f9jg|#^79C^F9{zRbBHw7M!c? ziajUj!@TF@f139%;qNM*_P`8h&Q)=D?{Yf+^vzxT|2G}o(vB1BA{7sK!#*B!u8L30 zv5&XsyZ^qM|N0fR^R2h$`2SnpxqCXrfc2Y-=f7wlk2RI9YtJj9Yqh(%o&Rb(|ENLN zx*_`>zr;&x+V#a+E0}pN0p#u|R_Lf0Mh z?Q`*a9TJcHw_Of?GepQBePukPu#95B+^y^RXY6w^2kH8{ z$F|dT!#m#P|G()Y!|j;yolvej~;Iuh0AVueK+(wd;uWo{sChaiep5Wz73eFyE<|_nhE(74yCt%zY~6eLFZ_ z#k{8obDxTNuN00~G4J)l9H(O5>xJW0%zM2sAE}u4ZqfWzv8U@w=KWfj%T&yJu5i4H z%R1Q4U&!aW=I4loahH4&^FAxgp(^IRTR2|DJ3h1Pi1|)pUfXX-KJIhN5fPtLj>4R- z;%;+K(DBHDy6)c3z82OVDjxBT>BOe%HqY4S;#w*$ongm@-||xNijH>qI9|nz<4UM5 z=mWYw9%Ww(zZItIe8a96&eiptnRd(=o59S_Yma>WmrvrpRqZ>RJ+k)!PLu|8CB>fiS9SevQ%NPSN>_OPLR6?crW z%g6dn#c?0l^+h}?p4i!r2j#2yRKh80Ppsus-1iwf9vrXYaWC5OAit^D7;2Y~b(e}K zwYB57*JLs+jl7VU46>-j9dlRm^(}u}0E0?|a0#D&~EgSTE_C_i*A|UGsiU ztetetdn2(%(lzh%#C3JedpL1jUDtp7XBu~y3v|uTK8nL6Gv;3RadYtEasq@~ju@N|o0u0QKJiQ~DhKNa6+iS^J?D58Z|QB9kNI82nKSLOI<>Po2Ul$YM^pjwIwufCN z)&Rj=w%m>r#{@I)$;7;@V&1!mb%Kg{&!oMsu=h+}$-L(i@u-;htYWTLG4F}R@w(={ z#F*=K&HIFLuC95{Fy?C&^B!g#uVUWEi#c7_ygwP|>YDfKVs2G2@7KlgDxP#rjFb0N z>}l4-IbOw&AC0Etk;hcLu9Y1R@{)=hceCR``6@1{W*?98RlGT1$B(?H;+3Q9@^QS1 zx4mqakNHl;OS{_bgFLC?Uyn7W_Q&xm{^Bz`e#8^Z&-Somu=DEwx1$c(*Tpd^=KYPx zX)5OZlQ>?*yf@O$$@bpJE1CB$;usb4zE~m8iNBC6C&l+f3iQ8XSm)Z(3>w0~>{p^GOpyHX?_VMU% zDjqhyTzWT!HG_(I z@2I`Tu=kE$$*cC-Av zACGl~iX#@=$73E>amOx!XP-V?@Pc zC)>xP&+Gb;(>GJQJ>4(U@0NLgj=e6m_w8KCy!Q#~OcnR7*i(cuRm}UNP`-+JpBUDq zD&{?JSWoJj_n6^Yy5{|FxUQ~w-yPPaD&{?eI9|oP7Y^%B74!Z{9Is;Dw}v&Ru6aKy z&Q)>Vf^#%?7razt{I|?|(y$iQHSZt88e7-*uS%!<5I<;%yJdbShW}%(Yku#C z|0k|uey??^FvoDq{B8~Z=Uv78ehmNTUB&#o6MK7%HFwz0L07}}++>$u8T0e($;<>( zVt$W@d!%cAZ-#rJVty}&d!gb}U$&z$i1DjpelLf4{A6tEHnfK;lO{ijipYTZI)}~wLy@gm?s+gb6(atL7cMJBtwx7YJ z=I4Fn2VL{K2;6rS^Sc7%MiukB0_0)0%vy9m@!@@Kshk}*bulGAzxI-e@7H%q@t6{qJ@hw~({|}zL)Rm}KS}3eFHmKT z-%sFkRlVmc`?~lZsIIw=17D0VuZB4u?5)yu+#Ts9xTnbZ67TC}mxDa7>%xcabCKtD z%`xNMqr|+g?2UCX&TmHjH_e~R*uNQKe}GJ+nI=_L^M|-qq`x*J=2SK-XLsd#z>1plXg2V@<`pFB<(vV&4CZ9H?vF z+l=qs>$>my6=w14`38PxRoCD9SJJs}w`=d0IQyxu%q5-Qq!=Wg_v=b3XXx5?eu*2L z|H|Co`3;Ik;@-y8JUz;8FPcYt! zZ0FZ?>a#29T=c7};i#vJsqa0vrmJ7#W2cI#&;0T4E`EvI4G7S^e#_UzFY&0k0lHuJ zt-r-Dai8J9Z}Ge3yaQ{f&2N~}(=YMqc5A848;!{EOML%xYpKnryn2^k*Had+ zrFOpjXAi$y9{TlKYV$7__weg_;P>mPZM)>$#1!||J~c~ zmPgn5k=p#PJ9_(d9a8^CYTJ*i^!7`9JY%cV&bmGowbf}`xBU8rElxX2yyLGePTRWW z-#hJg`m<>Xd?xizDhF#J zi3?-@pnHV%t*&dodWg(+zRPq4nd8s0Mh4=NvV z>N@_#KdA5FT(|sQvx8J7*5nd%f36zW$m!daG55n(QyV#bvNGnr^ytw>PQR**xes_# zqn-YsYHrV3U89}0RW;|^CU1p0xmVSkZ$BSe%gMc!G3VP_jl!JVTN!h{?ewoOC-+vy zoNt$X9p>a-Rr8#_dC~=+#5|AJ_~~z-u6Z7hns?bJG0)?(AM^Ni&Fik;mU{ednb*A^ z);;c%nAgDR1t)yE=C$ta%TD>+GOv3FH9F&ynAfE{KRV;nH9xzdZFSAhYiLim%+GFU zXI=9%8roB0eqKX+>YCp(AP=}@e&>Lkplg25fSjOfe$RkBplg1gfIQ%q`MnwDDP8ls zGR#xD=J#Wmn{>_Z#4sO8%H_~~7@iakqyr{iyXKiaSBYTNhGxlcS0?$`CAi~ozf`;Lkt*&ByHpaLcY zL_`Gz6~zcDDkw}>wGt$WVb`n}R#8zgtg@@FxaN$m0gRY4Voo?+H73lMF)rq;m;;8l ztHeAf6x2h=Wwd3t1En~x_XAWCgr`CXaUuD)#(dT`m38i02Xhoc}giq zjn{rYoTr{Yc4%cJr6KL0l_R6lr7}ssuz2m~eNs8(8A^@iYqi?bNVzVn-VC*4fnN`LW!;n{{oV8q4E~q*r5k+?wiU8qfK$JamO8yBT=4h5FNTKVp_D^i)yX1HJ$C#=3Bl@k`>EPi(*|K2gj)K<&-R>Lgz zoNz;`kH_|+nAVB)9!h!FFRp-D9CP%(RL;9N_rNzwRxu8 zJFQ0zd9K{A8q58%A?O*>%JRGz0ZbsTzus1lvmBUySb?uFKJ z+#~%Sm{5OqYlF6nEnEcg4hQ=Bpe{*~pv^K)&c^kaT}%y)lrMzSeuvqSEGT&J|ia#UO zhm37n+k~B$@|xxso#i=8&V{tH979MPqjlW-bJD$#Sj6I99;UM$5|`9ij!Wchjn;B3 zBC(gnnLSKrTqK6jI{Llo%!I@ct^CyQlGGO@4zO5`vEo~1#!fq<}LTfob zkovP&j!~rkw3cH68DlJ##|DY9ESAS7iF+)TW0z^(nPQh(%khE48CuIRfy6x)KSWP4 z**lRlE*6j7{!S`~oGEGLZRc~OGRZj}t-mdOB;_UNx3s?gtLeJrT#MHFTd$<+lJgu| zmzeTN%1h3XSbW*%p;Qhz16SimuTAeLNn6pnjwa7V-8o#)atE8v3+$Q9FhQ;<> z?p z<@i8i7mMYXK;jjPhsAz_FoZq$fAdm9G2A{vguIHYMIlWxlVMhP3jYRnMd{ zcb!;+v~t?5ds3Nua@QiQoW1#`RA%v|+mTjoekV&Rb6V>RR1oeOZpjDz8i+|u)5;G+ zOl7V~&PBAIt~cfF@b^2U#7Oye04SBp3$_w#Kyf z-*39^{8`r6oFBfo>y~DX&ACyTLQ zu9@zatQWMF$ACl2T%^Xse=@bz%W0OF*7CZuc8VpYwQkk-xg*{qi|t03+MKi%i{)|E z=a*ch#?RZE+KpV7#qxOD_FFDuu{_?Krsg6R%Q5i7@OMa!<+$`A^d&N9Ilg7gc!|te z9(xY+auJK=n3k~Y9ip`y!+$^i646?YX?pYyu~?3)V{>037Rzz3{-t-QAS|!H-CbTG zTFZOL#^Y=;i{-t#PaPMmmE~uOUnf<=T3LSfS=zof*2*r6&cVy;i{SN_#l6RW$?|jJ zvYgsjE4Q~i2REK~#Gm#S#%dgY{w%Z}Sq`6ZD}>d!m$=tWJLrP9FVtbP-f@|&jy;*7`QbB9L$!`G7kFd|4QQ!6`)`}2jN!BUwlJ~_^kfAzvt4vV+# zv*dep2$AYT>&Nd*&pxEh%~|e?VSuz&jW3Ab^|0(e6S>A;M6{OIi`dmy5Uu5F#V#y^X)U+2-o*VFmBVjX z@Iz`g!kwDb#w;FaZ^>JY2l%Y63f9WSDp~Sd8#lx0Wh!D?_p5HnFS#ZD*2gVp%;NCR z7W}PN{&@Y(>X^mT4_NR$?$^QJ(i=k-U%G0+Cl;=Y2QT)8w0>%B$!Cyg~=@(kd`!UilEFQJqk}ub{F@9$2g|+hh*OolS!FW$%Ijog?SFq%Zx;4fVyz64E z99zqhuQ|5~4k=z6vv_!hB_FQW<1vkEVy)b^sU_bfJpl6~YhX2w53=OzxC6Z7Q#H)u zq#Ks}mj^tqccv=V%FeAU`91+Wj`FXH)p(%z-nM0CGhAeyJ7%%Z6H9*l!$4fMeI=}w z-MU%wHL3*SV>uPE8b9u7$zS#i!eL%6n8oRREct6sf^duW<*-)1G{j2!TngE57le!b zZpH7oAB4N@a=}{JFx850DxMEKYF}0S|J>R*X_*!Od5IoRx={mbes#}Ede1`g(%M+knm5dBj<5K*VHW$8wdP+=;qlR9Rj?XwaJS}14hMM4ylR-m zskN>7z0P`kw@MAH#?HRhyyN+%_`ORl%;JH~toh*XemMSSZLG$+C~N-G?MAqBWL?Z+ z$IjyY2KnH)30_z$fAF*BlZpl5>7N`Bt!H{$^PfitVSj6TL~BcDYd)k_Fm7MY7O8RP z*H(PhGr>5#ZE-~Fx#z9;T+a|Z{!CG%l|QYw;y3pW!HI`#5R2t?t#fx9q?JSct&HR| zpQKD0lNchWSL?3GQo0sNua&dzmXgYJ8}g@M&hI-oDECNf@X21vyQkMaA+NViww3;# z5_sK^*LNs_y z7R&ACy+4NYIa5x$7HMa5misr#AaHp-`?b5$<^|!=gFK}2NjuY8t`Et};zf5WNOd6N zJg*M|SLyF$9Okt$9>hM<%JTSsnD(B_YkBZk#2mTKTH0ofhtwvdOsy<`=7)TK!<_{Q(x*zhiT9|+a$l2mC$Hr(L;jxEN}r15 zvsk`&(mv)a_Z?}Iyq4!FiGj41pEbxBptaoQq_6W@9!sP?ESB4ol*3}V-$^;Nmg5!4 ztCi(;CS}q(dxsbgyDvawY!_ba!n>T9i!w(P;mnz&?^AcKl%CeUtzG!zedeLGgfK3z z!+)>9cj`4Cx%Euu^17~HdEQ^F+lOrjIdlGFqcdN)a}u%%zr~qz+yf`RPlsgmAvA|G z=V50Z`JYEFMBayKR?*(VhpUye*H?z}_^Z93-Iq#WTnm>AK2Z|55#l`G% z;Lkg6Lz!hRsIuc1dwyZYPL#9$AeYyLE$#V`w%bwWj#Zo*yQJIk9S-k8Zrzf(6}LEpp+%C1GUuu?T0*q)&ZvkQtMWuT<0=Q(pe_t}nrU^s@7KCR@;x&56|{EBzS zQOb!>&YVfV^r?GN=_7Mq*!_%@#%G=jzuO@Tr5J5Fb0&SXu=`~xeY%eeU*l*NN}Su3 z%WF@k3jCSpS5Qua^_)5P`l%fM%JUk^ymg5)=lS)@@{N04M@e6vbLKqpxg$Sm=?xVB z>vPVWe?Kj@`IVb!-HeNzITtHw&u=Q5joSBG!?_nh@-b)5iPfF>cO74&?8`4Xa~_Bt`8QGT zQJOd}LWeo>Q$yaMluA#`+RmmlU%BN6T@qav!HZ;b&@Ck=XV!KbZxx6Or z+$Xf8lqU0N1-=+(i)|)O<;=P5^78yrgDp-PyoWRA)>X^#ZULpRuHIG7ob~<6^6u%S z@WU0)ICDNeuM8j7)DFiqe94*f$p&TkNiXch_iit^+UH91bNATc#DjNL`LR=Je#jID zoG|(-XKd`ir!}(2ajlO1FW0_f$B)`=kF&Cuae2K;Tt~8k9k6%tFwUGw`|IvHNNu}H zZ2vRwopGjp9WJjUGb-@k2A9Jz1E+H4?6j^tAM&Cc&RD*iGv|(8<@isr<#EdISGc^+ z`L!(X{Ioo7-}V`o*Y$0k_$d!uaGDr@vX+$LTg6tuX~F8ucXH(8ySn0sEgo}u9eTAi zKk!intgC*HQ{z`h9QYO&U2&SlMJ}&v@(%o<-Yz&xf1Fd}>;3Kd`r#EZ>b;%Icx=Z< zi1!s$ak*J<5cl4H{^p8Nw{Xs!rFd0VEK{62`Zg~7jWJ$0=SV2GcytAR@E0!}eJ07Q z_i*KTkCEQ^VbOz}IoI9c%s2nwjT5e9b9sH~i4z|YUk@kw<6B8J=l6=%+gVp|o>Zh%v`a4xTh{3Sj|6t9XCbM3g0 zx-PtJOjVrFtH=McQH;q3YY*&sDU~y4y=OVT^$HIh{p1Q~&US^%@>BKIu;-N*oH-xw zUWV`2!V~KfbGRdi9r@p`R>SK?K2zn#iKY2*Cp@v|+*@2;zZ3VI1BO?}3BKn!HGZgb z;M=vRfioNraUH+d@k1OuaZK@5W<5-dA$?OlF}N$n?L2mP=*s`Oa;CIas`01^uKehO zvygY=_8g0c^l{-w-bqB+kGFCx_T5mPA6{q<0$z_e79aV|nIBx`FO=hF1y~$c(up6` zY%W??u>@f8@D-)`*q-yyp|m1^#UFmP=lhJCk77I?a4ddoD8=_&xd82P*}}1S!#Z0& z`d|{$rL^K`ZM(7*pHMahCG6UEK#kKPZTU`jl96sg2R*HiTifx2&ZHpp?X= zLW@vz=L}W8KhKqKTxbJ#giHs;ow!`FuUC6NkF;^_#6hx|Y9iw5}WE!q@4! z79|eZ&C&YysPeq$xOK?6`ZJEj=bAh7)mE-YNlmQ*i_2ds!@D2cfTBy304#1Yur%*- zXCrDqy)a<$*B17C`9hnK@2lG!izhED#h0m)iZc4H=UDtM$(DC$wguUBYR<8^{K8Uv zhn~B{vzn?0%-JW(mbdMhh7!Ch>uEjwq%B{3+*YI;aNA(c4_CSJPygJ9QtC`Je7)<+ zKUlFJ=^k&@)4EZ#D}URVjzHiLPAjKYapC{IeE@}AOXpa;CbB$#%~C*n-sEsB9$3nm z&#H`22@e~<;&V&O@aK7ql5Q0TEdHZOY5r^vBZ_NP2+;azMSK3_p9fKP@=cD#y~XFC zqbm-fxWy|u7N<|O0e6=a6pVDZLsG3v=Zc@aK_RxiOqpw$Zupb9!7rcGZj=t(R6R z&(HYtBJy4MhNJa{D`ojh#j~}B zVtnqn!eA#pN7yBczo%L&#ei;=;tL&LiLz@hHOyZwt|LKrknZA&1LPT@?3zi+^TLlz z_Wuq?CM(YZKQh_dm%Kkk+2{YrWZz!gYMQc#|B=a_+^X7iWq${tuY*`vNXJX_hX{>Wr6nsaZCv==4&%*=a> zlzryOB1@EgrfjlrJm#@f*+a@Ed%{D3%ar}$k4*M{=$8~_ANV7aecgcx%auLek4*M# zdseSd_HREj*^liyyi(bl{m5jmwe{XAW#9E9lYP{tB5RaA)sIZ}NE=}mK+okLueq^#A7*u4BvN!mV$y(pvW3RIA%O-1gOyE9c9siNZ8r}1k{mOd%Ba`*F z`-F65E&h?o+S+;b0cD;2k;%H*?yx~wLuE&AbLAV}%Rp%3&jzxtc^5gZtZ_dwS(q}-)}U&?oKn`KADOH*l_#85)*abo?QmUvMp;K>lXc-`zf5I~ z_>oEcKj?i{SqpyT@ey|77YW6+KISlI&bL3<^67Es(c~%PICD;FZ_Dpayns^9-_)CP z{3u&~N7_XMGJM4ShATfO^KX9(#5K;G^)BW3KcnuV>0>N`IrrY@#E*%)hc4_b4$L_##F76!@ji;*Xamf- zeGvyfKJ5XDZ}yrqXSW)5{LsvYD4`zW%-QFTEk7{l5lU?LJ7>;^#4#Uh_XK6bgZjLl zD?Sr7k9vo6Z@&hlt#Rc++neM9T6?c?(L(`j4Y-dBechY#S)d8!zt=%k%Hb+Te_dcR6!@C7!FlS!;vSa|;7= zz8>bpziM0*XO}4f%=y!e(tOU*qB!cN6)@**>+JdG?TTTv^$BOrm&E@k}6^nbZ^eOG?n00->3bs}fZ zy)RYZ*L-onDesPQ=DhGxIeyiQ(l~S62kw7)aan$at0TT}q$pUJ$1`h`;Zrs{;$A+* zfjLKupCwotPzI0htpj2Gr62O zd-g8NkL*$jSM6O4nDd@j;=74wm2j^E#eg{{E*4|jXg8d6>PGy|9umtz>30J;z7f+m%YR|=3xbhvJd1CMKf0?!8 zlnQ)@(KYag>t{K0o;ax-->zg$9RKVqm)AqQ%JM%gsfpV@Ee6cFe7g9#pgOg1Qk`PJ zoMZbt@U0Hi!jl(%;>4lk#~jr^L#mZoXoFD{H#4){J$XIV`+X( zVr)$p4<+8_*CY;mZt_rKa(+$Xb~XQMQrtFY62nV?$U*AU7lh!YDCeNoe23}R3RcTC~TRmo8Q=Vb-Yw~PcIrX~ooSR>hXJOaVH>77_ zH73uwW`8*2nezOeUz6whJDZ;?&-hxHoCDlEC4Rp5`{QcY@zb5Ai zStVa7XAAi?IdiyBNBqq2_w$GRS~ta(&y0A364Lq^@|v7uY#Q)YImcKxvok;&Xn?Na@MpasHAf4lwXtcs8yFr zDrZyqH950d(c4xzzsj%4xmLUR9|EVDYd7cO&_I8BzyY@0;&#bgn1x(U9wEmmoz=;*6zlVU7Fz&6>35jM?7*jX8Q%|n9H2P6MW=fCB8Zth0;H#=y(>XVyM{>=^+ zPZHyy{F@ytUV75aDF0>$izjYzGm_s0BfrzZVtHJV-|V2ZJRZnzb`*rCfJ(-NqrI`$ z=C1Ic;8;I*&_}130@IUE(ttuPk-&fMgM}MhetbVN)o^-G)q_x}^Df1$MR<@j0 z$>8b9q;=id)r^rtT=DYh{*cyH zA5=4rxLgh&=;{wyyw{?-v1BJ_Ji)yiWU*h9>c)1u()h-xrm!GAvS~M^e6=RAWl;}r zj7N8q;y;ah)O0r*nl-Ju${JX+0YFMht|M33%}#r_Sd8;#=F zYg{TCs&Q7u>c)|u9q@t+(NK+teywIa_1Xc~_@g^i<5n+hl>Np(-SS)@^`x~thDlyE zmd7edPva{~$p6ar#<5YY0Il2Uou#~FkHO-qcTIIT)TSj+<4wPq((A;vjKxkROyz9a z+a0j@VB_!g-`WnS@yD{J^uwGw12sNWh5RpfasMOMlh(J(n(~rs(YovhJL$TI#QRd? zy2nlFNx#r~+)MKR@Vzk^OSHC}W4bOG!?fNN_Wd5kv8Tpz%pvvE%JSF?<{Ck*+*)TE zWA8gOhHBjArjykE_N{!O8V}lHN{@4WA+2kSHs$@PlOI&$bQCxJ>qdJ`^Y?uZKd8p~DW>$R?fsw{zw2sB|80gZr1b&4 zDeuMX#!!t{)-Vm_H zcY|8_?KBHx_CXiSP4kB=URc;td8T9Whg?hJxoi*ID!VIW@xtPTlxI>kF4VTLa{fT; z;TeUEAgdOhA)dp~I__o>Ng|vRq*Vc{?$g7E8$ol9`S=w({+x)ct8|65UU<7U-*?0;bnsX=sHOMYO+#Mw zdP!w!;a0rPc*c5on1` zKj~Web$>ex<721a(8kMsA+38)v@nLQ?1_p$=?DM+VAAID{r+Ed+r5^?dCSH3DJ%Lw ztz68yka59WXIy$zAIM_IeT9rC+E>K2+Vz374z(*{98kY1-d(Q`WO0$3Rz`=qp4iX1 z57f%!9C-YK8n{lWK9JVr-KCtD*5q1m>v`fL_f6NOF}YT)9@X&(s~G8>saBTjK+6Aj zCiR!EtEE@H^27&bo7#lNq|S1BHFnur!5Eophu1HSfwca5$=#T9t150+wS?8cWnGf;T^jfwYdeU)6ZzcL$t2CkC>(|H!Jwg9FOpLcL-jt!MSG zVw`C2hQ~IJfog1T>ulWhlQZtnKL(m}$5L*_#A!JwnC}boI>f$=(Y}2-JWs5rIqw!f z?^h_~0xGn;FEr<0*H=^4-2aw)O?NY{+=)@Mzx%?x-u$tWao?aVXq-zwXwDrIZH*2M z9I^eR7?{_V`|ORg<~U>AHwNal(4nI7%Z$b7RHuGWjjhiXH)c#PfjjJrfm(THNo(T? z=W4iYsTfG>xV}Yw4T|bkTOrTa^I~*jW-)w;`QHRU|we)C~M>=$Dqr%`$2Qw-@(S%{`wP? z+o~_j>wR~vjRSk1MVmMDh34Eltf=wm=auLVFYZ_K*cf1A9NcUl^83&i=C#eN(#D#{ zyP?r9`$2Qw7FWtRz0*Kc`bs~T*H^NO8@uVJph=7S!Mq-Mzm73^rzJdiVG#T$xa6kV zN<3k)F5xN9`%J+@cM~oH6A*HjH%>&UbIK$Ysu}~|68@0GSwSiE?ITq47 zVM8cb^gNZTlq=2=t^C^n&SS|teS^hfnJS#-6a=b#d&_NXGyt+#_qho-R_Dn*OBMTt z(kQD4H{BC(CHIQsO@$L)F4fNs4B>{Ri}%RjoDu6m0-RxZ9U2Q+tb3oUZ}Mj=;h>#( z@07NC5eV9LP6cn%212c@>zENx(}Cx%i0!G$!|xoZY+IXKo+hSeaNLqGFvr&jCcPdA z3&K$+I)PnfFMvT_gP>MUOdST^oVpDTL=S>2&YCe9wA}F&JR3U*vRF4Y70P3h$v!E1 zr@8Hf##_WZg99rs|{t*kc@>Abk(9X8!fdxHcVL|xS zhw^;pw2OvQO=BUgGdHC}%M&hK(+#muD<3~!fuEmTN!Tc^%d~!+UY?))bfzI$jCHhr zQ%8W!+b`t)eiRF}a$E8D3bRiZF-+N1m$%>D_<>Nf$tI4T0dKygKB(tVg>&5;uO8t)L5vMKO_mTNKFJ* zJ{<_P@_q3)5#EidC2Vnvg=%cM&xNmh!dn+Z(*mHSB-sBT=~;m zYY2ngW1$+iE?tp#Zs8)7svZkzJ#b=0zA!8z?DUR>YHanqB0s)8GH@Uks`1lemH4?^ z7aMkq&rNE4u6iY9ju*7wRNMwZ|Ne$sEyWnc;9l01_?)n)fNuk0A+2p(>+@?Gbw(_fnw3u%3G6Zs8-6Z&R<#X>dCauvLr;GCCW#9xCTi|>Bj4TUR@K&SXY zki`!-?uR9N-vG-Z2SFC^@i4%%o@cKwfA(r4d@LpISJilKlLO9y&4rdu zVtO@xIn=PUZdCzS5!0)1OxSwxIO7c{v}6#ZwfBSt;OW>`p!>W*ki~BEQlVT2HIBBN z@cpbQ92SIi-THF8-9>%Lk!_(?25-l3lY9K6zw<{pq_u8-H!iJIwtnP-aHz&;P(9A^ zwllY2T{xt5f`bjG_p8T|d)La~rj8r%t}b_Ft9b7!towPXK0CS*_j-qTzYIoJ1God- zuIjHOc80XpWseGw+d(sTeiHC-r#JW4Hu1jHICas1q4Qlhj}2maTE`dV>?btj$i3?r z3{vAb-z|UZ*RJUWS*-iA!l2A4t-NBS!8ziMe)l4=ebjh%y5UuNvR;@hrdQ)zR}Cd9 z7S%r(E~ck+Ldac%={!6f7KC+^dj}}}%V2P$822{QkCXaWBPWD!Fv#64n`peY<8D+C&_0Dy+NK z+>mj=N$6ffET7hBbbu!Y0=ZvZLD+MAdI<*~p`5E&H#KfjR-bei3K3<+^eUV%YMI_< zPoS{9jM!ET)>&*Y#LoI?_$@$;u?$WqY{SXzSrFEBeyu-Q3kcTEV*98tT2h5O(#Bg@ zUs2pYsBprJ2=4Pv2cdK=u{|lRi|Z4hD-kG2ZOGt+$gPGwH@+IWwCV*}44U-ihS54mI~YNgh5*0Y*9tYOY0EF zy8PgCxgdE*OZb1)4$s~BrDDIhiv2?C#N+OKz3+WW>-j~TmAtfexLx*t>TJf5tDKba zrj@g56<5k+amYj`WlYlgW{cuVURpamFZw_2M(M=kMV0=d_530_B`>Y39{L95@u|j( zL%u*c&ivDySmFzm;~1?oJsv4}S$y)>2e6;bEMZGd7-VsCi){ERuAzR~$Z)8YqpIA8 z+qO*b*eyIqe`{el)XLr~cEdy8%VhE58N1-7j`M&=mq=I; zK2&HI+}CU&STrCKviM}fo$zb?Qm}JmBrFJDaM}Sup%vh-Ns*Ann|5r2Ee5Ot>t{tm zT3@fX6-I&8V8EP6Nb8WI)8UjEHlSxj1f+HSz?m?9juW`mD+1Db;?+6g96u;@ITQx} zX|@WR0xf;NaC`kDpc+@poB+qUz2#mujDWP(xz1JMgI4xGIvdWc-w`yv6am#ZBx5#A zD*6Wqc8G-34xSCcyXl}16!TI#>9@Hsm|Vt z{Z@gMVjR=TN#Rpq$w!+&xlQ6YVX(`tWF=10n#}8&IjP{mwn%A?=ht`3mr&x~KiTWN zswpu|jUW0|QevhWM;|DstUI($3@oFpJG72DXb(3H^aN-BjDWPxnO9Va)mph1ETzOx zYIC+q-0nr`QP5UdBWS(&jt!i;dOr9~jN4kdu)$u5+bnkLU=1gQEe3suMMACY0?H_H zTPuI=RRnHnn*v^pjf5~m2uSN3@6I44p&yv`Qmjt_IIhPaP_w~kaLXL*8rAI$=r^Wz4YHyLlXt&v4W@1(gIg*?KTw zT?8y>qpO2K-0`^pb`qZjG;*3>ZLq3(3|RCmLLAQ;dGN2`OsixtsGm4T3c%5q-N4-5 zJ;3`rVhk(*>t>%3La2IoHs30A$p zmiuDA7l5-JMuL7rmw*=Wkx(=LZiD7rjR8lWN5E{29KU%iXwhIfxH3KxYUSwJj!52P z&^oE>Byg_uDllfIct%kGP8jZ?)Q!c5+|#hUPteLK9b2NrzaoG=7S}tC9L=>xa=fK= zRO=2%zDHX34cd$4_h<#}oYEmEwR%V3A)eD}k3Eq<1a%^@BXxM^jUv&@?lRfMvS)wVT)o1u>78p z)}MV1SbjfP5Jn5@p`42`KoH}$R=&6Gp)|jyi0`Qj!k?->QpOLhosys7hu_C7t$)_P zz-ef*@cL~Sq;<%S96bHZU&5BBVUX6fFTYgcIg1b6sAH5rTlN3CKUqJ($Dgm&@0}J7 zX+8c?ZKJ$)(7H9cgU5b0r zlczx4^375?v?lMWN?E5#d1-AmX|B{4@2z`6HQsRgFZje~HX!NMc*Y@9epxqB54Wa!f{9 zWt_8kZf6H&-m!T4En6iH(0Y7oNhSW!I;pIyGOpA(_Ku@6hH1Sg+E$r6v`(pCOqr)F zzKd;?_&{sYw&ZguBv!MST$hwXVh*jz*qHvXsZd2UjfEGF|P=zcM&92S!~ z9`@!VN7|XzB%auJ&XMw}F&Rry=Nd|Vp~hs~F108lrKdHSFMmCI%aMMkHJO{2MqQBd z(wek`_4^DduNsqeL2kqRSiTm?n_rVXgFFVbGTG0_Okx4Wo^Jtj}KBD(8`HLI{@#Eo24>o?bfb0uz2~4l$X}X`8RN(la-X0);41%gRq|l z=t&$_<2|(&fT-+){v^E`w?DofxQ&cIK++e4GlVtZc)#}27@&39nRM_+uLe?HT6-2+ z4IC@RN_lBb#@iZ4)3c9O_RTz^+zYKqyLCM~MrlJDw{MiG!~v~L=CaqE$x?l2O=6LQ zZkCj{z%9=A;O)qCEfps7`gON6QhGHeb2+*7H7Px5e)E2_GT&)!bEEf%*+6 zgU!PNA*~;d>1VU<`KL$qcpA8nx74uTsEy4&cU7Z8EBn3iRCmh-be80^G zqvr)eT2Jn>9n5?^69i8Sgle3bu?a*Tm;%oH76@sbWW5fg-~JO^?hy#Ja`wK}plxRX=^~%ybj=)vsezL;uYPYYthAT4V70#QLDk<>pW;M_X5gzNF3aW5o1E7lCs+I!d- zK>mlod+TOUE2kYC30&VBg~K+@pc*Gm7!KO3PZvtsHiIlqST_WquN#DGE@C?ru+x%; zfi%ZG!X10@9x1K!9}4{1ZxgmUHG^s#eKZbySl!9sKCc-p2$$GdMEX8883X?`yLcCp zzAyY}dLaBydQYq+{MLOg7`;T?pA>+>drPQungfoBYdWp%X2pV(ZASx=cQu17PW<)_ z9B+~Yx^D=CEZ))G0%mQU4+2&PLRypWjfNac0^BBXFIT`$ywwA2yLVf^_L>-H{)3K- z8U=jZyMZ!dY}d+Z?T3PGCEA0=PJxiccF|)&`m{d4%R3Ni<+w@Xz=bY@#s8)w-YgR zG)cT=v95h}>HC}3PsM$yMke1smD{->oaj_ViVqt}d{AMxg%d!|-Z|jK0`ZxS!M?vt z1x>Fm0Iur;A*~Zbr-RH1NubL{F@~$~hjo*IUi^PS)5KWKVq`H19IZYNlui-H35(M_ zLH5uAGOloCvVCuo#ON ztV^f`X0{9k^}dPog27;ZWzcqdkbb$o8Pv)NQ+tBNqn`x8^E_m6RISPYeC(dy=5GkK za@+}bF!w~b0U{2v*sW48FzQY{gWw7vi_?a=gJP-ahSJIYkj0rZdx2s$8HQTc{!lCD zG;#-e*H4DOfAxi0Iq^_0U={zx(9+o#YGrSCcd+z|wNUy-1E|J1mwJH}S*G-~_TC=@ zT!M<3u0?4#7z+$h_EKIJC#)C@(s%kv<*+#JSsZBHsHRj7i=!qF25CiV3bP*jK^7+z z9RO^~)Hl=%gOJvVZ~$1>EZI=+cMh`H+kY_7d4Dv#?#MwFr;Hc?PQ!DC7ybcIl@|^G zC;dMg2H$J~Qy7f44FD5Zf^OE;%RUhl_||H7EkRe zl_SkB24@cME|o*(7p?7vbdvIt`9G$zkea;#&uTz^syt>rqCytI~MBgso^IVO|5GS{cm^Lk`B;f?sz($YO8e~p~t^g#eO_8s`>0-;vcwR|tU%AIW((M61h8aX@Tov>=>1;d$EVyxE6L*EIT zUVJqydD<9eYh>`#D?!;yFgRu0-@^E*mjkxC2SFBt2e+j9Nb5MI6IN$SW0>qEsD1sq zU|i!ROcK}Y1O{i9eIRU0cGCCx+ze{vlm<@(IVR9Ldg?tXFNq1Xc3XL0NQp1uA6T{- zWHA_XQ^?8=HFP>Cer}V+9`}Xz^WGnrcOOEa#>egnO z?@&|mGxPu6*~Ys<`nf{F9g8NA#R*IA3h#QC6s&8B^HeKuyDH2bxj`s7Rg4=d>~{L9 z(6!SV;Y#ZeNNe5xtHS8|>xH!sgP~b(xhjzF^tCE0rYT^jSYDHU|LbU42>eeP+`lTU zHLei8%nO0EmfPg@!|F==sCBgGBkA{;URDf&G#>kFsFGf-bGF!^V`Vl9FTPfSS~;z4 zNkqoR+DDZjt)p!VBc~c0g#htWhAd8*`CeEJHVPyB#IszDoc-pZFr@iL;pNTBP%B3d zy(z4#yHUt(Ab$2qBYSVJt+YR_L8owOJRB6NL9HB}7B1C?jDK3&wGNZUL$?JUki~9; zgAo}IizZZoS{Ymeh>VBs+uWg6wwu%#k?~Nkha1$&a+{M_{ok_p+Hm9p)(L`R2&8q+ z=5W+6aDz~8SumtESR9V{ud9UaL&O-a!U=Q2QJCWjVbPKhNb8h|;nHt2N$b>q&}l;h zrQeexF+aa1YmJ=uUs<=#SGtz;{XvbKxyT>2eWwSUqxio~7@SrcpkkIBSTEyfxVbHQMlD~J! zVz<3@ko>(%HI92;1IgdJRO6I-^^p9%OBU-Ae9-@V?=t^(%lafleUBk5j^6cJu=*ZD zXzf<=xs;d05Nh{(EY+XH5H|*s@f`L9I;g3p{NP>TEIf zqZ(&!>;(4r43gS}#^9k9dX@b%==nwbpC=4XSf)e6?b?CB#^T;dBWJ#{L<3=4aP5=0 zH&Ede%WpzVZWQSDHc&h($iKl)uZ4$QT7pSl;=Zu}93A*k=v*%X+{qF9SA}(kx5D+i zEkKtifso0iUkh`41%dbX#d0*VJO`H<#Pf&m^YLFf^L24l@p@-)ZGR}#$|;2lqnN%O zz~SwoP%CGHT;Xnqw&32{P^gttO1u){J4AxB$znYjoN(`nFefS)w44$uekV~IlfFBW z(i^}-;_rdx!+TbB1zUE9NqO_@l=#cSp<{Z`FhTsiT{XV{KuZ7XkT96S;Dm?8Q2jR1 z;Mu!ysFg_@=2Ytm_C}c6)10IGM1xw%;ZnQ(JL`V3LSSoGF#2^kWN}VWOJp^?GdTD> z9IA23{Lez?OXC0ce-sW`9DVey(B$aPpz%HNepNW3d5#c2vke$=Q|uQ8g9%Rr-{MhV zZB{r`W8KOJLTtluuqab(X9hCi_FO9+A8>P7I4gax7x9V~|u1iBX9R zPU+DM8N0UtHD-!yhepn>SQnkn>I}|{Yq3_&c@%_F{tN}Kr^VQ!k<<2tB6%LEvEBV( zDLongw9bxcj@BG%3Eo}`hb%^3dbF)mYtVRQDAdZC9|8Jfe_PP)Ryb7SsKfqf*r)bj z*@JM%I_Q02#0EHH@*R?f4D1{C$4=gjQb3M2Q2K^CW+YK8WnSSpkY7WXp@)_shW%6UCI6smDT^$4l{`!~0M zEVdif0g?Y(OWrkT<&@t#pi>A7D^tbyzYNY?@DobhWt8eh>x5q-(65GVQeIknckO^y z)mbmp*$@U4Q4q;F$gPfM=zT+0b zt8yqT2nQ!@!SbBVk3C|I!uI|lkmRMczl}i{yt;*ym&MlQb_-uNhDznodQ6Q};Z(mc zDKCwiiTAtu=}O_nxiCm;*Vyg&vY7Xv_<3L!->AM_?7Nl1jWYn!`f|JN`0JKrq32ov zS$zBCPO%Q-gfYoHENF-B-GP4_FhLkMnuD}<``J{_b|3Xnjh!ZLmHH@ncPKRH)aY$e z`w!~a0@8Z-f;6f85#z%kiwki(u;aJsLU0-nwX$)`c03v-3SnIUr1gH!9k|2UDMGvV z9HjN|kR7wP(UhjxmJnYyNss5&Umw!J!eMu^Z%n@44V>`1*CCp-Zj`vQj zhFQG$(rM{lNZg=xcJK32UNUD{EXSFlwmz7}ax8tDUPGKmrWmW%cUK&f?uE>KTIV)B zBjqKrh}Of7os#mJ=KjC899P@dZi;Cw$EBHZUYNzbE*w?rOl!G)NE~3X9DhhVXk|Gb zlJ-$!d7O~A^iQ)Km&lxAu^cl^^T-r4^J6)-ka$IFIku3PY0iliF2Gr1#|dX2?MJlE zHe7^lUyl<$^jLt@c>1Wz@aHGvgs{HJh}JRL7sTHi8z&U+J`bt!V)4Fg4vZ5<;yH-c zK3y)ru-tJ%RbPZy98>!O%sn_xxKYi3)Hq|rMfl~}IDwme2+?}j`3tbvqjAFagGQvr z3BH%$b+Io_4nB<3_`2>gT>N~TFe2hGQsYtkFT-tOeXMI7LbP7oE(?y@G)`Du)`(bK zBK!)p5Zm*NV=|)kWW!BJ_Ov$lHz75y`t_=me$mkR$edSAx+A6eY5QbE>#W)LrM!oB zE=ROZ-~Lp}`(e`r#A0ykxl~T>jpc~e*<0R9d7rPIfmocj`JGhG)ef7H8fR_(BBc*_ zunehjrnM>kgA5~5<8(33ka1GGl|Rm})3fZ9y#LCvky+BUq8nDiw06n0;7L92p4x|4 zY`4QSFD72Dfz|lKW>fq8H5Oo6Pj6<*`(>jZoAdbKi&C3B{s1wHqvq?R_5sO%BU(pS zF!jrCQO&U$e|UCDs`FJ{bF9YRg-q!!YB$4boHNN3E9%F4VRP>FxsY_fzvo;-wEjKP zG?vKTTaDXaF~yCa`gvikY}`~>sz0fN8h@B)>fhxv>@bVTwaA(h;_okAR}1?WF~uD3 z4;8T*k6LGnfeW|Pz_dP+VQM%3pE<0R=QtLT`hqXUV-|Z(DZ)P#V^q92j|##k?{1am z-K_}$kk-vdq)B=fEo|GY#MvTbG#v~7yFy`_KpAi|Cqb) zuq=-Carj76(I_GUiUk1?8zQ1&0c*CmLgnHL;7`*kcPeM8!^QQFmuG zvDa9zqoQC##NOY%?{zs|@Av1)4zuLszt6=rGtbQI%ssP(-AdFdCw`QI^&g(*LwP-{ z)IQ8xsMlHYzjEB?2eA&lHs2>^+&T0HrhmQ2ljeqZF4V_-ySO5h*G=-Bz`BhZcah|_ zXZf7ef9sE@* zkEXot6mXZpb(l{VM$+7H*_&xt{;^q&sTqIDZeseYU1F#iufBW()BiFvn)3Qob3N~; zZ5vQC9#~FK@0}V!c`Y~6^Lk#O)Qr`QdU{xYMLaA_Kfd*^Q7Yof%k*-(XltJtD}&SV zxSSqWjf(iuHboQcVJUmGstBt~oQZw%RN`JQG z+)!s~##LHh!?u4t(wUmE|Hs!c{lTbABI3+S7qOgC-Cq!1@3^uZ^TIxs*OMFW#Jn)( z&Dd+Fo*wp@X1w{Bo*wp=ygo5f&kOrZGoGLPJGKS(nY=D>VF%`g^9vDA`$<0*Fb8?< zzv?{J!R7Z$gx8_xPGR1ob2Et<_b&v`F^-nUYIB^|bp!M^!o247npem1cRMyeOU$^0 zkN#W-w2RjtJ=fbWc z;NZ^5&-^jMt$R_hDYBj~OpKb`ZzLcP@U+jCYnfg#CPF zsV_6*S5ppQ|9s}|%Xs~Jk;B-Qg1yQzGj_Xp1b^#7^Fa2GdMoTJmdS5}t1-8KvFo=y ziv1Zpp*-WYoTi+LQcl<M%1N-#ruiKVVU9CgL&OA7{tg z+;BqShuLwJ*Jm!g$X?TP!|{8w*r7SU%5Un`WxRGT{uuioV!Mb_x4+0<)6IC(&==Wj zx*3-Vc!9?k)^uK9l%Hc8VNDnDnJure4zMTuCq3o|_@6}m8bWS(P55iVb9O&f%bNIjtu*MURN3U7TXB>e-XDomIv#fbgdZU_1d5FVExl$ zi!ok5YnTVm@#mK+#&|tw;#szH{9?IEok+&(*h(VrtH9fmb9{C`G ziFoSuWLEpz1bJFu1mks^H_5DTnQ`)xPa>IBUf1ayt9p8ky!0_;RylOkIacoK8u?D! z`phby^g729M<>WBF7+6%&+mN5itnByCy_|TYo*ykcJ}l#d6ahCMchX#M{PJwe$*h6 z@w#8WN7-ZEj9aeHVx9WwW6UadzVm>!EjmKp)IxifUcj4Nv)Hv1eQa3eB15v6v29D&%7=##X2x5!^w+fXN3`@JUcLDob6B}n_P!R*MEoH2JPRM%S6dkynhBn243vm)WNiN6RG(X!H65 zE;%=qxtEWY1A9j@UN3u`!tTBvDz9rA!9?8U`|GTp#{fBFL zAM((HciHh*E##1Hk&M^(E~m2&XTO(Q4UAyCZklzQ`HvqiS8N!;%s4dW9;+ELPA+*% zVjr^C+54UAi2kh0URq~(L2+M8Pzw&_Hj@RP@uYGfP!Fx8=LB!5?9Hl~jW3e0&yT5Xh zhI>zv$7V^)jGJt8k{XnpB(FF{nTR7NYyIglNnU)GFjMa7ByBA#v%oL{8J}s zwpLD^xNv5bW1BijKb4<~$AZ`0{G6mt39*=$*D!`*t%PS$tg&moaiKdTz)myCpQgsGs-t>GC5egzqUu7 zGCh*!hPMu_f#nacRFjJM^AXjtoVumMDX)(v)x^Bx-GiuA?)Y0REb~^HHx+TWK6*J< z_m-o)hVy0Peeb#9gfjZETkLRxn6c3hke=6By+g4rC4!Ca#)Ugt5U=&|FAs-%S_MX zM{?>CCwFD%&56st_QN{tKUs~4IFE-bmJ{CaG2!(`?TcdGURTbM+_2p-y`OzAs3bSs zW0)`2ze9c-5%B;;A7e?i^AQn;{;c=sZs((f*WY(6gl$>3@G0T-{HJ>Tx4B-miFocM z{dkcA9z?|XBs~@lxZpx~-T#7~cV{nqBI1jCeXu`CQUu|3-oaVgb7K1UhOBaQUU&!c z9(hS*6y)!H-zeWCnam&uQy>eB@^p8b43Kr4IfO?%l|qyl77hR4(WC7 zey{-*v0Pj~j@RuPQZwHCRPHb?Z(py+uDesTZ;NtzbUyueqrDpu5&!7qj`dGhWh&kq3m=*RJSoxwb!zh}amb zUBca2Zg})Lf1Kkx?|3L8Uiq`We{MUxf+FGvHhmA7=~G>?%4>t+of3QGGYzg1tDLm# z4weafOJ2LyhWCE#kxT5kKt%j&fsI&BnH`bTjAxwLfa%M}M^Q5#Jxou(wr2y%YnS4B z-G1F1K}8(rq}Sp1+YP8yUhrHm6ZRFn-c$7=_F?;DhX}8G4$=40Rmaz4BKG=0zxHzQ zmmtRLwMF%7O05p~GON61KsAgZ(|XrsR{313b=c3ae-m-?diWoKJ+htJEnLKVeuM7{ zY310BtSjQGVeiV>SumW}Mcm;X0()fAx7Kc6H}ux~VMO(5;Z~W1>GeqoJiJ@PU!8q} z$J(d#{BSciu4f+p+QxF*taDZD^ZSj$8Ly4=+?F$IDk3)aRM0Ip%%s=|XvZz0PXPdouDR5%JwKOR=1xTMAHKw_dN;VYl~v z!s{jb;T=KxzLD4G8pUDWb8QRK5Bd0!kN-Yv674h(fwtn%yC`g&S$#a6{CzwMP5>j`n2*I%^Lua%u~8mi=myYxxw#Z~)%fxJRB?zPI*0P-`4N?>?59GRxg2;sFix zb9`k|H=9-d)k~jiK`!~3RUTg(-aDtoF>Op*WjiyBP) z6cI-ki^n!bJ=~;-c=Z>0UqP%Bap{)Jus-X8w<#hv_G!cHcPPBx^%uNvaE}bJOT@0j z+UdtVy*xGJ&fng~^z~2VqgHu@V>@M^)|Rx00BV(|zr2d|d|uFrTIJ)@+hCcCR{2vA zr%b$vV0_l*>4zNW$z&tV-?^D*Lu#b?Z#I4l(wK2m z|NL0b`(^#9h~ql_iEWu(#-Cc{eqpXyxB6K=G&elL{WR7&&jlZv8-A9SkHYc&_UCA7 zm5=Amk7dpr)rgw$qYird?%^?%*N4yQc_*EUp(4)w+6C+U#ixxaulH6cfO*F*Z%obD z=;y0-8f5qRf3s`PLHZcGuEk-iJaagfxniR~bro>%fS<6OhguBbwa#17S6BwQ%X~-{Hnj+t~*n-ZxwNx)Zc;a>b4-B#8s0c2M-MJdt#Vw$6%stDYD3hh}Wl8TLqKoIYAFANCcz9H?h7vgd0-K;(namxHfSWe$V z_1K4O*I*{5nQ}Uunem9`lQI34C>!H-oIDTn7OEW1%=lu&8jK-DM&+Sa+4UuShkcLS zdeK#4%JtGQJv@KwYQiPI)zicCx4f==NY4w;;_`ZVke(Nw#pSiDbPL-E&)ZZE?np2wSU%atn<&Ym1%B!MCvOF_exr5_2hNi-(F)q<@-^T*F84B!Mq3j zqbRQ{|MiwW(CU2kTqG6otn!Dk4sedi>%a~jLv6tR?uIJNE>Ea%CRUkIxiP+$BleY{z3j~9BG`W*aw-~8O~y?OWdKKzY6)*s$W!0U-i@?u{2|9ugYvS%^I z4lNq1i1_e%J!Ve1IZiR-N6Yl|XX#kQDu-^>+tTrq35tjvzt+p?dp=g-bqDQztuX#a zPne*X@v~lf`osYf6f=%pr>9Q{nxL5R^e1|H?R|EN85`@}#&V+-UQb_m4ck5=yuTvi znro`z*e+Hqf?DNI=2pcrzke7-c^&-XF19PSS8s*a#=M6Amp9|-WuM}2wft85LMx|- zY}exn{4Y7L!(wV-|6J%_k>-XUZK#gr{}vohMZA1%4J_x=h?us+ZV`CzQ_s_#V4eqCyu@UFty&wMu zKiZ_n8Th|KtDIQfANvIUuTaE)cF^Z0{9mDn?Vjr8!2i~X*qGz62Qy>iycNcVh!3m5 z*q?dR>M;?wzf%*-vFjbcM4Yu$-?y~)F3or?ZPNE$&qf9@5#QeOZXYR@x0fS&Du8)~@+>%t~x!-nq^R;D) z87E9mQ`(i^E}vVuQW0_T`MZjT_MMKsdlD3@obu?lQb?;?r`M|$Gu~j!P#*hkmkSME ztB80+*@sGll*RJltVBh`$B#ZxVzv5=oU&dq;}M@d)}Bq-E`L>GqatF6KQI^0^iRUL z!Q;R}&y@_V4k^+m#VSL6V6IhZwF&FPV`EK$|C1825fh*sGd5xZq&H(@{etu&PJg%V zKsh3Y{{@D1hhBHV{|go|tUF&F&x_^c)bpfgxJHjX=S;0Kv=P>|A13Q{<8j*s*Kl16 zdGdrJrpRn82|z%_13L1${l`@7u6HO_mkBNcHhHG68t^Jb*t z8aKOs9xCEwuN%0=wg2Tc5wXvY*Kmz&aGJCywobYFHK-@ZneAFb7GahZoCS|FtpK(?e`|&xP|n* zu2d<3!MRl(?>9umd+)_FIJYV{$c|d&IulkhIJbHnorjw74@ct}oLh~r z)QnmCWem=(j-=+LBKG`dDTDK)0)z8Wt8BzZxE3K|V{Sq@yf)@34nuko8!;2g z5izV&#&tGP!@3FA+>A9eCw>vP6xW(l4(k=GY^=p_O^??HT@rAudC_2=VwKySU5abX z_eVA=RvFp_`z5$`krTsy39d6h-oNv<{L68zIr?C|BH~xOm*ZMf{ncvioYES1Ex!WS z8kb&c6*FGzrLQ%4ep;=FIH6NKt~DouS14Awa7H|?HTyhPDrWq0@=9E59v@n!h`3kp zmAKaU-CnGS*wZZm*P1i+;uJG(`h5bfH5E53R7BiYPQbNhqCZ{*u zpzwM{L|k^>oH(#iTe;P;RSM+IsiDsB?REcc@mPN|Hhv58=G0JUnB1 zw(}V3Y^3Kk)N@Gd@8khrt;65tG5nU1-i+b5wt0<_3mjOFzr|xH-$*aw<82q>F`D1z z3i&6kTwH;_n_+*S@OsOydfstE9ur~*8iA2_RM=8{+6CTXP)2YnD)DR z-v4W({*Wf;HpcdEEv7408Rk30RX9eu;XcimVfiPDEmK7N<2TE(oIe}>s_;6csy@fp zzn-sHWxKo?3iR8}#OFlBP033v=a<^{RK&-JJ;riIU$dhkjxG2A%X#tSHR1K7t9smc zy=R3Y;`wXd#bp0EidFXVx{K}F@z*0_l}EI=gJr_HBjUJ?VK}xAH~m5}XID%=eaR>} zZX>Vt-|ChyBKx=guk*cEz8ULv(Chyp>*eUbm2(^Y3^CA*ebV&#HR<6BMZ^gW_3_jE z&>Y2#pMCTc$Hp?p<%)=tAM0`E)YOHFh*S1tVSP%xjZ;Jn0ZPE7||Eb&if7k18?0NoE=70X)v`4xE=W8(6c>T=tx?(?gnml0o zFN%ogN!JuOH-S3vTG??`fpcx#FPU(^p3jwbKTeZZ)mpDuWuMd=N=m(6^5|{z6cMNF zxuL*$D71yw!SUA>IG2RHW}MJDO=;rOOP)Pzp(5gbcW)|-TTPQa4=+)ya>^ICux>l5 zX>rVigIC{Cx|Qf9AFjJh5%IIn?ka6RnI<>#OHizGaPtghkXE;^wYABNyB z6cNuGmZhY2m?rlfkf`K_?XEpkLIQfp4N_JqW*qkD38wGdbd4h75tUvjAyhloUun+` zT4W=J;I)N!F~qEmm#ztI)^t^_1Mpz>nR&d1g$DBHN=rdd| zzB}PeMQmKZDqAlv)(6%O9>aQ3c!Zw!Z~fObTrYYxdrF>JWS=ve1cfBPd4x4)e*Nz6^Z%A&q zbER}#3(hCMB4!-@`%O&0^v~x+#K|je;M&oC+7n`x;hLurLvmsxmO@?;8*?AZ;k7aM zA+H%5@fOnac*@*(Y$L2eB3^c9C4=*h)wX9u#4mgju>MdVUO$i$@VG->UPrcB%HSNN z??Y#5m469a$>1DhOZTTl#H+|k96!)5Uc2vKiQ@*H(;s^4NJXp!Xys_CD}PgF#FvBffsjc-=3Rz$pO$#RU1waTnfta3ozF`%n-Y2W?-bnDMac@tA%}p(Tol|7yGvV`GtNzbd)m1M%?~ z>y}nnteEjJ`<0l!kLLnK#1*5paHv85w9Sxh>e&D<%qb{B!66k zGQA(jR@qnwAMFfQa$;B)j(_2Yd3g=%UF^61m^Y{XIlU~d3n{<*C|0@Zb$?tJqO%^! zR{6$Ue~izEot+dBPfFM0b4tDfid8Ng;*asU!>U4x8K2zbhw-^>6;DOPjqmzmd=6_~ zT(Qb)OZ#DbCbrUw8F!!Ui}88P4PQmXB^-P)KKE!Ipjc&NFHvwnC4FvcvHI_fF*&R} zrvE#??UfhzgfRDWs)d2{MHUd|YAV-J;4taAKpd;J^) z)-O)C?d^bVfpvt}pSO3wK7_oy-Zt9-V{B~H9oZ^hf9`}aHm*rI#VY4-=7cde-#i~h z#OaxixCidBw3uR*Q?@u_j7_LhLNVjGAV-X`ry95^B5q#L5o2uU%T9__9<|E>V{EKr ze#MMSf9HTPHn5+aBI2g?95BXin3Ew}0ahUBv<8806)3_S_FVyj#TC zb=Jx;3N+UH?+JW&W>GLIlTU*mV;WW&@I_6Y~3yqe|7c^gKI%PC-#Sn8rGNK z)5UF2j)-B6BXf#jIXU&vZg%P)C2q;C&TclVy!W!b8nxx9JmOCJE)jdLwpag1I4av^ zdesy0`3?5!p}Xnwh&7?%R@uJmySjzFu5ZS~%U-Rp@~BLvb_f^ocdzrPhtkvKxEH^N zTjhc*k6yQ@bHmLzqqm+uZsXQ)5pSxKNA3AsYfGb7;Z`}yHII63?NK>pz{zkkzO~T~ z)B6Oag^PIpr*>+y-?eK{d!K|`WsEc0TGQF zayV_&8S?Vlh=-6@#72CEa{kVpx;|uZ&7TAX+N|=3j(71`G`(`zCgRlm8CZWPhu0Zt z_plEkFRzz&%wTXGKA}f~%__eLc*x*7d`bm3n^lfF{eZ#saPrFECSr$T4;WkzS57vy zS>=aunGCLnE8m9O%y_```wXs!+tH3T5hpjk&)|A^zX#)OR=MW73+8P_uHT;RuzkBF#YP04V`z;bvE>)OFd zdfuG+PxcVw^OFsCiB+C>_#VdRIn&M&t6aKE2FB-JXD$;FpJewjKKDO+m00BiLH98} zZ(4bsm~mv4OpMQ)Zlw_sH{bC9%^N)K(#7UDM zVtlSS>^`x|I5)NU?DA2TK2JFfd(JQKYyao+ZvSc4-*+s8*K8p^2>V@~u^dht^@qH? zHsT576|oW1pq!lg@`l2AUHxF#U1F7wRxgUj2-Xx4m+a_Iuap&?xElJ)SkUmb6{9&;8{n=%WGKg;2BHEn^R}CD5k#jyd~HB zEreL*=5pgreqG~Pe`atK&9}^MVwb1M1#hMZ` z&cCpzdL;g+{46nsh&Wg9;SO4s96iHH|A_sA~CjPJZCt0sM={qC&FM8un&{nTCq z3oHEs{fSk6eLyR7P+_HDmKU+g3u64$68#D*kNzk~tg?^x+<2c(g%vNSw>GQXVY@#b zN4vx;wwyY!*B`Qx*Q^(g^~dp$JpG<5;!AJz@sK_yuVR&dXsnNiG24qOR{6JBUmOoT z_IN8+`KP3^I3AL;=S8iu5fcWj_f>f9KQJ$jCCJO``=QP_9)^8aMiFuO3QiawV)J?` zR{8Q*ju;<&P83kAvh9Wgj)#0PZ)K~zLwmLj;se=}DqH0r2Rh&}g?Vj-edheR+bHM1 zxkP;j)xUdT#ja5AT~;}EzP)<#hr)_-yHB`PZn!v)dU1f(=Sq6GRh}~6POaFbu(CmW z?!_u^xc7#^x<6uZNgJ<+m3fk#SHwjYJ!G&4=r^^3O~j+dK47p1AmNQ|RypI%eFl4g z6wg66tGwxT27^6-PuE#CtDKrv8X~m}*4C>7(3L ze=YXb+g+1b<)S-^suQ&}qDe^`vC8pwMb(7wwY9!%6JnJ&|Kz5g*Y*!Pi+oN*e7Q^! zwa1gP3LGyHd$!lhSvaT-5pm@3BI>q}^!o7n1$9&7ix$JSh#0PQK%b;6E=kN9>P)`( z#q>F~Tft)ZyKMu@5Hp6lL3+!|h z)UGilFfXt7=5fP5Y|@t!UO)W8P4$>kQaOI884>Z_O>XL|pGzwJE=LnHK9i-_dBf;n zBI1u-i>iq;ODg^?DG_nY;YHPPS~*^;>JT%&@U$rQdCR5c2(Q=OEUFIC`fA(88bri1 z+PbTeS~(YEs}VB}Jm{_lYh%7(-ykAln1e9R19z9#=RSvrlVa*1tq$&`D-){>^?|uF z?0F@u&)*rY{}{2(tc~~v>AC%`e=sknjkZ8uUK_Cy^76QKUq1=@Cq3hyY?Yf9)5}zz zzma*paI!Df$ES5(Ma2Fm%3?XM>U^Z|`bGS^`ggb>i&)C^!8$w|URW{X<2&`=h3izj z?h&f@8`He2CtGs)s-rkD=ZiLroe$~guWa>>sY#bxF z?_kEp7=V2juj9US!m-r(@iSS(6MHygIZfkT6ssJXqSx(_las>h=8k&aLF2BqF=C zys+kqxMkS~4C)Xquds=@v-ZD2P)@(3SvFqpznO)3GxLnKiCCKLjQt7w2VVD)_2a8( z`v(zk{rr*M5B>Vv%-Cg9CZ_MvY@3bOaIX{k9QG<^JZF{OMu>-I4A*0!{OMhL+CJpY zQ*5z9yQn^|`O@-+1l*rQR;szlpeUPrY5RXS2$YveCD&w=`q8zh=yr581d@53%$^ z?%Pj4zOY9X@h|iBu?KrpUgvYs?+etd_!r^z!7#o4owYqJuR}r$V;_#nyheEK+FGCQ zum|S#UhTc6aO_~;%j>QuT`}+Oqi2a#UUgsZ2ah*bh=@CC|2qTi8d&5a;WeC#8P^F# zZCty9a&qb+y`3fFIaLuu9gOE}dA)O#BlZcz1Q9#$cEEmsazyO1)&biBZyI6Y(L5m z*R_75FY?+RTTDSdx8lU2B>eNUZXyS-!ZgZCm9>%y>{u zJ$(uZAR?}Ksw}QeN!0_1RW@QHTr&}|F=wG1UK?{3@|v*`hatU)jaUlh@EX@s?HRe2 zEsNp3eps(_YFHnYU&~@SIrX4wzPQ%F|00RlSZCq?p?IBmT#Kde{+Gupmv;BXwI=vx zaYe*f2Jpw#=JcCo#BfyeBlBQMZ~1O7L&FA9f1E4v&zAF_4UQE zj+xHMAJ-T7 zpE#@hV-k<9ZsD!|Q`74!FL+|2~V@xE2R>;C1>&?HZJ} zz9eb?J8YE~*LKA9CE>;`*(wLUyZ!)eX1{zZy9;bTJdp^jPGdh7|J)&oAto14idb-1^PLshTk&s z{x{#A?jXTCqwpIaIW&}Sl#>(3TyT)!J>>A+H>*5xNnRW$@a?CZ7{)n#_YLy$8u}By z`v!S=d}g?_1n(Y)Z@pRNu+a_@yn7tJ^=6ev9o6Q7RwjJwO~e<6J4*2GaroAoRc;&V zD8akO;ahKJJZrO~1n(Y)Z@r1QU?(xzmd+rPSU7fKU6E^Aw>3MC$ z3dqZABSt}99v}bM7h^Ac1I{Wd$IE4}(Y!A7(m#8T!E2X-<+9f@5wFv(vq2n&@4;E+ zF@1b74#W50ta3-~|H2>+!}s7s{Nwk27>D6|a8`NTdOwWA@I5#){y`kZfbE1_Itb@7FI5M zUuwq2+=o3OuZ_AvUNbi81L=8f#0tpEYa>QMUJzIowPYI ztRwJFT4PP&F|1$kPFl#DQQ^KkAQhcw2clB4V#H z{uqb%R`4QLd0`KKjKh%!y@?rjyyb^+IPw#JBH}Z?ei(=SzY8E%xlSuTjKh^XS0ZNo z=#VeQ;eO7+M8xs6eK8I<{jNH($~YgjI1KN1&52=e3GaG^ynkohZ@-HJ!hTn0V-FAY z|8F+x25ES0#0|*HYa@0+-kjR^Q)i6H1MXHPRyk68_7(P)8}`@}tK2Wx8DrYyuS1Ac zo~8XiChRRUw^bn`9#Gy1V_M5SzQii`xu>7w&-$!9G2_Z#>F4-L_cBDpmnBDxX-(d` z5vyG2kpsrG0p&c18LwXDfHBSW=Z}bpFZOr9m=@W`kyz!`*Zov@P6M996!8}c{wmxD zgmOeY<5F4GcqUxLb3gM{jc2n(y!^Oc4m?L~#&d%FRO2~n5kDEJmjll{n{jWZr-x^r zMV$4-Pc@!THsh{7{+J$~PZn`lm_NQ_2gVPtf42Fn#`DQmIb*253irgJK4xsp9k@p+ zVx#R)4zG=RLS9}Qa~AUQ8vZxXc-AW?Hl81VygBv$%KjKP;GVUJOF#3&xB>TzMeMXm zF9+`JnsH<|eg49|T@kw$*2{tWux6aK-528(+=mr$qmI592jHHm8Q*(b7SqE$QxW5M zd-n{C882Q`7Gnk6W3|fgyTfk1h*j|V; zA|5i{0qX$eh&Z~rGsX>gmQuu#r<^cuz%z{^uGvX12cADP*M<|*VAF}$AyVx~`l=J*bL5knm7e8~sP$*C)8 z-)nH2s{Mc5xRjk%`D!BvHB2j0IZ!ZM#069B)s{0#DxC+<3^(JWUF}s5?Y*Gnm$Ts_ zUVS`|dQkga;-1fD#$6lcQC01|tWDRJu!$JQhPL+gORJ}k4Gw$!W~ZLg-qm@$bD+&C zLw#Uv^?6YV>+^Spcd8iUS=jH|j^%LLs3+v*wK0z%FOO#(x{qy#cOQv3K+3@1g>rbk z_v}Lk*B|2c*lZ%+aUqMr^@q%RO>82Ld+-3u={%sL&5U=}c);NL!-%fm+C=X<;(Mqde&*B= zuWtJ4-_FRX+t$91G31-WXNZW`EWM9&f6mVHM8ubaGO?UDT`vMVj3K?|rV%qPJo6!@e{(IJh}c+XmoB-bk3%h< zm~~>CM;JqTUA#rCvaxo5BHzLKz&ifl4DX>b=1z|MuDzI-(?;DOFRzVx3VC^Ke0u_7 zj);x#P(V2%uKYt`ycSWq!7U=<;KzmWTExk?G$P{gUanYP;xz<&x9dd2 z)4hveIqln~5HoiCOi$l`{UsveNz;qqwTOU|=ZP7=*{-LTuAC(zHolz!vc4%UyX1-IfDML+;&qU-SgQvc}m>~%IoyBHT24Z$#VXh5tP^SToY-*R&_|v z)JQ7g$i7K*Zgp`Mj>IZlvmGm%>M%kDyk0?{91AL>5V|K8~ck zcE7oft{d2#Tqqbtd7WHyHQiD_lvF<-NkzQSa{~=eUK!r_SOgU@8N8mJ`mB?7&J;yO zyrE?R9WpM2v^X0{MQrz7JPrCIlz3i-JQW4+nw2AJUG?#cLL{Y08yJr*a_T3!PdwCS) zwVnTF+VtowlD0UCTIG@j*3pm}v1ILlC@SKM)i%=T1M`S2F^c{h{HXtC`gq6;Qfh7# z6>+}P8>!2;^N8n~D9Y=L7nf4?L_^~6GLnjTTjNCP+;uAHJ|T+o`qhBdbolQ-lLfP) zD6gYuCeSnIXOPe5MNtu#-11BI*!W-BXJb4Kd;2pPK0Au?y7SrPbn3&Yq~W9}YQ~`< z%jhS&CXi!;qbRS_^DL!1uZ<#Szl@^1-uBHB+A?Jjsr#`uP6T}S)4ADeL2i3LS(3dL znDODIOK9@!cI1Fp6gA^lz2?$g4l~FU?YN8hcEVg*u+l8@$HFKoVvo<~(duRAl8y0E zRK%Y=oJWVm%pWBS5%D^oK*Ugjnqqf5sKecwIirsLmF zI8~;(?WC1AY1!gicQMVuLU3(M&pU71?t4L)f!D&KDTs{~3#oVw-~mUF0mWh&y% z(YJBl$^9x*UMKEP!?7XTdD0KL&%`u5?tN7cnj22{Psd|)@0bU*%7>SwW8bpL9#q5w z>fXY>9bV6ainw5p>)6jfO>>|ha-~E*v~C)=Ak0KTjnD6bH=kY@*$^exq$sVM@}REq#fH|#6Ax?c$1iM=BkU>&+{wX zAR_LU{}T4?$y(QmRkqu968rg^8-I}x*|p9|?B{_cPLcnWW6zw#KEF2fBr)U3c7I`? zcbj;eEuIRczHASv+vd00@2KzIAeS0e6eq9r=p4F>)(hs@ijg?rpN%uXd84vh)CDyIj z5^bL;;QjqpV%;_-R;C|v>b-cZ+pmgt-eJOnn#E(?zDur5%{ZyuY8+#yTWIHQoVK&q z?%QhTea{zDYQ}9RtkTDTvqa6<|9Jwo<<3ZnnsM^|8}!ZkU*s+;3FY;GF6o%}#G6V~ z#CPZ3pu?5va^uelHRDLfbWH#DK_x2UN2PDjb|)stZJyew8Ap#y!}RS^Dp3)4otjDq ze?3+nJ={ily*KqH=8ZU1iGIkH+os`hS$4^TirD?tP3-5Pg*~Z=I}E>x{Z_c8C$-9% zH*R1*IK+F>583O^HSCA{KRZyX?6dG1_DQK%4phX0s$RoB`EHsc74h=5SM{-EbD|&g z+zZ$bb-JaKh11_AaeI2+ zygpp;B)0Kp<1@r6k4Zg&ZCq_jCT83@=>)d%@~rdZLylgx58L?X#-l{Ufot|*dz)81 zPDH$O?LKT{^Li(V86V%U58JqI{VDPxd)3*6ZM-)246(|0+wa2m*1UU`n6Z28E^L={ z?i?}Wg1dKNyZQ%QBp>pix0|tDyGPw2Rym<=61MB)>bt~@hfPhwcGZ+Jh#3!fkc90j zR3Vdm$lG2dV!M7`??iLOjn`ruKX-T5?gjt7gMVL(ZT#q0XKKcs$vSM~fylh{Lyo%y;`Bq_@X5RSj}D?{Jb7&b z*12fkAZo_$!Fru5v4Kbo3PhkH}IVFqecMn2I>1UK*A&^JOE- z>%cs>uwC++#?*}a?7Kx5X?4DHQmZqk108SBl5Z!=RqZ3FRbH6q20iy?vb-!dl8Sgl zhJJj@o{XYad7*axvR|v)ghCCd8T&W5K|5*vGv2!)74fTYZqgL(7}YNyO+}nO=LYSk z)u+O!Xe#0!+BkvhqMLh1)10`Tc0Kmn6^$^jh=0=VSs&@u7|RiHUhVq8>oqZ0PEK9$ zSQ;I5euwORG@6RowXa@I8?R_8;^}^AbfQ+Ds1^;W8K-FHxsZN#uLe}ai92r6AzC>% zzK^0Jj(hNmzS_m)t?Q#HucyC$MT@roUAC2qp(38;{F?4vvr+C_r7;!pGndzN`-lYj z^oGV%#7!E#rt4;@^2nmm)QpF%eoco@-YuVg6HRl&p+(-%(E(fJ;`bX-5j#$OOJ823xkjcFW2jZmm-h`#)#@{;b7RWui+$hFWfK<5Pxr=9UWYz^O|v}K z+ji|}LalOY>o;`Hg9O{8HccqESH7VmcPzL4^;ct>YQh^l-qI(%m)mHy#+28`kH4Yq z<}a2jgv3xY9x>)E-ELcMJC+ydYyR;zYFP`X?b}Kzq@Z%l00EU zH1?GhhB`nwW3@7^GSu^%zjn%-mo&tB=G0K1fm%5mwQ{U7)UBVlDi8j&0oE<2hWdtIqp4LsU%*8g629EF z;7kk^aZH4Z)TP&Q+jDJC#p}>vF4Ew4>(Ph2CCx>e^Jt@uoozzR*gt;($=G}FI%chl z^zqwOw%%Vip(0*-*hRXi?Kh@q`wcU;@8KeKn~`XHd!R8DaX>>C$t!lVt>>G@RKx{K zxk$;^w%I22ZbC&2>smk8MBDT0+P+=T9{!tc4>~o*azyOCYMZTY$tGA%P7Qklqg__o zXcv?zVxwJ9PENhy)Ej!D(pp=U!`j|27u=`xTRMMKl5Ii3CY0BMzJ5y!)!uGfG_VQf z_3^d^q^K=mp8|xt%=jkGjU+y6p=jmn~e%eDa&eLeb*7L^wQJ61+`dCe zscZS-^8MS5s2QtuyrqSO)!pCO$51n#ez0tIZ22c$SuQQvJvv|SX_Xji#w~l7mNKi> z2rn8QL(O<%-qKP?g9+gm8pcpwZ<$d_a(u8dyx}J?)QppywLU*NW_QEFG1QDJmnbC# z{r+2crDj^&1$_QdiR`)aPdZ>pNhxG_QuwW=G1QEY29}iOUtSje^~W*Pj8FZh^=GG1 z;XNC~P+kYN^_Ie?`G>cv7emcB!^>OR5EoIuc5n-#ktMU+BI3B|rKHkB6l|9npIlp78g(fmeB{QjsEDPy z-r3{CjK|qZX4lhh_=e^41vYW88}uG1Top_vQIqI>`6E z`|^Aao9Fx9efj^lv*LW;yD$Iue$mtSz5DVxck))>_wLK*+&fc!-@7lLa~CS(_uhSZ zYka-*k)`J8*{ zVc+-e%m2OYd-%S0Uq0s!Xz2UiefgZbU@71C?#t)ga9zu|e=Ta`J~foXYvbND)N0O{wbr#q#>#+SDp{ZCz73Qf<2&(Kw8nad_(*QbR5MxwG}Ch?n*bl?rKX znediUt2`tmRH~`ft-xtQ%{bM+x|F1)KavzdMf_#u5XteP_J0I@8&a#BcthS;X3k3Z_2E4>X9&93&KLnFsppqr5dgU zO$rcZm7&jJAF{ZHgneknu=n^bQtxvf&)*z^Yr!8y>N63O{-L-QjG=XyRlXS(ifh3Z z&)Uq43wF@gf)buJn24XPsEKRA`aac|Rc`xPOAaSHwmoGcF681YovE}@zVHWOx$TR?^ftcgLzx+;EOwS0t7`kt zgOpk20ll21gB3T*FRDu{w_UGj9qHSXFG+M^FD7EggxXS%t1rp!IDf`#`>tWq_1iB= z)SO@@;zGaGkXqh*No>XIGhX-e36cIveMzp@iDJCoJuyW3WtT+$#pRAvD@XC84vlSE~bYuCgRHtYO2uBzfX&% zB0ihH9+p$9XIm=bA)kg}ImH6IQW3YUR~yTDyQdE2b<=zl^M3DEi+;${o`+)^_ERHj z#?@MeVEU@#n^7|kNUDzMy}R_Gyk5Da4(4q&s|x*)cckiV+;^c2<@K&hRj~YNOIlJh zzUNsN(;wSbhVt5|8x8SdW^9xX^WsA`j_Lg#RT-~aHPidH#H|X9*Ty)hcZM<%4=Sq9 zkt3UHGZ7o}bc5WKiFiU>C?4P6CPXn_8*_a6j~$p98*^dK_O6WAi(6L1dS;bw%y>QY zratEDSL(q;Y|Ix}o6Oi)zhJI?$Q375lOTo<-rt;>@uu6=F+Ic9~h{*u(gG_YQX*fB=`trnkCD&i8sHmncCb6%&6*Vpb}XH=tRd@-EjZ^8P) zYh$g4Sjy`L+M~fRP9Wyf6tk?0GKO|xB956^U3yZyt8!{ZM`o3O{Gztx(yXiUI;k16$_J0u zmlj5KRlF|MXO`KONJ%bT74NeZ*g*j&rw}|A6QheVUc<5L`NK3N+@~!bM_y01|3UHS z^d;uy@i?z={9ULsuj?fc34ROm@>;1_UE2F*yi)t4_RK0nAO7w-Nl6&r0sDd1$<@Xv z-xTVMd3ik0v8Hr8f2`8rN=qiErvuhtSGoE$5j?_a-e=#zOiTL~<^`zqY zVwJ5@U1r8x-qe>4Y3Z}dg)kA{z7a0nel=bhJur}2<<22C90M>WdF|#-BslJnm)FMJ zDV$Y;irA<#l*4PI&XCuPjX4YHMQp@6D2LZ~x7%>tIh|C4TIKL@AsEk3tnN-l{O8PY zj8UuHLa9}bj;@cfV(efW74eqg^>A%nc29e^l0^=kP#5FR$jjP0Bu#jow!TCBdHT3H z74gpTwQx;8y|knD9zJXAf3+sYw8B5Nr)K=C+Gu_Hu3VbY>#n)S{M}sO>XvWVL2i z`MXB-)HhALDo4Vim{lG+#-<+D_U%vJRAE-R$!dcA4C|nXUtFz^;}*&h@rG{+jvpvT z#1S3C)y>+TbJFLPnN>dhG92d-)Q#8UF4=HSL0&U%UbMcNqU|$R@2$l|e7I#@b&(dg zTUV5r8TYSJTm4>39~jw~iTF`sO|`PNZ=8CpIWyz6T|?D$oUtmFu6k;d-=WL^Ud6So>fPu;)N0YNcUaUX-sFmYGwBJ_=Fc zTwdPt1+~i1M%bTJt=1LmCSusPJlxtH%gL#4AE}|jIsTE@4phVyyN9W8jz4^ID{97h z*Va*CkNrhP6Ds15r`1#89KZfuiJEc6{q%&zz$ItH*Os#VH&4H?W z>*-2fzmAmG&f5ajbKRyYb8CG;&3NLbKy}@`Dav2PzNEZ9^=qIyeeYx?&&4mP8GDQh zR2#pVq!by|g^KtQE3dAdG*0Pspc^&g23^amYYL50Y7Ff`dEK{6dG)r(U}eqOo>au{ z-sRMB6Wv&wfjy`hM>Z*^s&m~~EB_wUjK>cwr_NsD#wslBPIJTG+m%y~M3!I;zwJ&% z9D3SMy)>;Xn=5svyzb`Zt6oVCV9cjG<#p&@ANABDvS-G zBHl7PK;5{iI;&r}1{Lx6%>iop-Bs8hf7GOAY#jFivKz|{8+8aTS(TY_i3tH}|B5x) zXLTww5kGGkpgNBs?1Y^kv&x@0)Q(ZD2)46WX~yf9;Q{KRtC8%?RWBxD?_L4w)n@hB zs>|h>h%Y1rs9)Z!!rtzzMMeDcqyTlgV-WjxVHh>zAsqwM{l$XVf=_BwUT2gGP`h{q zu{LULD&h`l<;SS<h8Jg%I&v10_g|3@WimHTOHec{Iq*p%x2)GDV}2~eN?&;Zvp5&yQPocd+E zXe>v>J?sP2mH`b|&uf0vDmO12pw5qJh;`%j{A=aZtowRiGrpfcKpnX+k9|8kgo^mO z7V~$;)n>nS45engu5p0+m1iwRFV>(Ue%&TOo$*a5n_IdTwaUgkf_;LBjj;;ln6WWF zAw92+ISYA3Y^;xiiv}|h-`-hHE#9*hyH}_xv&zOgc+x9`iP%^N-%24&#K-%WQyFW> zwoNb2tg@XpFY^1;Vq=4Ym{m6RDtEGi8Ly3fOR*Kz7_VQ{2~aD}s>7lSRAwT6u&A8c zBs`q`RI4Jh%5Iec)X#U;XVTCL%#81s2~ew)B`oPh02A?%*mCOYG>KI^=FhD1r^N!) z?)4?sw4OgR<7XcQsGlB>U``2TnTV?mEvJr2k7E99%P_0lAa8(L!7qv($Slpwc$l`| zI2+i2HLhBciFoy!a_WUU4OpYL#hF#^aJQ_Qbh82Lw524o$}2CFRqJZ!Ww+Y;Gpl^; z&$8;PMd57xr3%a{Z`x2+t-7l=yRx|ov&skOl~rSY2xWu%1T(9=acEgQKZ3PD!~r$R z;yxVKUlF(a|Cqb)uq=+XVc>uWSfYT4-2is6p`d`sGlPIwFveJ7H@4Wtu89SEi3J;? zB4TeuQL&)t76Chg6al+nN5zIl34VLeliBl?H|OjyOV0P-@8a5>XZD`5v$H$HNk=jc zhje({>a+uS=7sw>j~&`MlIKvk=kj>yU`KgcRe$N~(3+B7j{CupJQqN$SUn}!kvtc` zxvbv(qoaIom9LcL>LBsh+^P+~Fr>ZP48&k`|A!ca$?8wwC&LZ6@*f`?AXQ`nyU& zi<(P%dG<{QG8Y76Dps#IcO>&dFs5SlgeH!1SXqB*#b;ZQ)tO2kRXE#U^0KrMc|5GE zqa5JeLHe;;1yPI3PIi>*Uhg1v=}}JP@r|{P@|T7I(!%RyM7=yN&Qbn-M1T|$Zzb|L zwX1_1)EG$tKQ|FsT`R;vPFrS>d}}usS)D8@^-%Vfmd8SNzWYip6!X}7+WpD#dC&D_Q!kC*$~%h9F*(u$d7MIN7SX)jlG36RD{l@VFp zv6j6&yGMZJTd9o5>OKqY<@)darKgq^#gcI3%PMM|^>T$B_T=4}b=}J1f6JTqRFUQ3 zND3R_EV6p##42)+YDnsFq>0FCThA)8^9qAh*RHw9>Z~$VTk_y*&imd)pSXoY(6d-wpScyEQ^$Nyg zCGD>3?bWe5k55gtSI3{MHtA@ujz3vl!`5DXM$pT_ukF=$kvx7?tqOT33-3UAj4M`A zpI>;~t&Y7q52=@Xtgu&~iFkZI&|ZD^4I6y9m8}{8xK*u2qW%PO(?#T6rAypt3sGs+Z6IZm)jh!Rn}S_Ub&X7Uzt# zSLbPYY(3mwou}2ybi6TOes!#u2k%$Zb zRu3sP(*?6S@14DTxucu(XuK=dVmi)@ZZ;5UF^zM>%dJpJyYyCjGH0?Y(gm@)lQLF( zs(fDob%V#@>+H$gOOM~1qrbDY(zn38N|4Y5{hf~~W6l}Mw-AsYR*&vwPv&8UeQtz! zTo_<4i^?|@kOx-pXl+mCaKfiHM0&ZZG9Iq4e7geq;j!g6%5$zV7qoA51H|J=cPh(Q zZums~j(T6}S(y?keww=`&53(VuNO7`-N`<_y*W3HIT zG286r;hR0BA5vOjE%rWWFB`hKORYM)VIJq6u$Rx?b(35+w#Itdu7<5#JHk_PdElyi zV_&j<;%zH`x5!6Y_H9$Fmp68|m0#WVmmEXuVji#9VngO7pdaJ$)s;46z7EnU2_IN& zBe!<&m0pgmgIO)qvL$mDkT<3vYkQSJ<#H?Pm-A3-Z z#9LZ9tp(=sqRBRL!yk~ermQpO@$I8FviuG!-%vNfT5NXCMn2ZlS2B!kh9h@*bA$TB>g>l#nf^6yVKr?>Fkby{dHz8g^6tRoP*bGE-JaQycO|>N zZG>3u_@@ndKeDiUL&WMewzlN`NdMRdh}HL6+LHO?9<3W79#83SL*~HYd4$yur`pK9 zuOMkvsFTEFT2Ek3`@iKdrLUe@(^v97QA1*N*`I9W8+*N^Q!5)tJbu~9M*h&=T}m-^ zmUwL5O1ZBsY$c^mX)5vfWn~+6j+)i9F2TDMR?|8F@6k%at^3-L_c(U$eUKIh2H22y zO!=>SAXb~!w;}JgR#<+ISbgb(HF>Azbvh8SI`Et|d6ze~cW1-mK-=RY~Jhtp%rCt}0ufKCp>z)=rdElVdJuTiMIH>iF)k9W0 zsP&E2PkKA3^^MipP7Z2)WA*l5s*vwV27l8TvAVZM74khv|M)<}>Rnb<$oC|XPTwO| zPmZcWz9&Hi9TBVhKDH;{mi*}06R|qW)=K?dR$D!=RO770XSZ3ZvDM{8ECcFZtHH@7-t9{c)R%65Jp z(wHI_%;P=%l{%2>DotPMidjwL56>NX8^)zH&5|&Tb7=biv}v7(ahewQ2)0zmgj)Qh zr=|M61dkIPE!B6FdbzQkrTSiv)fdZIs^1du_-SiP^?fvtqd!~7PySlp%Ia#jE##?x ztsCWWYhMf5;hewJA+s*l%X4N}$c}%lx8-r04Hk0rJy&Vx^ES97{5Z)%K5y~7{Q36EM}9v_^o)NLD2X-$1Mte2CO`~Gn&Pib{6SFFWHm44<$R2!+^YB$W| zI}Vm|$8X)F)#jZ4CF0?gFC6nLDq)=YMo>@96S?1J@j&R#Rw zr%HP%rDYS$<5tJbnYzydkGDKBm2Y=wBPGPUVZAJWFqQLVPpR#? zR+z^^X)}53>vmGg`xaP>v#rhKp52i&adb1xJY9UU?k8 z&P-kBu9p{En5k=NwYbI?Q*|vZkLS!bQ`gt)<%HL!>iS$QZkc1MuFvIh?VG0R`dqzC z$91qim(_G!2kUcL-6%$Ru2=S3gFcGK`=(l|>tA?0;74WdQQ5N&;=t+-&X($0309we zYoV@@;ql337V7#Py&R*=DZ!p;aIfU?d}R&?_Dq9x^zv4Ng-rJp(#zMXSgLDq^m3x5 zrMeb|$LB^Xb31?S?W33PeY8;5uxN2yo`t%Gg~ywFTBvJS^m5II7V3HvEsoE&P}iIA zxTu4Ly52-DS4y)`*NkX!$LkjAnh_pPzha@T8PUtNmAPfulMvcItAAGJLg70!IG5GJ za|?C-cu6=vN|{goYkfVB9X460>+4w^y}&|UU(f0xLoL+x$UOEqZmsU;pv4Odtkpdn zSlzmTjk<>et4A)dR`+mV^}LSCcf5b?=fG-l8+A_-9%rnzA!~eKUldlm z|6!xG_i$kK`r!?~=c>jL0h z9-mj%WzhZi^ztSL8}+%2$5kKNsLzQ!UcA#rea_;s%U2t9UP~`uQojGE^ICejoM5BQ zYw@^(kF7edrI*8w+o& zc`dy>aG8xducgITXW6LpT0A}#q{Q&AedqLYZaZbH_}6?6t3QvnQRj15J*Jc;8DGH~ zYArTX=2&2_Iau$^>S+%w)OFB*=j1pGbuF_NTWz&a*B$HS@slmo^};+peA`2wc;gES zs906{|G_&OddR7{U(ho{Ly6U%4sGNfFTbGvYgX#r3({ZR7@xVuh>E>PULIyYjyU$EU`TSh3pbpu2ow zeGEC5)%|O?kuB=Q3d>hCmUx``ZEN|OORNyLy@jO3N4|BFJ1EEZXyzvI_~n;Ya%&}> zMa~|Q7Wa9j{Eunn_zvZ~Bpwe>a*=Ht#|mR7dP`dTKBk4dK&dms+aQU@Q2(KxM7a5o zI?UqGHO=LpYsL!imtjdSLw=y{P4+dmDHhZIL~QqmfycDHKsv0Z?FG)|G40S|rwW%H)7LP%K)#A9d+(7(<4qa3Nv z#q|;kW4VvDE01`*LrLeQlO)tVW{P+W*9BudG}Vk;S8+Z0dK*&Kt~;#|k0C#BUu$^I zlH}(<*>aVKyz<>vl=smB@%Zf=5BcW9t!USy@`%TQKX}OBWGngcwneNSSkZWH=4^Y! z>dUe2B>y$tt05l0>g!J88PupcVzqmMn|dy*_bFq-80DD-?mJpd>na?t#k4NL@jRw& zAJSp9?_c*sIJdaIW8aEg?^Dw{h}C1qv?A9I=knO`a4T}{kPeSSidxA_mFM4m3u_|1 zy#7`z5?ja{t5@f>BJ~i?<+0smSGit7gdnc5Mm)}Z+Dh)(FjiRFtP;}82`yaZR{2Wa zUfLrbcdOzmpKA~+_r_A|7Aq>MA#Mj1_9`{05bTX=_*p|9@R z>k>()xXw>-mDgN|5ayd)Ks=`X|B1I3NPgg6z+$*pW{) zO0KTV7oG4-#(8@+Vpt@ z`UhS^U-4P#H|R43i)sG==kgf(UTD{lj$Vd-7}`FhSzOcklleIp)VUO1(|M|hQYlD_ z>0B8cub1iEms~zcod+w9>0HVlbV;38DURuUg{{(OvYO5hWCUDN=L(8rI>%Le@D+8w zt2n0fLd{Yxt8+xWrgH_8Os}Z(2E{R*e_IuNO`VI=YC10@2VPa@h>Bx6hYa&z;ZsVjdrF>q@?n zDE9(mz1-K#mAqe8{<9+1;^2D5_siQvFU;ey6IzpRNZjl_uwK4ew>5cZz1qbcYjND| z*5sXayDzOUkAJw*hJ0h=R;>lr%l^~akoVvder=AmIQ~f+@*ezPWoOLekzVfPU3ROb z^|4;IocUI&H&zyojS0ZTv7gmBVZ!c?wm}<|}`!#oy-|kFOQn0c&xEw)xU> zCH>jm0x*x?n&y)@*wpBR_438}f8{MD0PE!`O8qH1yh)h27hzVLp_kIkaf^gCvkjQl zpEkXcntoj&`xtCHS<@kyH{V=P? zMZc6>lyh^Qw8yNTdGe+7Ksoo?Js+%>mv?+6%@#w1J_8We;*jK*QlFG%!tjp<%<6ha zqe=aL*R~1P%MClcA!+`pq{(Xg$I+yoZ*gscd5ryzkQg><&;;|?_2Ll{+r4&8Fpm!n zJ4)K%Z$-|S)tet2Au&nutAh11I(&qbQ3vNLnAP>oPmpuZ-zkOl@~w79NqJ44Rt2;A zO59OWMuTFjU>^V4;}|KU-esy{9xrWvf|OUkD(0Bg=5tSwI6Me8$2=aEcY?&El5J_s zYWoQ%NgOr^r7^2r`kp1%?la~Y;_)cYv!sssCq6|y9=HB1iRbc7&k?Iv=AI=n{KX>= z>E%G*b0oI&8^1z4-nTW8#JShl!(i)o|Z0+bEfwtCwMH;MDpCNt4wu zZj9KUM$Rp+5B9r7;@MZJt9p6r*juFDwp8jZkDqznB6WDPQiruT)bUP@ zvq@duq106^cHEXrV%SybS6Ti1TrP=Kccm}o@uOk6BvzqHU#gcA>~cvw7b|_N7MDJr zL*lkd=|A=IrAseJY=2Vj*Lu0hhZiK~SClalkGuTxg2eoZG9F;{%knQsY^y0_0KM$F z{5gsL7G-R}>JwG+Nu0BkaV)E?I~kwTzgNbqJf3pqHHqi1$~cqN3%y>Gcn(*_nR+>G z*DDgw0m_(@$L^Khkl1clo|}05O-w$CPjltDiO1Dl@=2_ISDu@+ICA}K5{EU)^AV4O zLXW6(t*myN6HVqGe`wzX^El_@QFRWJ)t|NmOC;oLOBZ z{4hDU!_X#}$6LQ1BIP)AW)rN%k7gYqF+Xoz1@m~9!x0ig$NTn}$1&TZNgUj^+G8G@ zmyITIFa+9T9?O}>Nqk&(mBKvsTXvkp=b&dP%;QHjj+6Mz+;4_i-D*<|iOI(=rdTgW zR6k4N)7|kY;_=Y?aU?!v-#tb=_6dn2@u~j9Bczw-w}>NgvmKIycx*c>k;JO3NgCpD zw*iSHR+mF>ARhnOGLgjU^zLNDoiu>|1J`;c?NHTWX!*@%M?h)H=iC+)uaEI>Y1WySZxr z!|J@MkJLU#FP9(nNbP@keD&fZwa;PoN{2iW6S!yT<+4F}Bvx?$(&ABf@<<%uKE>mj zgI|(3z&%SZkD8TF;sawI9v{feCozFBk6zx~`wfX3jDL9C>Gc~DHyHo0y85qgNPJ*C z&tu>0HzYnVuI6!@0dGl6U~J6eqkkB`$$_!4UXJ!XB284@r(dhy5$k0`_z~$BCC#~O z0m&v7IBfF;PjnAMM-xsd(GM&)+Ftfp(^ z?QdRD*UJ~jwZlE+KjROfNgXaB9>3k|A@_V3hfV~aM?9W&%tKzf_cE%!CKmDd&>0We zVnQ04*6I-A@prPaFG26ysDcoIc)TUSL*C!vK0;-GLwfnlHV-+{?igx#rvl>f;lm!X zbL~V_KA{fcak)4Tx!K(`v~*c}#N){G9&*vMJ1DH&7{uc}W8LKiwWCr0w+=`z(>*0T z?_X5+mne?u-VQ}4WObhht)}}q^zxR~y&bgLQrTxF?B^&{P*y}d4)^tt6LX?b{-zp8 zFE{SuA-mm-MQMBLARcd+~5L+DH%iPTwpPloyP6ykM=nyy{H`S{kw(>E(e+-nQ<^LQcn* zBQ5UnvxnS%NhT^dwGQ#P^=fyy_v%#SId==v%UyUfkF%$^%O{tdLPPA%AiX?Jxkq@NibZeN zokd!_%ilw88hi|8EEExsVGpQ^%6?FxtrE$8P%Q3>J>-L5qmXyJjPx?>D+PI|Z5L1W zm}0S8vYY%i@^>_{)3-=3J7p_-MqNFFp7w5n^zx#IZt{uq7f{0~2K5y^)Hbty<+wLm+nnxh7aSafU2aHhmPgBwntJgq0rg<12 zen!ntaZKZ|cK0bYCdG2Nt1Ld;k6vY-Kn@(HF*%eVsqra}<&Um%aR)(9>03NG}`A+~n&) zr_r$HE=Y?vTe!(_6GZgh+!OJ5>|s~A$#W519TbT4a`kd(cx-vvRj$2O`8NE*a>VM+N*?Ms zr=j((zacIDRk_9wEmP674QmmPADncR%a~n3uQqN(dfC!WY1cj}=z07mq{R_ReJejC z2~FD?iFjOi)Ky;II02cVok%a=R@!OQ_RGlIVlUESPo*D-@05saH$@>HSB-L&7rlu? z^Or^;y&P)kChzGiq3RotAT1tO%1!p{5r^by#}SWz-KAVh_A&G@?I_aA%fBl3qmL() zI(7 z$U_iEV{$FyAFTprWdLOMLAF@bc7>&Y3JQoG!J!eO`e z607fx%Ov0Pn9ph}vHIZaOi9N31?TH+B`u!bB};17^@xxgf+Z~u{d!aS&i;2{=Bf4) ztB?3+lJASYHu92KJ)~Babf90fuq?_;;&Hj*SyIuHv!`uRwD z`J#0u`EF`RwRRG#Z(3$4|115Z@Ft|4#AE9#nbO6cX9dTRNYcx@j%G>^N}Uth_wtrl zz2?hJsq|1unD7`$JT`5TDJ||K3n90>C06%OzDd5#o7Bcz(&Do9-l^?ZFJJugGfDH~ zTo*};Kezot+S-2WmJ+MoyS!7|sa|%N|4yyjJYKct3rR=3*-~P4%EvFH9QP%(l32Y$ zey7#}R{ylpM22tX7yMdB(&CB7O=S2U-ae;}q{VCUOl0`(J$zzaiPb^POlA1i{dtXg zk{0i}W=ei*LATn{Kk7{#*8pH(uBNyH=7Gw`^F7luJ8j6G@97_bx@s z1&-I^Wt)sKf#X^I>51`L;9MRz^fcz-o^P)BPkOhVnGAa}T&|TS>gAh@jWMYz<%q1V z+0@tuS7xM&TKu|?u?<@GNENks>qcW6oDg|KWcBwCjD1Vmr4*6JN53`pjU&3B7E9WL zRuqwS_rH1mF6!lZLyY%=-^;{`JobqxB4d^PF;Sux|M+JS8E^C#4vJd*^rx?643IwV zfXM1f*!~xAi##5bmrwH0ug84xpY*^H z#=SMNP3MVvd7p!Eosnc7EV6pkgcqc&<6MJ9E&e?B1u5%{nX^SLP7HlP;v6<%rpRjZ zqc2EV$84D*@_5Q6<9a}o!BfS5(#x9MCv6$Zn#Yi57|)lV8AS5W;<~mzV9yR@?GF>C%zuYG19F(WGn=A85;3T(~G*?W?sopjW!u zS8MTZyL1v;=&M=nmY7Da1^Q}M@4l2wei!b=CGBMv*VJ*BUjF9iWOD6r&*kx+yH`p1 z!njL|LpEF`@?XxF%@1)>qq7b>mTjH_jq_>jQ zAF;yBuLg<7kB`5TYK=KBNJZX~7T;|APMVe>2whGfsU+;Y`>hmM`nXVF?jz~tvcJ8P zlIAP_V>-k~V)a+2cT&e+4hq{Ax0iU_tk6`3|4CsvJWb?r-|MC_>~*~2Nt(#&-`AMR zWKZKQ=^~Fmbug7-e`8@{hREYt!-~j0oTJ6xMIMi+QAGCPJbC<($m5I?f0BJTy)C0f zRv+~KlkCYEy7`F6Kw`4M zCsgEdj{(L#hd(CG6L~CmG42n1*?)n^>W^;5{eho#UL^APboCb`CRxXqh&*2JcAwM} zhzXDD`QIn?1Y)9>-}Jvv>JP+<)y-zySL4I#3a8W6w!>=aS-RR@cs$HGLv1@ePMevb zwjCaiZFWuVV|hG(`ZcwW<+1JUYib|M<90ogNPM8bcKA1u2yR#tV1}NX^>tqMdU4{>qvBHt@Skht>e1IHZMpp8m!NEC)$?^6N4HAzB3r7s? zo<4hOSQ|1naR#V)fvfCrDjtmEtXxgiQ=FWPJo_cZ`la9!J(Vz`0tC z2COmcuCqYs@9e8AHfD2VaD-t%xdp^STr@z?>MGVE2-@p4q^ ztxg^sA{mz3E)Z6~QOZ;&J5*0F_~8XY-1kb~%V@MP(NJhMot(?#`=+-HqxbX>uFW+_ zJT`fjVR&xao8*Vbkw@+tRw(&_n3ROk#7l;^)2$rh4{5Qu$in!$2X`SJqn)2f zIr?{qL_8MnJtyfD^xJ~CT>l|S=TPPbBr+P>K9u!)!)nCp7TM7xp5=d-i+DUZ29tEE z?m1`B!;l}E&i`v;-8TLfn;X`=iXm1|-}Ew#8?-eoc9@<*@{obHA|5xabDgA+0U&w#aJVPU+-a!TE~F;})wjNIE@VUJ-dLmN8z-F zk`|*JW1sn*z4DCDVHhX4{cu2_C(X!+Z#gXY?}7&w+8P5vyA$*OieSE<`k5 zAZqd8nrXPw)J4MbuB$~YK2DAM_-Z zWAvYMp2G$fzQrqL!qWgBO1x#;_>=1 z1tiY-HjN~`>|iJ$G5;{Vp`@3`e)&MkV${k8602|T`9NYGJhHyT;~5=47-L?yp2X_t z6R${|?G81QSna#_6^ZAUqNWm$#nrD!4BNkNBJp_eq*o-KP4_xWJkJ0A6^W-$o5m84 zT^Br7W6SDYYagqzWp%>?kJWhU<%Jg>tFhI~@1HzY5)-)J@p#y=ED|5M z$MJZUPqwihD)%^6`;JW`afUH1kE6fdAnCyPQ;XOCm`ch8j_2`JA&sO1<5(>&Z%8L) z2jfq@Y;r%9qzTu;>Q8slNgaUkC#!=C-b(Py<)W-<)#B%M3dr%_Oui(t`qR{Wa&Eby zC&a&Vg`uy=F}xFv7Z{v~F@e59i)p*gF6Sh%n)Y2VK4;2OiTl2z`PUZ}rI{ zb)eBIH>}0ZZF9)+Kiq7GwYc6d#(T&0V2pWOVQ2>V-F1UKF^^Na8uN3jkss#q#5iL* zHJmzPy?oNicz-EVu{mb-`jkf`K8s9TFsr58H^{le-*{nGPq}2w^RL-00*_av^wvnTw{5qSH`TS?R4U$YHFMPcb+@{KKZRN{mWuj zPjD8R@43p`Uf5-Pm@R-pdV)S(+PJlovUFreGd-LK|H2&gYcZl z>K{uzB>9JDa4n|u;qa{eckVLTIByBhXsrG*@(IZg%*kjmozI6k5LSz$vdC}2Gny8! z*z{7(8>{L29muB^)40L&krvbUaZoNiUeWrUS|3pwi>@R+{Oh5D?;CYL{wJi}ZE zt7)Bw=RqFRcm2?oc^sB#e6I~{hsU(-z%xFp>n49u+r{6R<_+qn7Sr|u`C&CJQ>a(0 zrga#~m(_7rCrBJV{M-@qcwbdxI#v2~!dmR!-gx{AyUv)^yMm49Ry^1lYjMmK=e`b!m~r7M{iQ z@{F^_x>0Yx2iD7xxiZNoJX5p!Q{8jqTzKx|@zwW7Njm+?Ho~k97-p;kTWhz$f9Jf> zi6niPo6=&hIcLf7@Jy$d3tt~2Y5ts49rM`1`LcQ~dYP6TJjb!RzlX7pooZPD^O&{~ zcrIf#s%ad?b>aRGi?NDN~y zn_yPcJ_p(bk9~XJB6-+5%ntLI_7Bh}vwETRO_GO{Oe@Ulj(5ID^t*Z<$A?{)=voQA zTy;^BMAu62xMhv~w-HSao!4}1&9>iNnZ*K|z> zt5=OlCg;L8bv)j7{JL8Acs!$Q3P}gPsblrRqp75Bz;~xSo*R}*$`RIf>E(!mR8qe1 zEh~@v4ooBE1>djo`0>3o5@+~+mB*={vq;QgZ3T~SKFcC8hxLQ3_HU3)Vhd|Ac>HB_ zHi<2)zu@sQA)CY&)?)BD=I{d&TUbxQo09*{W08Vw%r%XmQI3~Mx4 zZSnpAi7l+l(95nl&(t_;arI}<)OfNwKJ}RzL%odRo~iNF%MT--sc~j?<*+wupP-km z_rFp52OjSj^G59}SpBlW8?}Gn@xau4wSUmd!|s11F^78}k4Jv~Na76lK2}$#UP#V` z@eivzg?}XF0{2HAuX6oJ$_Va{tTsDVK*|N~i9D|R`3orvSeL=$Lrec8@r1E%N%+Kw zKS@3zeJxJ@=1)>aa6FGU@A*Q~fw3;D`!@JO$`{6~JRY&Qkfa0G!sDQ&pGlp8@hXpL zJ+ZaAFY=hSyDeGwL{`(XI5zLT$YWYA?>!%gJf`vd&gr4ZYT5_7Z96aWnD&7WI-D2v zGVR|kEQl9bP5ZRB_Yy=N)BY`C?FEs?^!{$Q?2yP~dQTr$>5#~3dLOqsdsyT#y{9{_ zJtFd$-qSzaIwtC6IxfA|ZKud%I$kxqvP0xC9lI7C+9mRsj#tOW?-5x|$EBMG?ickk zea?b7^O!zoL7Z7lpMRk(=w9ZS@onEHTbWo;ROy?Y+|KTy6H-J8b)pV`^ z`VCgo`2pxFcueQJ;C{zrI^PBNJ66*xaEtcEqka4wYH-x=0o!!hu@_IIY| z(lzFAyjIgZ)Ajgpu2$1n!S~f#Ov{C?Nr&J1cc%3Lj?rRT4Y$>9QAiuO|NTSvZeHQzTEP@8aGzcayh!Jf~3VOJdAxHl&Kcea%{b%lBAap1>920 zoyW8e6g0D!c>Ha6Hpvgv6CTsL0r_DyjRVvZR?|8IWyE7zAD}L2arti^V(5#YE@?5W zN1%Ndt6^OLoC|%X76({7BF95tq{Z-kKBQ0Ay!=mYQu97J2Kp;j!}<|O6Z&3O+eJMk z=R&{tcMhL$j~oMan8&aN2l5H&{GDn3>ADy={@*!yWuBUUErzuTH2zvl%L3Yt7KgXW zC+S1o&|+A#0QrHsr^U2x(=|A7?!Pl_JJ9a5_;wRxexTiHF|5~sJkYf{#Wihrbe#^Q zqt&zxLLbHBQ?)*jYk@Y%YFHx!d4@K~>VV6}--UL;W7^NqH9?Rct)^`s?k_xs^+fQy za4mml+V1FDA(~Guf2VC6^2usiF3_K_n$`#C2UtzpHC>|w*IOLZ{sihdt7%(?et^}q zjYB`fLjw|yBqiO2mfJR#|1%k~nFamQz*EIf}_mUz74N{*TzR`2cjP|ZV0*znDLHRe3F zG`U04fpXX4Hj%g0dS23YFuO(a2JMm6WxmfQ=RzAP3Df+z@6H!lP2(J#`A}pvE$i`{ zGeuU@I*b~miae%m6VhQd?H?fjJf?jV#E{jrZ-=teVp`8rPCODz+O)5j=aVk-nD%>f zm2^tN^d1K>DQSnN-^292%<7oQ4=}wim$aAGHRcogoRaXu)CVLE&{wlM?tU&g7w*wK zF2C(5NeAxHJg!^o2`Lx2NAoyybDo+XR*N-Xsd*>~H|&$I#+=84N4z8HK)Gvii^O+o zoiAwz4EsRx2KQ(!?q9ip91m@zBuw)FeLJgZY~h~5YFfTY!*FlqF>RZWjuz8C z0rIbxX&(jgWHs&Qp&YfC)^oTYm9%MJ0rzMg(|!-`(IsJezk`^Rv{$*DmF^~bc)Q&9 z!Ft*INF4db*tsXd|GRyY;>fqbk6aLD_1xO$jNim=^2V%AseVQ}XWQ1h^5)K1i+`vX zCsnP{&U>O)C#;u$YI9n;y2jmmi%%EK>Q~RsN_7(wyw@%9!Ft)d`dRY5^tyBdX7#6) zXUTWYZvqUM)q6^vlfrTnyvtSf#XK(ZIxE#Y;N>lB_QQI)U*TEFuScSH)=59C#jCT< zN*1n(-X3K-U>@&IiIcJ~wDW%F7Jzwdx8|(m+&9ttQb+*i@sQ+L(tf{`Z;5$)Jv&Ej zvs%35O)Tjj>J+(PR(A+EP3m)pn=Y8gW3HYib-PNq3+C~piD$^QJ9l@%JboN(jLDW5 zC(LSxLB?{N{<{ASS|!ZtqRcZSwtsrsVOCr8h$D5iPLv(yan#E=QdcK>RK`4hnk z9=ARvka#w*vBa!iVIz`w-i)=xJT{*qlGvV~Y=wDT_(~+Peb=uH=JCNN2_&{hUwuJ5 zK65jH#P;;GFNoDcZ4yark2d@h@i@O*B8jb;*c)-uaVe}c6y6= zT))mW65GDvZxE}k+gu~D?K9hy0Oi8toi?}CzJj(wpW*SqeYezphSjEhZmInYk4H3oNMZ~3L{`gBjC&)%y^PhJ7a8|MfcuwT{-LaK zp9HvuKhQ|5^&(W;533x>6D$Jq%oy$5uB4q^gX{@$7@`RKTJTLRu`d%(c2j-EqIH!rR zOyT*O$GyhnlDYwNP+ELviLpMw^Ei)N20f9&7I}D=w(EkmxNEP+Qq*@|-aFrR!mREw z^N}>?Ks)byo*gl((X(7BdOlJy?o$kt~4jRt@oe%e6e2sE;U!G>gnPAV3rTo z%L|w1N}UQ4yysTzhgq+y*K7DZP$>F7Slco@~@X^p9wM4V%pC`d1*22H~hA{ zV!cfJ*mXO-Fso_1Ta@dHc}(w{kcW~m?dyhGx5GT9V+M#nkLkSw^21|#uZQ@Tgnh@R zVc3%y_KwiYKXysOupct)*P)lM3TYVjd4|0ycwF9)j$uz@*r$TWpYEh%*b^J}reL-C z;!F~A*i(hag<~>FoMBIul5ow-nIz`0UkZ;iU9w2bVUH9Z4?C7cVh;PI@VHyjT@ruT z+ea_=ID40r1?;V)#a(7UCdb1*PCSnPe3z6F>@URQ8Q%9u8NpsdthQQrkCY4SHKdna z7d$3qMD`_P^scp!Nlai*DjqjH@R-B|_MzhO!V8Z{d|>Y>Esj3%O1*YghsC{8>y;M! z?tP`kipS#WS8A;E^599Y)VT3@{g?u^y|X%GR)N~CS?ypbP}?St$A0;swoM-2-t$3i zr>xFBR!Cw9_bk2q^jaZ_E!@9YeQ`n|i7nilcwFA9ki-`5O{@-H{Ds65?ngYnF~Y=$ zj=}VD;xrQOEhuY@HzTIA%}=&as^@3|pEY zvif%EG#oT+y72M&8Ijd#_0n*Z-2!1w)LD_$UB2GHC#v@*zsu@RpVM*nuS0|e11^ZH zj^3Y+*A~tb_P&l6^|H7!9a~HqB5Zk)C~9$`T{^ZJGDJ9KmniZ$pj;W;yh2u|N7h*}KKk5$8m2(!%M$+Ki}UAQIK6GR?2iBH9~Q-%n0_XuK1xbSi+-q&XoX=_@% zJ}4E>X*-Y{uf@scX}ET&>B4)%YQ*Xlms0WN8l%X$TI@R^6|bl@kQ}eYON(yc=eE7c z@vN?SJ{8}!Um!eQ9)?Q74QpN{aa;TF5aP8TULe$OcbKHZ;$-I}{J8o8p=-lKNH4>+ zK+MNqIzaMMTqk!<#f!@h73@E6M0z>=*$uqs;}F5@!xqHj_-i+C(AW7wgcynRa{jOz zI8@2oszck576)HV!57~R5gKRiKs@d-J_SdAR>m!kdy!twt8UEO!vnjK7GE5dOs=K% zt-XlH$+_3@2J;0%_wfgjUXI*<9bf!1L>Pa3Kholn_mar*6`CGIJU&$}319tYsBptS z3h@})BlNNJKm1PGBdejm9kC*coco`=@Tqb?Jr^NV57>x!T(@H?_P-w?_`leS^zyKF zH?aMi2;r^EE~J-Fg(u_hUqlGK{@joBa?G40eC$GmP+)!t>E-neuHv{Q5kmIp!>Bk8 zsv!%btDYd|vO2KA0pY}3fCO0`%aG$|VC zWhjgBsd2*R$;U`+wfMsN7@=#gBjk7%PkC}3yH$@BUcEhpcXjR~f|AbTDtnL?pBkNtKRCq-_SbeG9;dxd#Y>fR3fgT$T3r5z zG(5O!tkCJm7R2L*jnYZofO@ONO}3`tSIY11DB6hhvba4BLmh)Wu-c)C6QX?uuW7r0 zbhMbZ3piejX}<)=^O*Lrkd7|?eZPVBdk!2n@s$m<59IQfO9r?%HM<;!Omy<#q45TY z71S|Sx0r5=V7xJY;vvN2;IwlF=-UtM+=TS9i6O=Sbrr5lizAQ68E9M6Vu$vL2I$Y7 z#zi0=2Up8Bz!;{b&vvAj9fl+u;2x2Yvjb@{s&Lx?_lVE?_8=ZRba-QcG2Y|&y+|*k z!_N$G-|9Dudu& zwzx(#;&F?zHVE!bX1+&|UPjdu3^3OL^G-YtUYKa0^H)5+?|#`p=dxIh?p!y}c`a5u zJj*c9IW8VYzNv^{zANe0@2Dgkyu=C7xvAn9$_VDl;9MTl`6x(-#gXGK8DOp~V$MdS zmr*4f1an-Qiw+{a4A(`U@wJ*h*TeBF4ysiK!F<}esRs~`2bce9fcdl$76*`C?smWw z!F-zi(0xdY(V+qZ%%^oXRqjC?c3A$%0P|^kmhM7&dGOE|ByVNg?o`G||Jf!x9+KlH zO^ZZ44(^#|fcdmlLn4q~cJR1mfcdnfsaug2NA^u8#}{TYBV?vFZpJhuz&PYQ7_NxnMLMsUOWFLvU+f> zY%+&4czTG)<8HrX;q0skA*$_Kk<|eynRs@UZNkH6YeiN^Hp?dSZzJ+TL{{f5NXLEy zV};U*%f*uL;Ad$#WZ*WT*}@efkAp6x`f$Oce|nXu#W5c<@FFGu z-x*emJg%#J8#8zIHo^E1<0gLDH&*CfH$*H6k35(~=Ka=8S}C&HH9w2Y*VXh}EwZ}2(nsCR4j0P2 z2@zS{@LncvH78uidAwFE2?zXg6JN*SLXWpf->Z|o8fW0dCgH+5+cjcIyG!$QoZK#4 zSemy|i>`<4o=eb$Mrj_jO? zhrC{{+=DiVJgz(cCXTzkTQ~ z;gvPPBCBto&m(cO{X9?Pv1?o&iDA*11tO2V+7^%)t}|OI@_1PL0us+Ehn9$}&aGEK z;(6-cQjyjDOBaxMu5Gbg)Z)0?A4uGM(ti{6^2M!1B!&@g8$8%zR+1;v5qz^4RIPIf?D)`q?6n-wNg= zwqfP6MJ-MXGbiy39h)ucS4)w~%d7ao%N$;)}uMIOi8$RqJtJ8!ng zYB4j9#Ka=*7m>%G9^{djcrKVG@_5$EJQ9;>?Iwz>p3$v<#9>#{B_fZ5g9=DY@*gY` zS>0uOf$HnYLME_3ckZBo20iH;KBr%U2SgwkJ1= zw>cbt{40si@4GgLJnnVW%m=m~bo#Szrlz0+n*msV{cCAy?ddTDafXnK2X|Wi8 zMa@5ty)2W|vgYv=yA+ZR)Hf~eKP*M9=Otp>RFWTPgZ&vDq^v!p{a8tu<_GpDV>OK} z?1#o`TE4J98;@!Igni+7OxrJ{!)n?u!L{(1_KgrvR@1&6%2A7H{{VZParv))74~+c z{c3Sc+a2t6#$$Saggo$=_G7Sz8>{IU0Aj0`>3sq6Qxc~4cZk1UUg&ZhTLi5}=|TY3 z!^7=6tLYTSBWoSUjelK@9>^UqkKJ=(aH)B#(f+&snAN+M8qZzO$RD$MseKH|zvFQ~ z%;V^HG5Fa0^{C9{09+Ej?Q#Tros2-$9(TaS@m2F}$oXCXIrl&LDn5!&PmDmN?gn5U zLq1!_Zbr+p{K)UJIBZ@Fe)-2bRA-sL(r@eI7F}bo<=GAB#R`ASW4oXjJa4vnwZpVb@y&PTo zIPSP_9ctCMGv+bWpCR3LqI$!-l5%8q|L)t+x*xlcbBpWXE+_E4VXILU$F7*wk$%U? zxqT{i!94yn;wTPl6p2zc24cMov7NDQJKFjxki_Tj9Nj7sRrE9-!{V`j9L148ZbLt< z55zpaI{z3h)iwg{ULAG zftbfJ<&NWs(qZVgnSoe~Gdmtv_FfA`vnK{(9uLb_#`%L*qmxmASc`*Z9>?9QtVhR2 z2V%XPJlB|q)gQZHR@XeSN$o4Nn$~$ZUW;k{hvQjI`yV)$)%0El=l&=EvSq#6U-7u_ zjty$x#pBJNHsA-*>(MvOJ7c{(?ZgK1ObXABJht8*hJPL#fley-eZ3sLWCQMoHz3mq zfmknxexqFPUu~1sjYk^Kg*L_NGWn8D1_l?|$ueFarZ4tkM50T|xI!<}_6YMuJYIWwgF4T{W7#}Zo#$b7uR+FhVV;N8lTt#} zc^)2jpBRQGx&+r=@i!?IUDfmGwaawivd_KpAHMd zhh~JMACzZdy$sh#pMQ&E`uq#${wEjJ55twtZbA2yIRqZtPTz<><8ZV!D**F&THHo# zePJ^?w#6T7@vBiA@mFO&XLy)D=COZ#DE=mE6G})6z&wtxy%G025Qg3;b6;9~^-(CE z9JUelQRdcoe7RF79?^XxI($6<>t+9Ap*VF?D9TywkF_{-ZYW;%Y&|-&+#mCJeD6^F zsM9*sVTnK1%Rv_k5giX}@zTYs$nntcu^8r#=$C9Mk>~&Sf#=lOE4%_$}JE zuo`}gp37?ZE!sC~F{DqAXEmfx?^&#d-=gPg@oigEjoTpd^N*lMVS z`d*L6$(|PKIE}}?<`%e1<~nplxsU7R%u^;fd{j7Ew%s4=W%DFcJTqtu>JZ_NdE8=f zDcpAH7Std!0GEXOUopcc9X2CDx#w!JxVIEOF*^+5Q009Phey^bjo%;Ih(;v`DDP+W z@vuSW_)u6Vy0FF{YjL+^b3Fd-dSp=EyYV=tUTNH=uS)-;%xS>91gkH`SgP|OtS$_*Qs>8byep?P{usI* zt!vg9>t(nf(YZlZ5B4{~=hj4^p9gftdKvOS-?^|lGSLE?IBq~I$1C&jI{Ee`bDSO# zhJMA$dp(`JtDOaIIddcOm==h6oV=nmp1gY#>Z#2CYw@mOrEr~jTTtoml={Qr

u} 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

S#5DN3 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%0Dy7D@86X2XPEkBA<7YZk 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%0AFP?!IxtI4aO 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 +T!EE$vd{AV3qK9x~qR9@11ZT( z0g{oI)Fh!8Sx8PTd4#%lJmh>iTjR@QQm zE&Rxd$U5|soaPW0I7QgM9O+^9k^iiJMP8?cUYEc1=JGFjhc^YDDw+u-M~sw~7hy`X%L+LWLYtIQk7%BwdB`_w`QlsvII))0=13edRqlMh+$1F^<8E=4)m#p6N_r zEc2PcG?p-vg{)>V3s}h-HnW0FEaF?%vWi{oWgUmu!*?9zSY&-f?&cup`JF$x!ynw^ zF6X$$OQOE-_n3Ua1%BfVvj;N1j7@mvK1ucDL?JP+%$}20k4Hw*5R15ECI!jJLp}~0=BVrpso?@c+zEQUuJHRa^pFXCPeTuR++Gm+L$fds>t6^x zLOXR?r*^yH+X zyI+u3PeDcsQi?KErY3c1$V+Eq%Lc^aO&XJk^4NldgQs09rAGzKo_51L;L;`q7yljHf??8O!JNVKSfa6%(1ur+mpc1~G}x z7{fxoU>ft8!vvNxh1x9U17@;>SNYpr5`|?&U|ebAZDfV-Gtx!#<8vjH;fiNl|?_RrJd2(od7b|1Oh( zi~4!4aGi{1*W@Ms;wBFW`?m>a?(&$I{KFIO^B+-)`yC-45lw#)nH`m3p3wcT6VqNi zl9DW>*=752zkGBcW z7LwulD0&%LfP9pq7|;Fw{Xo8yMPxau^UAuSEKNzuQk{9_=Ftf zrZ0m@z%cR>pFxZuB_l~l3Wn3byBafApTcxzQ_-xatSmp3qnS@l>t(WutjkiphMXwZ zu!*g#XFDI;TP4Tw4XbHtwo>k9E&chP-jufYgRCv9uum@~d&&J&)$8!1zJx>k%yL$6 zgk4PIH!g6FQ(R>yXPCq>eq|3|aF(ywz-e}{mlLexAb)b0A>3dfpYabv`H7ocV*uAV zzyiXVaP|@pdCFt%vWSJ;;T9)(#1;PLK1cb52OQ@%_xOvKL@nXxhF5wV8Iu?!Bp&fe zLR{V=Eh$MyMpCoP_jWs(^vrzeu3040b5ej56d^C^DNb_2bERZ>HWei)Mh?o5pIm%E zISNyaJmjV-mB{XY3#%))xvzw*O;L7Oe;N3}ZHfBSN1^X75-c$1sY8jNnriF^>r>V+wOv z!z?DTn&r%36%(1uM%MDDKbM^{llNrdTYV{u+0FvyvyIJs!!D*WjXnIp3J$TGbsT0T zn>fw})^m)X`OABMli#s}(`;cYXZV%9oaX>XxXeEGbA=0>;BS86D1UL4%kIA||CZOe zr=R02H#x~EZgHKTc*IkF=K()*ktikootJ+QRlg)}@Vfq|yh|+oA9;<}^k`i1-uUvq z*&X8PF?pgVlFwxfnT*GJT$z;U{A-}^?)%%r3MZ}ATAlOiJY_ee__im=JMO3L(PqBLp9L3whMovM_hFjdG# z2`W>F;?$-R!`xXQjTfG@&^aX-pnIpaYGlPJ1fwA>C+89lBDD zhV-H)L%g?#{D@lgrW4KRM@u>~gpcXYC$ys}L+MMHe@fWv;m*(Ha5&%%ne`v5-NGWiBHa%p$&~oA)k}qZr3B<}sUZn8;*SGnF}P zUW%&?(RmUySrObq`SMjyIUFrq>)m(8>Ktz2o{wZ*#=Hu08Z9ckIWUwAXNkbFAk_&hsntxXB%Eag~Sc=Q`85#1#%P zlN-!sJJ;C9VSZyPr+LCz2JwRa4Cf_-ImIg;(~swzUx&qw~{Evs0`8(#A} z|L}lkyyF5F`J2o9$zMDrbO}FKq7a7YL?$9}h)FCG5rg=oCOK)zKuU_`^Lv#{c4lUI z@5LmsbMOtxC`2C8QH-PnuPdp+Yg15yqGYEuUz3vxl%*im$W1P)Qi&zrr=GUb;#!9y zw02!zOHr8G)Sv+0(tBzO=BwZJ>{rOd)iW+4pd>8_wT6_{MPDY-l77r*GJ{w^ ze@3v3VGLy{ix}%O*6KvYv5HZQW;H)BmG#VK8k^X_LN+s<|rG<_?cb&$gj*{9)~!_M$T}MEg?HN+sS3Nv5()_%~mdPmaabcrvAcSu5*RM z+~zpvxWf_7^MJej&ND7@fu}sAzxRBj-SmdO<|^0tljn4I?=QW@N&ev@fABXaxJQ_h z{>MLT{k@(M!tDiN3Cgxu|nkFJVA6zHV zI7B5S37PHvGw2Wi9wKDVT%B_qLka6dcc$VE1)P?kbeCMzYVMF9#@n@SX;0X0bO{p;&ookLx_6lG{g zaq`fVmQnQ>1^jmR`WAk`OiPc_iGgI9f`g6S~hTi z<@~@e>|!p5Il)gHV?GWkxlI3D%&{76?TVQ2j}Pb*Vk}E_wg&YxXc;u^N>e8 zAdBDg$Mqhknc<&{clCe<_kw5U*njA2ezEuP+}@>^^d(2Q##7F7lvmv01@GAH`5nBq zr|Nb6i)Xy@HUFa@b&`AU?cm?zZtDkr=MDcc#r@y(U;gBS=l<54Aeo&>KYD#~I}L?gr_fK%QfXFlkew`q;VUwdkECQH zHNm~$nMfq25SdBsJ&S8PO-~6s3B@Q&LK0Dqg5;$FwJ1#`@{@@wd_w^$lYt`CqYOE` ze-llmY5cky+vznP4T5tmtc|EkM%PU>r{`1htzDGrd`Cyx(~S5;@O%r6tqt{iYEz0f zRHP2ADM?(fc&h#WFeMwI)deM(? z3?et->CX^iFoFm~XD}ap)(ghiQ<=?N4m#_qZ*{1SVmT97%SJY{jxB6w1Cw~=HEVP{ zQ}~gY+;F~AU+Q$-!>_DoFEa>UyIX_T-?R_wE`H`HzwpHQalNMd^b{Ak?)rot;s~eN z&q;pcJdZtdS&wnwzN!!PjNaf69=X1zm$<@B&T^f{+~uBU9_sJBv!4d%dP`rhl0RHO z(+51_C3on`IBoTf-?NOh|K?vd z@gEaIc5wEYZG1NWHFk|n zx@bh#k;zJb*EzL=4kDL5K;!B+6r(u#DMd&33TQlXkdJoGdQ;9GqFpI(_tC+WwR4k) zDik6wHKor-{#vr5pS{T2D-SI3p;+7-EO);A|`abfr3-bI&SeXW*v)=^;b#tUguN_fn%C^og)C8Gj$^2-lzWA3hM;`CA=FSbMZi zA%Z<#XA<6?tRo3yFYq3Vh-iOw_JyzPZTb`8>=_!`@1J#^i{d&uOPs~hwaymUk?lDA zYRA*XdVrXALXO&r^`IUmzMYH}b_zYF%Sd9c)QzOH!}#0?q_?ALHqAh8zM&X}`I-`h z@=PR+p-DA4Whh8xs*>EjiW)_;XnAslTnFb_$wLM5Q-gXmAd%P9)|6UB>r$N*u4`!} z65CC+4)tkHBfh0IZAtB!?=-2l(C=wX64x!Y8ENb;+KM)GqaB^-LqFnrrl+RU?%JCU zq;=gxyE2eblq3ejiAG#T5Sv7dCIPX$c9_Q3zB-crL}dsuoyTLS-HTELuMOT~JQJBk zKF?%iuDyuh=M?;mCh!B3SjT3@gb4O>cCd%ltYI%dGM``AO7PzMHF*DR{K_t-a+DLS z;uzETi3_Y?B^NowCa!Xpef-WwuK2xuLo@rFGxja}H$AAg+0D<~;WC*#cU=!~iibSs zIFC5Z5#Dm2OT6JQ=lPe{T;m_kafMI(&0Rk88>f98|LIMh5Vov8!#uFV=wtnp81_B= zgXnf>UfJ<93h(W>`cn6L&qVeq-AMv_kDer<{lPOINn-z{??`ILCLF2BNGQ?}o~Wec zi)W*0c2W_UJY*vdxrszf@{@}lKKE;lPhtuXi*yvFBq=CDT9Q+d!epfa$;e4{vhWR6 z$w6kSQJ$kdtF~^}ZPc>!l8-u6p%9HIMmZW%km59Esb6DJ>e<N*hSoGAv**6kblOB)kkP*AYwlnl(Xf6WwzbdNhiPxuAid|> zY4CSyOKn41XTfK6B>24I?v50%!TAO@@)N76@3}p?nXT+&JGGo2&;}X^_Fne$ zD?3>0*L_rXYEI7_vTN&3J;5nXa-1m~BsdT5*YVsD{e>-Fe^_%lo2bXw;H;qQPIfat z^X7E6FLIe4{7x6TbBU|;kPdp>MAzrS36rB$>hk?ivN$TKnRc*G$pNvP~zEPd>LIE_vvXQfDK*VcNZ zvP)|%QrM9RPdZ`{fy|^QDOrff-`+R7enSCrQJ4he;I;c1G%sm+{3?h}ozad>JscCP_(Y0g7u!4A%vkcd{qCNWKE z$xF|**Z3hjIBUa4=biPr{zq%OxBtHD2;G9sP=*uN*YK^z(6-uzF?3}bGnv6;<}!~d z^x>%Yo37pI%T$JO+W9g)q=R%ZYnjLr26NcG6S`72@iQk~ zZ`BQ~V>7GR$X<4H!87~yC%)JR^_=d|UpU2i*N1fd!6v zHa)pVaMnYE^9Rh~3B8!beV($Am&|59k9kFZ-m-vxydXFmNpRlU`#0bpJ5+gpw-A{w z&h9#Es&DjfVmSX#<7*OCJ~?9Z|pVk><{)A65A0d>pZrzY0az!C{8KY`7{@KC`cCaQ-)$x_e?4Mn!0v5t*V8zA~mSy zy1bU8G?ge!1?p0rI-aSmWod5L*IHUx8xfn@t{VjB)S)p|dFXr6ME}s|G`An=pER?d z=^ehcn|P0Aw6N>Zke0+EI!$@)*`c0k!*{OR@X=YjU_1NQ4$eD}oK6JylWOoxSJKdf z6r`dvy$DSog8QGnCU_I5(`h47J3rYQgR;q<72IP7^VrJI>|~W^_UjJa z$uIUcw(~1{_<<9gVlPM8%_0u7jDs9wAG zOyZG<)cobyP@0zLBqRgjc<)|%4NWvs5sTQQApsG{#8RKNkZkr;&8S&fU?0GAeqlc~I7Bbc zcITj7mIM4sH7aqKIyB@2<2^fplXi8ga-5?a;TZL)%PE@DlJku4x{+M48_|GsoZ&QQ zX-+dP(uVf@#v-pUi9D@6L`RLdNQ6@6eYO-n&6ot{6!(36Wsrs;F)(M zcUG9e_6HsjrlP-tbO;{_>pDCUi9t-l5uFIcA~BP4{QrJJJ9s7$$(ZOorDh}-gI$jz zpZyKRn4Z(04T{?3>FItItw{|kQ;-49t7;D|q?IU6De91x!qlZSsi;LJGE<+t4E6fP z+DH5HtzD4{G@=N#X+V~c>)^Z|U(=95UiXzY<+Jb8O4lW5<2nuv-*~L+Q;p*Tb|2-5EkB1~ZBY^aGnwaGL_McU>g0H!WW?%mV^9P!LmJ)@_cU$dv^ zW&Mql_9^#%x35r*>l}49%Dt(SbGf{H!bMTUp#f*Tt701@qFMP1`@uKzi)IQVeHR3k?8gk-AzvIN8p`lJ83^vTB6ubf z?a4-K+L4jq``?M+XAs=)NbpQ&x{{L|jPrGmrd!Ak&a(RY`)EzF*|qd_@N3j+^ky)< z7{eq6F_PE***{!o@YbHFBWUgS^%R{)JNuP;Q|)i)SYv}_0f!cOs7TXnd zrLLiZU6bW@ab2fBQp^sX3!Yh`n{*2c?BKcJnUT6pLkGVuJ9sX5roRUFg7dMyFF!jw zu0wPuRjJJZ8c?5oG@&7TXhu_Z(UR}jO&i*>mkxAcKi%oUFHG`TYdC4o(ht5*2kjU7 ziC^u1HHxqCkp0^p4b6<>V)p`5?AqiGag+E2N`Uwq(U$PUgn5~{L)e(7^Q@rccQ;RTQR z%sbu_*7H&L(+;Qq=vrdi8}uzP?eP3($Iv&ro>=xrji~WRPBan{hS0?4D^_?ejjqzw zq_v|HmDD64G3m%o9MY476l5SS^Sw5&F4L5nn~W@VokvrVlW!<*7=+kR6;&_S!l+M`u&pE=O5vQi#ITq5?H&NDIE>TUyhGCbXv_ z4X92%8dHg3-oLv}*ACi)yY?USvPWrC?MX+bx$dU*sY_QH5hkm@S2cpR)b9yvKctx* zN~>ve9@)pKV&B)|TA5?^T8h|5G=~;tojsnc_G(R}*_dE=AgMiBBWN-@+SQ0`chSFn z&5`V?c5420T~n`Xu!FOt+_cka5`PwM*~#qWcI#~3-@oUiavkj8Y)lqE6MDKX=e(D8 zp^QD+c@MjY-BsID$SzA~JGXYwy5zJA)6Pz!_4IoZ+qtM?r_|tHa6Z!45!r56+3!== z!4A%{`0#g~lIEFHrIV@%jvzf>uRn+u$dh!WfLpeLI+<@V*ehw!ER^&q+k2b zoICX(yE)DwPBNVH#Paox)YF_{5_=fN6wYy#7~cD~UL%?viDUMBe&=TvaDw1H781PA zJl66XSBUF%(ODg`gR|JKw`l@hrQ3;PZ`Gt4pRatKXI<|jl6^`q5X}yL4Z+v{-rv!8 zHLYKF8t&M)^7^~f`9u33{g+4fJ>L4+z0@bp0>OT%FL-Xh(YL|1{g~Uqd+9;_Be>5U z`+@$$Up(PG_xacRf6;gPo={c%^TYL1KJkH9eC8R4yjNJyT+_F%!`X-Jf9**2JN=u; zb_7EEb;s8Ky!R*K*kSmJ7<_RST4V9i>;5CA9gTdxKM8b~v+F)1uKh}16W`A3epF3F zM8Xq~8}298WbF0Yu)c;Ac69c;PN`9xMbV@rB(m!?8csuz+D=XqQW4QvX3gd2{57e# z;k}}0VqZsYes!J6Gdai^Jf{W8Kt>9Yo#K=x4|yp=0TOzT3L0BuQQodbbt+MeqEw_5 z*?dNAO{3Yg4%zLL)UdDndTvtJzNq=NAz8>uBWh8Tdff8NB^uj@HJ>)40rmNo%g#$` zbG{*&ud|iL*Q4&Wv=3-GZA}Rhxc9x5r3o!K;+bFg&Q9ch@LceGQ{MRbeWs(`nH~%z zrst|^G)=F0{W^#1-<}<(A2qyt6YTePTOG}GKDi#R?U>9g7BQb0bfY&jS;|P}Foob= z@Jug8v68uj@>%OOqDEkyJ(1P?#8}3#nN=)j8$a_SJ6S>SnOg}y_XoB!n>GBx79xB9 zqZ(QZ>oKa3o8uIrGKY!enYDU|UkT^>gl=FTr?|{-oMSNQxJWJza+U*ZJ>jk|?2m1zBnZ{k(FqPlA#R48OiG|$e9$k3OJi2n9Ck)^< zo#@YFTKlYCytUsGrmF7&mz>>neO909pG0#0M&oFF;t`X?Bq0|6xZm4r;@W@N{}S5{ z%P8k*w1<9ip3=@jbW#zDp6;d97>u-YXlhcBjZAEGo>zx!2F*obM!5c3vy+wFWF#j= zDa4PSDXw`qW|!9WnqNy&g$=IDYB7pXiUO3N8kITjnHpM#({>#_q7}3j(Kzb5o>r$S zwW-J-e(jC*nm(eDeMeu=z_=b2~odZrC6T({(JXWwgZ z_RbE@Ta$?P1osnY@Jt7i)0KoIr5)Y)=(#?cj1P7f{ZAukZ_;`HR6H!~&s!1y{^jhP zUBFp$JF5m?Tk!b>wX^nM1cMmO6z+M=1bwA17-#>h?-^x>^WG`Eev*CPSyVA$ejpGbtGKVL|*yx72o~Dd=+vX?DBRpO+`67GD+=kG@WK7 zpIwPGc6!aKIY?(0B#Zso`{&hse6lk;&uxbfp3#3b*r7wNlQ>I65ia`r%jpdbtsgv7 zNE^A1rOma1mY_P7s6`zrQ;$-VCpkr_LTS!2;L(TRRcch;2N_BVV@FY?fxzVu|8X9j6_LNSymL|_OpiOgX7)6DY&G(UY9 z$QM7C0vbFM+>fCN8Nq0ZGmeQACIO?U$z-NcjbcooE;E=(ZE7%;GR)?d&nT(EbHOv$ zU6<9{+Sl)~c=k&jrg7;G>`ik>BSajnY0HR?VspuuhsQ*wKr)`9itm{YZv$1vCD3&FP!hNSFoDxtfG^9`*bJIJ+nuDU>gT{>g)jr?8PkQ7nboehuF(A z&m7T7jOQ5BnZj{`pGolZJISxy_xw>^#C{Glmie6Ep8K=3O%A{A;6HolkJ?1PXQRD@ zW_AVI`p>2%b(*s?)%;wvrR&pn16}6&l-=BJ$XR=av(a3zXK7vMm+WfVnDcgRo$1~= zyOG_;zG@HFf&6BV*P8BKvn%RY*H`R|T;_LbwXp2ckME|&G{XBy?)Oh z_Ac$`xm)&iZg88*IsE;{J-fAMw)pR$xAVaDVLLA!`}Q7<<#hwR?w}pte&hTd3GGlMB_4^1L|htsz6-JK&N`4p_CH=1M&l5H zM$QxHVekFcz3}!&O{L*TNoJChfgB_wH0g;#Hu4ggBxEHfxhY5tz9JXZeBL)&K&ukX z&PQ6l_}l@$k7?}w8jbhtI*2%V;^O*l{Rj7uCwaeTvvMsc2`@T3VN^ zc8TDg9Z?%<6T;g$X<$dyW|}%=M+&(v?z#xy5#QI}PP1z!O+i!gyZ&0!YFBMVA3D;T z{&Zph?de7dzNa%CNZ_@DG?9MtXMU(%meLHQ3klsDq9y6ha0c_)^CPu9!x%#-&%Sp) z-mXF=Ml*sh&c|s5Mlq4G{NsGGR%HUy_~0zE_nK+frUp})#J}#%(CSQKHq(jX`MFw$ zSx-q!ZHewlcg*qz2|?>#w=ka8Tpprnc#kY zZAl^4(tmlbmtAD>Is3Jg2D`N#T(6@rfBAjA zUf<~`I&skTQAUSc2m7dfLeFr-9?NliyI#=CYzv;@oV`M?>J5Idck#PDQ19wJ2H0!3 zZI94Lx+-K33AsMz`Up>%vxJ?j2$TG<8ohSn6J5N#+)F}~+pYKQEg zP56$lX+(RPbIg0T)1S4JUi5iG{Q4ei7uQ4WZu-#mAiJa8leu;u9jWu^We;PmJyQF# z(jKe}brl2bG3>S{={nuTXnP`O>>2vAo@KHvzWj% z=ChEo%w;)`{2DsxD%P`^tt{YYwzG#{*u^Nuvy*Ww;voAu%@Kw&oI`Bm07n_Y4$kr` zr#R0L4s($c+~NxT7|3r7;vAPa!%6ONft&n6UoLZ>>uli>J?I^>gWlxq%&Q4MRy+Zf_wbL6Bg5f$82CVJ$#REvDE&^68_{9!M)%-bWMML^l!r0 z!E?bg;qAY4EfMTcyt5jOxMD|xiqjFAvH)FS?$jnR&x-Jh-4=||GAe_qmrE56d^WWlYkQBAr6_zM-~!NhC<|`9C;~D z1!_@%$`qv@RVYg_DpHWrG@>Tu`Ibu5r73NxMhj}wftEC;4$Y`eL%LDT_n<00?Fw3* zE_Oy*)17vdciuyr)1I!hp$VO-|q<%`IUX#;sU36zG{XbqaXD>>Fktzwlip1KZnq@{JA06Q8l2XrqKkDzKv9D?h%|upml8-E8q!5|;nj#b@8)Ya)VJeW8qEup&_e>YEgJ*(g ztMP;L;9gaGqgK>fA@}NOQ<~F;Z)r^zx)VGXJkx{v^kOj0Xu=?dF`6Nap#_r(Uf(lh z2c611hBA-^Oko=H3GOcp*+GN%4L<*q?{VY+^J&(2L>Zg=36oCcmr?@4gI%V*rxExMaA_8&ath(9YYbguLFx=PRM zX+E;i^&MTLU-UH*>-hVZNJJqF(Rl0LXCCvCu+IL{Sza5hGSpKn44{{zhf{ zw%(we{Xt7@$~2QkL^SskrOspk2y z#r=Jv4XMp|*G+Y#R@Lulz$n-4vUmPw=kzei?L(SKGn2=!rA6@Tv%lBrWV2`MakARSG_B_5i|<2r*I(Od$Ut5) zk(xZ@c0Z#QWR~X-Q`kPC|53>PpgFZD>B&J6a*>W=#PdvUO4#|d2_@|oI+fzVISK62 zI!y~`DYElT$j%>f-9+orfTlF0F~NBwzNHz#Gr?I4>QbNP1n0s1veY5C7wn+HvsI`{ zHOf(w+95k=87dJx7d%rTq%}fz(BL%{sYUsaU0JL19pBT2mb9iV?dd?PkR3F*--#}C zr6;}VOE3D-ksh?8KfyD>`vmVdfI$on*+GN%8$x$RFr04mVJN}<;Io1qd{*#&!x%_s zW-){AdHnuiw%tP)>KyXfPyJ`7mwZ*rKbtj@E^_aQy-a`LvHhGS_Gs3yj!|r6JR=#y zdbTl^9|`0A7Heev=)cdX&Q8~9{BtTHNu2-cdM&Ftz$#X_1R8_4_HLf?lJ}n7p>KFZ zQt$af6KFio*KofMyPWOeUv3hdz1QIU4?c5>4}9b{UkFprKfm-mU)eutIE~0Tdpj}g z2^vYGvDJ>Qu^DH_(WyF-zp3rB6FN)GJJ)eFHUHWFklqf>Cp(2EBO@uvOiq&Xm-~tI zYr+$jZ-_z!aubTQ6d@*2DavH8jim*MOg>65$$4R&rc)?oPuJ4gEzkc2d#pX0V)jTK zK_Ppxmek^mu_uz(9;gL1Ka=eKq_Kx;9!ge?f1F;8PW&DcJ|J7 z8DGynz2~f~{kMJ5ZsmWbT9iw6F|F)gMDJNqYlQ4`?giITombO3M6ttD)xPU~Ep5ad zJCgI7_9MHVmgk{;llpcBpHqNu?KZTdD^)1&JUbQa2J~hqO&Gx-hBKPMjG;Zl$n143 zbO;@2%VbhJPsarNJ7zPH0esIC(z`!U=ab5wq;nb1OqLMWc?uTV(^$!IS$9&2 zEUvfd2KupuJ~X5pz1Z*fKp@zM^$5%CV|ttw_D1ci!Fh0hGc)XMx>BdI$=*RLd$-Qg zmTb58(9K?@t+fk3+iQY*_Dk&!MMuVQlpdU6H{I#XX-@f!tDLuQ@CS4Kz4fa$bUuo`_BkH%oXh;l3;yD7Uhyxt zc*a?;yQHtV%XL1n$N3q)*uN2>zQ1dEY5&egPP_k9BRT)s{?CqLf7WmsjfKv45z`J$ zd}0xqFhpl}e*f&z#4NC*YEohlkK~NW@AoaK?ASc^87XwWvqYMjB*Y~h!OtQ1d1SCp z=wZ^^XZ1K4?a}%D{itc!?`)XsOm<2hxlXJ1^(6avz$?E80>O^#@2)7s@mxgxiUf8t zed2y_9^6ksc)Nfm)UYJC3vtbJMKq$bt9C)V7z_Mt^Xg4!^X;Pc@A>`S^WRa|;G*+d zT96C&HTP=TZ|%bR4R7o#6te%(0-D+9ytm(x-}N2M>MR?#?GI$J=lRU+I#Yvv&v|ei z)&Kp81mv;5(rA2bfAODJBiZ@vth&^70sFE4I~Cbn7qrjXPbg%U<54ZYCd%5s=|!s8 z)u>Bl>d=r%G~h4KRMfZngbMa!Ew9bkVxOj|eM(zt6TYK1-%^XJwCB8MexaRxK)2Ds zZo>t;t!~xk+KsP${om2uZliPPX)n-I^srBAXYI==zxGcIutPh~$zZz^eHcVnIx>*F z?sw6V%=NmXjIvK_KOIdkhB1cz^kzH>J(HJ-c7AQfB>Ov^!329OiS4O6Q%C4zhBJgI z3}qZq{r3xzdFelM2ZBAz`82+^7idHcc5pU_n)VW1L{)o*=F#9hxWA0H_BySm9aw3v zA-0`c+i5)3+i~=>-%EMzdwvct_|cxpPrUGT{h+xh#RhV+oNvg%T7G5|``N`leq}cY z*}`5PdjHM3hpo)!1h<^u<)}TKg&boCGdRf~?(fvI+_aDDX^t?TOOy%f-etY4*Ew&` zWhv)a%qp&M!~HXQfm6)mBC9FQOZPwWyB+-cu5pu%ymEe3f8iE?5d8Xs=YnSrbB~7{ z;sAHq&LbZC-fq+2x!{>su7i8Qc?SPoNKT%)e#Zwsah)$dH&SrVb5C7|Y2ccdc65zQ zOyUrgc)WM-E6wb6FYIXczxo$R?LRfOCMLCKGLg)V!W;JzX+~!eH3LaVMY^EQ6KYnH zlZVVCb)J%Jc6w5fDX6ownx8D>CLc+hXVfBOr!)nLQJhDovK>RqYBkDJk{aChYrR2j`+?q}misLt1E z46|oyTb;-NqWixIF+n@ipP5V|hVzBKj`{Y|fW1stv&deh(^+EA&}g0yr3+Z>EUN3i zc6QCeI(wM*(G6s?2ea93t7~;DL+$45uv2L(cG)d;lkVnwI~n`zjJjP9kiy=phe&Uy z<)}SJf7N58v*&TbKFQXQ>tO$7pVy1Lv3GFRzNf$Ib^fs5bH%=(w}Ugz+Yh;AuM4(5 zWsQBA2lgg?uCGJ(hLGzwuHTc!|1Q*@np!uzmrDP3T~15$pFLRL>1WE?0|?vD&rd%% z3vUmy+Y{MtqMC1?VCN%|U0h>p0`l4m3C@ChxriT} zlao9YBnJg3TF~zUEuz^1c2+G#R=cEDBa2;CQ)_Y3``-^MMKQaCF7tUs?Ih%;2uqwL z*3vw+zY1PsN6<`^v@>W4Ezfk%oTP$%Mqg0Yex_x#A~XHZ+Gn_~WY5vbRJNyRIjv51 zf467U8l<;#P$$@ArY=>;Km%%#iM*c6Kux3oKy4b* zkNSMeAaZ$KHSJ4dS}~k&oabh!-G(s?p+Bt|K_2%9>lE_aBXttP7|Se5I4{U_dm?k0 z#$+ZilLGEf)uoiQXX|2SFppJ~bzYhu>_v2EC8eA#)8#B-0UOvtd)Bd)O{}LA+gM9E zuU)Mh=|E-IYjg!Y_>n$zWj8h4Z>PJcYgcE#9ehskdBOfUdqA8+iJoaYsNoxRXc{Kb3zV}|oTHEbjQ?xEo|6pNhCB8>gn z`9FMNrn8S4&3QN?5QW9gLu(u&5sz4maK4n-c67cX21}ep)#St_K1mtwJf@~45qEu7 zY8~%<6e;bInoQG>f`nuw8&^G_Npq2dEL?Y%S2L52KU}BRao#7DX5e>c6I^Gt@7cHL z;QBj$vkN%CrrGry+B?7Ex~QF#+!Q2uE_kLiUvtAVCA1iMsK^~>BmDf!*=4xtdXVc% z_DHR+wP;KQ20Ck@t!YO+zM~E`=uAI`(1mLBryH%P$!NyWfnj`44@S_QHcVy!t^C@i zXgkfPQ|Zc3=FpUh%%&7&nZX3cFqiT)X923JeWH>#U$29UYpYBX&5rr7Z5{giq zrOae3%P7e#7Bh;%wDx^!se|=9CfUtsX?N7|{J=UkvW=De#BO%5gXQA{f!Z6KwOpQudViS=S&f{weqLY9hoGm1t9gSEd zA`UB^r_^M`B{d0I>^z-r_PNP51B;x^BE6l3eePw_dCszHT6Q_xMDW_+b*acm8kTr& zm3z7D4Z5Cub`o-vpC6qi*1|;Q8;X*YNR;GX&lJ&8MByLT<@K?a)(U*EA5qo*O)F|O zp4eBYZ6DU^T9@DLBQ&(@YaMOOQM-{gr=i_SJNvWzeZX$3gPgaw2Wwy2+TStI?xgML zWp~#;T7_vF!-^nG=`!v0`~3fZeeuK#nk!G5c2HQ2$~JGR&_b)){oU-m0@*-v$=20J)=#$NlO z?$%%jXNUerqg{ttRsC-RrjbxOq#G&eZWIvd?oOp!1(ODmln_Bux}{6HyHOfxP`X5Z z_j<1`mfq3z zMEV8&F0mte$P`>OODWH~Zx?&7SU=!z9`cefdqkLr*}sJObKVfWsqcG453^|2F?omo ztV0j8w~0?uVnp;X>)~}f^N+pBtnbSgq=>i{=Be~&GOA2V*cbMsmr;mIM#8?ZCo^$K zOjg3auqOxMT9|M2-yxQfS5HY{dU_wFhPpP3lpF zx)kDL*11P+S&4$YOEcz~ucxWLM9!tTzCl)(t!YAK+S8a;bfOm}_=L~tP8TLSyO_@U zBH2iGr6fODca#lj$5*5#6JL;l_vlY~`tS{HX~B0?Bn@BlDQ)(N`qF`ZWaC3N zd+qT34ByuQ6sHG+3D?4WDBbvs;S8iFqv*{Cj3Mj`d&X0STuk5x%JCE9$jMIk-og-l z1l#mMat5QB$TWUr3bVOr&mYX!m#~@*3}YNo(i-@Vek;{p#M`xkl*u6XOTz^3W{jq$<_5Wlv8IQM!Lt^^a z(~=Z=2HqnFbzT>sa#TzXUzP=p%h^(n3wpd^Knp$#N9q_=OQ>6Zl#GK@MlC{sp7- z>2hM2%h}9gBy;$INi3lUD_F=f*0Gqjv}Y+D=*c1`(uR4=}3@P*};B>u$#^N%03pbmR)RP6MG1+6<+fwf6$-9T;LqX_?C;DWIKa7#a4E5oEdE4 z2>qDG2?p^Um+9{N_L;oGmwFFw=zTd$=$9hax8-ThbBF7k;cx!r>xh0gVm;Hd@ufar z&f*{aD<1Q;*ZE7XH-8}K$};}D{tG=)bHA(gDDstc5j~n-PR5qk%x)4#za{SxOAoIb z-pgD1LwS{$`hB_D{S)emd1@U`ZZzA$J9=C;=n3Q#*WZ?@NJ=775TBj)q?hfzmr|tD zkC?U7GwQFMO)k^2+x##Y^kk$a6Q%8aV_zCQCA;hyS;n6u-;-H#9?xBW6)}6Hhxs#^ z#QvB1YyPvoCf_v+Jocce4@=|LyHp#xnQ#JBX~ zn!hXelf(E+A1)L4{dHaclWx{GWKa1ev0S@polriOS9wd1#1lQXd@Y|6Ss&@lK)O?d z4=7D_KH@{FQJIP~B3vIsLq;=!Fc0U$wb}g25B$Oc<}i)L%x5O!S;BO_rz^8)z>l<{ zJ~LR$Mz*kn-`U4@!nH6z%1-ukl7sxg3661qD_r0@mpR3s+~pQcxx-a%FokZW9YXd){)IF>51h{d67tZA`a`BhP| z7T}4VUv835c}=7io>LiF#^9MAU6!%0DCKy|IyNzhLL5q%$CB}g%74zqmv3ZJnUJ_d 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

pA*Gr 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

sU@!U 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≪SV8z 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 literal 0 HcmV?d00001 diff --git a/robothub-oak/Camera App/frontend/pointcloud.js b/robothub-oak/Camera App/frontend/pointcloud.js new file mode 100644 index 0000000..5d222fe --- /dev/null +++ b/robothub-oak/Camera App/frontend/pointcloud.js @@ -0,0 +1,178 @@ +const scene = new THREE.Scene(); + +const camera = new THREE.PerspectiveCamera( + 50, 1, 0.00001, 100000 +); + +camera.position.z = -7; +camera.position.y = 3; +camera.lookAt(10, 0, 0) + +const canvas = document.getElementById('viewport3d'); +const renderer = new THREE.WebGLRenderer({ + canvas: canvas, + antialias: true +}); +renderer.setClearColor("#F9FAFB"); + +renderer.setSize(canvas.parentElement.offsetWidth, canvas.parentElement.offsetHeight); + +const gridHelper = new THREE.GridHelper(24, 6, "#EAECF0", "#EAECF0"); +scene.add( gridHelper ); + +const axesHelper = new THREE.AxesHelper( 1 ); +scene.add( axesHelper ); + +// const oak = new THREE.PerspectiveCamera( 50, 16/9, -0.00001, -1 ); +// const helper = new THREE.CameraHelper( oak ); +// scene.add( helper ); + +const controls = new THREE.OrbitControls( camera, renderer.domElement ); + +var ambientLight = new THREE.AmbientLight( 0x404040 ); // soft white light +scene.add( ambientLight ); + +var directionalLight = new THREE.DirectionalLight( 0xffffff, 5 ); +directionalLight.position.set( 10, 10, 10 ); // change the position as needed +scene.add( directionalLight ); + +var model; + +var loader = new THREE.GLTFLoader(); + + // Load a GLTF resource + loader.load( + // resource URL + 'oak-d-pro.glb', + // called when the resource is loaded + function ( gltf ) { + + model = gltf.scene; + + // Make the model bigger + model.scale.set(6, 6, 6); // Increase scale of the model + // model.position.x = 1 + // model.rotation.y = 180 + + scene.add( model ); + + }, + // called while loading is progressing + function ( xhr ) { + + console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' ); + + }, + // called when loading has errors + function ( error ) { + + console.log( 'An error happened' ); + + } + ); + +controls.update(); +const resizeObserver = new ResizeObserver((entries) => { + for (let entry of entries) { + if (entry.target === canvas.parentElement) { + const cont = document.getElementById("canvas") + const width = cont.offsetWidth; + const height = cont.offsetHeight - 158; + camera.aspect = width / height; + camera.updateProjectionMatrix(); + renderer.setSize(width, height); + } + } +}); + +resizeObserver.observe(canvas.parentElement); + + +const geometry = new THREE.BufferGeometry(); + +// itemSize = 3 because there are 3 values (components) per vertex +//geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) ); +//geometry.setAttribute( 'color', new THREE.BufferAttribute( colors, 3 ) ); +//const meshMaterial = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } ); +const meshMaterial = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: false, vertexColors: true } ); +const mesh = new THREE.Mesh( geometry, meshMaterial ); +mesh.frustumCulled = false; + +const pointsMaterial = new THREE.PointsMaterial({size: 0.07, sizeAttenuation: true, vertexColors: true}); +const pointcloud = new THREE.Points( geometry, pointsMaterial ); + +pointcloud.frustumCulled = false; + +scene.add(pointcloud); + +const animate = () => { + setTimeout(() => { + window.requestAnimationFrame(animate); + }, 1000 / 60 ); + renderer.render(scene, camera); +}; +animate(); + +async function getPointCloudData() { + const response = await fetch(`http://${window.location.hostname}:38154/pointcloud`); + const buffer = await response.arrayBuffer(); + + const numPoints = buffer.byteLength / 24; + + const pointcloud = new Float32Array(buffer); + + const positions = pointcloud.subarray(0, numPoints * 3); + const colors = pointcloud.subarray(numPoints * 3); + + return { + positions, + colors, + }; +} + +function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); +} + +const startPointcloud = async () => { + try { + data = await getPointCloudData(); + geometry.setAttribute('position', new THREE.BufferAttribute(data.positions, 3)); + geometry.setAttribute('color', new THREE.BufferAttribute(data.colors, 3)); + geometry.attributes.position.needsUpdate = true; + geometry.attributes.color.needsUpdate = true; + } catch { + sleep(1000) + } + sleep(1000/20); + startPointcloud(); +} + +let offsetx = 0 +let offsety = 0 +let offsetz = 0 +let updateoffset = false + +const doIMU = async () => { + //const url = "https:://robot-c38cf81f-e91b-46b5-b73f-b25c3bed60de.1-robothub.net/files/a66054c1-d02b-4520-90c2-1c6685568049/test.txt" + try { + //const uri = `/files/${robothubApi.robotAppId}/test.txt` + response = await fetch(`http://${window.location.hostname}:38155/imu`).then(resp => resp.json()) + //console.error("RESP", response.yaw, response.pitch, response.roll) + if (updateoffset) { + offsetx = -response.pitch + offsety = -response.roll + offsetz = -response.yaw + updateoffset = false + } + model.rotation.x = response.pitch + offsetx + model.rotation.y = response.roll + offsety + model.rotation.z = response.yaw + offsetz + pointcloud.rotation.x = response.pitch + offsetx + pointcloud.rotation.y = response.roll + offsety + pointcloud.rotation.z = response.yaw + offsetz + //model.rotation.z = response.roll + } catch {} + sleep(1000); + doIMU(); + } \ No newline at end of file diff --git a/robothub-oak/Camera App/frontend/three.min.js b/robothub-oak/Camera App/frontend/three.min.js new file mode 100644 index 0000000..b14f47c --- /dev/null +++ b/robothub-oak/Camera App/frontend/three.min.js @@ -0,0 +1,6 @@ +/** + * @license + * Copyright 2010-2021 Three.js Authors + * SPDX-License-Identifier: MIT + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).THREE={})}(this,(function(t){"use strict";const e="128",n=100,i=300,r=301,s=302,a=303,o=304,l=306,c=307,h=1e3,u=1001,d=1002,p=1003,m=1004,f=1005,g=1006,v=1007,y=1008,x=1009,_=1012,w=1014,b=1015,M=1016,S=1020,T=1022,E=1023,A=1026,L=1027,R=33776,C=33777,P=33778,D=33779,I=35840,N=35841,B=35842,z=35843,F=37492,O=37496,H=2300,G=2301,U=2302,k=2400,V=2401,W=2402,j=2500,q=2501,X=3e3,Y=3001,Z=3007,J=3002,Q=3004,K=3005,$=3006,tt=7680,et=35044,nt=35048,it="300 es";class rt{addEventListener(t,e){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)}hasEventListener(t,e){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[t]&&-1!==n[t].indexOf(e)}removeEventListener(t,e){if(void 0===this._listeners)return;const n=this._listeners[t];if(void 0!==n){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}dispatchEvent(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){t.target=this;const n=e.slice(0);for(let e=0,i=n.length;e>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],w=i[5],b=i[8];return r[0]=s*m+a*v+o*_,r[3]=s*f+a*y+o*w,r[6]=s*g+a*x+o*b,r[1]=l*m+c*v+h*_,r[4]=l*f+c*y+h*w,r[7]=l*g+c*x+h*b,r[2]=u*m+d*v+p*_,r[5]=u*f+d*y+p*w,r[8]=u*g+d*x+p*b,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 wt=0;class bt extends rt{constructor(t=bt.DEFAULT_IMAGE,e=bt.DEFAULT_MAPPING,n=1001,i=1001,r=1006,s=1008,a=1023,o=1009,l=1,c=3e3){super(),Object.defineProperty(this,"id",{value:wt++}),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}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 Mt(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."),{})}bt.DEFAULT_IMAGE=void 0,bt.DEFAULT_MAPPING=i,bt.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(){}}At.prototype.isQuaternion=!0;class Lt{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(Ct.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(Ct.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 Rt.copy(this).projectOnVector(t),this.sub(Rt)}reflect(t){return this.sub(Rt.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}}Lt.prototype.isVector3=!0;const Rt=new Lt,Ct=new At;class Pt{constructor(t=new Lt(1/0,1/0,1/0),e=new Lt(-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 void 0===e&&(console.warn("THREE.Box3: .getParameter() target is now required"),e=new Lt),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,It),It.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(Ut),kt.subVectors(this.max,Ut),Bt.subVectors(t.a,Ut),zt.subVectors(t.b,Ut),Ft.subVectors(t.c,Ut),Ot.subVectors(zt,Bt),Ht.subVectors(Ft,zt),Gt.subVectors(Bt,Ft);let e=[0,-Ot.z,Ot.y,0,-Ht.z,Ht.y,0,-Gt.z,Gt.y,Ot.z,0,-Ot.x,Ht.z,0,-Ht.x,Gt.z,0,-Gt.x,-Ot.y,Ot.x,0,-Ht.y,Ht.x,0,-Gt.y,Gt.x,0];return!!jt(e,Bt,zt,Ft,kt)&&(e=[1,0,0,0,1,0,0,0,1],!!jt(e,Bt,zt,Ft,kt)&&(Vt.crossVectors(Ot,Ht),e=[Vt.x,Vt.y,Vt.z],jt(e,Bt,zt,Ft,kt)))}clampPoint(t,e){return void 0===e&&(console.warn("THREE.Box3: .clampPoint() target is now required"),e=new Lt),e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return It.copy(t).clamp(this.min,this.max).sub(t).length()}getBoundingSphere(t){return void 0===t&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(t.center),t.radius=.5*this.getSize(It).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)}}Pt.prototype.isBox3=!0;const Dt=[new Lt,new Lt,new Lt,new Lt,new Lt,new Lt,new Lt,new Lt],It=new Lt,Nt=new Pt,Bt=new Lt,zt=new Lt,Ft=new Lt,Ot=new Lt,Ht=new Lt,Gt=new Lt,Ut=new Lt,kt=new Lt,Vt=new Lt,Wt=new Lt;function jt(t,e,n,i,r){for(let s=0,a=t.length-3;s<=a;s+=3){Wt.fromArray(t,s);const a=r.x*Math.abs(Wt.x)+r.y*Math.abs(Wt.y)+r.z*Math.abs(Wt.z),o=e.dot(Wt),l=n.dot(Wt),c=i.dot(Wt);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return!1}return!0}const qt=new Pt,Xt=new Lt,Yt=new Lt,Zt=new Lt;class Jt{constructor(t=new Lt,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):qt.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 void 0===t&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),t=new Pt),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 Yt.subVectors(t.center,this.center).normalize().multiplyScalar(t.radius),this.expandByPoint(Xt.copy(t.center).add(Yt)),this.expandByPoint(Xt.copy(t.center).sub(Yt)),this}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const Qt=new Lt,Kt=new Lt,$t=new Lt,te=new Lt,ee=new Lt,ne=new Lt,ie=new Lt;class re{constructor(t=new Lt,e=new Lt(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 void 0===e&&(console.warn("THREE.Ray: .at() target is now required"),e=new Lt),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,Qt)),this}closestPointToPoint(t,e){void 0===e&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),e=new Lt),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=Qt.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Qt.copy(this.direction).multiplyScalar(e).add(this.origin),Qt.distanceToSquared(t))}distanceSqToSegment(t,e,n,i){Kt.copy(t).add(e).multiplyScalar(.5),$t.copy(e).sub(t).normalize(),te.copy(this.origin).sub(Kt);const r=.5*t.distanceTo(e),s=-this.direction.dot($t),a=te.dot(this.direction),o=-te.dot($t),l=te.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($t).multiplyScalar(u).add(Kt),d}intersectSphere(t,e){Qt.subVectors(t.center,this.origin);const n=Qt.dot(this.direction),i=Qt.dot(Qt)-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,Qt)}intersectTriangle(t,e,n,i,r){ee.subVectors(e,t),ne.subVectors(n,t),ie.crossVectors(ee,ne);let s,a=this.direction.dot(ie);if(a>0){if(i)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}te.subVectors(this.origin,t);const o=s*this.direction.dot(ne.crossVectors(te,ne));if(o<0)return null;const l=s*this.direction.dot(ee.cross(te));if(l<0)return null;if(o+l>a)return null;const c=-s*te.dot(ie);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 se{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 se).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/ae.setFromMatrixColumn(t,0).length(),r=1/ae.setFromMatrixColumn(t,1).length(),s=1/ae.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(le,t,ce)}lookAt(t,e,n){const i=this.elements;return de.subVectors(t,e),0===de.lengthSq()&&(de.z=1),de.normalize(),he.crossVectors(n,de),0===he.lengthSq()&&(1===Math.abs(n.z)?de.x+=1e-4:de.z+=1e-4,de.normalize(),he.crossVectors(n,de)),he.normalize(),ue.crossVectors(de,he),i[0]=he.x,i[4]=ue.x,i[8]=de.x,i[1]=he.y,i[5]=ue.y,i[9]=de.y,i[2]=he.z,i[6]=ue.z,i[10]=de.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],w=i[0],b=i[4],M=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],D=i[14],I=i[3],N=i[7],B=i[11],z=i[15];return r[0]=s*w+a*T+o*R+l*I,r[4]=s*b+a*E+o*C+l*N,r[8]=s*M+a*A+o*P+l*B,r[12]=s*S+a*L+o*D+l*z,r[1]=c*w+h*T+u*R+d*I,r[5]=c*b+h*E+u*C+d*N,r[9]=c*M+h*A+u*P+d*B,r[13]=c*S+h*L+u*D+d*z,r[2]=p*w+m*T+f*R+g*I,r[6]=p*b+m*E+f*C+g*N,r[10]=p*M+m*A+f*P+g*B,r[14]=p*S+m*L+f*D+g*z,r[3]=v*w+y*T+x*R+_*I,r[7]=v*b+y*E+x*C+_*N,r[11]=v*M+y*A+x*P+_*B,r[15]=v*S+y*L+x*D+_*z,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,w=e*v+n*y+i*x+r*_;if(0===w)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const b=1/w;return t[0]=v*b,t[1]=(m*u*r-h*f*r-m*i*d+n*f*d+h*i*g-n*u*g)*b,t[2]=(a*f*r-m*o*r+m*i*l-n*f*l-a*i*g+n*o*g)*b,t[3]=(h*o*r-a*u*r-h*i*l+n*u*l+a*i*d-n*o*d)*b,t[4]=y*b,t[5]=(c*f*r-p*u*r+p*i*d-e*f*d-c*i*g+e*u*g)*b,t[6]=(p*o*r-s*f*r-p*i*l+e*f*l+s*i*g-e*o*g)*b,t[7]=(s*u*r-c*o*r+c*i*l-e*u*l-s*i*d+e*o*d)*b,t[8]=x*b,t[9]=(p*h*r-c*m*r-p*n*d+e*m*d+c*n*g-e*h*g)*b,t[10]=(s*m*r-p*a*r+p*n*l-e*m*l-s*n*g+e*a*g)*b,t[11]=(c*a*r-s*h*r-c*n*l+e*h*l+s*n*d-e*a*d)*b,t[12]=_*b,t[13]=(c*m*i-p*h*i+p*n*u-e*m*u-c*n*f+e*h*f)*b,t[14]=(p*a*i-s*m*i-p*n*o+e*m*o+s*n*f-e*a*f)*b,t[15]=(s*h*i-c*a*i+c*n*o-e*h*o-s*n*u+e*a*u)*b,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){return this.set(1,e,n,0,t,1,n,0,t,e,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,w=n.y,b=n.z;return i[0]=(1-(m+g))*_,i[1]=(d+x)*_,i[2]=(p-y)*_,i[3]=0,i[4]=(d-x)*w,i[5]=(1-(u+g))*w,i[6]=(f+v)*w,i[7]=0,i[8]=(p+y)*b,i[9]=(f-v)*b,i[10]=(1-(u+m))*b,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=ae.set(i[0],i[1],i[2]).length();const s=ae.set(i[4],i[5],i[6]).length(),a=ae.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],oe.copy(this);const o=1/r,l=1/s,c=1/a;return oe.elements[0]*=o,oe.elements[1]*=o,oe.elements[2]*=o,oe.elements[4]*=l,oe.elements[5]*=l,oe.elements[6]*=l,oe.elements[8]*=c,oe.elements[9]*=c,oe.elements[10]*=c,e.setFromRotationMatrix(oe),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}}se.prototype.isMatrix4=!0;const ae=new Lt,oe=new se,le=new Lt(0,0,0),ce=new Lt(1,1,1),he=new Lt,ue=new Lt,de=new Lt,pe=new se,me=new At;class fe{constructor(t=0,e=0,n=0,i=fe.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){return this._x=t,this._y=e,this._z=n,this._order=i||this._order,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,n){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=e||this._order){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,!1!==n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return pe.makeRotationFromQuaternion(t),this.setFromRotationMatrix(pe,e,n)}setFromVector3(t,e){return this.set(t.x,t.y,t.z,e||this._order)}reorder(t){return me.setFromEuler(this),this.setFromQuaternion(me,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 Lt(this._x,this._y,this._z)}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}fe.prototype.isEuler=!0,fe.DefaultOrder="XYZ",fe.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class ge{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;e1?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 void 0===t&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),t=new Lt),t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||Ie.getNormalMatrix(t),i=this.coplanarPoint(Pe).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)}}Ne.prototype.isPlane=!0;const Be=new Lt,ze=new Lt,Fe=new Lt,Oe=new Lt,He=new Lt,Ge=new Lt,Ue=new Lt,ke=new Lt,Ve=new Lt,We=new Lt;class je{constructor(t=new Lt,e=new Lt,n=new Lt){this.a=t,this.b=e,this.c=n}static getNormal(t,e,n,i){void 0===i&&(console.warn("THREE.Triangle: .getNormal() target is now required"),i=new Lt),i.subVectors(n,e),Be.subVectors(t,e),i.cross(Be);const r=i.lengthSq();return r>0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(t,e,n,i,r){Be.subVectors(i,e),ze.subVectors(n,e),Fe.subVectors(t,e);const s=Be.dot(Be),a=Be.dot(ze),o=Be.dot(Fe),l=ze.dot(ze),c=ze.dot(Fe),h=s*l-a*a;if(void 0===r&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),r=new Lt),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,Oe),Oe.x>=0&&Oe.y>=0&&Oe.x+Oe.y<=1}static getUV(t,e,n,i,r,s,a,o){return this.getBarycoord(t,e,n,i,Oe),o.set(0,0),o.addScaledVector(r,Oe.x),o.addScaledVector(s,Oe.y),o.addScaledVector(a,Oe.z),o}static isFrontFacing(t,e,n,i){return Be.subVectors(n,e),ze.subVectors(t,e),Be.cross(ze).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 Be.subVectors(this.c,this.b),ze.subVectors(this.a,this.b),.5*Be.cross(ze).length()}getMidpoint(t){return void 0===t&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),t=new Lt),t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return je.getNormal(this.a,this.b,this.c,t)}getPlane(t){return void 0===t&&(console.warn("THREE.Triangle: .getPlane() target is now required"),t=new Ne),t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return je.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,n,i,r){return je.getUV(t,this.a,this.b,this.c,e,n,i,r)}containsPoint(t){return je.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return je.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){void 0===e&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),e=new Lt);const n=this.a,i=this.b,r=this.c;let s,a;He.subVectors(i,n),Ge.subVectors(r,n),ke.subVectors(t,n);const o=He.dot(ke),l=Ge.dot(ke);if(o<=0&&l<=0)return e.copy(n);Ve.subVectors(t,i);const c=He.dot(Ve),h=Ge.dot(Ve);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(He,s);We.subVectors(t,r);const d=He.dot(We),p=Ge.dot(We);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(Ge,a);const f=c*p-d*h;if(f<=0&&h-c>=0&&d-p>=0)return Ue.subVectors(r,i),a=(h-c)/(h-c+(d-p)),e.copy(i).addScaledVector(Ue,a);const g=1/(f+m+u);return s=m*g,a=u*g,e.copy(n).addScaledVector(He,s).addScaledVector(Ge,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}let qe=0;function Xe(){Object.defineProperty(this,"id",{value:qe++}),this.uuid=ct(),this.name="",this.type="Material",this.fog=!0,this.blending=1,this.side=0,this.vertexColors=!1,this.opacity=1,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.alphaTest=0,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0}Xe.prototype=Object.assign(Object.create(rt.prototype),{constructor:Xe,isMaterial:!0,onBuild:function(){},onBeforeCompile:function(){},customProgramCacheKey:function(){return this.onBeforeCompile.toString()},setValues:function(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:function(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.sheen&&this.sheen.isColor&&(n.sheen=this.sheen.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.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.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.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),!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.morphTargets&&(n.morphTargets=!0),!0===this.morphNormals&&(n.morphNormals=!0),!0===this.skinning&&(n.skinning=!0),!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:function(){return(new this.constructor).copy(this)},copy:function(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.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:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(Xe.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}});const Ye={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},Ze={h:0,s:0,l:0},Je={h:0,s:0,l:0};function Qe(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 Ke(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function $e(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class tn{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=Qe(r,i,t+1/3),this.g=Qe(r,i,t),this.b=Qe(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=Ye[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=Ke(t.r),this.g=Ke(t.g),this.b=Ke(t.b),this}copyLinearToSRGB(t){return this.r=$e(t.r),this.g=$e(t.g),this.b=$e(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){void 0===t&&(console.warn("THREE.Color: .getHSL() target is now required"),t={h:0,s:0,l:0});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 vn={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function yn(t,e){return new vn[t](e)}let xn=0;const _n=new se,wn=new Ce,bn=new Lt,Mn=new Pt,Sn=new Pt,Tn=new Lt;class En extends rt{constructor(){super(),Object.defineProperty(this,"id",{value:xn++}),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(gn(t)>65535?dn:hn)(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}rotateX(t){return _n.makeRotationX(t),this.applyMatrix4(_n),this}rotateY(t){return _n.makeRotationY(t),this.applyMatrix4(_n),this}rotateZ(t){return _n.makeRotationZ(t),this.applyMatrix4(_n),this}translate(t,e,n){return _n.makeTranslation(t,e,n),this.applyMatrix4(_n),this}scale(t,e,n){return _n.makeScale(t,e,n),this.applyMatrix4(_n),this}lookAt(t){return wn.lookAt(t),wn.updateMatrix(),this.applyMatrix4(wn.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(bn).negate(),this.translate(bn.x,bn.y,bn.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 En).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(),Rn.copy(n.boundingSphere),Rn.applyMatrix4(r),!1===t.ray.intersectsSphere(Rn))return;if(An.copy(r).invert(),Ln.copy(t.ray).applyMatrix4(An),null!==n.boundingBox&&!1===Ln.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:Vn.clone(),object:t}}(t,e,n,i,Cn,Pn,Dn,kn);if(p){o&&(Hn.fromBufferAttribute(o,c),Gn.fromBufferAttribute(o,h),Un.fromBufferAttribute(o,u),p.uv=je.getUV(kn,Cn,Pn,Dn,Hn,Gn,Un,new vt)),l&&(Hn.fromBufferAttribute(l,c),Gn.fromBufferAttribute(l,h),Un.fromBufferAttribute(l,u),p.uv2=je.getUV(kn,Cn,Pn,Dn,Hn,Gn,Un,new vt));const t={a:c,b:h,c:u,normal:new Lt,materialIndex:0};je.getNormal(Cn,Pn,Dn,t.normal),p.face=t}return p}Wn.prototype.isMesh=!0;class qn extends En{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,w=p/2,b=m/2,M=f+1,S=g+1;let T=0,E=0;const A=new Lt;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}}Jn.prototype.isShaderMaterial=!0;class Qn extends Ce{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new se,this.projectionMatrix=new se,this.projectionMatrixInverse=new se}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){void 0===t&&(console.warn("THREE.Camera: .getWorldDirection() target is now required"),t=new Lt),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)}}Qn.prototype.isCamera=!0;class Kn extends Qn{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}}Kn.prototype.isPerspectiveCamera=!0;const $n=90;class ti extends Ce{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 Kn($n,1,t,e);i.layers=this.layers,i.up.set(0,-1,0),i.lookAt(new Lt(1,0,0)),this.add(i);const r=new Kn($n,1,t,e);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new Lt(-1,0,0)),this.add(r);const s=new Kn($n,1,t,e);s.layers=this.layers,s.up.set(0,0,1),s.lookAt(new Lt(0,1,0)),this.add(s);const a=new Kn($n,1,t,e);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new Lt(0,-1,0)),this.add(a);const o=new Kn($n,1,t,e);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new Lt(0,0,1)),this.add(o);const l=new Kn($n,1,t,e);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new Lt(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 ei extends bt{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._needsFlipEnvMap=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}ei.prototype.isCubeTexture=!0;class ni 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 ei(void 0,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),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 qn(5,5,5),r=new Jn({name:"CubemapFromEquirect",uniforms:Xn(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:1,blending:0});r.uniforms.tEquirect.value=e;const s=new Wn(i,r),a=e.minFilter;e.minFilter===y&&(e.minFilter=g);return new ti(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)}}ni.prototype.isWebGLCubeRenderTarget=!0;class ii extends bt{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={data:t||null,width:e||1,height:n||1},this.magFilter=void 0!==l?l:p,this.minFilter=void 0!==c?c:p,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}}ii.prototype.isDataTexture=!0;const ri=new Jt,si=new Lt;class ai{constructor(t=new Ne,e=new Ne,n=new Ne,i=new Ne,r=new Ne,s=new Ne){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 ) {\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}\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\treturn Fr * fresnel + F0;\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 vec3 viewDir, const in vec3 normal, const in vec3 specularColor, 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 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 vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, 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_RoughnessDependent( specularColor, dotNV, roughness );\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}\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);\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_Specular_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 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 max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\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 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}\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}\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#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#ifndef ENVMAP_TYPE_CUBE_UV\n\t\tenvColor = envMapTexelToLinear( envColor );\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 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\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 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 roughness, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -viewDir, normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, 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\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\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\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 = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\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 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\treflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * 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 = ( 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\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\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\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\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\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\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\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};\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};\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};\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_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\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\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_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_Diffuse_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;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\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\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 );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\n#ifdef REFLECTIVITY\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#endif\n#ifdef CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\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.sheenColor = sheen;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat specularRoughness;\n\tvec3 specularColor;\n#ifdef CLEARCOAT\n\tfloat clearcoat;\n\tfloat clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tvec3 sheenColor;\n#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(\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#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = ccDotNL * directLight.color;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tccIrradiance *= PI;\n\t\t#endif\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t\treflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(\n\t\t\tmaterial.specularRoughness,\n\t\t\tdirectLight.direction,\n\t\t\tgeometry,\n\t\t\tmaterial.sheenColor\n\t\t);\n\t#else\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);\n\t#endif\n\treflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_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_Diffuse_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 CLEARCOAT\n\t\tfloat ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t\tfloat ccDotNL = ccDotNV;\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\tfloat clearcoatInv = 1.0 - clearcoatDHR;\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += clearcoatInv * 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 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\tgetPointDirectLightIrradiance( 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\tgetSpotDirectLightIrradiance( 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\tgetDirectionalDirectLightIrradiance( 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 += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\n\t#ifdef CLEARCOAT\n\t\tclearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, 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, 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",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 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",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; }",transmissionmap_fragment:"#ifdef USE_TRANSMISSIONMAP\n\ttotalTransmission *= texture2D( transmissionMap, vUv ).r;\n#endif",transmissionmap_pars_fragment:"#ifdef USE_TRANSMISSIONMAP\n\tuniform sampler2D transmissionMap;\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 )\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 \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 \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\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 \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 \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\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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\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#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 \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_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 \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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \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 \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#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}",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 \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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\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 \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}",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 \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 STANDARD\n#ifdef PHYSICAL\n\t#define REFLECTIVITY\n\t#define CLEARCOAT\n\t#define TRANSMISSION\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef TRANSMISSION\n\tuniform float transmission;\n#endif\n#ifdef REFLECTIVITY\n\tuniform float reflectivity;\n#endif\n#ifdef CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheen;\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 \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#ifdef TRANSMISSION\n\t\tfloat totalTransmission = transmission;\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\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#ifdef TRANSMISSION\n\t\tdiffuseColor.a *= mix( saturate( 1. - totalTransmission + linearToRelativeLuminance( reflectedLight.directSpecular + reflectedLight.indirectSpecular ) ), 1.0, metalness );\n\t#endif\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 STANDARD\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( TANGENTSPACE_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 \n#include \nvoid main() {\n\t#include \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( TANGENTSPACE_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 \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\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_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 = 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 \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}",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 tn(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new yt},uv2Transform:{value:new yt},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},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 tn(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 tn(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},uvTransform:{value:new yt}},sprite:{diffuse:{value:new tn(15658734)},opacity:{value:1},center:{value:new vt(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},uvTransform:{value:new yt}}},di={basic:{uniforms:Yn([ui.common,ui.specularmap,ui.envmap,ui.aomap,ui.lightmap,ui.fog]),vertexShader:hi.meshbasic_vert,fragmentShader:hi.meshbasic_frag},lambert:{uniforms:Yn([ui.common,ui.specularmap,ui.envmap,ui.aomap,ui.lightmap,ui.emissivemap,ui.fog,ui.lights,{emissive:{value:new tn(0)}}]),vertexShader:hi.meshlambert_vert,fragmentShader:hi.meshlambert_frag},phong:{uniforms:Yn([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 tn(0)},specular:{value:new tn(1118481)},shininess:{value:30}}]),vertexShader:hi.meshphong_vert,fragmentShader:hi.meshphong_frag},standard:{uniforms:Yn([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 tn(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:hi.meshphysical_vert,fragmentShader:hi.meshphysical_frag},toon:{uniforms:Yn([ui.common,ui.aomap,ui.lightmap,ui.emissivemap,ui.bumpmap,ui.normalmap,ui.displacementmap,ui.gradientmap,ui.fog,ui.lights,{emissive:{value:new tn(0)}}]),vertexShader:hi.meshtoon_vert,fragmentShader:hi.meshtoon_frag},matcap:{uniforms:Yn([ui.common,ui.bumpmap,ui.normalmap,ui.displacementmap,ui.fog,{matcap:{value:null}}]),vertexShader:hi.meshmatcap_vert,fragmentShader:hi.meshmatcap_frag},points:{uniforms:Yn([ui.points,ui.fog]),vertexShader:hi.points_vert,fragmentShader:hi.points_frag},dashed:{uniforms:Yn([ui.common,ui.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:hi.linedashed_vert,fragmentShader:hi.linedashed_frag},depth:{uniforms:Yn([ui.common,ui.displacementmap]),vertexShader:hi.depth_vert,fragmentShader:hi.depth_frag},normal:{uniforms:Yn([ui.common,ui.bumpmap,ui.normalmap,ui.displacementmap,{opacity:{value:1}}]),vertexShader:hi.normal_vert,fragmentShader:hi.normal_frag},sprite:{uniforms:Yn([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:Yn([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:Yn([ui.common,ui.displacementmap,{referencePosition:{value:new Lt},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:hi.distanceRGBA_vert,fragmentShader:hi.distanceRGBA_frag},shadow:{uniforms:Yn([ui.lights,ui.fog,{color:{value:new tn(0)},opacity:{value:1}}]),vertexShader:hi.shadow_vert,fragmentShader:hi.shadow_frag}};function pi(t,e,n,i,r){const s=new tn(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,m,f){let g=!0===r.isScene?r.background:null;g&&g.isTexture&&(g=e.get(g));const v=t.xr,y=v.getSession&&v.getSession();y&&"additive"===y.environmentBlendMode&&(g=null),null===g?p(s,c):g&&g.isColor&&(p(g,1),f=!0),(t.autoClear||f)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),g&&(g.isCubeTexture||g.mapping===l)?(void 0===o&&(o=new Wn(new qn(1,1,1),new Jn({name:"BackgroundCubeMaterial",uniforms:Xn(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=g,o.material.uniforms.flipEnvMap.value=g.isCubeTexture&&g._needsFlipEnvMap?-1:1,h===g&&u===g.version&&d===t.toneMapping||(o.material.needsUpdate=!0,h=g,u=g.version,d=t.toneMapping),n.unshift(o,o.geometry,o.material,0,0,null)):g&&g.isTexture&&(void 0===a&&(a=new Wn(new ci(2,2),new Jn({name:"BackgroundMaterial",uniforms:Xn(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=g,!0===g.matrixAutoUpdate&&g.updateMatrix(),a.material.uniforms.uvTransform.value.copy(g.matrix),h===g&&u===g.version&&d===t.toneMapping||(a.material.needsUpdate=!0,h=g,u=g.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){const s=l[e];if(void 0!==s){const e=s.normalized,r=s.itemSize,a=n.get(s);if(void 0===a)continue;const l=a.buffer,c=a.type,h=a.bytesPerElement;if(s.isInterleavedBufferAttribute){const n=s.data,a=n.stride,u=s.offset;n&&n.isInstancedInterleavedBuffer?(f(i,n.meshPerAttribute),void 0===o._maxInstanceCount&&(o._maxInstanceCount=n.meshPerAttribute*n.count)):m(i),t.bindBuffer(34962,l),v(i,r,c,e,a*h,u*h)}else s.isInstancedBufferAttribute?(f(i,s.meshPerAttribute),void 0===o._maxInstanceCount&&(o._maxInstanceCount=s.meshPerAttribute*s.count)):m(i),t.bindBuffer(34962,l),v(i,r,c,e,0,0)}else if("instanceMatrix"===e){const e=n.get(r.instanceMatrix);if(void 0===e)continue;const s=e.buffer,a=e.type;f(i+0,1),f(i+1,1),f(i+2,1),f(i+3,1),t.bindBuffer(34962,s),t.vertexAttribPointer(i+0,4,a,!1,64,0),t.vertexAttribPointer(i+1,4,a,!1,64,16),t.vertexAttribPointer(i+2,4,a,!1,64,32),t.vertexAttribPointer(i+3,4,a,!1,64,48)}else if("instanceColor"===e){const e=n.get(r.instanceColor);if(void 0===e)continue;const s=e.buffer,a=e.type;f(i,1),t.bindBuffer(34962,s),t.vertexAttribPointer(i,3,a,!1,12,0)}else if(void 0!==h){const n=h[e];if(void 0!==n)switch(n.length){case 2:t.vertexAttrib2fv(i,n);break;case 3:t.vertexAttrib3fv(i,n);break;case 4:t.vertexAttrib4fv(i,n);break;default:t.vertexAttrib1fv(i,n)}}}}g()}(r,l,u,y),null!==x&&t.bindBuffer(34963,n.get(x).buffer))},reset:y,resetDefaultState:x,dispose:function(){y();for(const t in o){const e=o[t];for(const t in e){const n=e[t];for(const t in n)u(n[t].object),delete n[t];delete e[t]}delete o[t]}},releaseStatesOfGeometry:function(t){if(void 0===o[t.id])return;const e=o[t.id];for(const t in e){const n=e[t];for(const t in n)u(n[t].object),delete n[t];delete e[t]}delete o[t.id]},releaseStatesOfProgram:function(t){for(const e in o){const n=o[e];if(void 0===n[t.id])continue;const i=n[t.id];for(const t in i)u(i[t].object),delete i[t];delete n[t.id]}},initAttributes:p,enableAttribute:m,disableUnusedAttributes:g}}function fi(t,e,n,i){const r=i.isWebGL2;let s;this.setMode=function(t){s=t},this.render=function(e,i){t.drawArrays(s,e,i),n.update(i,s,1)},this.renderInstances=function(i,a,o){if(0===o)return;let l,c;if(r)l=t,c="drawArraysInstanced";else if(l=e.get("ANGLE_instanced_arrays"),c="drawArraysInstancedANGLE",null===l)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");l[c](s,i,a,o),n.update(a,s,o)}}function gi(t,e,n){let i;function r(e){if("highp"===e){if(t.getShaderPrecisionFormat(35633,36338).precision>0&&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=!0===n.logarithmicDepthBuffer,c=t.getParameter(34930),h=t.getParameter(35660),u=t.getParameter(3379),d=t.getParameter(34076),p=t.getParameter(34921),m=t.getParameter(36347),f=t.getParameter(36348),g=t.getParameter(36349),v=h>0,y=s||e.has("OES_texture_float");return{isWebGL2:s,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:l,maxTextures:c,maxVertexTextures:h,maxTextureSize:u,maxCubemapSize:d,maxAttributes:p,maxVertexUniforms:m,maxVaryings:f,maxFragmentUniforms:g,vertexTextures:v,floatFragmentTextures:y,floatVertexTextures:v&&y,maxSamples:s?t.getParameter(36183):0}}function vi(t){const e=this;let n=null,i=0,r=!1,s=!1;const a=new Ne,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 ni(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}}}function xi(t){const e={};function n(n){if(void 0!==e[n])return e[n];let i;switch(n){case"WEBGL_depth_texture":i=t.getExtension("WEBGL_depth_texture")||t.getExtension("MOZ_WEBGL_depth_texture")||t.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=t.getExtension("WEBGL_compressed_texture_s3tc")||t.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=t.getExtension(n)}return e[n]=i,i}return{has:function(t){return null!==n(t)},init:function(t){t.isWebGL2?n("EXT_color_buffer_float"):(n("WEBGL_depth_texture"),n("OES_texture_float"),n("OES_texture_half_float"),n("OES_texture_half_float_linear"),n("OES_standard_derivatives"),n("OES_element_index_uint"),n("OES_vertex_array_object"),n("ANGLE_instanced_arrays")),n("OES_texture_float_linear"),n("EXT_color_buffer_half_float")},get:function(t){const e=n(t);return null===e&&console.warn("THREE.WebGLRenderer: "+t+" extension not supported."),e}}}function _i(t,e,n,i){const r={},s=new WeakMap;function a(t){const o=t.target;null!==o.index&&e.remove(o.index);for(const t in o.attributes)e.remove(o.attributes[t]);o.removeEventListener("dispose",a),delete r[o.id];const l=s.get(o);l&&(e.remove(l),s.delete(o)),i.releaseStatesOfGeometry(o),!0===o.isInstancedBufferGeometry&&delete o._maxInstanceCount,n.memory.geometries--}function o(t){const n=[],i=t.index,r=t.attributes.position;let a=0;if(null!==i){const t=i.array;a=i.version;for(let e=0,i=t.length;e65535?dn:hn)(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=Ii[r];if(void 0===s&&(s=new Float32Array(r),Ii[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 Hi(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;n/gm;function kr(t){return t.replace(Ur,Vr)}function Vr(t,e){const n=hi[e];if(void 0===n)throw new Error("Can not resolve #include <"+e+">");return kr(n)}const Wr=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,jr=/#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 qr(t){return t.replace(jr,Yr).replace(Wr,Xr)}function Xr(t,e,n,i){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),Yr(t,e,n,i)}function Yr(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.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Or).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 _,w,b=n.glslVersion?"#version "+n.glslVersion+"\n":"";n.isRawShaderMaterial?(_=[y].filter(Or).join("\n"),_.length>0&&(_+="\n"),w=[v,y].filter(Or).join("\n"),w.length>0&&(w+="\n")):(_=[Zr(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.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",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(Or).join("\n"),w=[v,Zr(n),"#define SHADER_NAME "+n.shaderName,y,n.alphaTest?"#define ALPHATEST "+n.alphaTest+(n.alphaTest%1?"":".0"):"","#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.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.sheen?"#define USE_SHEEN":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",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?Fr("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",hi.encodings_pars_fragment,n.map?Br("mapTexelToLinear",n.mapEncoding):"",n.matcap?Br("matcapTexelToLinear",n.matcapEncoding):"",n.envMap?Br("envMapTexelToLinear",n.envMapEncoding):"",n.emissiveMap?Br("emissiveMapTexelToLinear",n.emissiveMapEncoding):"",n.lightMap?Br("lightMapTexelToLinear",n.lightMapEncoding):"",zr("linearToOutputTexel",n.outputEncoding),n.depthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(Or).join("\n")),h=kr(h),h=Hr(h,n),h=Gr(h,n),u=kr(u),u=Hr(u,n),u=Gr(u,n),h=qr(h),u=qr(u),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(b="#version 300 es\n",_=["#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+_,w=["#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"+w);const M=b+w+u,S=Pr(a,35633,b+_+h),T=Pr(a,35632,M);if(a.attachShader(x,S),a.attachShader(x,T),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(T).trim();let i=!0,r=!0;if(!1===a.getProgramParameter(x,35714)){i=!1;const e=Nr(a,S,"vertex"),n=Nr(a,T,"fragment");console.error("THREE.WebGLProgram: shader error: ",a.getError(),"35715",a.getProgramParameter(x,35715),"gl.getProgramInfoLog",t,e,n)}else""!==t?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",t):""!==e&&""!==n||(r=!1);r&&(this.diagnostics={runnable:i,programLog:t,vertexShader:{log:e,prefix:_},fragmentShader:{log:n,prefix:w}})}let E,A;return a.deleteShader(S),a.deleteShader(T),this.getUniforms=function(){return void 0===E&&(E=new Cr(a,x)),E},this.getAttributes=function(){return void 0===A&&(A=function(t,e){const n={},i=t.getProgramParameter(e,35721);for(let r=0;r0,maxBones:S,useVertexTexture:u,morphTargets:r.morphTargets,morphNormals:r.morphNormals,numDirLights:a.directional.length,numPointLights:a.point.length,numSpotLights:a.spot.length,numRectAreaLights:a.rectArea.length,numHemiLights:a.hemi.length,numDirLightShadows:a.directionalShadowMap.length,numPointLightShadows:a.pointShadowMap.length,numSpotLightShadows:a.spotShadowMap.length,numClippingPlanes:s.numPlanes,numClipIntersection:s.numIntersection,dithering:r.dithering,shadowMapEnabled:t.shadowMap.enabled&&g.length>0,shadowMapType:t.shadowMap.type,toneMapping:r.toneMapped?t.toneMapping:0,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:r.premultipliedAlpha,alphaTest:r.alphaTest,doubleSided:2===r.side,flipSided:1===r.side,depthPacking:void 0!==r.depthPacking&&r.depthPacking,index0AttributeName:r.index0AttributeName,extensionDerivatives:r.extensions&&r.extensions.derivatives,extensionFragDepth:r.extensions&&r.extensions.fragDepth,extensionDrawBuffers:r.extensions&&r.extensions.drawBuffers,extensionShaderTextureLOD:r.extensions&&r.extensions.shaderTextureLOD,rendererExtensionFragDepth:o||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:o||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:o||n.has("EXT_shader_texture_lod"),customProgramCacheKey:r.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;t1&&i.sort(t||$r),r.length>1&&r.sort(e||ts)}}}function ns(t){let e=new WeakMap;return{get:function(n,i){let r;return!1===e.has(n)?(r=new es(t),e.set(n,[r])):i>=e.get(n).length?(r=new es(t),e.get(n).push(r)):r=e.get(n)[i],r},dispose:function(){e=new WeakMap}}}function is(){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 Lt,color:new tn};break;case"SpotLight":n={position:new Lt,direction:new Lt,color:new tn,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new Lt,color:new tn,distance:0,decay:0};break;case"HemisphereLight":n={direction:new Lt,skyColor:new tn,groundColor:new tn};break;case"RectAreaLight":n={color:new tn,position:new Lt,halfWidth:new Lt,halfHeight:new Lt}}return t[e.id]=n,n}}}let rs=0;function ss(t,e){return(e.castShadow?1:0)-(t.castShadow?1:0)}function as(t,e){const n=new is,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 Lt);const s=new Lt,a=new se,o=new se;return{setup:function(s){let a=0,o=0,l=0;for(let t=0;t<9;t++)r.probe[t].set(0,0,0);let c=0,h=0,u=0,d=0,p=0,m=0,f=0,g=0;s.sort(ss);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]=a,r.ambient[1]=o,r.ambient[2]=l;const v=r.hash;v.directionalLength===c&&v.pointLength===h&&v.spotLength===u&&v.rectAreaLength===d&&v.hemiLength===p&&v.numDirectionalShadows===m&&v.numPointShadows===f&&v.numSpotShadows===g||(r.directional.length=c,r.spot.length=u,r.rectArea.length=d,r.point.length=h,r.hemi.length=p,r.directionalShadow.length=m,r.directionalShadowMap.length=m,r.pointShadow.length=f,r.pointShadowMap.length=f,r.spotShadow.length=g,r.spotShadowMap.length=g,r.directionalShadowMatrix.length=m,r.pointShadowMatrix.length=f,r.spotShadowMatrix.length=g,v.directionalLength=c,v.pointLength=h,v.spotLength=u,v.rectAreaLength=d,v.hemiLength=p,v.numDirectionalShadows=m,v.numPointShadows=f,v.numSpotShadows=g,r.version=rs++)},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 os(t,e),n.get(i).push(s)):s=n.get(i)[r],s},dispose:function(){n=new WeakMap}}}class cs extends Xe{constructor(t){super(),this.type="MeshDepthMaterial",this.depthPacking=3200,this.skinning=!1,this.morphTargets=!1,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.skinning=t.skinning,this.morphTargets=t.morphTargets,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}}cs.prototype.isMeshDepthMaterial=!0;class hs extends Xe{constructor(t){super(),this.type="MeshDistanceMaterial",this.referencePosition=new Lt,this.nearDistance=1,this.farDistance=1e3,this.skinning=!1,this.morphTargets=!1,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.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}hs.prototype.isMeshDistanceMaterial=!0;function us(t,e,n){let i=new ai;const r=new vt,s=new vt,a=new St,o=[],l=[],c={},h=n.maxTextureSize,u={0:1,1:0,2:2},d=new Jn({defines:{SAMPLE_RATE:2/8,HALF_SAMPLE_RATE:1/8},uniforms:{shadow_pass:{value:null},resolution:{value:new vt},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n\tfor ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 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, i ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean * HALF_SAMPLE_RATE;\n\tsquared_mean = squared_mean * HALF_SAMPLE_RATE;\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 En;f.setAttribute("position",new sn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const v=new Wn(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,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,t.setRenderTarget(n.map),t.clear(),t.renderBufferDirect(i,null,r,m,v,null)}function _(t,e,n){const i=t<<0|e<<1|n<<2;let r=o[i];return void 0===r&&(r=new cs({depthPacking:3201,morphTargets:t,skinning:e}),o[i]=r),r}function w(t,e,n){const i=t<<0|e<<1|n<<2;let r=l[i];return void 0===r&&(r=new hs({morphTargets:t,skinning:e}),l[i]=r),r}function b(e,n,i,r,s,a,o){let l=null,h=_,d=e.customDepthMaterial;if(!0===r.isPointLight&&(h=w,d=e.customDistanceMaterial),void 0===d){let t=!1;!0===i.morphTargets&&(t=n.morphAttributes&&n.morphAttributes.position&&n.morphAttributes.position.length>0);let r=!1;!0===e.isSkinnedMesh&&(!0===i.skinning?r=!0:console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",e));l=h(t,r,!0===e.isInstancedMesh)}else l=d;if(t.localClippingEnabled&&!0===i.clipShadows&&0!==i.clippingPlanes.length){const t=l.uuid,e=i.uuid;let n=c[t];void 0===n&&(n={},c[t]=n);let r=n[e];void 0===r&&(r=l.clone(),n[e]=r),l=r}return l.visible=i.visible,l.wireframe=i.wireframe,l.side=3===o?null!==i.shadowSide?i.shadowSide:i.side:null!==i.shadowSide?i.shadowSide:u[i.side],l.clipShadows=i.clipShadows,l.clippingPlanes=i.clippingPlanes,l.clipIntersection=i.clipIntersection,l.wireframeLinewidth=i.wireframeLinewidth,l.linewidth=i.linewidth,!0===r.isPointLight&&!0===l.isMeshDistanceMaterial&&(l.referencePosition.setFromMatrixPosition(r.matrixWorld),l.nearDistance=s,l.farDistance=a),l}function M(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 D=new St(0,0,t.canvas.width,t.canvas.height),I=new St(0,0,t.canvas.width,t.canvas.height);function N(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=I(s,a));const o=n?I(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 B(t){return pt(t.width)&&pt(t.height)}function z(t,e){return t.generateMipmaps&&e&&t.minFilter!==p&&t.minFilter!==g}function F(e,n,r,s){t.generateMipmap(e);i.get(n).__maxMipLevel=Math.log2(Math.max(r,s))}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 H(t){return t===p||t===m||t===f?9728:9729}function G(e){const n=e.target;n.removeEventListener("dispose",G),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 U(e){const n=e.target;n.removeEventListener("dispose",U),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);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);i.remove(n),i.remove(e)}(n),a.memory.textures--}let k=0;function V(t,e){const r=i.get(t);if(t.isVideoTexture&&function(t){const e=a.render.frame;C.get(t)!==e&&(C.set(t,e),t.update())}(t),t.version>0&&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 Z(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=B(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",G),e.__webglTexture=t.createTexture(),a.memory.textures++)}function Z(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===B(i.image),c=N(i.image,l,!1,x),h=B(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===b?36012:i.type===w?33190:i.type===S?35056:33189:i.type===b&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),i.format===A&&6402===v&&i.type!==_&&i.type!==w&&(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?Z(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?Z(r,t,e):(n.activeTexture(33984+e),n.bindTexture(32879,r.__webglTexture))},this.setTextureCube=W,this.setupRenderTarget=function(e){const r=e.texture,l=i.get(e),c=i.get(r);e.addEventListener("dispose",U),c.__webglTexture=t.createTexture(),c.__version=r.version,a.memory.textures++;const h=!0===e.isWebGLCubeRenderTarget,u=!0===e.isWebGLMultisampleRenderTarget,d=r.isDataTexture3D||r.isDataTexture2DArray,p=B(e)||o;if(!o||r.format!==T||r.type!==b&&r.type!==M||(r.format=E,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),h){l.__webglFramebuffer=[];for(let e=0;e<6;e++)l.__webglFramebuffer[e]=t.createFramebuffer()}else if(l.__webglFramebuffer=t.createFramebuffer(),u)if(o){l.__webglMultisampledFramebuffer=t.createFramebuffer(),l.__webglColorRenderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,l.__webglColorRenderbuffer);const i=s.convert(r.format),a=s.convert(r.type),o=O(r.internalFormat,i,a),c=$(e);t.renderbufferStorageMultisample(36161,c,o,e.width,e.height),n.bindFramebuffer(36160,l.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(36160,36064,36161,l.__webglColorRenderbuffer),t.bindRenderbuffer(36161,null),e.depthBuffer&&(l.__webglDepthRenderbuffer=t.createRenderbuffer(),Q(l.__webglDepthRenderbuffer,e,!0)),n.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");if(h){n.bindTexture(34067,c.__webglTexture),X(34067,r,p);for(let t=0;t<6;t++)J(l.__webglFramebuffer[t],e,36064,34069+t);z(r,p)&&F(34067,r,e.width,e.height),n.bindTexture(34067,null)}else{let t=3553;if(d)if(o){t=r.isDataTexture3D?32879:35866}else console.warn("THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.");n.bindTexture(t,c.__webglTexture),X(t,r,p),J(l.__webglFramebuffer,e,36064,t),z(r,p)&&F(3553,r,e.width,e.height),n.bindTexture(3553,null)}e.depthBuffer&&K(e)},this.updateRenderTargetMipmap=function(t){const e=t.texture;if(z(e,B(t)||o)){const r=t.isWebGLCubeRenderTarget?34067:3553,s=i.get(e).__webglTexture;n.bindTexture(r,s),F(r,e,t.width,t.height),n.bindTexture(r,null)}},this.updateMultisampleRenderTarget=function(e){if(e.isWebGLMultisampleRenderTarget)if(o){const r=e.width,s=e.height;let a=16384;e.depthBuffer&&(a|=256),e.stencilBuffer&&(a|=1024);const o=i.get(e);n.bindFramebuffer(36008,o.__webglMultisampledFramebuffer),n.bindFramebuffer(36009,o.__webglFramebuffer),t.blitFramebuffer(0,0,r,s,0,0,r,s,a,9728),n.bindFramebuffer(36008,null),n.bindFramebuffer(36009,o.__webglMultisampledFramebuffer)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")},this.safeSetTexture2D=function(t,e){t&&t.isWebGLRenderTarget&&(!1===tt&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."),tt=!0),t=t.texture),V(t,e)},this.safeSetTextureCube=function(t,e){t&&t.isWebGLCubeRenderTarget&&(!1===et&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),et=!0),t=t.texture),W(t,e)}}function ms(t,e,n){const i=n.isWebGL2;return{convert:function(t){let n;if(t===x)return 5121;if(1017===t)return 32819;if(1018===t)return 32820;if(1019===t)return 33635;if(1010===t)return 5120;if(1011===t)return 5122;if(t===_)return 5123;if(1013===t)return 5124;if(t===w)return 5125;if(t===b)return 5126;if(t===M)return i?5131:(n=e.get("OES_texture_half_float"),null!==n?n.HALF_FLOAT_OES:null);if(1021===t)return 6406;if(t===T)return 6407;if(t===E)return 6408;if(1024===t)return 6409;if(1025===t)return 6410;if(t===A)return 6402;if(t===L)return 34041;if(1028===t)return 6403;if(1029===t)return 36244;if(1030===t)return 33319;if(1031===t)return 33320;if(1032===t)return 36248;if(1033===t)return 36249;if(t===R||t===C||t===P||t===D){if(n=e.get("WEBGL_compressed_texture_s3tc"),null===n)return null;if(t===R)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(t===C)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(t===P)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(t===D)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(t===I||t===N||t===B||t===z){if(n=e.get("WEBGL_compressed_texture_pvrtc"),null===n)return null;if(t===I)return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(t===N)return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(t===B)return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(t===z)return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196===t)return n=e.get("WEBGL_compressed_texture_etc1"),null!==n?n.COMPRESSED_RGB_ETC1_WEBGL:null;if((t===F||t===O)&&(n=e.get("WEBGL_compressed_texture_etc"),null!==n)){if(t===F)return n.COMPRESSED_RGB8_ETC2;if(t===O)return n.COMPRESSED_RGBA8_ETC2_EAC}return 37808===t||37809===t||37810===t||37811===t||37812===t||37813===t||37814===t||37815===t||37816===t||37817===t||37818===t||37819===t||37820===t||37821===t||37840===t||37841===t||37842===t||37843===t||37844===t||37845===t||37846===t||37847===t||37848===t||37849===t||37850===t||37851===t||37852===t||37853===t?(n=e.get("WEBGL_compressed_texture_astc"),null!==n?t:null):36492===t?(n=e.get("EXT_texture_compression_bptc"),null!==n?t:null):t===S?i?34042:(n=e.get("WEBGL_depth_texture"),null!==n?n.UNSIGNED_INT_24_8_WEBGL:null):void 0}}}class fs extends Kn{constructor(t=[]){super(),this.cameras=t}}fs.prototype.isArrayCamera=!0;class gs extends Ce{constructor(){super(),this.type="Group"}}gs.prototype.isGroup=!0;const vs={type:"move"};class ys{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return null===this._hand&&(this._hand=new gs,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return null===this._targetRay&&(this._targetRay=new gs,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new Lt,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new Lt),this._targetRay}getGripSpace(){return null===this._grip&&(this._grip=new gs,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new Lt,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new Lt),this._grip}dispatchEvent(t){return null!==this._targetRay&&this._targetRay.dispatchEvent(t),null!==this._grip&&this._grip.dispatchEvent(t),null!==this._hand&&this._hand.dispatchEvent(t),this}disconnect(t){return this.dispatchEvent({type:"disconnected",data:t}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this}update(t,e,n){let i=null,r=null,s=null;const a=this._targetRay,o=this._grip,l=this._hand;if(t&&"visible-blurred"!==e.session.visibilityState)if(null!==a&&(i=e.getPose(t.targetRaySpace,n),null!==i&&(a.matrix.fromArray(i.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),i.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(i.linearVelocity)):a.hasLinearVelocity=!1,i.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(i.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(vs))),l&&t.hand){s=!0;for(const i of t.hand.values()){const t=e.getJointPose(i,n);if(void 0===l.joints[i.jointName]){const t=new gs;t.matrixAutoUpdate=!1,t.visible=!1,l.joints[i.jointName]=t,l.add(t)}const r=l.joints[i.jointName];null!==t&&(r.matrix.fromArray(t.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.jointRadius=t.radius),r.visible=null!==t}const i=l.joints["index-finger-tip"],r=l.joints["thumb-tip"],a=i.position.distanceTo(r.position),o=.02,c=.005;l.inputState.pinching&&a>o+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 xs extends rt{constructor(t,e){super();const n=this,i=t.state;let r=null,s=1,a=null,o="local-floor",l=null;const c=[],h=new Map,u=new Kn;u.layers.enable(1),u.viewport=new St;const d=new Kn;d.layers.enable(2),d.viewport=new St;const p=[u,d],m=new fs;m.layers.enable(1),m.layers.enable(2);let f=null,g=null;function v(t){const e=h.get(t.inputSource);e&&e.dispatchEvent({type:t.type,data:t.inputSource})}function y(){h.forEach((function(t,e){t.disconnect(e)})),h.clear(),f=null,g=null,i.bindXRFramebuffer(null),t.setRenderTarget(t.getRenderTarget()),S.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}function x(t){const e=r.inputSources;for(let t=0;t0&&Rt(s,t,e),a.length>0&&Rt(a,t,e),null!==_&&(J.updateRenderTargetMipmap(_),J.updateMultisampleRenderTarget(_)),!0===t.isScene&&t.onAfterRender(f,t,e),q.buffers.depth.setTest(!0),q.buffers.depth.setMask(!0),q.buffers.color.setMask(!0),q.setPolygonOffset(!1),dt.resetDefaultState(),w=-1,S=null,m.pop(),d=m.length>0?m[m.length-1]:null,p.pop(),u=p.length>0?p[p.length-1]:null},this.getActiveCubeFace=function(){return v},this.getActiveMipmapLevel=function(){return y},this.getRenderTarget=function(){return _},this.setRenderTarget=function(t,e=0,n=0){_=t,v=e,y=n,t&&void 0===Z.get(t).__webglFramebuffer&&J.setupRenderTarget(t);let i=null,r=!1,s=!1;if(t){const n=t.texture;(n.isDataTexture3D||n.isDataTexture2DArray)&&(s=!0);const a=Z.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(i=a[e],r=!0):i=t.isWebGLMultisampleRenderTarget?Z.get(t).__webglMultisampledFramebuffer:a,T.copy(t.viewport),A.copy(t.scissor),L=t.scissorTest}else T.copy(N).multiplyScalar(P).floor(),A.copy(B).multiplyScalar(P).floor(),L=z;if(q.bindFramebuffer(36160,i),q.viewport(T),q.scissor(A),q.setScissorTest(L),r){const i=Z.get(t.texture);pt.framebufferTexture2D(36160,36064,34069+e,i.__webglTexture,n)}else if(s){const i=Z.get(t.texture),r=e||0;pt.framebufferTextureLayer(36160,36064,i.__webglTexture,n||0,r)}},this.readRenderTargetPixels=function(t,e,n,i,r,s,a){if(!t||!t.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let o=Z.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget&&void 0!==a&&(o=o[a]),o){q.bindFramebuffer(36160,o);try{const a=t.texture,o=a.format,l=a.type;if(o!==E&&ut.convert(o)!==pt.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const c=l===M&&(W.has("EXT_color_buffer_half_float")||j.isWebGL2&&W.has("EXT_color_buffer_float"));if(!(l===x||ut.convert(l)===pt.getParameter(35738)||l===b&&(j.isWebGL2||W.has("OES_texture_float")||W.has("WEBGL_color_buffer_float"))||c))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");36053===pt.checkFramebufferStatus(36160)?e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r&&pt.readPixels(e,n,i,r,ut.convert(o),ut.convert(l),s):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{const t=null!==_?Z.get(_).__webglFramebuffer:null;q.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),a=ut.convert(e.format);J.setTexture2D(e,0),pt.copyTexImage2D(3553,n,a,t.x,t.y,r,s,0),q.unbindTexture()},this.copyTextureToTexture=function(t,e,n,i=0){const r=e.image.width,s=e.image.height,a=ut.convert(n.format),o=ut.convert(n.type);J.setTexture2D(n,0),pt.pixelStorei(37440,n.flipY),pt.pixelStorei(37441,n.premultiplyAlpha),pt.pixelStorei(3317,n.unpackAlignment),e.isDataTexture?pt.texSubImage2D(3553,i,t.x,t.y,r,s,a,o,e.image.data):e.isCompressedTexture?pt.compressedTexSubImage2D(3553,i,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,a,e.mipmaps[0].data):pt.texSubImage2D(3553,i,t.x,t.y,a,o,e.image),0===i&&n.generateMipmaps&&pt.generateMipmap(3553),q.unbindTexture()},this.copyTextureToTexture3D=function(t,e,n,i,r=0){if(f.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const{width:s,height:a,data:o}=n.image,l=ut.convert(i.format),c=ut.convert(i.type);let h;if(i.isDataTexture3D)J.setTexture3D(i,0),h=32879;else{if(!i.isDataTexture2DArray)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");J.setTexture2DArray(i,0),h=35866}pt.pixelStorei(37440,i.flipY),pt.pixelStorei(37441,i.premultiplyAlpha),pt.pixelStorei(3317,i.unpackAlignment);const u=pt.getParameter(3314),d=pt.getParameter(32878),p=pt.getParameter(3316),m=pt.getParameter(3315),g=pt.getParameter(32877);pt.pixelStorei(3314,s),pt.pixelStorei(32878,a),pt.pixelStorei(3316,t.min.x),pt.pixelStorei(3315,t.min.y),pt.pixelStorei(32877,t.min.z),pt.texSubImage3D(h,r,e.x,e.y,e.z,t.max.x-t.min.x+1,t.max.y-t.min.y+1,t.max.z-t.min.z+1,l,c,o),pt.pixelStorei(3314,u),pt.pixelStorei(32878,d),pt.pixelStorei(3316,p),pt.pixelStorei(3315,m),pt.pixelStorei(32877,g),0===r&&i.generateMipmaps&&pt.generateMipmap(h),q.unbindTexture()},this.initTexture=function(t){J.setTexture2D(t,0),q.unbindTexture()},this.resetState=function(){v=0,y=0,_=null,q.reset(),dt.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}class bs extends ws{}bs.prototype.isWebGL1Renderer=!0;class Ms{constructor(t,e=25e-5){this.name="",this.color=new tn(t),this.density=e}clone(){return new Ms(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}Ms.prototype.isFogExp2=!0;class Ss{constructor(t,e=1,n=1e3){this.name="",this.color=new tn(t),this.near=e,this.far=n}clone(){return new Ss(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}Ss.prototype.isFog=!0;class Ts extends Ce{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.background&&(e.object.background=this.background.toJSON(t)),null!==this.environment&&(e.object.environment=this.environment.toJSON(t)),null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}Ts.prototype.isScene=!0;class Es{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(),this.onUploadCallback=function(){}}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:Ps.clone(),uv:je.getUV(Ps,Fs,Os,Hs,Gs,Us,ks,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 Ws(t,e,n,i,r,s){Ns.subVectors(t,n).addScalar(.5).multiply(i),void 0!==r?(Bs.x=s*Ns.x-r*Ns.y,Bs.y=r*Ns.x+s*Ns.y):Bs.copy(Ns),t.copy(e),t.x+=Bs.x,t.y+=Bs.y,t.applyMatrix4(zs)}Vs.prototype.isSprite=!0;const js=new Lt,qs=new Lt;class Xs extends Ce{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){js.setFromMatrixPosition(this.matrixWorld);const n=t.ray.origin.distanceTo(js);this.getObjectForDistance(n).raycast(t,e)}}update(t){const e=this.levels;if(e.length>1){js.setFromMatrixPosition(t.matrixWorld),qs.setFromMatrixPosition(this.matrixWorld);const n=js.distanceTo(qs)/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.")}}}fa.prototype.isLine=!0;const ga=new Lt,va=new Lt;class ya extends fa{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 Ea(t,e,n,i,r,s,a){const o=ba.distanceSqToPoint(t);if(or.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:e,face:null,object:a})}}Ta.prototype.isPoints=!0;class Aa extends bt{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)}}Aa.prototype.isVideoTexture=!0;class La extends bt{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}}La.prototype.isCompressedTexture=!0;class Ra extends bt{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.needsUpdate=!0}}Ra.prototype.isCanvasTexture=!0;class Ca extends bt{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}}Ca.prototype.isDepthTexture=!0;class Pa extends En{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 Lt,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 mn(s,3)),this.setAttribute("normal",new mn(a,3)),this.setAttribute("uv",new mn(o,2))}}class Da extends En{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 Lt;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 mn(h,3)),this.setAttribute("normal",new mn(u,3)),this.setAttribute("uv",new mn(d,2))}}class Ia extends Da{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}}}class Na extends En{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 mn(r,3)),this.setAttribute("normal",new mn(r.slice(),3)),this.setAttribute("uv",new mn(s,2)),0===i?this.computeVertexNormals():this.normalizeNormals()}}class Ba extends Na{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}}}const za=new Lt,Fa=new Lt,Oa=new Lt,Ha=new je;class Ga extends En{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;t80*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 Wa(s,a,n,o,l,p),a};function ka(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=co(s,t[s],t[s+1],a);return a&&io(a,a.next)&&(ho(a),a=a.next),a}function Va(t,e){if(!t)return t;e||(e=t);let n,i=t;do{if(n=!1,i.steiner||!io(i,i.next)&&0!==no(i.prev,i,i.next))i=i.next;else{if(ho(i),i=e=i.prev,i===i.next)break;n=!0}}while(n||i!==e);return e}function Wa(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=Ka(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?qa(t,i,r,s):ja(t))e.push(o.i/n),e.push(t.i/n),e.push(l.i/n),ho(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?Wa(t=Xa(Va(t),e,n),e,n,i,r,s,2):2===a&&Ya(t,e,n,i,r,s):Wa(Va(t),e,n,i,r,s,1);break}}function ja(t){const e=t.prev,n=t,i=t.next;if(no(e,n,i)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if(to(e.x,e.y,n.x,n.y,i.x,i.y,r.x,r.y)&&no(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function qa(t,e,n,i){const r=t.prev,s=t,a=t.next;if(no(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=Ka(o,l,e,n,i),d=Ka(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&&to(r.x,r.y,s.x,s.y,a.x,a.y,p.x,p.y)&&no(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,m!==t.prev&&m!==t.next&&to(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&no(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;p&&p.z>=u;){if(p!==t.prev&&p!==t.next&&to(r.x,r.y,s.x,s.y,a.x,a.y,p.x,p.y)&&no(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;m&&m.z<=d;){if(m!==t.prev&&m!==t.next&&to(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&no(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function Xa(t,e,n){let i=t;do{const r=i.prev,s=i.next.next;!io(r,s)&&ro(r,i,i.next,s)&&oo(r,s)&&oo(s,r)&&(e.push(r.i/n),e.push(i.i/n),e.push(s.i/n),ho(i),ho(i.next),i=t=s),i=i.next}while(i!==t);return Va(i)}function Ya(t,e,n,i,r,s){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&eo(a,t)){let o=lo(a,t);return a=Va(a,a.next),o=Va(o,o.next),Wa(a,e,n,i,r,s),void Wa(o,e,n,i,r,s)}t=t.next}a=a.next}while(a!==t)}function Za(t,e){return t.x-e.x}function Ja(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&&to(rs.x||n.x===s.x&&Qa(s,n)))&&(s=n,u=h)),n=n.next}while(n!==o);return s}(t,e)){const n=lo(e,t);Va(e,e.next),Va(n,n.next)}}function Qa(t,e){return no(t.prev,t,e.prev)<0&&no(e.next,t,t.next)<0}function Ka(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 $a(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 eo(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&&ro(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(oo(t,e)&&oo(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)&&(no(t.prev,t,e.prev)||no(t,e.prev,e))||io(t,e)&&no(t.prev,t,t.next)>0&&no(e.prev,e,e.next)>0)}function no(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function io(t,e){return t.x===e.x&&t.y===e.y}function ro(t,e,n,i){const r=ao(no(t,e,n)),s=ao(no(t,e,i)),a=ao(no(n,i,t)),o=ao(no(n,i,e));return r!==s&&a!==o||(!(0!==r||!so(t,n,e))||(!(0!==s||!so(t,i,e))||(!(0!==a||!so(n,t,i))||!(0!==o||!so(n,e,i)))))}function so(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 ao(t){return t>0?1:t<0?-1:0}function oo(t,e){return no(t.prev,t,t.next)<0?no(t,e,t.next)>=0&&no(t,t.prev,e)>=0:no(t,e,t.prev)<0||no(t,t.next,e)<0}function lo(t,e){const n=new uo(t.i,t.x,t.y),i=new uo(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 co(t,e,n,i){const r=new uo(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 ho(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 uo(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 po{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 fo(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||o=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=Vo.arraySlice(i.values,t,e)}else{const t=i.createInterpolant(),e=o,n=l-o;t.evaluate(s),d=Vo.arraySlice(t.resultBuffer,e,n)}if("quaternion"===r){(new At).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=Vo.arraySlice(n,r,s),this.values=Vo.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&&Vo.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=Vo.arraySlice(this.times),e=Vo.arraySlice(this.values),n=this.getValueSize(),i=this.getInterpolation()===U,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=Vo.arraySlice(t,0,s),this.values=Vo.arraySlice(e,0,s*n)):(this.times=t,this.values=e),this}clone(){const t=Vo.arraySlice(this.times,0),e=Vo.arraySlice(this.values,0),n=new(0,this.constructor)(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}}Yo.prototype.TimeBufferType=Float32Array,Yo.prototype.ValueBufferType=Float32Array,Yo.prototype.DefaultInterpolation=G;class Zo extends Yo{}Zo.prototype.ValueTypeName="bool",Zo.prototype.ValueBufferType=Array,Zo.prototype.DefaultInterpolation=H,Zo.prototype.InterpolantFactoryMethodLinear=void 0,Zo.prototype.InterpolantFactoryMethodSmooth=void 0;class Jo extends Yo{}Jo.prototype.ValueTypeName="color";class Qo extends Yo{}Qo.prototype.ValueTypeName="number";class Ko extends Wo{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)At.slerpFlat(r,0,s,l-a,s,l,o);return r}}class $o extends Yo{InterpolantFactoryMethodLinear(t){return new Ko(this.times,this.values,this.getValueSize(),t)}}$o.prototype.ValueTypeName="quaternion",$o.prototype.DefaultInterpolation=G,$o.prototype.InterpolantFactoryMethodSmooth=void 0;class tl extends Yo{}tl.prototype.ValueTypeName="string",tl.prototype.ValueBufferType=Array,tl.prototype.DefaultInterpolation=H,tl.prototype.InterpolantFactoryMethodLinear=void 0,tl.prototype.InterpolantFactoryMethodSmooth=void 0;class el extends Yo{}el.prototype.ValueTypeName="vector";class nl{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(il(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(Yo.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=[];Vo.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 ml{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(t,e){const n=this.getUtoTmapping(t);return this.getPoint(n,e)}getPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return e}getSpacedPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPointAt(n/t));return e}getLength(){const t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let n,i=this.getPoint(0),r=0;e.push(0);for(let s=1;s<=t;s++)n=this.getPoint(s/t),r+=n.distanceTo(i),e.push(r),i=n;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e){const n=this.getLengths();let i=0;const r=n.length;let s;s=e||t*n[r-1];let a,o=0,l=r-1;for(;o<=l;)if(i=Math.floor(o+(l-o)/2),a=n[i]-s,a<0)o=i+1;else{if(!(a>0)){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 Lt);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 Lt,i=[],r=[],s=[],a=new Lt,o=new se;for(let e=0;e<=t;e++){const n=e/t;i[e]=this.getTangentAt(n,new Lt),i[e].normalize()}r[0]=new Lt,s[0]=new Lt;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 fl extends ml{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]:(yl.subVectors(i[0],i[1]).add(i[0]),a=yl);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(Ml(a,o.x,l.x,c.x,h.x),Ml(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;e=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 zl extends Bl{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 tn).setHex(r.value);break;case"v2":i.uniforms[e].value=(new vt).fromArray(r.value);break;case"v3":i.uniforms[e].value=(new Lt).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 se).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.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.transmission&&(i.transmission=t.transmission),void 0!==t.transmissionMap&&(i.transmissionMap=n(t.transmissionMap)),i}setTextures(t){return this.textures=t,this}}class rc{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=po.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 zl,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){At.slerpFlat(t,e,t,e,t,n,i)}_slerpAdditive(t,e,n,i,r){const s=this._workIndex*r;At.multiplyQuaternionsFlat(t,s,t,e,t,n),At.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 Bc="\\[\\]\\.:\\/",zc=new RegExp("[\\[\\]\\.:\\/]","g"),Fc="[^\\[\\]\\.:\\/]",Oc="[^"+Bc.replace("\\.","")+"]",Hc=/((?:WC+[\/:])*)/.source.replace("WC",Fc),Gc=/(WCOD+)?/.source.replace("WCOD",Oc),Uc=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Fc),kc=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Fc),Vc=new RegExp("^"+Hc+Gc+Uc+kc+"$"),Wc=["material","materials","bones"];class jc{constructor(t,e,n){this.path=e,this.parsedPath=n||jc.parseTrackName(e),this.node=jc.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 jc.Composite(t,e,n):new jc(t,e,n)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(zc,"")}static parseTrackName(t){const e=Vc.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!==Wc.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 jc(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()}}}qc.prototype.isAnimationObjectGroup=!0;class Xc{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 Yc 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 Nc(jc.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 void 0===e&&(console.warn("THREE.Box2: .getParameter() target is now required"),e=new vt),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 void 0===e&&(console.warn("THREE.Box2: .clampPoint() target is now required"),e=new vt),e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return th.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)}}eh.prototype.isBox2=!0;const nh=new Lt,ih=new Lt;class rh{constructor(t=new Lt,e=new Lt){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 void 0===t&&(console.warn("THREE.Line3: .getCenter() target is now required"),t=new Lt),t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return void 0===t&&(console.warn("THREE.Line3: .delta() target is now required"),t=new Lt),t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return void 0===e&&(console.warn("THREE.Line3: .at() target is now required"),e=new Lt),this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){nh.subVectors(t,this.start),ih.subVectors(this.end,this.start);const n=ih.dot(ih);let i=ih.dot(nh)/n;return e&&(i=ht(i,0,1)),i}closestPointToPoint(t,e,n){const i=this.closestPointToPointParameter(t,e);return void 0===n&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),n=new Lt),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 sh extends Ce{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}}sh.prototype.isImmediateRenderObject=!0;const ah=new Lt;const oh=new Lt,lh=new se,ch=new se;class hh extends ya{constructor(t){const e=uh(t),n=new En,i=[],r=[],s=new tn(0,0,1),a=new tn(0,1,0);for(let t=0;t4?a=Ph[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 En;x.setAttribute("position",new sn(g,p)),x.setAttribute("uv",new sn(v,m)),x.setAttribute("faceIndex",new sn(y,f)),t.push(x),i>4&&i--}return{_lodPlanes:t,_sizeLods:e,_sigmas:n}}function Zh(t){const e=new Tt(3*Ch,3*Ch,t);return e.texture.mapping=l,e.texture.name="PMREM.cubeUv",e.scissorTest=!0,e}function Jh(t,e,n,i,r){t.viewport.set(e,n,i,r),t.scissor.set(e,n,i,r)}function Qh(){const t=new vt(1,1);return new Io({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:t},inputEncoding:{value:Nh[3e3]},outputEncoding:{value:Nh[3e3]}},vertexShader:$h(),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${tu()}\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 Kh(){return new Io({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:Nh[3e3]},outputEncoding:{value:Nh[3e3]}},vertexShader:$h(),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${tu()}\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 $h(){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 tu(){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"}ml.create=function(t,e){return console.log("THREE.Curve.create() has been deprecated"),t.prototype=Object.create(ml.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},Bl.prototype.fromPoints=function(t){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(t)},fh.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},hh.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},ol.prototype.extractUrlBase=function(t){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),rc.extractUrlBase(t)},ol.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}},eh.prototype.center=function(t){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(t)},eh.prototype.empty=function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},eh.prototype.isIntersectionBox=function(t){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},eh.prototype.size=function(t){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(t)},Pt.prototype.center=function(t){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(t)},Pt.prototype.empty=function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},Pt.prototype.isIntersectionBox=function(t){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},Pt.prototype.isIntersectionSphere=function(t){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},Pt.prototype.size=function(t){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(t)},Jt.prototype.empty=function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()},ai.prototype.setFromMatrix=function(t){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(t)},rh.prototype.center=function(t){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(t)},yt.prototype.flattenToArrayOffset=function(t,e){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},yt.prototype.multiplyVector3=function(t){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},yt.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},yt.prototype.applyToBufferAttribute=function(t){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},yt.prototype.applyToVector3Array=function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")},yt.prototype.getInverse=function(t){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(t).invert()},se.prototype.extractPosition=function(t){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(t)},se.prototype.flattenToArrayOffset=function(t,e){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},se.prototype.getPosition=function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),(new Lt).setFromMatrixColumn(this,3)},se.prototype.setRotationFromQuaternion=function(t){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(t)},se.prototype.multiplyToArray=function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},se.prototype.multiplyVector3=function(t){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},se.prototype.multiplyVector4=function(t){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},se.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},se.prototype.rotateAxis=function(t){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),t.transformDirection(this)},se.prototype.crossVector=function(t){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},se.prototype.translate=function(){console.error("THREE.Matrix4: .translate() has been removed.")},se.prototype.rotateX=function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},se.prototype.rotateY=function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},se.prototype.rotateZ=function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},se.prototype.rotateByAxis=function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},se.prototype.applyToBufferAttribute=function(t){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},se.prototype.applyToVector3Array=function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},se.prototype.makeFrustum=function(t,e,n,i,r,s){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(t,e,i,n,r,s)},se.prototype.getInverse=function(t){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(t).invert()},Ne.prototype.isIntersectionLine=function(t){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(t)},At.prototype.multiplyVector3=function(t){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),t.applyQuaternion(this)},At.prototype.inverse=function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()},re.prototype.isIntersectionBox=function(t){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},re.prototype.isIntersectionPlane=function(t){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(t)},re.prototype.isIntersectionSphere=function(t){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},je.prototype.area=function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},je.prototype.barycoordFromPoint=function(t,e){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(t,e)},je.prototype.midpoint=function(t){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(t)},je.prototypenormal=function(t){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(t)},je.prototype.plane=function(t){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(t)},je.barycoordFromPoint=function(t,e,n,i,r){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),je.getBarycoord(t,e,n,i,r)},je.normal=function(t,e,n,i){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),je.getNormal(t,e,n,i)},zl.prototype.extractAllPoints=function(t){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(t)},zl.prototype.extrude=function(t){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new go(this,t)},zl.prototype.makeGeometry=function(t){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new Mo(this,t)},vt.prototype.fromAttribute=function(t,e,n){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},vt.prototype.distanceToManhattan=function(t){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},vt.prototype.lengthManhattan=function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},Lt.prototype.setEulerFromRotationMatrix=function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},Lt.prototype.setEulerFromQuaternion=function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},Lt.prototype.getPositionFromMatrix=function(t){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(t)},Lt.prototype.getScaleFromMatrix=function(t){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(t)},Lt.prototype.getColumnFromMatrix=function(t,e){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(e,t)},Lt.prototype.applyProjection=function(t){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(t)},Lt.prototype.fromAttribute=function(t,e,n){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},Lt.prototype.distanceToManhattan=function(t){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},Lt.prototype.lengthManhattan=function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},St.prototype.fromAttribute=function(t,e,n){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},St.prototype.lengthManhattan=function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},Ce.prototype.getChildByName=function(t){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(t)},Ce.prototype.renderDepth=function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},Ce.prototype.translate=function(t,e){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(e,t)},Ce.prototype.getWorldRotation=function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")},Ce.prototype.applyMatrix=function(t){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(t)},Object.defineProperties(Ce.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(t){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=t}},useQuaternion:{get:function(){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.")}}}),Wn.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.")},Object.defineProperties(Wn.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),0},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.")}}}),$s.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")},Kn.prototype.setLens=function(t,e){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==e&&(this.filmGauge=e),this.setFocalLength(t)},Object.defineProperties(Fl.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(t){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=t}},shadowCameraLeft:{set:function(t){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=t}},shadowCameraRight:{set:function(t){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=t}},shadowCameraTop:{set:function(t){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=t}},shadowCameraBottom:{set:function(t){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=t}},shadowCameraNear:{set:function(t){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=t}},shadowCameraFar:{set:function(t){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=t}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(t){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=t}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(t){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=t}},shadowMapHeight:{set:function(t){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=t}}}),Object.defineProperties(sn.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},dynamic:{get:function(){return console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.usage===nt},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(nt)}}}),sn.prototype.setDynamic=function(t){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===t?nt:et),this},sn.prototype.copyIndicesArray=function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},sn.prototype.setArray=function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},En.prototype.addIndex=function(t){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(t)},En.prototype.addAttribute=function(t,e){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),e&&e.isBufferAttribute||e&&e.isInterleavedBufferAttribute?"index"===t?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(e),this):this.setAttribute(t,e):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(t,new sn(arguments[1],arguments[2])))},En.prototype.addDrawCall=function(t,e,n){void 0!==n&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(t,e)},En.prototype.clearDrawCalls=function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},En.prototype.computeOffsets=function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")},En.prototype.removeAttribute=function(t){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(t)},En.prototype.applyMatrix=function(t){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(t)},Object.defineProperties(En.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Es.prototype.setDynamic=function(t){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===t?nt:et),this},Es.prototype.setArray=function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},go.prototype.getArrays=function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")},go.prototype.addShapeList=function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")},go.prototype.addShape=function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")},Ts.prototype.dispose=function(){console.error("THREE.Scene: .dispose() has been removed.")},Zc.prototype.onUpdate=function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this},Object.defineProperties(Xe.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new tn}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(t){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===t}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(t){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=t}}}),Object.defineProperties(Jn.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(t){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=t}}}),ws.prototype.clearTarget=function(t,e,n,i){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(t),this.clear(e,n,i)},ws.prototype.animate=function(t){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(t)},ws.prototype.getCurrentRenderTarget=function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},ws.prototype.getMaxAnisotropy=function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},ws.prototype.getPrecision=function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},ws.prototype.resetGLState=function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},ws.prototype.supportsFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},ws.prototype.supportsHalfFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},ws.prototype.supportsStandardDerivatives=function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},ws.prototype.supportsCompressedTextureS3TC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},ws.prototype.supportsCompressedTexturePVRTC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},ws.prototype.supportsBlendMinMax=function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},ws.prototype.supportsVertexTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},ws.prototype.supportsInstancedArrays=function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},ws.prototype.enableScissorTest=function(t){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(t)},ws.prototype.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},ws.prototype.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},ws.prototype.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},ws.prototype.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},ws.prototype.setFaceCulling=function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},ws.prototype.allocTextureUnit=function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},ws.prototype.setTexture=function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},ws.prototype.setTexture2D=function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")},ws.prototype.setTextureCube=function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")},ws.prototype.getActiveMipMapLevel=function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()},Object.defineProperties(ws.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=t}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=t}},shadowMapCullFace:{get:function(){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(){return console.warn("THREE.WebGLRenderer: .context has been removed. Use .getContext() instead."),this.getContext()}},vr:{get:function(){return console.warn("THREE.WebGLRenderer: .vr has been renamed to .xr"),this.xr}},gammaInput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead."),!1},set:function(){console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.")}},gammaOutput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),!1},set:function(t){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=!0===t?Y:X}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}}}),Object.defineProperties(us.prototype,{cullFace:{get:function(){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.")},set:function(){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.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(Tt.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=t}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=t}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=t}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=t}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(t){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=t}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(t){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=t}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(t){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=t}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(t){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=t}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(t){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=t}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(t){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=t}}}),Lc.prototype.load=function(t){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");const e=this;return(new vc).load(t,(function(t){e.setBuffer(t)})),this},Ic.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},ti.prototype.updateCubeMap=function(t,e){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(t,e)},ti.prototype.clear=function(t,e,n,i){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(t,e,n,i)},_t.crossOrigin=void 0,_t.loadTexture=function(t,e,n,i){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");const r=new pl;r.setCrossOrigin(this.crossOrigin);const s=r.load(t,n,void 0,i);return e&&(s.mapping=e),s},_t.loadTextureCube=function(t,e,n,i){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");const r=new ul;r.setCrossOrigin(this.crossOrigin);const s=r.load(t,n,void 0,i);return e&&(s.mapping=e),s},_t.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},_t.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};const eu={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")}};"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:e}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=e),t.ACESFilmicToneMapping=4,t.AddEquation=n,t.AddOperation=2,t.AdditiveAnimationBlendMode=q,t.AdditiveBlending=2,t.AlphaFormat=1021,t.AlwaysDepth=1,t.AlwaysStencilFunc=519,t.AmbientLight=$l,t.AmbientLightProbe=xc,t.AnimationClip=nl,t.AnimationLoader=class extends ol{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new cl(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(t,(function(n){try{e(r.parse(JSON.parse(n)))}catch(e){i?i(e):console.error(e),r.manager.itemError(t)}}),n,i)}parse(t){const e=[];for(let n=0;n.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{Sh.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(Sh,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=Lc,t.AudioAnalyser=Ic,t.AudioContext=gc,t.AudioListener=class extends Ce{constructor(){super(),this.type="AudioListener",this.context=gc.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new bc}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(Sc,Tc,Ec),Ac.set(0,0,-1).applyQuaternion(Tc),e.positionX){const t=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(Sc.x,t),e.positionY.linearRampToValueAtTime(Sc.y,t),e.positionZ.linearRampToValueAtTime(Sc.z,t),e.forwardX.linearRampToValueAtTime(Ac.x,t),e.forwardY.linearRampToValueAtTime(Ac.y,t),e.forwardZ.linearRampToValueAtTime(Ac.z,t),e.upX.linearRampToValueAtTime(n.x,t),e.upY.linearRampToValueAtTime(n.y,t),e.upZ.linearRampToValueAtTime(n.z,t)}else e.setPosition(Sc.x,Sc.y,Sc.z),e.setOrientation(Ac.x,Ac.y,Ac.z,n.x,n.y,n.z)}},t.AudioLoader=vc,t.AxesHelper=Ah,t.AxisHelper=function(t){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new Ah(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 dl(t)},t.Bone=ta,t.BooleanKeyframeTrack=Zo,t.BoundingBoxHelper=function(t,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new Mh(t,e)},t.Box2=eh,t.Box3=Pt,t.Box3Helper=class extends ya{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 En;i.setIndex(new sn(n,1)),i.setAttribute("position",new mn([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 ca({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=qn,t.BoxGeometry=qn,t.BoxHelper=Mh,t.BufferAttribute=sn,t.BufferGeometry=En,t.BufferGeometryLoader=oc,t.ByteType=1010,t.Cache=rl,t.Camera=Qn,t.CameraHelper=class extends ya{constructor(t){const e=new En,n=new ca({color:16777215,vertexColors:!0,toneMapped:!1}),i=[],r=[],s={},a=new tn(16755200),o=new tn(16711680),l=new tn(43775),c=new tn(16777215),h=new tn(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 mn(i,3)),e.setAttribute("color",new mn(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;_h.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),wh("c",e,t,_h,0,0,-1),wh("t",e,t,_h,0,0,1),wh("n1",e,t,_h,-1,-1,-1),wh("n2",e,t,_h,1,-1,-1),wh("n3",e,t,_h,-1,1,-1),wh("n4",e,t,_h,1,1,-1),wh("f1",e,t,_h,-1,-1,1),wh("f2",e,t,_h,1,-1,1),wh("f3",e,t,_h,-1,1,1),wh("f4",e,t,_h,1,1,1),wh("u1",e,t,_h,.7,1.1,-1),wh("u2",e,t,_h,-.7,1.1,-1),wh("u3",e,t,_h,0,2,-1),wh("cf1",e,t,_h,-1,0,1),wh("cf2",e,t,_h,1,0,1),wh("cf3",e,t,_h,0,-1,1),wh("cf4",e,t,_h,0,1,1),wh("cn1",e,t,_h,-1,0,-1),wh("cn2",e,t,_h,1,0,-1),wh("cn3",e,t,_h,0,-1,-1),wh("cn4",e,t,_h,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=Ra,t.CatmullRomCurve3=bl,t.CineonToneMapping=3,t.CircleBufferGeometry=Pa,t.CircleGeometry=Pa,t.ClampToEdgeWrapping=u,t.Clock=bc,t.Color=tn,t.ColorKeyframeTrack=Jo,t.CompressedTexture=La,t.CompressedTextureLoader=class extends ol{constructor(t){super(t)}load(t,e,n,i){const r=this,s=[],a=new La,o=new cl(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=al,t.DepthFormat=A,t.DepthStencilFormat=L,t.DepthTexture=Ca,t.DirectionalLight=Kl,t.DirectionalLightHelper=class extends Ce{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 En;i.setAttribute("position",new mn([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));const r=new ca({fog:!1,toneMapped:!1});this.lightPlane=new fa(i,r),this.add(this.lightPlane),i=new En,i.setAttribute("position",new mn([0,0,0,0,0,1],3)),this.targetLine=new fa(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(){gh.setFromMatrixPosition(this.light.matrixWorld),vh.setFromMatrixPosition(this.light.target.matrixWorld),yh.subVectors(vh,gh),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=yh.length()}},t.DiscreteInterpolant=Xo,t.DodecahedronBufferGeometry=Ba,t.DodecahedronGeometry=Ba,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 sn(t,e).setUsage(nt)},t.DynamicCopyUsage=35050,t.DynamicDrawUsage=nt,t.DynamicReadUsage=35049,t.EdgesGeometry=Ga,t.EdgesHelper=function(t,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new ya(new Ga(t.geometry),new ca({color:void 0!==e?e:16777215}))},t.EllipseCurve=fl,t.EqualDepth=4,t.EqualStencilFunc=514,t.EquirectangularReflectionMapping=a,t.EquirectangularRefractionMapping=o,t.Euler=fe,t.EventDispatcher=rt,t.ExtrudeBufferGeometry=go,t.ExtrudeGeometry=go,t.FaceColors=1,t.FileLoader=cl,t.FlatShading=1,t.Float16BufferAttribute=pn,t.Float32Attribute=function(t,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new mn(t,e)},t.Float32BufferAttribute=mn,t.Float64Attribute=function(t,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new fn(t,e)},t.Float64BufferAttribute=fn,t.FloatType=b,t.Fog=Ss,t.FogExp2=Ms,t.Font=pc,t.FontLoader=class extends ol{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new cl(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 pc(t)}},t.FrontSide=0,t.Frustum=ai,t.GLBufferAttribute=Qc,t.GLSL1="100",t.GLSL3=it,t.GammaEncoding=Z,t.GreaterDepth=6,t.GreaterEqualDepth=5,t.GreaterEqualStencilFunc=518,t.GreaterStencilFunc=516,t.GridHelper=fh,t.Group=gs,t.HalfFloatType=M,t.HemisphereLight=Ol,t.HemisphereLightHelper=class extends Ce{constructor(t,e,n){super(),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=n;const i=new _o(e);i.rotateY(.5*Math.PI),this.material=new en({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 sn(s,3)),this.add(new Wn(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");ph.copy(this.light.color),mh.copy(this.light.groundColor);for(let t=0,n=e.count;t0){const n=new sl(e);r=new hl(n),r.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;e\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})}(Ih),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,i=100){kh=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=Kh(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){null===this._equirectShader&&(this._equirectShader=Qh(),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?Ch:0,Ch,Ch),o.setRenderTarget(i),u&&o.render(zh,r),o.render(t,r)}o.toneMapping=h,o.outputEncoding=c,o.autoClear=l}_textureToCubeUV(t,e){const n=this._renderer;t.isCubeTexture?null==this._cubemapShader&&(this._cubemapShader=Kh()):null==this._equirectShader&&(this._equirectShader=Qh());const i=t.isCubeTexture?this._cubemapShader:this._equirectShader,r=new Wn(Oh[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=Nh[t.encoding],s.outputEncoding.value=Nh[e.texture.encoding],Jh(e,0,0,3*Ch,2*Ch),n.setRenderTarget(e),n.render(r,Fh)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let e=1;eIh&&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,Fh)}},t.ParametricBufferGeometry=wo,t.ParametricGeometry=wo,t.Particle=function(t){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new Vs(t)},t.ParticleBasicMaterial=function(t){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new _a(t)},t.ParticleSystem=function(t,e){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Ta(t,e)},t.ParticleSystemMaterial=function(t){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new _a(t)},t.Path=Bl,t.PerspectiveCamera=Kn,t.Plane=Ne,t.PlaneBufferGeometry=ci,t.PlaneGeometry=ci,t.PlaneHelper=class extends fa{constructor(t,e=1,n=16776960){const i=n,r=new En;r.setAttribute("position",new mn([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],3)),r.computeBoundingSphere(),super(r,new ca({color:i,toneMapped:!1})),this.type="PlaneHelper",this.plane=t,this.size=e;const s=new En;s.setAttribute("position",new mn([1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1],3)),s.computeBoundingSphere(),this.add(new Wn(s,new en({color:i,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}updateMatrixWorld(t){let e=-this.plane.constant;Math.abs(e)<1e-8&&(e=1e-8),this.scale.set(.5*this.size,.5*this.size,e),this.children[0].material.side=e<0?1:0,this.lookAt(this.plane.normal),super.updateMatrixWorld(t)}},t.PointCloud=function(t,e){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Ta(t,e)},t.PointCloudMaterial=function(t){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new _a(t)},t.PointLight=Zl,t.PointLightHelper=class extends Wn{constructor(t,e,n){super(new So(e,4,2),new en({wireframe:!0,fog:!1,toneMapped:!1})),this.light=t,this.light.updateMatrixWorld(),this.color=n,this.type="PointLightHelper",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)}},t.Points=Ta,t.PointsMaterial=_a,t.PolarGridHelper=class extends ya{constructor(t=10,e=16,n=8,i=64,r=4473924,s=8947848){r=new tn(r),s=new tn(s);const a=[],o=[];for(let n=0;n<=e;n++){const i=n/e*(2*Math.PI),l=Math.sin(i)*t,c=Math.cos(i)*t;a.push(0,0,0),a.push(l,0,c);const h=1&n?r:s;o.push(h.r,h.g,h.b),o.push(h.r,h.g,h.b)}for(let e=0;e<=n;e++){const l=1&e?r:s,c=t-t/n*e;for(let t=0;t float: + return delta.total_seconds() * 1000 + +def process_packets(imuPackets, ctx: Context): + for imuPacket in imuPackets: + # Read Values + acceleroValues = imuPacket.acceleroMeter + gyroValues = imuPacket.gyroscope + + # Read timestamps + acceleroTs = acceleroValues.getTimestampDevice() + gyroTs = gyroValues.getTimestampDevice() + + if ctx.baseTs is None: + ctx.baseTs = acceleroTs if acceleroTs < gyroTs else gyroTs + + # Compute degree values for acc - offset + acceleroTs = timeDeltaToMilliS(acceleroTs - ctx.baseTs) + accAngleX = math.atan2(acceleroValues.y, acceleroValues.z) * 180 / math.pi - ctx.acc_offset[0] + accAngleY = math.atan2(acceleroValues.z, acceleroValues.x) * 180 / math.pi - ctx.acc_offset[1] + elapsed_time_acc = acceleroTs - ctx.current_time_acc + ctx.current_time_acc = acceleroTs + + # Rad/s -> degree/s conversion + gyroTs = timeDeltaToMilliS(gyroTs - ctx.baseTs) + GyroX = (gyroValues.x * 180 / math.pi) + GyroY = (gyroValues.y * 180 / math.pi) + GyroZ = (gyroValues.z * 180 / math.pi) + + elapsed_time_gyro = gyroTs - ctx.current_time_gyro + ctx.current_time_gyro = gyroTs + + # Degree/s -> degree conversion for current time + ctx.gyroAngleX += GyroX * (elapsed_time_gyro / 1000) + ctx.gyroAngleY += GyroY * (elapsed_time_gyro / 1000) + ctx.gyroAngleZ += GyroZ * (elapsed_time_gyro / 1000) + + # Gyro reset on +-360 degrees (gyro overflow elimination) + if GyroX == 360 or GyroX == -360: + GyroX = 0 + + # Acc/Gyro angle reset + # X coordinate + if -200 <= int(ctx.gyroAngleX - accAngleX) < -160: + accAngleX = accAngleX - 180 + if 200 >= int(ctx.gyroAngleX - accAngleX) > 160: + accAngleX = accAngleX + 180 + + if int(ctx.gyroAngleX - accAngleX) < -300: + accAngleX = accAngleX - 360 + if int(ctx.gyroAngleX - accAngleX) > 300: + accAngleX = accAngleX + 360 + + # Y coordinate + if GyroY == 360 or GyroY == -360: + GyroY = 0 + + if -200 <= int(ctx.gyroAngleY - accAngleY) < -160: + accAngleY = accAngleY - 180 + if 200 >= int(ctx.gyroAngleY - accAngleY) > 160: + accAngleY = accAngleY + 180 + + if int(ctx.gyroAngleY - accAngleY) < -300: + accAngleY = accAngleY - 360 + if int(ctx.gyroAngleY - accAngleY) > 300: + accAngleY = accAngleY + 360 + + # Read value from calman filter + accAngleX_k = ctx.accAngleX_kalman.getAngle(accAngleX, GyroX, elapsed_time_acc / 1000)[0] + accAngleY_k = ctx.accAngleY_kalman.getAngle(accAngleY, GyroY, elapsed_time_acc / 1000)[0] + + # Use complementary filter + # Use complementary filter if difference between Gyro and Acc angle < 10 + if abs(ctx.gyroAngleY - accAngleY_k) < 10: + pitch = 0.9 * ctx.gyroAngleY + (0.1 * accAngleY_k) + else: + pitch = ctx.gyroAngleY + + if abs(ctx.gyroAngleX - accAngleX_k) < 10: + roll = 0.9 * ctx.gyroAngleX + (0.1 * accAngleX_k) + else: + roll = ctx.gyroAngleX + + # Compute yaw in degrees + ctx.yaw += GyroZ * (elapsed_time_acc / 1000) + # print("GA-X: " + str(gyroAngleX) + " A-X: " + str(accAngleX_k)) + # print("GA-Y: " + str(gyroAngleY) + " A-Y: " + str(accAngleY_k)) + + # Reset the gyro angle when it has drifted too much in X=0,Y=0 position + if ((5 < abs(ctx.gyroAngleX - accAngleX_k)) or (5 < abs(ctx.gyroAngleY - accAngleY_k))) and 0 <= abs(int(accAngleX_k)) < 2 and 0 <= abs(int(accAngleY_k)) < 2: + ctx.gyroAngleX = accAngleX_k.copy() + ctx.gyroAngleY = accAngleY_k.copy() + ctx.yaw = 0 + + ctx.pitch_buffer.append(pitch) + ctx.yaw_buffer.append(ctx.yaw) + ctx.roll_buffer.append(roll) + + pitch = np.mean(ctx.pitch_buffer) + ctx.yaw = np.mean(ctx.yaw) + roll = np.mean(roll) + + return [math.radians(np.round(-pitch, 0)), + math.radians(np.round(-ctx.yaw, 0)), + math.radians(np.round(-roll, 0)), + ] + # Rotation transformation + # if (85 <= abs(int(pitch)) < 180 or 265 <= abs(int(pitch)) < 360) and not 85 < abs(int(roll)) < 95: + # return [math.radians(np.round(-pitch, 0)), + # math.radians(np.round(-roll, 0)), + # math.radians(np.round(-ctx.yaw, 0)) + # ] + # else: + # return [math.radians(np.round(-pitch, 0)), + # math.radians(np.round(-ctx.yaw, 0)), + # math.radians(np.round(-roll, 0)), + # ] + # return + # print("Pitch: " + str(-pitch)) + # print("Yaw: " + str(-ctx.yaw)) + # print("Roll: " + str(-roll)) + + # # Rotation transformation + # if (85 <= abs(int(pitch)) < 180 or 265 <= abs(int(pitch)) < 360) and not 85 < abs(int(roll)) < 95: + # camera.rotate([1, 0, 0], math.radians(np.round(-pitch, 0))) + # camera.rotate([0, 1, 0], math.radians(np.round(-roll, 0))) + # camera.rotate([0, 0, 1], math.radians(np.round(-ctx.yaw, 0))) + # else: + # camera.rotate([1, 0, 0], math.radians(np.round(-pitch, 0))) + # camera.rotate([0, 1, 0], math.radians(np.round(-ctx.yaw, 0))) + # camera.rotate([0, 0, 1], math.radians(np.round(-roll, 0))) + + # mp.vectors = camera.vectors \ No newline at end of file diff --git a/robothub-oak/Camera App/kalman.py b/robothub-oak/Camera App/kalman.py new file mode 100644 index 0000000..9cf7745 --- /dev/null +++ b/robothub-oak/Camera App/kalman.py @@ -0,0 +1,60 @@ +import numpy as np + +class Kalman(object): + + def __init__(self, Q_angle=0.001, Q_bias=0.003, R_measure=0.03): + self.Q_angle = Q_angle + self.Q_bias = Q_bias + self.R_measure = R_measure + + self.angle = 0 + self.bias = 0 + + self.P = np.zeros((2, 2)) + self.K = np.zeros((2, 1)) + self.P[0][0] = 0 + self.P[0][1] = 0 + self.P[1][0] = 0 + self.P[1][1] = 0 + + def getAngle(self, newAngle, newRate, dt): + """ + :param newAngle: Angle from ACC in degrees + :param newRate: Angle from Gyro in degrees/s + :param dt: delta time in seconds + """ + + # Discrete Kalman filter time update equations - Time Update ("Predict") + self.rate = newRate - self.bias + self.angle += dt * self.rate + + # Update estimation error covariance - Project the error covariance ahead + self.P[0][0] += dt * (dt * self.P[1][1] - self.P[0][1] - self.P[1][0] + self.Q_angle) + self.P[0][1] -= dt * self.P[1][1] + self.P[1][0] -= dt * self.P[1][1] + self.P[1][1] += self.Q_bias * dt + + # Discrete Kalman filter measurement update equations - Measurement Update ("Correct") + # Calculate Kalman gain - Compute the Kalman gain + S = self.P[0][0] + self.R_measure + self.K[0] = self.P[0][0] / S + self.K[1] = self.P[1][0] / S + + # Calculate angle and bias - Update estimate with measurement zk (newAngle) + y = newAngle - self.angle + self.angle += self.K[0] * y + self.bias += self.K[1] * y + + # Calculate estimation error covariance - Update the error covariance + self.P[0][0] -= self.K[0] * self.P[0][0] + self.P[0][1] -= self.K[0] * self.P[0][1] + self.P[1][0] -= self.K[1] * self.P[0][0] + self.P[1][1] -= self.K[1] * self.P[0][1] + + return self.angle + + def setAngle(self, newAngle): + self.angle = newAngle + + def getRate(self): + return self.rate \ No newline at end of file diff --git a/robothub-oak/Camera App/mod.py b/robothub-oak/Camera App/mod.py new file mode 100644 index 0000000..d61330b --- /dev/null +++ b/robothub-oak/Camera App/mod.py @@ -0,0 +1,97 @@ +from http.server import BaseHTTPRequestHandler, HTTPServer +from robothub_oak.components.stereo import Stereo +from robothub_oak.components.camera import Camera +from robothub_oak.commands import Command +from robothub_oak.device import Device +from pointcloud import Pointcloud +import threading +import json +from imu import Context, calculate_IMU_offset_step, process_packets + +class IMURequestHandler(BaseHTTPRequestHandler): + def log_message(self, format, *args): + return + + def end_headers(self): + self.send_header('Access-Control-Allow-Origin', '*') + self.send_header('Access-Control-Allow-Methods', 'GET') + self.send_header('Access-Control-Allow-Headers', 'Content-Type') + super().end_headers() + def do_GET(self): + data = json.dumps(self.server.data).encode('utf-8') + if self.path == '/imu': + self.send_response(200) + self.send_header('Content-type','application/octet-stream') + self.end_headers() + self.wfile.write(data) + else: + self.send_response(404) + +class PCHTTPServer(HTTPServer): + def __init__(self, *args, data=None, **kwargs): + self.data = data + super().__init__(*args, **kwargs) + + def shutdown(self): + self.socket.close() + HTTPServer.shutdown(self) + + +class CreatePointcloudCommand(Command): + def __init__(self, device: 'Device', color: Camera, stereo: Stereo, pointcloud: Pointcloud) -> None: + super().__init__(device=device) + self._pointcloud = pointcloud + self._color = color + self._stereo = stereo + + def execute(self): + server = PCHTTPServer(('', 38155), IMURequestHandler) + server.data = { + "pitch": 0, + "yaw": 0, + "roll": 0 + } + server_thread = threading.Thread(target=server.serve_forever) + server_thread.start() + + oak = self.hub_camera.oak_camera + imu = oak.create_imu() + imu.config_imu(report_rate=10, batch_report_threshold=2) + print(oak.device.getConnectedIMU()) + + # Set the init values + Iter = 0 + + ctx = Context() + + def callback(imuData): + nonlocal Iter, ctx, server + Iter += 1 + if Iter < ctx.Samples: + calculate_IMU_offset_step(imuData.data, ctx) + print(ctx.GyroErrorX, ctx.GyroErrorY, ctx.GyroErrorZ) + elif Iter == ctx.Samples: + ctx.finish_IMU_offset() + else: + server.data["pitch"], server.data["yaw"], server.data["roll"] = process_packets(imuData.data, ctx) + # with open("/public/test.txt", 'w') as file: + # pitch, yaw, roll = process_packets(imuData.data, ctx) + # file.write(f'{{"pitch": {pitch}, "yaw": {yaw}, "roll": {roll}}}') + + + self.hub_camera.callback(imu, callback=callback) + self._pointcloud.configure_camera(self._color.camera_component.node) + self._pointcloud.configure_device(self.hub_camera.device) + + self.hub_camera.callback(self._color.camera_component.out.camera, lambda packet: self._pointcloud.add_color(packet.frame)) + self.hub_camera.callback(self._stereo.stereo_component.out.depth, lambda packet: self._pointcloud.add_depth(packet.frame)) + + def get_component(self) -> Pointcloud: + return self._pointcloud + +def get_pointcloud(self, color: Camera, stereo: Stereo) -> Pointcloud: + pointcloud = Pointcloud() + self._command_history.push(CreatePointcloudCommand(self, color, stereo, pointcloud)) + return pointcloud + +setattr(Device, "get_pointcloud", get_pointcloud) \ No newline at end of file diff --git a/robothub-oak/Camera App/pointcloud.py b/robothub-oak/Camera App/pointcloud.py new file mode 100644 index 0000000..2b32d24 --- /dev/null +++ b/robothub-oak/Camera App/pointcloud.py @@ -0,0 +1,168 @@ +from http.server import BaseHTTPRequestHandler, HTTPServer +import multiprocessing as mp +import depthai as dai +import numpy as np +import importlib +import traceback +import threading +import logging +import time +import cv2 + +try: + importlib.import_module('open3d') +except ImportError: + import subprocess + subprocess.check_call(['pip', 'install', 'open3d']) + +import open3d as o3d + +class PCRequestHandler(BaseHTTPRequestHandler): + def log_message(self, format, *args): + return + + def end_headers(self): + self.send_header('Access-Control-Allow-Origin', '*') + self.send_header('Access-Control-Allow-Methods', 'GET') + self.send_header('Access-Control-Allow-Headers', 'Content-Type') + super().end_headers() + def do_GET(self): + data = self.server.data + if self.path == '/pointcloud': + self.send_response(200) + self.send_header('Content-type','application/octet-stream') + self.end_headers() + self.wfile.write(data) + else: + self.send_response(404) + +class PCHTTPServer(HTTPServer): + def __init__(self, *args, data=None, **kwargs): + self.data = data + super().__init__(*args, **kwargs) + + def shutdown(self): + self.socket.close() + HTTPServer.shutdown(self) + +def work(intrinsics, resolution, camToWorld, stopEvent: mp.Event, colorQueue: mp.Queue, depthQueue: mp.Queue): + server = PCHTTPServer(('', 38154), PCRequestHandler) + server.data = bytes(0) + server_thread = threading.Thread(target=server.serve_forever) + server_thread.start() + pinholeCameraIntrinsic = o3d.camera.PinholeCameraIntrinsic( + resolution[0], + resolution[1], + intrinsics[0][0], + intrinsics[1][1], + intrinsics[0][2], + intrinsics[1][2]) + + lastFrame = time.time() + + while not stopEvent.is_set(): + try: + if colorQueue.empty() or depthQueue.empty(): + stopEvent.wait(timeout=0.01) + continue + + if time.time() - lastFrame < 1/20: + continue + lastFrame = time.time() + + colorImage, depthImage = colorQueue.get(), depthQueue.get() + + rgbd_image = o3d.geometry.RGBDImage.create_from_color_and_depth( + o3d.geometry.Image(cv2.cvtColor(colorImage, cv2.COLOR_BGR2RGB)), + o3d.geometry.Image(depthImage), + convert_rgb_to_intensity=False, + depth_trunc=20000, + depth_scale=1000.0 + ) + + pcd = o3d.geometry.PointCloud.create_from_rgbd_image(rgbd_image, pinholeCameraIntrinsic) + + # downsample + pcd = pcd.voxel_down_sample(voxel_size=0.015) + + # remove_noise + pcd = pcd.remove_statistical_outlier(30, 0.1)[0] + + # Rotate to sit along the -Z Axis + pcd.rotate(camToWorld, center=np.array([0,0,0],dtype=np.float64)) + + server.data = np.concatenate((np.asarray(pcd.points, dtype=np.float64).astype(np.float32), np.asarray(pcd.colors, dtype=np.float64).astype(np.float32))).tobytes() + + except KeyboardInterrupt: + stopEvent.set() + except BaseException as e: + logging.error(f"Exception occured in worker thread, {e}") + traceback.print_exc() + logging.info("Worker finished") + server.shutdown() + server_thread.join() + +class Worker: + def __init__(self, intrinsics, resolution, camToWorld): + self._colorQueue = mp.Queue() + self._depthQueue = mp.Queue() + self._stopEvent = mp.Event() + self._process = mp.Process(target=work, args=(intrinsics, resolution, camToWorld, self._stopEvent, self._colorQueue, self._depthQueue,)) + self._process.start() + + def __del__(self): + self._stopEvent.set() + if self._process.is_alive(): + self._process.join() + self._process.close() + + def add(self, colorImage, depthImage): + if self._colorQueue.empty() and self._depthQueue.empty(): + self._colorQueue.put(colorImage) + self._depthQueue.put(depthImage) + +class Pointcloud: + def __init__(self, fps=15): + self._fps = fps + self._res = (0,0) + self._calibData = None + self._intrinsics = None + self._pinholeCameraIntrinsic = None + self._camToWorld = np.array([ + [-2, 0, 0], + [ 0,-2, 0], + [ 0, 0, 2]]).astype(np.float64) + + self._frame = 0 + self._workers: list[Worker] = [] + + self._colorFrame = [] + self._depthFrame = [] + + def __del__(self): + for worker in self._workers: + worker._stopEvent.set() + + def _create_pc(self): + if len(self._colorFrame) == 0 or len(self._depthFrame) == 0: + return + + self._workers[0].add(self._colorFrame, self._depthFrame) + self._colorFrame = [] + self._depthFrame = [] + + def configure_camera(self, camera: dai.node.ColorCamera): + self._res = camera.getVideoSize() + + def configure_device(self, device: dai.Device): + self._calibData = device.readCalibration() + self._intrinsics = self._calibData.getCameraIntrinsics(dai.CameraBoardSocket.RGB, dai.Size2f(self._res[0], self._res[1])) + self._workers.append(Worker(self._intrinsics, self._res, self._camToWorld)) + + def add_color(self, colorFrame: np.ndarray): + self._colorFrame = colorFrame + self._create_pc() + + def add_depth(self, depthFrame: np.ndarray): + self._depthFrame = depthFrame + self._create_pc() \ No newline at end of file