From bad04674a04d18aacb12830894c1d7d723f5488b Mon Sep 17 00:00:00 2001 From: shafin-deriv Date: Wed, 15 May 2024 11:41:08 +0800 Subject: [PATCH 01/17] chore: add basic ssl --- package-lock.json | 13 +++++++++++++ package.json | 1 + vite.config.ts | 3 ++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index ed19c770..3cbd639b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,6 +47,7 @@ "@types/react-dom": "^18.2.19", "@typescript-eslint/eslint-plugin": "^6.12.0", "@typescript-eslint/parser": "^6.0.0", + "@vitejs/plugin-basic-ssl": "^1.1.0", "eslint": "^8.56.0", "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-react-hooks": "^4.6.0", @@ -4531,6 +4532,18 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz", + "integrity": "sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==", + "dev": true, + "engines": { + "node": ">=14.6.0" + }, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + } + }, "node_modules/@vitejs/plugin-react": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", diff --git a/package.json b/package.json index ae900b99..4c0f1ba0 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "@types/react-dom": "^18.2.19", "@typescript-eslint/eslint-plugin": "^6.12.0", "@typescript-eslint/parser": "^6.0.0", + "@vitejs/plugin-basic-ssl": "^1.1.0", "eslint": "^8.56.0", "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-react-hooks": "^4.6.0", diff --git a/vite.config.ts b/vite.config.ts index 52537930..40a15817 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite'; import svgr from 'vite-plugin-svgr'; +import basicSsl from '@vitejs/plugin-basic-ssl'; import react from '@vitejs/plugin-react'; // https://vitejs.dev/config/ @@ -8,7 +9,7 @@ export default defineConfig({ define: { global: 'window', }, - plugins: [react(), svgr()], + plugins: [react(), svgr(), basicSsl()], server: { port: 8443, }, From b45ca7aebfd63f96a603af0e662a29639e8531d3 Mon Sep 17 00:00:00 2001 From: shafin-deriv Date: Mon, 20 May 2024 14:32:00 +0800 Subject: [PATCH 02/17] draft init --- package-lock.json | 2810 ++++++++++++----- package.json | 32 +- public/media/1x1.gif | Bin 0 -> 43 bytes public/media/announcement.mp3 | Bin 0 -> 12210 bytes public/media/click.mp3 | Bin 0 -> 8128 bytes public/media/click.ogg | Bin 0 -> 5446 bytes public/media/click.wav | Bin 0 -> 3190 bytes public/media/coins.mp3 | Bin 0 -> 5855 bytes public/media/comment-arrow-down.svg | 10 + public/media/comment-arrow-up.svg | 10 + public/media/create_variable.jpg | Bin 0 -> 19422 bytes public/media/delete-x.svg | 10 + public/media/delete.mp3 | Bin 0 -> 9796 bytes public/media/delete.ogg | Bin 0 -> 8624 bytes public/media/delete.wav | Bin 0 -> 11938 bytes public/media/dropdown-arrow-dark.svg | 1 + public/media/dropdown-arrow.svg | 1 + .../media/extensions/microbit-block-icon.svg | 130 + public/media/extensions/music-block-icon.svg | 17 + public/media/extensions/pen-block-icon.svg | 19 + public/media/extensions/wedo2-block-icon.svg | 36 + public/media/eyedropper.svg | 22 + public/media/green-flag.svg | 17 + public/media/handclosed.cur | Bin 0 -> 326 bytes public/media/handdelete.cur | Bin 0 -> 766 bytes public/media/handopen.cur | Bin 0 -> 198 bytes public/media/i-am-being-serious.mp3 | Bin 0 -> 9912 bytes public/media/ic-chevron-down-bold.svg | 1 + public/media/icons/arrow.svg | 12 + public/media/icons/arrow_button.svg | 1 + public/media/icons/control_forever.svg | 1 + public/media/icons/control_repeat.svg | 1 + public/media/icons/control_stop.svg | 1 + public/media/icons/control_wait.svg | 1 + public/media/icons/event_broadcast_blue.svg | 1 + public/media/icons/event_broadcast_coral.svg | 1 + public/media/icons/event_broadcast_green.svg | 1 + .../media/icons/event_broadcast_magenta.svg | 1 + public/media/icons/event_broadcast_orange.svg | 1 + public/media/icons/event_broadcast_purple.svg | 1 + .../event_when-broadcast-received_blue.svg | 1 + .../event_when-broadcast-received_coral.svg | 1 + .../event_when-broadcast-received_green.svg | 1 + .../event_when-broadcast-received_magenta.svg | 1 + .../event_when-broadcast-received_orange.svg | 1 + .../event_when-broadcast-received_purple.svg | 1 + public/media/icons/event_whenflagclicked.svg | 1 + public/media/icons/remove.svg | 19 + public/media/icons/set-led_blue.svg | 1 + public/media/icons/set-led_coral.svg | 1 + public/media/icons/set-led_green.svg | 1 + public/media/icons/set-led_magenta.svg | 1 + public/media/icons/set-led_mystery.svg | 1 + public/media/icons/set-led_orange.svg | 1 + public/media/icons/set-led_purple.svg | 1 + public/media/icons/set-led_white.svg | 1 + public/media/icons/set-led_yellow.svg | 1 + public/media/icons/wedo_motor-clockwise.svg | 1 + .../icons/wedo_motor-counterclockwise.svg | 1 + public/media/icons/wedo_motor-speed_fast.svg | 1 + public/media/icons/wedo_motor-speed_med.svg | 1 + public/media/icons/wedo_motor-speed_slow.svg | 1 + .../media/icons/wedo_when-distance_close.svg | 1 + .../media/icons/wedo_when-tilt-backward.svg | 1 + public/media/icons/wedo_when-tilt-forward.svg | 1 + public/media/icons/wedo_when-tilt-left.svg | 1 + public/media/icons/wedo_when-tilt-right.svg | 1 + public/media/icons/wedo_when-tilt.svg | 1 + public/media/is_candle_black.jpeg | Bin 0 -> 65657 bytes public/media/is_candle_black_1.jpeg | Bin 0 -> 65030 bytes public/media/job-done.mp3 | Bin 0 -> 5838 bytes public/media/logic.png | Bin 0 -> 2919 bytes public/media/out-of-bounds.mp3 | Bin 0 -> 11819 bytes public/media/repeat.svg | 18 + public/media/rotate-left.svg | 1 + public/media/rotate-right.svg | 1 + public/media/set_variable.png | Bin 0 -> 84622 bytes public/media/sma_array_explanation.jpeg | Bin 0 -> 63340 bytes public/media/sma_chart_1.png | Bin 0 -> 75913 bytes public/media/sma_chart_2.png | Bin 0 -> 69530 bytes public/media/sma_formula.png | Bin 0 -> 13396 bytes public/media/sprites.png | Bin 0 -> 4146 bytes public/media/sprites.svg | 74 + public/media/status-not-ready.svg | 13 + public/media/status-ready.svg | 13 + public/media/zoom-in.svg | 1 + public/media/zoom-out.svg | 1 + public/media/zoom-reset.svg | 1 + src/{ => app}/App.tsx | 11 +- src/app/__tests__/app-content.spec.tsx | 174 + src/app/__tests__/app-main.spec.tsx | 53 + src/app/__tests__/app.spec.tsx | 14 + src/app/__tests__/dbot-providers.spec.tsx | 48 + src/app/app-content.jsx | 153 + src/app/app.scss | 17 + src/app/index.ts | 3 + src/components/__tests__/bot-stopped.spec.tsx | 78 + src/components/audio/__tests__/audio.spec.tsx | 31 + src/components/audio/audio.tsx | 13 + src/components/audio/index.ts | 3 + .../__tests__/blockly-loading.spec.tsx | 71 + .../blockly-loading/blockly-loading.scss | 10 + .../blockly-loading/blockly-loading.tsx | 22 + src/components/blockly-loading/index.ts | 4 + .../bot-notification-messages.spec.tsx | 73 + .../bot-notification-messages.scss | 33 + .../bot-notification-messages.tsx | 32 + .../bot-notification-messages/index.ts | 4 + .../__tests__/bot-notification.spec.tsx | 37 + .../bot-notification-utils.ts | 54 + .../bot-notification/bot-notification.scss | 87 + .../bot-notification/bot-notification.tsx | 31 + src/components/bot-stopped.tsx | 51 + .../__tests__/contract-card-loading.spec.tsx | 56 + .../contract-card-loading.tsx | 35 + src/components/contract-card-loading/index.ts | 3 + .../contract-result-overlay.spec.tsx | 53 + .../contract-result-overlay.scss | 59 + .../contract-result-overlay.tsx | 39 + .../contract-result-overlay/index.ts | 4 + .../download/__tests__/download.spec.tsx | 117 + src/components/download/download.scss | 8 + src/components/download/download.tsx | 111 + src/components/download/index.ts | 4 + .../__tests__/draggable-utils.spec.tsx | 255 ++ .../draggable/__tests__/draggable.spec.tsx | 257 ++ .../draggable/draggable-resize-wrapper.tsx | 84 + src/components/draggable/draggable-utils.ts | 134 + src/components/draggable/draggable.scss | 107 + src/components/draggable/draggable.tsx | 314 ++ src/components/draggable/index.ts | 4 + .../__tests__/flyout-block-group.spec.tsx | 90 + .../flyout/__tests__/flyout-block.spec.tsx | 64 + .../flyout/__tests__/flyout.spec.tsx | 288 ++ src/components/flyout/flyout-block-group.tsx | 74 + src/components/flyout/flyout-block.tsx | 35 + src/components/flyout/flyout.scss | 231 ++ src/components/flyout/flyout.tsx | 248 ++ .../__tests__/flyout-help-base.spec.tsx | 244 ++ .../__tests__/flyout-img.spec.tsx | 51 + .../__tests__/flyout-text.spec.tsx | 23 + .../__tests__/flyout-video.spec.tsx | 38 + .../flyout/help-contents/flyout-help-base.tsx | 127 + .../flyout/help-contents/flyout-img.tsx | 19 + .../flyout/help-contents/flyout-text.tsx | 14 + .../flyout/help-contents/flyout-video.tsx | 17 + src/components/flyout/help-contents/index.ts | 3 + src/components/flyout/index.ts | 4 + src/components/index.ts | 0 .../journal/__tests__/journal.spec.tsx | 97 + src/components/journal/index.ts | 4 + .../__tests__/date-item.spec.tsx | 57 + .../__tests__/filter-dialog.spec.tsx | 69 + .../__tests__/filters.spec.tsx | 43 + .../__tests__/format-message.spec.tsx | 80 + .../__tests__/journal-item.spec.tsx | 100 + .../__tests__/journal-loader.spec.tsx | 35 + .../__tests__/journal-tools.spec.tsx | 56 + .../journal/journal-components/date-item.tsx | 10 + .../journal-components/filter-dialog.tsx | 34 + .../journal/journal-components/filters.tsx | 30 + .../journal-components/format-message.tsx | 100 + .../journal/journal-components/index.ts | 7 + .../journal-components/journal-item.tsx | 55 + .../journal-components/journal-loader.tsx | 19 + .../journal-components/journal-tools.tsx | 56 + src/components/journal/journal.scss | 150 + src/components/journal/journal.tsx | 105 + src/components/journal/journal.types.ts | 91 + .../load-modal/__tests__/load-modal.spec.tsx | 152 + .../__tests__/local-footer.spec.tsx | 86 + .../__tests__/recent-footer.spec.tsx | 62 + .../__tests__/recent-workspace.spec.tsx | 57 + .../load-modal/__tests__/recent.spec.tsx | 74 + .../__tests__/workspace-control.spec.tsx | 65 + src/components/load-modal/index.ts | 4 + src/components/load-modal/load-modal.scss | 168 + src/components/load-modal/load-modal.tsx | 99 + src/components/load-modal/local-footer.tsx | 41 + src/components/load-modal/local.tsx | 105 + src/components/load-modal/recent-footer.tsx | 30 + .../load-modal/recent-workspace.tsx | 45 + src/components/load-modal/recent.tsx | 86 + .../load-modal/workspace-control.tsx | 36 + .../__tests__/network-toast-popup.spec.tsx | 67 + src/components/network-toast-popup/index.ts | 3 + .../network-toast-popup.tsx | 54 + .../__tests__/notify-item.spec.tsx | 87 + src/components/notify-item/index.ts | 4 + src/components/notify-item/notify-item.scss | 23 + src/components/notify-item/notify-item.tsx | 53 + .../__tests__/route-prompt-dialog.spec.tsx | 60 + src/components/route-prompt-dialog/index.ts | 3 + .../route-prompt-dialog.tsx | 30 + .../run-panel/__tests__/run-panel.spec.tsx | 49 + src/components/run-panel/index.ts | 4 + src/components/run-panel/run-panel.scss | 351 ++ src/components/run-panel/run-panel.tsx | 329 ++ src/components/self-exclusion/index.ts | 3 + .../self-exclusion/self-exclusion.jsx | 246 ++ .../summary/__tests__/summary-card.spec.tsx | 77 + .../summary/__tests__/summary.spec.tsx | 49 + src/components/summary/index.ts | 5 + src/components/summary/summary-card.scss | 57 + src/components/summary/summary-card.tsx | 105 + src/components/summary/summary-card.types.ts | 22 + src/components/summary/summary.scss | 62 + src/components/summary/summary.tsx | 41 + .../__tests__/circular-wrapper.spec.tsx | 10 + .../__tests__/contract-stage-text.spec.tsx | 23 + .../__tests__/trade-animation.spec.tsx | 92 + .../trade-animation/circular-wrapper.tsx | 15 + .../trade-animation/contract-stage-text.tsx | 27 + src/components/trade-animation/index.ts | 4 + .../trade-animation/trade-animation.scss | 217 ++ .../trade-animation/trade-animation.tsx | 125 + .../__tests__/trading-view-modal.spec.tsx | 44 + .../__tests__/trading-view.spec.tsx | 31 + .../trading-view-chart/trading-view-modal.tsx | 35 + .../trading-view-chart/trading-view.tsx | 13 + .../desktop-transaction-table.spec.tsx | 116 + .../mobile-transaction-card.spec.tsx | 49 + .../transaction-details-desktop.spec.tsx | 81 + .../transaction-details-mobile.spec.tsx | 117 + .../__tests__/transaction-details.spec.tsx | 75 + .../desktop-transaction-table.tsx | 174 + src/components/transaction-details/index.ts | 3 + .../mobile-transaction-card.tsx | 139 + .../transaction-details-desktop.scss | 106 + .../transaction-details-desktop.tsx | 74 + .../transaction-details-mobile.scss | 98 + .../transaction-details-mobile.tsx | 66 + .../transaction-details.tsx | 22 + .../transaction-details.types.ts | 74 + .../__tests__/transaction.spec.tsx | 95 + .../__tests__/transactions.spec.tsx | 137 + src/components/transactions/index.js | 4 + src/components/transactions/transaction.tsx | 232 ++ src/components/transactions/transactions.scss | 222 ++ src/components/transactions/transactions.tsx | 227 ++ src/constants/bot-contents.ts | 25 + src/constants/button-status.ts | 5 + src/constants/contract-stage.ts | 10 + src/constants/contract.ts | 284 ++ src/constants/dashboard.ts | 48 + src/constants/load-modal.ts | 11 + src/constants/quick-strategies/d_alembert.ts | 198 ++ src/constants/quick-strategies/index.ts | 6 + src/constants/quick-strategies/martingale.ts | 205 ++ .../quick-strategies/oscars_grind.ts | 165 + .../quick-strategies/reverse_dalembert.ts | 126 + .../quick-strategies/reverse_martingale.ts | 145 + .../quick-strategies/strategy_1_3_2_6.ts | 132 + src/constants/run-panel.ts | 5 + src/constants/transactions.ts | 4 + src/constants/z-indexes.ts | 7 + src/external/bot-skeleton/constants/config.ts | 321 ++ src/external/bot-skeleton/constants/index.ts | 3 + .../bot-skeleton/constants/messages.ts | 43 + .../bot-skeleton/constants/save-type.ts | 5 + .../examples/cli-examples/speed-test.js | 38 + .../xml-examples/misc/Alternate Even-Odd.xml | 116 + .../misc/Get previous tick candle or RSI.xml | 77 + .../Get the last digit after purchase.xml | 24 + .../xml-examples/misc/Great Martingale.xml | 611 ++++ .../misc/alternate call put on loss.xml | 125 + .../misc/buy_on_desired_net_profit.xml | 116 + .../misc/is candle new package.xml | 106 + .../xml-examples/misc/macd_signal_range.xml | 146 + .../misc/martingale_alternate_even_odd.xml | 141 + .../misc/moving-average-example.xml | 75 + .../misc/pause 10s after 3 runs.xml | 104 + .../xml-examples/misc/rsi call put.xml | 133 + .../misc/simple_three_line_strike.xml | 164 + .../misc/sma_compare_threshold.xml | 146 + .../xml-examples/misc/switch_barrier_sign.xml | 139 + .../misc/wait 3 mins after 3 loss.xml | 115 + .../xml-examples/money-management/index.xml | 11 + .../money-management/stop_loss.xml | 97 + .../money-management/take_profit.xml | 89 + .../take_profit_and_stop_loss.xml | 133 + .../price-actions/three line strike.xml | 371 +++ .../random/3 same candle colors.xml | 212 ++ .../random/Candle Analysis Revised.xml | 499 +++ .../xml-examples/random/Greate Martingale.xml | 567 ++++ .../Use last digit in trade definition.xml | 62 + ...lternate 3 times then change order (1).xml | 185 ++ .../random/alternate call put martingale.xml | 150 + .../alternate call put on new candle.xml | 208 ++ .../random/alternate-call-up-on-two-loss.xml | 209 ++ .../random/dalembert_predefined_params.xml | 707 +++++ .../fixed package for carloscarraro.xml | 375 +++ .../random/get last digit after purchase.xml | 61 + .../random/green_or_red_on_new_candle.xml | 89 + .../random/is stripes pattern.xml | 110 + .../xml-examples/random/last digit demo.xml | 69 + ...ingale_alternate_even_odd_with_timeout.xml | 163 + .../random/prediction example.xml | 91 + .../random/reset_martingale_after_5_loss.xml | 155 + .../reset_martingale_after_5_trades.xml | 136 + .../random/start martingale after 2 loss.xml | 126 + .../random/static_stake_martingale.xml | 131 + ..._contract_type_on_loss_with_martingale.xml | 243 ++ .../xml-examples/random/two predictions.xml | 95 + .../xml-examples/random/var_set_test.xml | 96 + .../risk-management/dalembert.xml | 683 ++++ .../martingale reset on expected.xml | 572 ++++ .../risk-management/martingale.xml | 554 ++++ .../risk-management/oscars_grind.xml | 729 +++++ .../xml-examples/tools/body_percentage.xml | 90 + .../examples/xml-examples/tools/index.xml | 17 + .../xml-examples/tools/is candle new.xml | 79 + .../xml-examples/tools/is stripes pattern.xml | 130 + .../xml-examples/tools/is_downtrend.xml | 141 + .../xml-examples/tools/is_uptrend.xml | 141 + .../tools/lower_shadow_percentage.xml | 152 + .../xml-examples/tools/test_suite.xml | 221 ++ .../tools/upper_shadow_percentage.xml | 152 + .../bot-skeleton/images/create_variable.jpg | Bin 0 -> 19422 bytes .../images/ic-chevron-down-bold.svg | 1 + .../bot-skeleton/images/is_candle_black.jpeg | Bin 0 -> 65657 bytes .../images/is_candle_black_1.jpeg | Bin 0 -> 65030 bytes src/external/bot-skeleton/images/logic.png | Bin 0 -> 2919 bytes .../bot-skeleton/images/set_variable.png | Bin 0 -> 84622 bytes .../images/sma_array_explanation.jpeg | Bin 0 -> 63340 bytes .../bot-skeleton/images/sma_chart_1.png | Bin 0 -> 75913 bytes .../bot-skeleton/images/sma_chart_2.png | Bin 0 -> 69530 bytes .../bot-skeleton/images/sma_formula.png | Bin 0 -> 13396 bytes src/external/bot-skeleton/index.js | 5 + .../scratch/backward-compatibility.js | 809 +++++ src/external/bot-skeleton/scratch/blockly.js | 11 + .../blocks/Advanced/Functions/index.js | 5 + .../Functions/procedures_callnoreturn.js | 350 ++ .../Functions/procedures_callreturn.js | 64 + .../Functions/procedures_defnoreturn.js | 368 +++ .../Functions/procedures_defreturn.js | 113 + .../Advanced/Functions/procedures_ifreturn.js | 142 + .../scratch/blocks/Advanced/List/index.js | 11 + .../blocks/Advanced/List/lists_create_with.js | 96 + .../blocks/Advanced/List/lists_getIndex.js | 178 ++ .../blocks/Advanced/List/lists_getSublist.js | 162 + .../blocks/Advanced/List/lists_indexOf.js | 70 + .../blocks/Advanced/List/lists_isEmpty.js | 47 + .../blocks/Advanced/List/lists_length.js | 43 + .../blocks/Advanced/List/lists_repeat.js | 65 + .../blocks/Advanced/List/lists_setIndex.js | 149 + .../blocks/Advanced/List/lists_sort.js | 85 + .../blocks/Advanced/List/lists_split.js | 92 + .../blocks/Advanced/List/lists_statement.js | 89 + .../Loops/controls_flow_statements.js | 44 + .../blocks/Advanced/Loops/controls_for.js | 139 + .../blocks/Advanced/Loops/controls_forEach.js | 84 + .../blocks/Advanced/Loops/controls_repeat.js | 46 + .../Advanced/Loops/controls_repeat_ext.js | 74 + .../Advanced/Loops/controls_whileUntil.js | 82 + .../scratch/blocks/Advanced/Loops/index.js | 6 + .../scratch/blocks/Advanced/Variable/index.js | 2 + .../blocks/Advanced/Variable/variables_get.js | 63 + .../blocks/Advanced/Variable/variables_set.js | 49 + .../Binary/After Purchase/after_purchase.js | 61 + .../Binary/After Purchase/check_result.js | 57 + .../blocks/Binary/After Purchase/index.js | 4 + .../Binary/After Purchase/read_details.js | 41 + .../Binary/After Purchase/trade_again.js | 40 + .../Binary/Before Purchase/ask_price.js | 44 + .../Binary/Before Purchase/before_purchase.js | 62 + .../blocks/Binary/Before Purchase/index.js | 4 + .../blocks/Binary/Before Purchase/payout.js | 44 + .../blocks/Binary/Before Purchase/purchase.js | 85 + .../Binary/During Purchase/check_sell.js | 33 + .../Binary/During Purchase/during_purchase.js | 61 + .../blocks/Binary/During Purchase/index.js | 4 + .../Binary/During Purchase/sell_at_market.js | 28 + .../Binary/During Purchase/sell_price.js | 33 + .../Indicators/Parts/fast_ema_period.js | 33 + .../blocks/Binary/Indicators/Parts/index.js | 7 + .../Binary/Indicators/Parts/input_list.js | 82 + .../blocks/Binary/Indicators/Parts/period.js | 43 + .../Indicators/Parts/signal_ema_period.js | 33 + .../Indicators/Parts/slow_ema_period.js | 33 + .../Parts/std_dev_multiplier_down.js | 33 + .../Indicators/Parts/std_dev_multiplier_up.js | 33 + .../blocks/Binary/Indicators/bb_statement.js | 93 + .../blocks/Binary/Indicators/bba_statement.js | 78 + .../blocks/Binary/Indicators/ema_statement.js | 64 + .../Binary/Indicators/emaa_statement.js | 64 + .../scratch/blocks/Binary/Indicators/index.js | 10 + .../Binary/Indicators/macda_statement.js | 79 + .../blocks/Binary/Indicators/rsi_statement.js | 64 + .../Binary/Indicators/rsia_statement.js | 64 + .../blocks/Binary/Indicators/sma_statement.js | 64 + .../Binary/Indicators/smaa_statement.js | 64 + .../Binary/Tick Analysis/check_direction.js | 42 + .../blocks/Binary/Tick Analysis/get_ohlc.js | 55 + .../blocks/Binary/Tick Analysis/index.js | 10 + .../Binary/Tick Analysis/lastDigitList.js | 27 + .../blocks/Binary/Tick Analysis/last_digit.js | 27 + .../blocks/Binary/Tick Analysis/ohlc.js | 42 + .../Binary/Tick Analysis/ohlc_values.js | 57 + .../blocks/Binary/Tick Analysis/readOhlc.js | 64 + .../blocks/Binary/Tick Analysis/tick.js | 57 + .../Binary/Tick Analysis/tick_analysis.js | 49 + .../blocks/Binary/Tick Analysis/ticks.js | 57 + .../blocks/Binary/Tools/Candle/index.js | 3 + .../Binary/Tools/Candle/is_candle_black.js | 46 + .../Tools/Candle/ohlc_values_in_list.js | 53 + .../Binary/Tools/Candle/read_ohlc_obj.js | 53 + .../blocks/Binary/Tools/Misc/balance.js | 53 + .../Binary/Tools/Misc/barrier_offset.js | 28 + .../blocks/Binary/Tools/Misc/block_holder.js | 42 + .../blocks/Binary/Tools/Misc/console.js | 63 + .../scratch/blocks/Binary/Tools/Misc/index.js | 10 + .../blocks/Binary/Tools/Misc/loader.js | 95 + .../blocks/Binary/Tools/Misc/notify.js | 78 + .../Binary/Tools/Misc/notify_telegram.js | 72 + .../blocks/Binary/Tools/Misc/total_profit.js | 71 + .../blocks/Binary/Tools/Misc/total_runs.js | 30 + .../blocks/Binary/Tools/Misc/useless_block.js | 25 + .../scratch/blocks/Binary/Tools/Time/epoch.js | 27 + .../scratch/blocks/Binary/Tools/Time/index.js | 4 + .../blocks/Binary/Tools/Time/timeout.js | 57 + .../blocks/Binary/Tools/Time/todatetime.js | 94 + .../blocks/Binary/Tools/Time/totimestamp.js | 51 + .../blocks/Binary/Trade Definition/index.js | 11 + .../Trade Definition/multiplier_stop_loss.js | 75 + .../multiplier_take_profit.js | 75 + .../Trade Definition/trade_definition.js | 186 ++ .../trade_definition_candleinterval.js | 34 + .../trade_definition_contracttype.js | 64 + .../trade_definition_market.js | 120 + .../trade_definition_multiplier.js | 314 ++ .../trade_definition_restartbuysell.js | 36 + .../trade_definition_restartonerror.js | 37 + .../trade_definition_tradeoptions.js | 605 ++++ .../trade_definition_tradetype.js | 34 + .../scratch/blocks/Logic/controls_if.js | 319 ++ .../scratch/blocks/Logic/index.js | 7 + .../scratch/blocks/Logic/logic_boolean.js | 40 + .../scratch/blocks/Logic/logic_compare.js | 75 + .../scratch/blocks/Logic/logic_negate.js | 44 + .../scratch/blocks/Logic/logic_null.js | 26 + .../scratch/blocks/Logic/logic_operation.js | 69 + .../scratch/blocks/Logic/logic_ternary.js | 66 + .../bot-skeleton/scratch/blocks/Math/index.js | 14 + .../scratch/blocks/Math/math_arithmetic.js | 82 + .../scratch/blocks/Math/math_change.js | 71 + .../scratch/blocks/Math/math_constant.js | 67 + .../scratch/blocks/Math/math_constrain.js | 62 + .../scratch/blocks/Math/math_modulo.js | 54 + .../scratch/blocks/Math/math_number.js | 48 + .../blocks/Math/math_number_positive.js | 20 + .../blocks/Math/math_number_property.js | 135 + .../scratch/blocks/Math/math_on_list.js | 318 ++ .../scratch/blocks/Math/math_random_float.js | 27 + .../scratch/blocks/Math/math_random_int.js | 68 + .../scratch/blocks/Math/math_round.js | 70 + .../scratch/blocks/Math/math_single.js | 116 + .../scratch/blocks/Math/math_trig.js | 51 + .../bot-skeleton/scratch/blocks/Text/index.js | 13 + .../bot-skeleton/scratch/blocks/Text/text.js | 37 + .../scratch/blocks/Text/text_append.js | 62 + .../scratch/blocks/Text/text_changeCase.js | 81 + .../scratch/blocks/Text/text_charAt.js | 115 + .../scratch/blocks/Text/text_getSubstring.js | 238 ++ .../scratch/blocks/Text/text_indexOf.js | 71 + .../scratch/blocks/Text/text_isEmpty.js | 46 + .../scratch/blocks/Text/text_join.js | 95 + .../scratch/blocks/Text/text_length.js | 46 + .../scratch/blocks/Text/text_print.js | 45 + .../scratch/blocks/Text/text_prompt_ext.js | 83 + .../scratch/blocks/Text/text_statement.js | 79 + .../scratch/blocks/Text/text_trim.js | 60 + .../bot-skeleton/scratch/blocks/images.js | 40 + .../bot-skeleton/scratch/blocks/index.js | 18 + .../bot-skeleton/scratch/dbot-store.js | 51 + src/external/bot-skeleton/scratch/dbot.js | 653 ++++ .../bot-skeleton/scratch/hooks/.eslintrc.js | 6 + .../bot-skeleton/scratch/hooks/block.js | 175 + .../hooks/block_render_svg_vertical.js | 234 ++ .../bot-skeleton/scratch/hooks/block_svg.js | 362 +++ .../bot-skeleton/scratch/hooks/colours.js | 65 + .../bot-skeleton/scratch/hooks/connection.js | 4 + .../bot-skeleton/scratch/hooks/constant.js | 33 + .../bot-skeleton/scratch/hooks/contextmenu.js | 275 ++ .../bot-skeleton/scratch/hooks/css.js | 1250 ++++++++ .../scratch/hooks/data_category.js | 119 + .../bot-skeleton/scratch/hooks/field.js | 74 + .../scratch/hooks/field_dropdown.js | 123 + .../bot-skeleton/scratch/hooks/field_image.js | 212 ++ .../scratch/hooks/field_textinput.js | 35 + .../bot-skeleton/scratch/hooks/flyout_base.js | 128 + .../bot-skeleton/scratch/hooks/gesture.js | 33 + .../bot-skeleton/scratch/hooks/icon.js | 33 + .../bot-skeleton/scratch/hooks/index.js | 28 + .../bot-skeleton/scratch/hooks/inject.js | 20 + .../bot-skeleton/scratch/hooks/procedures.js | 169 + .../scratch/hooks/scratch_block_comment.js | 11 + .../bot-skeleton/scratch/hooks/tooltip.js | 78 + .../bot-skeleton/scratch/hooks/trashcan.js | 23 + .../bot-skeleton/scratch/hooks/utils.js | 5 + .../scratch/hooks/variable_map.js | 30 + .../bot-skeleton/scratch/hooks/variables.js | 56 + .../bot-skeleton/scratch/hooks/workspace.js | 117 + .../scratch/hooks/workspace_audio.js | 1 + .../scratch/hooks/workspace_svg.js | 457 +++ .../bot-skeleton/scratch/hooks/xml.js | 5 + src/external/bot-skeleton/scratch/index.js | 8 + src/external/bot-skeleton/scratch/shared.js | 24 + .../bot-skeleton/scratch/utils/index.js | 554 ++++ .../bot-skeleton/scratch/xml/main.xml | 77 + .../services/api/__tests__/ticks-service.js | 60 + .../services/api/account-limits.js | 15 + .../services/api/active-symbols.js | 298 ++ .../bot-skeleton/services/api/api-base.js | 144 + .../bot-skeleton/services/api/api-helpers.js | 30 + .../services/api/api-middleware.js | 91 + .../bot-skeleton/services/api/appId.js | 33 + .../services/api/appIdResolver.js | 8 + .../services/api/contracts-for.js | 614 ++++ .../bot-skeleton/services/api/index.js | 7 + .../services/api/network_monitor.js | 29 + .../bot-skeleton/services/api/server_time.js | 25 + .../services/api/ticks_service.js | 330 ++ .../services/api/trading-times.js | 194 ++ .../tradeEngine/Interface/BotInterface.js | 36 + .../tradeEngine/Interface/CandleInterface.js | 11 + .../Interface/IndicatorsInterface.js | 32 + .../tradeEngine/Interface/MiscInterface.js | 32 + .../tradeEngine/Interface/TicksInterface.js | 13 + .../tradeEngine/Interface/ToolsInterface.js | 61 + .../services/tradeEngine/Interface/index.js | 40 + .../services/tradeEngine/__tests__/BotApi.js | 51 + .../services/tradeEngine/__tests__/Core.js | 43 + .../tradeEngine/__tests__/StopStart.js | 41 + .../services/tradeEngine/__tests__/UI.js | 81 + .../__tests__/block-tests/After.js | 27 + .../__tests__/block-tests/Before.js | 27 + .../__tests__/block-tests/During.js | 27 + .../__tests__/block-tests/Ticks.js | 99 + .../__tests__/block-tests/indicators.js | 79 + .../block-tests/sanitize-test/Blocks.js | 22 + .../block-tests/sanitize-test/Trade.js | 36 + .../block-tests/tools-test/Candles.js | 38 + .../__tests__/block-tests/tools-test/Misc.js | 56 + .../__tests__/block-tests/tools-test/Time.js | 28 + .../services/tradeEngine/__tests__/jsi.js | 18 + .../__tests__/shouldRestartOnError.js | 16 + .../services/tradeEngine/__tests__/stages.js | 47 + .../services/tradeEngine/__tests__/tools.js | 83 + .../services/tradeEngine/trade/Balance.js | 36 + .../tradeEngine/trade/OpenContract.js | 72 + .../services/tradeEngine/trade/Proposal.js | 152 + .../services/tradeEngine/trade/Purchase.js | 121 + .../services/tradeEngine/trade/Sell.js | 118 + .../services/tradeEngine/trade/Ticks.js | 117 + .../services/tradeEngine/trade/Total.js | 139 + .../services/tradeEngine/trade/index.js | 166 + .../tradeEngine/trade/state/actions/index.js | 42 + .../trade/state/actions/index.spec.js | 73 + .../tradeEngine/trade/state/constants.js | 11 + .../tradeEngine/trade/state/reducers/index.js | 52 + .../trade/state/reducers/index.spec.js | 66 + .../services/tradeEngine/utils/broadcast.js | 15 + .../services/tradeEngine/utils/cliTools.js | 9 + .../services/tradeEngine/utils/helpers.js | 319 ++ .../services/tradeEngine/utils/interpreter.js | 284 ++ .../services/tradeEngine/utils/sanitize.js | 56 + src/external/bot-skeleton/utils/contract.js | 33 + .../bot-skeleton/utils/date-time-helper.js | 25 + .../bot-skeleton/utils/error-config.js | 32 + .../bot-skeleton/utils/error-handling.js | 30 + src/external/bot-skeleton/utils/error.js | 15 + .../bot-skeleton/utils/html-helper.js | 11 + src/external/bot-skeleton/utils/index.js | 10 + .../bot-skeleton/utils/local-storage.js | 70 + src/external/bot-skeleton/utils/observer.js | 111 + .../bot-skeleton/utils/pending-promise.js | 22 + .../bot-skeleton/utils/strategy-helper.js | 72 + .../bot-skeleton/utils/token-helper.js | 8 + src/external/bot-skeleton/utils/workspace.js | 45 + .../__tests__/bollinger-bands.spec.js | 80 + .../exponential-moving-average.spec.js | 33 + .../indicators/__tests__/macd.spec.js | 27 + .../indicators/__tests__/math.spec.js | 37 + .../__tests__/relative-strength-index.spec.js | 31 + .../__tests__/simple-moving-average.spec.js | 59 + src/external/indicators/index.js | 5 + .../indicators/indicators/bollinger-bands.js | 45 + .../indicators/exponential-moving-average.js | 53 + src/external/indicators/indicators/macd.js | 59 + .../indicators/relative-strength-index.js | 111 + .../indicators/simple-moving-average.js | 40 + .../indicators/test_utils/macd-data.js | 341 ++ src/external/indicators/utils/math.js | 14 + .../__tests__/useComponentVisibilty.spec.tsx | 45 + src/hooks/index.ts | 1 + src/hooks/useComponentVisibility.tsx | 32 + src/hooks/useEventListener.ts | 78 + src/hooks/useIsomorphicLayoutEffect.ts | 5 + src/hooks/useNewRowTransition.tsx | 11 + src/hooks/useOnClickOutside.tsx | 24 + src/hooks/useStore.tsx | 3 +- src/main.tsx | 2 +- .../__tests__/bot-builder.spec.tsx | 130 + .../__tests__/workspace-wrapper.spec.tsx | 102 + src/pages/bot-builder/bot-builder.tsx | 139 + src/pages/bot-builder/index.ts | 4 + .../quick-strategy/__tests__/form.spec.tsx | 248 ++ .../__tests__/quick-strategy.spec.tsx | 251 ++ .../quick-strategy/analytics/constants.ts | 21 + .../analytics/rudderstack-quick-strategy.ts | 87 + .../quick-strategy/analytics/utils.ts | 44 + .../bot-builder/quick-strategy/config.ts | 364 +++ .../descriptions/strategy-description.tsx | 52 + .../__tests__/desktop-form-wrapper.spec.tsx | 138 + .../__tests__/mobile-form-wrapper.spec.tsx | 103 + .../accordion-strategy-group.tsx | 78 + .../form-wrappers/desktop-form-wrapper.tsx | 167 + .../form-wrappers/form-tabs.tsx | 45 + .../form-wrappers/mobile-form-wrapper.tsx | 130 + .../form-wrappers/strategy-accordion.scss | 92 + .../form-wrappers/strategy-tab-content.tsx | 81 + .../form-wrappers/useQsSubmitHandler.tsx | 56 + src/pages/bot-builder/quick-strategy/form.tsx | 175 + src/pages/bot-builder/quick-strategy/index.ts | 3 + .../inputs/__tests__/qs-input-label.spec.tsx | 58 + .../inputs/__tests__/qs-input.spec.tsx | 95 + .../__tests__/qs-toggle-switch.spec.tsx | 99 + .../quick-strategy/inputs/qs-input-label.tsx | 28 + .../quick-strategy/inputs/qs-input.tsx | 157 + .../inputs/qs-toggle-switch.tsx | 77 + .../__tests__/loss-threshold-warning.spec.tsx | 93 + .../parts/loss-threshold-warning-dialog.scss | 36 + .../parts/loss-threshold-warning-dialog.tsx | 69 + .../quick-strategy/quick-strategy.scss | 667 ++++ .../quick-strategy/quick-strategy.tsx | 240 ++ .../selects/__tests__/contract_type.spec.tsx | 191 ++ .../selects/__tests__/duration_type.spec.tsx | 105 + .../selects/__tests__/symbol.spec.tsx | 123 + .../selects/__tests__/trade-type.spec.tsx | 98 + .../quick-strategy/selects/contract-type.tsx | 107 + .../quick-strategy/selects/duration-type.tsx | 94 + .../quick-strategy/selects/symbol.tsx | 140 + .../quick-strategy/selects/trade-type.tsx | 112 + src/pages/bot-builder/quick-strategy/types.ts | 131 + .../toolbar/__tests__/toolbar.spec.tsx | 84 + .../__tests__/workspace-group.spec.tsx | 145 + src/pages/bot-builder/toolbar/index.ts | 4 + .../bot-builder/toolbar/toolbar-button.tsx | 29 + .../bot-builder/toolbar/toolbar-icon.tsx | 42 + src/pages/bot-builder/toolbar/toolbar.scss | 153 + src/pages/bot-builder/toolbar/toolbar.tsx | 77 + .../bot-builder/toolbar/workspace-group.tsx | 103 + src/pages/bot-builder/toolbox/index.ts | 4 + .../search-box/__tests__/search-box.spec.tsx | 58 + .../search-box/__tests__/search-icon.spec.tsx | 59 + .../bot-builder/toolbox/search-box/index.ts | 3 + .../toolbox/search-box/search-box.tsx | 49 + .../toolbox/search-box/search-icon.tsx | 17 + .../bot-builder/toolbox/toolbox-items.tsx | 1639 ++++++++++ src/pages/bot-builder/toolbox/toolbox.scss | 198 ++ src/pages/bot-builder/toolbox/toolbox.tsx | 178 ++ src/pages/bot-builder/workspace-wrapper.tsx | 40 + src/pages/bot-builder/workspace.scss | 34 + src/pages/chart/__tests__/chart.spec.tsx | 57 + .../chart/__tests__/toolbar-widgets.spec.tsx | 80 + .../__tests__/chart-modal-desktop.spec.tsx | 60 + .../__tests__/chart-modal.spec.tsx | 67 + .../chart/chart-modal/chart-modal-desktop.tsx | 36 + src/pages/chart/chart-modal/chart-modal.scss | 96 + src/pages/chart/chart-modal/chart-modal.tsx | 17 + src/pages/chart/chart-modal/index.ts | 4 + src/pages/chart/chart.scss | 125 + src/pages/chart/chart.tsx | 85 + src/pages/chart/index.ts | 4 + src/pages/chart/toolbar-widgets.tsx | 33 + src/pages/chart/v1.ts | 44 + .../dashboard/__tests__/info-panel.spec.tsx | 61 + .../dashboard/__tests__/run-strategy.spec.tsx | 23 + .../__tests__/stop-bot-modal-content.spec.tsx | 74 + .../dashboard/__tests__/user-guide.spec.tsx | 49 + src/pages/dashboard/cards.tsx | 186 ++ src/pages/dashboard/constants.ts | 45 + src/pages/dashboard/dashboard.scss | 447 +++ src/pages/dashboard/dashboard.tsx | 97 + src/pages/dashboard/index.ts | 4 + src/pages/dashboard/info-panel.tsx | 101 + src/pages/dashboard/intro-card.tsx | 20 + .../__tests__/bot-preview.spec.tsx | 30 + .../__tests__/google-drive.spec.tsx | 104 + .../__tests__/icon-radio.spec.tsx | 93 + .../__tests__/local-footer.spec.tsx | 58 + .../load-bot-preview/__tests__/local.spec.tsx | 52 + .../__tests__/recent-footer.spec.tsx | 42 + .../__tests__/recent.spec.tsx | 82 + .../__tests__/save-modal.spec.tsx | 154 + .../__tests__/stop-bot-modal.spec.tsx | 46 + .../load-bot-preview/bot-preview.tsx | 16 + .../load-bot-preview/delete-dialog.scss | 21 + .../load-bot-preview/delete-dialog.tsx | 100 + .../load-bot-preview/google-drive.scss | 25 + .../load-bot-preview/google-drive.tsx | 75 + .../dashboard/load-bot-preview/icon-radio.tsx | 57 + .../dashboard/load-bot-preview/index.scss | 518 +++ src/pages/dashboard/load-bot-preview/index.ts | 4 + .../load-bot-preview/local-footer.tsx | 40 + .../dashboard/load-bot-preview/local.tsx | 87 + .../load-bot-preview/recent-footer.tsx | 25 + .../load-bot-preview/recent-workspace.tsx | 237 ++ .../dashboard/load-bot-preview/recent.tsx | 102 + .../load-bot-preview/save-modal.scss | 176 ++ .../dashboard/load-bot-preview/save-modal.tsx | 239 ++ .../load-bot-preview/stop-bot-modal.tsx | 28 + src/pages/dashboard/run-strategy.tsx | 10 + .../dashboard/stop-bot-modal-content.tsx | 79 + src/pages/dashboard/user-guide.tsx | 36 + src/pages/home/index.tsx | 20 +- src/pages/main/index.ts | 4 + src/pages/main/main.scss | 681 ++++ src/pages/main/main.tsx | 212 ++ .../__tests__/tutorial-tab-desktop.spec.tsx | 105 + .../__tests__/tutorial-tab-mobile.spec.tsx | 141 + .../tutorials/__tests__/tutorial-tab.spec.tsx | 40 + .../common/no-search-result-found/index.ts | 3 + .../no-search-result.tsx | 27 + .../tutorials/common/search-input/index.tsx | 66 + src/pages/tutorials/constants.ts | 485 +++ .../__tests__/tour-content.spec.tsx | 38 + .../bot-builder-tour-desktop.tsx | 51 + .../bot-builder-tour-mobile.tsx | 106 + .../dbot-tours/bot-builder-tour/index.tsx | 14 + .../common/__tests__/accordion.spec.tsx | 77 + .../__tests__/react-joyride-wrapper.spec.tsx | 50 + .../common/__tests__/tour-button.spec.tsx | 41 + .../tutorials/dbot-tours/common/accordion.tsx | 100 + .../common/react-joyride-wrapper.tsx | 58 + .../dbot-tours/common/tour-button.tsx | 22 + .../dbot-tours/common/tour-end-dialog.tsx | 72 + .../dbot-tours/common/tour-start-dialog.tsx | 98 + .../dbot-tours/common/tour-steps.tsx | 70 + .../dbot-tours/onboarding-tour/index.tsx | 14 + .../onboarding-tour-desktop.tsx | 36 + .../onboarding-tour-mobile.tsx | 176 ++ .../tutorials/dbot-tours/tour-content.tsx | 580 ++++ .../tutorials/dbot-tours/useTourHandler.tsx | 24 + src/pages/tutorials/dbot-tours/utils.ts | 45 + .../__tests__/faq-content.spec.tsx | 65 + src/pages/tutorials/faq-content/index.tsx | 156 + .../__tests__/guide-content.spec.tsx | 68 + .../tutorials/guide-content/guide-content.tsx | 190 ++ src/pages/tutorials/guide-content/index.ts | 3 + src/pages/tutorials/index.ts | 4 + .../__tests__/quick-strategy-guide.spec.tsx | 57 + .../quick-strategy-guides-details.spec.tsx | 104 + .../quick-strategy-content/index.scss | 115 + .../quick-strategy-guides-details.tsx | 115 + .../quick-strategy-guides.tsx | 42 + src/pages/tutorials/tutorials-tab-desktop.tsx | 88 + src/pages/tutorials/tutorials-tab-mobile.tsx | 131 + src/pages/tutorials/tutorials.scss | 477 +++ src/pages/tutorials/tutorials.tsx | 94 + src/pages/tutorials/tutorials.types.ts | 28 + src/public-path.ts | 18 + src/stores/__tests__/blockly-store.spec.ts | 58 + src/stores/__tests__/chart-store.spec.tsx | 161 + .../__tests__/route-prompt-store.spec.tsx | 81 + .../__tests__/self-exclusion-store.spec.tsx | 121 + src/stores/__tests__/toolbar-store.spec.tsx | 101 + src/stores/__tests__/use-dbot-store.spec.tsx | 39 + src/stores/app-store.ts | 355 +++ src/stores/blockly-store.ts | 51 + src/stores/chart-store.ts | 181 ++ src/stores/dashboard-store.ts | 433 +++ src/stores/data-collection-store.ts | 155 + src/stores/flyout-help-store.ts | 210 ++ src/stores/flyout-store.ts | 305 ++ src/stores/google-drive-store.ts | 303 ++ src/stores/index.ts | 108 +- src/stores/journal-store.ts | 249 ++ src/stores/load-modal-store.ts | 538 ++++ src/stores/quick-strategy-store.ts | 223 ++ src/stores/root-store.ts | 72 + src/stores/route-prompt-dialog-store.ts | 67 + src/stores/run-panel-store.ts | 721 +++++ src/stores/save-modal-store.ts | 193 ++ src/stores/self-exclusion-store.ts | 71 + src/stores/summary-card-store.ts | 284 ++ src/stores/toolbar-store.ts | 126 + src/stores/toolbox-store.ts | 418 +++ src/stores/transactions-store.ts | 286 ++ src/styles/constants.scss | 245 ++ src/styles/devices.scss | 62 + src/styles/fonts.scss | 68 + src/styles/mixins.scss | 311 ++ src/types/blockly.types.ts | 7 + src/types/dbot.types.ts | 31 + src/types/global.d.ts | 11 + src/types/index.ts | 5 + src/types/stores.types.ts | 30 + src/types/strategy.types.ts | 7 + src/types/ws.types.ts | 42 + .../__tests__/bot-notifications.spec.tsx | 16 + src/utils/__tests__/gtm.spec.ts | 82 + .../__tests__/journal-notifications.spec.tsx | 113 + src/utils/__tests__/multiplier.spec.ts | 36 + src/utils/__tests__/session-storage.spec.ts | 35 + src/utils/__tests__/settings.spec.tsx | 28 + src/utils/bot-notifications.ts | 30 + src/utils/clone.js | 263 ++ src/utils/datadog-logs.ts | 53 + src/utils/dom-observer.ts | 19 + src/utils/download.ts | 96 + src/utils/gtm.ts | 89 + src/utils/help-content/help-content.config.ts | 335 ++ .../help-strings/after_purchase.ts | 12 + .../help-content/help-strings/balance.ts | 13 + .../help-strings/before_purchase.ts | 12 + .../help-strings/check_direction.ts | 16 + .../help-content/help-strings/console.ts | 14 + .../help-strings/contract_check_result.ts | 16 + .../help-strings/controls_flow_statements.ts | 16 + .../help-content/help-strings/controls_for.ts | 14 + .../help-strings/controls_forEach.ts | 14 + .../help-content/help-strings/controls_if.ts | 9 + .../help-strings/controls_whileUntil.ts | 14 + .../help-strings/during_purchase.ts | 10 + src/utils/help-content/help-strings/epoch.ts | 11 + .../help-content/help-strings/get_ohlc.ts | 11 + src/utils/help-content/help-strings/index.ts | 41 + .../help-strings/is_candle_black.ts | 24 + .../help-content/help-strings/last_digit.ts | 9 + .../help-strings/logic_operation.ts | 13 + .../help-strings/math_arithmetic.ts | 13 + .../help-strings/math_constrain.ts | 13 + .../help-content/help-strings/math_single.ts | 14 + .../help-strings/notify_telegram.ts | 26 + src/utils/help-content/help-strings/ohlc.ts | 10 + .../help-content/help-strings/ohlc_values.ts | 12 + .../help-strings/ohlc_values_in_list.ts | 11 + .../help-strings/procedures_ifreturn.ts | 8 + .../help-content/help-strings/read_details.ts | 21 + .../help-content/help-strings/read_ohlc.ts | 17 + .../help-strings/read_ohlc_obj.ts | 10 + .../help-strings/sell_at_market.ts | 10 + .../help-content/help-strings/sell_price.ts | 12 + .../help-strings/sma_statement.ts | 37 + .../help-content/help-strings/text_print.ts | 9 + .../help-strings/text_prompt_ext.ts | 9 + .../help-strings/tick_analysis.ts | 9 + .../help-content/help-strings/todatetime.ts | 11 + .../help-content/help-strings/totimestamp.ts | 11 + .../help-content/help-strings/trade_again.ts | 10 + .../help-strings/trade_definition.ts | 27 + .../trade_definition_multiplier.tsx | 14 + .../trade_definition_tradeoptions.ts | 10 + .../help-strings/variables_set.ts | 13 + src/utils/journal-notifications.ts | 81 + src/utils/mock/contract.ts | 19 + src/utils/mock/index.ts | 1 + src/utils/mock/mock-local-storage.ts | 21 + src/utils/mock/ws-mock.ts | 29 + src/utils/multiplier.ts | 21 + src/utils/session-storage.ts | 36 + src/utils/settings.ts | 22 + src/utils/site-config.ts | 4 + src/utils/store-helpers.tsx | 13 + src/utils/tmp/connection-helper.ts | 19 + src/utils/tmp/contract-helper.ts | 31 + src/utils/tmp/currency-helper.ts | 333 ++ src/utils/tmp/dummy.tsx | 233 ++ src/utils/tmp/errors.ts | 42 + src/utils/tmp/goog-helper.ts | 94 + src/utils/tmp/local-storage-helper.ts | 254 ++ src/utils/tmp/object-helper.ts | 92 + src/utils/tmp/os-detect.ts | 122 + src/utils/tmp/time-helper.ts | 313 ++ src/utils/tmp/validator.ts | 134 + src/utils/xml-dom-quick-strategy.ts | 37 + src/xml/1_3_2_6.xml | 754 +++++ src/xml/dalembert.xml | 775 +++++ src/xml/dalembert_max-stake.xml | 806 +++++ src/xml/martingale.xml | 734 +++++ src/xml/martingale_max-stake.xml | 764 +++++ src/xml/oscars_grind.xml | 846 +++++ src/xml/oscars_grind_max-stake.xml | 1223 +++++++ src/xml/reverse_dalembert.xml | 766 +++++ src/xml/reverse_martingale.xml | 765 +++++ tsconfig.json | 7 +- vite.config.ts | 5 +- 889 files changed, 85519 insertions(+), 823 deletions(-) create mode 100644 public/media/1x1.gif create mode 100644 public/media/announcement.mp3 create mode 100644 public/media/click.mp3 create mode 100644 public/media/click.ogg create mode 100644 public/media/click.wav create mode 100644 public/media/coins.mp3 create mode 100644 public/media/comment-arrow-down.svg create mode 100644 public/media/comment-arrow-up.svg create mode 100644 public/media/create_variable.jpg create mode 100644 public/media/delete-x.svg create mode 100644 public/media/delete.mp3 create mode 100644 public/media/delete.ogg create mode 100644 public/media/delete.wav create mode 100644 public/media/dropdown-arrow-dark.svg create mode 100644 public/media/dropdown-arrow.svg create mode 100644 public/media/extensions/microbit-block-icon.svg create mode 100644 public/media/extensions/music-block-icon.svg create mode 100644 public/media/extensions/pen-block-icon.svg create mode 100644 public/media/extensions/wedo2-block-icon.svg create mode 100644 public/media/eyedropper.svg create mode 100644 public/media/green-flag.svg create mode 100644 public/media/handclosed.cur create mode 100644 public/media/handdelete.cur create mode 100644 public/media/handopen.cur create mode 100644 public/media/i-am-being-serious.mp3 create mode 100644 public/media/ic-chevron-down-bold.svg create mode 100644 public/media/icons/arrow.svg create mode 100644 public/media/icons/arrow_button.svg create mode 100755 public/media/icons/control_forever.svg create mode 100755 public/media/icons/control_repeat.svg create mode 100644 public/media/icons/control_stop.svg create mode 100755 public/media/icons/control_wait.svg create mode 100755 public/media/icons/event_broadcast_blue.svg create mode 100755 public/media/icons/event_broadcast_coral.svg create mode 100755 public/media/icons/event_broadcast_green.svg create mode 100755 public/media/icons/event_broadcast_magenta.svg create mode 100755 public/media/icons/event_broadcast_orange.svg create mode 100755 public/media/icons/event_broadcast_purple.svg create mode 100755 public/media/icons/event_when-broadcast-received_blue.svg create mode 100755 public/media/icons/event_when-broadcast-received_coral.svg create mode 100755 public/media/icons/event_when-broadcast-received_green.svg create mode 100755 public/media/icons/event_when-broadcast-received_magenta.svg create mode 100755 public/media/icons/event_when-broadcast-received_orange.svg create mode 100755 public/media/icons/event_when-broadcast-received_purple.svg create mode 100755 public/media/icons/event_whenflagclicked.svg create mode 100644 public/media/icons/remove.svg create mode 100755 public/media/icons/set-led_blue.svg create mode 100755 public/media/icons/set-led_coral.svg create mode 100755 public/media/icons/set-led_green.svg create mode 100755 public/media/icons/set-led_magenta.svg create mode 100755 public/media/icons/set-led_mystery.svg create mode 100755 public/media/icons/set-led_orange.svg create mode 100755 public/media/icons/set-led_purple.svg create mode 100755 public/media/icons/set-led_white.svg create mode 100755 public/media/icons/set-led_yellow.svg create mode 100755 public/media/icons/wedo_motor-clockwise.svg create mode 100755 public/media/icons/wedo_motor-counterclockwise.svg create mode 100644 public/media/icons/wedo_motor-speed_fast.svg create mode 100644 public/media/icons/wedo_motor-speed_med.svg create mode 100644 public/media/icons/wedo_motor-speed_slow.svg create mode 100755 public/media/icons/wedo_when-distance_close.svg create mode 100755 public/media/icons/wedo_when-tilt-backward.svg create mode 100755 public/media/icons/wedo_when-tilt-forward.svg create mode 100755 public/media/icons/wedo_when-tilt-left.svg create mode 100755 public/media/icons/wedo_when-tilt-right.svg create mode 100755 public/media/icons/wedo_when-tilt.svg create mode 100644 public/media/is_candle_black.jpeg create mode 100644 public/media/is_candle_black_1.jpeg create mode 100644 public/media/job-done.mp3 create mode 100644 public/media/logic.png create mode 100644 public/media/out-of-bounds.mp3 create mode 100644 public/media/repeat.svg create mode 100644 public/media/rotate-left.svg create mode 100644 public/media/rotate-right.svg create mode 100644 public/media/set_variable.png create mode 100644 public/media/sma_array_explanation.jpeg create mode 100644 public/media/sma_chart_1.png create mode 100644 public/media/sma_chart_2.png create mode 100644 public/media/sma_formula.png create mode 100644 public/media/sprites.png create mode 100644 public/media/sprites.svg create mode 100644 public/media/status-not-ready.svg create mode 100644 public/media/status-ready.svg create mode 100644 public/media/zoom-in.svg create mode 100644 public/media/zoom-out.svg create mode 100644 public/media/zoom-reset.svg rename src/{ => app}/App.tsx (73%) create mode 100644 src/app/__tests__/app-content.spec.tsx create mode 100644 src/app/__tests__/app-main.spec.tsx create mode 100644 src/app/__tests__/app.spec.tsx create mode 100644 src/app/__tests__/dbot-providers.spec.tsx create mode 100644 src/app/app-content.jsx create mode 100644 src/app/app.scss create mode 100644 src/app/index.ts create mode 100644 src/components/__tests__/bot-stopped.spec.tsx create mode 100644 src/components/audio/__tests__/audio.spec.tsx create mode 100644 src/components/audio/audio.tsx create mode 100644 src/components/audio/index.ts create mode 100644 src/components/blockly-loading/__tests__/blockly-loading.spec.tsx create mode 100644 src/components/blockly-loading/blockly-loading.scss create mode 100644 src/components/blockly-loading/blockly-loading.tsx create mode 100644 src/components/blockly-loading/index.ts create mode 100644 src/components/bot-notification-messages/__tests__/bot-notification-messages.spec.tsx create mode 100644 src/components/bot-notification-messages/bot-notification-messages.scss create mode 100644 src/components/bot-notification-messages/bot-notification-messages.tsx create mode 100644 src/components/bot-notification-messages/index.ts create mode 100644 src/components/bot-notification/__tests__/bot-notification.spec.tsx create mode 100644 src/components/bot-notification/bot-notification-utils.ts create mode 100644 src/components/bot-notification/bot-notification.scss create mode 100644 src/components/bot-notification/bot-notification.tsx create mode 100644 src/components/bot-stopped.tsx create mode 100644 src/components/contract-card-loading/__tests__/contract-card-loading.spec.tsx create mode 100644 src/components/contract-card-loading/contract-card-loading.tsx create mode 100644 src/components/contract-card-loading/index.ts create mode 100644 src/components/contract-result-overlay/__tests__/contract-result-overlay.spec.tsx create mode 100644 src/components/contract-result-overlay/contract-result-overlay.scss create mode 100644 src/components/contract-result-overlay/contract-result-overlay.tsx create mode 100644 src/components/contract-result-overlay/index.ts create mode 100644 src/components/download/__tests__/download.spec.tsx create mode 100644 src/components/download/download.scss create mode 100644 src/components/download/download.tsx create mode 100644 src/components/download/index.ts create mode 100644 src/components/draggable/__tests__/draggable-utils.spec.tsx create mode 100644 src/components/draggable/__tests__/draggable.spec.tsx create mode 100644 src/components/draggable/draggable-resize-wrapper.tsx create mode 100644 src/components/draggable/draggable-utils.ts create mode 100644 src/components/draggable/draggable.scss create mode 100644 src/components/draggable/draggable.tsx create mode 100644 src/components/draggable/index.ts create mode 100644 src/components/flyout/__tests__/flyout-block-group.spec.tsx create mode 100644 src/components/flyout/__tests__/flyout-block.spec.tsx create mode 100644 src/components/flyout/__tests__/flyout.spec.tsx create mode 100644 src/components/flyout/flyout-block-group.tsx create mode 100644 src/components/flyout/flyout-block.tsx create mode 100644 src/components/flyout/flyout.scss create mode 100644 src/components/flyout/flyout.tsx create mode 100644 src/components/flyout/help-contents/__tests__/flyout-help-base.spec.tsx create mode 100644 src/components/flyout/help-contents/__tests__/flyout-img.spec.tsx create mode 100644 src/components/flyout/help-contents/__tests__/flyout-text.spec.tsx create mode 100644 src/components/flyout/help-contents/__tests__/flyout-video.spec.tsx create mode 100644 src/components/flyout/help-contents/flyout-help-base.tsx create mode 100644 src/components/flyout/help-contents/flyout-img.tsx create mode 100644 src/components/flyout/help-contents/flyout-text.tsx create mode 100644 src/components/flyout/help-contents/flyout-video.tsx create mode 100644 src/components/flyout/help-contents/index.ts create mode 100644 src/components/flyout/index.ts delete mode 100644 src/components/index.ts create mode 100644 src/components/journal/__tests__/journal.spec.tsx create mode 100644 src/components/journal/index.ts create mode 100644 src/components/journal/journal-components/__tests__/date-item.spec.tsx create mode 100644 src/components/journal/journal-components/__tests__/filter-dialog.spec.tsx create mode 100644 src/components/journal/journal-components/__tests__/filters.spec.tsx create mode 100644 src/components/journal/journal-components/__tests__/format-message.spec.tsx create mode 100644 src/components/journal/journal-components/__tests__/journal-item.spec.tsx create mode 100644 src/components/journal/journal-components/__tests__/journal-loader.spec.tsx create mode 100644 src/components/journal/journal-components/__tests__/journal-tools.spec.tsx create mode 100644 src/components/journal/journal-components/date-item.tsx create mode 100644 src/components/journal/journal-components/filter-dialog.tsx create mode 100644 src/components/journal/journal-components/filters.tsx create mode 100644 src/components/journal/journal-components/format-message.tsx create mode 100644 src/components/journal/journal-components/index.ts create mode 100644 src/components/journal/journal-components/journal-item.tsx create mode 100644 src/components/journal/journal-components/journal-loader.tsx create mode 100644 src/components/journal/journal-components/journal-tools.tsx create mode 100644 src/components/journal/journal.scss create mode 100644 src/components/journal/journal.tsx create mode 100644 src/components/journal/journal.types.ts create mode 100644 src/components/load-modal/__tests__/load-modal.spec.tsx create mode 100644 src/components/load-modal/__tests__/local-footer.spec.tsx create mode 100644 src/components/load-modal/__tests__/recent-footer.spec.tsx create mode 100644 src/components/load-modal/__tests__/recent-workspace.spec.tsx create mode 100644 src/components/load-modal/__tests__/recent.spec.tsx create mode 100644 src/components/load-modal/__tests__/workspace-control.spec.tsx create mode 100644 src/components/load-modal/index.ts create mode 100644 src/components/load-modal/load-modal.scss create mode 100644 src/components/load-modal/load-modal.tsx create mode 100644 src/components/load-modal/local-footer.tsx create mode 100644 src/components/load-modal/local.tsx create mode 100644 src/components/load-modal/recent-footer.tsx create mode 100644 src/components/load-modal/recent-workspace.tsx create mode 100644 src/components/load-modal/recent.tsx create mode 100644 src/components/load-modal/workspace-control.tsx create mode 100644 src/components/network-toast-popup/__tests__/network-toast-popup.spec.tsx create mode 100644 src/components/network-toast-popup/index.ts create mode 100644 src/components/network-toast-popup/network-toast-popup.tsx create mode 100644 src/components/notify-item/__tests__/notify-item.spec.tsx create mode 100644 src/components/notify-item/index.ts create mode 100644 src/components/notify-item/notify-item.scss create mode 100644 src/components/notify-item/notify-item.tsx create mode 100644 src/components/route-prompt-dialog/__tests__/route-prompt-dialog.spec.tsx create mode 100644 src/components/route-prompt-dialog/index.ts create mode 100644 src/components/route-prompt-dialog/route-prompt-dialog.tsx create mode 100644 src/components/run-panel/__tests__/run-panel.spec.tsx create mode 100644 src/components/run-panel/index.ts create mode 100644 src/components/run-panel/run-panel.scss create mode 100644 src/components/run-panel/run-panel.tsx create mode 100644 src/components/self-exclusion/index.ts create mode 100644 src/components/self-exclusion/self-exclusion.jsx create mode 100644 src/components/summary/__tests__/summary-card.spec.tsx create mode 100644 src/components/summary/__tests__/summary.spec.tsx create mode 100644 src/components/summary/index.ts create mode 100644 src/components/summary/summary-card.scss create mode 100644 src/components/summary/summary-card.tsx create mode 100644 src/components/summary/summary-card.types.ts create mode 100644 src/components/summary/summary.scss create mode 100644 src/components/summary/summary.tsx create mode 100644 src/components/trade-animation/__tests__/circular-wrapper.spec.tsx create mode 100644 src/components/trade-animation/__tests__/contract-stage-text.spec.tsx create mode 100644 src/components/trade-animation/__tests__/trade-animation.spec.tsx create mode 100644 src/components/trade-animation/circular-wrapper.tsx create mode 100644 src/components/trade-animation/contract-stage-text.tsx create mode 100644 src/components/trade-animation/index.ts create mode 100644 src/components/trade-animation/trade-animation.scss create mode 100644 src/components/trade-animation/trade-animation.tsx create mode 100644 src/components/trading-view-chart/__tests__/trading-view-modal.spec.tsx create mode 100644 src/components/trading-view-chart/__tests__/trading-view.spec.tsx create mode 100644 src/components/trading-view-chart/trading-view-modal.tsx create mode 100644 src/components/trading-view-chart/trading-view.tsx create mode 100644 src/components/transaction-details/__tests__/desktop-transaction-table.spec.tsx create mode 100644 src/components/transaction-details/__tests__/mobile-transaction-card.spec.tsx create mode 100644 src/components/transaction-details/__tests__/transaction-details-desktop.spec.tsx create mode 100644 src/components/transaction-details/__tests__/transaction-details-mobile.spec.tsx create mode 100644 src/components/transaction-details/__tests__/transaction-details.spec.tsx create mode 100644 src/components/transaction-details/desktop-transaction-table.tsx create mode 100644 src/components/transaction-details/index.ts create mode 100644 src/components/transaction-details/mobile-transaction-card.tsx create mode 100644 src/components/transaction-details/transaction-details-desktop.scss create mode 100644 src/components/transaction-details/transaction-details-desktop.tsx create mode 100644 src/components/transaction-details/transaction-details-mobile.scss create mode 100644 src/components/transaction-details/transaction-details-mobile.tsx create mode 100644 src/components/transaction-details/transaction-details.tsx create mode 100644 src/components/transaction-details/transaction-details.types.ts create mode 100644 src/components/transactions/__tests__/transaction.spec.tsx create mode 100644 src/components/transactions/__tests__/transactions.spec.tsx create mode 100644 src/components/transactions/index.js create mode 100644 src/components/transactions/transaction.tsx create mode 100644 src/components/transactions/transactions.scss create mode 100644 src/components/transactions/transactions.tsx create mode 100644 src/constants/bot-contents.ts create mode 100644 src/constants/button-status.ts create mode 100644 src/constants/contract-stage.ts create mode 100644 src/constants/contract.ts create mode 100644 src/constants/dashboard.ts create mode 100644 src/constants/load-modal.ts create mode 100644 src/constants/quick-strategies/d_alembert.ts create mode 100644 src/constants/quick-strategies/index.ts create mode 100644 src/constants/quick-strategies/martingale.ts create mode 100644 src/constants/quick-strategies/oscars_grind.ts create mode 100644 src/constants/quick-strategies/reverse_dalembert.ts create mode 100644 src/constants/quick-strategies/reverse_martingale.ts create mode 100644 src/constants/quick-strategies/strategy_1_3_2_6.ts create mode 100644 src/constants/run-panel.ts create mode 100644 src/constants/transactions.ts create mode 100644 src/constants/z-indexes.ts create mode 100644 src/external/bot-skeleton/constants/config.ts create mode 100644 src/external/bot-skeleton/constants/index.ts create mode 100644 src/external/bot-skeleton/constants/messages.ts create mode 100644 src/external/bot-skeleton/constants/save-type.ts create mode 100644 src/external/bot-skeleton/examples/cli-examples/speed-test.js create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/Alternate Even-Odd.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/Get previous tick candle or RSI.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/Get the last digit after purchase.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/Great Martingale.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/alternate call put on loss.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/buy_on_desired_net_profit.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/is candle new package.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/macd_signal_range.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/martingale_alternate_even_odd.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/moving-average-example.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/pause 10s after 3 runs.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/rsi call put.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/simple_three_line_strike.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/sma_compare_threshold.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/switch_barrier_sign.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/misc/wait 3 mins after 3 loss.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/money-management/index.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/money-management/stop_loss.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/money-management/take_profit.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/money-management/take_profit_and_stop_loss.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/price-actions/three line strike.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/3 same candle colors.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/Candle Analysis Revised.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/Greate Martingale.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/Use last digit in trade definition.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/alternate 3 times then change order (1).xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/alternate call put martingale.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/alternate call put on new candle.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/alternate-call-up-on-two-loss.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/dalembert_predefined_params.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/fixed package for carloscarraro.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/get last digit after purchase.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/green_or_red_on_new_candle.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/is stripes pattern.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/last digit demo.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/martingale_alternate_even_odd_with_timeout.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/prediction example.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/reset_martingale_after_5_loss.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/reset_martingale_after_5_trades.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/start martingale after 2 loss.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/static_stake_martingale.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/switch_contract_type_on_loss_with_martingale.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/two predictions.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/random/var_set_test.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/risk-management/dalembert.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/risk-management/martingale reset on expected.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/risk-management/martingale.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/risk-management/oscars_grind.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/tools/body_percentage.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/tools/index.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/tools/is candle new.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/tools/is stripes pattern.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/tools/is_downtrend.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/tools/is_uptrend.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/tools/lower_shadow_percentage.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/tools/test_suite.xml create mode 100644 src/external/bot-skeleton/examples/xml-examples/tools/upper_shadow_percentage.xml create mode 100644 src/external/bot-skeleton/images/create_variable.jpg create mode 100644 src/external/bot-skeleton/images/ic-chevron-down-bold.svg create mode 100644 src/external/bot-skeleton/images/is_candle_black.jpeg create mode 100644 src/external/bot-skeleton/images/is_candle_black_1.jpeg create mode 100644 src/external/bot-skeleton/images/logic.png create mode 100644 src/external/bot-skeleton/images/set_variable.png create mode 100644 src/external/bot-skeleton/images/sma_array_explanation.jpeg create mode 100644 src/external/bot-skeleton/images/sma_chart_1.png create mode 100644 src/external/bot-skeleton/images/sma_chart_2.png create mode 100644 src/external/bot-skeleton/images/sma_formula.png create mode 100644 src/external/bot-skeleton/index.js create mode 100644 src/external/bot-skeleton/scratch/backward-compatibility.js create mode 100644 src/external/bot-skeleton/scratch/blockly.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Functions/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Functions/procedures_callnoreturn.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Functions/procedures_callreturn.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Functions/procedures_defnoreturn.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Functions/procedures_defreturn.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Functions/procedures_ifreturn.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/List/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/List/lists_create_with.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/List/lists_getIndex.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/List/lists_getSublist.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/List/lists_indexOf.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/List/lists_isEmpty.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/List/lists_length.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/List/lists_repeat.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/List/lists_setIndex.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/List/lists_sort.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/List/lists_split.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/List/lists_statement.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Loops/controls_flow_statements.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Loops/controls_for.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Loops/controls_forEach.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Loops/controls_repeat.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Loops/controls_repeat_ext.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Loops/controls_whileUntil.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Loops/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Variable/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Variable/variables_get.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Advanced/Variable/variables_set.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/After Purchase/after_purchase.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/After Purchase/check_result.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/After Purchase/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/After Purchase/read_details.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/After Purchase/trade_again.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Before Purchase/ask_price.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Before Purchase/before_purchase.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Before Purchase/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Before Purchase/payout.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Before Purchase/purchase.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/During Purchase/check_sell.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/During Purchase/during_purchase.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/During Purchase/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/During Purchase/sell_at_market.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/During Purchase/sell_price.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/Parts/fast_ema_period.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/Parts/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/Parts/input_list.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/Parts/period.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/Parts/signal_ema_period.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/Parts/slow_ema_period.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/Parts/std_dev_multiplier_down.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/Parts/std_dev_multiplier_up.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/bb_statement.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/bba_statement.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/ema_statement.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/emaa_statement.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/macda_statement.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/rsi_statement.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/rsia_statement.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/sma_statement.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Indicators/smaa_statement.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tick Analysis/check_direction.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tick Analysis/get_ohlc.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tick Analysis/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tick Analysis/lastDigitList.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tick Analysis/last_digit.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tick Analysis/ohlc.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tick Analysis/ohlc_values.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tick Analysis/readOhlc.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tick Analysis/tick.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tick Analysis/tick_analysis.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tick Analysis/ticks.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Candle/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Candle/is_candle_black.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Candle/ohlc_values_in_list.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Candle/read_ohlc_obj.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Misc/balance.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Misc/barrier_offset.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Misc/block_holder.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Misc/console.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Misc/index.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Misc/loader.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Misc/notify.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Misc/notify_telegram.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Misc/total_profit.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Misc/total_runs.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Misc/useless_block.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Time/epoch.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Time/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Time/timeout.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Time/todatetime.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Tools/Time/totimestamp.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Trade Definition/index.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Trade Definition/multiplier_stop_loss.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Trade Definition/multiplier_take_profit.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Trade Definition/trade_definition.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Trade Definition/trade_definition_candleinterval.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Trade Definition/trade_definition_contracttype.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Trade Definition/trade_definition_market.js create mode 100644 src/external/bot-skeleton/scratch/blocks/Binary/Trade Definition/trade_definition_multiplier.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Trade Definition/trade_definition_restartbuysell.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Trade Definition/trade_definition_restartonerror.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Trade Definition/trade_definition_tradeoptions.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Binary/Trade Definition/trade_definition_tradetype.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Logic/controls_if.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Logic/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Logic/logic_boolean.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Logic/logic_compare.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Logic/logic_negate.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Logic/logic_null.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Logic/logic_operation.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Logic/logic_ternary.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_arithmetic.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_change.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_constant.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_constrain.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_modulo.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_number.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_number_positive.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_number_property.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_on_list.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_random_float.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_random_int.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_round.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_single.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Math/math_trig.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/index.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text_append.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text_changeCase.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text_charAt.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text_getSubstring.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text_indexOf.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text_isEmpty.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text_join.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text_length.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text_print.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text_prompt_ext.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text_statement.js create mode 100755 src/external/bot-skeleton/scratch/blocks/Text/text_trim.js create mode 100644 src/external/bot-skeleton/scratch/blocks/images.js create mode 100644 src/external/bot-skeleton/scratch/blocks/index.js create mode 100644 src/external/bot-skeleton/scratch/dbot-store.js create mode 100644 src/external/bot-skeleton/scratch/dbot.js create mode 100644 src/external/bot-skeleton/scratch/hooks/.eslintrc.js create mode 100644 src/external/bot-skeleton/scratch/hooks/block.js create mode 100644 src/external/bot-skeleton/scratch/hooks/block_render_svg_vertical.js create mode 100644 src/external/bot-skeleton/scratch/hooks/block_svg.js create mode 100644 src/external/bot-skeleton/scratch/hooks/colours.js create mode 100644 src/external/bot-skeleton/scratch/hooks/connection.js create mode 100644 src/external/bot-skeleton/scratch/hooks/constant.js create mode 100644 src/external/bot-skeleton/scratch/hooks/contextmenu.js create mode 100644 src/external/bot-skeleton/scratch/hooks/css.js create mode 100644 src/external/bot-skeleton/scratch/hooks/data_category.js create mode 100644 src/external/bot-skeleton/scratch/hooks/field.js create mode 100644 src/external/bot-skeleton/scratch/hooks/field_dropdown.js create mode 100644 src/external/bot-skeleton/scratch/hooks/field_image.js create mode 100644 src/external/bot-skeleton/scratch/hooks/field_textinput.js create mode 100644 src/external/bot-skeleton/scratch/hooks/flyout_base.js create mode 100644 src/external/bot-skeleton/scratch/hooks/gesture.js create mode 100644 src/external/bot-skeleton/scratch/hooks/icon.js create mode 100644 src/external/bot-skeleton/scratch/hooks/index.js create mode 100644 src/external/bot-skeleton/scratch/hooks/inject.js create mode 100644 src/external/bot-skeleton/scratch/hooks/procedures.js create mode 100644 src/external/bot-skeleton/scratch/hooks/scratch_block_comment.js create mode 100644 src/external/bot-skeleton/scratch/hooks/tooltip.js create mode 100644 src/external/bot-skeleton/scratch/hooks/trashcan.js create mode 100644 src/external/bot-skeleton/scratch/hooks/utils.js create mode 100644 src/external/bot-skeleton/scratch/hooks/variable_map.js create mode 100644 src/external/bot-skeleton/scratch/hooks/variables.js create mode 100644 src/external/bot-skeleton/scratch/hooks/workspace.js create mode 100644 src/external/bot-skeleton/scratch/hooks/workspace_audio.js create mode 100644 src/external/bot-skeleton/scratch/hooks/workspace_svg.js create mode 100644 src/external/bot-skeleton/scratch/hooks/xml.js create mode 100644 src/external/bot-skeleton/scratch/index.js create mode 100644 src/external/bot-skeleton/scratch/shared.js create mode 100644 src/external/bot-skeleton/scratch/utils/index.js create mode 100644 src/external/bot-skeleton/scratch/xml/main.xml create mode 100644 src/external/bot-skeleton/services/api/__tests__/ticks-service.js create mode 100644 src/external/bot-skeleton/services/api/account-limits.js create mode 100644 src/external/bot-skeleton/services/api/active-symbols.js create mode 100644 src/external/bot-skeleton/services/api/api-base.js create mode 100644 src/external/bot-skeleton/services/api/api-helpers.js create mode 100644 src/external/bot-skeleton/services/api/api-middleware.js create mode 100644 src/external/bot-skeleton/services/api/appId.js create mode 100644 src/external/bot-skeleton/services/api/appIdResolver.js create mode 100644 src/external/bot-skeleton/services/api/contracts-for.js create mode 100644 src/external/bot-skeleton/services/api/index.js create mode 100644 src/external/bot-skeleton/services/api/network_monitor.js create mode 100644 src/external/bot-skeleton/services/api/server_time.js create mode 100644 src/external/bot-skeleton/services/api/ticks_service.js create mode 100644 src/external/bot-skeleton/services/api/trading-times.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/Interface/BotInterface.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/Interface/CandleInterface.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/Interface/IndicatorsInterface.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/Interface/MiscInterface.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/Interface/TicksInterface.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/Interface/ToolsInterface.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/Interface/index.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/BotApi.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/Core.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/StopStart.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/UI.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/block-tests/After.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/block-tests/Before.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/block-tests/During.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/block-tests/Ticks.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/block-tests/indicators.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/block-tests/sanitize-test/Blocks.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/block-tests/sanitize-test/Trade.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/block-tests/tools-test/Candles.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/block-tests/tools-test/Misc.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/block-tests/tools-test/Time.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/jsi.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/shouldRestartOnError.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/stages.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/__tests__/tools.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/Balance.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/OpenContract.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/Proposal.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/Purchase.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/Sell.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/Ticks.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/Total.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/index.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/state/actions/index.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/state/actions/index.spec.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/state/constants.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/state/reducers/index.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/trade/state/reducers/index.spec.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/utils/broadcast.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/utils/cliTools.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/utils/helpers.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/utils/interpreter.js create mode 100644 src/external/bot-skeleton/services/tradeEngine/utils/sanitize.js create mode 100644 src/external/bot-skeleton/utils/contract.js create mode 100644 src/external/bot-skeleton/utils/date-time-helper.js create mode 100644 src/external/bot-skeleton/utils/error-config.js create mode 100644 src/external/bot-skeleton/utils/error-handling.js create mode 100644 src/external/bot-skeleton/utils/error.js create mode 100644 src/external/bot-skeleton/utils/html-helper.js create mode 100644 src/external/bot-skeleton/utils/index.js create mode 100644 src/external/bot-skeleton/utils/local-storage.js create mode 100644 src/external/bot-skeleton/utils/observer.js create mode 100644 src/external/bot-skeleton/utils/pending-promise.js create mode 100644 src/external/bot-skeleton/utils/strategy-helper.js create mode 100644 src/external/bot-skeleton/utils/token-helper.js create mode 100644 src/external/bot-skeleton/utils/workspace.js create mode 100644 src/external/indicators/__tests__/bollinger-bands.spec.js create mode 100644 src/external/indicators/__tests__/exponential-moving-average.spec.js create mode 100644 src/external/indicators/__tests__/macd.spec.js create mode 100644 src/external/indicators/__tests__/math.spec.js create mode 100644 src/external/indicators/__tests__/relative-strength-index.spec.js create mode 100644 src/external/indicators/__tests__/simple-moving-average.spec.js create mode 100644 src/external/indicators/index.js create mode 100644 src/external/indicators/indicators/bollinger-bands.js create mode 100644 src/external/indicators/indicators/exponential-moving-average.js create mode 100644 src/external/indicators/indicators/macd.js create mode 100644 src/external/indicators/indicators/relative-strength-index.js create mode 100644 src/external/indicators/indicators/simple-moving-average.js create mode 100644 src/external/indicators/test_utils/macd-data.js create mode 100644 src/external/indicators/utils/math.js create mode 100644 src/hooks/__tests__/useComponentVisibilty.spec.tsx create mode 100644 src/hooks/useComponentVisibility.tsx create mode 100644 src/hooks/useEventListener.ts create mode 100644 src/hooks/useIsomorphicLayoutEffect.ts create mode 100644 src/hooks/useNewRowTransition.tsx create mode 100644 src/hooks/useOnClickOutside.tsx create mode 100644 src/pages/bot-builder/__tests__/bot-builder.spec.tsx create mode 100644 src/pages/bot-builder/__tests__/workspace-wrapper.spec.tsx create mode 100644 src/pages/bot-builder/bot-builder.tsx create mode 100644 src/pages/bot-builder/index.ts create mode 100644 src/pages/bot-builder/quick-strategy/__tests__/form.spec.tsx create mode 100644 src/pages/bot-builder/quick-strategy/__tests__/quick-strategy.spec.tsx create mode 100644 src/pages/bot-builder/quick-strategy/analytics/constants.ts create mode 100644 src/pages/bot-builder/quick-strategy/analytics/rudderstack-quick-strategy.ts create mode 100644 src/pages/bot-builder/quick-strategy/analytics/utils.ts create mode 100644 src/pages/bot-builder/quick-strategy/config.ts create mode 100644 src/pages/bot-builder/quick-strategy/descriptions/strategy-description.tsx create mode 100644 src/pages/bot-builder/quick-strategy/form-wrappers/__tests__/desktop-form-wrapper.spec.tsx create mode 100644 src/pages/bot-builder/quick-strategy/form-wrappers/__tests__/mobile-form-wrapper.spec.tsx create mode 100644 src/pages/bot-builder/quick-strategy/form-wrappers/accordion-strategy-group.tsx create mode 100644 src/pages/bot-builder/quick-strategy/form-wrappers/desktop-form-wrapper.tsx create mode 100644 src/pages/bot-builder/quick-strategy/form-wrappers/form-tabs.tsx create mode 100644 src/pages/bot-builder/quick-strategy/form-wrappers/mobile-form-wrapper.tsx create mode 100644 src/pages/bot-builder/quick-strategy/form-wrappers/strategy-accordion.scss create mode 100644 src/pages/bot-builder/quick-strategy/form-wrappers/strategy-tab-content.tsx create mode 100644 src/pages/bot-builder/quick-strategy/form-wrappers/useQsSubmitHandler.tsx create mode 100644 src/pages/bot-builder/quick-strategy/form.tsx create mode 100644 src/pages/bot-builder/quick-strategy/index.ts create mode 100644 src/pages/bot-builder/quick-strategy/inputs/__tests__/qs-input-label.spec.tsx create mode 100644 src/pages/bot-builder/quick-strategy/inputs/__tests__/qs-input.spec.tsx create mode 100644 src/pages/bot-builder/quick-strategy/inputs/__tests__/qs-toggle-switch.spec.tsx create mode 100644 src/pages/bot-builder/quick-strategy/inputs/qs-input-label.tsx create mode 100644 src/pages/bot-builder/quick-strategy/inputs/qs-input.tsx create mode 100644 src/pages/bot-builder/quick-strategy/inputs/qs-toggle-switch.tsx create mode 100644 src/pages/bot-builder/quick-strategy/parts/__tests__/loss-threshold-warning.spec.tsx create mode 100644 src/pages/bot-builder/quick-strategy/parts/loss-threshold-warning-dialog.scss create mode 100644 src/pages/bot-builder/quick-strategy/parts/loss-threshold-warning-dialog.tsx create mode 100644 src/pages/bot-builder/quick-strategy/quick-strategy.scss create mode 100644 src/pages/bot-builder/quick-strategy/quick-strategy.tsx create mode 100644 src/pages/bot-builder/quick-strategy/selects/__tests__/contract_type.spec.tsx create mode 100644 src/pages/bot-builder/quick-strategy/selects/__tests__/duration_type.spec.tsx create mode 100644 src/pages/bot-builder/quick-strategy/selects/__tests__/symbol.spec.tsx create mode 100644 src/pages/bot-builder/quick-strategy/selects/__tests__/trade-type.spec.tsx create mode 100644 src/pages/bot-builder/quick-strategy/selects/contract-type.tsx create mode 100644 src/pages/bot-builder/quick-strategy/selects/duration-type.tsx create mode 100644 src/pages/bot-builder/quick-strategy/selects/symbol.tsx create mode 100644 src/pages/bot-builder/quick-strategy/selects/trade-type.tsx create mode 100644 src/pages/bot-builder/quick-strategy/types.ts create mode 100644 src/pages/bot-builder/toolbar/__tests__/toolbar.spec.tsx create mode 100644 src/pages/bot-builder/toolbar/__tests__/workspace-group.spec.tsx create mode 100644 src/pages/bot-builder/toolbar/index.ts create mode 100644 src/pages/bot-builder/toolbar/toolbar-button.tsx create mode 100644 src/pages/bot-builder/toolbar/toolbar-icon.tsx create mode 100644 src/pages/bot-builder/toolbar/toolbar.scss create mode 100644 src/pages/bot-builder/toolbar/toolbar.tsx create mode 100644 src/pages/bot-builder/toolbar/workspace-group.tsx create mode 100644 src/pages/bot-builder/toolbox/index.ts create mode 100644 src/pages/bot-builder/toolbox/search-box/__tests__/search-box.spec.tsx create mode 100644 src/pages/bot-builder/toolbox/search-box/__tests__/search-icon.spec.tsx create mode 100644 src/pages/bot-builder/toolbox/search-box/index.ts create mode 100644 src/pages/bot-builder/toolbox/search-box/search-box.tsx create mode 100644 src/pages/bot-builder/toolbox/search-box/search-icon.tsx create mode 100644 src/pages/bot-builder/toolbox/toolbox-items.tsx create mode 100644 src/pages/bot-builder/toolbox/toolbox.scss create mode 100644 src/pages/bot-builder/toolbox/toolbox.tsx create mode 100644 src/pages/bot-builder/workspace-wrapper.tsx create mode 100644 src/pages/bot-builder/workspace.scss create mode 100644 src/pages/chart/__tests__/chart.spec.tsx create mode 100644 src/pages/chart/__tests__/toolbar-widgets.spec.tsx create mode 100644 src/pages/chart/chart-modal/__tests__/chart-modal-desktop.spec.tsx create mode 100644 src/pages/chart/chart-modal/__tests__/chart-modal.spec.tsx create mode 100644 src/pages/chart/chart-modal/chart-modal-desktop.tsx create mode 100644 src/pages/chart/chart-modal/chart-modal.scss create mode 100644 src/pages/chart/chart-modal/chart-modal.tsx create mode 100644 src/pages/chart/chart-modal/index.ts create mode 100644 src/pages/chart/chart.scss create mode 100644 src/pages/chart/chart.tsx create mode 100644 src/pages/chart/index.ts create mode 100644 src/pages/chart/toolbar-widgets.tsx create mode 100644 src/pages/chart/v1.ts create mode 100644 src/pages/dashboard/__tests__/info-panel.spec.tsx create mode 100644 src/pages/dashboard/__tests__/run-strategy.spec.tsx create mode 100644 src/pages/dashboard/__tests__/stop-bot-modal-content.spec.tsx create mode 100644 src/pages/dashboard/__tests__/user-guide.spec.tsx create mode 100644 src/pages/dashboard/cards.tsx create mode 100644 src/pages/dashboard/constants.ts create mode 100644 src/pages/dashboard/dashboard.scss create mode 100644 src/pages/dashboard/dashboard.tsx create mode 100644 src/pages/dashboard/index.ts create mode 100644 src/pages/dashboard/info-panel.tsx create mode 100644 src/pages/dashboard/intro-card.tsx create mode 100644 src/pages/dashboard/load-bot-preview/__tests__/bot-preview.spec.tsx create mode 100644 src/pages/dashboard/load-bot-preview/__tests__/google-drive.spec.tsx create mode 100644 src/pages/dashboard/load-bot-preview/__tests__/icon-radio.spec.tsx create mode 100644 src/pages/dashboard/load-bot-preview/__tests__/local-footer.spec.tsx create mode 100644 src/pages/dashboard/load-bot-preview/__tests__/local.spec.tsx create mode 100644 src/pages/dashboard/load-bot-preview/__tests__/recent-footer.spec.tsx create mode 100644 src/pages/dashboard/load-bot-preview/__tests__/recent.spec.tsx create mode 100644 src/pages/dashboard/load-bot-preview/__tests__/save-modal.spec.tsx create mode 100644 src/pages/dashboard/load-bot-preview/__tests__/stop-bot-modal.spec.tsx create mode 100644 src/pages/dashboard/load-bot-preview/bot-preview.tsx create mode 100644 src/pages/dashboard/load-bot-preview/delete-dialog.scss create mode 100644 src/pages/dashboard/load-bot-preview/delete-dialog.tsx create mode 100644 src/pages/dashboard/load-bot-preview/google-drive.scss create mode 100644 src/pages/dashboard/load-bot-preview/google-drive.tsx create mode 100644 src/pages/dashboard/load-bot-preview/icon-radio.tsx create mode 100644 src/pages/dashboard/load-bot-preview/index.scss create mode 100644 src/pages/dashboard/load-bot-preview/index.ts create mode 100644 src/pages/dashboard/load-bot-preview/local-footer.tsx create mode 100644 src/pages/dashboard/load-bot-preview/local.tsx create mode 100644 src/pages/dashboard/load-bot-preview/recent-footer.tsx create mode 100644 src/pages/dashboard/load-bot-preview/recent-workspace.tsx create mode 100644 src/pages/dashboard/load-bot-preview/recent.tsx create mode 100644 src/pages/dashboard/load-bot-preview/save-modal.scss create mode 100644 src/pages/dashboard/load-bot-preview/save-modal.tsx create mode 100644 src/pages/dashboard/load-bot-preview/stop-bot-modal.tsx create mode 100644 src/pages/dashboard/run-strategy.tsx create mode 100644 src/pages/dashboard/stop-bot-modal-content.tsx create mode 100644 src/pages/dashboard/user-guide.tsx create mode 100644 src/pages/main/index.ts create mode 100644 src/pages/main/main.scss create mode 100644 src/pages/main/main.tsx create mode 100644 src/pages/tutorials/__tests__/tutorial-tab-desktop.spec.tsx create mode 100644 src/pages/tutorials/__tests__/tutorial-tab-mobile.spec.tsx create mode 100644 src/pages/tutorials/__tests__/tutorial-tab.spec.tsx create mode 100644 src/pages/tutorials/common/no-search-result-found/index.ts create mode 100644 src/pages/tutorials/common/no-search-result-found/no-search-result.tsx create mode 100644 src/pages/tutorials/common/search-input/index.tsx create mode 100644 src/pages/tutorials/constants.ts create mode 100644 src/pages/tutorials/dbot-tours/__tests__/tour-content.spec.tsx create mode 100644 src/pages/tutorials/dbot-tours/bot-builder-tour/bot-builder-tour-desktop.tsx create mode 100644 src/pages/tutorials/dbot-tours/bot-builder-tour/bot-builder-tour-mobile.tsx create mode 100644 src/pages/tutorials/dbot-tours/bot-builder-tour/index.tsx create mode 100644 src/pages/tutorials/dbot-tours/common/__tests__/accordion.spec.tsx create mode 100644 src/pages/tutorials/dbot-tours/common/__tests__/react-joyride-wrapper.spec.tsx create mode 100644 src/pages/tutorials/dbot-tours/common/__tests__/tour-button.spec.tsx create mode 100644 src/pages/tutorials/dbot-tours/common/accordion.tsx create mode 100644 src/pages/tutorials/dbot-tours/common/react-joyride-wrapper.tsx create mode 100644 src/pages/tutorials/dbot-tours/common/tour-button.tsx create mode 100644 src/pages/tutorials/dbot-tours/common/tour-end-dialog.tsx create mode 100644 src/pages/tutorials/dbot-tours/common/tour-start-dialog.tsx create mode 100644 src/pages/tutorials/dbot-tours/common/tour-steps.tsx create mode 100644 src/pages/tutorials/dbot-tours/onboarding-tour/index.tsx create mode 100644 src/pages/tutorials/dbot-tours/onboarding-tour/onboarding-tour-desktop.tsx create mode 100644 src/pages/tutorials/dbot-tours/onboarding-tour/onboarding-tour-mobile.tsx create mode 100644 src/pages/tutorials/dbot-tours/tour-content.tsx create mode 100644 src/pages/tutorials/dbot-tours/useTourHandler.tsx create mode 100644 src/pages/tutorials/dbot-tours/utils.ts create mode 100644 src/pages/tutorials/faq-content/__tests__/faq-content.spec.tsx create mode 100644 src/pages/tutorials/faq-content/index.tsx create mode 100644 src/pages/tutorials/guide-content/__tests__/guide-content.spec.tsx create mode 100644 src/pages/tutorials/guide-content/guide-content.tsx create mode 100644 src/pages/tutorials/guide-content/index.ts create mode 100644 src/pages/tutorials/index.ts create mode 100644 src/pages/tutorials/quick-strategy-content/__tests__/quick-strategy-guide.spec.tsx create mode 100644 src/pages/tutorials/quick-strategy-content/__tests__/quick-strategy-guides-details.spec.tsx create mode 100644 src/pages/tutorials/quick-strategy-content/index.scss create mode 100644 src/pages/tutorials/quick-strategy-content/quick-strategy-guides-details.tsx create mode 100644 src/pages/tutorials/quick-strategy-content/quick-strategy-guides.tsx create mode 100644 src/pages/tutorials/tutorials-tab-desktop.tsx create mode 100644 src/pages/tutorials/tutorials-tab-mobile.tsx create mode 100644 src/pages/tutorials/tutorials.scss create mode 100644 src/pages/tutorials/tutorials.tsx create mode 100644 src/pages/tutorials/tutorials.types.ts create mode 100644 src/public-path.ts create mode 100644 src/stores/__tests__/blockly-store.spec.ts create mode 100644 src/stores/__tests__/chart-store.spec.tsx create mode 100644 src/stores/__tests__/route-prompt-store.spec.tsx create mode 100644 src/stores/__tests__/self-exclusion-store.spec.tsx create mode 100644 src/stores/__tests__/toolbar-store.spec.tsx create mode 100644 src/stores/__tests__/use-dbot-store.spec.tsx create mode 100644 src/stores/app-store.ts create mode 100644 src/stores/blockly-store.ts create mode 100644 src/stores/chart-store.ts create mode 100644 src/stores/dashboard-store.ts create mode 100644 src/stores/data-collection-store.ts create mode 100644 src/stores/flyout-help-store.ts create mode 100644 src/stores/flyout-store.ts create mode 100644 src/stores/google-drive-store.ts create mode 100644 src/stores/journal-store.ts create mode 100644 src/stores/load-modal-store.ts create mode 100644 src/stores/quick-strategy-store.ts create mode 100644 src/stores/root-store.ts create mode 100644 src/stores/route-prompt-dialog-store.ts create mode 100644 src/stores/run-panel-store.ts create mode 100644 src/stores/save-modal-store.ts create mode 100644 src/stores/self-exclusion-store.ts create mode 100644 src/stores/summary-card-store.ts create mode 100644 src/stores/toolbar-store.ts create mode 100644 src/stores/toolbox-store.ts create mode 100644 src/stores/transactions-store.ts create mode 100644 src/styles/constants.scss create mode 100644 src/styles/devices.scss create mode 100644 src/styles/fonts.scss create mode 100644 src/styles/mixins.scss create mode 100644 src/types/blockly.types.ts create mode 100644 src/types/dbot.types.ts create mode 100644 src/types/global.d.ts create mode 100644 src/types/index.ts create mode 100644 src/types/stores.types.ts create mode 100644 src/types/strategy.types.ts create mode 100644 src/types/ws.types.ts create mode 100644 src/utils/__tests__/bot-notifications.spec.tsx create mode 100644 src/utils/__tests__/gtm.spec.ts create mode 100644 src/utils/__tests__/journal-notifications.spec.tsx create mode 100644 src/utils/__tests__/multiplier.spec.ts create mode 100644 src/utils/__tests__/session-storage.spec.ts create mode 100644 src/utils/__tests__/settings.spec.tsx create mode 100644 src/utils/bot-notifications.ts create mode 100644 src/utils/clone.js create mode 100644 src/utils/datadog-logs.ts create mode 100644 src/utils/dom-observer.ts create mode 100644 src/utils/download.ts create mode 100644 src/utils/gtm.ts create mode 100644 src/utils/help-content/help-content.config.ts create mode 100644 src/utils/help-content/help-strings/after_purchase.ts create mode 100644 src/utils/help-content/help-strings/balance.ts create mode 100644 src/utils/help-content/help-strings/before_purchase.ts create mode 100644 src/utils/help-content/help-strings/check_direction.ts create mode 100644 src/utils/help-content/help-strings/console.ts create mode 100644 src/utils/help-content/help-strings/contract_check_result.ts create mode 100644 src/utils/help-content/help-strings/controls_flow_statements.ts create mode 100644 src/utils/help-content/help-strings/controls_for.ts create mode 100644 src/utils/help-content/help-strings/controls_forEach.ts create mode 100644 src/utils/help-content/help-strings/controls_if.ts create mode 100644 src/utils/help-content/help-strings/controls_whileUntil.ts create mode 100644 src/utils/help-content/help-strings/during_purchase.ts create mode 100644 src/utils/help-content/help-strings/epoch.ts create mode 100644 src/utils/help-content/help-strings/get_ohlc.ts create mode 100644 src/utils/help-content/help-strings/index.ts create mode 100644 src/utils/help-content/help-strings/is_candle_black.ts create mode 100644 src/utils/help-content/help-strings/last_digit.ts create mode 100644 src/utils/help-content/help-strings/logic_operation.ts create mode 100644 src/utils/help-content/help-strings/math_arithmetic.ts create mode 100644 src/utils/help-content/help-strings/math_constrain.ts create mode 100644 src/utils/help-content/help-strings/math_single.ts create mode 100644 src/utils/help-content/help-strings/notify_telegram.ts create mode 100644 src/utils/help-content/help-strings/ohlc.ts create mode 100644 src/utils/help-content/help-strings/ohlc_values.ts create mode 100644 src/utils/help-content/help-strings/ohlc_values_in_list.ts create mode 100644 src/utils/help-content/help-strings/procedures_ifreturn.ts create mode 100644 src/utils/help-content/help-strings/read_details.ts create mode 100644 src/utils/help-content/help-strings/read_ohlc.ts create mode 100644 src/utils/help-content/help-strings/read_ohlc_obj.ts create mode 100644 src/utils/help-content/help-strings/sell_at_market.ts create mode 100644 src/utils/help-content/help-strings/sell_price.ts create mode 100644 src/utils/help-content/help-strings/sma_statement.ts create mode 100644 src/utils/help-content/help-strings/text_print.ts create mode 100644 src/utils/help-content/help-strings/text_prompt_ext.ts create mode 100644 src/utils/help-content/help-strings/tick_analysis.ts create mode 100644 src/utils/help-content/help-strings/todatetime.ts create mode 100644 src/utils/help-content/help-strings/totimestamp.ts create mode 100644 src/utils/help-content/help-strings/trade_again.ts create mode 100644 src/utils/help-content/help-strings/trade_definition.ts create mode 100644 src/utils/help-content/help-strings/trade_definition_multiplier.tsx create mode 100644 src/utils/help-content/help-strings/trade_definition_tradeoptions.ts create mode 100644 src/utils/help-content/help-strings/variables_set.ts create mode 100644 src/utils/journal-notifications.ts create mode 100644 src/utils/mock/contract.ts create mode 100644 src/utils/mock/index.ts create mode 100644 src/utils/mock/mock-local-storage.ts create mode 100644 src/utils/mock/ws-mock.ts create mode 100644 src/utils/multiplier.ts create mode 100644 src/utils/session-storage.ts create mode 100644 src/utils/settings.ts create mode 100644 src/utils/site-config.ts create mode 100644 src/utils/store-helpers.tsx create mode 100644 src/utils/tmp/connection-helper.ts create mode 100644 src/utils/tmp/contract-helper.ts create mode 100644 src/utils/tmp/currency-helper.ts create mode 100644 src/utils/tmp/dummy.tsx create mode 100644 src/utils/tmp/errors.ts create mode 100644 src/utils/tmp/goog-helper.ts create mode 100644 src/utils/tmp/local-storage-helper.ts create mode 100644 src/utils/tmp/object-helper.ts create mode 100644 src/utils/tmp/os-detect.ts create mode 100644 src/utils/tmp/time-helper.ts create mode 100644 src/utils/tmp/validator.ts create mode 100644 src/utils/xml-dom-quick-strategy.ts create mode 100644 src/xml/1_3_2_6.xml create mode 100644 src/xml/dalembert.xml create mode 100644 src/xml/dalembert_max-stake.xml create mode 100644 src/xml/martingale.xml create mode 100644 src/xml/martingale_max-stake.xml create mode 100644 src/xml/oscars_grind.xml create mode 100644 src/xml/oscars_grind_max-stake.xml create mode 100644 src/xml/reverse_dalembert.xml create mode 100644 src/xml/reverse_martingale.xml diff --git a/package-lock.json b/package-lock.json index 3cbd639b..68a36b18 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,21 +8,47 @@ "name": "bot", "version": "0.0.1", "dependencies": { + "@deriv-com/analytics": "^1.5.3", "@deriv-com/api-hooks": "^0.0.22", "@deriv-com/ui": "latest", "@deriv-com/utils": "latest", + "@deriv/deriv-charts": "^2.1.15", + "@deriv/js-interpreter": "^3.0.0", "@deriv/quill-icons": "latest", "@svgr/core": "^8.1.0", "@tanstack/react-query": "^5.29.2", "@vitejs/plugin-react": "^4.2.1", + "binary-utils": "^4.21.0", + "blockly": "3.20191014.4", + "classnames": "^2.5.1", "clsx": "^2.1.0", + "crc-32": "^1.2.2", + "dompurify": "^3.1.3", + "exports-loader": "0.7.0", + "file-saver": "^2.0.5", + "formik": "^2.4.6", + "google-closure-library": "^20230802.0.0", + "imports-loader": "0.8.0", "js-cookie": "^3.0.5", + "localforage": "^1.10.0", + "lodash.debounce": "^4.0.8", + "lz-string": "^1.5.0", "mobx": "^6.12.3", "mobx-react-lite": "^4.0.7", + "moment": "^2.30.1", + "pako": "^2.1.0", "react": "^18.2.0", + "react-content-loader": "^7.0.0", "react-dom": "^18.2.0", + "react-joyride": "^2.5.3", + "react-toastify": "^9.1.3", + "react-transition-group": "^4.4.5", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "scratch-blocks": "^1.1.116", "vite": "^5.1.4", - "vite-plugin-svgr": "^4.2.0" + "vite-plugin-svgr": "^4.2.0", + "yup": "^1.4.0" }, "devDependencies": { "@babel/plugin-proposal-class-properties": "^7.18.6", @@ -43,8 +69,10 @@ "@testing-library/react": "^14.2.1", "@testing-library/user-event": "^14.5.2", "@types/jest": "^29.5.12", + "@types/lodash.debounce": "^4.0.9", "@types/react": "^18.2.56", "@types/react-dom": "^18.2.19", + "@types/react-transition-group": "^4.4.10", "@typescript-eslint/eslint-plugin": "^6.12.0", "@typescript-eslint/parser": "^6.0.0", "@vitejs/plugin-basic-ssl": "^1.1.0", @@ -69,6 +97,8 @@ "stylelint-selector-bem-pattern": "^4.0.0", "ts-jest": "^29.1.2", "typescript": "^5.2.2", + "vite-require": "^0.2.3", + "vite-tsconfig-paths": "^4.3.2", "vitest": "^1.6.0" }, "engines": { @@ -1009,7 +1039,6 @@ "version": "7.24.5", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", - "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1666,6 +1695,19 @@ "postcss-selector-parser": "^6.0.13" } }, + "node_modules/@deriv-com/analytics": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@deriv-com/analytics/-/analytics-1.5.3.tgz", + "integrity": "sha512-kMVddccYQoaj3u144oudvzPD37lhJyIuDEj/RWAs82XyizGE216p36OkFJIBwwId/Hwg7MUcTLHU5eQroAfx3g==", + "dependencies": { + "@growthbook/growthbook": "^0.36.0", + "rudder-sdk-js": "^2.35.0" + }, + "engines": { + "node": "18.x", + "npm": "9.x" + } + }, "node_modules/@deriv-com/api-hooks": { "version": "0.0.22", "resolved": "https://registry.npmjs.org/@deriv-com/api-hooks/-/api-hooks-0.0.22.tgz", @@ -1745,6 +1787,101 @@ "rxjs": "^7.8.1" } }, + "node_modules/@deriv/deriv-charts": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/@deriv/deriv-charts/-/deriv-charts-2.1.16.tgz", + "integrity": "sha512-xuIdLZdAT6Ajt1fIC86/Qv+kXJUImmp9YavUzPKam9hpxK4a1rEZ9RsFyj1p0T8A9KCugWWagi9UuPwmE5eb3g==", + "dependencies": { + "@types/lodash.set": "^4.3.7", + "@welldone-software/why-did-you-render": "^3.3.8", + "classnames": "^2.3.1", + "event-emitter-es6": "^1.1.5", + "html2canvas": "^1.4.1", + "lodash.debounce": "^4.0.8", + "lodash.set": "^4.3.2", + "mobx": "^6.5.0", + "mobx-react-lite": "^3.4.0", + "moment": "^2.24.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "react-tabs": "^4.3.0", + "react-transition-group": "^4.4.1", + "robust-websocket": "^1.0.0", + "sinon-chai": "^3.7.0", + "url-search-params-polyfill": "^7.0.0" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=9.0.0" + } + }, + "node_modules/@deriv/deriv-charts/node_modules/mobx-react-lite": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.4.3.tgz", + "integrity": "sha512-NkJREyFTSUXR772Qaai51BnE1voWx56LOL80xG7qkZr6vo8vEaLF3sz1JNUVh+rxmUzxYaqOhfuxTfqUh0FXUg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mobx" + }, + "peerDependencies": { + "mobx": "^6.1.0", + "react": "^16.8.0 || ^17 || ^18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@deriv/deriv-charts/node_modules/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@deriv/deriv-charts/node_modules/react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/@deriv/deriv-charts/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@deriv/js-interpreter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@deriv/js-interpreter/-/js-interpreter-3.0.0.tgz", + "integrity": "sha512-FpzCseLmcw7AIqm31otPai+oCjcwBvkxEd4fYHX5EOfSN3Xu3/sMsTkrv3iTwxpEE6AWzB+DwF8qyfbmgU4IOQ==", + "dependencies": { + "minimist": "^1.2.5", + "vm-browserify": "^1.1.2" + }, + "bin": { + "js-interpreter": "lib/cli.min.js" + } + }, "node_modules/@deriv/quill-icons": { "version": "1.22.6", "resolved": "https://registry.npmjs.org/@deriv/quill-icons/-/quill-icons-1.22.6.tgz", @@ -1764,488 +1901,174 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/@esbuild/aix-ppc64": { + "node_modules/@esbuild/darwin-arm64": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", "cpu": [ - "ppc64" + "arm64" ], "optional": true, "os": [ - "aix" + "darwin" ], "engines": { "node": ">=12" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, "engines": { - "node": ">=12" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">=12" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=12" + "node": "*" } }, - "node_modules/@esbuild/linux-arm64": { + "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "node_modules/@gilbarbara/deep-equal": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@gilbarbara/deep-equal/-/deep-equal-0.3.1.tgz", + "integrity": "sha512-I7xWjLs2YSVMc5gGx1Z3ZG1lgFpITPndpi8Ku55GeEIKpACCPQNS/OTqQbxgTCfq0Ncvcc+CrFov96itVh6Qvw==" }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "node_modules/@growthbook/growthbook": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/@growthbook/growthbook/-/growthbook-0.36.0.tgz", + "integrity": "sha512-5u1x34H7pg5zS5db3UZ1Pn5hL/jj1EOWdUuz5tSIDUfW49TOWtxtrOAx0Qu1B+UmrIcZKE5XJr6TmWdmdOK12g==", "dependencies": { - "brace-expansion": "^1.1.7" + "dom-mutator": "^0.6.0" }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { @@ -3125,6 +2948,38 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@lukeed/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@lukeed/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-qC72D4+CDdjGqJvkFMMEAtancHUQ7/d/tAiHf64z8MopFDmcrtbcJuerDtFceuAfQJ2pDSfCKCtbqoGBNnwg0w==", + "dependencies": { + "@lukeed/csprng": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@ndhoule/each": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@ndhoule/each/-/each-2.0.1.tgz", + "integrity": "sha512-wHuJw6x+rF6Q9Skgra++KccjBozCr9ymtna0FhxmV/8xT/hZ2ExGYR8SV8prg8x4AH/7mzDYErNGIVHuzHeybw==", + "dependencies": { + "@ndhoule/keys": "^2.0.0" + } + }, + "node_modules/@ndhoule/keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ndhoule/keys/-/keys-2.0.0.tgz", + "integrity": "sha512-vtCqKBC1Av6dsBA8xpAO+cgk051nfaI+PnmTZep2Px0vYrDvpUmLxv7z40COlWH5yCpu3gzNhepk+02yiQiZNw==" + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -3203,30 +3058,6 @@ } } }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz", - "integrity": "sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz", - "integrity": "sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ] - }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.17.2", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz", @@ -3239,161 +3070,33 @@ "darwin" ] }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz", - "integrity": "sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz", - "integrity": "sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz", - "integrity": "sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz", - "integrity": "sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz", - "integrity": "sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz", - "integrity": "sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz", - "integrity": "sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz", - "integrity": "sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz", - "integrity": "sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz", - "integrity": "sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz", - "integrity": "sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ] + "node_modules/@segment/localstorage-retry": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@segment/localstorage-retry/-/localstorage-retry-1.3.0.tgz", + "integrity": "sha512-myp6eh0J+2Zj+lBi1tTa5LAaudPLOfS7H1rlx0F2vx/IROyI8A3bli2HISVhuTy7AeSqSZIVkfma/UQCOj8zxg==", + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@ndhoule/each": "^2.0.1", + "@ndhoule/keys": "^2.0.0", + "component-emitter": "^1.2.1", + "debug": "^0.7.4" + } }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz", - "integrity": "sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ] + "node_modules/@segment/localstorage-retry/node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz", - "integrity": "sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ] + "node_modules/@segment/localstorage-retry/node_modules/debug": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "integrity": "sha512-EohAb3+DSHSGx8carOSKJe8G0ayV5/i609OD0J2orCkuyae7SyZSz2aoLmQF2s0Pj5gITDebwPH7GFBlqOUQ1Q==", + "engines": { + "node": "*" + } }, "node_modules/@sinclair/typebox": { "version": "0.27.8", @@ -3405,7 +3108,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, "dependencies": { "type-detect": "4.0.8" } @@ -3419,6 +3121,32 @@ "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@sinonjs/samsam": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", + "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", + "peer": true, + "dependencies": { + "@sinonjs/commons": "^2.0.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "peer": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", + "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", + "peer": true + }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", @@ -4099,6 +3827,15 @@ "@types/node": "*" } }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", @@ -4192,7 +3929,29 @@ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true, - "peer": true + "peer": true + }, + "node_modules/@types/lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ==" + }, + "node_modules/@types/lodash.debounce": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/lodash.debounce/-/lodash.debounce-4.0.9.tgz", + "integrity": "sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==", + "dev": true, + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/lodash.set": { + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/@types/lodash.set/-/lodash.set-4.3.9.tgz", + "integrity": "sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==", + "dependencies": { + "@types/lodash": "*" + } }, "node_modules/@types/minimatch": { "version": "3.0.5", @@ -4255,6 +4014,15 @@ "@types/react": "*" } }, + "node_modules/@types/react-transition-group": { + "version": "4.4.10", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", + "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", @@ -4892,6 +4660,17 @@ "@xtuc/long": "4.2.2" } }, + "node_modules/@welldone-software/why-did-you-render": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@welldone-software/why-did-you-render/-/why-did-you-render-3.6.0.tgz", + "integrity": "sha512-UQEfDlsAm2xgPObUvlBdqp0lph+at1Z+KPYtl33gPGKZx/yPFQEZVgpycRAhNyQjmaFbqhIqub7X/y5v/vAlmw==", + "dependencies": { + "lodash": "^4" + }, + "peerDependencies": { + "react": ">=16.12" + } + }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -4910,8 +4689,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "deprecated": "Use your platform's native atob() and btoa() methods instead", - "dev": true + "deprecated": "Use your platform's native atob() and btoa() methods instead" }, "node_modules/acorn": { "version": "8.11.3", @@ -5137,6 +4915,14 @@ "node": ">=8" } }, + "node_modules/array-equal": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.2.tgz", + "integrity": "sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", @@ -5332,11 +5118,26 @@ "node": ">=0.10.0" } }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, "engines": { "node": "*" } @@ -5353,8 +5154,7 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/available-typed-arrays": { "version": "1.0.7", @@ -5371,6 +5171,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -5423,149 +5236,489 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "devOptional": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-utils": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/binary-utils/-/binary-utils-4.21.0.tgz", + "integrity": "sha512-5OCR5rKBOoKqrd3pMwk4UMwbcsb+PVcRiUvmUUagLsl1tFXkPwvXxpM3Hk2P/QNBXZ/oGbOq3pLht45FHSEx0Q==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info." + }, + "node_modules/blockly": { + "version": "3.20191014.4", + "resolved": "https://registry.npmjs.org/blockly/-/blockly-3.20191014.4.tgz", + "integrity": "sha512-g4W4oZOa/8iTVMf5o3J5OeO7ZIopntM0kO7oed/2M3kyDbbGsn1BpWJkUTKPVGsrCD8DL9DpseGNCbq0JvXUgA==", + "dependencies": { + "jsdom": "^15.1.1" + } + }, + "node_modules/blockly/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/blockly/node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/blockly/node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/blockly/node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/blockly/node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/blockly/node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/blockly/node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "deprecated": "Use your platform's native DOMException instead", + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/blockly/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/blockly/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/blockly/node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/blockly/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dependencies": { - "color-name": "~1.1.4" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, + "node_modules/blockly/node_modules/jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "dependencies": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + }, "engines": { "node": ">=8" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, + "node_modules/blockly/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dependencies": { - "has-flag": "^4.0.0" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, + "node_modules/blockly/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, + "node_modules/blockly/node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + }, + "node_modules/blockly/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/blockly/node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "xmlchars": "^2.1.1" }, "engines": { "node": ">=8" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, + "node_modules/blockly/node_modules/tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/babel-preset-current-node-syntax": { + "node_modules/blockly/node_modules/tr46": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "punycode": "^2.1.0" } }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, + "node_modules/blockly/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" + "prelude-ls": "~1.1.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">= 0.8.0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "node_modules/blockly/node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } }, - "node_modules/binary-extensions": { + "node_modules/blockly/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/blockly/node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/blockly/node_modules/whatwg-mimetype": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "devOptional": true, + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "node_modules/blockly/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/blockly/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "engines": { - "node": ">=8" + "node": ">=8.3.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, + "node_modules/blockly/node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -5587,6 +5740,11 @@ "node": ">=8" } }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, "node_modules/browserslist": { "version": "4.23.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", @@ -5736,11 +5894,15 @@ } ] }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, "node_modules/chai": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", - "dev": true, "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.3", @@ -5780,7 +5942,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, "dependencies": { "get-func-name": "^2.0.2" }, @@ -5855,6 +6016,11 @@ "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", "dev": true }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -5959,7 +6125,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -5986,6 +6151,17 @@ "dot-prop": "^5.1.0" } }, + "node_modules/component-emitter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-2.0.0.tgz", + "integrity": "sha512-4m5s3Me2xxlVKG9PkZpQqHQR7bgpnN7joDMJ4yvVkVXngjoITG76IaZmzmywSeRTeTpc6N6r3H3+KyUurV8OYw==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -6098,6 +6274,17 @@ "typescript": ">=4" } }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/create-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", @@ -6218,6 +6405,14 @@ "node": ">=12 || >=16" } }, + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "dependencies": { + "utrie": "^1.0.2" + } + }, "node_modules/css-rule-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/css-rule-stream/-/css-rule-stream-1.1.0.tgz", @@ -6342,7 +6537,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, "dependencies": { "cssom": "~0.3.6" }, @@ -6353,8 +6547,7 @@ "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" }, "node_modules/csstype": { "version": "3.1.3", @@ -6370,6 +6563,17 @@ "node": ">=8" } }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/data-urls": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", @@ -6513,11 +6717,15 @@ } } }, + "node_modules/deep-diff": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-1.0.2.tgz", + "integrity": "sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==" + }, "node_modules/deep-eql": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, "dependencies": { "type-detect": "^4.0.0" }, @@ -6560,14 +6768,12 @@ "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -6609,7 +6815,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -6742,6 +6947,23 @@ "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dom-mutator": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/dom-mutator/-/dom-mutator-0.6.0.tgz", + "integrity": "sha512-iCt9o0aYfXMUkz/43ZOAUFQYotjGB+GNbYJiJdz4TgXkyToXbbRy5S6FbTp72lRBtfpUMwEc1KmpFEU4CZeoNg==", + "engines": { + "node": ">=10" + } + }, "node_modules/domexception": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", @@ -6755,6 +6977,11 @@ "node": ">=12" } }, + "node_modules/dompurify": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.3.tgz", + "integrity": "sha512-5sOWYSNPaxz6o2MUPvtyxTTqR4D3L77pr5rUQoWgD5ROQtVIZQgJkXbo1DLlK3vj11YGw5+LnF4SYti4gZmwng==" + }, "node_modules/dot-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", @@ -6809,6 +7036,15 @@ "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", "dev": true }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, "node_modules/electron-to-chromium": { "version": "1.4.758", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.758.tgz", @@ -6832,6 +7068,14 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -7026,8 +7270,7 @@ "version": "1.5.2", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.2.tgz", "integrity": "sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==", - "dev": true, - "peer": true + "dev": true }, "node_modules/es-object-atoms": { "version": "1.0.0", @@ -8524,7 +8767,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -8575,11 +8817,15 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/event-emitter-es6": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/event-emitter-es6/-/event-emitter-es6-1.1.5.tgz", + "integrity": "sha512-/n7qzkJBySdbe1W9/FBDdO7gzDIaewgj+Rj6Ayc2BdvVcaGP+p40DyViOFudCgV47UU8+cUFmcD3tJgjwY65qQ==" + }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", @@ -8638,11 +8884,43 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/exports-loader": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.7.0.tgz", + "integrity": "sha512-RKwCrO4A6IiKm0pG3c9V46JxIHcDplwwGJn6+JJ1RcVnh/WSGJa0xkmk5cRVtgOPzCAtTMGj2F7nluh9L0vpSA==", + "dependencies": { + "loader-utils": "^1.1.0", + "source-map": "0.5.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/exports-loader/node_modules/source-map": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.0.tgz", + "integrity": "sha512-gjGnxNN0K+/Pr4Mi4fs/pOtda10dKB6Wn9QvjOrH6v5TWsI7ghHuJUHoIgyM6DkUL5kr2GtPFGererzKpMBWfA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-diff": { "version": "1.3.0", @@ -8681,14 +8959,12 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "node_modules/fastest-levenshtein": { "version": "1.0.16", @@ -8729,6 +9005,11 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -8793,18 +9074,58 @@ "is-callable": "^1.1.3" } }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formik": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/formik/-/formik-2.4.6.tgz", + "integrity": "sha512-A+2EI7U7aG296q2TLGvNapDNTZp1khVt5Vk0Q/fyfSROss0V/V6+txt2aJnwEos44IxTCW/LYAi/zgWzlevj+g==", + "funding": [ + { + "type": "individual", + "url": "https://opencollective.com/formik" + } + ], + "dependencies": { + "@types/hoist-non-react-statics": "^3.3.1", + "deepmerge": "^2.1.1", + "hoist-non-react-statics": "^3.3.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "react-fast-compare": "^2.0.1", + "tiny-warning": "^1.0.2", + "tslib": "^2.0.0" }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/formik/node_modules/deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, "node_modules/fs-extra": { @@ -8897,7 +9218,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, "engines": { "node": "*" } @@ -8978,6 +9298,14 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, "node_modules/git-raw-commits": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", @@ -9159,6 +9487,17 @@ "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", "dev": true }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/google-closure-library": { + "version": "20230802.0.0", + "resolved": "https://registry.npmjs.org/google-closure-library/-/google-closure-library-20230802.0.0.tgz", + "integrity": "sha512-h2lBEX2tjWwfR+dhFukGER15vKY+4cA3nRqwKSOsBdyizlOxTAHOWbEYiGnMoom3/SrVeQ5uG0eKsbxQ3wbsxA==" + }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -9182,6 +9521,47 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/har-validator/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/har-validator/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, "node_modules/hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -9273,6 +9653,19 @@ "node": ">= 0.4" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -9333,6 +9726,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/http-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", @@ -9347,6 +9752,20 @@ "node": ">= 6" } }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -9417,6 +9836,11 @@ "node": ">= 4" } }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, "node_modules/immutable": { "version": "4.3.5", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", @@ -9465,6 +9889,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/imports-loader": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.8.0.tgz", + "integrity": "sha512-kXWL7Scp8KQ4552ZcdVTeaQCZSLW+e6nJfp3cwUMB673T7Hr98Xjx5JK+ql7ADlJUvj1JS5O01RLbKoutN5QDQ==", + "dependencies": { + "loader-utils": "^1.0.2", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 4" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -9529,6 +9965,14 @@ "node": ">= 0.10" } }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "engines": { + "node": ">=4" + } + }, "node_modules/irregular-plurals": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.5.0.tgz", @@ -9754,6 +10198,11 @@ "node": ">=0.10.0" } }, + "node_modules/is-lite": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-lite/-/is-lite-1.2.1.tgz", + "integrity": "sha512-pgF+L5bxC+10hLBgf6R2P4ZZUBOQIIacbdo8YvuCP8/JvsWxG7aZ9p10DYuLtifFci4l3VITphhMlMV4Y+urPw==" + }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -9967,6 +10416,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -10031,6 +10485,11 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", @@ -12037,6 +12496,11 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, "node_modules/jsdom": { "version": "20.0.3", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", @@ -12104,6 +12568,11 @@ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -12133,6 +12602,11 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -12189,6 +12663,20 @@ "node": "*" } }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -12205,6 +12693,12 @@ "node": ">=4.0" } }, + "node_modules/just-extend": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", + "peer": true + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -12313,6 +12807,14 @@ "node": ">= 0.8.0" } }, + "node_modules/lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -12523,6 +13025,30 @@ "node": ">=6.11.5" } }, + "node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, "node_modules/local-pkg": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", @@ -12539,6 +13065,14 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/localforage": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", + "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", + "dependencies": { + "lie": "3.1.1" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -12557,8 +13091,12 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "node_modules/lodash.camelcase": { "version": "4.3.0", @@ -12566,6 +13104,17 @@ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", "dev": true }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "peer": true + }, "node_modules/lodash.isfunction": { "version": "3.0.9", "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", @@ -12602,12 +13151,22 @@ "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", "dev": true }, + "node_modules/lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==" + }, "node_modules/lodash.snakecase": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", "dev": true }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, "node_modules/lodash.startcase": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", @@ -12815,7 +13374,6 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, "dependencies": { "get-func-name": "^2.0.1" } @@ -12840,7 +13398,6 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, "bin": { "lz-string": "bin/bin.js" } @@ -13000,7 +13557,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -13009,7 +13565,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -13054,7 +13609,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -13118,6 +13672,14 @@ } } }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -13203,6 +13765,28 @@ "dev": true, "peer": true }, + "node_modules/nise": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-6.0.0.tgz", + "integrity": "sha512-K8ePqo9BFvN31HXwEtTNGzgrPpmvgciDsFz8aztFjt4LqKO/JeFD8tBOeuDiCMXrIl/m1YvfH8auSpxfaD09wg==", + "peer": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/text-encoding": "^0.7.2", + "just-extend": "^6.2.0", + "path-to-regexp": "^6.2.1" + } + }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "peer": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", @@ -13274,15 +13858,20 @@ "node_modules/nwsapi": { "version": "2.2.9", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.9.tgz", - "integrity": "sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==", - "dev": true + "integrity": "sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==" + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -13518,6 +14107,11 @@ "node": ">=6" } }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -13591,6 +14185,12 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-to-regexp": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", + "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==", + "peer": true + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -13609,11 +14209,15 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, "engines": { "node": "*" } }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -13738,6 +14342,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "node_modules/popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", @@ -13971,8 +14590,6 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "peer": true, "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -13982,15 +14599,17 @@ "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true, - "peer": true + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/property-expr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", + "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==" }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, "node_modules/pump": { "version": "3.0.0", @@ -14006,7 +14625,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, "engines": { "node": ">=6" } @@ -14027,6 +14645,14 @@ } ] }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "engines": { + "node": ">=0.6" + } + }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -14083,30 +14709,183 @@ "node": ">=0.10.0" } }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "node_modules/react-content-loader": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/react-content-loader/-/react-content-loader-7.0.0.tgz", + "integrity": "sha512-xaBwpO7eiJyEc4ndym+g6wcruV9W2y3DKqbw4U48QFBsv0IeAVZO+aCUb8GptlDLWM8n5zi2HcFSGlj5r+53Tg==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" + }, + "node_modules/react-floater": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/react-floater/-/react-floater-0.7.9.tgz", + "integrity": "sha512-NXqyp9o8FAXOATOEo0ZpyaQ2KPb4cmPMXGWkx377QtJkIXHlHRAGer7ai0r0C1kG5gf+KJ6Gy+gdNIiosvSicg==", + "dependencies": { + "deepmerge": "^4.3.1", + "is-lite": "^0.8.2", + "popper.js": "^1.16.0", + "prop-types": "^15.8.1", + "tree-changes": "^0.9.1" + }, + "peerDependencies": { + "react": "15 - 18", + "react-dom": "15 - 18" + } + }, + "node_modules/react-floater/node_modules/@gilbarbara/deep-equal": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@gilbarbara/deep-equal/-/deep-equal-0.1.2.tgz", + "integrity": "sha512-jk+qzItoEb0D0xSSmrKDDzf9sheQj/BAPxlgNxgmOaA3mxpUa6ndJLYGZKsJnIVEQSD8zcTbyILz7I0HcnBCRA==" + }, + "node_modules/react-floater/node_modules/is-lite": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/is-lite/-/is-lite-0.8.2.tgz", + "integrity": "sha512-JZfH47qTsslwaAsqbMI3Q6HNNjUuq6Cmzzww50TdP5Esb6e1y2sK2UAaZZuzfAzpoI2AkxoPQapZdlDuP6Vlsw==" + }, + "node_modules/react-floater/node_modules/tree-changes": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/tree-changes/-/tree-changes-0.9.3.tgz", + "integrity": "sha512-vvvS+O6kEeGRzMglTKbc19ltLWNtmNt1cpBoSYLj/iEcPVvpJasemKOlxBrmZaCtDJoF+4bwv3m01UKYi8mukQ==", + "dependencies": { + "@gilbarbara/deep-equal": "^0.1.1", + "is-lite": "^0.8.2" + } + }, + "node_modules/react-innertext": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/react-innertext/-/react-innertext-1.1.5.tgz", + "integrity": "sha512-PWAqdqhxhHIv80dT9znP2KvS+hfkbRovFp4zFYHFFlOoQLRiawIic81gKb3U1wEyJZgMwgs3JoLtwryASRWP3Q==", + "peerDependencies": { + "@types/react": ">=0.0.0 <=99", + "react": ">=0.0.0 <=99" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/react-joyride": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/react-joyride/-/react-joyride-2.8.1.tgz", + "integrity": "sha512-fVwCmoOvJsiFKKHn8mvPUYc4JUUkgAsQMvarpZDtFPTc4duj240b12+AB8+3NXlTYGZVnKNSTgFFzoSh9RxjmQ==", + "dependencies": { + "@gilbarbara/deep-equal": "^0.3.1", + "deep-diff": "^1.0.2", + "deepmerge": "^4.3.1", + "is-lite": "^1.2.1", + "react-floater": "^0.7.9", + "react-innertext": "^1.1.5", + "react-is": "^16.13.1", + "scroll": "^3.0.1", + "scrollparent": "^2.1.0", + "tree-changes": "^0.11.2", + "type-fest": "^4.15.0" + }, + "peerDependencies": { + "react": "15 - 18", + "react-dom": "15 - 18" + } + }, + "node_modules/react-joyride/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-joyride/node_modules/type-fest": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.18.2.tgz", + "integrity": "sha512-+suCYpfJLAe4OXS6+PPXjW3urOS4IoP9waSiLuXfLgqZODKw/aWwASvzqE886wA0kQgGy0mIWyhd87VpqIy6Xg==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-tabs": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-4.3.0.tgz", + "integrity": "sha512-2GfoG+f41kiBIIyd3gF+/GRCCYtamC8/2zlAcD8cqQmqI9Q+YVz7fJLHMmU9pXDVYYHpJeCgUSBJju85vu5q8Q==", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" + "clsx": "^1.1.0", + "prop-types": "^15.5.0" }, "peerDependencies": { - "react": "^18.3.1" + "react": "^16.8.0 || ^17.0.0-0 || ^18.0.0" } }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "node_modules/react-tabs/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } }, - "node_modules/react-refresh": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", - "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "node_modules/react-toastify": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", + "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", + "dependencies": { + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/react-toastify/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", "engines": { - "node": ">=0.10.0" + "node": ">=6" + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" } }, "node_modules/read-pkg": { @@ -14277,6 +15056,19 @@ "node": ">=8" } }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "peerDependencies": { + "redux": "^5.0.0" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", @@ -14320,8 +15112,7 @@ "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", @@ -14379,6 +15170,105 @@ "jsesc": "bin/jsesc" } }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -14526,6 +15416,11 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/robust-websocket": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/robust-websocket/-/robust-websocket-1.0.0.tgz", + "integrity": "sha512-zpd1mXL2kPd2NexxKRBRC3appEhxRZVuiqfckI1kLaNM7tRBJ9l4dqOD1FPoNpOZ2PPNAySR3beVAVd4OYl4tg==" + }, "node_modules/rollup": { "version": "4.17.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz", @@ -14560,6 +15455,15 @@ "fsevents": "~2.3.2" } }, + "node_modules/rudder-sdk-js": { + "version": "2.48.7", + "resolved": "https://registry.npmjs.org/rudder-sdk-js/-/rudder-sdk-js-2.48.7.tgz", + "integrity": "sha512-tmzygIpMD8wOCqbe0YFXR++yZWh8BhwrOGQIQFF1lY/3kmiKYPo/Dq68bVUD38bIIKRncyd5VSjn+8TCMVPdmA==", + "dependencies": { + "@segment/localstorage-retry": "1.3.0", + "component-emitter": "2.0.0" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -14614,7 +15518,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, "funding": [ { "type": "github", @@ -14651,8 +15554,7 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { "version": "1.77.0", @@ -14711,6 +15613,41 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/scratch-blocks": { + "version": "1.1.116", + "resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-1.1.116.tgz", + "integrity": "sha512-zOtmEwk8XIzU/NYK9AmadDsGcZkl60lGO5CpWyApEktLASp1sXeguzpysSXQYCrW95RTtr4MIFm32werJZlQOw==", + "dependencies": { + "exports-loader": "^0.7.0", + "google-closure-library": "^20190301.0.0", + "imports-loader": "^0.8.0", + "scratch-l10n": "^3.18.3" + } + }, + "node_modules/scratch-blocks/node_modules/google-closure-library": { + "version": "20190301.0.0", + "resolved": "https://registry.npmjs.org/google-closure-library/-/google-closure-library-20190301.0.0.tgz", + "integrity": "sha512-mpeszbnXpRhXZ0sPqUxBgUmk0RtmzrJRy3KFygp0Ih9JuRUjQTCLhwYQeIlK2vB2lShhY/KUo9E1Z1gvxDFxOQ==" + }, + "node_modules/scratch-l10n": { + "version": "3.18.144", + "resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.18.144.tgz", + "integrity": "sha512-Y6K1S/SP8DhEUvthbfUF4hqT2h6giAiRqrWQfXgb+CxoTVg2bvBHgOS7NCKSN8dHV/wjF1+HWtxvzhZDZd88TQ==", + "bin": { + "build-i18n-src": "scripts/build-i18n-src.js", + "tx-push-src": "scripts/tx-push-src.js" + } + }, + "node_modules/scroll": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scroll/-/scroll-3.0.1.tgz", + "integrity": "sha512-pz7y517OVls1maEzlirKO5nPYle9AXsFzTMNJrRGmT951mzpIBy7sNHOg5o/0MQd/NqliCiWnAi0kZneMPFLcg==" + }, + "node_modules/scrollparent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scrollparent/-/scrollparent-2.1.0.tgz", + "integrity": "sha512-bnnvJL28/Rtz/kz2+4wpBjHzWoEzXhVg/TE8BeVGJHUqE8THNIRnDxDWMktwM+qahvlRdvlLdsQfYe+cuqfZeA==" + }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -14817,6 +15754,72 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, + "node_modules/sinon": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-18.0.0.tgz", + "integrity": "sha512-+dXDXzD1sBO6HlmZDd7mXZCR/y5ECiEiGCBSGuFD/kZ0bDTofPYc6JaeGmPSF+1j1MejGUWkORbYOLDyvqCWpA==", + "peer": true, + "dependencies": { + "@sinonjs/commons": "^3.0.1", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/samsam": "^8.0.0", + "diff": "^5.2.0", + "nise": "^6.0.0", + "supports-color": "^7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" + } + }, + "node_modules/sinon-chai": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz", + "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==", + "peerDependencies": { + "chai": "^4.0.0", + "sinon": ">=4.0.0" + } + }, + "node_modules/sinon/node_modules/@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "peer": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/sinon/node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "peer": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/sinon/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sinon/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -14892,7 +15895,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -14962,6 +15964,30 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -14995,6 +16021,14 @@ "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", @@ -15745,8 +16779,7 @@ "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "node_modules/synckit": { "version": "0.8.8", @@ -16051,6 +17084,14 @@ "node": ">=0.10" } }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "dependencies": { + "utrie": "^1.0.2" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -16072,6 +17113,16 @@ "readable-stream": "3" } }, + "node_modules/tiny-case": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", + "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, "node_modules/tinybench": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", @@ -16122,6 +17173,11 @@ "node": ">=8.0" } }, + "node_modules/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" + }, "node_modules/tough-cookie": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", @@ -16158,6 +17214,15 @@ "node": ">=12" } }, + "node_modules/tree-changes": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/tree-changes/-/tree-changes-0.11.2.tgz", + "integrity": "sha512-4gXlUthrl+RabZw6lLvcCDl6KfJOCmrC16BC5CRdut1EAH509Omgg0BfKLY+ViRlzrvYOTWR0FMS2SQTwzumrw==", + "dependencies": { + "@gilbarbara/deep-equal": "^0.3.1", + "is-lite": "^1.2.0" + } + }, "node_modules/trim-newlines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", @@ -16286,6 +17351,26 @@ } } }, + "node_modules/tsconfck": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.3.tgz", + "integrity": "sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==", + "dev": true, + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -16348,6 +17433,22 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -16364,7 +17465,6 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, "engines": { "node": ">=4" } @@ -16575,7 +17675,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -16590,6 +17689,11 @@ "requires-port": "^1.0.0" } }, + "node_modules/url-search-params-polyfill": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/url-search-params-polyfill/-/url-search-params-polyfill-7.0.1.tgz", + "integrity": "sha512-bAw7L2E+jn9XHG5P9zrPnHdO0yJub4U+yXJOdpcpkr7OBd9T8oll4lUos0iSGRcDvfZoLUKfx9a6aNmIhJ4+mQ==" + }, "node_modules/use-sync-external-store": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", @@ -16604,6 +17708,23 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", @@ -16634,6 +17755,24 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, "node_modules/vite": { "version": "5.2.11", "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz", @@ -16710,6 +17849,18 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/vite-plugin-dynamic-import": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/vite-plugin-dynamic-import/-/vite-plugin-dynamic-import-1.5.0.tgz", + "integrity": "sha512-Qp85c+AVJmLa8MLni74U4BDiWpUeFNx7NJqbGZyR2XJOU7mgW0cb7nwlAMucFyM4arEd92Nfxp4j44xPi6Fu7g==", + "dev": true, + "dependencies": { + "acorn": "^8.8.2", + "es-module-lexer": "^1.2.1", + "fast-glob": "^3.2.12", + "magic-string": "^0.30.1" + } + }, "node_modules/vite-plugin-svgr": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.2.0.tgz", @@ -16723,6 +17874,35 @@ "vite": "^2.6.0 || 3 || 4 || 5" } }, + "node_modules/vite-require": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vite-require/-/vite-require-0.2.3.tgz", + "integrity": "sha512-Lpeg5mxXiLAVrylKK9FMF8d6yxLBm6YtHXmtWpJSDSWBdl12tBsMGHOBC/fsLzATj+Zp9FHjqwzE1JayOPi9dQ==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.11", + "vite-plugin-dynamic-import": "^1.1.1" + } + }, + "node_modules/vite-tsconfig-paths": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz", + "integrity": "sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^3.0.3" + }, + "peerDependencies": { + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, "node_modules/vitest": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", @@ -16922,6 +18102,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", @@ -17226,7 +18420,6 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -17333,8 +18526,7 @@ "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, "node_modules/xtend": { "version": "4.0.2", @@ -17424,6 +18616,28 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/yup": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.4.0.tgz", + "integrity": "sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==", + "dependencies": { + "property-expr": "^2.0.5", + "tiny-case": "^1.0.3", + "toposort": "^2.0.2", + "type-fest": "^2.19.0" + } + }, + "node_modules/yup/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index 4c0f1ba0..b3f17cee 100644 --- a/package.json +++ b/package.json @@ -16,21 +16,47 @@ "prepare": "husky install" }, "dependencies": { + "@deriv/deriv-charts": "^2.1.15", + "@deriv-com/analytics": "^1.5.3", "@deriv-com/api-hooks": "^0.0.22", "@deriv-com/ui": "latest", "@deriv-com/utils": "latest", + "@deriv/js-interpreter": "^3.0.0", "@deriv/quill-icons": "latest", "@svgr/core": "^8.1.0", "@tanstack/react-query": "^5.29.2", "@vitejs/plugin-react": "^4.2.1", + "binary-utils": "^4.21.0", + "blockly": "3.20191014.4", + "classnames": "^2.5.1", "clsx": "^2.1.0", + "crc-32": "^1.2.2", + "dompurify": "^3.1.3", + "exports-loader": "0.7.0", + "file-saver": "^2.0.5", + "formik": "^2.4.6", + "google-closure-library": "^20230802.0.0", + "imports-loader": "0.8.0", "js-cookie": "^3.0.5", + "localforage": "^1.10.0", + "lodash.debounce": "^4.0.8", + "lz-string": "^1.5.0", "mobx": "^6.12.3", "mobx-react-lite": "^4.0.7", + "moment": "^2.30.1", + "pako": "^2.1.0", "react": "^18.2.0", + "react-content-loader": "^7.0.0", "react-dom": "^18.2.0", + "react-joyride": "^2.5.3", + "react-toastify": "^9.1.3", + "react-transition-group": "^4.4.5", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "scratch-blocks": "^1.1.116", "vite": "^5.1.4", - "vite-plugin-svgr": "^4.2.0" + "vite-plugin-svgr": "^4.2.0", + "yup": "^1.4.0" }, "devDependencies": { "@babel/plugin-proposal-class-properties": "^7.18.6", @@ -51,8 +77,10 @@ "@testing-library/react": "^14.2.1", "@testing-library/user-event": "^14.5.2", "@types/jest": "^29.5.12", + "@types/lodash.debounce": "^4.0.9", "@types/react": "^18.2.56", "@types/react-dom": "^18.2.19", + "@types/react-transition-group": "^4.4.10", "@typescript-eslint/eslint-plugin": "^6.12.0", "@typescript-eslint/parser": "^6.0.0", "@vitejs/plugin-basic-ssl": "^1.1.0", @@ -77,6 +105,8 @@ "stylelint-selector-bem-pattern": "^4.0.0", "ts-jest": "^29.1.2", "typescript": "^5.2.2", + "vite-require": "^0.2.3", + "vite-tsconfig-paths": "^4.3.2", "vitest": "^1.6.0" } } diff --git a/public/media/1x1.gif b/public/media/1x1.gif new file mode 100644 index 0000000000000000000000000000000000000000..3085511236caea65b69ad30a68979c9b95f4a425 GIT binary patch literal 43 qcmZ?wbhEHbWMp7uXkY+=|Ns9h{$$}~01D`U_#hbuCMF+725SJojRy(< literal 0 HcmV?d00001 diff --git a/public/media/announcement.mp3 b/public/media/announcement.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e85b1698d70af2c5668c29581fda6b1c94e0bf87 GIT binary patch literal 12210 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�mC1 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 literal 0 HcmV?d00001 diff --git a/public/media/click.ogg b/public/media/click.ogg new file mode 100644 index 0000000000000000000000000000000000000000..37535b862ca1722b2a3cd4c1a2b08577007a76c3 GIT binary patch literal 5446 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 literal 0 HcmV?d00001 diff --git a/public/media/click.wav b/public/media/click.wav new file mode 100644 index 0000000000000000000000000000000000000000..17f71aeeff48d34802151db1ca87a197699fcb75 GIT binary patch literal 3190 zcmXw633yY*7Cv*cr)is}DJ=rBgMf&FElWY5EDC~XSrr6P7LkJZY*8pXRIs8|!LmrH zAc#B`l?notMT!Ul%K8AIB2U&PO`0})a_79i@q6F-?!9w!XU?4S|7V$G4;nadriEy9 z-%$gm%*btKB_aXozmsUi7(ohIY0|{piGwj`Fg*u(J|@F38bZ&|(=>p3L%LHB>Kc>I z^duxB_TG~+sUP*htbVb%gQ!2G2WCG`?WqMdphRN!vy=bi%Y25*`2cU{tz62*{3#dl zO8$sfa3L4)2Y4>y<-8b@&$;{-Pvuv5B)`CYxhHq#w%nX;oWgNzXCpV@Cj10v@=N>< zbe&=!x1(valf2YZtQB=)oN`D>*X-7G(SE1xq$|^9>VMK_8ul347(X_8i~~$7Ouv}! zn#deBRhbT$a!qNbQe(Vvf?<`uO!uvJoo2GqQk>wivNAdR z%`Vm1$T`K~sQRj^wCZ}*C`X#pUOm!v&b`8uU$@#<8R#7@kM`&DV!ZZ(zN2YU+_d=a ziRD(kt=6_N`DXIfVEg^s;P1p zxEHx^ySLUH@nqD6z1G0E(4EM8GE11XNA+);s^fYjJZp`!F*cn z8O`FpN*A5aP-MPpxtNe+U7a-C_L*(G?Z>1wR%2p9{3&y$F;|zXOy}Xz@uB7Z2X*gz zirm5Klg@_DJC4ClbM-Knp{8r?G4HCt>hNJzh@RRv45Q4A;uj|7C+U(?>|far+Ml$i zC+| zaB7^V9F3hW=TKMsnpw3E`IKPS$UCw^2wfAS&%8K(N8)Qq8*GD#{r*?nAB&*AuQ?u3hc~&#hX$Z)u=a*c&~;Ym_YAaRZsF z;@*w_B4J44M~T^q-z9t=-^uc-d4$ob->PXNzLCA6B78T{z+dW}QMb2tK<%j7?`!AP zt@E1v2LtOvTOudayR0ax=9=zp!v*6#({^*?xK43S^GoKrrcp+ZevAEa^2g7MYJ7Yg%s_}^7 zVZ&4U&N`!ZpVCiU<>}I_9*7i#=Z4CHmf$CW$$`8;MW9=-DtIpRAe<6?Ufm+&=~b~` zxv7cQ>GYNQT!Yi_nDJ3#(6GzU!SI%TrEV>&YDzRcHP@BN zN>t1ida)L@<2aAu1U@7e$^J4)lDw^6Q-4=)s18-CiE^M^Ait6)WmJyf&B%Wv&7!Mh z5Us@=aZ7Yp`YL0U9m-{;QaPjiq4<=uN)dkPr36HgcvMu;XVj3^avu)JQkgCt>P2;n z`nEbzDGEZ)kw`3C@i<)@GQP=!xErT&L$;#gwc+kOn&4!_Uqc^m)0Kk-ez!%^1L z!_)~~W(aJ_p?Sb#HGN5&;YAtkr@iz&uAQ`vN@x{*KnrLF=8Ztt>4sHJ$xde>`4<0ysJq2g*ulZ~@T|t@UhMl7zQ8B2`#vDLnLh&~^LaMspy!O|5nym= ztn*~^1b&@o0l^RXOIUjv+9W5_V_@KAnnTN}ly=b(`jvj8%X9&9n#%FZ2CzDvp2a*H zxv*+G^iPNHozcS*nb<2mKqVvvm~F*bJdWQ59u=_LLhUG<-lQV>nvT+c=q6QBH96=G zU7-`epcu@L1x}4A!dKBtOL!hMKL;Hd+#b@FALn$u4daRMXBlteUC54$e4o8cWFiat zv6+k%i)B!|KK--v?qz~C749N@!X@i>q^4{QI%N|ocWt{trDi)b1FnE-rW zgs($sAf>~z6yW9IzxX$-+=1N-5xuhz!;|6XRA8US3;7e?fJmwUp0$YNra1cyq>(fk zzRUwg1+)TQE=E4iq>0#}KTc1rDVen7gY}iL)0$nyR-G(|M z=eprk)dLxw0WR92&Lm>Jmmk2pv+!&mVr&~?s00kG=P!WIZfN`&U+-{)&D0D!`r};p z3OLM#EsGJmOK1_ji&&cgn|kAW8fnOhs5;Ew;B>YEQ7{ehKL&C80MNP}0sWcuDJ(QlpneZ`c1$0utjR|{2!H-;dw1q*E4U1#x!aUR33+9 zVxK->GYkG^VblljnXvH*;Mf|trNv?chhU)Z#ksUTLT)4TZs58cyDEXfb?|Z>mi&dU zcd*wz?B>LNehwm!Bx}ilnv(#2>^S2#LBzGdy%lh71xs3D+yXl_hGj_*Bm5WoWU>!25t>iiT#_YOlTZqwA%s>UlI&a3 zv=NoiXpw0?F_`hZvd(rooD^3fENG+Q2+qrP4zd~x!^Jj00tlcz+pI0 z!%b$&vi&xCr~YFOlhBZ!bjPb7AHKRAGWXqFXTM#k*>KIzJdqKdiacdZ@n=vK_BH9c zjNiO<^IeHZYnfSjH5ZD3uhpOuu;ypD>sCGTir6)4Q1WB ztInMaahm~$)mo)$;Lv(-s58iU$LkK4G|0i0P!7O^o09`ui$GzPgtIKg$+iXO^szk6 zx>DCn`FRATs>EUHtIK<^U(oR6kaGN5t5er_p@m}xun*RBlEHl*`<&akuw~5{XSOIM zgA|b2%hml6!)d9%MuG~mXjbnl|9JRPKRo=?)dgssv_aH*j5Qh%nZCpSbuf}L;bO3o z1q}*EB%Nu8oqY1~vMyPX{6R-G8fCTICx^Ou5fhd-`z!gFd$c+N+pVJPjh0YT79!T0 z=d|Z~TTE(HeaTgJSd!s6^1!R#0`e2zXi`$*3Q=~e^V2{)-?163I&;70(qo)ke9(+t zSphU!w79@bxyg0pux3P|381BAMy zhdIx^z9;ZBJnSW2QwwJc|Dr8Gn|o`0Cw{FX{Ojqxi7GDV)7``o@XE}dHvR4txysf@ zlsJ)0w5PKX_MvP2OL5^@CqP-**s<4UY%{iV$*)^W;p@7|FY%j@7^~v`u7^SE_cs%CpYr0LCI~|JbLob9 z!t$eMHH6v(ToNNsYr~v14UrTEx5ni@a>;RBQH)ZHoi8f?jD;d+{n=I?P)0}y8{S{i z()iS|RxvJEoT>}d?wE@Nf@74Prl`>L>-@ul4OAS`IIfqPHhZmoivNI=n|;R{!~OXa zS+iie9$NppC|RazC;b-$F`S{bl1^&Wpqkfh#=CjPy0N9>Rvac$asnTgL^8biUsX^N z7$cLh_k(xuTE_^U^b>6U3{wj7??}ME%{~h@xC}4W(yQx+U>l0wp0R_ZAU~%#i7K`P zWssKU>AQ|TqQ50U@VULuH|0E5CjOQX9<|tFGa#CQRw?W|du*LVKS^*TkptC=N@}S+ zQ@?r`ImL}P`kcej?Z)V14=Mp*3gxEW8xY&m@b=ninS`><9Be#g#fs+9rK-WPJcWw# znkNvpYgcZR zZzlm}Z#x@*4&0IuR@c)?tg><((6Z}c1S`~5nQ5dG34s zqHAy8SYZK$!vIhLpnwg%>U-Lyg^gicIu2BR5Fvcrq`SWxD?Y`15uCq^F)&&Y^^SQk z8vTddvYtm*?88|!C)1_Q8~U8=77 zfbGf&Opn7e1HN0o2lz{|FefYmFeC|0lBf=EES6j!iraP}c&1(W;fI%d8uOB~6E3bH zEiW)%k_^5_S%Xi+xMoDSIs79EuRu<&Eu-uxD1o#P_X(nG1#UYE1Ad<6vFGx(EJW|~ zs|viHqmY1rTXeSOy@2MP5Fod|rfqO}< zQc{B5Cab66De^>rZH%ATx1X=I@wX^{7)~Jb>ichPc7&m@LQ5E2?W(3A)KcEes%^6hs?ee`E?;@u2^(;Tg308fc7YfXa# z2WqHec80-XmGG{5Y2j3ld9GPIk+Jf(0%V!%j2E%?d%jH)8m#kuc@KgJZuCfh=I%w& zATp#U<$_x>x_ZWqEkPBeT|4-kC|kQNL1@I*o)v|zEeWbs)H)0&Ady8~ni~tn<_(xW18(IcKr4K|&?( zaxk=%C;8oT_7c{e#^FEmDmx z6wrhPPoC+)KVY_$+-6p$?6*M`cUdFux0KuqejH7gqbkeE2xx~i`)xRPj+&;ql^SmV=tXq{JY==zEC z9r{R$B*0ydgZZ;^(0P$dz_(Y*_xO$iR|Bm58l_cbJzuu!wiHqI)DOStdY`xSACuQZ zGspQ9gjVcJvO`KR&k#gBPo}2nzN0Z+B0$(jG4PcI7c958NCjyfGC}eB ze)ko_D_s;MCzjdZn{`CyD$P7jq_Cr~A6zN$^j?(7@7c1zpJ^K~8&NgcU4uTq~fWkDh_ zZ$nHcL_N4snv*)*M>UK|p9j*5J>jH$qLgXjN=^ zeE})sBoBeQeTf&|G%y`McKoQMG-)_S_o$7Te_8Kt2+^Fg;i)+_|NT2n5ZlGUnf6v1qgmn|*-@u8~Or6ohyz(8Q zPT&y(o$B=I^2P$;I(yr4<*BV8`i9N)fhFM^=b?{j)JhZn;YTzu9j>A@;$irRM< zM~qCQig->Os);dwrV(?9nLdt470;}1D!R=qXBf3u(t>yN6@Ad#_zhV@&`-7mBCvAD zeUfNW%IX4tzb^58v&YYNkjJ;0!lcZ}`j#TSo6IW4D2OrDNYSaUvsQ@pxS6I;{`N3i zKi5f%tM=cyW@wv!c|lI+@3 z{*GD366KkD`j1=T|3riV#dRLA)1VyObUM|rj#Bq?k3oDTC4ff?66Yh@x7 zaLGP2Cw(JhGravvz;GF0A`OHBxE&iMA;+XX4uvAR_n~*cp{gL%J+<{+@^08+I2ef5w`B*%`3PAVd`U}n>PT@ePD zXEoYv))NOVbV zRta;5V0XmrMDWHZW(-e5i-NsespGT(dGN+ld_ueAN4 zuM`slS^DQ>BtL%sghCbC_DvMetEb>?yKC60z%u?d^Rc_+_G@U%r4BHw9()85`dvNtgtxPlty(< zTdM<)pOCqaDDt7Xz)Q8(L+-%yV~@RKjdFDy?*BS;SK#9?C#({5gJXw2SE{aWO@xE5olZ-*3eA%sx;%G9*HHBr;{85&MgcTQK%o>nrq4>qJ!-&< zU9gHa3z@WQDk6kli^DXm{Y6n%w53l(mR4w<`16g2|0ey23qecZTLeeP{W!K7Bj2Z$>1j4ff3muBrg zJZoBs-HHNY&EBv){+}o~nLAs1djqvXHZTCWmQN1cSt?&xDavnU|YBs7us;cmPptp;}or-(L7)EMadnG)#j25;*FeO<9bdgI+Q?8@L-O{GoWh zG^FT-_Rhf5nt>#URt;PP_H!Rg&8%RI2tq+RdeGX7o_zX*!nu%19W{A1KJ~XT&`z;T z(HXkfMthLlPWcdlGBtYwBZMPR&6_<*4Ew8*Hyb#>^8?WkUs8?MpD|>pXYPfk@ZwjA zQCMAi1Y$dAb@SZIS8(#}-C4tiu@Xu^n zS6@pOQJ%TJKmXYb^fgG}%#Lw?Jpopu+py?uZ?T3;s6A;@O0*=O&=aqX^sy~t9_7h6 zP(ivJ&+izAjV!`(rSIeDk*Gd{1}DK z@!tDpr(S4LFS?VtSR!JfkKyxh8J&S3nu?ybPHAn}q`imTaH*AoEl)FXm2U3(CD(nG zSoe>Fy8j$@Q+N-oSlA7X8%K+6uaQsexnYOv!7T~@`Cb3_uYmm<33co!tftc(-5-&q uOP04R2uj;fDh}6o{U5UMue`G*=R+gwTVoZg7*PLTB>WfMbiE@0 literal 0 HcmV?d00001 diff --git a/public/media/comment-arrow-down.svg b/public/media/comment-arrow-down.svg new file mode 100644 index 00000000..31dfa1db --- /dev/null +++ b/public/media/comment-arrow-down.svg @@ -0,0 +1,10 @@ + + + + dropdown-caret-up + Created with Sketch. + + + + + diff --git a/public/media/comment-arrow-up.svg b/public/media/comment-arrow-up.svg new file mode 100644 index 00000000..a951282c --- /dev/null +++ b/public/media/comment-arrow-up.svg @@ -0,0 +1,10 @@ + + + + dropdown-caret-down + Created with Sketch. + + + + + diff --git a/public/media/create_variable.jpg b/public/media/create_variable.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c726c7a3b61615cf6498acf5ee9c4b333dea1826 GIT binary patch literal 19422 zcmeHucTkhvmp^s{Q9*i@4xuO|AWf7WAYgz{LK6rr^w6ZqYXRwy(7S{l2uL7wL8W&o zp#?;G2k9UPKi~cC&ToFR@67IeclV#)zW13-<~jGC&pG$b^PG}%axs4Ko$Rir8c2=o z(xppe8ow{H3lf>~pLhSI@h8ZC3E)rWi%(?K?JDXw0=^5?w9T{5z3S1w(lxO(-cf{9bhV%GGO^uHPW1r8lCc zxktxfn3O+EyvdY2#;NhHgG)@Bk((!!z$Yp7=&3I+zqo`_rLqtHHxk=#5to01{$D|4 zH*Wrkb)EcAL3-3=m#$pCbmRKX>y+28U;b0jrGJ^d@mq*q&LBBNACo&o%fQG9HOe0u zy-BC0o>V~3B_=NMI^z^0=A4cUq(hiWer}h3D6zU zUOxvdTkcBe&7i5wbWE`D! zvAD4=R=vX4&p*2NPiNt?(}!ev4W1H>4)>)O7_pq znfV7Z=ax3h=A!FcHw-VxTJJJ&NTfFEUXV>oJ@!>R{gs;*tITN2O>MqmDG@km^!+8> zUhLaoD=i3a-JeQY8R+6OR0?R8{u4&GF!oyvJ-$^wBirn4(2u?p+d z6Y@8f6WfDjF35UnN{rqfYr=3BWHa*I`rj|eeyr2i2iX-pcAVUv&wrU})m&r!aOYi= z!h?-d%Q||A1_T=s=O(n=R6MKlcwTzTblE^&)2 z3@V2oj~KDcL{($E9E`J@O5YN4c=#!RyZJ|ANpJCzEUEndW34e}rd7d*yzOoBy`J24 zlO9Q8Y4wTSsc2*FCd&s>V+tk92m{g@_rS?uUCGi4N!1_!inztiyWjsXX>;NVw<+?B zFzjwGpsK?+!JyF?Wdft~{=NhgHbP;`EK=*=2GC>6lA@tQdr5SyadS=xXtm_)0wy3` z!pbI33>=|Q9&IF%c?)MQK-8B7JO&yGyCR2;1YhbNx#}`0`Op`Yc`tqT&OKSCur#Mp z<_*H_b?J%#y|j&#=|)NV_lnm|C<(}l5yD`HE}fI$T+i%kY}S*13EnSD)CaSMM}lCx zNd+J8=#9mr3v{R`;)sR(dm>J-q~>?L!O43#NAydlW~1Y@>7N=GWR|~*KyU6n|DTTi zJ-2tp&PvZ~&cB9P3eBiDI|U1i3@?=ZJp45t{H#ByRn+wTU#j56^g|G;%!`#octUwb zzF<+0Ex!XI8H7>#3C-Q1&x*M8jeaa*;Dr}t)RGG!MpE~+&*7$e7*D|2Vy0i?N&E$w z1rqZZNOkP7>gnO`?+yA**lC1+sQUp&F(=Oa9y!$15xY>I#`4jX zEdDy*C$f%A6FHw2a9!p+gAS9ti**lnnxvZGym(Dh$t#}N;+28il6#VXzz`565yd_)nE zUr=1YuHtXf%-}(58|ntLkx-p=*gSFu48iaCIQLd!J)US zGF3|>H-q`tlv%914wC{=Wm?!1|8Bg7@$pX*s?jwsw^%PJHmgIm0NEjJSSa#L;()}~ zB?M*3!`g~{VxSl7OF5DdOY(+m)vZ5Mvn;;ewjG?0-=B2=pFacZ{yJb-roKYeHg>IMp#&2SQW31li-g`*XcU&-tmh zsJ&1VkNE+j4p0Zpy}@Vsm-FFpl0K)#jM!+)yO@yU6t_v@YhrEZ_-oIvA8=YB1to)coARuNt)x>(ws>838}?eSXl z1Hi3sO!&?XhX;KnL@1YlLAPQ4dyWE~-^a*Bpl>Xf)*-bPa?;U6KsH9v=wN>F13u~v zn_SXv*=9GkWC+Sr+%M#n3~S8S_(Z8Cf}muZ&ClU>4JqW=ij0d8x&oiP>n0k|1gXEi z^vEkp#Y5Ks##0C|@Y-yFvkIqmRzbX8>B=ZYf4mNM zHb;Ro3_?^%VX2q(uvIc6V2QFp`;unU%*$Sp^7li z!hkOQ$rm9`4}pk>8*>7E47crg*)pxuP#Y|z^%|&_#G-V&etHc`z+7|HHhOxs`lt@G zn71IRHKcK@I^TJ6JSHsaeh5e6iHS11i``XWUGG1h^*lght17{Cb1m0nc6=JPK?uN9-_8q@X&VSf8K|9f=VPIYx9>)tPQO;BumffUxPxq#K5`zfO zl)`+nMxU^cv`tP7Fo;a<4BZ+C7i)F84yo9-vn#M=D`zttbdReDlR+iM8H5XeeC9B% z`F^mWu{5nifpaR3(RX$(3 zDz9*li7^$qb;S1TNeborrEh7|9AzdFmlN_|kQ^OV!7AEyP#pPlzUS9@WJjxMc#MqO zvJUH}law4^SO3Dt95kgL12eT8?AcXm_xZg32A&sS?<=55WEYe}5voOrE4r9l#(Yq|`;8-k9} zmsNXqD>lBfI?7Hyt~&^k5sl(N)PJNBqk(l&6B|c?Ae)cYX_oCvh49n_5Z6!y>r}Ww zz5)PtDF#`;^qE?qy^|^6o7#*Y^$iJLZ)M|QbTzRouBwTbzTJ(?&bmNbkeN(IV=h+7b#i~CDY_8$}fbHT}_IA)X2TLhMDv3B;S z6S%{Ia7 z`nk2(PeDgblw=a2??QvN8`YeRt9C6u{SvgHpENW?p;`3C>ucQe2qa~CA)?))Vb1CH z&El9Y*AL2i$DHAaEVTNS6m$(3hxYvpQ84I_?n7-Qt4dn5s@HiE5>3$kI(2S~LGRYZ zKgZ%Hyj%8-0`fnnxTfxVkEN{TRqOK7fmP|U&_`BPvm`JuP~w@My3&MQU{xaWF`6$= zpSa#JM~AA?PZ_sy+S7$})Zh<3O-F9Lx^c;go?=o>7W!%$(7y#ycr84(Az3ku$R)XC zV8vaM;!0a{qWZZr=R9yewDsbl`0lpX%M!*v$8!otK1HF@G$&)_AtG=+0MPOZk8`w< zlP#E@!wUK2b7KM0!zkLlz-XPtw`)2Jfz{^rYOpk1_fNvV#@)9yB}srT`VjL-7TMO@P>qoS4+-AP%`1 z7DR+ z1`@<|CAF50)8LN?72Mks;j=cvD3`jeD}svyAN1Z&a5bW z4I=f!${&tGhKyG9U~{OzeJ|q3K&`HVikGBY8lzna2;rD2-;>qEl!h7JOy-OeWh^n= zt;&ILH@wzm>(kH?bgRHZA%0B86UL8j>a|xa;CSFn_!oVz1dVi(Kq#G+%=~$>IZ6?s zb^DksY#Pr{mL`*>_@~~9Q4lv;08XqtUx>CzYwceaGLG1l?ot=&4Yl>98M0zg2s)*j zqs%BPtb*9ExbWhV{qy|A0kRa6l=Sb90M|3yVs89PZn!WsI}2IL0eaY#Uxp zjBAe@q&{pEN_!ah(M|Biv+6qdS|^+QVbHS#h$hazMre9U_boB znNf2ujKsad6(Rc~^Zn2I!g|>tI~NgCvr#RcSQP`KJZGQRLWW>ADaQcqn%$hP$4`EH z#pp64ik{8xYbCiYkB~7enL7@Ub!MZH7Ko`Ere+8vWX>j^cremm8Yq#^0+46U)%RXg zpCuLjdO)IUa&uU>Uc}$^nodY0T7erB&a>FWozFSEa_%@-EssdK}NaubI-C^PDXNAplmC72J8z;a@VWFq6Dx=hiw zBI>1aDsxZf!NY1MT$721{0FeUs#Tj$cYup+KeKTr(6Wz6e;V>_LSIDkme=mkivS@u zoh}4dVG<*N_YM4l>{ie<)8yMi_2Q#$_==AgWLFY$-W#>0bWN!1YRn*G-Hl;9lD@i!`rnOKHx7a z>8yDq>=4$W0AH1pbsB_uQhLIRB6|FA#oRK3TM$4mJ`+>>xf(Gd98Rfe&x@r<` zfL0Gr;st_PM7EJqSy`C6J)H8Em)FSM;d)K%WLGLkSC?m3Wo(gW`SZ51`)K_bGnH85 z-U74es@CJ%J4oCh?0u{zoI39vdr~%AFuVa-uUU=0J`CmIm$*6rx( zLMSJM@2M@T3%fbZd!{WwccO0p&e#9@vRF2Y-@ga*xm=L#Gi6_py(SZzJ7_ziYAG<6 zvE8uCR!{lhBhld-f`RLcCDvNS<8#1X6J=qEnkDVSVvbli6MX?>_-!oXI~9q>J_4 zLt0@LiOiBDpr!lxi{C|5^W7LvT$`)5);FWZ=w_*It_hj($q&(bPOd#f2SXH)GgZWh z{O(fmkdQSBZ~yR~nq2$DqPebMx|@^XCwva?4yGD7%;NCv&N4A0uv@*eKfc8`H z@4ZJwcD9zyefP)O;%Lt|y7!_qSwF!=BQ|TkrUen~?IO& z^Q!bp=@4*pWLMk}vNU-Le`$Q3>K3Z{EjyiNk&&0{RVr5yyfAIQf&(5YK3QQ8f2h#e z+9%?aqm|RxC*i%xU?gpk%6TfT$$s=N$K6*yIz)CCECCZ^ zT3xbhYN$O0{VA(qe0c zd#qX-Mt6fIsEUD|B9xR)+rBM-j4w%`?v;lWCoC zChSh-4iR;a%E2rNIvKJyiDoc!BIs%-I&f|GZpea&U^gO# z;(C_d=0=d8Q@fgV@k6|eaLUh(1m}1JV7gNEe*U89HEQcrKYEFTG{X=F6cx1B;43G< zhCcK%jtadevKJvR&%7GiQ&Vwu8uLreC367H^*uSru2ZedfQ{eb39Nj)RU+`SO=%P| zb`;Yo0QEZnAu~Ry*Lr(r1d8U5m@5|{XE&B!Y5VVvhE->Eili56?v5SnxuQY*y5~Hc zT3tFiPp)gshG`@-13z#kJRhwQqd8uK z;u5YfdcdOyb?;q3`7W7;Sko~Jn~< zdWIp-E=gIvn@kREc`-@x^~*SDZ|IXGn4SNe$wii8r?M5 zM}Ts688ITPP^|YVE|1kT?&0CXluG2~houQ37i6A&utCGKmeit7Q$6>J0g}r7#TF?( zooGI~G$0MvHO`1)v(XTUXTp2i-(6q-)VPuz9MimLf6#pRR_Vmzr^2b}iIrT)l`Z^ zxx_DuO$i@I4+$ng#bdqW!{^`8ea%Y~EDtRspIYn<=PsV%mJsy<^XJk_6=usetKI`W zJ8n+i#MG~MB{PDQCKj|5#wg9#IbX$~hMu(q<>nQ6MI&S;BP?&(dTsYcN66ZPxlvL6 zxpN=wr=*q$c=%M6XTcytYf!BF^>D8lK4@@FN7`g=(oC<12iPj~=wZuef%&JojDy zD_%IruPsIQri~nMnZ^nbaT>JScXgf3i)K&`Vx%A}QO$2wB)G;pX;NlLEO{T1AIPrx zHWk(q+{_qwko=*Qo+7%8+2>K^5edAy9ZnLx2c9sTdRa_x zpDI9iVWmq=S3J?XJKs*>OH!%Hu?*;qi9_zk;p!%m_Gxczb_*<|FNCfb)_0)A9)ZZ9@ z7ht%iOFY^kD&`sZ@{C8^wovzS-Owvuf^W*9@dmoI=#goja$HD#cjvw%muEq=r^1jH zt((bwe~h_JMiJ3SPAj!XFKuJXP=@G#Z@7ZQl= z=%HbVsVm*cMx~JuPa)!~UJGSmbX+CW*71$L|E1x?Saj*53{t9iP-=i7+K3i<6f1i3 z(QyKYwBcnJ7`^Pc9a?xxsjH(RQDQEWUsT^Zk!n~*3_53ZdQMd_WHi{}Q*S1SxFBPH zu`W=Esvz_k+Zqsu#c=RdZYI7gFHcl>CY@))&|(i4D{i+Z;-R5Xc~=bh$77zBo8Jxn z&xE2}B!Rv+9qnuPjcMCuW=MrTj=#xn(JWlCnVfmpu!KTfHXEo+9xWFtirCdbc zoY`+^VETXN8^)_QfvSq?OH3W zcFptBjM>sR{rDBC8gGjZ!tlltpj>3cUAn zc+U!?NG_r>or_>#Q$$w5vQ{`x?Z{KmRf#E{h{bm{(Fgbr7I;aZM@eq>n$Z;5b5NZJh7jL`++wce#2w*Jd&O zhCV@KdTwe?O`QnLKzRdd{Md#mCq1A+-KNuPT9H`nD%Qag#Qoh!W;?v9)Y)s&Ehcl* zT7RW;(cBD?I%uTHT-Mbr$XbYW`uyVh3~B@Y>^XCwLZ}Bjd)t03W?I!hhP-HXOWc~d zxa2`37;G7kmsEUoqzh)ZH-hHQzuEy-tPYzo-D9-P)Lqz!4`YD#q5Ne3NOHw~-TIy& z-{%r$mn^;<6Zpnn1-kiVRP$+12wE^x#-}nye-Os1#)z+;LAEkboZ2LgBf|o?*L~J1|W?od^9RMs?jyfh+mZNQ=+M>-;CTKOGAReCW8&-{L-v8&;=l&su9I z>795M;ngO)P3&F`>YFTM@(#Rd>-br}TMYrxO-+BMrORsQ$hny7ry8G+fJvEJ& zapzs5$4dOXVc9;mxVIJbUeO#l-KnC4Rt;5GULOAXN6 zKsMQY*u^JD{LtPk7@cRq59*Mksocg%dRx4!*W1pb?U?B0!?f<9Y=u~OFnud3ns5zR z!l!@(g@W=;Iy%Jr_G6D&dlBy~!&TktSNWexN|1XsV>PY~FZzUl*9;)3aJxM7K67C` z%(MYwc57T~?L^5N6tFUT)$go-)#T zc`?_3slt|g8a@a%PrTj$UXVSvU95~Em6kYXz93aE`r3Uer}mu?&4bljbVm>n8x^Bk zm&HNrQfM)!$7s+0736kjaI**Mlv-(38&=Y_w|Ch6ei*l5Ks z{oaX_Q;Rn+YZdln`CbMjV!tL;R16A-ilb`dv)H;B~Zy~i=XFl;ksMY*X ztC+ql8IQri8ic*kpQ6zIeR)x^fjqSL1MY{bMtF*Zg)4(Ts}cT|;ufjZgFU;4*QPyS z)xT=4mO`t#!2%M>Y+2)up?Gw6oB7v0a>*Q{Hvu$XaBS4+hj>Y3XXqo2CfVWWp$FnK*#k%TJCsH(AqEePVh-F=99rUOQ>w{_KIk_bBEb4f&_jWhJfTZ)~$Vs=dCa z%NT0ri;Zx8+JS#m80dxHTRc;Ux0n+~|KzNq>t9RS51MeY81z`gaqHK*OkA5RG~we} znXF0!*_sjHXotL+EG5Aw3bo1C%zZLf1rzXDu#D~r8Z}BE<}!`;>gZfI64Bq}UWdwL zg$^AYyCw$)(xQEAgk5d5RrJh_D9f&E{&9a=aW>}5MxCj$pLAhqxm?oL`t8Csoi{Hs zxaLa^bqL9;Qja5337dkOtXn?aA%cBH^qUoh{bcxPcunE++;I6Rl zvMVty_|q69pd??fadKh8G!pZyNPyJa={78B$XCye)0}z@GgMy6phw=m?Pm&qDv(s& z5Ey*(p08}xa1L7J{m1>c=pkWaX9HpXAynT`YKa6k%CrbZmy`C&3}4m4Z9B`F_==`$ zo3}I_OS4+DAvrTC7Ov3YQRB#O7!PVG5En7~W-nQ~Hl!f@CajG@Wu@;*^^-;M=ipH_ z`Kc+8vvq&XI@{ETT;Z1=*M7x1udVRp_z#pwjhQNf2RG#yj2{f{)wAJrbdugfe$ex8 zNK;QTR+b;-df!XcE%z@emO8JlwOy|BFE7nMG|$FK>F88=4(+ok0)ieWrO+QTeDWAC z;rM2JXkkUU#COo(CKvOpEJu)LLgTbI40Cv`1<>6C84|1ptI&B@8ZzU8}+vDa!BMH43Qd%M_kUkS%@)F<>sH$)qXK zLFS8xUJ(#8lnQH2V!ig}`ner6idj^^QS0?nM;Sl<^51={Pxm?iqalLRP00Fv*Qs!z zv;H70jUc7w$j!U|RJQy3?>z&}9hSS5KW9#rI0MUr*ni>9KGf)<8`eojR=<>Gj_%gE z{y|0t{mx(D;yCV+s==-9HS5(`Qf(Z`k=FU{>@8mEzY+g;)ILLQYMknH^ zG@0KxOK5>5p?4Jq!B?Y_1Q|E_V>G5>Z6=!n`<+m9@>3^!OTFGT0nqASh&q!8wC+r8&#l!|0xRlG;fF8~Gd3QTmkVdY+8g( z5V*tVRTN{V6660;eT}CemCL^%CVl>8L>+5sG_H4aRE_5ZSUmgD%n5IqB(y|PY0hH^ zvc?ghW(5V91`88uqrHa?;I<0< z&NTLT*YMyK%`eBR^}UO-d}-OK<_$o;rLaCIqoljW(k+`w!1q#{XD0g*+ww62?R3Xk z8mW@bd6+_E6SF{`Q9;E736};%2oL4b8ISQe+c1}Xjiwtg3R3MFKqrweY`WHKIhSEu z$J>8tP71Y))arGB`2Qf7aG8qGkLMS;;3wBoCZO`Jr6t&sq8K`CX_72LpxBko+o|Og z!5u}jQC?}$H`17}?ACtb-G7)g`hcHr1@_ULcuMH$>AoOyBKgU%IM2*U&z)Hv8z$|a zG<=f3hDbi032_SK6}%w(IWqZ?O8wm5KX`xTTpH44iB8+KPi6%j``40w^rd*DHeVa2 zIwKuFUSF?VKI3YBVIOjKkiM&TtoSB)X6%B@#&KoLtnP+7e(W;!L&(^-$BjDErUfl2 zFRQFwEhV4YZRT6q4!dv}J4)Oy>-?pP$xH24NAYc&2vlk;3%{tfWH6ldwgl`+FGw7nJ~%eqoSh>?%)A zDTZJb=~CG;7YNmN819U94y#9eXang?u#W*&Ktfqz3+ii?=g$1EPVUU53EPHc;_&|KqdzB!7OwzCS}i0bkR|pg!pRsNo=~xM(3MTPKy!*~NNLS@m&; z-6h0bB`IUKfHtJBws%cCi(O`8^6tpfgoW3`$h#7^zLAcuFgYypPd!R>*v@tMDbkY| z1$&Hjj(2KrIbN(TQAv`E#tIQGmzLb)5G|3g3&;-?ulU;E#aJl=cdCM|Of3US_N0{u zZHG|_C)(XOdXtCr`mTOr?KoRP4Rg1tSq+;DxC||4&O12`0sB-zP1j8vLRo@TWxF6+ zrnjiM@&Qfx2MkM+#}(zzY4$3|hD9ZU-xTVreyj+6pT|tPo0P6Bg_WQ(Yt$Raw)N&m z*2$vd+vESx*jgBMue*g7V!PD)zFT%MA1YKzd#6e}tUJK$fs4Fk-=IojneS`u$%G=P z3E%KLxdqSU-Uys;VteBs)@@}iFCv6%Z2Yy0CbN0Qdh@0omYd9Wt|@7wO$$R)QzC|; z*4}7(eCSAmksph$D(k~Koi4B%G?%M*^61~mWGEH$ zyzs5i7Z67Y2ZR>)bXK{i4eF*nMl7e4AWNq)D}HApk%$ki2Rfl?fO^D8G(a#9*^aFc zPAhB^GU0no;0-W~=m7Tl*h|O)doxZzNXwSST<2Ou(tMaJqs`q}CMOPftE2&H%6QyW z8{^WR)HERiW+t}DZH{<;IbL72&(C5LSoHecsrdjqH@cDGQ^W-ndMy@G^2RXyjm_mi zU)mBuQyp`ZX|0p^H(LP>O3oW#dp#2%16bg2o2dcO{j_pT(Sg`)q8rH*dsp>kC24h& zl2!QKCu>6xn420qVG2;aCS*2&fdKthW7Tt6GXkXfm;t?^Q%J!?Gmn?uQNENo zD6zJ^NjB})Q@3KTL0y+55^w)@_`>S|{rLdvz(h}d1N{+$AzjTX0v$CdZTsZ|##xZg zAd^En>pftmXxPNfjfH!uJcgR2A(w86`aU>qzeRJS@Q$WOT+u{ zPWQ<5Cb!}sAl7(Ulj3uycqZ`kS8LevA63;O;-HLGOC_QaaMHDTTZT08oCpQ?awb4+j510>#@sQH><>z@LEh%7a9o58 zzz*$;Cm#}kt+JLG#7Lc_O|8|%_czaBvDp0BSz(~+8~3(1H%W-H#1TdxqN;svN#hvE zvwi^l^s3j7E^~7LaJavsqF!@Uokd@QGgQF1ljIO1w({Hc{`V!Z|73*lpJn^cHEaC^ z+W%B1`Co|ouaIPpj@Qo(gH12U98?}8Zs*Prnv>{Pca4GqUT!EB**~6R5c&F-__E~3 zv@ac-RTO>S4x%~o6!F2Si440%zf{imF31YsJ-zGz5dH@v*Xh|(SQ38w8V$sl48 zr-uJgD&O7Cks7Hk0U)=$^*Mj&acfZ${J%ww-Tzd^;r?8OVR?Y`cHv$UBd zLxo^&C?vQCBw;^rt`gO^E^~cV&U*Dmv?1^9_|P6|xPi#;4!wj0u}I67WhJ9T0ih0i z>w_AS&oF---J4$AUZo(Y%AL_|t~1Z_K$AYAHZ-VjnNN>(xLs3(Ks&mg_{B~JW%j$# zR$PXTUSkCvB$%GP+rA25Z7)Br7gPi|6oY02%bp3pc*p+y)=j69Q2gv4IO(4~d&POq zxSaAf`~(|SnKz;=#6^KBG^^SH3bhHH*UFY4_PK7Vd@y|S52XVIQt3E{4BkR`$>Ael zrLPOm-sNi|Swr(Rtr-c$+WLA`Kp~i6V*V5A`3!KZd8s$C`m5joEM>&`5Rztq3(gj6 zknVh+shG{FuN_jjo3F^xBEs+ayF&-o!9H+ac|mq;Hgl@T-cd2&8~Dw4ss%iC8vh4T zz4GIfy3P1n(?urf1=^5$Fqld%3j~BiJAsgGi)Z>RTTifaV zrzwsN*+_ThqC?+?u#EuLBj3K|pkB%8fx1Uj1_5%@tv(7d0S!xgO-szK%TpQGu?m@6 zb8_q*3e$UjGoDn^o?ALspzQre9&E8TSz9NK+jXJobw~V{u(9?5wK0Dy`1c9^{S5y7 zlKgFE{^t#K7(OdPvM23lWYv_TR zD0a~%=k~SXHCOm)n5-^CisB&q*ZP3f2PeMB(u3k74t@^uJBcxGA2H|_*Trw$f6@5) zJnS%Jct$<7HJBHM3ME66x_^}=@b;g2ZE zKXcpKrtx|*$np?@MC#>%3o-*Bop|fM<&JtqXEO@oSv+c9=YqsEejRWt?QUyl_79t; zjjftJW3$3JnWZLvHQRXMGwqR&>Bi5<&zW*NxlNMmtzw?P5ivVqwuvj8mPX zgyK}@(ZW=mN^kg*c4umAG8Tb#LLh|x{0Is0Ct-f4hmQQk#l@LhN&XSxi=K;FetDh? hNhYkzokucT$hz*5b*8j`4J-eBMEt*va_3^={{ZQ7Cs+Ug literal 0 HcmV?d00001 diff --git a/public/media/delete-x.svg b/public/media/delete-x.svg new file mode 100644 index 00000000..ed1f71ed --- /dev/null +++ b/public/media/delete-x.svg @@ -0,0 +1,10 @@ + + + + delete-x + Created with Sketch. + + + + + diff --git a/public/media/delete.mp3 b/public/media/delete.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..a937a3815d8fe805982308ab2f0fbd4e93f0e0a7 GIT binary patch literal 9796 zcmeHLd0Z3M7LH0OB33}a1$l^6cuG(6r?T` zu~h^?D+nqmq81gk@DxF#RiPqvL7|8W(&x&X1hCSlulQQ~{wVjaWbV1&Ip;gyIdgx* zVL6OKAqyaRd2@VGDE&edY7y59~qVRzPx*OevB|&}vMOCk<25F&JbYJ&=i5#^Sz(mniU>yzr1zOh8g50C*yS6(s@1 zB8Us~MM$E9&wk(}*mv?b#@r7%>NgjQ2f-_pZsAC@{h1FAt^b6=CrSnrykUhjOb)?r z;jlz$@vc*a(i{Gjydgj!=7RwE(AxlHVe$|S@qCB?hrnXQmjdAj=!+R4i^fHizz3Be z3sk~%3{qq#9Fc+}QGAHbGzTh;M8OfsG$K(GpvGRx7YU+mHj~0eX<#lfJQdI z5lO#pSg>4#D8OAV6>Hj8GoWdIOagrv{P#?@q06WbL;6QYn`T_}k@3#E7wL<>XUIDp zxl9n=-X{7R1}WpGT>W$MQ@TK-hn;*Bzr%D5)Admde3bF9x`yfcCtcvxM38eO`- zevg19$aOLT`P!iVY%#os85m|@n1Nvih8Y-U;BUr2@5_uT6iRQA)r5i;%Uy*@dC!WD zUvDU%Z-q7GI5IA@Ja8Fv)Z@C>#4#f$a+bR~Bz|jf)RWzfF#qz7MQh841Mm^k5 zBV(6`MR5SsmF+3ayQH3=AN5AJtlwyj&cQpkaK|Ut;@ZN%z@&iQ-XG?(UhSIMhF@;< zlQ4H3_InGR4%(_+kDWzl!vh1&zI<||D0!@{ho#Y?xu}WY2!^X+d8N%Hw~Jj@1Lpea zW0*nuQ|~obKcL>b6CCBft#*2r$67tBV%gajwbOfhdrQ0k*T4YcrQWNwYlITeuDL08 zg*@}HRw)WKVLA%c@`Jg#!$OXg*d_~8UWYST+^wZIlH;j&{7iyX*Jt}jX{804Yz^=_ zwJoyo{>Yu1dW5RSsss0)pSH-XS!UgOyVdvk(#|#O&bjW=Ha)o2DYSd^82XoM=cQ6r zmxDKdZeyflbX1>_zRqlhJh{il3sQ6m@x7sIjhT|rF~`j7SxFZSYD_uogQJsdmVBdM zW234UW?0SmYHUNO9i!MnwPa#=swp~w40cDU{L;u1>)Sasm1P8??+A+d>mVH7b7O=>gh@fv|) z`demld~(m!mi{Xjc65!Ir{z}CYMtvLNtmyv9aFF0z;iZCV&o*mW;8M8w@#9q=s7aW zfux4$FpIcVJ?_=})&yOf;AcEl_3CB>fVP1f7__Y841Phzv);VMJukc4?|yONVr$UBt{vp2hxZ@3 z-t+Q)Vi}8z#%R?r49E^_aps)(B7f`%Yg>84i}>|gYxWiH@|~ef5wZ+Fn|zsKyDi{g zw#^m2B(_R;OM7y&vwz*>W7^wyF%r6DIpgE3QcP*Cl^M@ZcEZN_-ENC~=$F%>%}xiv0@ah?{x%{PQ?#}EEF`>fNx74~Mn zC4m4@vVy|hax|mm#&;7=Zo>K{N84KNNhwlz*$kpeDXCwXLe_#0Fn1V0(Y?|b?mFykB#o3m$7|NEw;&kUE86}m6Jq~m(uLwl{(=nk5 zvdvq$mbuPF=SIw)(-h9)BUE$a$zG9b@I%@0e=S5mj;Lg5VPVJ*G3v)kU(W39~@^;f%ZtiB+T~6m&D>9Z=U*Ic_ zWqC!_?JSrQDk~*bYz#LrFhmeO`Fh&8AukPudi5|lTaTF~)tSA?=X6nuk9OdBXu4^A z6(gtlJs~vjeshoMlK|p2&AO-4;0b)krk?SiOg|b5KbXr3{{Wr5jIQpxX adc^%lf&S_shW&k*0UuZPhd2L%oqq%NJ-BxO literal 0 HcmV?d00001 diff --git a/public/media/delete.ogg b/public/media/delete.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e123af6b05f5671bcafa0744b9495c60d016c865 GIT binary patch literal 8624 zcmb_?c|6qJ+y6%@l$az@gb<^sv6NBvvWzWb%h>k}vJ4`7DEpEj`w~NQhdVMvXb}=K z){r%nH4%vj&zVv8bN{}--|Kn)`JLBsoO7=0T<4tkb-m9yJ}2I?%G?V1ymk-}yh&d-`2V zVnE@#llu*ET~9|o7bhDdnteVEK8f>)^9YdnMD%TMSbICz-}H8LwD*EjEwX{1t2!#W zSFWPvz!=<3I|nBhd%AtQCeJ9V7|}tDKnJ14*A&v3Xb3?t2(l7{vm`rczzO(#5x+FN zIEVi)j8+@JZPng`mAqhzL`B!ITD;f^_5*j`z$%I_bz1^D#v0eMB<7 zUOjDlv#7Gj`6dM}#CXVL9|QnXROgRiM^g)%NdCK=pt#5F`If&p%kzNfqr5u@B;N9c zX-Ui$ChN$~J}QWpofE0-R6ZzH*^Sadyf?BftKV-PfTJL%vwjy$w0-b_wJ7iBvV$oz zQq4!gi_$!SsoibyK_Ot9kXjPEMmc+1IXAgWPLmQ(spAhPkPqp@@0RR= z?5L3NG2K4}zh9tHi{QwFoBL8y=rNs-_2!FOiDmH{sGSQj_O9(K_na`-g zygL(6h|K@Qm(iKALPoM=e9j}XXZE~`GRPFJA*N;0Jm^B0HBP4r)K`vc8g;sD1w#K8nC^)&rc)*?0H?*yZgb7}EXglYFpl}#1ivJX}P~MH=!u!#p??j%qOSGM(7A1`o+4(1p zFcoG5h~l%-Ad2HiQ#rUYq`EVK)Q34kz@t%c!Y-qLQ~B%?mG*PdNOCvL^Buexu;Sm2 zTN3Oz%+vL+-0_WDk4*^VE(tMxNjXCULt`ITlLy{I)e+_c-ediNWBqZK$L{`TVEw}! z2#_Y6#!0+QETSbVOh=h%*TH|7A)vyGIHDn*u>x5H!;SP>0I4W1ff&Hg!Tip|qjZW{5OgOI z7l~jzY73KPBznQne{qH-B87!;EGQ8n0t|%$0*PrsJBkLAP$4@?gBX^G79kL>p|EfQ zr#?!|2ZlaC00JjCiQN<>)*OvsOvj-mrVGQ-7$8VR3KPHxhJ5^ev@@Zw4+y+EHD>wn zXtWa%--{6uA_0L=N*~4a)=zl8&P^fGLayk<^PREhTYYVuVLfS5=vc ziAE4OY()sP$q8U`QWbUbN&~bLbp*Dw8B9(D8+1lg^&D^$RB!S%)3vcel#EMmM z+m=Y*qV1dmtcnB#V$A>&+N#9B2(8kl<0zUbFnJ#)u9S3K9|bmu)gpqcw4Fra#DNji zIY^wqR12pwxaF;0(m{ML!zHfWc#DGg4uH#fKYw$UBqO|uGrXCPz!?UEH>KfVrwE)l z7UgD8L$y+CaGr2Bs$XCzI2>Hd*FJ)~+$yZ-%>)#2w`4D*ya(b8$J?|cr}=;n!V}T4 z$Z76yG&&lFjz&ypg{OF)@f#12l>V^kT}J z(I{~4^?|O4m@yd+gngGZ}0Kf@&1B@sEC+y5l`(_;GXQqc zVhg1Kr$z-eQmCOub^hu63_~!+?NHnx+B*YNa*BR4aXExJ5at71C6eKY$_avJ9jsG$7N6>NXj_ z;ZDP07=l#cU;xqg4(pB^4Duup#1hK&oE; zt^kdq#Vyqo)gB05{yzdR5p8ms0Ikd@^pAi541iVb3cy5vYE&x_)JgN_;S>&=VlLy8 zp#lfEPVe$-99(~Ybg_be#tVRR=C`FktN8!l{C`dXJ!)fScsav#!tuI>>>2Ju;xrC& z0LC?@*~Tjg0~%wT)9zeTo+&KsM!A$rqm-y%p#e?$BxWAr@1szqO&qqd>0xNJC^$jE zdDzFIj1nVpn8uV(VVoKA3&9CW4Y0EMutbz|>1R&cC&=kRB@sAjz$R9@ALGwLtON!~ zKg^uT$VhO)Bl?cx$kJ=Wn!s{~bD1E!aWzvXy*ibqPkNzB z!7WIUW8e>1sv%u>CQDC`hOx>rj$t2zz;<4gTgwT%i2#w@`HHHd^o-NF1G&Z>&LX>h zk{Nm%=ME{Foxh(b+xDb8@`Ub7SSUDO4nUFMLW>0lQ24G-Y@&Cm{x33vKN3#MfCu>X zS7q(pf5lA{=`25F-ILpSI5Ua=0UD8fL@A;7T1<-7JtOz9V`56;*YV zmd-V_!9SlELPA1lx{9C-3EBOK@DjupHBmnzP!;Xp;VMsBSy@?FS!12BPPUF%7aM2S zn>#zzJ3G2NJBB+u7uj1q_c8D38R34e+Q;=+^+9a{L(4pJ)WYT5{)EinhTv_ytni2U z=}K>NF1aITy>mC*qKwQd8>fW(O=?L2I?ms{1UCm^`z<1Qw#}pOZ+ED+ucoE4Ze)*b zE_zY6Jq5U%2CYkCqN|ydc@5e2;_Us?A?1&E&;Lcmv+R^b;1m`}6usi}UFM znx=Y0#`IyrshivOpDxU^j5yT2kgRaDZ@K+_;J9O61Y5aRo|8!x`nBsfUxOExt15uep)HezT1ruinc= z*3}QVzYDy3q`XD1q;{5m6wxtW{43e{G|NVpL5msoSZZNpag(`CH{f@7a8>X7`nh>9?j+Z(&t z@HZHW_)M0bA z;Y7TTH+D^>rLNqyE$KdPYP-}b5m8yR^We~rR+sVn;yXd3HYgX4-V3T*=XjQfaV&_A zbo%@sO2)bAnC)d&ddFv7GkY!w?`;&Kd(#wer7#D7bGyD=+*6h(jg^3V8vD&`W12EY zG^>BxR zaWPMpPE{m?B1t&I2?REZ-uj}^pc6nZOPul9Rc+Z`8vTG}h@T9iKigf80 z#-142w2!Z^r90hin-6?gZ)q7b+xVVCd#qtuk!ZE2ZgzNr>&Vodc`1fxri%;p&$p^7 zpU>-NOnFqL0pDKW2W%D;Be?&tW(v+=i(JtPcP{WUPp9) z7KX`A4u@t+tYS7BeV@3d^*t8-;$SI^Xbz0Ma003vdB_Z_j`1X+ewfSksgKY3ZF_E- zHz%L1)!&|BiZvd4FEysS?wr>WKe+6Z@xp9_ToUKb*I0j~d;v3!-zps#CiV?{0v zkOQiV>wF(@%o{WHqZ?LFlUf~Iuiqo7RgKAxy>&XLBBtOUFa1Z>8ulue?dWI4gth5j8>fm8%n^`%+AEnxR!!ZiV>s`nPja?k8Q8 zH_n@j7VAG2RM?PkYyGpzaLK@!>#yt|lfl|IFBLyEu%7$yrPck~pypiCy!aPGxry1! z6gQu5tKa6;JO=!~q~`Qy=R95M&=p2F)>4-4ZZ-H(xV8O$zUi2uu&<7hB$fn{%eIBx z{oOPCIzz9YlWVKDZ=m#@N+psW2ywGHJsK6R-uTJ$ow1ru!SF3z;Yj$5Ne#2dzMMRx zxAK;YAMPQIb^6bA+!{W*vLm!}q2|5)-#QWVPWW5%vvZBOsp1pbwI;d=*c<{45six(>aMfeQ##x`3X+(UaiJQ6&zG!qf?!8ur1xc!y(lmD z9GoK4b+?6{*fF!L2wq$J@X2+OTqI?m0m$+<-XY7A2O>kLmoRdR)ePP1#<2IE%}qr4}Yi&_LeuB z!gO1kU!QVzE-Fe7Tk18f*~??58#yW0{N+oRPb{l{M|ZlKYuUl)-Q7=;>+7wV62`9= zIVJTiU!538*uNP&HNwCkA<@UMeQUA0r$^+f7~$NKmw;!bJZHa=8YcM_@$Q7)iCLp_ zWX%*<6s~6^I?O@Xkj-@ib?(+;R*8O(f3CT-`KOMBLtC4Y98&KGKjtHey~fKi6L9kP zZ#QdB`r14amo4jeZ4|H+;TRgQOJ&XW%?P^Og-JN55G%7yyl~kq^O@MT>R0!RT3w&c z-H!b>c2ki!f4euPRv~UTQU3NsX+p>snhA3EJ^1j+IO^CYKAXqQ{SJz0+l&a83@l8#Ali+CZ;p{PH^Upy1tRu+M1y zM#00sAA0Hi@{E0|9OH0n?#>vHv#?F4g0M$)Z%()_CezPNEgV|v%^g$Je!bv) z!y%B3PfxE#8D%phP+;0nhR3MwIU@D)#!#m`)F5?`K7IK8oAi>?D{CGM-&r+ZKCKv% z7pg(lT!w#Z*eZfw)O}Wze-&1=F?5_by?u^T#fGvrKe;`6%l+x*D@yUOiW|tNiTi(>={IY?EF}2T1N#B-IP3tcm-X9D1nVsbS z!kZvoiVzR%<+aSg{B_!XlvVR|>ZLgBbS`IOK)Gt&*n`;~18FUtSf}lN?8KD8>6!*% zV}uxalfS`spl4b3!rwC3+J1WWdNEr%TQ}QAd3T;i2=1mvp6iVR}2_ zmaT%V_qw0eBC$j4a?xwHOF^Zmc#BN=7b{x4m;0T*NC@mGie8ra@-m5A<6E-Ogel{j zZuE(ItP^CUresMH30oSHU&jVCtrgUNCK2~MD!(0dx+8}zD${NI zrSHaMqXmj0Vy7iRsIImu_tZ0VY?R$^xvYmBQ@JPVaDCSLeQl?{uTDF;%&SFvg@Kn#%64_*7= z>d?*6fV85MKbNiqlWd=lNvX~azzppq+%kI21uh;NJIl)E{lqbLdrHQsa3bfj#)+rj z8ZLYm?3n%Dw=^}}bSsy^!6aC%q33zc&(scE8=tSEtoviIr0U00QmDbMMcttqbMlS% zq8q{OR{1eOE>12s`|wZ9&abXWqYH$w;x8Joln+8H(q*Auw>MZKc{+RKA+* z(Cm&Ksp#ADE4H>j{_ozv4)zmuXIzn}03Mvrjy>xuSq^k=osFFPb@hw_voGuYWG#!T zMwSanFke=qT3!X;?L(}A4Kps$`(ND7o)%vh4wyswY4Mh<1v2e96g(bna$~1k&p7D$ z!;KlG_67?Tiyu3pqK7X|X&bH*QRHT)7dqPT#s13R<25|h41>m|8uxoP@BzAI`}*yL zo|qrZt^Augvi_&J{<_PHf*xx_-;w)CtCGf+7w$@Tj{T}@8CzU-Ezq1WdhL2fPclaB zvCRjQ3O!%npE#$H%o#`fNrJqpR(N^G51#nZvl9hPuP8Nz_!ifPBX1o2=aei_gL!*EGs>a8@VzuiG`{-f@$rZgRP@pEef7_6b-oOPym~Q%@EqxXF#YXdkia zPcwP$>GYs!Fz5TYy0(K^&(E(PTDcWse+I>O&}^yB;_RFOE0!m<;j8jSf5^MP)|vKwBX8_n{>%|{Cpx$OmdgF%<#n@d zhv#*ILr()g=8ny2M7N8~h(-F%Uk|$3BtOrfI$`^MEx#t?X}hPc{_2kpPqppx-Q0a7 z*;m#od~^be3mVtv=QSs|i7swq3q8%t;pn^(qM-t1Z1Cyq^0dd_67L7v8+}_wf3BZh zt&v_vA2PrQ@-7s!to+$$DF-dQ_7{I7Z4B5wK-}E!5inKMr5<4}U)%5eIiGMi)v#D#WZJFuCwY82n5pIQkDgeKUuSX-B=?*< zkGt41pB!~Z(?&EX#nOPhp>XNP`nfZnFyF3^OV@`t$~ohaE)lESeD`7)W0k09Fjj=h(T(LQ(3zIRanox&%4 sHG@v5LEr!D!Xa$P9tt=3m<>`$x>P-JbYJ`ny+@f-5uZQgdgnm@1)D8}b^rhX literal 0 HcmV?d00001 diff --git a/public/media/delete.wav b/public/media/delete.wav new file mode 100644 index 0000000000000000000000000000000000000000..8e8026e11075d7c45130ad0b89c4766751cc5162 GIT binary patch literal 11938 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 diff --git a/public/media/dropdown-arrow.svg b/public/media/dropdown-arrow.svg new file mode 100644 index 00000000..4e6ce19e --- /dev/null +++ b/public/media/dropdown-arrow.svg @@ -0,0 +1 @@ +dropdown-arrow \ No newline at end of file diff --git a/public/media/extensions/microbit-block-icon.svg b/public/media/extensions/microbit-block-icon.svg new file mode 100644 index 00000000..95437962 --- /dev/null +++ b/public/media/extensions/microbit-block-icon.svg @@ -0,0 +1,130 @@ + + + + + + image/svg+xml + + wedo-add-button + + + + + + wedo-add-button + Created with Sketch. + + + + + + + + + + + + + + diff --git a/public/media/extensions/music-block-icon.svg b/public/media/extensions/music-block-icon.svg new file mode 100644 index 00000000..f13ebe29 --- /dev/null +++ b/public/media/extensions/music-block-icon.svg @@ -0,0 +1,17 @@ + + + + music-block-icon + Created with Sketch. + + + + + + + + + + + + \ No newline at end of file diff --git a/public/media/extensions/pen-block-icon.svg b/public/media/extensions/pen-block-icon.svg new file mode 100644 index 00000000..148affa3 --- /dev/null +++ b/public/media/extensions/pen-block-icon.svg @@ -0,0 +1,19 @@ + + + + pen-icon + Created with Sketch. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/media/extensions/wedo2-block-icon.svg b/public/media/extensions/wedo2-block-icon.svg new file mode 100644 index 00000000..51cb7710 --- /dev/null +++ b/public/media/extensions/wedo2-block-icon.svg @@ -0,0 +1,36 @@ + + + + wedo2-block-icon + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/media/eyedropper.svg b/public/media/eyedropper.svg new file mode 100644 index 00000000..37ff8094 --- /dev/null +++ b/public/media/eyedropper.svg @@ -0,0 +1,22 @@ + + + + Artboard + Created with Sketch. + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/media/green-flag.svg b/public/media/green-flag.svg new file mode 100644 index 00000000..5c3c9c15 --- /dev/null +++ b/public/media/green-flag.svg @@ -0,0 +1,17 @@ + + + + +greenflag + + + diff --git a/public/media/handclosed.cur b/public/media/handclosed.cur new file mode 100644 index 0000000000000000000000000000000000000000..4851755a1690d6631be7c32dcc7e001e6372aafb GIT binary patch literal 326 zcmb`>ArgZy5QX7CK}5#YAc(B&4cephDBOgraFhrH5{cWsZDtreZ06gynH32{0;NO} z9j^cn;3-8u5_G)Ae{U_GW-~k8u8*mL%Q9^6c6*bRZdjrJa+LmXTW#6QRhg67=(=WB LR`K-RGPP%aOVoiS literal 0 HcmV?d00001 diff --git a/public/media/handdelete.cur b/public/media/handdelete.cur new file mode 100644 index 0000000000000000000000000000000000000000..170320fc281ab02ded109f0310aa180b77e465f0 GIT binary patch literal 766 zcmeHFF%AMD5F9v?Yp*cIl58w|z?Bw6?qT>6zj9Bx!ot!YtV7NVgxDBcCk(s8u)7HX zurTm`K#vX&3+w@$NKXdRz;P$&Z5XzMF{K1mWu^!r$3MP#feGL$h{26T0d9<;Xe$zH zyVWAc`hK=AyHX$`lT`DlMSN-BYBYYUZ7#3struI#()e@6fAbs8EI*J})n~VIF{(3v TWO5|WGG}sm$GKO%-`24&Q~QG0 literal 0 HcmV?d00001 diff --git a/public/media/handopen.cur b/public/media/handopen.cur new file mode 100644 index 0000000000000000000000000000000000000000..da44588b2fa68ee115deb843e1ce6802e58b3e30 GIT binary patch literal 198 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 Lf`;q=N6`NO{)<(h literal 0 HcmV?d00001 diff --git a/public/media/ic-chevron-down-bold.svg b/public/media/ic-chevron-down-bold.svg new file mode 100644 index 00000000..4e6e6be5 --- /dev/null +++ b/public/media/ic-chevron-down-bold.svg @@ -0,0 +1 @@ + diff --git a/public/media/icons/arrow.svg b/public/media/icons/arrow.svg new file mode 100644 index 00000000..6debbf37 --- /dev/null +++ b/public/media/icons/arrow.svg @@ -0,0 +1,12 @@ + + + + arrow + Created with Sketch. + + + + + + + diff --git a/public/media/icons/arrow_button.svg b/public/media/icons/arrow_button.svg new file mode 100644 index 00000000..17d6eeb8 --- /dev/null +++ b/public/media/icons/arrow_button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/media/icons/control_forever.svg b/public/media/icons/control_forever.svg new file mode 100755 index 00000000..eb095010 --- /dev/null +++ b/public/media/icons/control_forever.svg @@ -0,0 +1 @@ +control_forever \ No newline at end of file diff --git a/public/media/icons/control_repeat.svg b/public/media/icons/control_repeat.svg new file mode 100755 index 00000000..05e9fa8d --- /dev/null +++ b/public/media/icons/control_repeat.svg @@ -0,0 +1 @@ +control_repeat \ No newline at end of file diff --git a/public/media/icons/control_stop.svg b/public/media/icons/control_stop.svg new file mode 100644 index 00000000..d6e9a541 --- /dev/null +++ b/public/media/icons/control_stop.svg @@ -0,0 +1 @@ +control_stop \ No newline at end of file diff --git a/public/media/icons/control_wait.svg b/public/media/icons/control_wait.svg new file mode 100755 index 00000000..52917354 --- /dev/null +++ b/public/media/icons/control_wait.svg @@ -0,0 +1 @@ +wait \ No newline at end of file diff --git a/public/media/icons/event_broadcast_blue.svg b/public/media/icons/event_broadcast_blue.svg new file mode 100755 index 00000000..3ed7b5b7 --- /dev/null +++ b/public/media/icons/event_broadcast_blue.svg @@ -0,0 +1 @@ +event_broadcast_blue \ No newline at end of file diff --git a/public/media/icons/event_broadcast_coral.svg b/public/media/icons/event_broadcast_coral.svg new file mode 100755 index 00000000..241f34e4 --- /dev/null +++ b/public/media/icons/event_broadcast_coral.svg @@ -0,0 +1 @@ +event_broadcast_coral \ No newline at end of file diff --git a/public/media/icons/event_broadcast_green.svg b/public/media/icons/event_broadcast_green.svg new file mode 100755 index 00000000..e61e35a3 --- /dev/null +++ b/public/media/icons/event_broadcast_green.svg @@ -0,0 +1 @@ +event_broadcast_green \ No newline at end of file diff --git a/public/media/icons/event_broadcast_magenta.svg b/public/media/icons/event_broadcast_magenta.svg new file mode 100755 index 00000000..4207ff72 --- /dev/null +++ b/public/media/icons/event_broadcast_magenta.svg @@ -0,0 +1 @@ +event_broadcast_magenta \ No newline at end of file diff --git a/public/media/icons/event_broadcast_orange.svg b/public/media/icons/event_broadcast_orange.svg new file mode 100755 index 00000000..653ce7c7 --- /dev/null +++ b/public/media/icons/event_broadcast_orange.svg @@ -0,0 +1 @@ +event_broadcast_orange \ No newline at end of file diff --git a/public/media/icons/event_broadcast_purple.svg b/public/media/icons/event_broadcast_purple.svg new file mode 100755 index 00000000..547368c5 --- /dev/null +++ b/public/media/icons/event_broadcast_purple.svg @@ -0,0 +1 @@ +send-message-purple \ No newline at end of file diff --git a/public/media/icons/event_when-broadcast-received_blue.svg b/public/media/icons/event_when-broadcast-received_blue.svg new file mode 100755 index 00000000..ed1f580d --- /dev/null +++ b/public/media/icons/event_when-broadcast-received_blue.svg @@ -0,0 +1 @@ +LetterGet_Blue \ No newline at end of file diff --git a/public/media/icons/event_when-broadcast-received_coral.svg b/public/media/icons/event_when-broadcast-received_coral.svg new file mode 100755 index 00000000..05f92a40 --- /dev/null +++ b/public/media/icons/event_when-broadcast-received_coral.svg @@ -0,0 +1 @@ +LetterGet_Coral \ No newline at end of file diff --git a/public/media/icons/event_when-broadcast-received_green.svg b/public/media/icons/event_when-broadcast-received_green.svg new file mode 100755 index 00000000..e43e8a90 --- /dev/null +++ b/public/media/icons/event_when-broadcast-received_green.svg @@ -0,0 +1 @@ +LetterGet_Green \ No newline at end of file diff --git a/public/media/icons/event_when-broadcast-received_magenta.svg b/public/media/icons/event_when-broadcast-received_magenta.svg new file mode 100755 index 00000000..c01191b6 --- /dev/null +++ b/public/media/icons/event_when-broadcast-received_magenta.svg @@ -0,0 +1 @@ +LetterGet_Magenta \ No newline at end of file diff --git a/public/media/icons/event_when-broadcast-received_orange.svg b/public/media/icons/event_when-broadcast-received_orange.svg new file mode 100755 index 00000000..fa99c847 --- /dev/null +++ b/public/media/icons/event_when-broadcast-received_orange.svg @@ -0,0 +1 @@ +LetterGet_Orange \ No newline at end of file diff --git a/public/media/icons/event_when-broadcast-received_purple.svg b/public/media/icons/event_when-broadcast-received_purple.svg new file mode 100755 index 00000000..12b163fc --- /dev/null +++ b/public/media/icons/event_when-broadcast-received_purple.svg @@ -0,0 +1 @@ +LetterGet_Purple \ No newline at end of file diff --git a/public/media/icons/event_whenflagclicked.svg b/public/media/icons/event_whenflagclicked.svg new file mode 100755 index 00000000..ff2a3bfe --- /dev/null +++ b/public/media/icons/event_whenflagclicked.svg @@ -0,0 +1 @@ +greenflag \ No newline at end of file diff --git a/public/media/icons/remove.svg b/public/media/icons/remove.svg new file mode 100644 index 00000000..9f50efc1 --- /dev/null +++ b/public/media/icons/remove.svg @@ -0,0 +1,19 @@ + + + + delete-argument v2 + Created with Sketch. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/media/icons/set-led_blue.svg b/public/media/icons/set-led_blue.svg new file mode 100755 index 00000000..7bb73f98 --- /dev/null +++ b/public/media/icons/set-led_blue.svg @@ -0,0 +1 @@ +set-led_blue \ No newline at end of file diff --git a/public/media/icons/set-led_coral.svg b/public/media/icons/set-led_coral.svg new file mode 100755 index 00000000..26487a30 --- /dev/null +++ b/public/media/icons/set-led_coral.svg @@ -0,0 +1 @@ +set-led_coral \ No newline at end of file diff --git a/public/media/icons/set-led_green.svg b/public/media/icons/set-led_green.svg new file mode 100755 index 00000000..3c9cd170 --- /dev/null +++ b/public/media/icons/set-led_green.svg @@ -0,0 +1 @@ +set-led_green \ No newline at end of file diff --git a/public/media/icons/set-led_magenta.svg b/public/media/icons/set-led_magenta.svg new file mode 100755 index 00000000..a13b8f1a --- /dev/null +++ b/public/media/icons/set-led_magenta.svg @@ -0,0 +1 @@ +set-led-magenta \ No newline at end of file diff --git a/public/media/icons/set-led_mystery.svg b/public/media/icons/set-led_mystery.svg new file mode 100755 index 00000000..4b0a2e33 --- /dev/null +++ b/public/media/icons/set-led_mystery.svg @@ -0,0 +1 @@ +set-led-mystery \ No newline at end of file diff --git a/public/media/icons/set-led_orange.svg b/public/media/icons/set-led_orange.svg new file mode 100755 index 00000000..9821c799 --- /dev/null +++ b/public/media/icons/set-led_orange.svg @@ -0,0 +1 @@ +set-led-orange \ No newline at end of file diff --git a/public/media/icons/set-led_purple.svg b/public/media/icons/set-led_purple.svg new file mode 100755 index 00000000..efb7132f --- /dev/null +++ b/public/media/icons/set-led_purple.svg @@ -0,0 +1 @@ +set-led-purple \ No newline at end of file diff --git a/public/media/icons/set-led_white.svg b/public/media/icons/set-led_white.svg new file mode 100755 index 00000000..5ae43ab7 --- /dev/null +++ b/public/media/icons/set-led_white.svg @@ -0,0 +1 @@ +set-led-white \ No newline at end of file diff --git a/public/media/icons/set-led_yellow.svg b/public/media/icons/set-led_yellow.svg new file mode 100755 index 00000000..7dba71f7 --- /dev/null +++ b/public/media/icons/set-led_yellow.svg @@ -0,0 +1 @@ +set-led-yellow \ No newline at end of file diff --git a/public/media/icons/wedo_motor-clockwise.svg b/public/media/icons/wedo_motor-clockwise.svg new file mode 100755 index 00000000..29bdf2ab --- /dev/null +++ b/public/media/icons/wedo_motor-clockwise.svg @@ -0,0 +1 @@ +wedo_motorclockwise \ No newline at end of file diff --git a/public/media/icons/wedo_motor-counterclockwise.svg b/public/media/icons/wedo_motor-counterclockwise.svg new file mode 100755 index 00000000..3631e8bb --- /dev/null +++ b/public/media/icons/wedo_motor-counterclockwise.svg @@ -0,0 +1 @@ +wedo_motorclockwise \ No newline at end of file diff --git a/public/media/icons/wedo_motor-speed_fast.svg b/public/media/icons/wedo_motor-speed_fast.svg new file mode 100644 index 00000000..0e9308fb --- /dev/null +++ b/public/media/icons/wedo_motor-speed_fast.svg @@ -0,0 +1 @@ +set-motor-speed_fast \ No newline at end of file diff --git a/public/media/icons/wedo_motor-speed_med.svg b/public/media/icons/wedo_motor-speed_med.svg new file mode 100644 index 00000000..49bc2b43 --- /dev/null +++ b/public/media/icons/wedo_motor-speed_med.svg @@ -0,0 +1 @@ +set-motor-speed_med \ No newline at end of file diff --git a/public/media/icons/wedo_motor-speed_slow.svg b/public/media/icons/wedo_motor-speed_slow.svg new file mode 100644 index 00000000..b9232edc --- /dev/null +++ b/public/media/icons/wedo_motor-speed_slow.svg @@ -0,0 +1 @@ +set-motor-speed_slow \ No newline at end of file diff --git a/public/media/icons/wedo_when-distance_close.svg b/public/media/icons/wedo_when-distance_close.svg new file mode 100755 index 00000000..fa735776 --- /dev/null +++ b/public/media/icons/wedo_when-distance_close.svg @@ -0,0 +1 @@ +wedo_whendistanceclose \ No newline at end of file diff --git a/public/media/icons/wedo_when-tilt-backward.svg b/public/media/icons/wedo_when-tilt-backward.svg new file mode 100755 index 00000000..e7a41042 --- /dev/null +++ b/public/media/icons/wedo_when-tilt-backward.svg @@ -0,0 +1 @@ +wedo_whentiltbackward \ No newline at end of file diff --git a/public/media/icons/wedo_when-tilt-forward.svg b/public/media/icons/wedo_when-tilt-forward.svg new file mode 100755 index 00000000..00ef173b --- /dev/null +++ b/public/media/icons/wedo_when-tilt-forward.svg @@ -0,0 +1 @@ +start-when-tilted-forward \ No newline at end of file diff --git a/public/media/icons/wedo_when-tilt-left.svg b/public/media/icons/wedo_when-tilt-left.svg new file mode 100755 index 00000000..35beebc0 --- /dev/null +++ b/public/media/icons/wedo_when-tilt-left.svg @@ -0,0 +1 @@ +start-when-tilted-left \ No newline at end of file diff --git a/public/media/icons/wedo_when-tilt-right.svg b/public/media/icons/wedo_when-tilt-right.svg new file mode 100755 index 00000000..a05dbf0b --- /dev/null +++ b/public/media/icons/wedo_when-tilt-right.svg @@ -0,0 +1 @@ +start-when-tilted-right \ No newline at end of file diff --git a/public/media/icons/wedo_when-tilt.svg b/public/media/icons/wedo_when-tilt.svg new file mode 100755 index 00000000..a4c10c39 --- /dev/null +++ b/public/media/icons/wedo_when-tilt.svg @@ -0,0 +1 @@ +start-when-tilted-any \ No newline at end of file diff --git a/public/media/is_candle_black.jpeg b/public/media/is_candle_black.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..aa1eddd597f525d3989f09c6d298437b3ba76498 GIT binary patch literal 65657 zcmeFZcUTizwpKO5<&||hlCEHiUp2H5jgY?(gGwT)KEfG zdRIya9qGOIA`IS{bM(F6d7tmSckaynXEx76HoL6#TWhbib`7Tkr{4fKlogZ|0O!sD z0O!tr0H?zMIlzVUKhlri7tYc}vWq{`6*96*WLK|TyLR=;)vMRYsmQNgr@VgkDg`wK zCDn}^)Hkk?-=w*DgXS!M;|Gy*KYCucc;&3)jq6vhpOyXx)9EJw^_7e27e8J&#|k)4 zeeMGFxzh#!%NfWsSU>RonXX(VyL{o|rSm_kt!@C$UHF0e>J7>>)|bv-2An&8R!Mf5 z`pV6FG{O>BZ!tX4)Nyewq@`yS5!Zs6IE6<=m(+FliUA)yg*dytjY#|4GqFy`CaN8o zUNmKjES_YS^Tpqm1e^WNXS$O+wM`=E=)sZQJritipPmi@ z$S<6UNqvDDAPc|?{V6B_;MA$9p&n5Dh1t73-JycU_~rD^y8rInc?P?Tl)=L2BYAV3 zYoFrk5Rh29(T~|xJt7HLZ{j4N+D%yKvu4Sfw`&?tbH9vodcs(=4DhA(C97Sr?VYw@ zwiTi9NQdbL30kD?DUSwr_w!!Ku z?*Y=b3P)H?FB{T3{}g^a)RA+TBfgBX1QH}JtC+j46=g2<<03m+*~fI;-Md*<(+YN1 zh7dQFCt};wOJt6i0O+wOp_LUQ};&cXkkiU zY$7>y8CoVF^RbDhzFkSp!KG(VLo^Z+7Ga)e8zSE=5sp>Ao}tEHG+Jp>)!&um6m<}Y zM*$1RMHUM&nom^w(Ed~8E_u$9MFfS_GH{r0A<{OdN(_7fxJdY(-loyUn7{p0SJ1^wbPj1RZ(@fgo@vHEaQnNaD|Olo=WhwYFIqSi9U;6uO~7 zLnoFTDz5-$M=a19wleN=kyRwDE3!Rj|Mr{0V50UEf3kSZC(&k)DxwM5gd~QyV1}I_ z?}YXu$y085V_2WemoE^4(-+b@m5SZQ;)h!;1x#1u9NU%AJIZlF__svrX1QxPtiQT~ z?r>Fzkvku5cFY+^AX^`r6A+K+P5lj3ycCdv4LU!jY3_SkWQqs1*1q zK6*|%#uX`8_LcvpBoRVoAG8K)w2hEqoL!Uk2~R(yOGnFSyPJ!5dTY&aT7NyGOx%0u z?aP*(%xkx&pu8AAqr+MpsQpUb1+OU1$k9LBn1Hj}{- z%Koesf#P$bcOn$o*bzS0B&oGQ&Ona;#<)t`PUI^bDty#4{Llom!USI_Lj>PPaF5IZ zIeZP?@v@s@AhbY4G*DiC>QltsV;Q#xyEi}Xw^c5+91$sx@=C2v0V&$ASHbW6&r!LM zOw=ORQ=ZMzan}#Z$|)j?O$_jL{%K{`NPNH>J<9uI0SnQznw|39n%eJgJ@Wb)>FRw} z1os}y=1;3_P17*axZ4gI zq&Po*oCqvl9?gczau)8XNLZ-am10P(M8o@DB~*f7PR^%*xvTKw6!()}?lM9avNDlp zk_qxiveaaeu#iiP+KI+y`}E(RR%}>(Ts39bLIbnpPA6OH#RAG6ru>nQb>1oTmP4rd4UkgZWd;xBb6(@47q8cDP(MHfjLb; z$%H;NYMIGeFI=s4QRJpS=KGBp@=GswluiMdAu3Co_<8e_KU(J_eb;ei3(Z4B6*AsA zG^F>WV?0XaxO7BU=zOL4{h+|n=baf`k;_dQ?zTo0_8sHj?LHKWq!p<1ck<;8he?aZ z3ancg@t00~P(=FO(wjG|b_W)rNl!FWWE#3T zYz_B}Wp|gH(?JCcrHZ|PiD~R-rjCgu=@Bhk#Z7XnRtww&t4-VdrFgDGVAX#Jy}!Go^(vwuKy%SHYb$OACXnCw@uR_L%%3zRcq^ z^eF(uKG>O5Q9Qe#ASU}^Oavs-ogq#+%x~ZsQ1;Cu;Q5*?Jlpn7phEaDjh0=lzsuvIgD83`P*%W==LF8m5yGnsxOFl z(iGG6Z69gW-W*w$v|5cm1ms4s&)0)g2xZ7rvzKndSkG=}gwC4wDF7w)h1R``FW^4{^Bl}u*=YHJG+HUv z10&1)p?x5)b(UYvRe8w=sKF)TPz%;s6VK{!iCuF~b18wd#@si%?H42IozTx^lGOaU zKTqDy8IyR)N7{UP6qUG9*{ksV(E&PmYY}F<9`AE+W8%f9fR%aab$^FWz?)#et>GJQQ3W=X3uEzQe-voUpc|m-h0?}yn z?|+2l))z)0G5Ya9#tM&2`x?U-F{9PRKAVGz5Mpe+W=w^e^%fO>fqW{ZW~I7j)GcgC zFOQ3q;-L-8N;Sl%K;*~Zov$fngDh_h!DLUej86d-RR!9HFVs>tv-w>v-qnna1)g^C8Ah14m{rJoN9j$;QUaXxL^3;mmvV{h#)?Y@Y%G zTN3i;q+k3{`?+RK4Grk^1@y;IYjZVHGn;0ovpX%lZxWbp7>T1SEj3uknb0^cXSKE4 zO9*&x4v+%INb}dBq}q<;Y1KeVna-W+&DDV`lG2@cFAq*+a9u4d~0smY~ta*W1l{lemM%@PC!>xf>4N z7E{9(vo*t%3Li}`YPW$k! zh_)T?u|-aviZ%i|pVCKNR`OxSu4KW>OR0~kF~9U#qBP8^nplF3c?`57az5sI>*1CR zciEz8jQY`LM$Vp!%PueWuRrn=MxnAZP(h&)bn+L;ZJnALy7SDmK_K-W*58;v0$9~~ zhp)5f3ad>vs`=ZB$k~^JwGh*N6wk0q@xto z#PTytE7s2DUY>{gZhkwWW5WbJ z$R-SPBP`6lR)L!hB(ww!3W7TJtyfKNh7HVqUZ?XRGnSKAvP;h{Gg!#T&dLh>;|aOl zsJRoKnz29IhMJoC2Bjl_T9L&L87hPmtC>JQlrW3A4rxjc<>s&*UbS`R)r4hq1G}Z4 zdB74S{l;*2zTZA6h{PW##?b381}C?l8{~m6X1exvaxgI;+?gSEIiF#NYUj^!MZIbk zr+QO7e;(*&J4@wN?!9ewSO>A#WkWaavo;6uehgv^&LW3sDbiJjxFn)8kPw&*@nQa7 zBlIL@7~4k|bcNrI@GRGc+w57IKWBy>6HRxpDF*;o>Jx^+Q+yZVBtEd&)%WWMAzbs!ox27-71=Tn<*U^+$?ZeJ z0-Z^p*Pv9dKAZw{m6>WFGu0JO=Dwpjj|IV0{D zX1y|*8O>lA<+fQs(|~j zcJR9JZ6=^|g)3;52!U?B9R-|YbP0o#o5bD@cKzIsxs-y6dH0)+%JVby4t1^cFjBfp zwRU1$-7gBizous#>k&G`Kl$Bvg?6WRbrVl}3;Qx`6b=MJ)TLNiUzuh66Rj&v*F3DS z)G_*MdW2^I@~as}7ItfAREQ}k&vGWVVLHYZc7FC0@#gSv_s4b*@zJ#*d~PYvSjarI zZUP#jG3i`L2$*soaAhL7Qq^?1sF|p%+-+I{(SCAKq*OVky#~F@iWXSvmeqW_`_n?T z#+|==HA5+~iJ78;=cA!UGQId;ARAD!6q|x&5D!k5Pzw^}6 zZXCD{-cQ(hqNt=vTchRO17CV zgGJM_0@+NfHK}3gZrh-}H`|{8*5s#vp}V&%IE6FnV^sLjMb{F|kvJc%XZeZ*J>8r{ z9H{qMFMe2C?-!+mC;6&A4V2lZPmz=Odt!uDgAk$A1Mi zfCBCpM{%f5E!N*jjMJZZRXv=OGn-j16`q%=m;uRUVnMG-LSaVPzbcy}cx5-pz+li_!2iD;U#bkU*{u0a0S$xl0oWLCmXtv~TDzNl)kGWC z3f#Dhs~U;bCY>?=mk}tYenCzXj5f_{WY8aWO(ApEY=x)~GB+V`0ho>ibc$k9isljX zz@zhDK3*XX7RSjfPONpOE>X-Ck2x5NdbPV%jPsX>IU6j-UtoF`26E<=z{BPQX;^>G z0C!H9>llo$JOPT+7knL>%<)p<YWa}vK?$3eeaAW%vCqdtSaX*867+0hXG`NobXdBc3A!-6=NuY-g zf5o+bm?xR?tv<}v&QWk|rXL~7x(Or>X*Ok$7h43#3%9!!+s`E&?fI8`P`OZi>)`Sm zeCT07^;|y@jMa;Xp=*lZMUIlxeSpRQjp_l&0_;%~6+KCDIvwH;nx4e_G zA1SdK8+3gpeORF#`A}P-B#@Oix(f_Gvk=FwpELdC!uLX)?G#!iy8SWU77e`?2wt&NXN*VDP+U0 zihjqgAZdWg3GN`=5&UWO8_K`Kmj^rU>^Sbtf7$Wx9o(}fS4%99n6aqQ!@4?YKHuqO zc^1JIJ(6LNz9y-y#*C`_#r8{C+K*{|hi75y8T1DcDb@$v>{;2i_AWsAQHXkfPVm8- z761T2@ljN3E6PLN_Y`1W)~%xkak68I2Z!lo=y2af+oJ^tg)%#0zdAuFYhAemU3arX z!>+P)mY5cMM-ZAl9P7o3+GO3`cFvv?Ui&A0Ao!bGK%*r71A2XQwH=<}n=;ISFjkIW zBd)}7vI=ZPi}lE_xcxEs%gV8@e$f4`V>Dt_*XrufO0*WJpa!mQ*|evC4#J+vfQ6r! zUtk5C!->v`3LI$rnl|+7Uy~vP@=j*zE{3;tl7v?w+dRSfAJqr%{9;xD!eqDW_i^v| z<6=6MTrzC~dE~TjK5Ot|O_!Emna8Zf&HWsLe+WG9!wsHIR`oW^b|X4NdzCc$o%=SU za#>|PgGOn(WwbTqN5o@)cHPdq?eNAC|2iSg<%&KQ?;U(sP))U87U@a^f@Wbi$o~M4 zolChL=-PICS%9~=TZ;&8)+WEoqAaPGLDYnPMGMp>h5q8kvCw5{(?+@-yeY35e^W>o zqW@Z4_cD}AWWKsYIREceetS&WPBge!;%<)#Z?%87ikc>Q4?)?oy(XxMH&Sg5?N;eO z^ozy33**~7A|KIns~-^Wwa13w5LVe)h&z4G);U3e!;eK?02mZprYd6$ELQ62hitgf zaO?34dbCfaBf&4Rrb~pJsxG5J#$PloDCov3&R*JTRXfa$yQR&mqwE#Xz3hzF)CL<( zrVGvrhy6Y7yODPCA4D1bYsp4!>ELjKcN9==erbytrq;Rxnls!kg*1ur;E1um;+7vn z$8vsqo@DHR@0Q7Dx1ei_UbiKAg1mH!6dX90O2F!jc!*5nd6xgZ4b{K8@%oqAiP>}P zxYn@LXnQhB+&m;0Q;u`9QI$S-8cFarC{0|puBEP#i<(3oF$y*~{4vAUW@`&L_x$fE z{~y^s{ynSzWa)pauu??#Yf^M;5OCw&scNQ~hsSC`%jN3B99>(wLms-p^U0%M^ZB#g zA}S`2rfh^pyPo})-7hoGK1v$?b}3AYq}4BcS51^%eg)rBBUhl%8JbTojib+wn1TW2 zVknT|L;1q&pU(7RraOE`*HNZad8yImw^7S2&CvoGbY<2h%48SFEiYVxmn(#i&%$l8+D6{D^x&7MP{}}cxH0KIY47) zOl&F6u6B{r<9g7vm#|L45hVSSEvu9XHU+!ONe~GWIF5bX_}-R z#>0*`hJVXcPBxp)0xL>9=7&p~##gSlknrAiu;)iWx_0+#!zo$@=v7)Ru<8uVm<Cr34AJT4K=~uvF;KN=;CR8$d@vKe>}qs z*#?|x6JkW&)zQ($G_CY10_|RSn1{THPCuFnG#^74xJZ+08D=Dieyg#aE3h?UDMZjsNTyS3LXnt@p9KEL~AeA>z}+FPvaHdO3WH{DSZ8>Ud(}vMy4qyWeydkh$)LS>*9}8)a?c!BavJ zszgS}Gx@c|reFT-$#ZxsmP+-Gm2v0s$EAbXD8?d$T<_(0($?$yQYQ{GWO)f+w?F^Y z`w51#L`GC$(io~TF+3xF3OMVQhAJcvbraR2PmO_}6puBis-~I2yUt=?*PpR(lY41a z*&|Y;$^kJX`GYDIg`R3q1{aD-^ap|;&?xkv`gh_UcAX)7@`E?fy#M__R0Go%{5pOB zWcdMHN6p&n#nul}mwx~!M*d&zY)PBULOW?p?H)}Y{6m1It?;(v?1oSyek$Sr+|gf;zrn3Fe`UEuc#dDj5i<@kceJo_D)$Smwwx2v@Ll_u zj^V%L@r}Qzxabt{0ZWJYa6gKOk8gkhUCy2W4%EuMO9#-{JmL6^)dXB}pZtW0lXb>2gj9?xNJk`+Qj z32?;2`gVi<3rms?Jkt?1Vu^|p@@gti>ZD~}kTW?OWEF+OM9}#=A@b@x@^^AxQfp7D zFgrH&1AptL&ds)_s4moheW;cC=~bOZ_s%RcwDp}jc2=Vl#l2IlLNk( zYcW}^Yq}Qj{IN>V;p6UM!#TU=+v6;LLJd7CN__Cvdx7rZU1~JDxwjEQjduR&{_sxy zh0z6CF`calY4g1Jai*Z=Wb~yh+024+_4`1* z{%_P_ky6a1-k52*G<7R?ZUQJs9DzWMZ?0Kxu@?GPF-2&S@9nfS2^}25{7xZZL@?d4e zGdYF9lm;C36xQxBlp6AjJNt% zOqG(NainK@pz@wP*L`%*7&GlmNk>BrmqPABypGQqd(M+tL6n+5TM(pOfTM z#BSRuKZ|;VNJ?yLE*$as%2zKS1dAn`NKn2m&-9!5A5D8~-u61E8f|4emngbCxp#0U zcCkF$(tRCywa3OtOV4V+=P8#(LuZT35`wM` zLTvhz8Jc+3<-yKAmqO)O)o3`>t?g`k$gUE7aS6=J((Ffq-YDxNeTAnh!S_x-i-{&<7RB$y)gh9wck zvN(FloLd#ApgcNF>ZYTZgT^M$8@&Gfo8m8*g5;Ko{6e(s%ekn!(*2nb_qg50^z?Wh z*0W?C@Z)yrBH3clVRn%R)qqCC1*E)>_Ta;NqL3w#W zES_Z}fw@O&#`3xeJrH@pNy%H3p8(f-hMBVTzc5%GM#UH~yIP(Cu8k*wMhgj$ybb@? zxk?s=%?b|d*n>~DNyMh@^1D|??2Fp^Qts1k2){Z&@=~sRh)+C-SnB62=V#%IXxcHw zVbxgBF}x*|#)gHvEIyYA=4KVN4!3q&6z?>aZvw|Gys2N`y81p=FFU-Pjk4E(e;?(` zVrtqFq6TzJLjKnEbsyCn;ItgwAG8a8jOSU|-LgrGa$~ZjpP+jcm|2LrRPo}deg(4W z&^9Om>@B_IXIq(g;BC{+YZqEe{e%`SEguLCMF#{ZJ>UvL(Se^%yE+4ziRwe#x(A}g z{vr*1yT{rN`L?c0qAUdL3Tt|dAaE@4;tK-2G7meNjtYt3!6j+dexe-XZq&)+wvCx` zMVs@71Wk{v%tKFl44%V;v9<%y>us~zl853R#;DCD)cg1nfv$>T&c}r%N`>pJ7YUa>6QotSY4sYSnLjHbcj~-os-+OTcEitJRR%@}m!)*Y`?h6%lE4wT=!aX zi>6zj#9eEBz*7;}ycO9Rr)k-8Wku*QHX(hese<6tmv6uV8gxl?`U+vo0HXs#N&bOV zmx{g$l!z^j1_mGgQMc8&a0fC;pAQdznPWa+x}fM**bVOPQxw%nk%5E~sokIV4QrV# zSu(dTC8v1CMT~Gq=c%oZ)qc8iE+@sPqQ}qnkFzos4IX-I6h}x|>^fr&H`8FaLIMyn- zE2TfDkRWVnPq?dN$l+hGh{^{ej?;hVW#30_lnFh@#?>OQQ+Fr_9$b%ton283w$;PtRN%CGPxUmH~@39AYT zzp*qT3=<@Ca#zwe`p+)?M-&h5I|CjZj-?(2oC4&pH4MFqFn(wwDP?7iM=a>A(7iG% zW3K)z0S_fqn4ozAkz?cDK-goFH&?H4ysX{KZ*XZ(&*A2H3cJ#Nlab|8$%1IQO+^E; z%~jT=&K2*>%+eujzn9L}q4_D)+mx6Gy&$;^@6Q9q)Ya@YgWL$iz;wPm66kyaABh(m zvvg_fnhpEe8)wkCDGr@Hsy41xDsIRm1LYsH&N}cCU#lpq+Y0B-WBC_4Zoc!u!@Cy=Z;kdz zw&Y)$O2>t#gT!oG^4z8%^zz3|h#~>GQ9%Y@W(S`PNETFJvx3$Gz0{G3$1k5xH=5*o+4LG-q;KoGpknheD2Dy0r5AJ|;o5!fh1;MeF7~F?besC8m+h>IXAU1K zLBecZm2<_aP`PO90K#tICQ^V7gB-e3R-xIf$@qP#7ks{`Xbr*K*`DZ9a7>-?(JY$Q z9F9)UrW|6JmFP%n7&`x5(E;}kGXK3LJRm0+S9L5?)GQcJ6e2YG43x{^Q?r zJoncFB{|^F*m3dZ&sQU~mA`B*|CYx8>B9df?VoGj|2MY(nk5Ur>`D)vdLtMmQlS~C zC5g^m{TSb>j1Dq|r)r(wk^Sp&)JkjROHaWd%Z6PEe$b{uA+PytZ&;6mKpQ!9Up#S4 z<6~HzUEauR-=)-xA1@j&e{6j1XHz|Wc-exC_n1j-jqB?Jwc@aKn9H{)K=Ah{hWvFq ziK^7cKigd`bvn6@dwKH>_3I)(+7k-YUgSK>U+pHuyJSBjzxX~sFSz^MwDxn!*rv~g zzuGZ#4mR%#RIDol(bWpm{z_Ad9_{nabXAR602}lBe$V{_RXrGl==U~^gJtiJ^-@{xV)4wduWOF&Upm@SYtW> zchMv+>A$-FXdG3^x9#J23P@@{1w6grl;C2K5{A3G75{qvvAxKG)%rw{n1)E%0DwyV z)BmFVU-I$i6#HLr;kGWkma|kAoF7f~@~`YQNRbirY-^2c-F)JH=Z zPoei40C3rK{Mq8+fOQ-}$|{4}=W8CQV}_CpZ#0e2hCsS0#-j!Wj)-iSweA|q`}4gT zs{SgmdbCOk1DG`>7CBc%`w9x;6AdM$3pP33IW4_NYH3jWgV!)yjQqS(;E|!~>kZoC z)N{k@5sLgwME7x20%PX*uu}fct&)5noxJp(K?&)Oz%C~feO0c&+YT9C6`^6?i6e(f!Q_r|R2=77 zg=u{6(Yl50SW&$>yh@Mlm9KqzlvP0I7!x8nv+ATpyN;|jMbnV>5O1S4cdpAepZ1E1 z*$0i4F0Ib6arnC`;zQNVC05c0ZHu%^N9{wxfwdkz@`<;iCUrA&eFCZU7l6iNJSnz^Xx{i_LNl~y&90&Bj(H-VdJ)~q8L$QzmFEEcQ_^V z?Rj?ip?3c$!6w59-+tju{Xo5Ao}ty9Y@LZ>`@6Ye3eYy9`okN&@sZK)%=FI}awj5` z$+B<5Mn#xwx`v4yV^ZFoAiQmkmoOn;B;WRrxR@_;!H!#LDdH`I3}M|q^^5n<_MesW zu~jBQ`dXb3lUySDhV960yNHqpZN5@NL%F85Aw*hKVMEj-D`Q@6#?Jm`9(?Y~&35*M zLCW(Vb3q_t5N7S(lxYCE3a!8Wi1LF1r*-A+2H{7IBeMHCuluFx&mzQx-YGzDsKa*N z{$_O+K58xU>l&OWtloO}Y_1cm@zxmVl~fhj^GNS>kq0+94Q+@zaM^kKSoqJ$8}NOJ zP-|3t<&fED+0yZ0&=83T8tq>Ti+pv0IjHe72*)ih`E-78d8QVW-!YNF^Z4AX@4p_G zK3~|N^O?hP{#MbWWjeI`gu=YLp)dWNCPNq)M2cL!H@ExLYVH+1)tmYqi#Gt?Q$P`o ztn_;MOR~EdE+ZNYI=`+TzPLcAoRH}AuvkWu+Hg;S=#1u)pw%Xxg}Nt6b}54swoUFw zc4f4rMkOUzv@e->5UoPfpkW9I5(ep}rlS8zkq>ar`1>F62jlPRzX^TUd*FOHVeIxv z7rumy@9FO!y1&R{?xKl4Fuu;bbM^{W9?G*0l371HVPxyb+vutkH!(GkPrXHwlaoiH zeG|mH8>Y?GqFegpb%{_AXil4H`S&kf#{zfHymO;qiC+5UH$qT8Jh!wagUvnJ`aBhPygu3oLb5i*=o3>||;}@f+F= zZ4Z+Ag~ht5A!kMq7xt5+F5rCa(LK?v+UxH>nH&~bPLD2b1r#+?jcrh9FA4x%(T9OX z4Tz+bJ$D64qZH0|3;QWs8F)giwgFyaxt1b+m@L6IBZuS@<*%?zvMgB~W1q(k0sS$g=vM zD@`RiRak(vu|m(b#*{D!U)5I88nlQIFKi2m?{pwb=Mv$v9{6@9Q*4R4y=Bdfj>C3N zng&Qz%=|*`SW8A$$cmz501jr@X!P2)-{b@XS(xQ62RyVQE@G38=QpEIFFT{Bhwe|rgszVZ45Tl6DO=QfpVO9>z(4TOS53o%az zo)gfIs!|&}lP1&~JgZ>(!l2qW^`a5l+7yFI-nmLE%|7O0*e4I0#U;_I(f?DO{c*%& zw(K4{U&vfOwx(%#C~0G$TJ))9kGhp}Hxa9b994fcQS)PD_TVG+&HFc1h2rjPXg-Z@ zH6R&&Adh_Q5*s~|6>GbFA?y;({?pUTm-FP&zzHWh)YTja|*~tCVrW$ z{Q9)YCsW7qxM8~4C{v(DV6q%{3b5lj7Cp{-uRew&-jc6~+dj>SI#{;t_ZWmi}y z7sop0gr(Lo_F^+{C?0DWSzKGq{`U3Nx8;y7+{xlAip#5v0}SKj4X-SWM8<0C33m@w zjEA$2#l`M;G`*nCQ?6smC)p_CaxIyRq+gk1tY3SkK@!tuu^`^DfwzJ+$ zj8lXrd=-rwgTb`P#^8mdN{l}qD%dGL3r{|ed{Su zH0Qe<0zQB+Kj%m)MXh&6m@=kf9r6eJ#XX&;Cu^M^6j?K&KgcccTuF5xD^$F?Q&F|4(l1=Q z2fZ5*{7<>GZjOr=`!P-~+6o5>b6CI#r72hrf8}R!Bwm|oZ=_Bkt(c2`)%SGU6mcQ6 zKA*4?8V)b~gadI)-*GQGk}6(|l5{gNE{pwImUO&TS?kr5;#d5rf;qR}c24%;)>7@E zINkX1&>HkAiBGC1MxQ6PrxSIINKfK2ozPu8Y=w{Y!CMGu7MIrZdBxk8U)Af;)@&&n z$nH9}kt#>zK9bcX;4L|C>aUc@_)6=`S%xo22{Sc5aJjRpV8(js5b9quQoPxLH zHRi#~%U_i$7mCUKlp#QC0vzLzmfJDKv#wfRb2z|qEzik@li)bfyvxw(+bOd-cZr-I zGGk0YC#S<^R&S(z+II@(vr|epi~a(h%n9(&E6bPcYD@%KA2g1VFp*5K;hFy7*Z~+( zD%0koojjW?cr-0~_47-za z4>Jh@2&h<7iv@$KtEm%2zpNESUHnK&4!cLwhN=?3^V0Rb!75j@n#Yrh_89uGIjFP+ ztI&zp#PA);O#BnJo}w%6(DxKmoNajs$Hu*jd6;nKPd zyf&~w)4pO`?(3i1gT?z=>A3s!@v90Eiq`qdOy5ocCMs=A_yY$QgBk|gF1Otfg_CreLS`Ju3I+M5 z0!wAf4Lgs9I5;>5cU9xKQs`doK9f$unI3m9#=)7}>Pk)lz4~4{qRXvN?_qWwvSNm=ZtCnWr05h*;~!pe6%ysx#`UmRJ1yLp4NRxbs)e1C0iQjCVuIvkWrQ zGeS1faiQ`e9mQWbP4)9dS35#eppr~C5smfwo!SvmW8EH!saCNlA5Sp_(NFXr?uwp0 zXHsA*(|q0-7@x=>9!8^UT-9ebp{P<7*yyVE+Jus4@)-~6on%IM=U(hnnWfiO(6kpl z1C$rsc|1i68vqY=GP4G)GM3&S&l(@zVEWLT_z&kBu`06fDZhc`Uw_Nh zHNs}tEXzpq^+TH#xXmL>iq{xI*eBBJ2>9}kA^tw6v3%jCm76HEqVyjj-}{@I*3w;g z+JbU1`nhY%!hH+ve2D1Msvw$$rm_i2g zs3ydN?9*o$G%2Wh#5Ao*myOmWC(BtPpK$>5A{a86uOP|ZEjwWrJH&~iXo}MoDj-q{ zeWpK@CdSO%=ys-1jn_yrBpp< z=|aq2Sp~NQzE@35!?oMP4?P^~)`2Q8O|-liQ_EyTn8GE8^C6=k&vAJPw;4mthF5raxXFsv z(Dl9!!rQi4E;@Z74JU}P1Nc;5SbVc}gJ z^@_4VnycnW>E-U0oMuA@N;`1Jilo*9VmQzG1ZI0RS3q2OnCsk%u|+;Ifu#MS!A+;> zC^-RT*86QT;c%jXgKx|dX$xkd z$Hds%M3TP=JPE-~q7!rW1OkY_?-DvjGqX#{dViF(TSBe-?&CRw?TyOhQ?G4d}(Q2M02raFdg6!f4 zEsNE@rQ+maKGUTuYi>uNfp?_pE+xF`yOE;LEjAgF_S|hQKqz?jycPAFJ%5(4czeYY zmCyozrnJgY0ce1o(9YqrMSZ*dtZ?)2!U~-G6?e^?*$p?sdbcax>mA+oen1nxT;hI# zynvwpAkSxQubgr|a75b}r7eXS#2hY=+vdQ^gTg9GC<;su<=b30f-HY|S1ignb18$d z*K}c}B)Z(ICM{5fX_1>F7Xpd6tpzem8wKe&kzm?tw~X*)2nn28!7H~yd7F)CgQqX!A6Tbtm%tE0XaEdpUxJT|3dQ6UFv&BY8-*mj;~}H`@fDV96>HVU7B3w z4O-jn$*-4fGfVt9{dLIT>-HEM;c%iCz)+d~_#X%}8C!HE@)=R)PxsJN`7#N(4w|kb zUvvJEJZth%vgD|DhSGH$k`Z)fewX;|A3C4=W;U)#a-cWnxpVMW_7=vxD*uEQ z7CG&^_HXCavc?OetGWC7j72|KpZ{~Y81j4Mpvwxdxh`$({qZv+S1Ot8A|v%4Hg@qICagV zD)7M(4<7klAMy%Zf;Ipi-sa8J^rZw z!QOj7wUMj|xOkk#HW-sJ$u=30Oc2q4ZE_G8gb*2Lg9AC5Y{22kv-i%7@6PVd?%DVD?b+Msa8OlOb#?z;UG-P}e|^=th^vKK`+~)Y z{dXppFYDf7H@m=28rHYJ&2_kCJG+^&nUq0g2@?yjjVI>$CTSUVZDjA4fGy|s#LZf9@pYhrv)A?L$nGt+Pf;64ymPl4AR@>mtcqH$A z{)aVaol4erVyzrJpy-KWC|aWcjw;xPo@+dAt^Umk^AS>w57 zsVRC;AU~HkqYBmacoi4YH{-Wmup&JZJ~@IsK9BdA2ZBY%Kd=pHas=Gl#wZRs=euSE z+ID;DrTQRdaM5V>DW!bnk#75XsGCn@Y`$m^>=y%qdY2^@v$su9F_W&?o?Otsj1Y6n zj^I3s6TQEE<`CrPV8UIX7SF;nPHL!<)c`i9$cbN6z-ZH9*$p$5UO&b-N8<{5Bi@WY z#MB*pfD$+>xeb<4(#Rg2UHG9xf(>GUL~(QpA@(;C$VEXCxOp}GcSzIHe%b4Gjh%aQ zs62ae@Gq~cNBV7J=sPZ;msadd_6hGFw~&MyGJA&+7wKD*ar6H2W=EIwO-F=m7;4An zVP732Er}0ZJhO_oG!}WBKoEwE2NmV{eg2OvZDcqK)FW0(tSE$o6~|g=GCndDE`B}N z36_g)9Nz*V_bO8KWTKi|`Gs(q7y-DW?O7lZ&}bOG&Aa#+a+NT&o@(Fn{k9;~ z*vkl?YC&COD-vfq;BQ{6$z4t-Cmedo%#F{S`CS*j#HE2Z$c z)Z)Z#dE`QMKY_hupM>FF(a&SPWnFIV){&j2bB?=dOyTnKl2fpcE2PsIrPR8*oFw-m zvDbLPJ9pzF%_KQ~sZ#tKl^{S_uOMPLyIqgiTnmq`v}3({4B6l0+uMf;SYmmwt|FIS zQ^)(b1_6M5J}by|;6PMVA(C|5V7d__`HgD(VeVWfOg}$+?9ec=22AhZ=4L%>`=W#t zNN}woq0HX-Bt**PMSM=STo8NGx=^yQa-;-dQM=O|giRNED48oS!qR>EZf?b$_g%Ux z0B7gt2;+5pB*bpcjy>0`zD*r(9)-r#Wp(P*>HED`^f$`B(G_{1C~iFFFd~RIoE?=| zwj_?obM`gHO&j|wV@pU|*KCYcT`W1P!rUzY6$=pPfw(yO$TF$+a@#|I z=T8I~nO+fedr@D`^_}ojmRkyj{Y8Gxg3Hg+g>X~*tBM&?V;McR@@(}!P~1mjb(yfK zI`g$Jgo|vI#&=_@Us4dCxCW+C^CKP8LD=cIrB7T-dEVJ|pOZ7{k#Pe@F7>3h#|#Tx z+76CxmagnNcP{`(X{TLKv%I5tUf(X~qIfmqU`%4XH+ZQ07+X(S*$bl6{khRG-000~ zH{VX&Kr)kv)}cm=>MzTz;UEYpQ9K@G&ZuZjmMz!&-*J28QHrFmdx1sr&{86 z$sBlG>d-K@mVC$6K~wi+Rs4s$HADJYBRpmRfn~MX0AlyXlHHXs-RUsxYlfV&bnEF-Z<|hZtRE=f z%Gj374j|X(T9jg@!ak7Y$!vw0kaHPis>xEG9f51O?E*nha5-O?U}2swqP&0j789q4 zlw`Qt^3xV*?N;kBjC(2Lc(NWyt5P@_D}1ym>2Zpj;L9R#Dznc6+ z{j)}*KaSk2QhzCWyTF&u<|kMt za7N#U+sRmbqpdrK9dmeEj#>3dsD5achrZSLc!CELzew|*kEel8ac!d}p|T;WG+r>V zy;TB-iz2y;p>eA{QN9+1%f-i{?~vyOEohWvB%ejHPIkA-JS4CU?GzHHRpGNYxF$cO7;Zh%K~2b zO2R76CqRwzsOnGZ?Pg6|b6igKo>biVu~&u5Gjkg&wnwI3Qz;Bc!g zzSoZ~V*T340glwSAn8Cx2z_%xXo&^T4);D8WFo-B?ac(v2;?dn-Ar&?k6I6QM}#6* zub;-@l0>ZBY7Nb=*5Y{*$&A|#Wh4;U+cX}RMZ* zMJQvo!=MrPwF;m0Vx^xy(TRX3^@9Dg413|p>M)^N;_T#Er>w&35F!T;>S^RatSh8D z=>ox*k2iQ2Hp-i_8Ddo13&WN7sH>})d>n#|nj!q-D`EsHNfqN&CD!I8HDM*$aCNx2 zjOi+>&$PoFE7`=uF*j|ZESn1sq+6-?_pzX_TW~UZ)8%H71;XBE8GwQfhCVE zGkrF^#H$ML2V`m0TiFDUzdw$I;~dkU`qTGtaw~NfBeR{klat*&1*(&pPckPJ3FnYw_mB)GC)XZeZ5e7x*mt`hQA7>O!>$+ zO|%?8g?$|yo)`IWy;7loix8I`QRb!?{P3yVX#ftEIj=j4e`(#&(Q9#1RLT)AhF!T^ zP)&ReV1ZCp$gWE4c;T-*zkg9!P0Zr<+b_&-I6FE4!Q*qDuQ!!`NjN)l+;EfXlbUNR zOAcgAx#e^cJD3k4gpr5lJb1itQ7(teYSK45^{Tg7Eh#5sNx~zvr!ybu7<$fMVsv97 z21w45SfM)m=BgWqY!$GH*8D0#)7d^QA|qBHzigXu+Qv>mrCiHX&u8^ zI)tGQrO#c+1Iga`cvDC!b5R_yikk;pS=dWWoj?;zS^S?oM;v1d7=HQ*ouA%&#l(H| zajEsxyl8a7PEaW)kR8}i<~%)f9$t1D0s?2^!@hK@2OS8=`xhMq)rrF4&U4;eGm}u& zfOjCwqK2xf2gc5PSfeQ3X2h8))X)njqf}P2`bqv9Ri{z@at;b-4nZZ}LxEWOF=)*z zj#+K&wQDH8NWOP9F|S^q*t1%}@9NGn<(0FNd;yuyk4EK@@h}{~uP5$V86S2KAKLhjwO8#RuDKI9TS8`~R}ZZ2GcPlZF| z+o=Q(b*%oV?Doi4^l6UL9(KRny()Xzr}C4>IGaGa#TwOF%-alW&|jciq4U>iAjS6Zs)}GoYH0D8NJN#Z@Q-IW5)qYVjbD*>h2P zAySdoH!hS7+(QW1W2($W%Xy_!j6H~g_iX*p!|!@=xcU{!pYa|Q)7Bpp(EJN!Upp?# z68JkycUlPKK`X?kl16m=o=f5rsO0H~S)Y?L7nCZbf;0iZbt@*QKL~0jPNo`vB;oh$ zwVVa51KBqojqCD35udveByYFG_2cQ-isDxArM{OA{OHCvIo8O@!13^>On%6iRM6M_ zrM8KcE7CV&pS)_t)UMfX!Wjr4=^_2AwwI-bTgF#~Bpk$~iwhfVk0VIN*^$EC<)R|= zKwm^=3Ie7z_b&gamV&)m0bCQO`bo}-_{u_Iac@Hp93=u7xv;yk2(c{tJTTa0GJm}M zbYEGv&gP|wySOVf674rI9M%rgeFSqGkBApuHvKY}kEkl!Kz>~;9f+5lSDe-3KhPOLhv%J~Tq{{RKS_#!UIxfp*G$X_$ z9bZJzv=`nkKW<{VXQ^TP&iymQ37ZYi9-H=z#ddxf?I@><47DGoUbKE<>*7-sV~x3J zSu7o27)0dnF$D4IL2=wT*}!ES2C!Uu`ll>~O!?r4I~GbCl$XOAgxayMf2Z>ab~UTs z94m4Wk=UTb=mj)KCcrQSKIkXD*NDEzuU)ZEn>axTyMa}=PzOn#T`LG)_^zg#xGW84 z!7RMFjmR;^qd@fR-MnEL?E5B_`K824p{!`?P?xL_Pp(PH>N{JPB^JnN?W;168#fpp zdgNQav+z6jnppv^o-}m+mbRw;^kw!y3Ysn^6NfADPPLqed_Q>fy?lWc;y0wk4$uLW zOdm+Pgs)n8*vM%sO-@B-xpaCr869XXgP$~n+|>e|;(K!PJ!=NFUIY?1HW3F3+*Ru* z*J&c=AIjvs8V(FkD5>te;L9{9T<cofx=0Zwl*KN(Sbd~PO2`Sfzo03x)xP;@s>S~l$mgw#qPyYF zwdIX-hTh$l-ey{(n|z86FQP5834L==#O7&l$YTm9E{%EcD*22xwVXt`qm?@8U z)%l7cZ?C2{&x^#)LnceyVngpD1sh4npeFh1$L{yv41Fvg#a<|lsVNbDIjQrK`Wuyy zUClpCGPcRy>UdsN{d~Dz(|4~apGv}C?fwtflWFYAk}<94wCQ*u5O_+)a=D`A?aEis zHO20xo8B%51)UtrjidS&8`wiU)#-Kos~<9-eAU*NTQVcoXsoou*rPK~oS#2xxLjXm zBtO|OBWM(QeWy;3?1r-&rT@kK*XczCMI}qCteTM!QALH8^5%-|=)*5F@Aws&mh0a6 zH+;U}f3|k`)u$Ntwa@oBZ*kZCE&8l&gKUV{!OQz^4-`_~i}+V={o;EHxdzSOjF>t2 z$cfyY{#ZBj_2i?e6}cGBe>-bDcU!OutL7c8l9nL1Pga}ZC&o%avlkjR-^wZV=0=sz z^tI9r(+ihdXEd?|&%W{#9`b*)8T{!Yt#{!+3;mxK@A@C7$L<~8yU){=aauh|p#`hG zdIj3pP`n^P3Qyikf1o@Cl2+3N4(#L0BQVp!wp1tfpZ-v3|BHeD`H$^R&wPJa*(L0cr5N8iose~l%>Pv|44ZWZOz#RfAw4bn@g_}a=wx@8 zg;p(N8fvbZFgr6nnjk~+i|hZd2=Q!0e1n!%h*gWH)z=BgC#OSQ&VL-)9gJ$qa)Awyt{+Ri%hJ?S49vG+|db|`f zdPVWeBzzg_|7t1Tl~VRsFYrUU8zTQ;B{JPm*t_Pt<Z%D!LTp zPB$Iuv3#G}YT)V*m!K*AgP3m7{J|gWdOycR=<@bs1$V*_>KGRWdvzih_VI_zRKH;k z{yXW^KNfMqX8$EA=t@__p%;n@`lWOu`|Fw4CAKPLNYp%d@yejFSdwR!$yHyQ8t zC|T9TU3DlRes%S+9+mAz^p6*J4gFn8+dm^}ha6&FlRu+x`=>|VUl`gnNRb~3Ey=8& z2Je_qU6_Rac%x^2TeJNGBtrKO-{yZA694;c{!q1kdbu9%v#XMJVS8TW_ay&`U$hrE zgPxE+)gj;4eW}8K?At~u{=>(r=k3FRX4ehk%4qhtu~fKwlEp{shXPK**M67N6V*SM zD!Zl6%H#xvJnzj|_nB{8$w8MIgJf)W)nhIXK^2(u-#5p zTx{SA<@2W3G5e6n5?|~k{$%afLeA<}thzrND#2figZK;#atG?eV5Fe-L-W9Np5S6H zK-e?+`&3j4gHy%*bzZO|=jkb*V)g9@<7b<}>WcDO4)$?2jqpV9-j%y2D8pf(0^HD$ zLwh=Spb?B;*vkk{-Z4p_5d2{C{EdP2%DwC&TW4V*HV>EHKGNK#$5X|<8Ac}wYNa8XD~XVk*-I=cltWUb}{e5cHf6|L>!5NDUfnij}0 zH=qJb%&)#MVhRv+EFza?O_^db)tMJm$6<{X^C^BSxTAD|)J}>s7YzSe(Q&k>xZqg< z1vehmKHi)E{O?dJ6`6vTp?gL6I#OgoB7RCeuDu@o@Byn|;)L!c8&BRES?cy8Q%6(N zB^%Nre1naYCPGZ9F%q3guYP;iVOjd?xHkP3J{M{VGy?O@H0Y*X7@=h``uO%_^DiRek3vJcf zK^}e$B~(l@V*FWq3-bl(bcY!JhLtqVP%U1 ze9r7))Pa(OjoHL}|$R!{{EiA!rVEuJfUsHgeUzew5kx@B|rUXl5 z{;ZosD8F`7bh>h-raPj{Pa9xR!DZ0(niV@#`8 zgi5xNc)EK!nc6fWuBh3c+DnFzrQ6RC9LQdn$VihhVNhAdlGknbN%ba} zVuxF<>YN#abAs&JAdJ8YJa$??){ZHF8z+B(D^d;3tdrRXlUGqVvHvGc-wz$%q;W%JO>f-BlawO!I%!=R~|YTASaRJahSZ)xopas=s>& zRbuY{a7XOAjxLcXw23lpu9Cc7Qiou2f89$#eSG1Lg?NMkgFZ`92IJB993jX)tVeWax`Tz~r;>z_J z?$>-Vv}A6}%)LnCQJdTA49l|0a66BgV3xYKY zNoZ}mL{mH-tO(&CR$qR6-YRzkixp&oLQ6b5VT8O8_MMiP`ztMR zh=55p5SQ}i{;1EDPrPG`6nu%JfX3XiWBjAf%0#yKiD)M9mR62RVoqbB?$sF}s_YDY zA9=(9v^}zHGXCu+1lTY)P4jinVSQn=2{w@5amEVXn+%S>Hw zPJ{W*M!O{TczFYaZ@yN@?8jJ@pUfP#vI8kCB)@uSrSBqJQuCmpeP|)M>gOh6UM+!D z16OR0EPvg17$-G+fLjfo;r7CPEO@thtxl%D1R*C@k?uqO7}liitAq_&IgYX$1-X2q zy34i$M;AaB&9(3)I0_$7k^-B%wjS;N3N^}OC~s~$-Lrm)0p7_+TnxIsF<2h(Rg(E! z5~LXa%H)Mx_QNFUFE^bkrBb2?N@w{a99*k4Ca9O}5io8qS8J{nX2gLTWz)_V!$s>g zICe;uXG2U=5-hChCr!htIqW!UwSN99ZerLVB${1vAP}2?UgX~{U-Q4>gYug=+fu1C z&BS6RT5S9s{I%BM-hJ9WlgYCA!^Q&_)b8}Ne0MKqfx|m*Do3Q#0Gpent1ubg68?;2u?uUEgMK-A~Grdjqasrq*1TJN@Tz7HsPFH zYrqzsN=4a4;9nnqY`6bUs=QQG_ooeQjQ0&FU-|aU?83MkJGQ}q7V3n5VS$}QAbvv! zCfj~;h&d15PON=79J=i?!8^uj-j&t(z)%>@9RbY_bRK{1;`iC(=f=xT z?ay( z!>eZK3)6T2Y_VoedAad?13-weV@}z@{+)b8po**ZU5z@(ZqGpAlLxv0W3q;RNO*;2V|Vb_|@ZBu@vn0h2ZV@ux}wqt!JI=#5!svJydh1ZL*EaNYw^(FBgmG zxWT6AIk80Y>;3xbsRnUCG;{&xUjb-Wx{ylZ{>anH*i_TzOzmwTx^V6aV+BqL!r257 zsT8@cE_UjTkBs0w4F$AP%Ukq=Q+{(zgaOBltt(f*R>Lip4gz4vtP0IF|EI=JbARs8 zIGh+4VjD{=@n;&Uu~#&3pwV!6o4$ZqBCAF)*RDBULN<5YA$Y54+Mp5mOuwx;y zyu>ZjS9q|?P}y=}%7;m-90yTrgEy(oh@#l!uD)i!BWYcv+7GD|=K}>~sul{ANSwVVc@tbt> z=9v#AFJDCj1`|x2=X)AP&iesgwc!BmZGe?bMQ6LQAqlA~Dx1STEI((KYRhtK5ZZrb zjg?8RBR__GO1oYV(yy3|WK871zV;!9-*c26*p?npU1c3PZg-(c+qR~zc_Zyh-u;|4 zzJ=$1*92l%1_%A?7L77!{O6q5i4WEv!&sV=BrVqCe`Zk7Kf>JfDI%J4VaUKFZeiY{B$C$R z3F}Wd0&Mc$b6fElUP~G@RU1O?v_;&^@ON@p5?s#R2@{@t-%$91XQO(~b~wd8WH$Sa*UF5ETI20eBTGzl`J z@bB`SsSe}i-oqqic+4}~ANT)RRs3N}mI6nP`gU9Q5%glKCjM*Ej{_+qGv|`;3;=C z@(-5sr_L8$m3I$Svt%chyF$q-z`Ilpgn%D1Q~hqF>(Tp7ekV?menYpayZw%_yZ>X} zzZ&|d>ibtE^?SNM)~p}8+251=^81pf5^|1SnptP z6Nj5q)4-L=qv+afyLnSsHMU}%613gOF1qJ&;d5^?AxfhS?JuK#iU0R&#-E-2KT=!5 z-0!I@H=4hvmT5m&EX?&uX^+MgZ7uUUXRnS8f1Y<^&WG~*y;E5-aj|7*^yCp5EGA30 zXLeA(9Fbs{(sZMk^zK~urod*WV(lQkUKF2P94;rashwKji)2rxiffW|C=jS=GmP2s z@;FjrnSk!{dfxrKmQGK%E1yrE55fcyH3y|IYFwX(EbDZuqFIIU`c zW4_KriglQY`zjO5q?(uPH!3a44jBLW7WUgn;R4&;2Svm;ph(HzcfJq->9{J_C^nryD%q?Xi*KNAam05-Ct|m6|rDb zbZz_N6?x7UmOCmpsZM;tMWJy^bcO-Xt~{fnx{}c|3JQ2|M419S>^{4sLT4D5@`aL< zw#66*!#`6WMV_FX`)@n`SM~}QQx`sPV#pBhRKv?4wsu@Y^U3UdTy{K*0a%L1jt&Cp zRoi|t>JnG%Rs&nYN!sM!4vwU)VjhJ~k}W?O(DKlyS{7@+_lu`kKHh3@ zKw!Sl=uCy0y{CY}aYV3F7}>OvV;bhsfa7mr zuwJtB5ub(%_}{<05bhcrRm_UhQ+nv8)vM!(DP>Z3JMcYsxzbVYrQOuU)yAuZ+Aw-G zw{3s9FQ-kR=9?*Lf;e%}M0<*-VDJHW3KR-QVyS2wWi!3be%zja!wYJvK5UeY1Vcf?qOV>q0Hw0k9 zJQS-rE2ReCK>*`$zN9Scx{R`hDd4;AU{+06%fV_Zp`pu=?v%RaMsjoy#C?&E|MuEm zWSKSlg9CO7R!eV0ufASu9SHLIuz{{d+;~!+hZCO8Pg3xWC`s*!jv8J+ph`T1qW7u$ z%Wnl#cD*s)E%9>q_NSh~U;xf2m+X=9`jz>C^V?$r43<_;lT7mp6J2r(AR59o@Z36^ zr%!`5tN}&olwAQ0mAX+f+!Vr-xa0$j)FvWlX}uSr^blqrPfA?nz+-TLV{&H_&XyC(J2q(!eyG)y#OWK9lJ$P%B@NjlN_#u}2prhfzWDz=UJXn`D3H z2aFZ|uEC$HwF;#!R%qg93(nv?KF>`x1w=k#G#A>GSzJA>>YvdD=`UI@k?egWB9SE} zN-vK!jZb^%QdjDMn&h;_O}1XlBM#SEPB=5DL&(N7i?I?8)o0D->n!IqTAOVehvI*s z?QW>@zG$&FY|0;G(HCS5<&W>{gfw=u^V^yVZSI=^BcB7|mUA=u6i*`u-jidhk}w8(-N+J%zK*HO zOT4-t7Khn?Dao)LuSwt{lR41OuH5`@X-&@>?ycKR^~~zv9wSys$g{PUg(Tcco}IXP zat^j-Avx4(mCHqTB&;&INaz@;@Fu4w&pU4?RWF=7QLj3qZH_be3cBxRTmj%Lg3xV;Hr z%xutU4I?-p)-$Wp`QiZ*N)EN;*d)Ff&zCvNyo=wc=<3b}?gX#yChpj;6*pb3e7YwW z&UACx#q6i{DDwJ|__K7YN0+aCk_jKYosiEN;rF%teTceynPvoE9C?UWa1XMpuz%R$ z%5Z3!&X0B{aBe=why=6DEnKM^oGBFDk-@~Pp@0zmi>e_K(d_K(f#|5HvjYpZ7P_TG zwpB&zSo0bydih}U?596nznc|{AX=S?>cjbR@$sg*XCn5eIRy+;TQ1v^IUaOYN& znsdSULF0iXVe;M=bE_~ELj(M`9240hxMHLE~1tI(H- zl;E3)O)=N^=E1~;UC*YDQp`|Q&Mg)xRr?z@53p&MCho>veW9Luv}JXPCb_H?47Grp zCBO#EJD;Xz#OvSa+D+<`^2qhfrzvj2WB7Dj+NO+{5Ls1j*YX?M9=VgLT}d)atr+LJ zE?ihM--gG+g)$8b6WdOC^tf$wg_Mme)6L==U_|ZQf>W^tCh=-6UX!wGW`f!Vz27YP zbfu~zoUh4W2mkCm=QK+M@OJ0}Te9==Kk)`YJ=VPJlH zBe>F0BCn={(KQuU@uqOvkYQ4Qt9N|(^JtU!3w$c44UKXoH-B{Dr4I;ma*dPQc1dAf z+;?v-ypx59Oy&i(C5(pG?wZ%JJx94rN`OR;iUk5k*PdD7=Jaq8s)wbyWEiZ@@}Q7K8+0&*jE9KF+Uus^cAndt2x zOU$_0Y=sf*m(mb}>s9bsf48@=8b>#+1A-1sDVolxng_Y8-6p2gPc=a3Agi|85 zlp>iu^=U-!f{yz3GbVgxR;vZqJ*i|bg7wlEDHvx?E?(uUNL=k*;<4F&4mOi%DeN{i z;c_zpexs5=`1uSD+>V*ZkNF~a*5lW<^Xz*ZHw=%t#_4?pcdi0uHqBQ)?JdJjcyrnq zb%9elb=@xcA;BSzS#;f3-Rfbq7{o{3*(Gb>;g)=o|9gPw&%369K%Us@NS9iuY2$JssP#%TLla z-L+%tF^2I#EVE;bLBMm>4~{U$JRi`XTs;=N5d`o@J9i(jp=Rl4a6^4e_?{B=s*C04 z$5*!%=Chdbe9D3kqla}*D+(vE;_M31aufUABTCYPYF-pn;MY*C+?b;TGgqbFS+o0< z3Y2{cH9Fg~JTP@FOgdel#!S2|iodnUZ()C9#|pQME08B106+8mbGhG~ZP+?Of^Ignkr5#KgTk>yFG()5h# z2Wd3v-x_8eDz>ZXP>q2-#)X=#Ucz=?>ad86554%x&PU%Uo!Q956U*JZd zL)0`7LJx!&`zCHP4M){?ej-?z*H5lNrL5T}FwfX6S!Fz(Of2SPE~arT_+4|rjdie} z(n=(m;T*jHM8RB`aQ3_!#fn@T7SNk>_zwk0+4u|)i9t4Z*SYkL=H^koq3BdI6cJO zXO&x#=5#}$Tb1&uRmB&Q1&fE*wc&Wn%w=kG42~a*Pc@9j!RE+7n#`Xs)0!|`v+?y| zaOk}eKixf%5*au6HJ~<>PN}W5Mzs8*WFY@ap*ijcUAz#5zC z>;o+6V5Bn^2LMF6ohYsRpitJ^m+s)zqi5q*J8Hh}1#S^x9{UigigL+d@Hf&dujkl> zkUN^J!|uxb%$?1(lCm}(+*#KMhZ@g{?2h1*U0th2hHh5_IDKtS2=-YozQiH;Cn<5~RKFhm(ePC>xk7D{L$NDiE4g#7%8mo`B{WTAj~I&~y~0LTF7&KR zvm!|^oR?C2XA(0yvtxYez%jlcrr_Z41+h+3_3NQ&E=BnbAH-hjbjIkRig}XKl1-D0 z&5ZKTVidzvZX=7WW`tf-&D6;+M&vpdis$fZhkQ5v;q9_#{AQ)54OfR1b0 z0;i}(W&)~N8OoSp{lG1?R&f>V)V9=VZ-8=kXSF7tiV{gr(>cm`A(EQhwXBD9kU@!! z8ECCl1Fi&DkXXe(E`Pbws6{oQl+2V?JCP9I;T)IBG=(lW$JHiZ9EYEP*4E7im&81C zzjPDLRV1d-<25I|J<2|0C_GSHXy?KkBs;30454`W#T&WI&!{w|=RFiTjQAxVi|Pr@ z*CELcgO$&5vf=V^Z5V*JSWGt-Lm5Q@A~k+a$P5K%WqRdYg1plWNsD#z$|WZ&H*tvP z#v5Bp6ssixIk1za1523`E6C`k6i#E#OmB^ERJswHT&{O8;+lNd6QYAcz z?Jd@8adx2%kW1$%OO*c7@xOAGg6gN=cF-2+_>cVK>5}1=+qLsbp%v&^-s07KK*{3b z5v``f=j9ql@7dGddEV*F`=ykz^GzyYU4&aI{KmbU6(ci*=Rn41;V@4Izt&}w%GS$Y z^Y~D0N^B}`suxd?HV>pL%~m$zhjg3|J|#Y%bQo-j0n_#{DcbqO#+AIo;j^Cemzs=i z?2|GOg~*9WH?cg2biW0r4!ghjV1@SdhtYwcas@3Ld8XoiaaRSm;?C?;O=WE z7o>`o1W#}6m9_CqG@A%dmc%qY&2h;`3rH9R*nWwV32%+x1>U*Ev6LLdNpDi%jFQ69O0<4xM+ROZUXxhlu7KZ5}_>Cpqu9gdJb;JAG`H~ zF8YYR<{9KCAn_B6w`~xmF)p6U=i(It6IZnvc>J>RuJ=@WWgKb#ve?XA7u4f1Gh`wQ zbyoiz*;j|sFzG?m8xAW7bS-@t09#R2!W+QO#iC=dETH6C@#e zHCQgtz@^7^X_r&7keUUkU`R1cdNx8)kCL*7QAo#A>Eh41#e%)Jz1x4gEY z0XxLb#|5{!^W|!wBG0?=at&K;cGeP8({UC9IOI!2?w!`M0Wby8A02m)_;Yo6m`=wp zYgL~n8o6{Z6-;s6-abJd>&J6A{d2!gwNjcMp_4cV3kZa00(|(K>9VE)ERqwt$vjKh z5oJ%Q<+VK%4NWz7#mX$ggp`zX-rO#t2SnGcqgCa)+sTd&%;IXW4FL|77vf9`2awOyUo>IN!!*|I~!$m4>*eyO1`QG?=n&+a| zg!iS|8ph}$*{NjkO3{nB`LL#~xe7IqlI504?vj)Tt-uvS?C zejlV0v~nMIsi3`-R!H38?-G}0l&S#&#CulY@R|>-0n_;Tj}O>MvEfdRvk%I@QQ@iv zLct;ZjUT>X#pQHhZMsgc4R67S;L1V5W~4lf3p*K{7es&($Hua9gM3-P_V&CyY4?o^ z;=-wrYkGbw?byN=pYl-|pr^GGyhjWrt0k7k6(<@75)j>~_zmv;S7o1BhI_^zl2JaU z2F!OKPrDD^DX(TgG~plFHz^h__TD2%bicb}uCRoa-q@NQLaluc)`wZ|^6FsFEgMG2e{${lP7eJJd+ z=+8;n5!+);{?}{G6Rc!3GjfWZy zN7)8pzp+VbL=U_R zzVB;4qe6IxbxqkU+7S{5cE&`z%x#lsrQ-kBVyu`5145mps z#BNHZnP=>li82l~N9eCDCz!Xtr!bbLU?lZvC?Gd`L+M3fPo)$;Vs>Ja@g=K`709mA zCM)u8daO^}^J=4E5rbe>G`{9V1x4+~XOjdZ=}#8!#d#tEGh!>&Q+?_0rLXDNYwMSc z2*T|OAM!U8Qs`RonwaI@SU1u}e&S0Q2g4cg`hyrjiC*?>Obfqo==!k5MnY*Zgh^O= z&K;iUF?l&vfez6ONKuVoPvcc!(%zTGmt{8@Y3lxkNWbDp%UR7dI!b z%@MEWm77^?Em&AcV)MqTKJ^a)R$<@=HOeCpC}*+SBLJ#ckm`9 z-8>aeU~!IjNW{HJ#8?=P3}$f9PP;tCW11MYuR$v2WKTv4TT-Cug@q1gXOrqq-CKKW zUVp!!3i2UVR994Yp7@^a_>mBID*og_=5o$YxEJwmD=TxORt%s!d}d5X`QNBKTd!}` zLA&1Z-TEO&>E&f)9A7D_I?C{tc2B}LP#glcPBl95_C=>Mfg3um2rd8=J&Tc$X>}0P zA2PtiqPUWQNKCEeb9z&omNIgx%y3%xMV00H7KrzWfUSGot6A51Rq;AyxZn=Xxv_rk!Yf#mkc zww2O#8dS|H%{yxBE4fB;)QXFnd&5*dflL9`TD4~}8j>^s<<=V}l-nW~4wD%Ifi!!= z_-^(R>G4pJY9t|B?^+11(g>dh&Esxk+`^Q)(m5q!r{Hvo>c+E(fX7U(Gy!i+jh=s; z-nuA?uQU>N@Cok2;X~Nty#sPBlZ36N;i*haEVuiQl4>O1J@$jw*ed>VF|H<;Zg|89 zKmdoK1u+je*C`t}F%x@f|`3_PZgWq)ejPR9B_k@o~Xx@7If`sk7^oX-l_ zR+?k-1YB$^DWkFRs`(w)j-jmOqF7etZC}T*nRzJET4hwn{2X-JET_5_@;)tLZ}0)X zLT1`|xPCLM@~Y{Vi6GwkVV#W+mpyRaX*248O+XP#PbHB+oGd5LI1YcnckflhqM(|Z zAV!01t@jXhjg6-BZCr(g)0bZxN{j4Z7o8qoTH}cnVY=`FDkq-eZu7~$6leQ2Pxz!m zeIQp4yUD$J&8JnV%u62AgC*pU=x#_Tw>D!{rF;(zP|9B+Or~RkdaDgzfHdsM`YG3& zCUsndDva%G)^dh2jT95~Y^>@JIYvuA5IWX56us;&`vs4^Uqy6{=3%Gd>c6b(vmMNx9B_ZDe`L6%3+ooavf%5ipTR?Y`-Q>NzI&QGKix=^%Wte6zHK{R9r7F?19_)9{J_xg=2HSsC8v59s z(z#mdhP7CLbx)fQww#h-cd)`?8c~|H)|EXXo~;YD=5cYw@I3>K`5|L<{h6uJ^#qBC zA=>v@sA-TYR9yV@{JO6aIt2|XZ^5L!SwgwP2cu_8r+fV9vA1VTcB zv;YZ3MS7DG0)&7d9TG&Efa1+Q=RN8f-#K^ecZ_@Q_kDL9{$M;KV?EEBYppqdYd!Os z^EWdZiP$#Y9{=QO@&sifw9H+AeU##GS^0$x6y2k`9Fx8W!&7PuR1q>j#ddPT7f;PZ zZK7SHEvOuUZ-GJKu$Xh;kSD>45|@mjqZccb?@IW`AQXu5sYe^HQfW_qhBMT6fykv)|&0qG8ER%I^Jt7UE@ z&j0|fKN7ZXb!D|Sblh%gQ6FmG2xXOVnW7XQ|CBZ?T~|p+dPyT?!y6XrHs5b#r~(`< zXaM`qL0;CLtPEm2YC0Yqyys#7h&z4X-li@!s1H$`8^Wf?httg(qLhWZ1jEq>9xz}?Jj*3~1)NU3#l?SDS*J^g+wS04RH`oI8l^p<-^?t?%&%z8I(7Y>{ABrkSVt;fN6od1(fW+BT{J$k)5xDLuV3L0YCN z!Ufo`+(6*8)15<=(aOACA>!dAOlZ6h@gy{-2~lH zAKpFe;Vk90D5|5=>!kg5<<8#~mQy~1-{YRY_b;?}ny+7&O-R>>d-a$oNJ`n{r0S?? z@tmPf(}1Sz@Pa$4%h)ORlDZyf>Q2AuAJ?`e+d#q9=dZs92Vamo`FMgA=@Q3EH2@H$ zIfhUbW2_CDbXazE^~T0W1yEs?6~DozIkAauC>B$EoYj$BHK((sGsAc<5m|V)e-&6% znAUTwV!6>UF*|9o!!L2wqpr9J45THk+!tB~cV^k{f-8m6c`iAQs7KbQ zir%KluBL{ruYl&FRc~9t<8D3a6;1Bl62}C))%o9-JoA4}g1cos#y<^T6|fbc@wL+?2YB;$LNzn!{W-8`UAUCqR#E zcTRl;7z_bUzxF$_EA?mrZk(-_~fkJv{_r73Vp4<%_cY(J7}f zYko^a+Y5Yyg6C$Hhs@I*TdPt|s?ft_qv#QNe#%7|I0_vN+E8e#C$rR45lkuqS3-Ho zd)I$S$#&E##-*>5-<>y@TztGyO_1p}I*#5(nfN@l{vD|pMKUIkrv;EGzc)2qR6#d{ zb5hFFs?wM;-Q7cpwi|)iEOQW8Lr?!LAok1mSBj)(3G|@ZBGn#7M!D>PF8qnHId$IQ9>l-IbNF^Ow!|S~seQ*b z(SzP!ww0nb2wbv9&S&%g3QHewnK+broU|=mSasw)T=R3q>uQ^#tj7t1#->@jpF=?DbkqC$^QQSo7XT3r!9s&tT1b~zxI-GWxUXv-1f4CZ5!5? zJ?j|r^E6vmhbRXV#VZ9GSw&0}x%Q8YKyoPKOACv&6*CRsjzspvgvok*DD=*8-7wpg z=W?=cblCg~u<>KXplE4v{y|Awn-fg;)*Are?H>N~Bg|wz>HPiVNIlIr5!RpIF3VQU z)`e!c?sq*+4l;%X4a$-|n&CV~%&O z+5Mj@oQLf!{KnqyEDVvcu8vT%q$9VZ^IQwQZi$7{duW@C4kdO)R9j6I6NZ|IDS%;Qb5 zM0QXUHX5__r2VgLvi}z+q;W?vNn|TlHK|Vnltz#gyC2z;&0w}kp$4D8frIHwf&LfD zLqDVTUsW${Id!P-*5Pq4{BwcY=v3X10!U`B-x5AwKi}6ZuH02rqbsNt6=}suSeY|% z*!;BoP-aYh=W`* z6;U~K(Af(n`aHis%-(PLTZoRZmQEtm=k>8v94SQdLUNBl(Q5m)R2Et6&j8yG z+HaQwrDt42ygv1oEnlTJWOc0AHVH?*&^M9@-%p+jyL^7xmb7klFNcyiIXP2jG4_SQ zCkwGq}Qj5Z<|ncHObs)Y8-Eqf+2*@S^+s378j1(3IeX!{PHq#BsQ1fiD3% zD~==udriyW*ZV<+&^d6xkWCY2FRM&^(`##0ghFNyp^O~-@P2`3lfol>LTlY?eF;4hpIQv$OD{e)&OqFuDWT92ly>g~=r>xSd0uT=TBmdyH_4 zsh@?~p&-XT01hoCC^r~!KlU0i>D}}Q?NK5 zX}Hb)HhF8jHqCXVuw}cmUO(EW5=R6Qb^BE8hT0n002s=r7jJwht34$9U(Pg#v~N?+ zWloZ#iK1rTy8d}v(rlfri65+Oaod_m!K`0Ui{ARCW#ESoKQtt8T9o(<3+7uHqE2Z2 z{?I8rlhOyH^lL%87P9ayVYfn`0hIXMnUD;3w3n*f?xC79FZ5u<@S&NY9leYT&u6lW zGI#yUl}ACeQ@R3vj5DvSlill zlSEnsWz6fN@!YnN$~SEpjr%AkRnA};fnt3I@v>j`JP^JrXbyQeEyYjM~4huCAirb<*3%dhQy6x+!kO7VxJWM>i4zto* zs*6;rJ8nz_GbZ%M>Giu?-GblboqYUJSGw}&4{0mbkA&eiPe{k0QWxUh0->fV78}N6 zYi~bL{-wNLMsrCnES}7h=i|C_3`ho-uME^P0Id%I0hl@|!6>&ysn*@c8^iGTb`Fx6 zOE^bq5PQsE%w(5sg)WzQXWqT@4a4ip8;zVB9T*M`?~iI$Z$2?2rK+8%2(F3|nima- zXBr39p$2Wmul!2`t*bCo9#nlX>-puUyk<1* zP)HeVC=S}mPKdE)g#x`;S(%%2H24jg);}Q88|j-o8kD{{v@Pv?%W4;65ppOe#UDiO znGM9~Y~`;(=j9t)vL3I>O!8B|xCzvJTeqepwf2k-_c}Pwv5>^Mi0kg#>Z?Q*Htv#H ziYERbb@(^a9+ZDM>V4mDBB|&R=NR9;!yP9qG1Vu!>NmjLD0bPcsc{Z*z)#rqrYp(f zcqT;Z!RL{6WB&6K%dDE2ZK0SVw#YO)w_*4QEZciOGS;%~hVSCTz9AA_O*p$GYl9a0p!u@n&eKnp#kQMm5}l$n zyOq(R%$!NJSKpUOVdY4ws;G=Z>7#?AsS};s^3+4s3O$Xbw4gm*4X{dDCYkdlfCDn0 z8d_vX?xen+K!&_XIkM$#{m~}v!dC$O_Evpyby0Q$*mATxr)7DKw#WIUEd+K~QN}Gh zUOLXlI_TolF-Xs`c?n9>m&{BeC4Qck-lFkc)7_U@WBQ?0(6M@E>KSspJs zhQ}@(O@(TOn9A7B%}a0IW|0?h>j-1ww>5H~@2D^~xvbl$u2Bm1Pq7yC$Rap+bYt>~ zF-%+;$tr+&cuqOiVZ!pw?&!q3pzC+Whm~1Ug1iw+Ku2@M&3W3PtG`l45}#ffhwlr2 z1-Px~b)IF(egz!+3aF~^<&)Z2`wECBe5StDf?YvIR&f99MQq=>*0iG%@D;Eg$-JV$ zT@km3Z)=WZ3V~w3Xhu%w_P{x){#$K(=T3{yJ1Cn*qJlqpe<@xh>JJJc;H(1?qP4eg$+;*rW#8UjgnrBk@n|7`B%M z*^@dg4O@Kw6>##~V|o0V&+Lpk8VI@0!7y-#(ahoTCefx&ow?8mntRb!JtN;@hBP3N z`3YBiw1{i{0%1XnIQzMOcDu$YK9f?P9I!tKM=||<)k;W)9qlg2WI7RL1V+VLZ5IeP zlS&yu$8I0aYK7nPvy-VV8_EtMzcL<)iuxaNm!r7 z)E6QH!XMdu6z~SJCML#%l;@SR8~ydZ?WrQ=MF(H+JaqGnJ7sN7ewa+kD;N6+dL9qb zhCBMhGP;`Ks_9q0LpGQ7H`DP=rh~KX4TP1Pkymi}8myrpL2-7!RFS!l7l##Pr_Y_4ENcY=DUpsb9w z3MMOC`v!`=-3hD`F{@sb%(}e%y>FE&)OCA>_l zE$8EFHZG{W*4El#PRa)h%=CAVxA7rqwVdGq4(=Xg&1P1&{(;mWS9RdySKoakb>)`UjZ@eW~t*d(*ZfjiR>>$?!8&NdphGk2+w)B zU9;qsh4@a)i{aC#^PT7@TODU2HaRE)*A{w;?aHy5zi^Uy_vG&XO45qI_?G!^nhB_! z*d?>slO^io1!E%Ma*w>9CO)EHRAqs+2z2n4l3n!VxlUiRi1<^}D(!xWv&zZ<0QO%$ z>;D8p$G`6Rum1XY`x{sT}y+Rc9e>OTM# zKHYxjN1gaTb^ZS;8lRQ*XD8JMTu0-Gf6D?_@-2_X;kHFC91n=nFk-p~HrJS2z2NFf z90wus#E(+R<3GCtnV|?O^>~3cvMGHe_w3&?ysb>6*csmMd%gcm3=-DJ9**rdJP-HO z_N`E&2Ia)ea#YP%$Kc1KZxXTK8J72Tw?^wl))YclWkbV*PU7Y5!FZL)$~C*5~iJ zTl>VA1I^dKtKB*V@x-ktV&cFJbLeGZ6v$IEHfQ%I*Q>ltD06 zy-TK=mf(nYPuX5H*K!$Q*QE8${%9qIb1H(#vSu~WV0IF_Q#y~QW;D!roHXIdZc zPc=QI7xF1v_H|b8YTS{}A_YrVpW24=o312B-Bx|W z3{ixgfy{%9)t_{|C|0CQvz<$au)9fiQxxPdQp2MP(vX0OiaqQu)B;7+B^E%nHYSmli~&wX_?;CBL*=NaG+#6CG>uyzUyUb&JTB8qQAZkdzeqq4Vh3xWFsj9$S+2 zlkRe#JfGNj@$&jA>(A>}C+W?LXy`$K{lN>k5cos2>`A^;pFp}pcQ4j|QYaX`aP+hL z@l}4Xu=DxXNr!h2r{g4Wj>xw?Jc->&D&hoxsOq0xN&YtYqx{zI@G|CtuSh}~)?zmy zR?MeWW|z-H9dl2D9aC`FxFP}^sJ#u?x&v_794$;G{aNu{DDqJWuH<=u*>#ytzRN1r z0p@i$rm1PLq{OTFS1D&YR9)ZeMFuBWtUHA_x2TSNiE)#w4OI6iY|XFW18Xj9Rp|4! zqqSqq;HS{B#Scf!G8k+2kq;mddMD!g?n`PV`Si6u**kZ$vS^4?n3%?h@0B`{l5-yl*N$!ZSerX6GlUxr!R0AIcs=F*%x3 z8^Ce8b}rDyN~(wi_np0mCT4ebJj;2{BNoqS1Hy3AZd%Way6%SW^g@*B77;-cKx-^k7M*)9j61gIXT$bDM7dZXkF0D0WM~`HH~x zy;eidI(nJXC58;|#%2|YYa%vSOkXq+$j-f0mGn8+_Wd@o;?8jipO-t4&aZ>?7w7P# z!P1+J*}WFylwP}QL~Xe0RzINg4!{v+)YU~fA3lulReSMv*bFCDwR!4LK@t!G()Ndr z6(0nBo`?M~ZTai2&X2t7J~xi8cUpNQ|?nAd)f<$nS=>bIJ{6M3uF(7n;oL%5M7 zJaIFpsPW>A%SX{<^SX9+rkq?YHsJGjEfz3Q+p=%7j8EUTv3IE-c~(F)2tccs6d_CM zI7H#5t= zA3ibVWTmpjIF>9aiowO@=jR>U`+lcbqrojhlC?9V>CnWIyQJizSoUgCN^bxnA*Bz@ z+ryr)z&pL{rJ!XszqAOf8>Z|lR#@Xt5BZm{KlI0HgTSUxBExduuAYx9()5 z^IBB21(y#Fm>iH-REXBun6whBe^Y75-Uf1mk2ZNJ!Q+o}PCJO0Cv#R5UjjCrXKCxgxRU?5XSXI(LDK#P@tTEd7EJz%!NFO^RNj{m%! zep-;rd?z!y{2^x4yi{N9FnM7**%#GMCqm$-K<}AnBEN&?d(-*hUe!URwLxF4s8#2p zLW9#KHB#qOD!hR*C7jjSuFFI_ zd1_Och-Lh#>TwR|JAe;mwd)6_LP^$Z;mBUcGkI9E^q%ESzlTa=A zD=HGjGchO1r>p{kRpW`Jwlp8EA^=BoljCFlhd9yaZ)%By2#kwgVwqcK&Hf#bGA(?~ z`CD#unMU~@Brl&lremF z`T>#3lw;dVp_w!d886|wF?UPPdlrQTqhg3Un>ifYoj$G_xB>j--{4VO<*k-lYhIG; z)MH&wigJckvJ9`8xE^(Ev4M;)BFkd7Pex~d-w84)u9}!Pb${qb+~*#bNiint8-GfT z)fbA_>tCSISG>!>N;DGZd%$92!|83spaEQ-MND?A(ahrXQO5@#@?WOso}kM}K^xjp zOtW*dDghIW2?z~5w_J=mF8afWh{|!DM!H#Y&8+6_BhD8xBp}JCnIx64l$n~Kpwp`? z8a!bBIyg|+MI~I-<8#RVb3`ZRZA#Af^F@N~tH(Y$QkL{6c^TqL6$P(g3a#)m34=43 zR5*|U2eKrNYaFW-Y!m|SYqIMHd4aPP61ZnR*X+n2d_8KOWmE=FdvxR3|Rlch=Q2QNftpkzPga!sjAx|eJ1Pa@E8(fG|2>4#;0 z;<#ucglh8R+CA{(O05}Zlv@!357Q&0t9ZSziPVHJD}uRH0JxQcE{a`I@AmrSL;JM; zMSmVIXMsCW`NPsLj`;Q-Z2_LRXHkZ!B##`7BHl|4wT|;Rv)k5CYA$wDQG47Y4Q`uFTzp3PL8Z*t6Kv4;{ovA8;Lw(S z;iUQH$*46{&LULELou&_fOf5p#>UQiKw)5;AsYSKxgV5zH1o=gxpXJe6&52$GXz1k zKoth!6-kyh8)1bp3pjLqNl{{%H|ajRBfSp+_5I$2Gj27*Db!>up`dP%eY29g@0%c; zl(W=xy(B~(oriZR7R#8I6ld2n*?P(@qw(!Td%88^opr0nt!ST~SX?Y7U*iE3v0Kwn z%J4Wt1zXW%8{;+L16n^wR#f`W=7#=~eCd+xdBVENaYsR5Z<(*tjD%D{DtKrfK8z#A z;Cw|c*bh4fHAgkI|o#@%``jdpI@VI9FgOzFwBj3EVh;2xva4J>Uc$|ry8yuj4 zq|w@7s3`$zdq~^%yP0Lo=_A)4`}JLtkoTNhb;cGJ-wVzbmaZU!VC7aA(E@~jSpcGg z@ayGcX>5ZkVC&xixx(X*;0DVNUk;>MGY3*9K_{xku(*tJ9kyt=ntrIa3qkj(^_V27P86Jkuw$f0MJ(!+?1Jc99g1H8 zZ*C7xKysfq>4VH5+#H8dS3QGsx#=JFE`=wmHwHXBi`x|r3!kZv`CMw03|1LKZ@)cW zSs2Q$xl={8nT6<>=~PIT`5s%Gn>I9PjQ zokf5JYv62FnwO7jiG4BHIW*;;SnghQbC+kwwuD;~&n4x|wD?hcdzi~*KK=CYsbyo~ zMhh%c30WLpwd+-rna(x(jr&eVI8IA{@YC@T{dWL>rjcEYyH8=NM~hQ*`?N7?`|x@% z6DNOLlLDCvv++dpHQ2|$Z9>`PrswX&-=9QZ>fYjmh)JnT%6Z%^R#tLZdw;72cQjWu+S+mqD?OTQ_J?N? z@;BWZJ;N#)THJDh|KJ~Dgkp1&XlABHJ&TSm1mmTYjNDH_!tag7u_d^|G{TZ=JSBRQ z0k*C0*y*~Qq-@Xrt-3=dYwVnXnHfTN{GO{sE*dZz-NCSq6d;=M?4Nc9*H`lmBf%a!e%$pA=c;1Hcpa$DSx4JzE;-J&@m|=RD{leo+h#b za~WmbM%~-3UH250X2b3-B)@#)Zwec`2}CMBttNGn9G9y6t<6qU`gZiZx}B^>ci5_` zRj(LMa!Yz0S3LLg@9&H*MD`&&lirOy&pBA4J0z(FJw4EVNe6su{Jeea+b+;~nK)Atik415Qd>?5 z4fnLYS&BJp2!#m-aWDOi@XpAsESb8}NiAz9H_2&*@Z9~ttX7raCbD{xq3m3Wxfl%{s-mT5eTkLfBk8lCP<+<#LUxS^{~xvyH&)4A zE|EL4D*Ll~7PkOL?JoIWk@L%MPft*gkH;UQXNzceEH4QP=!;`m@~7e$`H~Am>^#`3 zoj>LKkjCla@1>fN%9_jy8Dz5ZA-bi|hEWm-&MkOe8|hfh-T`>Q@6DhGg{7-gjx(YT zF{H+$iTzkMV`>)cUf`WsPX3ggj#RaNcYNb)pnU!tB_*J+yBSbY>x4v*DIJ%fZD%k8 z4;Y*S^M?)zzal))f$!T2Oiy=I4SSK*6S`?&TN7VwPfqRo|^fxvz(fiXB#03XZEC7M5p9<%Wclp=$?D#vc2pq@5ZT)Ts} zMw&LXU+Xysm9y+krtu6P+ohD%{wAc*Ilq}UGHeYuo0z{`9Zi;OIbv1O1OlJZkHWl9!Tv69OhC@_i8YQ?d2juyn4*pYBX`?{;*< zqE<&*+tO1*kiiax8)7L;y#`{S#d_qg}|Ua*Y$SXa&-=RDj<{g)UuL{85YuORuHB zp8^8)x3hgQ*+v7sD@7fKPB7$PTWYDs!E3myV;Q_IxyHAR`9wOzvw#f5A`Zdn!=;fL zX17AiI+gA-XXipKdXFlBDd$AF%@yRJj3pD>ZnUZ`|CdIC-~8QK{1^WJogtDijmKr* zQEW$%U*`_9*%UX6op^g8ox)!1OE!n%7xz&PHHAmk>?^nB!;w~jS9^`}hX1@`lPnHr zKT%A+_`{t?Xa4WH(ZRBN$OYxd$RJ8YMHr7_r&UxNn+(VoR8ma$Ix%2 zixKQ~JHWXVyIWile0;H8NYcXa^*Aq&C_jX2X)n{85+!e z%;Z^IU10^M%*&15H_E~JNF}#Q4HEgnyflJgKDHMD^ng8BQ_%jr5bIc1z$=}8c&pk7 zQC>x)Le*-Y{g&(Wr9fWz{6|gUNF2ht03pg>6jx6!Ub(J7PjX*cu*W@&EJ;lyZjU{< zkynC}b-K34Q;isE#Z*4x`snIudMk%=VR6+s29{WJy`DAA`stXToTSvc?g?F8j-ZlT zi48uvANUTsjdDmV5RlJNC42O&;Nr^<97oRVc~&`Slmc-*OAkCO>$4jVMpv6!#b$Nh zG4G`cs`t;fyw*rPS!Cf>!~1a?^|_Tk5~(2j2}k#NU7aHMfxcK3f2#UrxAH)pwflz% zxX@B>ZPM{SaK3X&+h(2jTpgsw6Q~3WGZXK7Kb3A(6h(*!iuqj-o|D^o@?s?&BjLlF zC%QML*B>#>$!ze(99=;Djc_L?ZX9x+)mckU<9U~=Ya*%THtpm!SjD;OS6~Vac|zbK ziy`Yq1v7d&fLE;e^n-AoyhI#fxxhZA54!yu9$Zv@QngE2&=Mq~7Y|8*Y-Qash=VHq z$!1uelQYK9`Y4Mm+8TU6i)^TN;PI@rcO2~)dI7ZA#XG8oIUVn^+I*!}z~(9;v(Z=? ze*3V3k_>(su;g>MhQ{AvvS4|HKOgTyRloAGojAwJqSV-vEHlvlQ^`Fiq?)osx232f zZ`Tn)kwqq==|vUd^p1dJFl<%CF=FPb+RMLT6f75_!KxU|-46kO1=QW-JN^Io0YH#` z^eUCn6j;!$Inm2$81Tx1uP}A_;N8t*%gz&F11J41XsG-ikOWkkOfp}_n_7{~w^qx$ zsb(Q;_TYZAajB*fm7C+jLA^rhO0xcts7i)x=GNnFls)xAk0lKO%_QmV#kHG>;3D@5S$9`9W#r>q zg{oRDkH?&)gmg*kn(8e;BP;K@Hks$M&tQ^-NdBV+duMZLPy`*hC*JeaJP=|K(-Na3 z{}H?D-h(fV!N03w3iXv1j%MO~{qV$;i#|ke`yG$M#BmXHo~R{TsHU{%$>RpONYzlW4PgYpki*HAa`#`20J?aFgag*`$|c_+MS%DH2QUxS&v)?u4yCl z*}$G#L}y6h4iL8gM8wrB(mAWCJFBp$S7^54kHpJ-)_%Ea=$Z81IIjp#%>>BZ}oliO+4 z-1P22_^BxSA<~=Sy}9-+YpwG}-q>cEb;?1AryWRe^2Sos>IKqR6i)6fl0fqH#B;8c zWTYLb*7jAV93L9HrMqT%0q|MfBgSx3zK&ubkRAgndKw!y=I^Lm zj1r2YD{bG5=jmD535>x_9~Ps11;E{SE&!bP3})e7J*9PBM>QUK3A-)*0;Mllo?N}# z>oMNe9#g*olaE_SfxXQ;rX2DWFh|JFO{QMi^n7?PWwWyHD*(veWpdcNBOb{?U&@$M zRxC@CCE30Nu0A959Le&5K@?!}aE>DMp=W`sXTTo~h>_JNE}Vp34|JY*ohduJ#aq~X zJ0Lysx1N&{!l2&0>%yLJ!~I=QKs2@m%9Iy~&f-2qqyCJ&5Acku?De#JZh=&yK79*? z=*7Nx*%@|UEM<3HnfKE~L!*FDoOBeiwf8-gaN>$41KA66VuV)R{6ul?h zv#2;muzo1O#7`_9t)dgnP!ZZ@Gi&)erIY%^&%Lh6JaDtrq>jFHkuD+|+mfUr&wHx6 zs1S3k_awens($DgqzBwvJ*fP>h`bWENNm9^N9wf3SicL z=4G?mxkt(Pj+D!gLOUE8j!u5N5H=ZNRDfr$tQJZARTN?KWL71g1UH_zUo`th@Tha? zU}G3usC^z+hYIpE-a0+l$~wh9$*29j>0;)oudMAe)`1vr$ufV2SgNB_>(TB7eom2s3BApJ ziy@E_q1oQ1#;V0iQZ0!q%>>ZB*(;81Ov43aQIp8K>aD3MS~rLatmvycsw^dcO!GPzyh>R=wiK4lY5sm3o)& zTR5;OSj_tMX*bp23jx~Hs{0iv*R)dR19HWdSsrSEVwbeCGg7tTnB9MY`rrSebCMX3~Dw@7&K_0v=XSLaECm^3CSWrDw$sydT%GZpRS@vug z1g=R+%CcE)?jBW0^HP05eMqt~^vtQq*Ahrl3rSRU@AW`_9#fys23C=}HU7bL*cQnq zpl|(s#8Kva%EvM69NX)X1`8b8zNFKd;Tna%MQ)6RmfWQ?sitN(s~lE*=UeV_~Q=~&mzzBQrwA^8Qe-5zyBQrt}|;$hP|H8%2{@f_0L)? zY&)#)Sxa|g)=V|dbmmw|*oS+fbIj`m%9ki(fwhvSy|cWbVeHK$8E`w{D`2T(4uIaf zbc?I}lIO>5v#MS%`)+&BlIQWMwVwI~&$7?pwl%&2e*NX3S4{7!@6ju6o-u2e#d}U~ zMUR%rTi;PUM=-9RwQ6wmgCKyy;>&O{E?zrSElB~)W1hc6OamM`ce~xTMAqMO=4D1f zPOa22``8`{VnW61h9JwI%L)dQ@5ZwIxKe6*V>9nc@=GK?o)W#J)4St)J+=0j#BglJ zDi(_?@ly}&Oj~SH!VPJ|WaG8je;!sb-N>s4{OR{y!ogLo)}zSU!>b-u(~mX6Vwb%M zwLQ|N^3iQ19q$%4PY|xu3oO_t;Cp>^WY87E#3<+_$dyr3cj;e1C}{5*^y+rwuQ;*5 zSOlq_&{giuT7$O20pT``U)YWwF1fD(W zrx9{iC{&~dEVM7tP0@8mrsTSI$29X>`e5@*>a0alty4gPSqm;W46H*GGY@2Q3q=UT z5O@E z)FVBrCkD3nt~j^)S-g8SOn!)6Kf)!xk`RdT7n6<`D#3{*1fUU8iQFnr8DC6{)S`WI z+H23eibcZMAH6cRjcsG640c1NC+Z+|l>P?p9xBlz88RIkM;CJwKEj0_jFJxgtYV*s zj-?|CV`I@6rT!&RZK7Y@GfDSZw&RF@JaGspQ0-TKm20>$>yMy&_mSW#YnVKFwF+TXt2 zU&p7TE*39XsQ5)1Z7Va?67cjE7re@)&qCBayf#-(9*>j2jAmN?VP{C`dP@Zg#V1nQ zu_XmrG+>0HO$kmmHWAUB$Y#@gUS;;~aYG-HH~P}1VCWb_WBG zyZ(9fP(RPTb6R%<5?o4oaz06MjysGAD!8qsUaT9Rv`X$*49r0vj8!hwbnj@zh^BA* zIGVxA$nG{9BaWwFF7@<3R%$Ru(ndZuLX&2>bha}#iGJdHG~a~52rG2hS)s>a4JYzt z$=$aOoVsnZ3G@9qB*wS*b7RFo*`}F|g!}aDb63w5MgdiLe9$+d*AG6ceBw>|DOsed z;b}*KELbRM;5n3r$!6UoLH+7%DJ*|Vs5sH~P}X>>)n7d%{N;A1%>x2pG2x&Ih@#oy zUUcl5Tr{Qg&L6Vu99JV$j^t{VCAW2h$$t8>CUjD@;=cguFF*Z%dqYm%Y+>GMJ2n;L z(V^Fs1^M-c)3P6*{bu-sgUNjLhl=F?+Xeb>cJR};%IVjEn)N1+u;tG8D93D^bJRT^ z7#=OV+nyu}V{=^0E1JZiC1Eo09y0sQE8nNB;*Yqr{^C literal 0 HcmV?d00001 diff --git a/public/media/is_candle_black_1.jpeg b/public/media/is_candle_black_1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5a478b249ac2e9b836bafdcc1768302ff496b8d9 GIT binary patch literal 65030 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 literal 0 HcmV?d00001 diff --git a/public/media/job-done.mp3 b/public/media/job-done.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..2c4562d80042301a48937ae3365e520c7db94180 GIT binary patch literal 5838 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 literal 0 HcmV?d00001 diff --git a/public/media/logic.png b/public/media/logic.png new file mode 100644 index 0000000000000000000000000000000000000000..87744fc66e3099fa54f25befb80538a06ddd572f GIT binary patch literal 2919 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 b|C`$W*9H7%_WrMj + + + +repeat + + + diff --git a/public/media/rotate-left.svg b/public/media/rotate-left.svg new file mode 100644 index 00000000..42f59191 --- /dev/null +++ b/public/media/rotate-left.svg @@ -0,0 +1 @@ +rotate-clockwise \ No newline at end of file diff --git a/public/media/rotate-right.svg b/public/media/rotate-right.svg new file mode 100644 index 00000000..c3f46470 --- /dev/null +++ b/public/media/rotate-right.svg @@ -0,0 +1 @@ +rotate-counter-clockwise \ No newline at end of file diff --git a/public/media/set_variable.png b/public/media/set_variable.png new file mode 100644 index 0000000000000000000000000000000000000000..6efb52fa4d5263d8f5d07ce770ed97349d200774 GIT binary patch literal 84622 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 F`yb~k0Am0E literal 0 HcmV?d00001 diff --git a/public/media/sma_array_explanation.jpeg b/public/media/sma_array_explanation.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6176925b6d5071eadacadb5ed026663aec362aa1 GIT binary patch literal 63340 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

twN6HadS8~Sl$~aL6YmzG_TE$$x{Ddz+%U8 zBoTQx%r7_jR4kzW%gCE9u-rOU+|>!R^8r=9VbtM zIB3ro1ncgv_0La47DS|de6M5Lco6p=qJi|qfD&qsCD1uVhdjDruMrO`fVgJD4RAU& zMzVAMAKuBV}3B9~Z=p+as^ni2-y;nhBL^_B_3r&f%1cHEo zbm_elLPtvIy?1Xs_uliK@A;kQx!?PHp5HG|{#bkVn%T2w_RN}@wbo}Pv1$AnjjmB$ z{vzfRVBJyIIv}y*-<3G%IGC#kDRF~x*iad9EZ-27xJP|9ofS-H-4*q9+NUO72JPnV zTc2?9rNXmFJcbr$46Eel%ckjkau89di%?VpnbQ6B6aRKS!&iRU=Y^Q-OPtA^dHUA1 zsj=mE!==fxGTsmiCwswk$8X(}x6NOo>#F5;QkK~;CWSMRQMvnnHZ#G$?Q+e0f@tXF z@9^RLnGz8;p||sH%T6WOJQ5M?9z!Z9?+_t>+SaQ)!Jed5QeXN_w(&Z zK3wsS%V9lc3vAampRFgNgeJQ^=T@sUU;haa0xtGQPY@Ujq3+?cjR zWTGa6(=7Y#l`qedB3O*XycHd0ne{_LC``7im8K#K5xm(_bvu%XAQIe{{bv$En9l*s z6<}u`Y58HvC;EX-)~J4Q2D>63BcMJEN6XQozvW-0A1Hbu)_QAlD8maU=zl|cGPwdX z{4H0>x{>ci7>nK?Kph18Pwa=TMR#;##CVx)FfTK>%4b49`kUIM^2!%I!kml+hmqq3 zPm=KDG2iDZZ94a@6OyB!2f+2SmU0`y>ao)LGgL3Qit&%@m+E(GRnfKKZFL=3;)>wq zl-@-v0$3>o&uhhWH>#x!-9=jFnl}-_`&LwIRB;oKPAGVFmUJv+P~g-uN941yao^jI zYnrwiTD?Wel%zcLGywC~pwS))HZ%gyD|n!g?^BmdJFU?~GpqFKhUZZJ#9PjfaMNh5 z8Yf2=e-t#BH{1QqR^w`&-}sp>9uH?#=NqEYx~Qf*rN#l3+cxT#s(qM0Um72W=6FLb z^aPBv;|<@xT^8QgJzas`H(CV4Xg1u-X{i0TNhd>+a^|sgc;2GV+HP#4`MOzv0b_1H zgXAdYL54^yLeT-&wFrVk!9FaWiM!Uin0?wD>78t_9s!_dk@m;u8~ZP`rM&0ZD~Kod zx}?*u|C^$PHSN=%0g3$~6kWCGA|>bnNf6vYVB6R18M#q+zzp4h;^BWt@huapwpx@Y zbI#ynVX59|`3uigcS%FprxyzP5E;L?GW3)!cQKI1Te$Odkn(Rm-+!k{fT8T zJJ+wb%FHJ?=}e%bW8|0_R{B6V!`lpqlj7l^ZieMRvIkQgHg_14Uw0i{Z^;{&-?H8g z@1#n5bX3ftW=|HJs96q$IpEE!bE9%U>1qW$E*WH#Vi?WFq+_z#d`6murZx%aCba*g zH`|XYtc0Ao;%B1|yL`}Hw!AA=a^5&)nJN^n=9mfPuCLwlMXhkuvV1O*i7Sfg4G+DY z_`XjzN)Mvl>j^{ThM&aKz^MIQpx(_Jyv>?Va{MFSCDD+Leb5De*R8tge!-SECua~| z>~q!!GkbeiVf-AJ5;gX6ODDJJ^hraBo||CVy^qn`PEf)Se}7ZWL_ueF=f(ML+vgXf zTpTuisdn8;x^o2v!HA}J;Ta=V8|&H1&KZ5}3;6eWB-9e+yKfTPcg8TT7RpbQ@ea;A zwadB2#pjYjp_Gt)Z*S=LcQN(^V*x!;<8|X}g=!CD;DbY<0#piIS*3N6hgu;H4YRk5P8n=oxvF5^Oo=R6+n^fs%zPz*z=C zg2D@Opu#&}7npww+WfFw@>tXyF0A$j0IS|ez2(9lGe(YrSvxvu1I{So>H8S?5l#KAjwZ^dJOT8k-JS34%9 z`?9__6bAW&zvmv&{)Zd@ydXRvK^l+z?EJ#%V>HLngJP=Q(Mg8cm{JKM5z%4dF%a+> z*VT)@yj+t{C0}z=gZ})hMY%cj-WdkyOepHoLLyT>M03$$H2BS<~oM+NGDqTfnf4lEv5U6aVIL#lKT$hqb&%s zN29YI8oGJhD8(Z6?!oz%bsKfzg0JW{5e^QV7u+PRlIQT#wf)Ej1zX~=3F}@Xw1(h+ z72`ebB^B8dE!h`(Ppqemty+v6LqlU;f%s!>W=)ua4AE3!BYJ4iY-sG9c}DHZ!y_`1 z|K4cTD%o*STruS9rt#PC7?9F7?N3sI^Zougra0&VHGe9D?Av#I+AB1)(_kaTpIQ~< zX!WngEYi&&e|9(ppaxNpi{$EBozU4C>TF8e=fH#CxO8h{=s?jRtd>TlDvmP-lIW?T z;=b*V?olQzs;nT{*tiEr9E{NUBTDXT=!mYoGxAP`8JaO*Ep{p40b+FO3vO7sWxUGB z3Bv9b!+op#7EG_n?1ze1i>`N8U?g&nD-D+QuEK_9nUue<q#y-5vDyKZrKV9T%4_PNk13L0^b zN+m|{NYVXykROcBKu{B`Yc59AF&;1R^~u_keV9 zvsvqV-d;`gx<-6{pEjq*9Vwt^cLyqoLtTcUH3}^e)CKxU6A+Qjy9L(S>zeLQ?9Plg ziA!9A@#>|LabOVfJR`oP_ve)j92(1~IK=s8M!Bts-sQ%47}QN6NipnJ&Ha>7iDc#6 zaPl4|!i~_hs>_3w~)m!w$>3???cfA+YqyYwYbQ-u0mm1_FOQISa ztUEH7PQGKtZiPwt^(iqtQ0rI^d$F;0HN=->Z85ATAU8-?9r3iUv-^C^4*iO2+<8dB zTAaAp1fQ|4unLq!-4HB%+>JFIs&5ksy;mpfZt(!8oIqQ^Bczkz$lVyDz(=7y__+zu z`q$R{#%i5O_%_Q@Ws#Adx+t?ziJNJt&!B@>l)t^Tz`4Igyk;)MA0^N%Zu&r<55|HE zK`Ty8zlH2^AY09*5f3L6Mf*O@H?I;&nP-_(=KU#b$*C7NH|J!XAs5fgU;*KNMN zY2lwNpdEO#7nv}w-yB88XVDC^95e>hXo3wE2cfmqyw_P1>5ZxH7pGKCfA%wfC4H69 z{3MCc;ApI){j<&M*?U;$i^$XbrwLdnIGJCdh_UMs1oQSu3V@7eVa?&UizB_KQzK~W z=Eox?X{BiE5$z2z{3_U1iL;mM2Je;$)g6}101hX%tM}1K(z`QIE!0IYdT1QA8 zhWpm|k9?)%0az#HX+)M*20ha3-WjPe_uR<&$#x{_ae-6>8?>HZsW>7G=#y*Ze=yu_ zl^%WrR4_od7@{}Zb)(CGMk7OL460Yf$Lf&iK!dOwAsU#jVTR^%=?%sdY@j>8NbWg} zBLwcHv^w6hyIC_;GY!~+!>QPl12T!$)%q}KK8dUEq(%)d?e&(;$gx3(5w%X~k&lHu zVb9hHiLo91i7*#lrFZSkgFd`e!Yrwt!`QtN zoTFnkmEL5xv=%{Y%FAs{#wTUog22Wiww0u*WxntIB6)i(*GapRUa_F2w`5!*ET>w~ z3uV{j4&v=<32PE++SK>qncwwjHaoz_WtPW&v`0r%Kr?_iW+P!KFWVgY^SwBak=Ckl z(ebNINqS3nf<l>$h6nu^X?H z^-gWeE+>3N?+GR4EyS{)?!%Vb>AIo2?SP9@^!|c>lV`#-@rpmzx?P`szu8e)L#A>t6i!zpN*BW@objzF&aE+Je4AZQtR|5D9CFEcD$(lWPr!gG^sEj!QPkQR7WR6ZbD_mecQ<_hfwXp(z zkr3cFV<~KNW4r1To@e^>cjl1_A2HX+n(wk+!3N@XUA;F4y*((yJL-CM5(mP_%7#^} z&D1_?$t*7pHzqYUIjX*)cw8nTfy@rNN>wE)qhxYuw6@2}s4gtGDLDqu9{#NG_YdGZ z1K;)=Tp(si381wwi+(k?h*VHyX-!F9VDe0O8E}y)e;W^*vE>QYVG+< z5kr3QKQ?}mOlgmMtVmSji1tb-Jyq4D{M6e_XD=`uOtC z=GxB2H}@WBb`G&u#VA+vYuvjnwH9&QT_zTRzPK5&L;YiekaZJPx;)_Gxxdif`89;? zNTDYz+M2FM@)dso>yl!dNYoOOe3A-j84-|3#k&8~%<8gATmtb^*a%LgeAp$F;(BKA zFL_*L6pkNwo19T>{o|DftoADOED07;gTnI@>BJ3O{6F>kD$=rnNMBJ(9Z|lM(=Zl?zJs|nW$R$prwhG)GwG6? z%s>U)0TS@PK82C!t}A)-cI1AY10XQ0d8c!%TX$&2DTu zDwp?q$2wzGi?6}Oh&yetHp4OxejNSktX#PYG?5ZLZ(;OMMBgHo-OSA<`T7PDbjV`F z_eo^oJ3^b2!`4E0LZRq!V;B{`on3y>oW6Nve$DNJnP6t0G?$-u+4kzRP}D2u@#yM; zTtBY-h?91@YOg&1OsVjb@&POO-%R&vdMkIx0Dh)a_U1%LlAKl$-RI z-WK=nXqGJTSzFQPI1n!mC^6*b4VF4PD^4|Q;g{Uc_W8tOOKK*ac`0u>3&SRs9l@5^h@O0DbX_iiRmJZtsV!S}x|^hM0P4svi^ z(z))Gl454wt2hjQ2`}TH-K{3-^iAt2TOmR=XzwL0>TS= z!c4b+kuW!}ylq=H%}CU~=#oeIV=xu66FVZTR(Csms|Euv!UoAp$*g2eR_cQkSKgk9 zA4|tA8J{K8;&78JPQ+Q|@0%gxq#`VWo@NS<51y?|POT}Vx~xectBI8^CViOPs@YoV zEOt8JkJ!y^xJC%zwM>pAIP{^lWHq;}SI$R*MP^4_fbQ*% ze#HJX?MflcR~hZ26Z$EwHQjejiu`bD%i#x3TVAX^m4}SIaCpfQ{#pFLloA{jIW{v* zb83RM$3~TT>X#%1F!_7CW~8drJ7Y%h%epyH~`TOZhKZ{ui4I%*(s|AJQf-!c>qhF46At>BXl7 z=9T<9uVmTh?-t>J$1OQ^H1fdoXDjE!rS{u{hm1Hl{Obr&ItasqgdYADUaP3_$n{;{ zmf%z3YX1-7wBes6>W?{m`dftjH<%K77cyGemN@$0ZfYHuo(5DOPbTbV$I{^n@?i^Y zw=whUQT3`HR&DdArZn5!05f^LGQGhC?}$@JG>v{Mo-Qz+bEy3xZ*de>@RUs>Cr;VI zkG)PSwHAMtLYz8$8)1QPH=j-_IR6#<5=)K{8App|wdL&!YS@;twlxa@1oi=zsbkHE zXGQ@bgDC~)B{RhD+Tl`D{Jy2TVM<=FhKOt+b(@+*4g6(WsZHYMAWQ-yp4O1;UMv*s zcD@^*rqQj?- z?;S(6_vg1$sTxOh@eg#qq>3zHr0-irYdV1!wxw?Jpvb6?F+~ z52E;~9COsl^4A&6qWzCiO?Hv^iubk16U19?dUZtr_XDg&rqQo=#u`DvTnR?ZSy$B=j)=LLTkR z5d67Tw!6?18eNT{GquY7Y)+`L)nAbeEPHA(RZhg`HVRZvFJl_Zu;sjQE}U2b1H?rx zBG|o&8)m@h*i`qh34|*(JA6_Uqt9ZvnW?&vjCRCj71JvQB@=^8U6)FsoCu|l0K^VL z_0Wi@hMx+G7es$75EvkJ{}%}a@%}&TM~F$J)SE&kC5zWw?7d{BpS3Bv*ccI6dH{Ur~<&e zjbfaM=rOVX@r_tGb&A!q)#^VR6?Cbpmu;hZl^vfrolFrxio(SGP3wn>yeLPM%sRo%2F#Y!DcbZM#_CM|;J+VTY_66y0-p)G{ne?d8O1 z{gakwl<4?ukrD-Re2Y0x%kClCg042$LQHowm3nVjmVB`ujaRa)tNk1uz!vRFgECQFbwiRj0GqSf z@<6SlVeV_$ay26=Z3R~o*5x78M@;RVi4F+EuSN2VKC66)Ve9Gg3oFFd3FYw^9o3Qv zwqPmpGCV&#dfm{E#|mvQgFt7S4~-`7U)joFA{0<@(`N&^MI2+ z3$qJD`Im05>Mm@Bg|7Iso=OTb=EZKBs@(X;j-a!g^g)oBP@?4r7TXdY?4UQyLY#KpMP&lJD$AmXYy)#=Yxxrj1m3c$;y zF6%yLB!>eVa!IHyX59VC_R*1CuNW%vk&WORc|04UOix!*z4b&=^8D~5pk;?o)*wQ85JKnM#3(M!Fr#`hdv&T$B@ldc8uutyV*dE{ucBjAZDD_LupL#-vbgTzzIks~>9 z?FuxI4bk@pii~T>XIRBW6#uTlWis1xma5;B;jqCuBJOS7ih?BdeXh^qvfq5&KFh$9 zo86@_*{fC1Ifdt;|7%Rk-oA9sa2!BOFq?`zi_cM4%18}wcypVPX4|YMJlE@W>R**5 zTWPSgF9U00_GplrXB@XeSrh-moevy0J4+jUk2dWu-~qXjPm{5R7ywvm5MtQR6~K}m znVX7c*9HFRk;r#6k(|?#o}+JfNT2_q3`#{+g#I%OkA02jn`p0^U?WCjT6Pyz(znk} z&nv@Wo|kQ`Cj*#yoO@?PUs%0VQ_OG7uzI)+!|BNam8GdYH?p}crnTvmroaznj@d_Y zZA}f`cKdp3p~d_Ov}+mfhuTxx!vZ;M(qwMq z#*`-K6z+g2Xe#Btt(nw0RZ+f+97362yg%!cJw_SKAjX+a%d61 zW`+qucb=ucKXI;|oBZJ#+%So^wVlI1PpyQ@SeUw}_`P$98?%J92Fk@aO(u%#th+7| zmND~@{D#0K~m-`zL8tSOPij`dOi`5rwD#(mP zq?MhfqxhzjcnUglQ*5w$4V|Ac`~hQ`!(dBc?M8Qxu!@)A%HqCKp{*3q@}$+YYw!w$ z={1LsVrvG9`I_de_Hk46YwmTc~7fAlWAC1F1OvZE0nMiQ*CY_d#zaAg&aHZuv zPKnc-pby z7~z=GYP1mB@vSs{Hg}}$*TGDca&mM=jR3;Q$n=eNmAy{6RFUMZC&TZ@Sp+fJj*74e zZ_JG1W&Sj6@8kWaYj_$FwLMoxQIYY8@2;bF>13?g@po- zNy_sd|E5~H!zbay@SJ0*-?$VJ^nhC#pJ2|kIDxPFyr{Qj>^`34xY=%&JCrlCnbew@ z7IrPxbWdt691S@%A*}V)AuG}8W{6!0Fj7$TT8wr5&haBDPqZ?z5r zCIw78YZ3zrW@XP{rU~%)Fx_kzCoh#-`OhUz%L;z(m1@CQ1X_@Il1Fsa)3nvqq}P=F zdTs7M%Ip8@#CuR0H|fE~LYZQVSBEduq&e%JtX3uGrnwAzJXTcFod`e17_<>r6bK(p zAD$CSZ?LAGhg^*A3@Mcx7bEjMr8Vqf)pMnZgq&s^z$ky3O?fJEC3Yi04_z$dO^o)2 zTZ%QK7%NI`zDtQr#!UIM6*ANfxd3a@s+e*QmdE;^;&?kL-I z8ZPGFbJ42&Go3h*-(Z6eC-UUz;s9R_>#C2L4juF%I+Nmp7JM_CP*K_U6}?d@k;gT< zJ^j$Xf|)~t4iOu>k2>|SI~`>>5x3vZyT1#&5T|I5k@C7tnsbVV=^B1GeycCs*WH1a*Q-Rts)G zPs++a9)dcO*oAfLbY zc0uKK9v1P@|D(!klV0fr$!%o=z8_MCKY}9@4e)IdhY)QreCBJrjQ1DY64fPaB| z4pP3nMU)SHoWi=pQZ3(4HyE23va1lj`nJ88jBi^kVSLp3K6v}6+5_rwi*B5vLs(-s zEDbVg`bT<)%+);#YS0O_TV4qG;S{XFf}p*Xx^IVKjHui&LCX#Eo63XT2U*xr0kmCz zh7(kry0ySRJoGPNVKnI3-p?0q@{KoD3v-9Jq&+2E4BRV~l!_)UkFDu__JTzi4FnJB zS3D1o^Lm4GN-lw~R`)H^bvF%+1@q>EcsrC_I1C-y>{%jmkuET>!qfTI#u^0l>32M- z?qKJ7**hX4N7SveASa4KO7#WFEzR@2taO&dHaEQJc2|(2wg|ypy-qJRHQLb9G~!zV zOv*kH2VB(u6D$=F9vm-n9)zN?-d70Uh)kO(Vdf&5N(=mi>Yf0_e`w{nnRqZy1jeab z_*vFyCD0rJ+9(;KDmxCY9EUf$m@TF%zO3NR(awum$#arM=~E9~vwNIC9%|(%4 zRSZaOc5VHjyqX(yyUA`3R`5x1-C-7C0I$n};5^S@F+cItNY;W4+UAXw#<=!ngeKL* z|HYVF{b zYKj&bQWtD&U%;97sC;NxcX(__QK8e}&E}FUht!&_M$pVEWNDXW0)IhzY5LxL?^4v+ z0~bF8e&Ot`Oi~Z9ESs=!zeL*k!+2WK1HM>wBY)AUW%ceaWrOC=ooo1&^jlzqKv+OI zG#xuo6fQ}cbiTL#sY_Fv2bMy0IR3rVL|PaZ-%)99H+)l6TrjMTDeVShszDpHtKpk`umEewQdO00RW2>X{%A9Oa7^g~W z%E;+WyX}b`hOaON+zHK=S&Z(P{LQj+HCSr47?(Xt@d>i3Of<8%EE6jAV16mR91;Ef z6!69IW|IN^(EE~?V+W&?1r|B#oI-z%nu;}B*53vN(0OE(Wv^AEtHi5(Qgx-_y}$%1 zLuo!P%Yl`YIC{iD+KqjIP_P9W-SQTv6mhGB2``mTjQA*6kXvx@n%dzg^N@j&AgUMp zZlVkiN%AOjTy>i7j?SakwNAH9G6_sQ{nTyL^3D02kAYWDZrO3VH-Dlx`i%1rd<^76 zQpVf%YEv;uHyVTZZ&u(Q@E4ErDNMuY^kJYt{^EyJ?y#W`_j$jac3r=d$XT$JJFS40_O;I3k7&F3N-m1$&GUU!bl z^bQeAG!b?ZWOuGI*ew{)4{?s4_-Y7PXZ9sxl)c?BK-ST8<_%0miL`*!^+;I2zEo(zL@CA(GuOz2u07o z)VnKUXO0S=47(TV1}ZBmMNw#9CUpVn5*cdhAx|m}rIK+vLoMn`-RkI(oQ1})sOv~4#o!){I%|VMsU^Jv+nD+ZW zSn3&l&lH^ZEI_hXE@ZKvk+6!j{kv@be{)T*XX}?Y0=B>HD&JQ=$fO4eY@z_ z|5ocm2_?MKxR?|sX`@J8r@-B5G7bm?JZ#HzlczBSArR=Acp3;1pzp(UQqnu4!ew`qpE_c7lU7i z$y|St+~!1a7O2AVA-vW8MKS;zUg}~P4$dHR&W)%!05cY|J)ZhQXaS9lS?aMfUW`?k z&nVYw&~*dJ&a~m+jJ^2-s1HQ9wn%TB{H1p5eUiKUfBsvO{r`DM33tPc$Q*7ldg*$D&!3W!2zrH7YS41TBwG*Z%(vW$ zp!tRng^!ig#v)VQgW3gqX<%K%khj_HQoVa_X|!{58N84zP)>D?@07Nl`t;`}(>`ZQ zFl>8x`(-nviycoKrMe>*Pi=29hYi?b(@L|uHqYH*&Fv&hOSpu(8=;hhba5YF9Filc*Hr z5}~s%*bt=hK;?mQzEwle5?57~yGPb&e(aOjCo!){ax{i!p04#*=2{F)Qy1rC+_Ry6 zTxV3`D^b1`R+H>hq_^5pqmrgv2wfi;qcJjRw$$hWGU1eFqNW`ZzArB7Zt*OoFJ6W| zPs@nWPKW|~5}O8AY;n=ErHHwQnePHdPLV!RnNQdLGf&vf zmIG0uLT0$CXE#jup0=Y}J>eILXWlOo+_R;)+0jI83IEIQ3P-h_!r=|=HUakgkc>dj zljbkv66=tHlXKVLO~3emQXhPkw%!qW#MYPk!_xjUPkfV*r|6_sDiM!2P;Ff-{Bm3E5nVau3%qu-8l8I}Z8Chd@7PE(SJn^gk(<7+DS?DIv1>NPL zINIAfM^A;|36D?FqWWu%TS54mO|}EIl?tcOHX2SY|?AoMX>nO z&!5s^V{s*zinzjA-X*QDw0v^Db({U2M5)D2vk{gG7lm8UOwGhg#r`{W1NxIHqr_)h z5ug3Zz5bu~p8cJHN$~iYnG>sFJ*+2-Qi9lkqpfR2x;C7>sBcpkjYM6glM1c*8+GCD zKW~6q{CvBMXXV2v=zfuCg0$Ay-w?_NuN}=-X@zH0AU09!kkfx;c_h^Ub=hv~(u$w$kNYQ;(1i5_2CIy? zBzo93_YRS!9g1IFIDR>0zBs*-P7A+@(}U}V`nb`)KhPS!N8|Asb0&`p#H7iyIDcfC zv=#;c01n@73|D^}oBT!ci{$CLiQ*MwB{6nu787rMWbrDoWBtnJmR7Iz9%6~n>?kI$ zz%l)?mj<*i-3NSEP>|NVk*!(XE8^XTf{Gr*jSAg$qhwjXwChQzgmTYjT&@Qmv7FMd%})X zkP_od{p<6@fw5zdv%RjrmLU7{XNkt_Xfck` z{ea#5p&O8S&!LCBKrU`Q%zBv!b4T%dp`={B%N4 ztmBdNCy)ENZan$5a%_|S>s5vd%ng&bw6?J&lqXcPdmo)&9zLAl-hxeII%N*rwXBGv z!q`GqGs+5QTFmEFH!E=mH=YGP7_SZ z$KJg0)aNf_8CArwo2JU=ObO$HA6X(}JV5CgMnFUYLjrWnAUXuFO2y>Owt@`>)MQ4W ziE(chaX`iPlvRp?&_C~ojop<#XcbLII zd*jmoTDCWapj+8bKq~2U^77|FhtG@NvzWztT-lShPH!DKC72b7~5R@yKR~ndM zAZ4cSM!x%pR=3kq80LG($s2A$#XiVixt}w*n^^8Il7AHZdsuBfx_YE`>Qp;$=yN~# zKF3AHjNSiclQ{F^CKmQWiq+)%>yGt%;tWoT!=_X>Y)C7Qzxj(@%6XUuQP|4n@trLy zuZ(BanC)%7;`&|mv27=@qYr!iPJroq>BZ}DCitun!+xHwt19{TWu0bw>u2DrOtr24 z1Y!-=k^4IiQUob8yh3Z$wix(TjIC@A-`T>DxF6pYJXoz^xKnO?&+FyV(9-t_v5k()*-6#(0E-ZeRVy|Xc1FoHk5IeS>L%w?Cwhs6H`j`tkJ)6t;~&9@owoK zq#eq=N?0V0zO$w8wXCrEa-P1d1?R3VzBD?@^&;KHu|Q12g?4k{KYBo7&HtRcb0{S3 za9sD|`EQZ1^EWj&>VIDD$N10kHqb$jO<2!Oef|GQxvtB-ny8KW-}Pdf@p||q@|xim?X}m0y%M{@o&NhEJd9;Q+=MnJ;x(d!ZEu?(s_qj zd8K!Y=ZkQQcC!a;5?Z%}Gt-&a@O;Eh*$Ck~!Fc&GNL-Tt&B8ro010GboBgj0l!qxH z9L37=6IFBBSJe4~2U<%?+N=EBYUDR7yVjodo}K6XBDp@rqJ+GBw!W2oLG9{C>u^YE z`o8HPej?*)R+^bO3!8a1{7eh!C^O5Kdo}cn<#102n_Jyh5bHZ=( zf>%-G1a z)7z7s6_*R1Y^cTfvACqMyl?XSc8uzoE!szw|DM}_kvL!N6)pPJI})uI|H=RO?W+B@ zN@|1gvWmkOa{dd=Z{~95ZK+xB76~dtOYzWsSKHH#ESrEUkIn>>@#P_37G&&!AL^~q zvWlZLvEw?AY#WwkQ-Qs4R_CI#`%Zz+nWZv~@vo+t-c^+z*hg#L6~w$u&y&c%g#XRSMLqDd*1qVfEu66n?Jui-d?x z^6KNx`EITj(M0C*)A*nr_b+w>+`sy)6vjf${>)#VNg0J)gllX2WPfhd6TF!c zMmpO1`JVmAX2|xzY#XP47k=9)^z+l|N=^uFi_c}MUY#PsMe88B{O`PSJ5&;^&h7iUF~yTR1fbio z=-18esp@PxeM%;1AxuQo7b*O$a3H*4r|@aQOi`SlTrM{!DS=$h*3gj!XvU`o z{w^>H!L>?Ab;Fa`stoPUN-GT;N=ooVZcTN59^CAsib-Go;$$i3){Y{jvsCq$Eh&o@ zBIG2))cg1k9|YmK#s{r%b2UYL{2Ef4@0*f7BCB5C@e|Fw8_)s^?kaZ!DR+dA18}TG zh!V-j5`8X$Q5BmwF)=ougv{%|yxhNEkk7FMDeHTVY}{1XWMdEh7J=r8UQ$c1XmIrp z$A{(!=ErX#K|r|YWaiuSEXKHdTrL6h~;lxpV<%ktSV8w_J8YNARr(6ZNLrjij6 zi&ws6?-4A2A?xb_q&Sf~+x}%!)vy~>~yFbbG*T37E^gW3bp9)}A zB2>pcm6K2S#?Xer*DN}4YPjm5MIF)y2)gn>8RZBUt2*a*p^_wwQF@|YbHRSy$CJZ8 zJZY5CC6SeMPWsfEyO``vI-a3iFWFBXEcI54c2KYNch{wEiVQm^I+$ygnp=3Q#^{bM z!tg{d05;xytQplubj)oXZDPbNy@$=55_z}tkNLmZn?k4f;2o) zO-0E{o~B22Qy++Q_*Q_;N4ks**AHSwV_v!VYj^E6o@hWiAwSkrrM?UQ+&=&EBz$R$ zFq0NHuZPjhbX4gW$+2N1KT-;%FIEop7o7L$0y@M5Q0Fie!vY4@Xu7E9w7D1sV95cN zotnI>jUc5#pJSj!9p=Jv5^BHqt>Biw<43WuKa3d76liS~8R!Aa z#*Bz39az}KdMv!9n!v9o+~-`wLk&;1 zpM}8hdSjaK{%*8ueKslh){l^>BU@Sj{gm*N7zOUlLEh({KKu6PA=$FV8hQj;alu6vCOA~}#KAu4C4 zi?W~3V5;%PH0U;7_iSu6SJ*B~nQCGvnQX5fE1JQA10trOyD>&6jqc{OIK2;He~38T<69_s zcyL0auSD%0>CtCNTpT(jBPpBsH$L8Su8ku`BdQPIqS*z|XCHefyPc|!@=*7NpYj%_ zH=9c!*qUPTD8^Yho%^jS5G1^}Wt+ar=zo~r;JX!j#UL7EyD?jhO ze{McnG}q%VE^ZT&KXiV7_W$=k9vOEB`W3(h!G^j=Txo+bUs|Fu#Z4tRv0o&x z2RWT6{!P`?_}=RqO8V`u@Jg>&VqyCHlAhsD+P1fVG}_ePLk0i!xn!`EsQF4KBdUtT z1c1(NJ=f&3&%6%DH{+?d%G3*vi$d-=of{wM+KvC($#Z3f}b>>2%RqnJw1Tz(o@t%1R>N(uY7EK9yr7XhjwmHhg3{9*~D;R1E z?lwf-V)TOP*IViaC#9Zfj;vY`{U|oI-^NsKCYE(8fVu=ihU`Zs-TZQVzy z&Z%k6A<@qsq>C#GIF|^fi5QpJf4m~+Z{n3R_RVoTugO$x0#!Xqxr@Z%wzVSew+FC> zmFXP=ZS^@oJx9tOyBX@}Iwfk9Xz>SNcbTkoj75S7*RKEV{0< zSD0HVuuW^kSXr$XbBl8#i~RPcX~9K%Dx^6;FpU~Z|2#zWDF%b;#w$}mr!7Z>R zVV|I`(P($PLZZ}3kL>C+W;{Fyql z3**II^f+(#+E@#BsXV5Vnl#1^Q%M+w^O3lb&99%?_QnJ7uP8hWLdU3ZH9=;LtF zrxkWOa!J@}pd>U{mRspxqF_V>9hmfcuuSrsT#qQRz10$z6$M-E2|eSLGWN0U+;q2H z_rxR5jbLJz>zT6~(0xsg<|XuwC!L}aLDeIEEUO2f&HS1#qw5Exszk**i#wCTHkJAP z!tm|FBj=FYs9PCrA~{dPv(B2#Ln$(%8OnpGWumS1MA!n2`+fjc3hz3WYX)RLW@6|U zmtpcZ|B^!)x2|?r?GKaH7Htx#@*^-ra zEXu{P`~F#TRo~|rz@ohK#^>@?`Z)g0O0AGYTd`=!5jA~`6Gi84yXOv5r@mhqp;_QJBeI2^rIhE(lJ!rmNj!AT(B_ikM-}4J2>-= zzF0S5>Pr5TqbnCLtdv|Fke6T-~-IimyyRD5~ty_o7O*szySEt_- z_xlziq}0m7eMICpZV&&0pRM0kZl>6mLEc5dY)01d_}dEK5mbu3B+!9G&(3T58`J1R zn67o}+D6QNU>9)Dzkc%-=qFD`+1v@yX~~9OR3rV(7KR&EJP}G^0@tJ-qpK{~ zwH0tmQyDD-`(L**TyTO<0E_D%tKNDE@9lf88bN=Gb8v!`R43JoJpKoJ?;X|jw(XB% z-=g5AgeIsI0Yj4#5D?rd9YQe)Js_b;=p6yUM(-U0hz1Fe&>{4q^p2F!ifY{M?J$`n0p# zW{2JhjY!%ty?=-eF2J%$Wu@PXj}M8+OFu_D05C7?G>^;W7X?`GU4&d+m5@yP@TfHH zV>-1p9b6B<%3i{rg4rhMRTwTm(20AJX11(&)Cx!FWxuaO@G7VVTqp!~)gsw8F-?wT z>(_k)+S0k9@|>YEP=l#=cTSQ~*4;Mz@;Fj>ba}d5Hg``5-}8;7;9c}xaR}{#Ra;P` z<3RSpf^bpsaC-`VCSp@1&Qnq0*TKB*c@&n74U>sY_b5k*4DG|1h?$x(aTp~PiGoIz zw%&!@*99Z?B7;GUS_N8cl5%?yO3c6arueTzVWWZhBYj|d6^#bk#ZFGHdjpJCZG868 zn~j#XMrOOAl?97?&Wj}2gw+J{5YZXzUKB$br zo-;t22L7Of$`$KyMe=&7&CpxnbY1_3GYHK``Z_x3Pb zNW2i`$l~bk81jhF0#`%V)(qbg)HbMS;8Zj)g42WEg%ZgN3|A!k?ImWN&8c!HV34VK zZG2^S>fuHL*+t@~A1cMaKwVA|SoRZ0vg&OUWqRy5$2$~_6a!h7ebPfDf9M_fd8Id7stX~+P)y4bTXr~hOD)1Mr=a7*ggf&QzPh zDnyj5o)?owR$#xt#jcR9A=^2LH&h);x7{ZS?LOm*;~FMa(!sT=S_-xPg~F8k5qWyK z8&PGMg=fqX_fdQU%X7J7OmlT4&nwDy>KVGmT*_;HK$@{!zibGidE@Gc2ohEAtZAl2 zkRaXO-jna_5I1fdS;I=Ol}sU-6fWEgA|PxC?p1h|E@a{!wjPe%@jxcL`$G2Qzk3x+>qG`aI;T%MP=SJX z_s~shOL8{dDq{A14UWiqi-GG1QTYwk<~{3~00?ZpOU}R3ThBabu5TBFJM>dZ+~I_= z6Och=943sl^`rnX_;ZHjleEX56t6xm>(xz@0~C_X_@`lPGeM%6<4&f_+BH|y7r6V# zK~>z5q^7)l?@sHWb+>-io&ZnWBn&3?YWlT7y=8+IE>YF~CgX1UA;N9)`k3>{$76P_ z(4qA`sSA`1#oSbyHmaz>!ccg+s!Ex$yko_Y4FR(C%wwG*)=Iao_X9E>BawQ$s2fZb zBN$G`=l-KJ|92^sJ>cQUVt@|p8Lp6WtF|@!0xD;&AtK{pB3NtI?NvNo|oMRtQ#$i4iBx)LvH<$^s3VDj+PQ(u#XemCE>T! z0iJxuG7UIYI0^5-i?3v1J@<2kwVvZ&w&77Q!x7ZLmwe ziHmzXR@zHN9}$dn$lYOuj}&R6ZS<4SqV1Igs0I^EH9bEmDLS2WZ|PlvpMbyx?0&@W z2u|rQV5-7|Hq@cR=c3_5S%8*2VY==ptJZth&9XUVsbb6a@lhlmTVm2KF?QPckxraV zNke-j6oI>S&Gbd}lq@@5`b?npxbssHM zZ4lS;u)%tox6Q4(d${zXb=M7AO$xHyMy5ODTrb~{*c;y&uc7Dq{o2I{sdOt+C|2Y_E$cwwoq0jIwz&FWk&3&!7P{d%NRA!W z#Z|eF^_OY~wyc+OKba-msA4xv0M`NAr=$uao$fj5G*)?t#D_b6oU--=E;t)@UYz|= zK|~Sd$WqA+NT6prQ6uolPIM>83%*cPIOxGD(xCR)l56@g)X)d!EWvQiY}@PdLC^ft z7m3~bTyx5nWXyZ_e-!i|)b;?ZgU<>QX}X>w47$7hitEm`T}A&+Qes4JvR;;3JM)vzED(?46z zUhH1QQf^IJr<4SpkD_T;*(}kyz_qm$Lb?^WxiQ3k)P4kHkb>YaPaju)OjP(asswl33Kcq~Rnk*6H|hWYee+N-Js?=a?c!|z=DhsWNir*mc#oh}b*ltIe< ziNvugr*X_6!masT+H~VD`kmlghp9T~2Iy*5Uua(M!e_N53CV<<6{thE;ck0Vu*CJm z9}l9R{%?!K4ZbJox8>5?VMxJ|i@KUj_5M4nY@|M>lEgafhVZ+Tsp}n1zs#Fu&(~9l zCYdfD#Tv*$Ng&nRRMM9&06M!$;h^W)Co4F9cM$tBOqH2adDzx}z@Vx+=8$ zqmD2B0j^1^T74nn9cD-qznnR!OOL0_ry6#6y!7_viPr^%#gvqq55);NrhI7?dDO=r z3P>Gt$lTse$HjyGWP7z<%?D1AVKdq~H7?XgC{$v5(JQX@#$|SZZX*_xjnbf5O=$IG zQWtL*D|@n8H)6J;5aQl%LG9S7nUjg9yJ9f2-wlIou`oswX>7{S+4|EWaAFWP;DsndqQm`V2XzU=9G+Q7;-^luF)(5^KkwgP<%Y+1b0GcbOV%&YkeWh7F zX1mqNx;(*LYQnwinSyggZv7alBaAm+P!d4FNBvbEA_B4--!8%daC| z@mXoy&gkjXTIcKMg&oazYk7>qfxh_an%r$Hd!^} z)eNa7RWPdpqW`8MVK>G}0WYCa+a`{3)yg)mgL`y9S6RW|1%AL-rt^G3yGPhAlJ~N| zjSnEGc~)EmY8V1g8~h~+|CuJX6mjqfm0g&B6b1E<`p{6%zcU>Dp)xCpb5(tMc9Ew09(qP2Dx zdC6-eKsxwBPUX^~Ev zs_cpD3uju^mpp*@^+s)aNc%2-MHw09x9^oRd7h7M$~K+dR#a^?OJp0a zyo5&1+eQbrgnV4Hd0UeJ?a9XWU5Ok^(|=NvN8os`T6fB;{cQU*{R%4R;!Fv!c)2r) z;)&e-Xz+7UM4co3VUpPpI9o2qbhs%*7%LZ<&d1LVbItFGFcc`Lp+BE;T*7j*X!IM| z*W9B8l3w*?ckjVI&*`D}zU9+%Npmm%kn0jl0Ll9AgnV&9EX@pehjVvN^Ts$S@=G*$ zg5+y=;kxPI9XoX)Qw_WvYc+GMxiIb zE}g2M$eif^Ed6`s|4qdC4!>_?$9#k{4cLqRebu~@4hy}|@dA5{31H$z;+-1V(Zm=L zC`J)|LTZuf3_4oP2v~Kc)s@gOSht6CQG85NZ$%3}m(A0%j4bWbccHJU@t}GwN&}t& zae6jW7tC}Gm^O=bd4_IKpE?Cs)lcL$Ru~0L3c1I{2V1>g$R|heT`W9<+t(LK{Lny} zh+UTsPlZ$8?yL{Y&jccuvFs#AuhZS?Vx|-32rxWG#(RY?kIXUY`;t5TbqN$iBS_<6 z!mU2(sTRNjKZuiK9b|q{xaav>rJ0udW1Y)p0v=}MWz8wc$9@l3mh|)G`MiNh+}y9| z-SUjknpV?6GRoKA3;bS@e-nWc<_}P4FV+tGODv%WZ0AZt%C9fR+L>V=Vab@5aD|5;G*sFL3WHeHdgkDyfwW6%^TD!dQ(Vg zKu-By-~6geS%o|wz|DOk>OqP(3$vP_sOU$yQrLG9Rl}!u*%8-su7z;I1OH)HgD&r(_aWUjC5z-%6b| z>Edk{(7mStj|m}1u+TGF-^s`}k%6cA-Oq9ofey&CC!?2I(9uI1G}tcV(R*5`U-m#} zGd04|Q?$Wp-fv>#J-MYb+APkpEu+!Aa#`FOE@c`BH2T%KoY)H|SC%MWw#*csH zWZ(|$&*nID3M8SO27F{jG5{jK>H_Q0%wgDKDU9F>-{K65WT26Ptgi6NOQgtbyMv~pe%Yd z`6${JB}@xzcxMj<3riZCw5u6H7QD^Ggpzw}973cR1Cdi*_pqD^$(0a6Dcd}fKR(|4 zvH)X*PSNa&VDro{5-Sc;T?7IJY6HFe_ z*1qFdv&Evgu3p{0a6kMemE6{^6+u1z-#m8pP>u4)W5!y%56vQ zbGjx0R3m>PFHp)!L4pgQ!T_Vm&5?p{WV=;t8xffLcq@?Od&r`O4j;==MTmbvm%$V$ z6e7P{BNX&CVcZTTq3{!VeT*qWwPb!%gy}x+_QyK~Up^9_7OojR^zAcdN;wOndLTGU z(}X{WHay?C^*Xah{s;NnhtKyt3=?G6Ro3nSlR17O$(esg zoF$!1FTE@i=qx_X*)U-!*TMU}4-) z#EQ?om4)haoi_#g4wQ<|PQrkx6y0gY1nd{IAVORe6&2;qnUPUdzq)sIBvm$8^kSA7 zU1p92HqZeZpFYxcrxTcKrn|#alWNm9no4paxEJqYZ`q&L$G!Id!0j2<-5e`oP%$o%x?63AJ@1s6SvGQQUp>h_JSb@@!w5w+3Y z`q>kk2TNfH73otl!|bLLM}vcM768j(O|MRxM}W5vsq{FwFPVL6PtcE9zWG8vL;!ot+ zzr~UqH!6_7?jcqhXJSNP+(xnUE^>^R(%Iav<d0~B*1NGE7al2ZGzsc!@_GB0INHguLh%cIvrE6(NQEBsc>md?{*x3u`A zYHj*4J_7IpY(TeD@ngI8Wq^^w!=P)0Z)dASJeVqyl2H6asKianE$-^e$#WMVA74Fw z{nrCdf%YC(*pJ`+MEs#{Q*v0>mMU=34DLPYEWx4(89Y@5&I1;qp&Sxl`IRqv9Bpba zP{t~ggc-0u`$je6p>`LdDK7A!Uj|VX7z)#ng- z`pZ&b`TSfJP=1PB7KT;NAwVeR`TRFBhX9F=;$^wu-L-D9h0MX(>sPIUpLTT8>o5e# zz0eJy>&XR6Yj94tp&R_@^o&N-4Vr8S9_6-Y^M0PX|BK7=KOKT{TMQT84qi*TdfCrM zv~b=kw-x>_qlCa%79I9U;qzC#!iHgCVQu}<7-)DRCm{WOYt9p)qo6_6r8O$6dok|I zD|K+c8`hS>>#!BSC-J`ZgFY--V5WY|%<37(fB)j}v&Kq$k8{-T$;W5+bX-QZGgN(8 zmFjsyb95e>BDau2h5`l`j@V3 zB2Hswt4$bXS8VcXI0Y6AEN90EC#R$sM#4!CNeLe&tc8<3h5l!uG@^P^4R%qR9frMJ z)3HMYbPeWY4k@1Bk+mgWfU2*%F2dxQYzi$62%=E^!-H!ClK)r4I ztErbf9E52Oq}#T|3$^MWjEJVR-m&ej7Yb%sX>M1WITH9X+v#jF9@*KbbE}(pFgK zcI~+*9I2XQDgOLK0pWgui-&D0CCsmYdf8fUB4+`fkr;PLu+yL1*Ur|QA~L>_afF;S z+&VJG-{gKEUOcg2ex>%W-;>pR`jeGRjd67ELH?;jwzulD>Z9j(b7x=;hdM^dU5-aL z=YRv-vq5VmQRJtx`i5z-XZ^mjow;u;U~@y?J7WCZ8=w&5@CM&zt1{Eo_bUAQ zwV|K-5rQ*#*!W%FSP3b(;f#|JF(mFZgN_P9f?VVw_Y-`f2qjHir~SniP?U*SIdknN z*&ZhTb}e>@oV5}u8v{Je4(=?GEE=R1kJCg__fQLkk1-+4%!G{|y&>U_IF1u#EH%Vo zT94!Kf+?4BTT$J-R@#L&z(7F+ZyIL>j~F9UQqJJpJxQ6hd8Hv@`1`T4pifuD8<{F~ zc)7DXU~Et$j%~$fG%*ZziT&%-I8w?3>o2VMkr?Xx*32ESmajXH?g|SGTE3*pztLVW zPsg|RFr)df|6R%L$(~tsrv#F&mnmHIp7}>k8UMiYvLvP|EDFdCzcqJvN@@b+7hBoM zs{A;v+*rc|t#zwzXwXkx`>Kv_i7Bj{16~9MKwOBB)N_rQeG5gpP6R~0dTe-j#Os5E z%*^;~pNr=?LHhe)9x+V)cq$kSMnwgHZmcXtj#XrA?onhKq-$nEJYLvJsiI8UE8%fG zEcw(-ICv^*HYccz1nK(L10~t&EvOaa!M_V_7aQDnzO@uZgT4Figp=)|@w8I6_Ab!Y zV{%0n3fIdk7teXUD_Op1wHq@z@QrNjv_I)=0_SLrNBXQD(Nmz{D{X`*@o4OU&;-xq zi#W0!HT>m}oG$LF?0)*0h7+C+&t{>Z;V~mG6~ms&{^`#q^}j@JFmGFF@-XL(&x%t) zz@11m-isCrUA42B&-)}$rNUjWtE{zKC*!%cUc+Cqda=_ z^W=JLW)c`u4O5MlAvuesI~|3KU5Hc#E_0bQHi36S#0MnCzFrhWwJVk99Z}9KxOw)M zuU0N@_KyMFji-osQF;nD2kt#ld015&`NIvO3XEJ?t)s!IBAFh z1C2x8kGduM_B%~Ma+V(zXE>@NrAS@av)K*6HCG7U2uiQ@IJkVkloed1njm?Wl)ajU zy{-K>{|Ht&-x*oU!P&)7B%1U$pMjC|6Ib}`aU*yT)b=RRO^Xv10gOQ%V@rDAz3E|!7+-6sJ$>5 zBG?K390G1d6pf}3(&cv$f4cX;J&z$E~5YrEZ@ut44Y_82Z|}JG7()iqML9s1Ifa|jB|G4RYA;T{?UOX0Ir4z4D`<^M<)SNd}H6N zh|3eWH+LAZ(S@9xvl!_Gzy_O`MeD#O9^~Sm-R;VjgR4BY8<$);iv3#W+F6Y-h|Qb* zNXLoY{p{b5i^sL3x(s1R*MHl_x;Z-^kcMDxELEzmp7 zDA#8Hz+%hkk?5kw2OdKdp#fC${UAW6W8CjZO0Wm1f*DE`G`5RAXI+qNdd1U59Q8%q z*gjN(3vS2)J&zI>ceS$VwQw2=Y3QUwS)h}FOG%l*n*-6EWdo$?(BAo^cxP;tjZHX# zK)I?qUyKz7N2HHJTN2_d3ol+B6{~UrYssOP%BY~b=IQA}yV;x~mr z@NEAv-E4yn8VhIA>PbT8E9I|SJAAOkXuj{*CJ;nmdhUK;-uEvmZS8}$<0MbzDZ%Bm zr^c`4@yj3ntMeOwsh-J3jdTS}ux5WF>unE?@|xT@Hz&QYP54>I*lPT`$JZdRhxS`2 zxb$UuF68s7UZCNc?6qE#Yd@5`%hL~%ajslMrAs5!B;}0pctx-50Z?6fFzQT5a*2-B z{@Trg$!PKWKdW%x)sc6?jH`QbH)CLG1=FmFXP&w2OmTIbT6ehLSveAvw~(rN*krxp#U1pTDK zefg97KKVDYgTU0|NU=TIH!Goip6`!mN4(RL1pdkUv)}&YBqKX>-`sKZwCSJ~eiO`~7F!gnn>RR?r!Ws6W1gghXcn$#eUa{K$pnU~bl|HvWm3Mc)n$c`-Szpqs z9JHbn@t1E&cDL_eB&7@Rwkz4|bnacqAt_}o0;_bV2c0A>yMgjQe{=pH4k9hn+=g?( zo(EsE-FYJ(zlt>OJlCI}*{9XL(e$g`h6P1}d>RhsiBionxF#DK0v#FrI$&N^yn4W| ztLZZlzWhno&PE68!l|)=EgC-WQR||_&M$s>FrT%6mLY#i)?MZ$(TPjaEBEWWa*z@J zCa#dlal%riv&ZIsiu&56-xB>>kX2Rg$`GR2Q}!a`$g53P004+AVdTmwmU+9FYWA_P z_JlFQ|kmGl<}YLSZ>18ksnxfk7tThE_& zWvdxW%{^@4OMa$~g#}^XE%|2aXV-da)6KjUlkshdzv`Q@TCN3}Ck!Jwdl@oj8)0V3 z&xzNlHY1n<;@gy#-UK_f3#SR1tt{2j^mDvTV)2s;Q}OB@;?L{O^{*c~3ev?U3GMQf zo6%p|s16G4-?b=MVO1*SiCzSbI4|jb5NUy8n|Vz=+!(sLv-|^h9B}W(?lHKtA933f zH-r|tM5TwE@3W?vzK-*CC{g*Ps64wtyD|-^p7xOxa9|9|dz#N?ErrVqwKPPFyRyyi z`l$Kt5ou_xu6R&cH#V7y&R{-eDnAYlQOFwt_^F9XHk)Z|@bF z@Bs%rjyI8PUGYDJmCk3|p5vjHndD+Co6nMaD32c&r?*%|@W3jN6B0)S`NroR;?90* z}xDriBCWt5lYYkr^z69i>}ZaQm>DH35mD5 zhhN-NA%|A#MrWN!7`V_T9V@6T`PPoeUC8x8h0ZPpynuOZ}EGG`YPbKqrHT37h;1ItMG^U;o z3&bua>H$eP1NI6J+8VE@PRdee>sDCa$eN%J9)|Jj20ja)xLKh2`E8$!jNdiu!)F25 zvR428<@~}^I(1=Nzmf~c;~ZkE?n>p-2Fz>;e$vT#;?8;IMQ^AE;=XNXqZijIn8d(|^$0W;*p)Eu#C4eAkEHpSL zQ)vUtipf8l&Pt6_j7sn=JlnbcpR}^rT>GRN_Jo^9~gXWsB2I3j2c(fOD#_|4%eT_He;&Vc{ z!_49_87Se-%%m!vR%g>(O`Js;2nKf7_z-Q*xG4w0g=IoP8XfXnY?zN>?=F)Q)M)bP zl7GXw$4G+go8IuKYf}VAI#PykgiqVqEE{CO^+VvT*-_! zNEFSw(s{y|7?Vr(Zy8M=+Ep99Miq_jQJ_FBk9xT%*sQSVh9I2=zAW14j zl|}y$gB3MbAkIC$Ow;jQ_Vc4t3XXrSy3giMY+KeGSa~iP)f`nBHmG$%n=f4s?9uAb zP3Ds;`p9zQiG@K7z)z6!D$F-g;<3CGM8<&!-%TGu5gQRPKfP4xwx)Nh_ls&n-yDg6Cqa#zIN)zdZ&7!mWn}vS25e%l3=`SoFxf zszez#lArDWg_<^4$0^Q|70q?NA8o}0i4cWRL8cxDra|-h1JqtAr5W8%D$1&GVXZUO zr1VeTS;mv{yI?B_FqmrR$h%VWg`D`(d8@Qe4tY?)a=aB(lZ`W!6q{iShp4@rS#=tz zhZ+8Y$t-h_vOw`*lFIVas2JrO2P9^7vYrhHr_+E`N2d@%Gr`m59jzJ*@nyCOzr9zK zEly7}W&ErRR>?A}Vl8phSh01ckr^8&Io;ipBtNQtCLy*s*yP~3BO~+DW;tOQW2N2H z*JG$?95rwh9Wo@n`NpbLTVUaO?2{Bf^*i}!tRUwsGJLA;4R$_96GWw@3LidJZuSVG z?y~-%6hMx!%mqTaW079g5KrwK;&=rivj*&e#Z|zs7TZN51Vs^@2O@e&Te(VXLIM65 zwv2$}vN=I<8Pj)or{Ta=jSugjO9M&vrc{hG3n~U}MZ}!M^4&L@sIWyRV5I?*DybWz zRJ9{q++>ld#d=j5G+>zX>ND5k_KqW_xtzzPGhb^{3)s>?9fJhjP$&}9ip|OH*0PLv zE;1glxY&0EJ5WBGv&8?1LiGZiVK@Y|p?6`#T6QRiVyR5Bd}HuoMe9>1sHjlZbZrgw^%f# z(%dTd&X4N>+hA@0<$W>sq@3>7sz`SIq)Kcc>RI`cuRT+Qhv5#^MERZ1MIYIZ?LzjZ zu@+HOoT*~)WEd%Vus8rf;}{ob&?GNnBb$LHE@pL$=q7|P#G{;vODYg?6`94Ukf{5% zZb%1gCPoP3&??k6feUDwy1A05Mx-s7pJJ4w+?_Gw+I$f=?`W3m?_F&DAo|Hfs=q0N zkX^qvKaLEpiro}X-Uyaj&JI#Sb)-E9j=y_=?zz2@%hp0%8+FD z{BX?e1OY0x736%4qwg4?a{x+!Ijf8OO45F58vgnyL#Jjd&E@G^LP8}I5&|Fj)n7|G zO7DgKu8yB0z+DKyE&LMQ3wK(D=+@=84WiEBQ{~sk&WeaV_7CxZ0kGK)^BLvoz%wfk zqZ`{)nN)P{**b(#^&@V7mT&;O4PdOv{=@DahnW zzHff0L*!O=O3HQL#O9E)Yk|a>LS$rqTlkIa|3B~jzx}-Tk~F0L+y$Y=0v|26%RU` zJlXk;luklL)Mnbbl>i|>uHaLb?9r4M?weMMFB>~YvWh)j!-niyncoQ(7BBIouuSjj z3;F%YOY-OZa6FOxD?gbx$ciN0H)v*0eHI|MDb?uwYz^2vC%#kxO@5eCs9o;3j2Nb@ z?g;NDwP;8F^wi9RQ9shUi<^lN?jE+p$VN*O+JOhRRkmGFe>O4MjSJq#4H~D4*N*}p z?lvK%)x8|8YkE5Aeg5+G8Sj_hg?=Yow(4zsOw>J1>VC1iX=K=p3)(KIlYBR~`=Aq+ zyU;;DVao|P4lJ!v=DqNT!GXkl)~(TC^nU3#GWIH|i%=6`{FEN?cEfH~^FMh_d++-f zFHdvSl?AFUy>lKsugWfnsU+-Ce zSN`;{1_V_s)t6)yWG%b(NRBh)HK7|YLU7HQen08{;l^fLQ$NmgkQ8VVN{^*l(WFAe0^sMVnAauTkWJmj_ha;-XQ`Dx9KK#Tp)ZSpqFVhgztEdq()M#H_pd8M_oT zgRjk$f&}{4jln8?{XD%E`dFfsXgW_^#IFl(DsvtK7pn7NCyz_QY9XYMl?vHmA(Gu% z%H~c&%-*v=915K=a6g+Azj!%m&HZahKd>g_-VY|O)bzB}%8e>7?v>vI0Kfmo!&-C6 z@lw8>z}&@a@@mTRZsRqyF26?-aynKmy`IpZuDF z(1?%ke74Pkd8^wcbnfL`d4a$kzUl7m=^hu$ZD7gH_*n^eKK@Z&oyx6hD_-7$6?s+l zRL$&!p@q^;h3;hF>5cntA#xROEC=KoW#GDF^BC*?{K{2un-c**5aWZz2qzI$2q~R_ zDT~(ndR50{VO%EuT-b2K#I~m2v10BaMHc)Und~#~dK3w0r)m4G6KqdsZ>>%$^b@mJ zKM9Z%UG!iI?ES?Wv3AJw_>^Pd`}e$%A?T3rR-*hqSoL$bIz&L>!E}4oB>5+ z;>=ak?75R>&sJ1C>aRjSyY1@;Dp#jH`@;6AoD<0x|GMDUn-qZTSf2uaV&JJ3|BNl? zRwp^K%zb4DV?i>G-D@+Ub0j&RjCnT??%1g@3qaY&b=(dKwuwKH63Tu5mYH;gt0aY{ z`mx?Ovh)N-&Xc;SOPw!z7qHJ6*nQ%clp2F781f4cb&9yxerl$ zIF0ZSXuzn$rUPrU_8>f&ne9clTwT-GEFv}DiIBtS+K*WrbLvZqcakygxk`%wf^<=w z6+7eaVV~aJ`!QdCA}>&0p7vRM>(M4~Q#X6d_y_rv6iWTm?|vfx2Fv-4pTi;SS?XJ> zCA*&Dhisw1Vj6*(>LLMtkovgx{{O~KH{_yf~AZpUBR`2o|nhx`Xk1NH@l z&2DRc*6q4{b}kG=X&|JgT>BEmQ6wfl49cgEsn~t)`eAARN00rDHvd~JKX2}SR|voC z#TrQC^=7+NNBKHpj)L55pHFS;bHt=-JL_O03r0|xynQxIPdF$@SrzrJRIM0R+p=wL zo>~3bnGxl)=TjE_ahAL!*p2Ht1-p`#^#VD^a}SK!iwM@NO6^=NP{EfN5d$hQTt!gn z=6`RX{jEwX4yKJ*dwEy%bqzam!F~*>!k&>*_V|$~TK-XR=9f~_=>4U z&fA93*;Orv)yH2ZUFhaKF08l}^Ti%hCa2b6pUobo|I8>%xJ0CUgv&i73=28ASI$?&B zR%~K#6nN3<)^~;d|1-qHvZh5peK%8o!Mi+U)@ANv6Bl_IEr#~<;39(%K@n(7+{=y) zQaVdn7@P^4J)~t>7_IL%LNKl!rfs}!NY`}P_BV5Vl}8~87&$+_%i?fqX6(m$(R62n zOtdZR@!LgrC1u01jjS=T`-SiaysbnB8um3ub2d3S;5RZx>iZ-VBM?zWx~8MGO|7*t zBAIk8&;W7$gPadl#;lBSlsu@pA_f4^P`^CKsZ;yGthzfTj4p!G&sm+02H4jxH_2L- zD?1qf5;w#v#-pFegUyG?!U#DoJ519hX^VUxRkSR=q$kbh7v!Rhjd_wWt?U42f-_jm zw(sC}-&a`SR)+ze+kdV%g-bsTnBSVM@T)Os*kLlqmPCYj2WvJYGA(b8lDwhpOl;5A-E^jafhy7kdYt>t)V;G#;Mk%Yx9m5#F8 zQ!5~ib^UUlM9hw*$0ut>i!Q13_{5&0k_4HE5(~{F7tv%0DhuBRd%d3@KNvvqW$5$b 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 Dj;6kK literal 0 HcmV?d00001 diff --git a/public/media/sma_chart_1.png b/public/media/sma_chart_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e3c9e2822c425407e1b819b180005a0c3d5011a5 GIT binary patch literal 75913 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�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 literal 0 HcmV?d00001 diff --git a/public/media/sma_chart_2.png b/public/media/sma_chart_2.png new file mode 100644 index 0000000000000000000000000000000000000000..40669b84970606628b16ff6238a5a8fce185b281 GIT binary patch literal 69530 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 literal 0 HcmV?d00001 diff --git a/public/media/sprites.png b/public/media/sprites.png new file mode 100644 index 0000000000000000000000000000000000000000..7f704a5f1ff6b99c6877e40d4d87729bd58bf42f GIT binary patch literal 4146 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 literal 0 HcmV?d00001 diff --git a/public/media/sprites.svg b/public/media/sprites.svg new file mode 100644 index 00000000..3f09ef3a --- /dev/null +++ b/public/media/sprites.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/media/status-not-ready.svg b/public/media/status-not-ready.svg new file mode 100644 index 00000000..27747447 --- /dev/null +++ b/public/media/status-not-ready.svg @@ -0,0 +1,13 @@ + + + + not-connected + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/public/media/status-ready.svg b/public/media/status-ready.svg new file mode 100644 index 00000000..6116d5ae --- /dev/null +++ b/public/media/status-ready.svg @@ -0,0 +1,13 @@ + + + + connected + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/public/media/zoom-in.svg b/public/media/zoom-in.svg new file mode 100644 index 00000000..a3bed5c2 --- /dev/null +++ b/public/media/zoom-in.svg @@ -0,0 +1 @@ +zoom-in \ No newline at end of file diff --git a/public/media/zoom-out.svg b/public/media/zoom-out.svg new file mode 100644 index 00000000..637973fb --- /dev/null +++ b/public/media/zoom-out.svg @@ -0,0 +1 @@ +zoom-out \ No newline at end of file diff --git a/public/media/zoom-reset.svg b/public/media/zoom-reset.svg new file mode 100644 index 00000000..8089bf9f --- /dev/null +++ b/public/media/zoom-reset.svg @@ -0,0 +1 @@ +zoom-reset \ No newline at end of file diff --git a/src/App.tsx b/src/app/App.tsx similarity index 73% rename from src/App.tsx rename to src/app/App.tsx index e0b3c50c..522d9f30 100644 --- a/src/App.tsx +++ b/src/app/App.tsx @@ -3,11 +3,13 @@ import { Fragment } from 'react/jsx-runtime'; import { AppDataProvider } from '@deriv-com/api-hooks'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import Layout from './components/layout'; -import { StoreProvider } from './hooks/useStore'; -import Home from './pages/home'; +import Layout from '../components/layout'; +import { StoreProvider } from '../hooks/useStore'; +import Home from '../pages/home'; -import './styles/index.scss'; +import AppContent from './app-content'; + +import '@/styles/index.scss'; const queryClient = new QueryClient(); @@ -19,6 +21,7 @@ function App() { + diff --git a/src/app/__tests__/app-content.spec.tsx b/src/app/__tests__/app-content.spec.tsx new file mode 100644 index 00000000..3fa05be9 --- /dev/null +++ b/src/app/__tests__/app-content.spec.tsx @@ -0,0 +1,174 @@ +import React from 'react'; +import moment from 'moment'; +import { unmountComponentAtNode } from 'react-dom'; +import { mockStore, StoreProvider } from '@deriv/stores'; +import { act, render, screen, waitFor } from '@testing-library/react'; +import { transaction_elements } from '@/constants/transactions'; +import RootStore from 'Stores/root-store'; +import { DBotStoreProvider, mockDBotStore } from '@/stores/__useDBotStore'; +import { mock_ws } from '../../utils/mock'; +import AppContent from '../app-content'; + +const mock_data = { + data: { + msg_type: 'proposal_open_contract', + proposal_open_contract: { status: 'close', contract_id: 22 }, + }, +}; +const mock_unsubscribe = jest.fn(); +jest.mock('react-toastify/dist/ReactToastify.css', () => jest.fn()); +jest.mock('@/external/bot-skeleton/scratch/dbot', () => jest.fn()); +jest.mock('@/external/bot-skeleton', () => ({ + ...jest.requireActual('@/external/bot-skeleton'), + api_base: { + api: { + onMessage: jest.fn(() => ({ + subscribe: jest.fn(callback => { + callback(mock_data); + return { + unsubscribe: mock_unsubscribe, + }; + }), + })), + }, + }, +})); +jest.mock('@/components/transaction-details', () => ({ + __esModule: true, + default: () =>

, +})); +jest.mock('@/components/audio', () => ({ + __esModule: true, + default: () =>
Audio
, +})); +jest.mock('@/components/bot-notification-messages', () => ({ + __esModule: true, + default: () =>
BotNotificationMessages
, +})); +jest.mock('../../pages/main', () => ({ + __esModule: true, + default: () =>
Dashboard
, +})); +jest.mock('@/components/network-toast-popup', () => ({ + __esModule: true, + default: () =>
NetworkToastPopup
, +})); +jest.mock('../../pages/bot-builder', () => ({ + __esModule: true, + default: () =>
BotBuilder
, +})); +jest.mock('@/components/bot-stopped', () => ({ + __esModule: true, + default: () =>
BotStopped
, +})); +jest.mock('@/components/route-prompt-dialog', () => ({ + __esModule: true, + default: () =>
RoutePromptDialog
, +})); + +window.Blockly = { + Colours: { RootBlock: {} }, + utils: { + genUid: jest.fn(() => 'test_uid'), + }, +}; +describe('AppContent', () => { + let wrapper: ({ children }: { children: JSX.Element }) => JSX.Element, mock_DBot_store: RootStore | undefined; + const mock_store = mockStore({ + common: { + server_time: moment(), + }, + }); + + beforeAll(() => { + mock_DBot_store = mockDBotStore(mock_store, mock_ws); + wrapper = ({ children }: { children: JSX.Element }) => ( + + + {children} + + + ); + }); + + it('should render loading initially', () => { + mock_store.client.is_logged_in = true; + render(, { + wrapper, + }); + expect(screen.getByTestId('dt_initial_loader')).toBeInTheDocument(); + }); + + it('should render Dashboard if user is not logged in', async () => { + mock_store.client.is_logged_in = false; + render(, { + wrapper, + }); + const dashboard = await screen.findByText('Dashboard'); + expect(dashboard).toBeInTheDocument(); + }); + + it('should settle open contracts if there is any', async () => { + mock_store.client.is_logged_in = true; + mock_store.client.loginid = 'cr1'; + + mock_DBot_store?.transactions?.recovered_transactions.push(11); + if (mock_DBot_store) + mock_DBot_store.transactions.elements = { + cr1: [ + { + type: transaction_elements.CONTRACT, + data: { + contract_id: 22, + is_completed: false, + }, + }, + ], + }; + + render(, { + wrapper, + }); + await waitFor(() => { + expect(mock_DBot_store?.transactions?.is_called_proposal_open_contract).toBeTruthy(); + }); + }); + + it('should unsubscribe message handler on component unmount', async () => { + mock_store.client.is_logged_in = false; + mock_DBot_store?.transactions?.recovered_transactions.push(11); + + if (mock_DBot_store) + mock_DBot_store.transactions.elements = { + cr1: [ + { + type: transaction_elements.CONTRACT, + data: { + contract_id: 22, + is_completed: false, + }, + }, + ], + }; + + const { container } = render(, { + wrapper, + }); + unmountComponentAtNode(container); + await waitFor(() => { + expect(mock_unsubscribe).toBeCalled(); + }); + }); + + it('should not render loading if user is offline', async () => { + mock_store.client.is_logged_in = true; + render(, { + wrapper, + }); + act(() => { + const goOffline = new window.Event('offline'); + window.dispatchEvent(goOffline); + }); + expect(screen.queryByTestId('dt_initial_loader')).not.toBeInTheDocument(); + }); +}); diff --git a/src/app/__tests__/app-main.spec.tsx b/src/app/__tests__/app-main.spec.tsx new file mode 100644 index 00000000..2da1befb --- /dev/null +++ b/src/app/__tests__/app-main.spec.tsx @@ -0,0 +1,53 @@ +import React from 'react'; +import moment from 'moment'; +import { mockStore } from '@deriv/stores'; +import { TStores } from '@deriv/stores/types'; +import { render } from '@testing-library/react'; +import { mock_ws } from '../../utils/mock'; +import App from '../app-main'; + +const root_store = { + ...mockStore({}), + common: { + ...mockStore({}).common, + server_time: moment(new Date()).utc(), + }, + client: { + ...mockStore({}).client, + is_landing_company_loaded: true, + is_logged_in: false, + }, +}; + +jest.mock('react-toastify/dist/ReactToastify.css', () => jest.fn()); +jest.mock('@/external/bot-skeleton/scratch/blockly', () => jest.fn()); +jest.mock('@/external/bot-skeleton/scratch/dbot', () => jest.fn()); +jest.mock('@/external/bot-skeleton/scratch/hooks/block_svg', () => jest.fn()); +jest.mock('@deriv/deriv-charts', () => ({ + setSmartChartsPublicPath: jest.fn(), +})); + +jest.mock('@deriv-com/ui', () => ({ + Loading: () =>
Loading...
, +})); + +describe('App', () => { + //mock for blockly + window.Blockly = { + Colours: { + RootBlock: {}, + }, + }; + + it('should render loader on app', async () => { + const { container } = render( + + ); + expect(container).toBeInTheDocument(); + }); +}); diff --git a/src/app/__tests__/app.spec.tsx b/src/app/__tests__/app.spec.tsx new file mode 100644 index 00000000..84b8a185 --- /dev/null +++ b/src/app/__tests__/app.spec.tsx @@ -0,0 +1,14 @@ +import React from 'react'; +import { render } from '@testing-library/react'; +import Bot from '../app'; + +jest.mock('@deriv-com/ui', () => ({ + Loading: () =>
Loading...
, +})); + +describe('Bot component', () => { + it('renders app-main using makeLazyLoader', async () => { + const { container } = await render(); + expect(container).toBeInTheDocument(); + }); +}); diff --git a/src/app/__tests__/dbot-providers.spec.tsx b/src/app/__tests__/dbot-providers.spec.tsx new file mode 100644 index 00000000..a50c7a76 --- /dev/null +++ b/src/app/__tests__/dbot-providers.spec.tsx @@ -0,0 +1,48 @@ +import React from 'react'; +import { mockStore, useStore } from '@deriv/stores'; +import { render, screen } from '@testing-library/react'; +import { mock_ws } from '../../utils/mock'; +import DBotProviders from '../dbot-providers'; + +jest.mock('@/external/bot-skeleton/scratch/blockly', () => jest.fn()); +jest.mock('@/external/bot-skeleton/scratch/dbot', () => ({ + saveRecentWorkspace: jest.fn(), + unHighlightAllBlocks: jest.fn(), +})); +jest.mock('@/external/bot-skeleton/scratch/hooks/block_svg', () => jest.fn()); +jest.mock('@deriv/deriv-charts', () => ({ + setSmartChartsPublicPath: jest.fn(), +})); + +const TestStoreComponent = () => { + const { common } = useStore(); + const { platform } = common; + return
{platform}
; +}; + +describe('DBotProviders', () => { + let wrapper: ({ children }: { children: JSX.Element }) => JSX.Element; + + beforeAll(() => { + const mock_store = mockStore({ common: { platform: 'ctrader' } }); + wrapper = ({ children }: { children: JSX.Element }) => ( + + {children} + + ); + }); + + it('should render DBotProviders with children', () => { + render(
Test
, { + wrapper, + }); + expect(screen.getByText('Test')).toBeInTheDocument(); + }); + + it('should access useStore platform value from component', () => { + render(, { + wrapper, + }); + expect(screen.getByText('ctrader')).toBeInTheDocument(); + }); +}); diff --git a/src/app/app-content.jsx b/src/app/app-content.jsx new file mode 100644 index 00000000..4088689d --- /dev/null +++ b/src/app/app-content.jsx @@ -0,0 +1,153 @@ +import React from 'react'; +import { ToastContainer } from 'react-toastify'; + +import { Loader } from '@deriv-com/ui'; + +import TransactionDetailsModal from '@/components/transaction-details'; +import { api_base, ApiHelpers, ServerTime } from '@/external/bot-skeleton'; +import { useStore } from '@/hooks/useStore'; +import GTM from '@/utils/gtm'; + +import Audio from '../components/audio'; +import BlocklyLoading from '../components/blockly-loading'; +import BotNotificationMessages from '../components/bot-notification-messages'; +import BotStopped from '../components/bot-stopped'; +import NetworkToastPopup from '../components/network-toast-popup'; +import RoutePromptDialog from '../components/route-prompt-dialog'; +import BotBuilder from '../pages/bot-builder'; +import Main from '../pages/main'; + +import '@/styles/mixins.scss'; +import './app.scss'; +import 'react-toastify/dist/ReactToastify.css'; +import '../components/bot-notification/bot-notification.scss'; + +const AppContent = () => { + const [is_loading, setIsLoading] = React.useState(true); + const RootStore = { + common: {}, + client: { + is_logged_in: false, + is_options_blocked: false, + account_settings: {}, + clients_country: '', + is_landing_company_loaded: false, + }, + ui: { + is_dark_mode_on: false, + }, + }; + const { common, client } = RootStore; + const DBotStores = useStore(); + const { app, transactions } = DBotStores; + const { showDigitalOptionsMaltainvestError } = app; + + // TODO: Remove this when connect is removed completely + const combinedStore = { ...DBotStores, core: { ...RootStore } }; + + const { recovered_transactions, recoverPendingContracts } = transactions; + const is_subscribed_to_msg_listener = React.useRef(false); + const msg_listener = React.useRef(null); + + const handleMessage = ({ data }) => { + if (data?.msg_type === 'proposal_open_contract' && !data?.error) { + const { proposal_open_contract } = data; + if ( + proposal_open_contract?.status !== 'open' && + !recovered_transactions?.includes(proposal_open_contract?.contract_id) + ) { + recoverPendingContracts(proposal_open_contract); + } + } + }; + + React.useEffect(() => { + // Listen for proposal open contract messages to check + // if there is any active contract from bot still running + if (api_base?.api && !is_subscribed_to_msg_listener.current) { + is_subscribed_to_msg_listener.current = true; + msg_listener.current = api_base.api?.onMessage()?.subscribe(handleMessage); + } + return () => { + if (is_subscribed_to_msg_listener.current && msg_listener.current) { + is_subscribed_to_msg_listener.current = false; + msg_listener.current.unsubscribe(); + } + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [api_base?.api]); + + //Do not remove this is for the bot-skeleton package to load blockly with the theme + // TODO: Need refactor + // React.useEffect(() => { + // setColors(is_dark_mode_on); + // }, [is_dark_mode_on]); + + React.useEffect(() => { + showDigitalOptionsMaltainvestError(client, common); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [client.is_options_blocked, client.account_settings.country_code, client.clients_country]); + + const init = () => { + GTM.init(combinedStore); + ServerTime.init(common); + app.setDBotEngineStores(combinedStore); + ApiHelpers.setInstance(app.api_helpers_store); + }; + + const changeActiveSymbolLoadingState = () => { + init(); + const { active_symbols } = ApiHelpers.instance; + active_symbols.retrieveActiveSymbols(true).then(() => { + setIsLoading(false); + }); + }; + + React.useEffect(() => { + init(); + setIsLoading(true); + if (!client.is_logged_in) { + changeActiveSymbolLoadingState(); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + // use is_landing_company_loaded to know got details of accounts to identify should show an error or not + if (client.is_landing_company_loaded) { + changeActiveSymbolLoadingState(); + } + + React.useEffect(() => { + const onDisconnectFromNetwork = () => { + setIsLoading(false); + }; + window.addEventListener('offline', onDisconnectFromNetwork); + return () => { + window.removeEventListener('offline', onDisconnectFromNetwork); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + console.log('test main content'); + + return !is_loading ? ( + + ) : ( + <> + +
+
+ + ); +}; + +export default AppContent; diff --git a/src/app/app.scss b/src/app/app.scss new file mode 100644 index 00000000..468ca76a --- /dev/null +++ b/src/app/app.scss @@ -0,0 +1,17 @@ +.bot { + --bot-content-height: calc(100vh - 140px); + --bot-content-width: calc(100vw - 366px); //run-panel is open by default + --drawer-content-height: calc(100vh - 394px); + --drawer-content-height-no-stat: calc(100vh - 233px); + --drawer-scroll-height: calc(100vh - 365px); + --drawer-content-height-mobile: calc(100% - 233px); + --tab-content-height: calc(100vh - 16.6rem); + --tab-content-height-mobile: calc(100vh - 12.6rem); + --zindex-drawer: 5; + --zindex-modal: 6; + --zindex-draggable-modal: 7; + --zindex-snackbar: 8; + &-dashboard { + background: var(--general-section-1); + } +} diff --git a/src/app/index.ts b/src/app/index.ts new file mode 100644 index 00000000..ee338bcf --- /dev/null +++ b/src/app/index.ts @@ -0,0 +1,3 @@ +import App from './app'; + +export default App; diff --git a/src/components/__tests__/bot-stopped.spec.tsx b/src/components/__tests__/bot-stopped.spec.tsx new file mode 100644 index 00000000..2935677d --- /dev/null +++ b/src/components/__tests__/bot-stopped.spec.tsx @@ -0,0 +1,78 @@ +import React from 'react'; +import { mockStore, StoreProvider } from '@deriv/stores'; +import { render, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import BotStopped from '@/components/bot-stopped'; +import { mock_ws } from '@/utils/mock'; +import RootStore from 'Stores/root-store'; +import { DBotStoreProvider, mockDBotStore } from '@/stores/__useDBotStore'; + +jest.mock('@/external/bot-skeleton/scratch/blockly', () => jest.fn()); +jest.mock('@/external/bot-skeleton/scratch/dbot', () => jest.fn()); +jest.mock('@/external/bot-skeleton/scratch/hooks/block_svg', () => jest.fn()); + +const mockEventListener = jest.fn(); + +describe('', () => { + let wrapper: ({ children }: { children: JSX.Element }) => JSX.Element, mock_DBot_store: RootStore | undefined; + + beforeEach(() => { + const mock_store = mockStore({}); + mock_DBot_store = mockDBotStore(mock_store, mock_ws); + mock_DBot_store?.dashboard?.setWebSocketState(false); + + wrapper = ({ children }: { children: JSX.Element }) => ( + + + {children} + + + ); + render(, { + wrapper, + }); + }); + + const originalLocation = global.location; + delete global.location; + global.location = { + ...originalLocation, + replace: jest.fn(), + reload: jest.fn(), + }; + + it('renders the BotStopped component', () => { + const dailog_title_element = screen.getByTestId('data-title'); + expect(dailog_title_element).toBeInTheDocument(); + }); + + it('should go to reports page on click of go to reports button', () => { + screen.getByText('Go to Reports').click(); + expect(global.location.replace).toHaveBeenCalledWith('reports/positions'); + }); + + it('should reload page on click of Back to Bot', () => { + screen.getByText('Back to Bot').click(); + expect(global.location.reload).toHaveBeenCalled(); + }); + + it('should reload page on click of x button', () => { + const svgCloseIcon = screen.getByTestId('data-close-button'); + userEvent.click(svgCloseIcon); + expect(global.location.reload).toHaveBeenCalled(); + }); + + it('should render onClickClose on press of enter keydown', () => { + document.addEventListener('keydown', mockEventListener); + const close_button = screen.getByTestId('data-close-button'); + userEvent.type(close_button, '{Enter}'); + expect(mockEventListener).toHaveBeenCalledWith(expect.objectContaining({ key: 'Enter', code: 'Enter' })); + }); + + it('should render onClickClose on press of enter keydown', () => { + document.addEventListener('keydown', mockEventListener); + const close_button = screen.getByTestId('data-close-button'); + userEvent.type(close_button, '{Esc}'); + expect(mockEventListener).not.toHaveBeenCalledWith(expect.objectContaining({ key: 'Enter', code: 'Enter' })); + }); +}); diff --git a/src/components/audio/__tests__/audio.spec.tsx b/src/components/audio/__tests__/audio.spec.tsx new file mode 100644 index 00000000..a1c73bac --- /dev/null +++ b/src/components/audio/__tests__/audio.spec.tsx @@ -0,0 +1,31 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import Audio from '../audio'; + +describe('Audio', () => { + it('should render Audio', () => { + const { container } = render(
+ ); + } + default: + return null; + } + }) + )} + + + ); +}; + +const Flyout = observer(() => { + const { flyout, flyout_help } = useStore(); + const { gtm } = useStore(); + const { active_helper, initFlyoutHelp, setHelpContent } = flyout_help; + const { + flyout_content, + flyout_width, + is_help_content, + is_search_flyout, + is_visible, + onMount, + onUnmount, + search_term, + selected_category, + first_get_variable_block_index, + } = flyout; + const { pushDataLayer } = gtm; + + React.useEffect(() => { + onMount(); + return () => onUnmount(); + }, [onMount, onUnmount]); + + if (is_visible && is_search_flyout) { + pushDataLayer({ event: 'dbot_search_results', value: true }); + } + + const total_result = Object.keys(flyout_content).length; + const is_empty = total_result === 0; + + console.log('test flyout_content', flyout_content); + + return ( + is_visible && ( +
+ {is_search_flyout && !is_help_content && ( + + )} + {is_help_content ? ( + + ) : ( + + )} +
+ ) + ); +}); + +export default Flyout; diff --git a/src/components/flyout/help-contents/__tests__/flyout-help-base.spec.tsx b/src/components/flyout/help-contents/__tests__/flyout-help-base.spec.tsx new file mode 100644 index 00000000..9073b78e --- /dev/null +++ b/src/components/flyout/help-contents/__tests__/flyout-help-base.spec.tsx @@ -0,0 +1,244 @@ +import React from 'react'; +import { configure } from 'mobx'; +import { mockStore, StoreProvider } from '@deriv/stores'; +import { render, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import { mock_ws } from '@/utils/mock'; +import RootStore from 'Stores/root-store'; +import { DBotStoreProvider, mockDBotStore } from '@/stores/__useDBotStore'; +import HelpBase from '../flyout-help-base'; + +configure({ safeDescriptors: false }); + +jest.mock('@/external/bot-skeleton/scratch/blockly', () => jest.fn()); +jest.mock('@/external/bot-skeleton/scratch/dbot', () => jest.fn()); +jest.mock('@/external/bot-skeleton/scratch/hooks/block_svg', () => jest.fn()); + +const mock_help_content_config = { + trade_definition: [ + { + type: 'text', + }, + { + type: 'text', + }, + { + type: 'block', + }, + ], + variables_set: [ + { + type: 'text', + }, + { + type: 'block', + }, + { + type: 'image', + url: '/media/create_variable.jpg', + }, + ], + controls_for: [ + { + type: 'text', + }, + { + type: 'block', + }, + { + type: 'video', + url: '/media/set_variable.mp4', + }, + ], + trade_again: [ + { + type: 'text', + }, + { + type: 'example', + example_id: 'test_example_id', + }, + ], + sample: [{}], +}; + +const mock_example = [ + { + id: 'test_example_id', + childNodes: [{}], + }, +]; + +jest.mock('../../../../utils/help-content/help-content.config', () => ({ + ...jest.requireActual('../../../../utils/help-content/help-content.config'), + help_content_config: () => mock_help_content_config, +})); + +const mockAddBlockNode = jest.fn(); +window.Blockly = { + inject: () => ({ + isFlyout: true, + }), + Xml: { + domToBlock: () => ({ + getHeightWidth: () => '200px', + isInFlyout: true, + moveBy: () => ({}), + getSvgRoot: () => ({}), + }), + }, + bindEventWithChecks_: () => ({}), + bindEvent_: () => ({}), + svgResize: () => ({}), + derivWorkspace: { addBlockNode: mockAddBlockNode }, +}; + +const mock_help_string = { + text: [ + "This block is mandatory. It's added to your strategy by default when you create new strategy. You can not add more than one copy of this block to the canvas.", + ], + image: '/media/create_variable.jpg', + video: '/media/set_variable.mp4', + example: 'trade_again', +}; + +describe('', () => { + let wrapper: ({ children }: { children: JSX.Element }) => JSX.Element, mock_DBot_store: RootStore | undefined; + + beforeEach(() => { + const mock_store = mockStore({}); + mock_DBot_store = mockDBotStore(mock_store, mock_ws); + + wrapper = ({ children }: { children: JSX.Element }) => ( + + + {children} + + + ); + }); + + it('should render the HelpBase component', () => { + const { container } = render(, { wrapper }); + expect(container).toBeInTheDocument(); + }); + + it('should render the previous button', () => { + if (mock_DBot_store) { + mock_DBot_store.flyout_help.should_previous_disable = true; + } + + render(, { wrapper }); + + const previous = screen.getByText('Previous'); + expect(previous).toBeInTheDocument(); + expect(previous).toHaveStyle('--text-size: var(--text-size-xs);'); + }); + + it('should render the next button', () => { + if (mock_DBot_store) { + mock_DBot_store.flyout_help.should_next_disable = true; + } + + render(, { wrapper }); + + const next = screen.getByText('Next'); + expect(next).toBeInTheDocument(); + expect(next).toHaveStyle('--text-size: var(--text-size-xs);'); + }); + + it('should render Text type content', () => { + if (mock_DBot_store) { + mock_DBot_store.flyout_help.help_string = mock_help_string; + mock_DBot_store.flyout_help.block_type = 'trade_definition'; + } + + render(, { wrapper }); + expect(screen.getByText(mock_help_string.text[0])).toBeInTheDocument(); + }); + + it('should render Image type content', () => { + if (mock_DBot_store) { + mock_DBot_store.flyout_help.help_string = mock_help_string; + mock_DBot_store.flyout_help.block_type = 'variables_set'; + } + + render(, { wrapper }); + + const add = screen.getByText('Add'); + userEvent.click(add); + expect(mockAddBlockNode).toBeCalled(); + expect(screen.getByRole('img')).toHaveAttribute('src', mock_help_string.image); + }); + + it('should render Video type content', () => { + if (mock_DBot_store) { + mock_DBot_store.flyout_help.help_string = mock_help_string; + mock_DBot_store.flyout_help.block_type = 'controls_for'; + } + + render(, { wrapper }); + expect(screen.getByTestId('dt_flyout_video_container')).toBeInTheDocument(); + }); + + it('should render Example type content', () => { + if (mock_DBot_store) { + mock_DBot_store.flyout_help.help_string = mock_help_string; + mock_DBot_store.flyout_help.block_type = 'trade_again'; + mock_DBot_store.flyout_help.examples = mock_example; + } + + render(, { wrapper }); + expect(screen.getByTestId('flyout-block-workspace')).toBeInTheDocument(); + }); + + it('should render null if no example type content', () => { + if (mock_DBot_store) { + mock_DBot_store.flyout_help.help_string = mock_help_string; + mock_DBot_store.flyout_help.block_type = 'trade_again'; + mock_DBot_store.flyout_help.examples = []; + } + + render(, { wrapper }); + expect(screen.queryByTestId('flyout-block-workspace')).not.toBeInTheDocument(); + }); + + it('should render null if no type is available ', () => { + if (mock_DBot_store) { + mock_DBot_store.flyout_help.block_type = 'sample'; + } + + render(, { wrapper }); + expect(screen.queryByTestId('flyout-block-workspace')).not.toBeInTheDocument(); + }); + + it('should render onSequenceClick to be called on the next button', () => { + const mockOnSequenceClick = jest.fn(); + if (mock_DBot_store) { + mock_DBot_store.flyout_help.help_string = mock_help_string; + mock_DBot_store.flyout_help.block_type = 'trade_definition'; + mock_DBot_store.flyout_help.onSequenceClick = mockOnSequenceClick; + } + + render(, { wrapper }); + + const next = screen.getByText('Next'); + userEvent.click(next); + expect(mockOnSequenceClick).toBeCalled(); + }); + + it('should render onSequenceClick to be called on the previous button', () => { + const mockOnSequenceClick = jest.fn(); + if (mock_DBot_store) { + mock_DBot_store.flyout_help.help_string = mock_help_string; + mock_DBot_store.flyout_help.block_type = 'trade_definition'; + mock_DBot_store.flyout_help.onSequenceClick = mockOnSequenceClick; + } + + render(, { wrapper }); + + const previous = screen.getByText('Previous'); + userEvent.click(previous); + expect(mockOnSequenceClick).toBeCalled(); + }); +}); diff --git a/src/components/flyout/help-contents/__tests__/flyout-img.spec.tsx b/src/components/flyout/help-contents/__tests__/flyout-img.spec.tsx new file mode 100644 index 00000000..94cf9640 --- /dev/null +++ b/src/components/flyout/help-contents/__tests__/flyout-img.spec.tsx @@ -0,0 +1,51 @@ +import React from 'react'; +import { render, screen, within } from '@testing-library/react'; +import FlyoutImage from '../flyout-img'; + +describe('FlyoutImage', () => { + const mocked_props = { + url: 'https://example.com/image.jpg', + width: '100px', + }; + + beforeEach(() => { + render(); + }); + + it('Should render the FlyoutImage component', () => { + const flyout_image = screen.getByTestId('dt_flyout_image'); + + expect(flyout_image).toBeInTheDocument(); + }); + + it('FlyoutImage component should consists the image', () => { + const flyout_image = screen.getByTestId('dt_flyout_image'); + + const img = within(flyout_image).getByRole('img'); + expect(img).toBeInTheDocument(); + }); + + it('Renders the image with given url', () => { + const flyout_image = screen.getByTestId('dt_flyout_image'); + const img = within(flyout_image).getByRole('img'); + + expect(flyout_image).toBeInTheDocument(); + expect(img).toBeInTheDocument(); + expect(img).toHaveAttribute('src', 'https://example.com/image.jpg'); + }); + + it('Applies the width style when provided', () => { + const flyout_image = screen.getByTestId('dt_flyout_image'); + + const img = within(flyout_image).getByRole('img'); + expect(img).toHaveStyle({ width: '100px' }); + }); + + it('Has the correct class names', () => { + const flyout_image = screen.getByTestId('dt_flyout_image'); + const img = within(flyout_image).getByRole('img'); + + expect(flyout_image).toHaveClass('flyout__item'); + expect(img).toHaveClass('flyout__image'); + }); +}); diff --git a/src/components/flyout/help-contents/__tests__/flyout-text.spec.tsx b/src/components/flyout/help-contents/__tests__/flyout-text.spec.tsx new file mode 100644 index 00000000..34747148 --- /dev/null +++ b/src/components/flyout/help-contents/__tests__/flyout-text.spec.tsx @@ -0,0 +1,23 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import FlyoutText from '../flyout-text'; + +describe('FlyoutText', () => { + const sampleText = 'Sample text for testing'; + + beforeEach(() => { + render(); + }); + + it('renders the provided text', () => { + const renderedText = screen.getByText(sampleText); + + expect(renderedText).toBeInTheDocument(); + }); + + it('renders with the correct styles', () => { + const renderedText = screen.getByText(sampleText); + + expect(renderedText).toHaveStyle('lineHeight: 1.3em'); + }); +}); diff --git a/src/components/flyout/help-contents/__tests__/flyout-video.spec.tsx b/src/components/flyout/help-contents/__tests__/flyout-video.spec.tsx new file mode 100644 index 00000000..bc4cb925 --- /dev/null +++ b/src/components/flyout/help-contents/__tests__/flyout-video.spec.tsx @@ -0,0 +1,38 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import FlyoutVideo from '../flyout-video'; + +describe('FlyoutVideo', () => { + const sampleURL = 'https://www.example.com/sample-video'; + + beforeEach(() => { + render(); + }); + + it('Renders the iframe container', async () => { + const iframeElementContainer = screen.getByTestId('dt_flyout_video_container'); + + expect(iframeElementContainer).toBeInTheDocument(); + }); + + it('Renders the iframe with the provided URL', async () => { + const iframeElement = screen.getByTestId('dt_flyout_video'); + + expect(iframeElement).toHaveAttribute('src', sampleURL); + }); + + it('Renders the iframe with the correct attributes', () => { + const iframeElement = screen.getByTestId('dt_flyout_video'); + + expect(iframeElement).toHaveAttribute('frameBorder', '0'); + expect(iframeElement).toHaveAttribute('allow', 'accelerometer; encrypted-media; gyroscope; picture-in-picture'); + expect(iframeElement).toHaveAttribute('allowFullScreen', ''); + expect(iframeElement).toHaveAttribute('width', '100%'); + }); + + it('Renders the iframe with the correct class', () => { + const iframeElement = screen.getByTestId('dt_flyout_video'); + + expect(iframeElement).toHaveClass('flyout__video'); + }); +}); diff --git a/src/components/flyout/help-contents/flyout-help-base.tsx b/src/components/flyout/help-contents/flyout-help-base.tsx new file mode 100644 index 00000000..077774fd --- /dev/null +++ b/src/components/flyout/help-contents/flyout-help-base.tsx @@ -0,0 +1,127 @@ +import React from 'react'; +import { observer } from 'mobx-react-lite'; + +import { Button, Text } from '@deriv-com/ui'; + +import { useStore } from '@/hooks/useStore'; +import { help_content_config, help_content_types } from '@/utils/help-content/help-content.config'; +import { Icon, localize } from '@/utils/tmp/dummy'; + +import FlyoutBlock from '../flyout-block'; + +import FlyoutImage from './flyout-img'; +import FlyoutText from './flyout-text'; +import FlyoutVideo from './flyout-video'; + +const HelpBase = observer(() => { + const { flyout, flyout_help } = useStore(); + const { + block_node, + block_type, + examples, + help_string, + onBackClick, + onSequenceClick, + should_next_disable, + should_previous_disable, + title, + } = flyout_help; + const { is_search_flyout } = flyout; + + const block_help_component = help_string && help_content_config(__webpack_public_path__)[block_type]; + let text_count = 0; + + return ( + +
+ + + {title} + +
+
+
+
+ {block_help_component && + block_help_component.map((component, index) => { + const { type, width, url, example_id } = component; + const { text } = help_string; + const example_node = examples.find(example => example.id === example_id); + switch (type) { + case help_content_types.TEXT: + if (text_count < text.length) { + return ; + } + return null; + case help_content_types.VIDEO: + return ; + case help_content_types.IMAGE: + return ; + case help_content_types.BLOCK: { + return ; + } + case help_content_types.EXAMPLE: + if (example_node) { + return ( + + ); + } + return null; + default: + return null; + } + })} +
+ {!is_search_flyout && !(should_previous_disable && should_next_disable) && ( +
+
+ )} +
+ ); +}); + +export default HelpBase; diff --git a/src/components/flyout/help-contents/flyout-img.tsx b/src/components/flyout/help-contents/flyout-img.tsx new file mode 100644 index 00000000..3c0d418f --- /dev/null +++ b/src/components/flyout/help-contents/flyout-img.tsx @@ -0,0 +1,19 @@ +import React from 'react'; + +type TFlyoutImageProps = { + width: string; + url: string; +}; + +const FlyoutImage = (props: TFlyoutImageProps) => { + const { width, url } = props; + const style = { width }; + + return ( +
+ +
+ ); +}; + +export default FlyoutImage; diff --git a/src/components/flyout/help-contents/flyout-text.tsx b/src/components/flyout/help-contents/flyout-text.tsx new file mode 100644 index 00000000..9d1805d7 --- /dev/null +++ b/src/components/flyout/help-contents/flyout-text.tsx @@ -0,0 +1,14 @@ +import React from 'react'; +import { Text } from '@deriv-com/ui'; + +const FlyoutText = (props: { text: string }) => { + const { text } = props; + + return ( + + {text} + + ); +}; + +export default FlyoutText; diff --git a/src/components/flyout/help-contents/flyout-video.tsx b/src/components/flyout/help-contents/flyout-video.tsx new file mode 100644 index 00000000..2fb7be50 --- /dev/null +++ b/src/components/flyout/help-contents/flyout-video.tsx @@ -0,0 +1,17 @@ +import React from 'react'; + +const FlyoutVideo = (props: { url: string }) => ( +
+