доп.тест

This commit is contained in:
Dima 2026-05-16 21:06:11 +03:00
parent 303da5bdc5
commit cfa0475158
5 changed files with 264 additions and 19 deletions

View File

@ -0,0 +1,19 @@
Структура;Режим;Операция;Замер1(с);Замер2(с);Замер3(с);Замер4(с);Замер5(с);Среднее(с)
linked_list;случайный;вставка;4.743085900001461;4.702243700005056;4.426778699998977;4.3052682999987155;4.301903599996876;4.495856040000217
linked_list;случайный;поиск;0.040070499999274034;0.03833870000380557;0.038309099996695295;0.038068900001235306;0.037999300002411474;0.03855730000068434
linked_list;случайный;удаление;0.03337140000076033;0.03520829999615671;0.03318629999557743;0.03670069999498082;0.03511889999936102;0.03471711999736726
hash_table;случайный;вставка;0.054787300003226846;0.038778399997681845;0.038185400000656955;0.03906660000211559;0.040834699997503776;0.042330480000237
hash_table;случайный;поиск;0.00048270000115735456;0.0003393000006326474;0.00034130000130971894;0.0003389000048628077;0.0003389000048628077;0.00036822000256506724
hash_table;случайный;удаление;0.00018000000272877514;0.0001720000000204891;0.0001720000000204891;0.0001764999979059212;0.0001747999995131977;0.00017506000003777444
bst;случайный;вставка;0.04329969999525929;0.04011429999809479;0.0377946999942651;0.03973660000337986;0.03843010000127833;0.03987507999845548
bst;случайный;поиск;0.0005353999949875288;0.0004243000003043562;0.00040499999886378646;0.00041709999641170725;0.00041870000131893903;0.00044009999837726357
bst;случайный;удаление;0.08770270000240998;0.08755029999883845;0.09487290000106441;0.08564219999971101;0.08784590000141179;0.08872280000068714
linked_list;отсортированный;вставка;5.82706280000275;5.942067100004351;6.058909300001687;5.410613899999589;5.423316100001102;5.732393840001896
linked_list;отсортированный;поиск;0.05126659999950789;0.04912999999942258;0.04894649999914691;0.048823999997694045;0.0484264999977313;0.04931871999870054
linked_list;отсортированный;удаление;0.03424879999511177;0.03367250000155764;0.03369569999631494;0.03390580000268528;0.034035600001516286;0.033911679999437186
hash_table;отсортированный;вставка;0.03484389999357518;0.03386820000014268;0.033041399998182897;0.03465739999955986;0.035284899997350294;0.03433915999776218
hash_table;отсортированный;поиск;0.0005273999995552003;0.00044519999937620014;0.00037960000190651044;0.000374099996406585;0.0003724999987753108;0.00041975999920396134
hash_table;отсортированный;удаление;0.00017210000078193843;0.00017210000078193843;0.00017300000035902485;0.00017389999993611127;0.0001722999950288795;0.00017267999937757849
bst;отсортированный;вставка;17.43330440000136;17.245424400003685;17.230704699999478;17.4216249999954;17.25258659999963;17.31672901999991
bst;отсортированный;поиск;0.15691709999373415;0.15601930000411812;0.15765989999636076;0.15630209999653744;0.1590829000051599;0.15719625999918208
bst;отсортированный;удаление;0.08944690000498667;0.086433999997098;0.08745249999628868;0.08608390000154031;0.09040470000036294;0.08796440000005532
1 Структура Режим Операция Замер1(с) Замер2(с) Замер3(с) Замер4(с) Замер5(с) Среднее(с)
2 linked_list случайный вставка 4.743085900001461 4.702243700005056 4.426778699998977 4.3052682999987155 4.301903599996876 4.495856040000217
3 linked_list случайный поиск 0.040070499999274034 0.03833870000380557 0.038309099996695295 0.038068900001235306 0.037999300002411474 0.03855730000068434
4 linked_list случайный удаление 0.03337140000076033 0.03520829999615671 0.03318629999557743 0.03670069999498082 0.03511889999936102 0.03471711999736726
5 hash_table случайный вставка 0.054787300003226846 0.038778399997681845 0.038185400000656955 0.03906660000211559 0.040834699997503776 0.042330480000237
6 hash_table случайный поиск 0.00048270000115735456 0.0003393000006326474 0.00034130000130971894 0.0003389000048628077 0.0003389000048628077 0.00036822000256506724
7 hash_table случайный удаление 0.00018000000272877514 0.0001720000000204891 0.0001720000000204891 0.0001764999979059212 0.0001747999995131977 0.00017506000003777444
8 bst случайный вставка 0.04329969999525929 0.04011429999809479 0.0377946999942651 0.03973660000337986 0.03843010000127833 0.03987507999845548
9 bst случайный поиск 0.0005353999949875288 0.0004243000003043562 0.00040499999886378646 0.00041709999641170725 0.00041870000131893903 0.00044009999837726357
10 bst случайный удаление 0.08770270000240998 0.08755029999883845 0.09487290000106441 0.08564219999971101 0.08784590000141179 0.08872280000068714
11 linked_list отсортированный вставка 5.82706280000275 5.942067100004351 6.058909300001687 5.410613899999589 5.423316100001102 5.732393840001896
12 linked_list отсортированный поиск 0.05126659999950789 0.04912999999942258 0.04894649999914691 0.048823999997694045 0.0484264999977313 0.04931871999870054
13 linked_list отсортированный удаление 0.03424879999511177 0.03367250000155764 0.03369569999631494 0.03390580000268528 0.034035600001516286 0.033911679999437186
14 hash_table отсортированный вставка 0.03484389999357518 0.03386820000014268 0.033041399998182897 0.03465739999955986 0.035284899997350294 0.03433915999776218
15 hash_table отсортированный поиск 0.0005273999995552003 0.00044519999937620014 0.00037960000190651044 0.000374099996406585 0.0003724999987753108 0.00041975999920396134
16 hash_table отсортированный удаление 0.00017210000078193843 0.00017210000078193843 0.00017300000035902485 0.00017389999993611127 0.0001722999950288795 0.00017267999937757849
17 bst отсортированный вставка 17.43330440000136 17.245424400003685 17.230704699999478 17.4216249999954 17.25258659999963 17.31672901999991
18 bst отсортированный поиск 0.15691709999373415 0.15601930000411812 0.15765989999636076 0.15630209999653744 0.1590829000051599 0.15719625999918208
19 bst отсортированный удаление 0.08944690000498667 0.086433999997098 0.08745249999628868 0.08608390000154031 0.09040470000036294 0.08796440000005532

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View File

@ -0,0 +1,245 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "7cbca316",
"metadata": {},
"outputs": [],
"source": [
"{\n",
" \"cells\": [\n",
" {\n",
" \"cell_type\": \"markdown\",\n",
" \"id\": \"start\",\n",
" \"metadata\": {},\n",
" \"source\": [\n",
" \"# Отчёт по лабораторной работе\\n\",\n",
" \"## Тема: Сравнение производительности структур данных для телефонного справочника\\n\",\n",
" \"\\n\",\n",
" \"---\"\n",
" ]\n",
" },\n",
" {\n",
" \"cell_type\": \"markdown\",\n",
" \"id\": \"goal\",\n",
" \"metadata\": {},\n",
" \"source\": [\n",
" \"## 1. Цель работы\\n\",\n",
" \"\\n\",\n",
" \"Реализовать три различные структуры данных «с нуля», применить их для хранения записей телефонного справочника и экспериментально сравнить производительность основных операций (вставка, поиск, удаление).\\n\",\n",
" \"\\n\",\n",
" \"---\"\n",
" ]\n",
" },\n",
" {\n",
" \"cell_type\": \"markdown\",\n",
" \"id\": \"conditions\",\n",
" \"metadata\": {},\n",
" \"source\": [\n",
" \"## 2. Условия эксперимента\\n\",\n",
" \"\\n\",\n",
" \"| Параметр | Значение |\\n\",\n",
" \"|----------|----------|\\n\",\n",
" \"| Общее число записей | 10 000 |\\n\",\n",
" \"| Каждый замер повторялся | 5 раз |\\n\",\n",
" \"| Количество существующих записей для поиска | 100 |\\n\",\n",
" \"| Количество несуществующих записей для поиска | 10 |\\n\",\n",
" \"| Количество элементов для удаления | 50 |\\n\",\n",
" \"| Размер хеш-таблицы | 2003 (простое число) |\\n\",\n",
" \"| Режимы тестирования | Случайный / Отсортированный |\\n\",\n",
" \"\\n\",\n",
" \"---\"\n",
" ]\n",
" },\n",
" {\n",
" \"cell_type\": \"markdown\",\n",
" \"id\": \"graphs\",\n",
" \"metadata\": {},\n",
" \"source\": [\n",
" \"## 3. Практические графики\\n\",\n",
" \"\\n\",\n",
" \"### Информация о тестировании\\n\",\n",
" \"- Общее число записей: 10 000\\n\",\n",
" \"- Каждый замер повторялся: 5 раз\\n\",\n",
" \"- Количество существующих записей для случайного поиска: 100\\n\",\n",
" \"- Количество несуществующих записей для поиска: 10\\n\",\n",
" \"- Количество элементов для удаления: 50\\n\",\n",
" \"\\n\",\n",
" \"![График вставки](graphs.png)\\n\",\n",
" \"\\n\",\n",
" \"**Рис. 1 Тестирование вставки (логарифмическая шкала)**\\n\",\n",
" \"\\n\",\n",
" \"---\"\n",
" ]\n",
" },\n",
" {\n",
" \"cell_type\": \"markdown\",\n",
" \"id\": \"analysis_bst\",\n",
" \"metadata\": {},\n",
" \"source\": [\n",
" \"## 4. Анализ результатов\\n\",\n",
" \"\\n\",\n",
" \"### Как порядок входных данных влияет на скорость вставки в BST (деградация до O(n) на отсортированных данных)?\\n\",\n",
" \"\\n\",\n",
" \"По определению, при вставке отсортированных данных, структура бинарного дерева поиска вырождается в связный список.\\n\",\n",
" \"\\n\",\n",
" \"**Результаты тестирования:**\\n\",\n",
" \"- На случайных данных: время вставки ~0.037 секунд\\n\",\n",
" \"- На отсортированных данных: время вставки ~18.34 секунд (деградация в ~470 раз!)\\n\",\n",
" \"\\n\",\n",
" \"Заметим, что при случайных данных скорость вставки в бинарное дерево почти лишь немного уступает по скорости хеш-таблице. При отсортированных данных дерево фактически превращается в связный список, и из-за рекурсивной реализации вставки бинарное дерево становится даже медленнее связного списка.\\n\",\n",
" \"\\n\",\n",
" \"---\"\n",
" ]\n",
" },\n",
" {\n",
" \"cell_type\": \"markdown\",\n",
" \"id\": \"analysis_hash\",\n",
" \"metadata\": {},\n",
" \"source\": [\n",
" \"### Почему хеш-таблица почти не чувствительна к порядку?\\n\",\n",
" \"\\n\",\n",
" \"Хеш-таблица не чувствительна к порядку данных, так как:\\n\",\n",
" \"1. Использует для распределения элементов хеш-значения данных (сложность операции одинакова для любых однотипных данных)\\n\",\n",
" \"2. Хеш-функция равномерно распределяет ключи по корзинам независимо от их порядка\\n\",\n",
" \"3. Вставка в конкретную корзину не зависит от соседних элементов\\n\",\n",
" \"\\n\",\n",
" \"**Экспериментальное подтверждение:**\\n\",\n",
" \"- Случайный порядок: вставка = 0.0369 сек, поиск = 0.000355 сек\\n\",\n",
" \"- Отсортированный порядок: вставка = 0.0356 сек, поиск = 0.000380 сек\\n\",\n",
" \"\\n\",\n",
" \"Разница незначительна и находится в пределах погрешности измерений.\\n\",\n",
" \"\\n\",\n",
" \"---\"\n",
" ]\n",
" },\n",
" {\n",
" \"cell_type\": \"markdown\",\n",
" \"id\": \"analysis_list\",\n",
" \"metadata\": {},\n",
" \"source\": [\n",
" \"### Почему связный список всегда медленен при поиске?\\n\",\n",
" \"\\n\",\n",
" \"Операция поиска в связном списке имеет линейную сложность **O(n)** независимо от порядка данных, так как:\\n\",\n",
" \"- Нет индексов для прямого доступа\\n\",\n",
" \"- Нет сортировки, позволяющей применять бинарный поиск\\n\",\n",
" \"- Приходится последовательно перебирать все элементы до найденного\\n\",\n",
" \"\\n\",\n",
" \"| Структура | Сложность поиска | Время поиска (случайный) |\\n\",\n",
" \"|-----------|-----------------|--------------------------|\\n\",\n",
" \"| Связный список | O(n) | 0.0427 сек |\\n\",\n",
" \"| Хеш-таблица | O(1) средняя | 0.000355 сек |\\n\",\n",
" \"| BST (случайный) | O(log n) | 0.000527 сек |\\n\",\n",
" \"\\n\",\n",
" \"---\"\n",
" ]\n",
" },\n",
" {\n",
" \"cell_type\": \"markdown\",\n",
" \"id\": \"analysis_delete\",\n",
" \"metadata\": {},\n",
" \"source\": [\n",
" \"### Как удаление работает в каждой структуре?\\n\",\n",
" \"\\n\",\n",
" \"#### Связный список\\n\",\n",
" \"Находим элемент перед удаляемым элементом и заменяем его поле `next` на `next.next`:\\n\",\n",
" \"```python\\n\",\n",
" \"current = head\\n\",\n",
" \"while current['next'] is not None:\\n\",\n",
" \" if current['next']['name'] == name:\\n\",\n",
" \" current['next'] = current['next']['next']\\n\",\n",
" \" return head\\n\",\n",
" \" current = current['next']\\n\",\n",
" \"```\\n\",\n",
" \"\\n\",\n",
" \"#### Двоичное дерево поиска\\n\",\n",
" \"После того, как мы нашли узел, который необходимо удалить, возможны три случая:\\n\",\n",
" \"\\n\",\n",
" \"**Случай 1:** У удаляемого узла нет детей → просто удаляем узел.\\n\",\n",
" \"\\n\",\n",
" \"**Случай 2:** У удаляемого узла есть только один ребёнок → ребёнок занимает место удалённого узла.\\n\",\n",
" \"\\n\",\n",
" \"**Случай 3:** У удаляемого узла есть оба ребёнка → находим минимальный элемент в правом поддереве (самый левый узел) и заменяем им удаляемый узел.\\n\",\n",
" \"\\n\",\n",
" \"#### Хеш-таблица\\n\",\n",
" \"1. Вычисляем хеш-индекс: `index = hash_func(name, len(buckets))`\\n\",\n",
" \"2. Находим нужную корзину: `buckets[index]`\\n\",\n",
" \"3. Удаляем элемент из связного списка в этой корзине\\n\",\n",
" \"\\n\",\n",
" \"**Сравнение времени удаления:**\\n\",\n",
" \"\\n\",\n",
" \"| Структура | Время удаления (случайный) | Сложность |\\n\",\n",
" \"|-----------|---------------------------|-----------|\\n\",\n",
" \"| Связный список | 0.0341 сек | O(n) |\\n\",\n",
" \"| Хеш-таблица | 0.00018 сек | O(1) средняя |\\n\",\n",
" \"| BST | 0.0793 сек | O(log n) средняя |\\n\",\n",
" \"\\n\",\n",
" \"---\"\n",
" ]\n",
" },\n",
" {\n",
" \"cell_type\": \"markdown\",\n",
" \"id\": \"conclusion\",\n",
" \"metadata\": {},\n",
" \"source\": [\n",
" \"## 5. Вывод\\n\",\n",
" \"\\n\",\n",
" \"Мы реализовали и протестировали три различные структуры хранения данных: связный список, хеш-таблицу и двоичное дерево поиска. Сравнили скорость операций вставки, удаления и поиска для каждой структуры.\\n\",\n",
" \"\\n\",\n",
" \"### Итоговая таблица производительности (случайный порядок):\\n\",\n",
" \"\\n\",\n",
" \"| Структура | Вставка (сек) | Поиск (сек) | Удаление (сек) |\\n\",\n",
" \"|-----------|---------------|-------------|----------------|\\n\",\n",
" \"| Связный список | 4.6031 | 0.0427 | 0.0341 |\\n\",\n",
" \"| Хеш-таблица | **0.0369** | **0.00036** | **0.00018** |\\n\",\n",
" \"| BST | 0.0369 | 0.00053 | 0.0793 |\\n\",\n",
" \"\\n\",\n",
" \"### Рекомендации по выбору структуры данных:\\n\",\n",
" \"\\n\",\n",
" \"1. **Хеш-таблица** лучший выбор для телефонного справочника:\\n\",\n",
" \" - Не важен порядок хранения и извлечения данных\\n\",\n",
" \" - Требуется максимальная скорость поиска и вставки\\n\",\n",
" \" - Результат: **победитель по всем параметрам**\\n\",\n",
" \"\\n\",\n",
" \"2. **Двоичное дерево поиска** выбираем, если:\\n\",\n",
" \" - Нужно хранить данные с возможностью быстрого отсортированного обхода\\n\",\n",
" \" - Данные поступают в случайном порядке (иначе будет деградация)\\n\",\n",
" \" - Можно использовать сбалансированную версию (AVL, красно-чёрное)\\n\",\n",
" \"\\n\",\n",
" \"3. **Связный список** выбираем, если:\\n\",\n",
" \" - Нужно хранить данные в порядке поступления (очередь, стек)\\n\",\n",
" \" - Объём данных очень маленький (< 100 записей)\\n\",\n",
" \" - Простота реализации важнее производительности\\n\",\n",
" \"\\n\",\n",
" \"---\\n\",\n",
" \"\\n\",\n",
" \"**Заключение:** Для реализации телефонного справочника оптимальнее всего использовать **хеш-таблицу**, так как она обеспечивает наилучшую производительность для всех операций и не чувствительна к порядку входных данных.\"\n",
" ]\n",
" }\n",
" ],\n",
" \"metadata\": {\n",
" \"kernelspec\": {\n",
" \"display_name\": \"Python 3\",\n",
" \"language\": \"python\",\n",
" \"name\": \"python3\"\n",
" },\n",
" \"language_info\": {\n",
" \"name\": \"python\",\n",
" \"version\": \"3.14.0\"\n",
" }\n",
" },\n",
" \"nbformat\": 4,\n",
" \"nbformat_minor\": 5\n",
"}"
]
}
],
"metadata": {
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

View File

@ -1,19 +0,0 @@
Структура;Режим;Операция;Замер1(с);Замер2(с);Замер3(с);Замер4(с);Замер5(с);Среднее(с)
linked_list;случайный;вставка;5.503300700000182;5.004083100000571;4.882084700000632;4.881827499999417;4.890130499999941;5.032285300000149
linked_list;случайный;поиск;0.05034929999965243;0.04795749999993859;0.046004300000277;0.04418989999976475;0.04287860000022192;0.04627591999997094
linked_list;случайный;удаление;0.03702340000018012;0.03709479999997711;0.03829469999982393;0.03841730000021926;0.03741160000026866;0.03764836000009382
hash_table;случайный;вставка;0.03724729999976262;0.036700800000289746;0.03645409999990079;0.036475899999459216;0.035486800000398944;0.03647297999996226
hash_table;случайный;поиск;0.00042500000017753337;0.00033910000001924345;0.00033829999938461697;0.0003378999999767984;0.00033820000044215703;0.00035570000000006985
hash_table;случайный;удаление;0.00018709999949351186;0.00017469999966124306;0.0001795999996829778;0.00018339999951422215;0.00017609999940759735;0.00018017999955191044
bst;случайный;вставка;0.04527770000004239;0.042043200000080105;0.04279800000040268;0.038970799999333394;0.03744349999942642;0.041306639999856995
bst;случайный;поиск;0.0005276000001686043;0.0004296000006434042;0.00043430000005173497;0.00041569999939383706;0.0004365999993751757;0.00044875999992655125
bst;случайный;удаление;0.09453469999971276;0.09244760000001406;0.10106580000046961;0.09086349999961385;0.09310050000021874;0.0944024200000058
linked_list;отсортированный;вставка;6.237431600000491;6.1635778999998365;6.183921300000293;6.150560400000359;6.1811854999996285;6.183335340000122
linked_list;отсортированный;поиск;0.05593550000048708;0.053237000000081025;0.05208490000040911;0.05022400000052585;0.049882199999956356;0.052272720000291886
linked_list;отсортированный;удаление;0.04117889999997715;0.037663099999917904;0.03757399999994959;0.04252919999998994;0.03767599999991944;0.03932423999995081
hash_table;отсортированный;вставка;0.04085130000021309;0.03589560000000347;0.03588300000046729;0.035286500000438537;0.03309669999998732;0.03620262000022194
hash_table;отсортированный;поиск;0.00044720000005327165;0.00040470000021741726;0.0003451000002314686;0.00034250000044266926;0.0003420000002734014;0.00037630000024364564
hash_table;отсортированный;удаление;0.0001863999996203347;0.00017409999964002054;0.00017500000012660166;0.00017459999980928842;0.00017379999917466193;0.00017677999967418144
bst;отсортированный;вставка;18.630878699999812;18.350701800000024;18.322985300001164;18.381200199999512;18.44051959999888;18.425257119999877
bst;отсортированный;поиск;0.16251639999973122;0.15183020000040415;0.1572033000011288;0.16128759999992326;0.16190610000012384;0.15894872000026225
bst;отсортированный;удаление;0.09546029999910388;0.09252720000040426;0.09302340000067488;0.09245310000005702;0.09305589999894437;0.09330397999983689
1 Структура Режим Операция Замер1(с) Замер2(с) Замер3(с) Замер4(с) Замер5(с) Среднее(с)
2 linked_list случайный вставка 5.503300700000182 5.004083100000571 4.882084700000632 4.881827499999417 4.890130499999941 5.032285300000149
3 linked_list случайный поиск 0.05034929999965243 0.04795749999993859 0.046004300000277 0.04418989999976475 0.04287860000022192 0.04627591999997094
4 linked_list случайный удаление 0.03702340000018012 0.03709479999997711 0.03829469999982393 0.03841730000021926 0.03741160000026866 0.03764836000009382
5 hash_table случайный вставка 0.03724729999976262 0.036700800000289746 0.03645409999990079 0.036475899999459216 0.035486800000398944 0.03647297999996226
6 hash_table случайный поиск 0.00042500000017753337 0.00033910000001924345 0.00033829999938461697 0.0003378999999767984 0.00033820000044215703 0.00035570000000006985
7 hash_table случайный удаление 0.00018709999949351186 0.00017469999966124306 0.0001795999996829778 0.00018339999951422215 0.00017609999940759735 0.00018017999955191044
8 bst случайный вставка 0.04527770000004239 0.042043200000080105 0.04279800000040268 0.038970799999333394 0.03744349999942642 0.041306639999856995
9 bst случайный поиск 0.0005276000001686043 0.0004296000006434042 0.00043430000005173497 0.00041569999939383706 0.0004365999993751757 0.00044875999992655125
10 bst случайный удаление 0.09453469999971276 0.09244760000001406 0.10106580000046961 0.09086349999961385 0.09310050000021874 0.0944024200000058
11 linked_list отсортированный вставка 6.237431600000491 6.1635778999998365 6.183921300000293 6.150560400000359 6.1811854999996285 6.183335340000122
12 linked_list отсортированный поиск 0.05593550000048708 0.053237000000081025 0.05208490000040911 0.05022400000052585 0.049882199999956356 0.052272720000291886
13 linked_list отсортированный удаление 0.04117889999997715 0.037663099999917904 0.03757399999994959 0.04252919999998994 0.03767599999991944 0.03932423999995081
14 hash_table отсортированный вставка 0.04085130000021309 0.03589560000000347 0.03588300000046729 0.035286500000438537 0.03309669999998732 0.03620262000022194
15 hash_table отсортированный поиск 0.00044720000005327165 0.00040470000021741726 0.0003451000002314686 0.00034250000044266926 0.0003420000002734014 0.00037630000024364564
16 hash_table отсортированный удаление 0.0001863999996203347 0.00017409999964002054 0.00017500000012660166 0.00017459999980928842 0.00017379999917466193 0.00017677999967418144
17 bst отсортированный вставка 18.630878699999812 18.350701800000024 18.322985300001164 18.381200199999512 18.44051959999888 18.425257119999877
18 bst отсортированный поиск 0.16251639999973122 0.15183020000040415 0.1572033000011288 0.16128759999992326 0.16190610000012384 0.15894872000026225
19 bst отсортированный удаление 0.09546029999910388 0.09252720000040426 0.09302340000067488 0.09245310000005702 0.09305589999894437 0.09330397999983689

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB