{"ast":null,"code":"'use strict';\n\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar Info = _createClass(function Info() {\n _classCallCheck(this, Info);\n this.any_blank_count = 0;\n this.any_blank_ms = 0;\n this.any_blank_speed_sum = 0;\n this.mostly_blank_count = 0;\n this.mostly_blank_ms = 0;\n this.pixels_blank = 0;\n this.pixels_sampled = 0;\n this.pixels_scrolled = 0;\n this.total_time_spent = 0;\n this.sample_count = 0;\n});\nvar DEBUG = false;\nvar _listeners = [];\nvar _minSampleCount = 10;\nvar _sampleRate = DEBUG ? 1 : null;\nvar FillRateHelper = function () {\n function FillRateHelper(getFrameMetrics) {\n _classCallCheck(this, FillRateHelper);\n this._anyBlankStartTime = null;\n this._enabled = false;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n this._getFrameMetrics = getFrameMetrics;\n this._enabled = (_sampleRate || 0) > Math.random();\n this._resetData();\n }\n _createClass(FillRateHelper, [{\n key: \"activate\",\n value: function activate() {\n if (this._enabled && this._samplesStartTime == null) {\n DEBUG && console.debug('FillRateHelper: activate');\n this._samplesStartTime = global.performance.now();\n }\n }\n }, {\n key: \"deactivateAndFlush\",\n value: function deactivateAndFlush() {\n if (!this._enabled) {\n return;\n }\n var start = this._samplesStartTime;\n if (start == null) {\n DEBUG && console.debug('FillRateHelper: bail on deactivate with no start time');\n return;\n }\n if (this._info.sample_count < _minSampleCount) {\n this._resetData();\n return;\n }\n var total_time_spent = global.performance.now() - start;\n var info = _objectSpread(_objectSpread({}, this._info), {}, {\n total_time_spent: total_time_spent\n });\n if (DEBUG) {\n var derived = {\n avg_blankness: this._info.pixels_blank / this._info.pixels_sampled,\n avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000),\n avg_speed_when_any_blank: this._info.any_blank_speed_sum / this._info.any_blank_count,\n any_blank_per_min: this._info.any_blank_count / (total_time_spent / 1000 / 60),\n any_blank_time_frac: this._info.any_blank_ms / total_time_spent,\n mostly_blank_per_min: this._info.mostly_blank_count / (total_time_spent / 1000 / 60),\n mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent\n };\n for (var key in derived) {\n derived[key] = Math.round(1000 * derived[key]) / 1000;\n }\n console.debug('FillRateHelper deactivateAndFlush: ', {\n derived: derived,\n info: info\n });\n }\n _listeners.forEach(function (listener) {\n return listener(info);\n });\n this._resetData();\n }\n }, {\n key: \"computeBlankness\",\n value: function computeBlankness(props, state, scrollMetrics) {\n if (!this._enabled || props.getItemCount(props.data) === 0 || this._samplesStartTime == null) {\n return 0;\n }\n var dOffset = scrollMetrics.dOffset,\n offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength;\n this._info.sample_count++;\n this._info.pixels_sampled += Math.round(visibleLength);\n this._info.pixels_scrolled += Math.round(Math.abs(dOffset));\n var scrollSpeed = Math.round(Math.abs(velocity) * 1000);\n var now = global.performance.now();\n if (this._anyBlankStartTime != null) {\n this._info.any_blank_ms += now - this._anyBlankStartTime;\n }\n this._anyBlankStartTime = null;\n if (this._mostlyBlankStartTime != null) {\n this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;\n }\n this._mostlyBlankStartTime = null;\n var blankTop = 0;\n var first = state.first;\n var firstFrame = this._getFrameMetrics(first);\n while (first <= state.last && (!firstFrame || !firstFrame.inLayout)) {\n firstFrame = this._getFrameMetrics(first);\n first++;\n }\n if (firstFrame && first > 0) {\n blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset));\n }\n var blankBottom = 0;\n var last = state.last;\n var lastFrame = this._getFrameMetrics(last);\n while (last >= state.first && (!lastFrame || !lastFrame.inLayout)) {\n lastFrame = this._getFrameMetrics(last);\n last--;\n }\n if (lastFrame && last < props.getItemCount(props.data) - 1) {\n var bottomEdge = lastFrame.offset + lastFrame.length;\n blankBottom = Math.min(visibleLength, Math.max(0, offset + visibleLength - bottomEdge));\n }\n var pixels_blank = Math.round(blankTop + blankBottom);\n var blankness = pixels_blank / visibleLength;\n if (blankness > 0) {\n this._anyBlankStartTime = now;\n this._info.any_blank_speed_sum += scrollSpeed;\n this._info.any_blank_count++;\n this._info.pixels_blank += pixels_blank;\n if (blankness > 0.5) {\n this._mostlyBlankStartTime = now;\n this._info.mostly_blank_count++;\n }\n } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) {\n this.deactivateAndFlush();\n }\n return blankness;\n }\n }, {\n key: \"enabled\",\n value: function enabled() {\n return this._enabled;\n }\n }, {\n key: \"_resetData\",\n value: function _resetData() {\n this._anyBlankStartTime = null;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n }\n }], [{\n key: \"addListener\",\n value: function addListener(callback) {\n if (_sampleRate === null) {\n console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');\n }\n _listeners.push(callback);\n return {\n remove: function remove() {\n _listeners = _listeners.filter(function (listener) {\n return callback !== listener;\n });\n }\n };\n }\n }, {\n key: \"setSampleRate\",\n value: function setSampleRate(sampleRate) {\n _sampleRate = sampleRate;\n }\n }, {\n key: \"setMinSampleCount\",\n value: function setMinSampleCount(minSampleCount) {\n _minSampleCount = minSampleCount;\n }\n }]);\n return FillRateHelper;\n}();\nexport default FillRateHelper;","map":{"version":3,"names":["_objectSpread","Info","any_blank_count","any_blank_ms","any_blank_speed_sum","mostly_blank_count","mostly_blank_ms","pixels_blank","pixels_sampled","pixels_scrolled","total_time_spent","sample_count","DEBUG","_listeners","_minSampleCount","_sampleRate","FillRateHelper","getFrameMetrics","_anyBlankStartTime","_enabled","_info","_mostlyBlankStartTime","_samplesStartTime","_getFrameMetrics","Math","random","_resetData","console","debug","global","performance","now","start","info","derived","avg_blankness","avg_speed","avg_speed_when_any_blank","any_blank_per_min","any_blank_time_frac","mostly_blank_per_min","mostly_blank_time_frac","key","round","forEach","listener","props","state","scrollMetrics","getItemCount","data","dOffset","offset","velocity","visibleLength","abs","scrollSpeed","blankTop","first","firstFrame","last","inLayout","min","max","blankBottom","lastFrame","bottomEdge","length","blankness","deactivateAndFlush","callback","warn","push","remove","filter","sampleRate","minSampleCount"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/vendor/react-native/FillRateHelper/index.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n\nclass Info {\n constructor() {\n this.any_blank_count = 0;\n this.any_blank_ms = 0;\n this.any_blank_speed_sum = 0;\n this.mostly_blank_count = 0;\n this.mostly_blank_ms = 0;\n this.pixels_blank = 0;\n this.pixels_sampled = 0;\n this.pixels_scrolled = 0;\n this.total_time_spent = 0;\n this.sample_count = 0;\n }\n\n}\n\nvar DEBUG = false;\nvar _listeners = [];\nvar _minSampleCount = 10;\n\nvar _sampleRate = DEBUG ? 1 : null;\n/**\n * A helper class for detecting when the maximem fill rate of `VirtualizedList` is exceeded.\n * By default the sampling rate is set to zero and this will do nothing. If you want to collect\n * samples (e.g. to log them), make sure to call `FillRateHelper.setSampleRate(0.0-1.0)`.\n *\n * Listeners and sample rate are global for all `VirtualizedList`s - typical usage will combine with\n * `SceneTracker.getActiveScene` to determine the context of the events.\n */\n\n\nclass FillRateHelper {\n static addListener(callback) {\n if (_sampleRate === null) {\n console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');\n }\n\n _listeners.push(callback);\n\n return {\n remove: () => {\n _listeners = _listeners.filter(listener => callback !== listener);\n }\n };\n }\n\n static setSampleRate(sampleRate) {\n _sampleRate = sampleRate;\n }\n\n static setMinSampleCount(minSampleCount) {\n _minSampleCount = minSampleCount;\n }\n\n constructor(getFrameMetrics) {\n this._anyBlankStartTime = null;\n this._enabled = false;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n this._getFrameMetrics = getFrameMetrics;\n this._enabled = (_sampleRate || 0) > Math.random();\n\n this._resetData();\n }\n\n activate() {\n if (this._enabled && this._samplesStartTime == null) {\n DEBUG && console.debug('FillRateHelper: activate');\n this._samplesStartTime = global.performance.now();\n }\n }\n\n deactivateAndFlush() {\n if (!this._enabled) {\n return;\n }\n\n var start = this._samplesStartTime; // const for flow\n\n if (start == null) {\n DEBUG && console.debug('FillRateHelper: bail on deactivate with no start time');\n return;\n }\n\n if (this._info.sample_count < _minSampleCount) {\n // Don't bother with under-sampled events.\n this._resetData();\n\n return;\n }\n\n var total_time_spent = global.performance.now() - start;\n\n var info = _objectSpread(_objectSpread({}, this._info), {}, {\n total_time_spent\n });\n\n if (DEBUG) {\n var derived = {\n avg_blankness: this._info.pixels_blank / this._info.pixels_sampled,\n avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000),\n avg_speed_when_any_blank: this._info.any_blank_speed_sum / this._info.any_blank_count,\n any_blank_per_min: this._info.any_blank_count / (total_time_spent / 1000 / 60),\n any_blank_time_frac: this._info.any_blank_ms / total_time_spent,\n mostly_blank_per_min: this._info.mostly_blank_count / (total_time_spent / 1000 / 60),\n mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent\n };\n\n for (var key in derived) {\n derived[key] = Math.round(1000 * derived[key]) / 1000;\n }\n\n console.debug('FillRateHelper deactivateAndFlush: ', {\n derived,\n info\n });\n }\n\n _listeners.forEach(listener => listener(info));\n\n this._resetData();\n }\n\n computeBlankness(props, state, scrollMetrics) {\n if (!this._enabled || props.getItemCount(props.data) === 0 || this._samplesStartTime == null) {\n return 0;\n }\n\n var dOffset = scrollMetrics.dOffset,\n offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength; // Denominator metrics that we track for all events - most of the time there is no blankness and\n // we want to capture that.\n\n this._info.sample_count++;\n this._info.pixels_sampled += Math.round(visibleLength);\n this._info.pixels_scrolled += Math.round(Math.abs(dOffset));\n var scrollSpeed = Math.round(Math.abs(velocity) * 1000); // px / sec\n // Whether blank now or not, record the elapsed time blank if we were blank last time.\n\n var now = global.performance.now();\n\n if (this._anyBlankStartTime != null) {\n this._info.any_blank_ms += now - this._anyBlankStartTime;\n }\n\n this._anyBlankStartTime = null;\n\n if (this._mostlyBlankStartTime != null) {\n this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;\n }\n\n this._mostlyBlankStartTime = null;\n var blankTop = 0;\n var first = state.first;\n\n var firstFrame = this._getFrameMetrics(first);\n\n while (first <= state.last && (!firstFrame || !firstFrame.inLayout)) {\n firstFrame = this._getFrameMetrics(first);\n first++;\n } // Only count blankTop if we aren't rendering the first item, otherwise we will count the header\n // as blank.\n\n\n if (firstFrame && first > 0) {\n blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset));\n }\n\n var blankBottom = 0;\n var last = state.last;\n\n var lastFrame = this._getFrameMetrics(last);\n\n while (last >= state.first && (!lastFrame || !lastFrame.inLayout)) {\n lastFrame = this._getFrameMetrics(last);\n last--;\n } // Only count blankBottom if we aren't rendering the last item, otherwise we will count the\n // footer as blank.\n\n\n if (lastFrame && last < props.getItemCount(props.data) - 1) {\n var bottomEdge = lastFrame.offset + lastFrame.length;\n blankBottom = Math.min(visibleLength, Math.max(0, offset + visibleLength - bottomEdge));\n }\n\n var pixels_blank = Math.round(blankTop + blankBottom);\n var blankness = pixels_blank / visibleLength;\n\n if (blankness > 0) {\n this._anyBlankStartTime = now;\n this._info.any_blank_speed_sum += scrollSpeed;\n this._info.any_blank_count++;\n this._info.pixels_blank += pixels_blank;\n\n if (blankness > 0.5) {\n this._mostlyBlankStartTime = now;\n this._info.mostly_blank_count++;\n }\n } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) {\n this.deactivateAndFlush();\n }\n\n return blankness;\n }\n\n enabled() {\n return this._enabled;\n }\n\n _resetData() {\n this._anyBlankStartTime = null;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n }\n\n}\n\nexport default FillRateHelper;"],"mappings":"AASA,YAAY;;AAAC;AAAA;AAEb,OAAOA,aAAa,MAAM,sCAAsC;AAAC,IAE3DC,IAAI,gBACR,gBAAc;EAAA;EACZ,IAAI,CAACC,eAAe,GAAG,CAAC;EACxB,IAAI,CAACC,YAAY,GAAG,CAAC;EACrB,IAAI,CAACC,mBAAmB,GAAG,CAAC;EAC5B,IAAI,CAACC,kBAAkB,GAAG,CAAC;EAC3B,IAAI,CAACC,eAAe,GAAG,CAAC;EACxB,IAAI,CAACC,YAAY,GAAG,CAAC;EACrB,IAAI,CAACC,cAAc,GAAG,CAAC;EACvB,IAAI,CAACC,eAAe,GAAG,CAAC;EACxB,IAAI,CAACC,gBAAgB,GAAG,CAAC;EACzB,IAAI,CAACC,YAAY,GAAG,CAAC;AACvB,CAAC;AAIH,IAAIC,KAAK,GAAG,KAAK;AACjB,IAAIC,UAAU,GAAG,EAAE;AACnB,IAAIC,eAAe,GAAG,EAAE;AAExB,IAAIC,WAAW,GAAGH,KAAK,GAAG,CAAC,GAAG,IAAI;AAAC,IAW7BI,cAAc;EAuBlB,wBAAYC,eAAe,EAAE;IAAA;IAC3B,IAAI,CAACC,kBAAkB,GAAG,IAAI;IAC9B,IAAI,CAACC,QAAQ,GAAG,KAAK;IACrB,IAAI,CAACC,KAAK,GAAG,IAAInB,IAAI,EAAE;IACvB,IAAI,CAACoB,qBAAqB,GAAG,IAAI;IACjC,IAAI,CAACC,iBAAiB,GAAG,IAAI;IAC7B,IAAI,CAACC,gBAAgB,GAAGN,eAAe;IACvC,IAAI,CAACE,QAAQ,GAAG,CAACJ,WAAW,IAAI,CAAC,IAAIS,IAAI,CAACC,MAAM,EAAE;IAElD,IAAI,CAACC,UAAU,EAAE;EACnB;EAAC;IAAA;IAAA,OAED,oBAAW;MACT,IAAI,IAAI,CAACP,QAAQ,IAAI,IAAI,CAACG,iBAAiB,IAAI,IAAI,EAAE;QACnDV,KAAK,IAAIe,OAAO,CAACC,KAAK,CAAC,0BAA0B,CAAC;QAClD,IAAI,CAACN,iBAAiB,GAAGO,MAAM,CAACC,WAAW,CAACC,GAAG,EAAE;MACnD;IACF;EAAC;IAAA;IAAA,OAED,8BAAqB;MACnB,IAAI,CAAC,IAAI,CAACZ,QAAQ,EAAE;QAClB;MACF;MAEA,IAAIa,KAAK,GAAG,IAAI,CAACV,iBAAiB;MAElC,IAAIU,KAAK,IAAI,IAAI,EAAE;QACjBpB,KAAK,IAAIe,OAAO,CAACC,KAAK,CAAC,uDAAuD,CAAC;QAC/E;MACF;MAEA,IAAI,IAAI,CAACR,KAAK,CAACT,YAAY,GAAGG,eAAe,EAAE;QAE7C,IAAI,CAACY,UAAU,EAAE;QAEjB;MACF;MAEA,IAAIhB,gBAAgB,GAAGmB,MAAM,CAACC,WAAW,CAACC,GAAG,EAAE,GAAGC,KAAK;MAEvD,IAAIC,IAAI,GAAGjC,aAAa,CAACA,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAACoB,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE;QAC1DV,gBAAgB,EAAhBA;MACF,CAAC,CAAC;MAEF,IAAIE,KAAK,EAAE;QACT,IAAIsB,OAAO,GAAG;UACZC,aAAa,EAAE,IAAI,CAACf,KAAK,CAACb,YAAY,GAAG,IAAI,CAACa,KAAK,CAACZ,cAAc;UAClE4B,SAAS,EAAE,IAAI,CAAChB,KAAK,CAACX,eAAe,IAAIC,gBAAgB,GAAG,IAAI,CAAC;UACjE2B,wBAAwB,EAAE,IAAI,CAACjB,KAAK,CAAChB,mBAAmB,GAAG,IAAI,CAACgB,KAAK,CAAClB,eAAe;UACrFoC,iBAAiB,EAAE,IAAI,CAAClB,KAAK,CAAClB,eAAe,IAAIQ,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;UAC9E6B,mBAAmB,EAAE,IAAI,CAACnB,KAAK,CAACjB,YAAY,GAAGO,gBAAgB;UAC/D8B,oBAAoB,EAAE,IAAI,CAACpB,KAAK,CAACf,kBAAkB,IAAIK,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;UACpF+B,sBAAsB,EAAE,IAAI,CAACrB,KAAK,CAACd,eAAe,GAAGI;QACvD,CAAC;QAED,KAAK,IAAIgC,GAAG,IAAIR,OAAO,EAAE;UACvBA,OAAO,CAACQ,GAAG,CAAC,GAAGlB,IAAI,CAACmB,KAAK,CAAC,IAAI,GAAGT,OAAO,CAACQ,GAAG,CAAC,CAAC,GAAG,IAAI;QACvD;QAEAf,OAAO,CAACC,KAAK,CAAC,qCAAqC,EAAE;UACnDM,OAAO,EAAPA,OAAO;UACPD,IAAI,EAAJA;QACF,CAAC,CAAC;MACJ;MAEApB,UAAU,CAAC+B,OAAO,CAAC,UAAAC,QAAQ;QAAA,OAAIA,QAAQ,CAACZ,IAAI,CAAC;MAAA,EAAC;MAE9C,IAAI,CAACP,UAAU,EAAE;IACnB;EAAC;IAAA;IAAA,OAED,0BAAiBoB,KAAK,EAAEC,KAAK,EAAEC,aAAa,EAAE;MAC5C,IAAI,CAAC,IAAI,CAAC7B,QAAQ,IAAI2B,KAAK,CAACG,YAAY,CAACH,KAAK,CAACI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC5B,iBAAiB,IAAI,IAAI,EAAE;QAC5F,OAAO,CAAC;MACV;MAEA,IAAI6B,OAAO,GAAGH,aAAa,CAACG,OAAO;QAC/BC,MAAM,GAAGJ,aAAa,CAACI,MAAM;QAC7BC,QAAQ,GAAGL,aAAa,CAACK,QAAQ;QACjCC,aAAa,GAAGN,aAAa,CAACM,aAAa;MAG/C,IAAI,CAAClC,KAAK,CAACT,YAAY,EAAE;MACzB,IAAI,CAACS,KAAK,CAACZ,cAAc,IAAIgB,IAAI,CAACmB,KAAK,CAACW,aAAa,CAAC;MACtD,IAAI,CAAClC,KAAK,CAACX,eAAe,IAAIe,IAAI,CAACmB,KAAK,CAACnB,IAAI,CAAC+B,GAAG,CAACJ,OAAO,CAAC,CAAC;MAC3D,IAAIK,WAAW,GAAGhC,IAAI,CAACmB,KAAK,CAACnB,IAAI,CAAC+B,GAAG,CAACF,QAAQ,CAAC,GAAG,IAAI,CAAC;MAGvD,IAAItB,GAAG,GAAGF,MAAM,CAACC,WAAW,CAACC,GAAG,EAAE;MAElC,IAAI,IAAI,CAACb,kBAAkB,IAAI,IAAI,EAAE;QACnC,IAAI,CAACE,KAAK,CAACjB,YAAY,IAAI4B,GAAG,GAAG,IAAI,CAACb,kBAAkB;MAC1D;MAEA,IAAI,CAACA,kBAAkB,GAAG,IAAI;MAE9B,IAAI,IAAI,CAACG,qBAAqB,IAAI,IAAI,EAAE;QACtC,IAAI,CAACD,KAAK,CAACd,eAAe,IAAIyB,GAAG,GAAG,IAAI,CAACV,qBAAqB;MAChE;MAEA,IAAI,CAACA,qBAAqB,GAAG,IAAI;MACjC,IAAIoC,QAAQ,GAAG,CAAC;MAChB,IAAIC,KAAK,GAAGX,KAAK,CAACW,KAAK;MAEvB,IAAIC,UAAU,GAAG,IAAI,CAACpC,gBAAgB,CAACmC,KAAK,CAAC;MAE7C,OAAOA,KAAK,IAAIX,KAAK,CAACa,IAAI,KAAK,CAACD,UAAU,IAAI,CAACA,UAAU,CAACE,QAAQ,CAAC,EAAE;QACnEF,UAAU,GAAG,IAAI,CAACpC,gBAAgB,CAACmC,KAAK,CAAC;QACzCA,KAAK,EAAE;MACT;MAIA,IAAIC,UAAU,IAAID,KAAK,GAAG,CAAC,EAAE;QAC3BD,QAAQ,GAAGjC,IAAI,CAACsC,GAAG,CAACR,aAAa,EAAE9B,IAAI,CAACuC,GAAG,CAAC,CAAC,EAAEJ,UAAU,CAACP,MAAM,GAAGA,MAAM,CAAC,CAAC;MAC7E;MAEA,IAAIY,WAAW,GAAG,CAAC;MACnB,IAAIJ,IAAI,GAAGb,KAAK,CAACa,IAAI;MAErB,IAAIK,SAAS,GAAG,IAAI,CAAC1C,gBAAgB,CAACqC,IAAI,CAAC;MAE3C,OAAOA,IAAI,IAAIb,KAAK,CAACW,KAAK,KAAK,CAACO,SAAS,IAAI,CAACA,SAAS,CAACJ,QAAQ,CAAC,EAAE;QACjEI,SAAS,GAAG,IAAI,CAAC1C,gBAAgB,CAACqC,IAAI,CAAC;QACvCA,IAAI,EAAE;MACR;MAIA,IAAIK,SAAS,IAAIL,IAAI,GAAGd,KAAK,CAACG,YAAY,CAACH,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC,EAAE;QAC1D,IAAIgB,UAAU,GAAGD,SAAS,CAACb,MAAM,GAAGa,SAAS,CAACE,MAAM;QACpDH,WAAW,GAAGxC,IAAI,CAACsC,GAAG,CAACR,aAAa,EAAE9B,IAAI,CAACuC,GAAG,CAAC,CAAC,EAAEX,MAAM,GAAGE,aAAa,GAAGY,UAAU,CAAC,CAAC;MACzF;MAEA,IAAI3D,YAAY,GAAGiB,IAAI,CAACmB,KAAK,CAACc,QAAQ,GAAGO,WAAW,CAAC;MACrD,IAAII,SAAS,GAAG7D,YAAY,GAAG+C,aAAa;MAE5C,IAAIc,SAAS,GAAG,CAAC,EAAE;QACjB,IAAI,CAAClD,kBAAkB,GAAGa,GAAG;QAC7B,IAAI,CAACX,KAAK,CAAChB,mBAAmB,IAAIoD,WAAW;QAC7C,IAAI,CAACpC,KAAK,CAAClB,eAAe,EAAE;QAC5B,IAAI,CAACkB,KAAK,CAACb,YAAY,IAAIA,YAAY;QAEvC,IAAI6D,SAAS,GAAG,GAAG,EAAE;UACnB,IAAI,CAAC/C,qBAAqB,GAAGU,GAAG;UAChC,IAAI,CAACX,KAAK,CAACf,kBAAkB,EAAE;QACjC;MACF,CAAC,MAAM,IAAImD,WAAW,GAAG,IAAI,IAAIhC,IAAI,CAAC+B,GAAG,CAACJ,OAAO,CAAC,GAAG,CAAC,EAAE;QACtD,IAAI,CAACkB,kBAAkB,EAAE;MAC3B;MAEA,OAAOD,SAAS;IAClB;EAAC;IAAA;IAAA,OAED,mBAAU;MACR,OAAO,IAAI,CAACjD,QAAQ;IACtB;EAAC;IAAA;IAAA,OAED,sBAAa;MACX,IAAI,CAACD,kBAAkB,GAAG,IAAI;MAC9B,IAAI,CAACE,KAAK,GAAG,IAAInB,IAAI,EAAE;MACvB,IAAI,CAACoB,qBAAqB,GAAG,IAAI;MACjC,IAAI,CAACC,iBAAiB,GAAG,IAAI;IAC/B;EAAC;IAAA;IAAA,OAxLD,qBAAmBgD,QAAQ,EAAE;MAC3B,IAAIvD,WAAW,KAAK,IAAI,EAAE;QACxBY,OAAO,CAAC4C,IAAI,CAAC,2DAA2D,CAAC;MAC3E;MAEA1D,UAAU,CAAC2D,IAAI,CAACF,QAAQ,CAAC;MAEzB,OAAO;QACLG,MAAM,EAAE,kBAAM;UACZ5D,UAAU,GAAGA,UAAU,CAAC6D,MAAM,CAAC,UAAA7B,QAAQ;YAAA,OAAIyB,QAAQ,KAAKzB,QAAQ;UAAA,EAAC;QACnE;MACF,CAAC;IACH;EAAC;IAAA;IAAA,OAED,uBAAqB8B,UAAU,EAAE;MAC/B5D,WAAW,GAAG4D,UAAU;IAC1B;EAAC;IAAA;IAAA,OAED,2BAAyBC,cAAc,EAAE;MACvC9D,eAAe,GAAG8D,cAAc;IAClC;EAAC;EAAA;AAAA;AAwKH,eAAe5D,cAAc"},"metadata":{},"sourceType":"module"}