>_ rehablogger
Система работает
← Все сессии
СЕССИЯ УСТРОЙСТВА

rehabapp_2026-09-25_15-00-53

Подключение…
Rehab Logger console · история загружается порциями по 250 записей
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 807|F3BSjqBwk2lbLtPBsUP8gC2US4HhpmqeJK3XXOyJae081ed4
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-09-25
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Fri, 25 Sep 2026 12:00:56 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-25T12:00:56.055250Z","request_id":"3539b61a-a432-43b5-9f2e-66b606133b9f","version":"v1"},"data":{"rehabilitation_day_id":3321,"phase_id":413,"diagnosis_rehab":"Для проверки фаза","start_rehab":"2026-09-21 00:00:00","end_rehab":"2026-09-30 00:00:00","name_rehab_phase":"Фаза для проверки фазы","status":["first_control"],"recommendations_count":2,"date":"2026-09-25","training":[{"mode":"screening_test","status":"not_done","progress":null,"unit_id":1218,"time":"10 - 20 мин","count_questions":1,"status_questions":false,"workout_id":179}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-25T12:00:56.055250Z, request_id: 3539b61a-a432-43b5-9f2e-66b606133b9f, version: v1}, data: {rehabilitation_day_id: 3321, phase_id: 413, diagnosis_rehab: Для проверки фаза, start_rehab: 2026-09-21 00:00:00, end_rehab: 2026-09-30 00:00:00, name_rehab_phase: Фаза для проверки фазы, status: [first_control], recommendations_count: 2, date: 2026-09-25, training: [{mode: screening_test, status: not_done, progress: null, unit_id: 1218, time: 10 - 20 мин, count_questions: 1, status_questions: false, workout_id: 179}]}}
INFO [console] shrinkOffset: 12.581321022727252, progress: 0.06344215577930572
INFO [console] shrinkOffset: 24.544389204545496, progress: 0.12376673010805521
INFO [console] shrinkOffset: 36.43465909090912, progress: 0.18372421414538326
INFO [console] shrinkOffset: 46.25248579545462, progress: 0.23323126432547514
INFO [console] shrinkOffset: 50.652343750000114, progress: 0.25541784340209617
INFO [console] shrinkOffset: 55.597656250000114, progress: 0.28035491363785253
INFO [console] shrinkOffset: 71.77876420454561, progress: 0.36194923665684425
INFO [console] shrinkOffset: 79.37855113636374, progress: 0.40027167239685707
INFO [console] shrinkOffset: 86.75994318181836, progress: 0.4374928372626073
INFO [console] shrinkOffset: 100.68678977272737, progress: 0.5077198960379834
INFO [console] shrinkOffset: 107.81356534090912, progress: 0.5436571402259334
INFO [console] shrinkOffset: 114.03160511363643, progress: 0.5750120231663395
INFO [console] shrinkOffset: 116.94069602272737, progress: 0.5896813093483959
INFO [console] shrinkOffset: 126.68572443181824, progress: 0.6388212692370664
INFO [console] shrinkOffset: 129.885653409091, progress: 0.6549571259004587
INFO [console] shrinkOffset: 133.1218039772728, progress: 0.6712756323673874
INFO [console] shrinkOffset: 136.2123579545455, progress: 0.6868599582514736
INFO [console] shrinkOffset: 141.3032670454545, progress: 0.7125312090700717
INFO [console] shrinkOffset: 143.44850852272725, progress: 0.7233487332187294
INFO [console] shrinkOffset: 145.48473011363632, progress: 0.7336165172724293
INFO [console] shrinkOffset: 147.41193181818176, progress: 0.7433345612311718
INFO [console] shrinkOffset: 149.37571022727263, progress: 0.753237045677799
INFO [console] shrinkOffset: 152.28444602272714, progress: 0.7679045411755068
INFO [console] shrinkOffset: 152.97549715909076, progress: 0.7713892129174845
INFO [console] shrinkOffset: 154.24822443181802, progress: 0.777807025622134
INFO [console] shrinkOffset: 155.59339488636346, progress: 0.7845901379338562
INFO [console] shrinkOffset: 157.84801136363615, progress: 0.7959591928618194
INFO [console] shrinkOffset: 158.82990056818159, progress: 0.800910435085133
INFO [console] shrinkOffset: 159.5933948863634, progress: 0.8047604064341835
INFO [console] shrinkOffset: 160.28409090909065, progress: 0.8082432874918126
INFO [console] shrinkOffset: 161.44779829545428, progress: 0.8141113601015048
INFO [console] shrinkOffset: 162.0294744318179, progress: 0.8170445010641767
INFO [console] shrinkOffset: 162.6115056818179, progress: 0.819979432711197
INFO [console] shrinkOffset: 163.19318181818153, progress: 0.8229125736738688
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-25T12:01:08.179223Z, request_id: 86771823-656b-413d-9423-fbf19969acd2, version: v1}, data: {id: 285, name: Для бага, surname: Перенос тренировки, patronymic: null, birthday: 2000-01-01, email: null, phone: +76767676767, gender: female, city: Краснодар, city_id: 31}}
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-25T12:01:08.179223Z","request_id":"86771823-656b-413d-9423-fbf19969acd2","version":"v1"},"data":{"id":285,"name":"Для бага","surname":"Перенос тренировки","patronymic":null,"birthday":"2000-01-01","email":null,"phone":"+76767676767","gender":"female","city":"Краснодар","city_id":31}}
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Fri, 25 Sep 2026 12:01:08 GMT
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/user/get-profile
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/user/get-profile
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] shrinkOffset: 163.88423295454515, progress: 0.8263972454158465
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-09-25
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-25T12:01:03.130328Z, request_id: 3db215c8-4e7d-49b6-be08-cf8ce1041a64, version: v1}, data: {start_rehab: 2026-09-21 00:00:00, end_rehab: 2026-09-30 00:00:00, days: [{date: 2026-09-21, status: [start], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-09-24, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-25, status: [first_control], training: [{mode: screening_test, status: not_done, progress: null}]}, {date: 2026-09-27, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-09-30, status: [first_control, end], training: [{mode: screening_test, status: not_done, progress: null}]}, {date: 2026-09-30, status: [end], training: []}]}}
INFO [console] shrinkOffset: 163.88423295454515, progress: 0.8263972454158465
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-25T12:01:03.130328Z","request_id":"3db215c8-4e7d-49b6-be08-cf8ce1041a64","version":"v1"},"data":{"start_rehab":"2026-09-21 00:00:00","end_rehab":"2026-09-30 00:00:00","days":[{"date":"2026-09-21","status":["start"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-09-24","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-25","status":["first_control"],"training":[{"mode":"screening_test","status":"not_done","progress":null}]},{"date":"2026-09-27","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-09-30","status":["first_control","end"],"training":[{"mode":"screening_test","status":"not_done","progress":null}]},{"date":"2026-09-30","status":["end"],"training":[]}]}}
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Fri, 25 Sep 2026 12:01:03 GMT
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-08-31&end_date=2026-10-04
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-25T12:01:03.240126Z, request_id: 94e568a6-a810-40e3-868b-f195167a05f7, version: v1}, data: {rehabilitation_day_id: 3321, phase_id: 413, diagnosis_rehab: Для проверки фаза, start_rehab: 2026-09-21 00:00:00, end_rehab: 2026-09-30 00:00:00, name_rehab_phase: Фаза для проверки фазы, status: [first_control], recommendations_count: 2, date: 2026-09-25, training: [{mode: screening_test, status: not_done, progress: null, unit_id: 1218, time: 10 - 20 мин, count_questions: 1, status_questions: false, workout_id: 179}]}}
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-25T12:01:03.240126Z","request_id":"94e568a6-a810-40e3-868b-f195167a05f7","version":"v1"},"data":{"rehabilitation_day_id":3321,"phase_id":413,"diagnosis_rehab":"Для проверки фаза","start_rehab":"2026-09-21 00:00:00","end_rehab":"2026-09-30 00:00:00","name_rehab_phase":"Фаза для проверки фазы","status":["first_control"],"recommendations_count":2,"date":"2026-09-25","training":[{"mode":"screening_test","status":"not_done","progress":null,"unit_id":1218,"time":"10 - 20 мин","count_questions":1,"status_questions":false,"workout_id":179}]}}
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Fri, 25 Sep 2026 12:01:03 GMT
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-09-25
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-08-31&end_date=2026-10-04
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] shrinkOffset: 163.88423295454515, progress: 0.8263972454158465
INFO [console] shrinkOffset: 163.88423295454515, progress: 0.8263972454158465
INFO [console] [DIO] *** Request ***
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-25T12:01:00.609902Z, request_id: bcf06ca6-e5a2-47a1-9537-1b1a966a82a8, version: v1}, data: {selected_day_id: 3321, phase_id: 413, week_start_sequence_regarding_phase: 1, week_end_sequence_regarding_phase: 7, days: [{id: 3315, date: 2026-09-21, phase_id: 413, day_sequence_number_regarding_rehab: 1, day_sequence_number_regarding_phase: 1, status: [start], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}], available: false}, {id: null, date: 2026-09-22, phase_id: 413, day_sequence_number_regarding_rehab: 2, day_sequence_number_regarding_phase: 2, status: [none], training: [], available: false}, {id: null, date: 2026-09-23, phase_id: 413, day_sequence_number_regarding_rehab: 3, day_sequence_number_regarding_phase: 3, status: [none], training: [], available: false}, {id: 3316, date: 2026-09-24, phase_id: 413, day_sequence_number_regarding_rehab: 4, day_sequenc
INFO [console] e_number_regarding_phase: 4, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}], available: false}, {id: 3321, date: 2026-09-25, phase_id: 413, day_sequence_number_regarding_rehab: 5, day_sequence_number_regarding_phase: 5, status: [first_control], training: [{mode: screening_test, status: not_done, progress: null}], available: false}]}}
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-25T12:01:00.609902Z","request_id":"bcf06ca6-e5a2-47a1-9537-1b1a966a82a8","version":"v1"},"data":{"selected_day_id":3321,"phase_id":413,"week_start_sequence_regarding_phase":1,"week_end_sequence_regarding_phase":7,"days":[{"id":3315,"date":"2026-09-21","phase_id":413,"day_sequence_number_regarding_rehab":1,"day_sequence_number_regarding_phase":1,"status":["start"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}],"available":false},{"id":null,"date":"2026-09-22","phase_id":413,"day_sequence_number_regarding_rehab":2,"day_sequence_number_regarding_phase":2,"status":["none"],"training":[],"available":false},{"id":null,"date":"2026-09-23","phase_id":413,"day_sequence_number_regarding_rehab":3,"day_sequence_number_regarding_phase":3,"status":["none"],"training":[],"available":false},{"id":3316,"date":"2026-09-24","phase_id":413,"day_sequence_number_regarding_rehab":4,"day_sequence_number_regarding_phase":4,"status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}],"available":false},{"id":3321,"date":"2026-09-25","phase_id":413,"day_sequence_number_regarding_rehab":5,"day_sequence_number_regarding_phase":5,"status":["first_control"],"training":[{"mode":"screening_test","status":"not_done","progress":null}],"available":false}]}}
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Fri, 25 Sep 2026 12:01:00 GMT
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/workout/reschedule/available-days?rehabilitation_day_id=3321
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 807|F3BSjqBwk2lbLtPBsUP8gC2US4HhpmqeJK3XXOyJae081ed4
INFO [console] [DIO] data:
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/workout/reschedule/available-days?rehabilitation_day_id=3321
INFO [console] [DIO] method: GET
INFO [console] ься от 90 до 45 градусов к полу (например, упираясь не прямыми руками, а предплечьями, отклонившись больше назад). Приподнять прямую рабочую ногу от поверхности и отвести её в сторону на сколько возможно, не опуская ногу, и вернуться в исходное положение. Можно выполнять без пауз между повторениями. Цель – тренировка мышц абдукторов бедра., steps: [{exercise_id: 41, sequence_number: 1, step_text: Сядьте на пол лицом к камере. Ноги выпрямите перед собой}, {exercise_id: 41, sequence_number: 2, step_text: Корпус отклоните назад. Спина должна находиться под углом от 90 до 45 градусов относительно пола. Для удобства и стабильности можно опираться не на прямые руки, а на предплечья, согнув руки в локтях}, {exercise_id: 41, sequence_number: 3, step_text: Приподнимите рабочую ногу на 5-10 см }, {exercise_id: 41, sequence_number: 4, step_text: На выдохе отведите рабочую ногу в сторону (наружу) на максимально возможную амплитуду, которую позволяет ваша подвижность и физическое состояние. Движени
INFO [console] е должно происходить за счёт работы мышц бедра}, {exercise_id: 41, sequence_number: 5, step_text: На вдохе так же плавно верните ногу в исходное положение (перед собой), но не кладите её на пол до окончания подхода. Нога остаётся на весу}, {exercise_id: 41, sequence_number: 6, step_text: Повторите движение ногой заданное количество раз}], measurement: null}}]}}
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-25T12:00:57.538291Z, request_id: 7cc89686-3491-4bb9-9eae-1af195077e29, version: v1}, data: {unit_id: 1218, workout_duration_start: 10, workout_duration_end: 20, body_side: right, exercises: [{id: 47, sequence_number: 1, name: [OLD]Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге, image: https://rehabilitation.most.team/storage/exercise/photos/01KQCHWY0J06QHXQ4P2BH5VD3A.png, by_body_side: by_side, execution_order_type: isolated, approaches_count: 1, execution_count: null, execution_time: 5, instruction: {exercise_name: [OLD]Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге, video: https://rehabilitation.most.team/storage/exercise/videos/01KQCHWY0PXRQ1HM420M2W892Q.mov, inventory: Возвышенность (стул и т.п.), warning: Не допускайте разворота/заваливания поднятой ноги, general_description: Стоя на одной ноге, другая нога выпрямлена в колене и расположена на возвышенности (стул, скамейка, ступенька)
INFO [console] . Корпус наклонён вперёд, руки тянутся к стопе поднятой ноги. Удерживать это положение заданное количество времени. Важно: колено поднятой ноги должно оставаться выпрямленным; стопа и колено поднятой ноги не должны "заваливаться" наружу (отсутствие ротации); наклон выполняется за счёт сгибания в тазобедренном суставе, а не округления спины; дыхание свободное, без задержек; ощущение растяжения должно быть комфортным, без острой боли., steps: [{exercise_id: 47, sequence_number: 1, step_text: Встаньте боком растягиваемой ноги к камере}, {exercise_id: 47, sequence_number: 2, step_text: Поставьте рабочую ногу на возвышенность, другая нога опорная}, {exercise_id: 47, sequence_number: 3, step_text: Держите спину прямой}, {exercise_id: 47, sequence_number: 4, step_text: Стопа поднятой ноги смотрит на себя}, {exercise_id: 47, sequence_number: 5, step_text: Потянитесь пальцами рук к стопе поднятой ноги. Ваша задача - не обязательно обхватить стопу, а максимально растянуться с прямой спиной},
INFO [console] {exercise_id: 47, sequence_number: 6, step_text: В точке максимального комфортного натяжения в задней поверхности бедра и под коленями зафиксируйте положение. Удерживайте его заданное время}], measurement: null}}, {id: 41, sequence_number: 2, name: [OLD]Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной, image: https://rehabilitation.most.team/storage/exercise/photos/01KQC6319E6D4MPZ50SGTNW1Q6.png, by_body_side: by_side, execution_order_type: symmetric, approaches_count: 1, execution_count: 1, execution_time: null, instruction: {exercise_name: [OLD]Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной, video: https://rehabilitation.most.team/storage/exercise/videos/01KQC6319HS0NS6B4PRV3WH9FT.mov, inventory: null, warning: Следить за тем, чтобы бедро не ротировалось (вращалось) наружу, носок стопы отведённой ноги должен “смотреть вверх”, general_description: Спина относительно поверхности может находит
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-25T12:00:57.538291Z","request_id":"7cc89686-3491-4bb9-9eae-1af195077e29","version":"v1"},"data":{"unit_id":1218,"workout_duration_start":10,"workout_duration_end":20,"body_side":"right","exercises":[{"id":47,"sequence_number":1,"name":"[OLD]Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQCHWY0J06QHXQ4P2BH5VD3A.png","by_body_side":"by_side","execution_order_type":"isolated","approaches_count":1,"execution_count":null,"execution_time":5,"instruction":{"exercise_name":"[OLD]Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQCHWY0PXRQ1HM420M2W892Q.mov","inventory":"Возвышенность (стул и т.п.)","warning":"Не допускайте разворота/заваливания поднятой ноги","general_description":"Стоя на одной ноге, другая нога выпрямлена в колене и расположена на возвышенности (стул, скамейка, ступенька). Корпус наклонён вперёд, руки тянутся к стопе поднятой ноги. Удерживать это положение заданное количество времени. Важно: колено поднятой ноги должно оставаться выпрямленным; \nстопа и колено поднятой ноги не должны \"заваливаться\" наружу (отсутствие ротации); \nнаклон выполняется за счёт сгибания в тазобедренном суставе, а не округления спины; \nдыхание свободное, без задержек; \nощущение растяжения должно быть комфортным, без острой боли.","steps":[{"exercise_id":47,"sequence_number":1,"step_text":"Встаньте боком растягиваемой ноги к камере"},{"exercise_id":47,"sequence_number":2,"step_text":"Поставьте рабочую ногу на возвышенность, другая нога опорная"},{"exercise_id":47,"sequence_number":3,"step_text":"Держите спину прямой"},{"exercise_id":47,"sequence_number":4,"step_text":"Стопа поднятой ноги смотрит на себя"},{"exercise_id":47,"sequence_number":5,"step_text":"Потянитесь пальцами рук к стопе поднятой ноги. Ваша задача - не обязательно обхватить стопу, а максимально растянуться с прямой спиной"},{"exercise_id":47,"sequence_number":6,"step_text":"В точке максимального комфортного натяжения в задней поверхности бедра и под коленями зафиксируйте положение. Удерживайте его заданное время"}],"measurement":null}},{"id":41,"sequence_number":2,"name":"[OLD]Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQC6319E6D4MPZ50SGTNW1Q6.png","by_body_side":"by_side","execution_order_type":"symmetric","approaches_count":1,"execution_count":1,"execution_time":null,"instruction":{"exercise_name":"[OLD]Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQC6319HS0NS6B4PRV3WH9FT.mov","inventory":null,"warning":"Следить за тем, чтобы бедро не ротировалось (вращалось) наружу, носок стопы отведённой ноги должен “смотреть вверх”","general_description":"Спина относительно поверхности может находиться от 90 до 45 градусов к полу (например, упираясь не прямыми руками, а предплечьями, отклонившись больше назад). Приподнять прямую рабочую ногу от поверхности и отвести её в сторону на сколько возможно, не опуская ногу, и вернуться в исходное положение. Можно выполнять без пауз между повторениями. Цель – тренировка мышц абдукторов бедра.","steps":[{"exercise_id":41,"sequence_number":1,"step_text":"Сядьте на пол лицом к камере. Ноги выпрямите перед собой"},{"exercise_id":41,"sequence_number":2,"step_text":"Корпус отклоните назад. Спина должна находиться под углом от 90 до 45 градусов относительно пола. Для удобства и стабильности можно опираться не на прямые руки, а на предплечья, согнув руки в локтях"},{"exercise_id":41,"sequence_number":3,"step_text":"Приподнимите рабочую ногу на 5-10 см "},{"exercise_id":41,"sequence_number":4,"step_text":"На выдохе отведите рабочую ногу в сторону (наружу) на максимально возможную амплитуду, которую позволяет ваша подвижность и физическое состояние. Движение должно происходить за счёт работы мышц бедра"},{"exercise_id":41,"sequence_number":5,"step_text":"На вдохе так же плавно верните ногу в исходное положение (перед собой), но не кладите её на пол до окончания подхода. Нога остаётся на весу"},{"exercise_id":41,"sequence_number":6,"step_text":"Повторите движение ногой заданное количество раз"}],"measurement":null}}]}}
INFO [console] [DIO]
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Fri, 25 Sep 2026 12:00:57 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/exercises?unit_id=1218&rehabilitation_day_id=3321&workout_id=179
INFO [console] [DIO] Authorization: Bearer 807|F3BSjqBwk2lbLtPBsUP8gC2US4HhpmqeJK3XXOyJae081ed4
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/exercises?unit_id=1218&rehabilitation_day_id=3321&workout_id=179
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] shrinkOffset: 163.59303977272697, progress: 0.8249288842501621
INFO [console] shrinkOffset: 163.88423295454515, progress: 0.8263972454158465
INFO [console] [DIO] *** Request ***
ERROR [widgets library] RangeError (length): Invalid value: Not in inclusive range 0..4: 5
RangeError (length): Invalid value: Not in inclusive range 0..4: 5
#0      _RescheduleTrainingBottomSheetState.build.<anonymous closure>.<anonymous closure> (package:testapp/features/training/presentation/pages/reschedule_training_bottom_sheet.dart)
#1      new _GrowableList.generate (dart:core-patch/growable_array.dart:140)
#2      _RescheduleTrainingBottomSheetState.build.<anonymous closure> (package:testapp/features/training/presentation/pages/reschedule_training_bottom_sheet.dart:66)
#3      BlocBuilder.build (package:flutter_bloc/src/bloc_builder.dart:91)
#4      _BlocBuilderBaseState.build (package:flutter_bloc/src/bloc_builder.dart:188)
#5      StatefulElement.build (package:flutter/src/widgets/framework.dart:5944)
#6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5830)
#7      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#8      Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#9      BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2763)
#10     BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2820)
#11     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3124)
#12     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1571)
#13     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:558)
#14     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430)
#15     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345)
#16     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198)
#17     _rootRun (dart:async/zone_root.dart:35)
#18     _CustomZone.run (dart:async/zone.dart:810)
#19     _CustomZone.runGuarded (dart:async/zone.dart:702)
#20     _invoke (dart:ui/hooks.dart:443)
#21     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:450)
#22     _drawFrame (dart:ui/hooks.dart:413)
ERROR [widgets library] RangeError (length): Invalid value: Not in inclusive range 0..4: 5
RangeError (length): Invalid value: Not in inclusive range 0..4: 5
#0      _RescheduleTrainingBottomSheetState.build.<anonymous closure>.<anonymous closure> (package:testapp/features/training/presentation/pages/reschedule_training_bottom_sheet.dart)
#1      new _GrowableList.generate (dart:core-patch/growable_array.dart:140)
#2      _RescheduleTrainingBottomSheetState.build.<anonymous closure> (package:testapp/features/training/presentation/pages/reschedule_training_bottom_sheet.dart:66)
#3      BlocBuilder.build (package:flutter_bloc/src/bloc_builder.dart:91)
#4      _BlocBuilderBaseState.build (package:flutter_bloc/src/bloc_builder.dart:188)
#5      StatefulElement.build (package:flutter/src/widgets/framework.dart:5944)
#6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5830)
#7      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#8      Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#9      StatefulElement.update (package:flutter/src/widgets/framework.dart:6020)
#10     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#11     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#12     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#13     ProxyElement.update (package:flutter/src/widgets/framework.dart:6162)
#14     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#15     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#16     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#17     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#18     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#19     StatelessElement.update (package:flutter/src/widgets/framework.dart:5908)
#20     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#21     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#22     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#23     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#24     StatefulElement.update (package:flutter/src/widgets/framework.dart:6020)
#25     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#26     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#27     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#28     ProxyElement.update (package:flutter/src/widgets/framework.dart:6162)
#29     _InheritedProviderScopeElement.update (package:provider/src/inherited_provider.dart:536)
#30     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#31     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#32     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#33     StatelessElement.update (package:flutter/src/widgets/framework.dart:5908)
#34     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#35     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#36     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#37     StatelessElement.update (package:flutter/src/widgets/framework.dart:5908)
#38     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#39     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#40     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#41     Element.updateChildren (package:flutter/src/widgets/framework.dart:4204)
#42     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7308)
#43     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#44     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#45     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#46     ProxyElement.update (package:flutter/src/widgets/framework.dart:6162)
#47     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#48     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#49     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#50     ProxyElement.update (package:flutter/src/widgets/framework.dart:6162)
#51     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#52     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#53     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#54     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#55     StatefulElement.update (package:flutter/src/widgets/framework.dart:6020)
#56     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#57     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#58     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#59     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#60     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#61     ProxyElement.update (package:flutter/src/widgets/framework.dart:6162)
#62     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#63     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#64     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#65     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#66     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#67     StatelessElement.update (package:flutter/src/widgets/framework.dart:5908)
#68     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#69     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#70     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#71     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#72     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#73     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#74     StatefulElement.update (package:flutter/src/widgets/framework.dart:6020)
#75     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#76     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#77     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#78     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#79     StatefulElement.update (package:flutter/src/widgets/framework.dart:6020)
#80     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#81     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#82     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#83     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#84     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#85     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#86     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#87     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#88     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#89     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#90     StatefulElement.update (package:flutter/src/widgets/framework.dart:6020)
#91     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#92     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#93     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#94     StatelessElement.update (package:flutter/src/widgets/framework.dart:5908)
#95     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#96     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#97     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#98     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#99     BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2763)
#100    BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2820)
#101    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3124)
#102    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1571)
#103    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:558)
#104    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430)
#105    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345)
#106    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198)
#107    _rootRun (dart:async/zone_root.dart:35)
#108    _CustomZone.run (dart:async/zone.dart:810)
#109    _CustomZone.runGuarded (dart:async/zone.dart:702)
#110    _invoke (dart:ui/hooks.dart:443)
#111    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:450)
#112    _drawFrame (dart:ui/hooks.dart:413)
ERROR [widgets library] RangeError (length): Invalid value: Not in inclusive range 0..4: 5
RangeError (length): Invalid value: Not in inclusive range 0..4: 5
#0      _RescheduleTrainingBottomSheetState.build.<anonymous closure>.<anonymous closure> (package:testapp/features/training/presentation/pages/reschedule_training_bottom_sheet.dart)
#1      new _GrowableList.generate (dart:core-patch/growable_array.dart:140)
#2      _RescheduleTrainingBottomSheetState.build.<anonymous closure> (package:testapp/features/training/presentation/pages/reschedule_training_bottom_sheet.dart:66)
#3      BlocBuilder.build (package:flutter_bloc/src/bloc_builder.dart:91)
#4      _BlocBuilderBaseState.build (package:flutter_bloc/src/bloc_builder.dart:188)
#5      StatefulElement.build (package:flutter/src/widgets/framework.dart:5944)
#6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5830)
#7      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#8      Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#9      StatefulElement.update (package:flutter/src/widgets/framework.dart:6020)
#10     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#11     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#12     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#13     ProxyElement.update (package:flutter/src/widgets/framework.dart:6162)
#14     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#15     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#16     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#17     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#18     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#19     StatelessElement.update (package:flutter/src/widgets/framework.dart:5908)
#20     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#21     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#22     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#23     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#24     StatefulElement.update (package:flutter/src/widgets/framework.dart:6020)
#25     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#26     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#27     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#28     ProxyElement.update (package:flutter/src/widgets/framework.dart:6162)
#29     _InheritedProviderScopeElement.update (package:provider/src/inherited_provider.dart:536)
#30     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#31     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#32     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#33     StatelessElement.update (package:flutter/src/widgets/framework.dart:5908)
#34     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#35     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#36     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#37     StatelessElement.update (package:flutter/src/widgets/framework.dart:5908)
#38     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#39     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#40     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#41     Element.updateChildren (package:flutter/src/widgets/framework.dart:4204)
#42     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7308)
#43     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#44     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#45     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#46     ProxyElement.update (package:flutter/src/widgets/framework.dart:6162)
#47     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#48     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#49     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#50     ProxyElement.update (package:flutter/src/widgets/framework.dart:6162)
#51     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#52     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#53     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#54     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#55     StatefulElement.update (package:flutter/src/widgets/framework.dart:6020)
#56     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#57     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#58     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#59     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#60     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#61     ProxyElement.update (package:flutter/src/widgets/framework.dart:6162)
#62     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#63     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#64     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#65     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#66     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#67     StatelessElement.update (package:flutter/src/widgets/framework.dart:5908)
#68     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#69     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#70     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#71     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#72     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#73     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#74     StatefulElement.update (package:flutter/src/widgets/framework.dart:6020)
#75     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#76     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#77     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#78     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#79     StatefulElement.update (package:flutter/src/widgets/framework.dart:6020)
#80     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#81     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#82     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#83     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#84     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#85     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7135)
#86     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#87     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#88     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#89     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#90     StatefulElement.update (package:flutter/src/widgets/framework.dart:6020)
#91     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#92     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#93     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#94     StatelessElement.update (package:flutter/src/widgets/framework.dart:5908)
#95     Element.updateChild (package:flutter/src/widgets/framework.dart:4050)
#96     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#97     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#98     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#99     BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2763)
#100    BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2820)
#101    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3124)
#102    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1571)
#103    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:558)
#104    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430)
#105    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345)
#106    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198)
#107    _rootRun (dart:async/zone_root.dart:35)
#108    _CustomZone.run (dart:async/zone.dart:810)
#109    _CustomZone.runGuarded (dart:async/zone.dart:702)
#110    _invoke (dart:ui/hooks.dart:443)
#111    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:450)
#112    _drawFrame (dart:ui/hooks.dart:413)
INFO [console] Request query: {start_date: 2026-08-31, end_date: 2026-10-04}
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] Authorization: Bearer 807|F3BSjqBwk2lbLtPBsUP8gC2US4HhpmqeJK3XXOyJae081ed4
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 807|F3BSjqBwk2lbLtPBsUP8gC2US4HhpmqeJK3XXOyJae081ed4
INFO [console] [DIO] *** Request ***
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] Authorization: Bearer 807|F3BSjqBwk2lbLtPBsUP8gC2US4HhpmqeJK3XXOyJae081ed4
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] Push message received: PushNotificationMessage(provider: fcm, messageId: 0:1790337743704995%8ba609de8ba609de, title: Для проверки фаза, body: Реабилитация завершена. Переходите в приложение, чтобы изучить статистику по пройденному курсу →, data: {action: statistics, version: v1})
$
250 строкUTF-8LIVE