File size: 60,727 Bytes
d248b55
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import json\n",
    "import uuid\n",
    "from aiohttp import web, WSMsgType\n",
    "import asyncio"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import asyncio\n",
    "import json\n",
    "import math\n",
    "import random\n",
    "import requests\n",
    "import websockets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open(\"workflow_api.json\", \"r\", encoding=\"utf-8\") as f:\n",
    "    workflow_data = f.read()\n",
    "import json\n",
    "workflow = json.loads(workflow_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "workflow[\"168\"][\"inputs\"][\"filename_prefix\"] = 'test1'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "workflow[\"8\"][\"inputs\"]['video'] = 'd0.mp4'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "workflow[\"196\"][\"inputs\"]['image'] = '/home/itek/Desktop/api comfyui/121.png'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "import json\n",
    "from urllib import request, parse\n",
    "import random\n",
    "\n",
    "def queue_prompt(prompt):\n",
    "    p = {\"prompt\": prompt}\n",
    "    data = json.dumps(p).encode('utf-8')\n",
    "    req =  request.Request(\"http://127.0.0.1:8188/prompt\", data=data)\n",
    "    return request.urlopen(req)\n",
    "\n",
    "a = queue_prompt(workflow)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<http.client.HTTPResponse at 0x76a71d66c880>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "a.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "b''"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a.read()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "import urllib\n",
    "\n",
    "def get_history(prompt_id, server_address):\n",
    "  with urllib.request.urlopen(\"http://{}/history/{}\".format(server_address, prompt_id)) as response:\n",
    "      return json.loads(response.read())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'eb2d4c60-10fd-4809-aced-82453efe6520': {'prompt': [16,\n",
       "   'eb2d4c60-10fd-4809-aced-82453efe6520',\n",
       "   {'1': {'inputs': {'precision': 'fp16', 'mode': 'human'},\n",
       "     'class_type': 'DownloadAndLoadLivePortraitModels',\n",
       "     '_meta': {'title': '(Down)Load LivePortraitModels'}},\n",
       "    '8': {'inputs': {'video': 'd0.mp4',\n",
       "      'force_rate': 16,\n",
       "      'force_size': 'Disabled',\n",
       "      'custom_width': 512,\n",
       "      'custom_height': 512,\n",
       "      'frame_load_cap': 128,\n",
       "      'skip_first_frames': 0,\n",
       "      'select_every_nth': 1},\n",
       "     'class_type': 'VHS_LoadVideo',\n",
       "     '_meta': {'title': 'Load Video (Upload) 🎥🅥🅗🅢'}},\n",
       "    '78': {'inputs': {'image': ['165', 0]},\n",
       "     'class_type': 'GetImageSizeAndCount',\n",
       "     '_meta': {'title': 'Get Image Size & Count'}},\n",
       "    '81': {'inputs': {'expand': 0,\n",
       "      'incremental_expandrate': 0.0,\n",
       "      'tapered_corners': True,\n",
       "      'flip_input': False,\n",
       "      'blur_radius': 13.9,\n",
       "      'lerp_alpha': 1.0,\n",
       "      'decay_factor': 1.0,\n",
       "      'fill_holes': False,\n",
       "      'mask': ['83', 0]},\n",
       "     'class_type': 'GrowMaskWithBlur',\n",
       "     '_meta': {'title': 'Grow Mask With Blur'}},\n",
       "    '82': {'inputs': {'mask': ['81', 0]},\n",
       "     'class_type': 'MaskPreview+',\n",
       "     '_meta': {'title': '🔧 Mask Preview'}},\n",
       "    '83': {'inputs': {'shape': 'square',\n",
       "      'frames': 1,\n",
       "      'location_x': 256,\n",
       "      'location_y': 256,\n",
       "      'grow': 0,\n",
       "      'frame_width': 512,\n",
       "      'frame_height': 512,\n",
       "      'shape_width': 480,\n",
       "      'shape_height': 480},\n",
       "     'class_type': 'CreateShapeMask',\n",
       "     '_meta': {'title': 'Create Shape Mask'}},\n",
       "    '129': {'inputs': {'onnx_device': 'CUDA',\n",
       "      'keep_model_loaded': True,\n",
       "      'detection_threshold': 0.5},\n",
       "     'class_type': 'LivePortraitLoadCropper',\n",
       "     '_meta': {'title': 'LivePortrait Load InsightFaceCropper'}},\n",
       "    '134': {'inputs': {'image': ['197', 0]},\n",
       "     'class_type': 'GetImageSizeAndCount',\n",
       "     '_meta': {'title': 'Get Image Size & Count'}},\n",
       "    '165': {'inputs': {'width': 512,\n",
       "      'height': 512,\n",
       "      'upscale_method': 'lanczos',\n",
       "      'keep_proportion': True,\n",
       "      'divisible_by': 2,\n",
       "      'crop': 'disabled',\n",
       "      'image': ['196', 0]},\n",
       "     'class_type': 'ImageResizeKJ',\n",
       "     '_meta': {'title': 'Resize Image'}},\n",
       "    '168': {'inputs': {'frame_rate': 16.0,\n",
       "      'loop_count': 0,\n",
       "      'filename_prefix': 'test1',\n",
       "      'format': 'video/h264-mp4',\n",
       "      'pix_fmt': 'yuv420p',\n",
       "      'crf': 19,\n",
       "      'save_metadata': False,\n",
       "      'pingpong': False,\n",
       "      'save_output': True,\n",
       "      'images': ['181', 0],\n",
       "      'audio': ['8', 2]},\n",
       "     'class_type': 'VHS_VideoCombine',\n",
       "     '_meta': {'title': 'Video Combine 🎥🅥🅗🅢'}},\n",
       "    '180': {'inputs': {'eye_retargeting': True,\n",
       "      'eyes_retargeting_multiplier': 1,\n",
       "      'lip_retargeting': True,\n",
       "      'lip_retargeting_multiplier': 1,\n",
       "      'driving_crop_info': ['197', 1]},\n",
       "     'class_type': 'LivePortraitRetargeting',\n",
       "     '_meta': {'title': 'LivePortrait Retargeting'}},\n",
       "    '181': {'inputs': {'image': ['191', 0]},\n",
       "     'class_type': 'GetImageSizeAndCount',\n",
       "     '_meta': {'title': 'Get Image Size & Count'}},\n",
       "    '182': {'inputs': {'image': ['8', 0]},\n",
       "     'class_type': 'GetImageSizeAndCount',\n",
       "     '_meta': {'title': 'Get Image Size & Count'}},\n",
       "    '189': {'inputs': {'dsize': 512,\n",
       "      'scale': 2.3,\n",
       "      'vx_ratio': 0.0,\n",
       "      'vy_ratio': -0.125,\n",
       "      'face_index': 0,\n",
       "      'face_index_order': 'large-small',\n",
       "      'rotate': True,\n",
       "      'pipeline': ['1', 0],\n",
       "      'cropper': ['198', 0],\n",
       "      'source_image': ['78', 0]},\n",
       "     'class_type': 'LivePortraitCropper',\n",
       "     '_meta': {'title': 'LivePortrait Cropper'}},\n",
       "    '190': {'inputs': {'lip_zero': False,\n",
       "      'lip_zero_threshold': 0.03,\n",
       "      'stitching': True,\n",
       "      'delta_multiplier': 1.0,\n",
       "      'mismatch_method': 'constant',\n",
       "      'relative_motion_mode': 'relative',\n",
       "      'driving_smooth_observation_variance': 3e-06,\n",
       "      'expression_friendly': True,\n",
       "      'expression_friendly_multiplier': 1.0,\n",
       "      'pipeline': ['1', 0],\n",
       "      'crop_info': ['189', 1],\n",
       "      'source_image': ['78', 0],\n",
       "      'driving_images': ['182', 0]},\n",
       "     'class_type': 'LivePortraitProcess',\n",
       "     '_meta': {'title': 'LivePortrait Process'}},\n",
       "    '191': {'inputs': {'source_image': ['78', 0],\n",
       "      'cropped_image': ['190', 0],\n",
       "      'liveportrait_out': ['190', 1],\n",
       "      'mask': ['81', 0]},\n",
       "     'class_type': 'LivePortraitComposite',\n",
       "     '_meta': {'title': 'LivePortrait Composite'}},\n",
       "    '196': {'inputs': {'image': '/home/itek/Desktop/api comfyui/test.png',\n",
       "      'upload': 'image'},\n",
       "     'class_type': 'LoadImage',\n",
       "     '_meta': {'title': 'Load Image'}},\n",
       "    '197': {'inputs': {'dsize': 512,\n",
       "      'scale': 2.3,\n",
       "      'vx_ratio': 0,\n",
       "      'vy_ratio': -0.125,\n",
       "      'face_index': 0,\n",
       "      'face_index_order': 'large-small',\n",
       "      'rotate': True,\n",
       "      'pipeline': ['1', 0],\n",
       "      'cropper': ['198', 0],\n",
       "      'source_image': ['182', 0]},\n",
       "     'class_type': 'LivePortraitCropper',\n",
       "     '_meta': {'title': 'LivePortrait Cropper'}},\n",
       "    '198': {'inputs': {'landmarkrunner_onnx_device': 'torch_gpu',\n",
       "      'keep_model_loaded': True},\n",
       "     'class_type': 'LivePortraitLoadMediaPipeCropper',\n",
       "     '_meta': {'title': 'LivePortrait Load MediaPipeCropper'}},\n",
       "    '201': {'inputs': {'face_detector': 'blazeface_back_camera',\n",
       "      'landmarkrunner_device': 'torch_gpu',\n",
       "      'face_detector_device': 'cuda',\n",
       "      'face_detector_dtype': 'fp16',\n",
       "      'keep_model_loaded': True},\n",
       "     'class_type': 'LivePortraitLoadFaceAlignmentCropper',\n",
       "     '_meta': {'title': 'LivePortrait Load FaceAlignmentCropper'}}},\n",
       "   {},\n",
       "   ['82', '168']],\n",
       "  'outputs': {'168': {'gifs': [{'filename': 'test1_00003.mp4',\n",
       "      'subfolder': '',\n",
       "      'type': 'output',\n",
       "      'format': 'video/h264-mp4',\n",
       "      'frame_rate': 16.0}]},\n",
       "   '78': {'text': ['1x512x512']},\n",
       "   '181': {'text': ['50x512x512']},\n",
       "   '82': {'images': [{'filename': 'ComfyUI_temp_elkck_00001_.png',\n",
       "      'subfolder': '',\n",
       "      'type': 'temp'}]},\n",
       "   '182': {'text': ['50x512x512']}},\n",
       "  'status': {'status_str': 'success',\n",
       "   'completed': True,\n",
       "   'messages': [['execution_start',\n",
       "     {'prompt_id': 'eb2d4c60-10fd-4809-aced-82453efe6520',\n",
       "      'timestamp': 1725354009638}],\n",
       "    ['execution_cached',\n",
       "     {'nodes': ['1',\n",
       "       '8',\n",
       "       '78',\n",
       "       '81',\n",
       "       '82',\n",
       "       '83',\n",
       "       '165',\n",
       "       '168',\n",
       "       '181',\n",
       "       '182',\n",
       "       '189',\n",
       "       '190',\n",
       "       '191',\n",
       "       '196',\n",
       "       '198'],\n",
       "      'prompt_id': 'eb2d4c60-10fd-4809-aced-82453efe6520',\n",
       "      'timestamp': 1725354009643}],\n",
       "    ['execution_success',\n",
       "     {'prompt_id': 'eb2d4c60-10fd-4809-aced-82453efe6520',\n",
       "      'timestamp': 1725354009644}]]},\n",
       "  'meta': {'168': {'node_id': '168',\n",
       "    'display_node': '168',\n",
       "    'parent_node': None,\n",
       "    'real_node_id': '168'},\n",
       "   '78': {'node_id': '78',\n",
       "    'display_node': '78',\n",
       "    'parent_node': None,\n",
       "    'real_node_id': '78'},\n",
       "   '181': {'node_id': '181',\n",
       "    'display_node': '181',\n",
       "    'parent_node': None,\n",
       "    'real_node_id': '181'},\n",
       "   '82': {'node_id': '82',\n",
       "    'display_node': '82',\n",
       "    'parent_node': None,\n",
       "    'real_node_id': '82'},\n",
       "   '182': {'node_id': '182',\n",
       "    'display_node': '182',\n",
       "    'parent_node': None,\n",
       "    'real_node_id': '182'}}}}"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "get_history(\"eb2d4c60-10fd-4809-aced-82453efe6520\"   , '127.0.0.1:8188')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [],
   "source": [
    "import websocket #NOTE: websocket-client (https://github.com/websocket-client/websocket-client)\n",
    "import uuid\n",
    "import json\n",
    "import urllib.request\n",
    "import urllib.parse\n",
    "\n",
    "server_address = \"127.0.0.1:8188\"\n",
    "client_id = str(uuid.uuid4())\n",
    "\n",
    "def queue_prompt(prompt):\n",
    "    p = {\"prompt\": prompt, \"client_id\": client_id}\n",
    "    data = json.dumps(p).encode('utf-8')\n",
    "    req =  urllib.request.Request(\"http://{}/prompt\".format(server_address), data=data)\n",
    "    return json.loads(urllib.request.urlopen(req).read())\n",
    "\n",
    "def get_image(filename, subfolder, folder_type):\n",
    "    data = {\"filename\": filename, \"subfolder\": subfolder, \"type\": folder_type}\n",
    "    url_values = urllib.parse.urlencode(data)\n",
    "    with urllib.request.urlopen(\"http://{}/view?{}\".format(server_address, url_values)) as response:\n",
    "        return response.read()\n",
    "\n",
    "def get_history(prompt_id):\n",
    "    with urllib.request.urlopen(\"http://{}/history/{}\".format(server_address, prompt_id)) as response:\n",
    "        return json.loads(response.read())\n",
    "\n",
    "def get_images(ws, prompt):\n",
    "    prompt_id = queue_prompt(prompt)['prompt_id']\n",
    "    output_images = {}\n",
    "    while True:\n",
    "        out = ws.recv()\n",
    "        print(out)\n",
    "        if isinstance(out, str):\n",
    "            message = json.loads(out)\n",
    "            if message['type'] == 'executing':\n",
    "                data = message['data']\n",
    "                if data['node'] is None and data['prompt_id'] == prompt_id:\n",
    "                    break #Execution is done\n",
    "        else:\n",
    "            continue #previews are binary data\n",
    "\n",
    "    history = get_history(prompt_id)[prompt_id]\n",
    "    for node_id in history['outputs']:\n",
    "        node_output = history['outputs'][node_id]\n",
    "        images_output = []\n",
    "        if 'images' in node_output:\n",
    "            for image in node_output['images']:\n",
    "                image_data = get_image(image['filename'], image['subfolder'], image['type'])\n",
    "                images_output.append(image_data)\n",
    "        output_images[node_id] = images_output\n",
    "\n",
    "    return output_images\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "output_file = history['outputs']['168']['gifs'][0]['filename']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_images(ws, prompt):\n",
    "    prompt_id = queue_prompt(prompt)['prompt_id']\n",
    "    count = 1\n",
    "    while True:\n",
    "        print(count)\n",
    "        count = count + 1\n",
    "        out = ws.recv()\n",
    "        #print(out)\n",
    "        if isinstance(out, str):\n",
    "            message = json.loads(out)\n",
    "            if message['type'] == 'executing':\n",
    "                data = message['data']\n",
    "                if data['node'] is None and data['prompt_id'] == prompt_id:\n",
    "                    break #Execution is done\n",
    "        else:\n",
    "            continue #previews are binary data\n",
    "\n",
    "    history = get_history(prompt_id)[prompt_id]\n",
    "    output_file = history['outputs']['168']['gifs'][0]['filename']\n",
    "\n",
    "    return output_file"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'7663cc12-d749-4216-bc9f-3591e2b52b98'"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "queue_prompt(prompt)['prompt_id']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1\n",
      "2\n",
      "3\n",
      "4\n",
      "5\n",
      "6\n",
      "7\n",
      "8\n",
      "9\n",
      "10\n",
      "11\n",
      "12\n",
      "13\n",
      "14\n",
      "15\n",
      "16\n",
      "17\n",
      "18\n",
      "19\n",
      "20\n",
      "21\n",
      "22\n",
      "23\n",
      "24\n",
      "25\n",
      "26\n",
      "27\n",
      "28\n",
      "29\n",
      "30\n",
      "31\n",
      "32\n",
      "33\n",
      "34\n",
      "35\n",
      "36\n",
      "37\n",
      "38\n",
      "39\n",
      "40\n",
      "41\n",
      "42\n",
      "43\n",
      "44\n",
      "45\n",
      "46\n",
      "47\n",
      "48\n",
      "49\n",
      "50\n",
      "51\n",
      "52\n",
      "53\n",
      "54\n",
      "55\n",
      "56\n",
      "57\n",
      "58\n",
      "59\n",
      "60\n",
      "61\n",
      "62\n",
      "63\n",
      "64\n",
      "65\n",
      "66\n",
      "67\n",
      "68\n",
      "69\n",
      "70\n",
      "71\n",
      "72\n",
      "73\n",
      "74\n",
      "75\n",
      "76\n",
      "77\n",
      "78\n",
      "79\n",
      "80\n",
      "81\n",
      "82\n",
      "83\n",
      "84\n",
      "85\n",
      "86\n",
      "87\n",
      "88\n",
      "89\n",
      "90\n",
      "91\n",
      "92\n",
      "93\n",
      "94\n",
      "95\n",
      "96\n",
      "97\n",
      "98\n",
      "99\n",
      "100\n",
      "101\n",
      "102\n",
      "103\n",
      "104\n",
      "105\n",
      "106\n",
      "107\n",
      "108\n",
      "109\n",
      "110\n",
      "111\n",
      "112\n",
      "113\n",
      "114\n",
      "115\n",
      "116\n",
      "117\n",
      "118\n",
      "119\n",
      "120\n",
      "121\n",
      "122\n",
      "123\n",
      "124\n",
      "125\n",
      "126\n",
      "127\n",
      "128\n",
      "129\n",
      "130\n",
      "131\n",
      "132\n",
      "133\n",
      "134\n",
      "135\n",
      "136\n",
      "137\n",
      "138\n",
      "139\n",
      "140\n",
      "141\n",
      "142\n",
      "143\n",
      "144\n",
      "145\n",
      "146\n",
      "147\n",
      "148\n",
      "149\n",
      "150\n",
      "151\n",
      "152\n",
      "153\n",
      "154\n",
      "155\n",
      "156\n",
      "157\n",
      "158\n",
      "159\n",
      "160\n",
      "161\n",
      "162\n",
      "163\n",
      "164\n",
      "165\n",
      "166\n",
      "167\n",
      "168\n",
      "169\n",
      "170\n",
      "171\n",
      "172\n",
      "173\n",
      "174\n",
      "175\n",
      "176\n",
      "177\n",
      "178\n",
      "179\n",
      "180\n",
      "181\n",
      "182\n",
      "183\n",
      "184\n",
      "185\n",
      "186\n",
      "187\n",
      "188\n",
      "189\n",
      "190\n",
      "191\n",
      "192\n",
      "193\n",
      "194\n",
      "195\n",
      "196\n",
      "197\n",
      "198\n",
      "199\n",
      "200\n",
      "201\n",
      "202\n",
      "203\n",
      "204\n",
      "205\n",
      "206\n",
      "207\n",
      "208\n",
      "209\n",
      "210\n",
      "211\n",
      "212\n",
      "213\n",
      "214\n",
      "215\n",
      "216\n",
      "217\n",
      "218\n",
      "219\n",
      "220\n",
      "221\n",
      "222\n",
      "223\n",
      "224\n",
      "225\n",
      "226\n",
      "227\n",
      "228\n",
      "229\n",
      "230\n",
      "231\n",
      "232\n",
      "233\n",
      "234\n",
      "235\n",
      "236\n",
      "237\n",
      "238\n",
      "239\n",
      "240\n",
      "241\n",
      "242\n",
      "243\n",
      "244\n",
      "245\n",
      "246\n",
      "247\n",
      "248\n",
      "249\n",
      "250\n",
      "251\n",
      "252\n",
      "253\n",
      "254\n",
      "255\n",
      "256\n",
      "257\n",
      "258\n",
      "259\n",
      "260\n",
      "261\n",
      "262\n",
      "263\n",
      "264\n",
      "265\n",
      "266\n",
      "267\n",
      "268\n",
      "269\n",
      "270\n",
      "271\n",
      "272\n",
      "273\n",
      "274\n",
      "275\n",
      "276\n",
      "277\n",
      "278\n",
      "279\n",
      "280\n",
      "281\n",
      "282\n",
      "283\n",
      "284\n",
      "285\n",
      "286\n",
      "287\n",
      "288\n",
      "289\n",
      "290\n",
      "291\n",
      "292\n",
      "293\n",
      "294\n",
      "295\n",
      "296\n",
      "297\n",
      "298\n",
      "299\n",
      "300\n",
      "301\n",
      "302\n",
      "303\n",
      "304\n",
      "305\n",
      "306\n",
      "307\n",
      "308\n",
      "309\n",
      "310\n",
      "311\n",
      "312\n",
      "313\n",
      "314\n",
      "315\n",
      "316\n",
      "317\n",
      "318\n",
      "319\n",
      "320\n",
      "321\n",
      "322\n",
      "323\n",
      "324\n",
      "325\n",
      "326\n",
      "327\n",
      "328\n",
      "329\n",
      "330\n",
      "331\n",
      "332\n",
      "333\n",
      "334\n",
      "335\n",
      "336\n",
      "337\n",
      "338\n",
      "339\n",
      "340\n",
      "341\n",
      "342\n",
      "343\n",
      "344\n",
      "345\n",
      "346\n",
      "347\n",
      "348\n",
      "349\n",
      "350\n",
      "351\n",
      "352\n",
      "353\n",
      "354\n",
      "355\n",
      "356\n",
      "357\n",
      "358\n",
      "359\n",
      "360\n",
      "361\n",
      "362\n",
      "363\n",
      "364\n",
      "365\n",
      "366\n",
      "367\n",
      "368\n",
      "369\n",
      "370\n",
      "371\n",
      "372\n",
      "373\n",
      "374\n",
      "375\n",
      "376\n",
      "377\n",
      "378\n",
      "379\n",
      "380\n",
      "381\n",
      "382\n",
      "383\n",
      "384\n",
      "385\n",
      "386\n",
      "387\n",
      "388\n",
      "389\n",
      "390\n",
      "391\n",
      "392\n",
      "393\n",
      "394\n",
      "395\n",
      "396\n",
      "397\n",
      "398\n",
      "399\n",
      "400\n",
      "401\n",
      "402\n",
      "403\n",
      "404\n",
      "405\n",
      "406\n",
      "407\n",
      "408\n",
      "409\n",
      "410\n",
      "411\n",
      "412\n",
      "413\n",
      "414\n",
      "415\n",
      "416\n",
      "417\n",
      "418\n",
      "419\n",
      "420\n",
      "421\n",
      "422\n",
      "423\n",
      "424\n",
      "425\n",
      "426\n",
      "427\n",
      "428\n",
      "429\n",
      "430\n",
      "431\n",
      "432\n",
      "433\n",
      "434\n",
      "435\n",
      "436\n",
      "437\n",
      "438\n",
      "439\n",
      "440\n",
      "441\n",
      "442\n",
      "443\n",
      "444\n",
      "445\n",
      "446\n",
      "447\n",
      "448\n",
      "449\n",
      "450\n",
      "451\n",
      "452\n",
      "453\n",
      "454\n",
      "455\n",
      "456\n",
      "457\n",
      "458\n",
      "459\n",
      "460\n",
      "461\n",
      "462\n",
      "463\n",
      "464\n",
      "465\n",
      "466\n",
      "467\n",
      "468\n",
      "469\n",
      "470\n",
      "471\n",
      "472\n",
      "473\n",
      "474\n",
      "475\n",
      "476\n",
      "477\n",
      "478\n",
      "479\n",
      "480\n",
      "481\n",
      "482\n",
      "483\n",
      "484\n",
      "485\n",
      "486\n",
      "487\n",
      "488\n",
      "489\n",
      "490\n",
      "491\n",
      "492\n",
      "493\n",
      "494\n",
      "495\n",
      "496\n",
      "497\n",
      "498\n",
      "499\n",
      "500\n",
      "501\n",
      "502\n",
      "503\n",
      "504\n",
      "505\n",
      "506\n",
      "507\n",
      "508\n",
      "509\n",
      "510\n",
      "511\n",
      "512\n",
      "513\n",
      "514\n",
      "515\n",
      "516\n",
      "517\n",
      "518\n",
      "519\n",
      "520\n",
      "521\n",
      "522\n",
      "523\n",
      "524\n",
      "525\n",
      "526\n",
      "527\n",
      "528\n",
      "529\n",
      "530\n",
      "531\n",
      "532\n",
      "533\n",
      "534\n",
      "535\n",
      "536\n",
      "537\n",
      "538\n",
      "539\n",
      "540\n",
      "541\n",
      "542\n",
      "543\n",
      "544\n",
      "545\n",
      "546\n",
      "547\n",
      "548\n",
      "549\n",
      "550\n",
      "551\n",
      "552\n",
      "553\n",
      "554\n",
      "555\n",
      "556\n",
      "557\n",
      "558\n",
      "559\n",
      "560\n",
      "561\n",
      "562\n",
      "563\n",
      "564\n",
      "565\n",
      "566\n",
      "567\n",
      "568\n",
      "569\n",
      "570\n",
      "571\n",
      "572\n",
      "573\n",
      "574\n",
      "575\n",
      "576\n",
      "577\n",
      "578\n",
      "579\n",
      "580\n",
      "581\n",
      "582\n",
      "583\n",
      "584\n",
      "585\n",
      "586\n",
      "587\n",
      "588\n",
      "589\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'13e3864a-6e65-4425-a1b6-99b30483843f_00001-audio.mp4'"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "with open('/home/itek/Desktop/api comfyui/scripts/workflow/lp.json', \"r\", encoding=\"utf-8\") as f:\n",
    "    workflow_data = f.read()\n",
    "prompt = json.loads(workflow_data)\n",
    "\n",
    "prompt[\"168\"]['inputs']['filename_prefix'] = client_id\n",
    "prompt['208']['inputs']['image'] = '/home/itek/Desktop/api comfyui/121.png'\n",
    "prompt['202']['inputs']['video'] = '/home/itek/Desktop/api comfyui/d0.mp4'\n",
    "\n",
    "ws = websocket.WebSocket()\n",
    "ws.connect(\"ws://{}/ws?clientId={}\".format(server_address, client_id))\n",
    "images = get_images(ws, prompt)\n",
    "images"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'78': [],\n",
       " '82': [b'\\x89PNG\\r\\n\\x1a\\n\\x00\\x00\\x00\\rIHDR\\x00\\x00\\x02\\x00\\x00\\x00\\x02\\x00\\x08\\x02\\x00\\x00\\x00{\\x1aC\\xad\\x00\\x00\\x12\\xf3tEXtprompt\\x00{\"1\": {\"inputs\": {\"precision\": \"fp16\", \"mode\": \"human\"}, \"class_type\": \"DownloadAndLoadLivePortraitModels\", \"_meta\": {\"title\": \"(Down)Load LivePortraitModels\"}}, \"8\": {\"inputs\": {\"video\": \"d11.mp4\", \"force_rate\": 16, \"force_size\": \"Disabled\", \"custom_width\": 512, \"custom_height\": 512, \"frame_load_cap\": 128, \"skip_first_frames\": 0, \"select_every_nth\": 1}, \"class_type\": \"VHS_LoadVideo\", \"_meta\": {\"title\": \"Load Video (Upload) \\\\ud83c\\\\udfa5\\\\ud83c\\\\udd65\\\\ud83c\\\\udd57\\\\ud83c\\\\udd62\"}, \"is_changed\": [\"85bfd276cc78aabd13efbdbd1e890cbf8658fc503acc9eb7993e9e513a5efbfb\"]}, \"78\": {\"inputs\": {\"image\": [\"165\", 0]}, \"class_type\": \"GetImageSizeAndCount\", \"_meta\": {\"title\": \"Get Image Size & Count\"}}, \"81\": {\"inputs\": {\"expand\": 0, \"incremental_expandrate\": 0.0, \"tapered_corners\": true, \"flip_input\": false, \"blur_radius\": 13.9, \"lerp_alpha\": 1.0, \"decay_factor\": 1.0, \"fill_holes\": false, \"mask\": [\"83\", 0]}, \"class_type\": \"GrowMaskWithBlur\", \"_meta\": {\"title\": \"Grow Mask With Blur\"}}, \"82\": {\"inputs\": {\"mask\": [\"81\", 0]}, \"class_type\": \"MaskPreview+\", \"_meta\": {\"title\": \"\\\\ud83d\\\\udd27 Mask Preview\"}}, \"83\": {\"inputs\": {\"shape\": \"square\", \"frames\": 1, \"location_x\": 256, \"location_y\": 256, \"grow\": 0, \"frame_width\": 512, \"frame_height\": 512, \"shape_width\": 480, \"shape_height\": 480}, \"class_type\": \"CreateShapeMask\", \"_meta\": {\"title\": \"Create Shape Mask\"}}, \"129\": {\"inputs\": {\"onnx_device\": \"CUDA\", \"keep_model_loaded\": true, \"detection_threshold\": 0.5}, \"class_type\": \"LivePortraitLoadCropper\", \"_meta\": {\"title\": \"LivePortrait Load InsightFaceCropper\"}}, \"134\": {\"inputs\": {\"image\": [\"197\", 0]}, \"class_type\": \"GetImageSizeAndCount\", \"_meta\": {\"title\": \"Get Image Size & Count\"}}, \"165\": {\"inputs\": {\"width\": 512, \"height\": 512, \"upscale_method\": \"lanczos\", \"keep_proportion\": true, \"divisible_by\": 2, \"crop\": \"disabled\", \"image\": [\"196\", 0]}, \"class_type\": \"ImageResizeKJ\", \"_meta\": {\"title\": \"Resize Image\"}}, \"168\": {\"inputs\": {\"frame_rate\": 16.0, \"loop_count\": 0, \"filename_prefix\": \"LivePortrait\", \"format\": \"video/h264-mp4\", \"pix_fmt\": \"yuv420p\", \"crf\": 19, \"save_metadata\": false, \"pingpong\": false, \"save_output\": true, \"images\": [\"181\", 0], \"audio\": [\"8\", 2]}, \"class_type\": \"VHS_VideoCombine\", \"_meta\": {\"title\": \"Video Combine \\\\ud83c\\\\udfa5\\\\ud83c\\\\udd65\\\\ud83c\\\\udd57\\\\ud83c\\\\udd62\"}}, \"180\": {\"inputs\": {\"eye_retargeting\": true, \"eyes_retargeting_multiplier\": 1, \"lip_retargeting\": true, \"lip_retargeting_multiplier\": 1, \"driving_crop_info\": [\"197\", 1]}, \"class_type\": \"LivePortraitRetargeting\", \"_meta\": {\"title\": \"LivePortrait Retargeting\"}}, \"181\": {\"inputs\": {\"image\": [\"191\", 0]}, \"class_type\": \"GetImageSizeAndCount\", \"_meta\": {\"title\": \"Get Image Size & Count\"}}, \"182\": {\"inputs\": {\"image\": [\"8\", 0]}, \"class_type\": \"GetImageSizeAndCount\", \"_meta\": {\"title\": \"Get Image Size & Count\"}}, \"189\": {\"inputs\": {\"dsize\": 512, \"scale\": 2.3, \"vx_ratio\": 0.0, \"vy_ratio\": -0.125, \"face_index\": 0, \"face_index_order\": \"large-small\", \"rotate\": true, \"pipeline\": [\"1\", 0], \"cropper\": [\"198\", 0], \"source_image\": [\"78\", 0]}, \"class_type\": \"LivePortraitCropper\", \"_meta\": {\"title\": \"LivePortrait Cropper\"}}, \"190\": {\"inputs\": {\"lip_zero\": false, \"lip_zero_threshold\": 0.03, \"stitching\": true, \"delta_multiplier\": 1.0, \"mismatch_method\": \"constant\", \"relative_motion_mode\": \"relative\", \"driving_smooth_observation_variance\": 3e-06, \"expression_friendly\": true, \"expression_friendly_multiplier\": 1.0, \"pipeline\": [\"1\", 0], \"crop_info\": [\"189\", 1], \"source_image\": [\"78\", 0], \"driving_images\": [\"182\", 0]}, \"class_type\": \"LivePortraitProcess\", \"_meta\": {\"title\": \"LivePortrait Process\"}}, \"191\": {\"inputs\": {\"source_image\": [\"78\", 0], \"cropped_image\": [\"190\", 0], \"liveportrait_out\": [\"190\", 1], \"mask\": [\"81\", 0]}, \"class_type\": \"LivePortraitComposite\", \"_meta\": {\"title\": \"LivePortrait Composite\"}}, \"196\": {\"inputs\": {\"image\": \"/home/itek/Desktop/api comfyui/121.png\", \"upload\": \"image\"}, \"class_type\": \"LoadImage\", \"_meta\": {\"title\": \"Load Image\"}, \"is_changed\": [\"e7b44e8ab9281c19f8d7be6f8198bdccf143d568121d2d6fef1bcfe84bb6d3a5\"]}, \"197\": {\"inputs\": {\"dsize\": 512, \"scale\": 2.3, \"vx_ratio\": 0, \"vy_ratio\": -0.125, \"face_index\": 0, \"face_index_order\": \"large-small\", \"rotate\": true, \"pipeline\": [\"1\", 0], \"cropper\": [\"198\", 0], \"source_image\": [\"182\", 0]}, \"class_type\": \"LivePortraitCropper\", \"_meta\": {\"title\": \"LivePortrait Cropper\"}}, \"198\": {\"inputs\": {\"landmarkrunner_onnx_device\": \"torch_gpu\", \"keep_model_loaded\": true}, \"class_type\": \"LivePortraitLoadMediaPipeCropper\", \"_meta\": {\"title\": \"LivePortrait Load MediaPipeCropper\"}}, \"201\": {\"inputs\": {\"face_detector\": \"blazeface_back_camera\", \"landmarkrunner_device\": \"torch_gpu\", \"face_detector_device\": \"cuda\", \"face_detector_dtype\": \"fp16\", \"keep_model_loaded\": true}, \"class_type\": \"LivePortraitLoadFaceAlignmentCropper\", \"_meta\": {\"title\": \"LivePortrait Load FaceAlignmentCropper\"}}}b\\xaeHb\\x00\\x00\\x1b\\xe7IDATx^\\xed\\xdd]s\\xabX\\x92\\x05P@\\xaa\\x88\\xfe\\xff\\x7f\\xb7,\\x98\\x874\\xe9\\xd49\\xc8\\xd7\\xd53\\x15\\x13V\\xae\\xf5@\\'\\x08\\x0er?\\xec\\xad\\x0f_\\xd7\\xfa\\x9f\\xff\\xfcgY\\x96\\xf5T\\xe7K\\xdb\\xb6}\\xb3[\\xe5Ru\\x889\\xb7i\\xd8\\x05xo\\xc7q\\xcc\\xbby\\xf08\\x8e<R\\x87\\xd9\\xbe\\xef\\xdf\\xec\\xce\\xea\\x9a\\xf7\\xe5g\\xe9\\x9fA\\xff\\xc7\\x02\\xd8\\xb6mY\\x96\\xd8\\xc6\\x91a\\xc8mU\\x8f\\xcc\\x8f\\x02\\xbc\\x81\\x88\\xddy\\xaeG\\x86\\x8c\\xcea\\xdf\\xf7\\xd8\\xc6\\x91\\x94\\xe7\\x0c\\xbb\\xfb\\xbe\\xaf\\xeb\\x1aWU\\xc7qD\\xc6\\x1e\\xc7q\\xcfh^~\\x9c\\xfeu\\x1b\\xc3\\xb2,\\xf3n]0\\xe7\\x18\\xf2v1\\x0c3\\xc0\\xdb\\x8b\\xb0\\x1e\\xe6\\x9a\\xe09\\xc4\\x9c\\xf9\\x19G\\xb2\\x0f\\xe2H\\x14\\xc3\\xbe\\xef\\xdb\\xb6\\xc5\\xc1\\xb8<v\\xcf\\xfb\\x8c\\xee\\xf1?\\x9f9=\\xf9&\\xfa\\xe7\\x1a\\x18\\x86uzK\\x11\\xbb\\xb9\\xbd\\x1c\\x00:\\x88X\\x9f\\x87\\xdc\\xa6\\xd8\\xdd\\xb6\\xed8\\x8e\\xf5,\\x80\\x18\\xd6u\\x8d\\xe8\\x9f/\\xcfP\\x8d\\x0b\\x87\\x1a\\x88\\x13>\\xdf\\x01\\xccj\\x8eo\\xdb\\x96q?\\xa4\\x7f\\x9eV\\x8f\\xcf\\xe2I,\\xcf\\x05\\x10\\xdbP\\xe7WG\\x00~\\xa9\\xc8\\xe5WG\\xe6\\x04\\x8f\\xbc\\x8e\\xac\\xaf\\xb6m\\x8b\\xc4_K\\x13\\xe4\\xa7=\\xb1\\xadK\\x1dg\\xf4G\\x14\\xe7\\xa3\\x11\\xb0\\xd7\\x050\\xc7z\\x1d\\xe6\\x83\\xf3\\x99\\x97\\xf2I\\xc4\\x10?\\xf9<\\x00\\xbc\\xb7\\x08\\xe8y\\x88\\xc8\\xcea\\x96\\x9f\\xf9\\xc46v\\xd7\\xe7\\xf4\\xaf\\xab\\xe5\\x87B\\xdb\\xf9\\x06\"N\\x08\\x17\\x05\\xf0*\\xd6\\xabz0\\xe7:|c\\x99\\xde\\x01\\xcc\\x03\\xc0\\xbb\\x8at\\x9e\\x87\\xdc~c\\xdf\\xf7x\\x07\\x10\\xc3v~\\xe2\\xbf\\x9e\\xad\\x10\\xf2\\x95\\xfe\\xb2,y\\xdar~\\x1c\\x14\\x97/C\\x01\\x0c\\xd9=\\xc4\\xfa7\\xd6u\\xbd\\xddn\\xc3%u\\xa9jQ\\x00@c\\x91\\xcb\\xf3\\x90\\xdbK5\\xf7\\x8f\\xe3x<\\x1e[I\\xff\\xf5\\xc5/\\xfc\\xd4\\xa1\\x9e\\x10a\\xfb\\x87w\\x001\\xa4\\xdb\\xedVw\\xf3\\xc8\\xfa\\xba\\x00rHq\\xef\\x18\\xf2y\\xe4n\\x9a\\x8f\\x00\\xfcR\\x99\\xc5\\xc3\\x91\\x9a\\xd1y\\xa4\\x8a\\xb8\\xcf!\\x0b`=?\\x02z<\\x1e_\\xf1\\xba\\xae5Q\\x8fs\\xf1\\xe8\\x89\\xad|\\x1b\\x1c\\'|\\x15@M\\xea\\xcc\\xf1\\x88\\xf5\\x9a\\xfb1_6A^\\x18\\xe6eS\\xdc>\\x86|*u\\x00xW\\x99\\xcbu\\x889\\x86\\xaa\\x16@:\\xcaw\\xbf1\\xecg\\x13\\xc4\\x82\\xfb\\xf9K\\xa2\\xb1[\\x0f\\xc69\\xdb\\xb6\\x1d\\xf9\\xef\\x00RfwnSF\\xff\\xdc\\x07uH\\xb9`]|}N\\xff\\xd8\\xe6\\x90\\xbb\\x00\\xef\\xea\\x98^\\xfb\\xc76\\x87\\x88\\xf8\\x90\\xf3\\x19\\xfe\\x9f\\xd6\\xe7\\xdc\\x0f\\x8f\\xc7cy~y=\\x88[\\xecg1|\\x16@DsM\\xed<\\xb2=\\xbf\\xea\\xcf\\x02\\x98\\xb7u\\xd8\\x9e[$\\x96\\x1d,\\n\\x00\\xe8\\'\\x83~\\xd8\\x9d\\xed\\xe7\\xc7>\\xb1\\xcd\\xc4\\xdf\\xf7}\\xdb\\xb6\\x18\\xd6u\\xcd\\x1a\\x88\\x05\\xe7!\\xc5\\xf9\\xdb\\xf9\\x9d\\xf0=v2\\x943\\xbe\\x075\\xf7_\\xcdyf^\\x95\\x8b\\xc7v\\x16\\xcf)\\x86\\xdc\\xad\\x07\\x01\\xde\\xc0\\xf1\\xfc\\x1d@\\xec\\xe6\\xc1\\xa7\\xd4?\\xbdJ\\xffm\\xdbr\\x88\\xdc\\xcfm\\xacV\\xc3\\xf3x\\xbeo\\x88\\xfe\\xd8\\xf7\\xfd\\xe9;\\x80K\\x99\\xf2\\x83\\xf9\\xa1<\\xff\\xe9\\xfa?\\x15\\xc0\\xbc\\x05xc\\x11\\xca\\xc3v6D\\x7f\\xd8\\xb6-\\x87\\xfa\\xe1\\xcf^~\\x1d(\\x9b\\xa0:\\x8ec]\\xd7m\\xdb\\x8e\\xf3_\\x93m\\xdbv\\xf1k\\xa0%\\xba\\xc7\\x88O\\xf7\\xfb}\\xdb\\xb6\\xfb\\xfd\\x1e\\xbb1\\xc7\\xf9\\xb9\\r\\xb9`\\xbdE\\x8ag\\x16\\xc3\\xb0\\x0b\\xf0f\\x8e\\xe9c\\x9f\\xdc\\x1dr?\\x86\\x98?\\xb3\\x7f\\xdf\\x1f\\x8f\\xc7\\xedv\\xcbO~j\\xcc\\xee\\xd3\\xef\\x80\\x0e\\xe2^\\x91\\xfbq\\xf9R\\xbf\\x03\\x88Ur\\xc5*c=\\xa2\\x7f.\\x80<\\x12s^\\xb2=\\x17@l\\x07\\x8b\\x02\\x00z\\x88\\x14\\xce!\\xb7\\x83\\x9a\\xfb9d\\xfaog\\x82\\xe7;\\x80\\xe5\\xf97|f\\xb1\\xecpp\\xdf\\xf7{\\xa6\\xf3:\\xd5@\\x86\\xfbvf\\xfd\\xab\\xed,V\\x88Er\\xcd\\xdc\\xa6\\xe5\\xf5G@u\\x06\\xf8\\xd5j\\xfe\\xc6<lS\\x86~l\\xe3\\xf5\\xfe\\xbe\\xef\\xb73\\xfd\\xb7\\xf3\\xc3\\x9f\\x98#K?>>r\\xfd\\xbcK\\x1a\\x8e\\xc7%[~\\x04\\x94\\x0b\\xc50\\x88\\x10\\x8fd\\xbf\\xdf\\xefs\\x01\\\\\\xbe\\x15\\xa8\\xd7\\x0e\\xcfu\\xb0(\\x00\\xe0\\xad\\xd5\\x14\\x8e9\\xb7\\xb3H\\xfc\\x18\\xb2\\x00\\xe2\\x1d\\xc0\\xc7\\xc7\\xc7g.\\x9fq\\xbaL\\xf9yL\\x9f/\\xe5\\x8d\\xea\\xf1\\xbd~\\t\\xbc\\x96\\x17\\xe9)c}\\x105\\x90e\\x10Gr\\x1br\\x85\\x18r\\xe5z\\xc7\\xf5\\xf9\\xd9\\xc7\\x10\\xea\\x0c\\xf0\\xabe\\xec\\xc6\\\\\\xb38vSM\\xff\\xa1\\x00\\xe2\\x1d@t@\\x04f\\x0eu\\xe5\\xe3y\\xf1\\xdb\\xedV\\x1f\\xda\\xce\\xbf\\n\\xb7\\xc6\\x9f\\x83\\xae\\xe9<\\xcb@\\xbf=\\xe7~\\x15\\x0f\\xe56\\xe5\\n\\xdbT\\x001,%\\xf7c[\\x07\\x80w\\x12\\xa1\\x9cC\\r\\xeb\\x08\\xfd\\x18\\xb2\\x00\\xe2U\\x7f\\x0cg$\\x7f}\\x96\\x9e):\\xa8\\x8b\\xdfn\\xb7\\x18\\xaa\\xed\\xfc]\\xa0\\xa7\\x7f\\x08\\x16C\\xa8\\t\\x1e\\xbb\\x19\\xeeC\\xfa\\xa7|(\\xaf\\xad\\xdb\\\\\\xbc\\xden}\\xd1\\x01\\xc3\\x0c\\xf0\\xab\\x1d\\xcf\\xef\\x00b[\\x87\\xe3\\xea\\xbb\\xdfx\\xf9\\x9f_\\xff>\\x1e\\x8f\\x8f\\x8f\\x8f\\x1a\\xa1\\xb9f\\xae\\x9c\\xcb\\xee\\xfb~\\xbb\\xdd\\x8e3\\xeec\\xc1\\x9c\\xb7\\xe1\\xdf\\x01\\xe4\\xa2\\x11\\xd3!\\xa2\\xbc\\xaaA\\x7f\\xbf\\xdf\\xff\\xfa\\xeb\\xaf\\xd8\\xcd!\\x0b\\xe0V\\xbe9\\x88\\xd5r\\xf1\\xbc\\xddr\\x95\\xfe\\xc3.\\xc0o\\x17\\xa1\\x1c\\xdb\\xba\\x9ba\\x9d\\x19]k B\\xffV\\xbe\\xfe\\xad\\xe1\\xb9<\\xe7d\\xac\\x90b\\x9d\\x08\\xe1\\xd8\\x8d\\xab\\xb2\\x06\\xd6\\xfa_\\x04\\xcb\\x80\\x8em\\x95\\x81\\x1e2\\xe2\\xb3\\x06\\x06\\xf1P^8\\xac\\xb6\\xbd.\\x80\\x18B\\x9d\\x01~\\xb5\\xe3\\xf9\\x1d@\\xec\\xe60\\x14@\\xba\\x9d/\\xfco\\xe7\\xd7\\xbf\\x91\\x9353\\xe3\\xc2\\x14K\\xc5\\xb5y0\\x827\\xe7\\xd8.\\xcbr\\xaf+f@W\\x91\\xe0\\xb9\\rc\\xe4\\xdf\\xef\\x7f\\xfd\\xf5W\\xceqB\\xbddX3\\xee5\\xfc\\x181\\xe4\\x16\\xe0\\xcd\\x1c\\xe5}@\\xc4q\\x0e\\x19\\xdcU\\xbc\\xf0\\xbf\\xddn\\x8f\\xf3\\xf7>#-kH\\xd6u\\xf2\\xc2\\xdb\\xed\\xb6\\xef\\xfb\\x10\\xbcy\\xa3\\x98\\xd7\\xfc\\x128\\xc4\\xba1\\xc4\\x91\\x0c\\xf1\\xd8V_\\xd9\\xff,?\\x0b\\xca3s\\x85To\\xb4\\xbc(\\x80\\xd8\\x02\\xbc\\x81\\xcc\\xe8\\xba\\xad\\xc1\\x9d\\xe9\\x9c\\xeaG\\xff\\x91\\x96\\xdb\\xf9\\xc9O.\\x92\\xeb\\x0c\\xd7\\xe6\\x9a{\\xa9\\x81\\x9c\\x8f\\xfa[@)\\x1e\\x8b!wC\\xa6y\\xc8|\\xcf\\xd0\\x8f\\xdc\\x1f\\xde\\x07\\xa4\\xbaN]\\x7f\\xb9\\xfa\\x08(\\xb6\\x00o&R;\\xf2\\xba\\x0e5\\xb2\\x1fW\\xff\\xf2+23\\xb3\\xb1\\x86dM\\xfc*/\\xac2\\xfa\\xc3\\xf8\\xdf\\x03X\\xaf>\\x08\\x8a\\x04\\xcf4\\x8fp\\xcf\\x94\\xcf\\xc4\\x0f\\xd1\\x01\\xf5\\xcc\\xdbY\\x001\\xe4-\\xeaM\\xe3G\\x8aa\\xfe\\t\\x01~\\xb5\\x08\\xfa\\x9ck\\x01\\x84H\\xed\\xe38n\\xe7_\\xfb\\xc9\\x10\\x1f\\xa2rY\\x96\\xb5|\\xf4\\x7f\\xbf\\xdfs\\xf8\\x8a\\xffS\\xac\\x90\\x8b\\xc4\\xfcum]\\xba\\xca\\xcbBdw\\xa6y\\x0c\\xb7\\xe9\\xad@UO\\xa8\\x8bl\\xcf\\xdf\\x01\\x84\\xf8\\x91r\\xc8-\\xc0\\x1b8^|\\xf8\\x93\\xf6\\xf2*~+\\x7f\\xf23\\x821\\x86\\\\a\\xb9z\\xe1\\x1f\\x1f\\x19\\xc5\\x10I;;\\x86w\\x00\\xcb\\x99\\xbca8{>\\xf2\\x19\\xfc%\\xdc\\xc7\\xe0?\\xe5\\t!/\\xdf\\x14\\x00\\xd0L&~l\\xeb\\x102\\xcd#\\xbec\\x18B2WX\\xca/\\x0e\\xdd\\xcf\\x17\\xfe\\xb7\\x17\\xe9\\x1f\\x97\\x0f\\x91\\x1b\\xc6\\xef\\x00\\xean\\x1cI5\\xc4_\\xf9\\xa6\\x00n\\xd3\\xf7\\xc0\\xb1\\r\\x8b\\x02\\x00\\xdeW\\x04wn\\xebp\\\\\\xbd\\xfc\\xaf\\xe9\\xbf\\x94<\\xccKn\\xb7[\\x9c\\x9f\\xd1\\x7f;\\xbf3\\x88\\xdd\\xa1\\t\\xd6u\\xdd\\xe6w\\x00u\\xa7\\xaaW\\xa69\\xc7\\xbf\\xd2}zC\\x90GR\\x9c_\\x17\\x8f\\x1f\\xac\\xca\\xff\\xbf\\xea\\x0c\\xf0\\xab\\x1d\\xd3w\\x00i9?\\xcf\\xd9\\xcb\\x97\\xc0C*f\\x1e\\xc69G)\\x80\\x1a\\xf4\\x91\\xb4\\xaf\\xde\\x04\\x84\\xed\\xfck\\xd2k\\x14@\\xac^\\xd5\\x0bb\\xaek\\xd5L\\x1fd\\xe2\\xcf\\xc3\\xed\\xc7\\x05\\x10[\\x807\\x13q_\\xd3?\\x8e\\xd4\\x02X\\x9f\\xff\\xf3^q\\xe1z~\\xeb{\\xbf\\xdf\\x8f\\xe3\\xd8\\xcfW\\xfd1\\xc4|\\x9b\\xfe\\xc1p\\xba<\\xb8\\xce\\xdf\\x01TyMng\\x19\\xee\\x97\\xea\\xfb\\x808\\xb9^;\\xdeo]W\\xef\\x00\\x80w\\x14A\\x9f\\xf3`;\\xbf\\xf5\\x8d\\xe8\\xcf\\xcf\\x7f\\xca\\x02_\\xbf*\\x9a\\xb9\\x1fC\\r\\xd5K5`c\\xcd\\xdc~~\\x04T\\x0f\\xcd\\xea*u\\xdd\\x0c\\xf4\\x88\\xfb\\x1c\\xaa|\\x07PO\\x1b\\xd6\\\\\\xcb\\xad\\xeb3)?;\\xc0/v\\xfc\\xe9;\\x80H\\xc5}\\xdf\\x1f\\x8f\\xc7\\xf2\\x1c\\x80qr\\x16@\\xfc\\xb6\\xcf\\xad|\\xe2\\x1fqZCu\\x98c\\x18,\\xf1\\x9f\\x84\\x8c\\x9b\\xbd2\\xafx\\xdehTS>\\xe5\\x91:\\xd4\\xd5\\x06\\xf93\\xd7\\x19\\xe0W\\x8b\\x10\\xcfy\\x10\\xe9\\x17C\\x9c\\x13\\xc3q\\xfe=\\xe7\\xe5,\\x80\\xfc]\\xcf\\xaf\\xe4-\\xd6\\x9fE\\x7f\\xfa\\xfa\\x08(\\x87K\\xc3\\xd2\\xe7\\xed\\xaee\\xdc\\xc7V\\x01\\x00\\xcdE\\x88\\xe7<\\x88\\xf4\\x8b!\\xce\\x89!\\x1e\\x8d\\x0e\\xf8&\\xf7\\xc3\\xfa:WS\\xae\\x1c\\xbb\\x9f\\xef\\x00r?\\x87o\\xe4\\x9db[E\\xbe\\xd7\\xdd<R\\xe7\\x94k\\x0eO \\xb7\\x00o\\xe0\\xf8\\xf6#\\xa0H\\xbf}\\xdf\\x87K\"\\xfa\\x8f\\xf3\\xcfyn\\xdbv\\x9b~\\xc9g}\\xce\\xe4P\\xe7\\xb0<g{\\xdc\\xe2\\xe9\\x1d@\\x9d\\xbfN<\\xcdw\\xca\\xedl\\xce\\xfa\\xf0\\x93w\\x00u\\x0b\\xf0\\x062\\xf1c;\\x88s2\\x03\\xebC\\x99\\x9c\\x97/\\xff\\xd7)\\x8ds\\x9br\\xe5\\xdc\\xcd#\\xe3;\\x80\\xd8\\x1d\\x86Ky\\xa7\\xef\\x87\\xef\\xcd\\xb7\\x88#\\xb9\\x05x\\x03\\x91\\xf2\\xb9\\xad\\x963\\x06\\xe3\\x1d\\xc0\\xf0hDe\\xa6\\xff:el\\x0c\\x19\\xa1\\x97\\xe2\\x16\\xf1L\\xf2\\xc82\\xbf\\x03\\xa8\\xbb\\xc30\\xcb\\xbb\\xd6\\xa1>\\xb3?\\x9a\\x17\\x8f#\\xb9\\x05x\\x03\\x11\\xf4\\xb9\\xad\\xe63\\xabL\\xcb\\xcc\\xd5\\x88\\xcay\\x98-S\\xc0\\xc6\\xc1<~\\xcf\\xbb^><\\x1c\\xcf9\\xd5\\'q9\\xe7n\\x95\\x0f\\xcd\\xe2.\\xb9\\x05x\\x03\\x11\\xf4\\xb9\\x1dD\\xfam\\xdb6<\\x1a\\xbf\\x1e\\x1a\\x0fer\\x0es\\x0c\\xd5r\\x95\\xdb\\xf9L\\xea\\xee\\xd7G@\\xa9>\\x1cs\\xec\\xe6\\xfc\\x8d\\xfal>\\xc3\\xfe\\xea\\xf9}\\xf3P\\xdc(\\xb7\\x00o\\xe0\\xf8\\xb6\\x00\\xe2\\x9c\\x8c\\xfb\\x94QY\\x9b\\xe0\\xf9\\x94k\\xcb\\x8b\\xd7\\xf4\\xb9\\x1b.>\\x02\\n\\xc3\\xd9u7\\xe7K\\xf3\\xf3\\xcb\\x9f!\\x0c\\x8f\\x0eb\\xfd\\xdc\\x02\\xbc\\xbd\\x0c\\xc0\\xad\\xfc\\xb1\\xfe\\xa3\\xbc\\x03\\xc8G\\xeb\\xee\\xac.5\\xac\\xfct\\xbf\\xf3\\xf8\\xcb\\x8f\\x80^\\x1d\\xcf\\xdd<8\\x1c\\xf9\\xa3\\xcb2\\xc8ub\\xc8-\\xc0[Z\\xcb\\x7f\\xd4%\\x0f\\xceo\\x02\\xbe\\x17\\xeb\\x0cG\\xea\\xc1\\\\\\xf9\\xf2\\xf8W\\x01\\xa4\\x1f^9\\x1c\\xac\\x8f\\x8e\\x87~ \\xaf\\x8a!\\xb7\\x00o\\xaf\\x86\\xe17.\\xcf\\xbc\\\\\\xa7\\x1e\\xfc\\xe6\\xf8E\\x01\\xa4W\\xd7\\xe4\\xf1\\xcb\\x13\\xc6\\xc7~&/\\x8c!\\xb7\\x00o\\xaf\\x86\\xe1\\xf7\\xbe\\xbf\\xaa>ZO\\x18\\x8e\\xa7\\x8b/\\x81g_\\xcb\\xbfXk8a0\\x9e}\\xa5\\x9e\\\\\\xb7\\x00o\\xa9~\\xf2\\xf3J\\x06\\xe3\\xa5\\xf1\\xec\\xe9\\xfc\\xf1\\xe1\\xc9\\xf8\\xe7\\xa0\\xc7\\xc7\\xaf\\xd4\\xf3\\xab\\xf1\\xbc\\xd3x\\xde\\xb7\\xe2\\xfc\\xdc\\x02\\xbc\\xbd1\\x07O\\xe3y\\xa7\\xf1\\xbc\\xd3x\\xde\\x95z\\xfe\\xf8\\x11P}lx\\xe8\\x8f\\xea\\xb5\\xff\\xd4\\xb8\\x16\\xc0[\\xab\\xb97\\x06\\xe2\\x9f\\x94e~\\xea\\xf2\\xda\\xb1\\x00\\xaar\\xbb\\x8b+\\xffo\\xd5[\\xd4-\\xc0[\\xfa\\xc9G@\\xff\\x9d\\x8c\\xd3j<iY\\x96e\\xd9\\xc6\\x03\\xdf\\x1a\\x97<\\x8d\\xe7\\x01\\xf0/\\x1b\\x83\\xf84\\x9e\\xf7\\xdaw\\xef\\x00~n\\xbc\\xff\\xffB\\xac\\x96[\\x80\\xb77\\xe6\\xe0\\xcf\\x8c\\xab\\xfcs\\xff\\xec\\x1d\\x00\\x00oC\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004\\xa5\\x00\\x00\\x9aR\\x00\\x00M)\\x00\\x80\\xa6\\x14\\x00@S\\n\\x00\\xa0)\\x05\\x00\\xd0\\x94\\x02\\x00hJ\\x01\\x004u\\x1f\\x0f\\xfcW\\x8e\\xff\\xd6\\xb8\\x10\\xc0;\\x8a\\xb8\\xcb\\xed\\xff\\x89\\xf1\\x1e\\xff\\xdc?{\\x070\\xde\\xff4\\x9e\\x07\\xc0\\xbfl\\x0c\\xe2\\xd3x\\xdek\\xdf\\xbd\\x03\\x18W\\xfd\\'\\xeb\\xfeS\\xff\\xea\\xe2\\x00\\xff\\xbf\"\\xe2r\\xfb\\xaf&^\\xc9\\xec/\\xe3I\\xcb\\xb2\\xcc\\x05\\xf0\\xc7\\x0b\\xbeQ\\xaf\\xfd\\xa1\\xbcv]\\xd7\\xb2\\x12\\xc0\\x9b\\x1b\\xd3\\xf0\\x9f\\x18\\xd7\\xfa\\x81\\xcbk\\xef\\xf5\\x81\\xe1\\xb1W\\xea\\xf9\\xd5x\\xdei<\\xaf\\x18O\\x05xG\\x11w\\xb9\\xfd\\xa1q\\x95\\xd3x\\xdei<\\xefJ=\\xff\\xfe\\x93k\\xea\\x05\\x97\\xe7\\x0f\\'\\x0c\\xc6\\xb3\\xaf\\xfc\\xf04\\x80\\xdf(\".\\xb7?L\\xbc\\x92\\xa3\\x17\\xc6\\xb3\\xa7\\xf3\\xc7\\x87\\'\\xe3G@\\xd5\\xabU\\xca\\xfa\\x17\\'\\x8c\\x8f}\\xab^\\x08\\xf0\\xae\"\\xeer[\\x87\\x7fdX\\xf3\\x9bG\\xeb\\t\\xc3\\xf1tQ\\x00\\xaf\\xae\\xb9<\\x9e\\x07\\xeb\\xa3\\xe3\\xa1\\xd7\\xeaR\\x00\\xef*\\xe2.\\xb7u\\xf8\\xb9\\xcbK\\x86\\xbb\\xcc\\x07\\xbf9\\xfeU\\x00\\xaf\\xce\\x18\\x8e\\xe7n\\x1e\\x1c\\x8e\\xfc\\xd1\\xbe\\xef\\xb9\\xf8Z\\xe4A\\x807sL\\x05P\\xed\\xa7\\xf1\\x81?\\x99W\\xcb\\xdb\\xd5\\xdd4\\x1c\\xff\\xfa\\x12\\xf8\\xe9\\xac\\xe9\\xbc\\xba\\x9b\\xf3\\xa5\\xf9g\\xd8\\xf7\\xbd\\x06\\xfd\\xb6m\\xf9\\xd0\\xd3-\\x01\\xdeT\\xc4]n_\\xc9&\\xb8\\xec\\x83\\xf9\\xc8\\xa0.\\x9e\\xf7\\xad\\xbb)\\x0e^|\\t\\xfc\\xea\\xe2\\x9c\\xbfQ\\x9f_\\xfe\\x0c5\\xf1\\xf3\\xa1X\\xbf\\x16C\\x88\\x83\\xb9\\x05x\\x03\\xc7\\xb7\\x05p\\x19\\xf7y\\xbc>ty\\xda\\xac\\xde%\\x9f@\\xdd\\r/?\\x02\\xca\\xb9\\x1e\\xcf9\\xe5\\xb3\\xa9\\xcf2\\xe6\\xcc\\xfd\\xfd\\xf9\\x1d\\xc0\\xb2,\\xb5\\x12\\xeaC\\xf1h\\xdd\\x02\\xbc\\x81\\xe3u\\x01\\xe4\\x91\\xcf\\xb0/\\xf2\\x9c\\xba;\\xccyN\\xaa\\xb7\\xc8\\xb9>\\x93\\xdc\\xbd\\xf8\\x08h\\xbe,\\x86\\xd9\\xfc$\\xf2\\x99\\xc5\\x10\\xe6\\x88\\xaf\\xe6G\\xeb\\x16\\xe0\\r\\x1c\\xdf\\x16@\\r\\xccW2W\\xe3\\xaay\\x98\\xcd\\xf7\\x8a\\x83y\\xfc\\xeb#\\xa0\\xfa\\xf00\\\\\\x1a\\x9e\\xd0\\xaba\\xbf*\\x80\\\\dx(\\x1e\\xad[\\x807p\\xbc.\\x80\\xe3*6\\x07\\xf39\\xc3\\xf0\\xb4\\xdc$o\\x9dw\\x8fy|\\x07P\\xcf\\x1e\\xd4;\\r\\xdb\\xd9\\xe3\\xf1X\\xd75\\xe6!\\xdf\\x8f\\xe3\\xd8\\xb6\\xcf?BW\\x8f\\xd7!\\xb7\\x00o\\xe0\\x98\\n \\x87W)Z=\\x1e\\x8f\\xf1\\xd0\\xbe\\xefWi\\x9c\\xdbTo\\x14\\xbbyd|\\x070\\x9czi\\xb8S\\xf5x<n\\xb7[\\xdd\\xad\\x11\\x9fr\\xa9|t>\\xad\\xce\\x00\\xbf\\xdaq&m\\xcc\\x83\\x08\\xcc\\x18\\x1e\\x8fG\\xc6}\\x9d\\xf3H\\xdd\\xdd_\\xe4~\\x9d\\xc3p\\xdfx&O\\xef\\x00\\xea\\xc3\\x83\\xbcA\\x1d^y<\\x1e\\xdb\\xb6E\\xfa\\xc7\\xb6\\xfe\\xfc\\xc7q\\xac\\xeb\\x1a\\xcb>\\x87\\xff\\xba*\\x00\\xe0\\x1de\\x00\\xc6<\\x88\\xe4\\x8c!C\\xbf\\x0e\\xb9\\xfdF]\\xe7\\x95|&\\xb1\\xfb\\xf9\\x0e\\xa0\\x9e1\\xc8\\xe5\\x86{\\xcc\\x1e\\x8f\\xc7\\xedv\\x8b\\xc4\\x8f\\x0fy\"\\xd3\\x1f\\x8fG\\xfd\\xf9\\x8f\\xab\\x02\\xc8\\x93c\\xc8-\\xc0\\x1b\\x88\\x00\\xccm\\x1d\\x8e\\xd7\\x05\\x90\\xbb)\\x8f_\\xaaK\\xc5\\x9c\\xb7\\xb8t\\x8f\\xff\\x19\\x9e\\xd9`X1\\xe5\\xf3\\x88g\\x16\\xaf\\xfa\\xb7m[K\\x01\\xcc?\\xff\\xb6m\\xf1k\\xa0\\xfb\\xf4\\xfdp=\\xbf\\xce\\x00\\xbfZ\\x04`\\xce\\xb39Z\\x1f\\x8f\\xc7\\xc7\\xc7GF\\x7f\\xca\\xc8\\xad\\'\\xa7\\xbaZ\\xce_\\xb7)\\x96\\xf9\\xcfAW\\xb9Dng\\x8f\\xc7#\\x02=\\x87Z\\x00\\xf5\\x07\\xbe\\xddn\\xb1\\xdd\\xf7=\\xcf\\\\\\xca\\xf7\\xc0Y\\x00\\xa2\\x1fxK\\xc7\\xd5\\xeb\\xec\\xa5\\xfc\\x1a\\xe8q\\x1c5\\xe2\\x1f/:\\xa0\\xcak_\\x99o\\x97\\xdb\\xeb\\x8f\\x80\\xea51\\xd7\\xe5\\xe2\\xae\\x11\\xfa1\\xc4\\x9c\\xd1\\x1fQ~\\x94\\xcf|\\xc2\\xb6m\\xc7q\\xc49\\xdf\\x14@\\xa83\\xc0\\xaf\\x96y\\x18s\\xb5|[\\x00\\x8f\\xe7\\x0e\\xf8\\xbe\\x0f\\xea:\\xd5\\xe5\\xc1#?\\x02\\x9a\\xe5BU\\xdcc\\xf8=\\x9f,\\x80H\\xf0\\x8f\\x8f\\x8f\\xfa\\x03\\xd75\\xb7m\\xdb\\xcf\\x97\\xffk\\xa9\\x8a\\xc8\\xfa:\\xe4\\x16\\xe0\\rd\\x1e\\xc6v\\x88\\xc7\\xfd\\xc5\\xeb\\xec\\x10\\xa1\\xff\\xf1\\xf1\\x91C}t\\xbe\\xaa\\x1e\\ty\\xa3\\xbcWx*\\x80}\\xfa\\xbb=u\\x89\\xc7\\x19\\xfdq\\x8f\\x08\\xfdH\\xf3Z\\x00\\x19\\xdc\\xc7\\xf4\\x13n\\xdbv\\xbb\\xdd\\xe6\\xf4\\x8fK\\xea\\x90[\\x807\\x90y\\x18\\xdb!\\x1e#!c\\x9b\\t\\x1eI\\xfbx.\\x80\\x9f\\xbc\\x03\\xa8s\\x8a\\xc5cH\\xe3w\\x00\\xcf\\x97\\x8c\\xa5\\xb4\\x9f/\\xf9c\\xfb\\xf1\\xf1\\x919\\xbe\\x95\\x7f\\xdb\\x95?p]6\\xd2?\\x868?.\\x0cqa\\x0eu\\x1d\\x80\\xdf\\xee\\xf8q\\x01D\\xcc\\xe6\\x90\\x89\\x9f\\x05P\\xd5\\x13\\xc2gR\\x17u\\xfd\\xc1O?\\x02z\\x9c\\xbf\\xe2\\x199\\x1eCt\\xc0\\xba\\xae1\\xc4\\xcf\\x19\\xc1\\x1d+\\xe4Rqr\\x0cq\\xfe7\\x05P\\xd7\\x01x\\x03\\xc7\\xf4\\x1d@\\x0e\\x99\\x93\\x91\\x99\\x91\\xb7\\x19\\xbc\\x8f\\x17\\x1d0<\\xf4\\x98~;\\xe8R\\xbd\\xe3qY\\x00\\xe3\\x15\\xcf\\xaf\\xfa#\\xeb3\\xbek\\x8e\\x1f\\xd3\\xb7\\xbe\\xb9Z\\\\\\xf8x<n\\xb7[^\\xb5\\x95/\\x81\\x87!\\xff\\x9f\\x02x\\x1b\\x11\\x92\\x91\\x8du\\xd8\\xcf\\xe8?\\xce/\\x813{SF\\xff\\xdf\\x7f\\xff\\x9d\\xbb\\xc3P\\xcf\\x7f\\xbc\\xfe\\xf5\\xd0<2~\\x07\\x10\\xb9\\x1c\\x8f\\xd5S\\x1f\\xe5\\xe3\\xfe\\xed\\xea\\x85\\x7f\\xfel\\xf9S\\xd5k\\xe3\\xa3\\xff\\xad\\xfc\\xb2P\\xd6\\xc02E\\xbf\\x1a\\x00\\xdeL\\xc4\\xe3\\xb0\\xcda\\xbf\\n\\xe8H\\xf0L\\xf3\\xc8\\xf7\\xbf\\xff\\xfe;k \\xa3?\\x1fMu\\x9d*\\xee\\x92\\xeeq\\xcbeY\"\\x91cw\\xdb\\xb6}\\xdf\\xd7u}\\x94\\xd7\\xfe\\xb1M\\x91\\xda\\x19\\xd35\\xaf\\xe36\\xfb\\x19\\xfd\\xf5#\\xa3\\xbc6W\\x88ks\\x18\\x96\\x02x\\x1b\\xc7\\x8b\\x02\\x88\\xc0\\x8cm\\x95i\\xfe\\x98\\xbe\\n\\x1e|\\x06\\xff\\xa4\\xae\\x96\\xeb\\xc7\\x1d\\x8f\\xe3\\xb8\\xef\\xfb\\xbe\\x9e\\x7f\\x98!\\xe6\\xb5\\xfc\\x15\\xcf\\xfd\\xf9\\xf3\\x9f\\xd8Fv/\\xd3\\xa7\\xf6\\xb9h\\xdc\\xe0Q~k\\xa8\\x84\\xff\\xe7\\xe5\\xeb\\xeb\\x8f\\x80B\\x9d\\x01~\\xb5\\xe3\\xf5w\\x00\\xcb\\xf9\\xa29\\xc2s\\x909\\x1e)?\\x06\\x7fqf\\xfega\\x8c\\x0b\\x9d2\\xa2\\x8f\\xfa\\x11\\xd0~\\xbe\\xf0\\x8f\\xed~\\x16\\xc0\\xbe\\xef\\x8f\\xf3\\xcf\\xfb\\xe4\\xb6\\x8a\\xcb\\xf3\\x87\\x89\\xa5\\xf6}\\x8f\\x17\\xfe\\xf1\\x0e s\\xff\\xfb\\x02\\x88\\xffw\\x86]\\x80\\xdf.Cr\\xd8\\x8d!\\x139\\xc23\\x87\\x1a\\xe8!\\xb3>>\\x02\\x8a#\\xf9P\\x9eV/\\x89\\xa5\\xea\\xca\\xb9\\xfe\\xc5w\\x00u\\xfb(\\xbf\\xdd?D\\xff\\xf0\\x83\\xcd?\\xc3\\xe3\\xfc\\xc5\\xa1(\\x80Xan\\x91\\xe5\\xaa\\x03\\x86\\x19\\xe0W\\xcb\\x9c\\xcc9\\xd22\\x87H\\xce\\xcc\\xcf\\x182\\xcac\\xfb\\x98\\xbe\\xfb\\xad\\xe2\\xe0g\\xea?\\x1eqU^>\\xac\\x1cw\\xfc,\\x80\\xfd\\xfc (\\x86\\xf5\\xfc\\x13\\x9e\\xeb\\xf3\\x9b\\x80\\x94?I\\xfe<\\xb9\\xe8\\xbe\\xef\\xf1\\xaa??\\xfa\\x9f\\x0b \\xe6X\\'\\x17\\xcce\\xe7\\xf5\\x01\\xde\\xc0\\xf1\\xe2\\x1d@\\xe6g\\x0c\\x99\\xa55\\xc4S\\xcd\\xfa\\xb9\\x03\\xf2\\xa1zy]3\\x87#\\xbf\\x04\\xde\\xceo}\\x973\\x91\\xc3~F\\x7f\\x1e\\xff\\xfaQN\\xb9V\\xbdA\\\\\\x18\\xe9\\x1f\\xc3\\xfa\\\\\\x00i)\\x9f\\xf9\\xc4\\x10\\xea\\x0c\\xf0\\xabE\\xd0\\xe7\\x1c\\xbb\\xb9\\xad\"?s\\xc8\\x10\\x8fp\\xcf|\\xafq?\\xc83\\xeb\\xe5)V\\x8e\\xed\\xcb\\x8f\\x80\\xc2\\xe3|\\x1f\\x10\\xdbT\\x7f\\x8cX+\\x86}\\xdf\\xef\\xf7\\xfb\\xa3\\xfc\\xde\\xe7\\xe5\\xcb\\xffA\\xbd\\xc5\\xf9\\x7f\\x91\\x02\\x00\\xde\\xc7q\\xf5\\x11Plg5\\xa93\\xc1c\\xa8\\xf9\\x1es\\xdd\\xce\\xea\\n\\xb9f\\xde\\xe8\\xeb#\\xa0\\xe5\\xfc\\xc0\\'\\x86\\xea\\xf1\\xfc\\xdf\\xf6\\xba\\xfc\\x01\\xf2\\x06\\xfb\\xf9\\xf5\\xef\\\\\\x00\\xb9Mq\\xafa\\x1b\\xea\\x0c\\xf0\\xabEZ\\xd6yN\\xd1\\xcc\\xd2\\xba\\xad\\xf1\\xfd\\x14\\xed\\xa7?\\xd6@^>8\\xe2\\xd7@\\x97e\\xd9\\xce\\x7f\\x01\\xb0\\x9c50d\\xf1G\\xf9\\x07_\\xa1>\\xddX+\\xd7}\\x94w\\x00\\x1f\\x1f\\x1f\\xf9\\xda\\x7fH\\xff\\x10\\xeb\\xe7\\xb6\\x0e\\x00\\xef\\xe4\\x98\\xbe\\x03\\x88\\xed\\xa0&j\\x0e\\x11\\xe5\\x99\\xe9\\xc3[\\x81<\\x92\\xc7\\xe3\\xaa\\xbc6\\x8f\\xd4\\xbb\\\\\\xbc\\x03\\x18By=?\\x08\\x8am>\\xe9m\\xdb\\xf2\\xa9\\xc7\\xa2\\xdb\\xb6\\xc5\\x9d\\xea;\\x80\\xf5\\xc5/\\xff\\x84X0\\x86a\\x17\\xe0\\xcdDx\\xe6Pw\\xabH\\xd4\\xcc\\xeb\\x18\"]s\\x1b\\xa1\\x1f\\xc9^\\x0b`6\\xaf\\x93G\\x9e\\xfe\\x93\\x90\\xfb\\xf9m\\xf0\\xf2\\x83\\x14\\xce\\x02\\xd8\\xf7\\xfdv\\xbb\\x1d\\xe5\\xcf\\xfd?\\xca\\xdf\\xfc\\x19\\xa2?\\xae:\\xf3\\x7f\\xcd\\xbb\\xc4\\x90\\xbb\\xc3\\x0c\\xf0\\xabE\\xcc\\xd69\\x8fD\\x08g\\x14G4\\x1fS\\rd\\x94\\xc7\\x90\\xe1\\xfe8\\x0b\\xe0+\\xf2O\\xf5\\xfc\\x90\\xcb\\x86\\xaf\\x02\\xd8\\xcfo\\x80\\xe39\\xd5h\\x1e\\xb28.\\xb9\\xddn\\xcb\\xb2\\xec\\xfb~;\\xff\\xfb0Y\\x00\\xd1\\x01\\x19\\xfd\\x99\\xfe\\xb1\\x9bk\\xc6\\xb2u\\x1b\\xea\\x0c\\xf06\"l\\xeb\\x9c\\xdb\\x1a\\xc5\\xb9[S;E\\xa0\\x0f\\xdbL\\xfca\\xae\\x17\\xc6:\\xb9=\\xea\\xaf\\x81\\xc6\\x8d#\\xc4\\x97)\\x85\\xe3\\x99\\xc5\\x10\\xd1\\x1f\\xd7o\\xdbV\\xb7\\xb1B\\x8a\\xc4\\xcf\\xe8\\xaf\\xa1_\\xe7Xy\\x1e\\x00\\xdeI\\r\\xd2:D\\x9c\\xd693:#{P#\\xbeF\\xff|\\xb0^\\x15r\\xd9{\\xdcr\\xdf\\xf7\\x08\\xf1:|>\\xe5\\xe7D\\xce\\xa7\\x18\\xa7\\r\\x1f\\xfe\\x0c\"\\xe5s\\xa8r\\xd9\\xba\\ru\\x06x\\x1b\\x91\\x9fu\\x1e\\xb6\\x83\\x88\\xe9\\x18^\\xc9\\xdc\\x8f9\\xb7uH\\xc3\\xb2\\x9f\\x05\\x10\\xf7\\xde\\xcb;\\x80A\\x9c\\x1dC\\xee\\x861\\xf5\\xb7m{\\xf1\\xda?,\\xe5c\\xa5\\xd8\\xd6a\\x98\\x01\\xdeF\\xe4\\xe70\\xd7P\\xcd!\\x0c\\x91\\xfd\\x94\\xe5\\xa7\\x9a\\xf2Y\\x00\\xc7\\xf3\\x7fW \\xd4\\x05\\xc3W\\x01\\xec\\xcf\\x7f\\x0c\\xee|\\x92\\xa38\\xbf.\\xf1\\x9c\\xfc\\xdb6\\xfd\\xc2O\\x9d\\xd7\\xe9U\\x7fl\\xebp\\xb9\\x0b\\xf0{e\\xd2\\x0e\\xbb\\x99\\xa8u\\x9bj^g\\x82\\x7fc\\x0e\\xfd0\\xac\\x90k~\\x15@\\xde~\\xbf\\xfa\\x14(\\xce\\x1evS\\\\2\\xa4\\xff\\x90\\xfbiy\\x11\\xfd\\xb9\\x0b\\xf0\\xde\"N3T\\xeb\\xees\\xb8~\\xaa\\xd9]c=\\xe7*\\xde\\x01\\xe4n\\xceO+\\x1e\\xc7qY\\x00\\xcb\\xb2\\xec\\xe7\\xbf\\x0e\\x8ba)\\xe9<.p\\xa6\\x7f\\x0e\\xeb\\x14\\xfd\\xdb\\xd5o\\xfe\\xc4PW\\xce\\x01\\xe0\\xbd\\x1d\\xcf\\xd1\\x1fC\\xcc\\x19\\xad\\xcb\\xf3o\\x04\\x1dW5\\x90\\xc3`>!/\\xac\\x9e\\n`\\xdf\\xf7\\xcc\\xeb8\\xfbU:\\xd7%\\xd6u\\xdd\\xcfw\\x001\\xd4u>S\\xff\\x94G\\x86esH\\xf3\\x11\\x80_\\xaa&\\xedp\\xa4\\x0e1\\x97|\\xfd<\\x92\\xd9=dz\\xce\\xf5x\\x9d\\xeb%q~\\xccq\\x97{\\xbd}>\\x89\\xb8\\xdf\\xba\\xae\\xf9& \\xe38\\xae\\x8f\\x97\\xfc!\\x02=\\x16\\xcd\\x0eX_\\xfcY\\xa1\\\\*\\xb6\\x97\\x03\\xc0{\\xcb\\xd4\\x1d\\x86\\xdcVy\\xe42\\xd0k\\xd0\\x0f\\'\\xd4sbH\\xb1\\xe6\\xd3;\\x80\\xb0\\x97\\xd7\\xef{yE\\x1f\\x8f\\xd6!\\x16\\x8ad\\x8f!\\xb6q~\\x15\\xe7\\xe7P\\xd7\\x19\\xd6\\xcc\\x83\\x00o)S\\xb7\\xc6o\\x86rl\\xeb0\\xa8)?\\x0c\\xf5\\xa1\\xf9\\x84\\x94+\\xdf\\x8f\\xe3\\x88\\xd8\\x8d!\\x1e\\xab\\xcf,: \\x86\\xe5\\xcc\\xe889\\xde\\x07\\xc4\\xeb\\xfd\\x18\\xe2x\\x15\\x97\\xd49\\xb7\\x97\\x03@\\x07s\\xd8f4\\xc76\\xd49\\r\\xe1\\xfe\\xfd\\xee+\\xcb\\xb2|}\\x04\\xb4\\x96\\xf4\\xcf\\x83a/\\x1f\\x07\\xe56\\xaf\\x8as.\\xd3?\\x1e\\xads\\xee\\x9ek\\x7f\\xaaG\\xe6G\\x01\\xde\\xc0\\xab\\x8c\\xcd#y\\xf03\\xa4_\\x14\\xc0q\\x1c\\xf1\\x8a<\\x13\\xbf\\xceyB=\\x7f\\xb6,\\xcb\\xff\\x00Q\\xb3\\x85\\xf9\\xf1=%\\xd1\\x00\\x00\\x00\\x00IEND\\xaeB`\\x82'],\n",
       " '181': [],\n",
       " '168': [],\n",
       " '182': []}"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "images"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "ai",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}