Linux websever 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 192.168.3.70 | : 192.168.1.99
Cant Read [ /etc/named.conf ]
8.1.2-1ubuntu2.23
urlab
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
var /
www /
html /
coursewise /
assets /
[ HOME SHELL ]
Name
Size
Permission
Action
AcademicTools-tj30wEj0.js
7.55
KB
-rwxr-xr-x
AcademicTools-tj30wEj0.js.map
14.63
KB
-rwxr-xr-x
AddCourse-BTNu-pnI.js
10.08
KB
-rwxr-xr-x
AddCourse-BTNu-pnI.js.map
35.84
KB
-rwxr-xr-x
AdminFeedbackManagement-DsTd1C...
13.52
KB
-rwxr-xr-x
AdminFeedbackManagement-DsTd1C...
45.25
KB
-rwxr-xr-x
CourseReviews-CLlzbLuT.js
27.45
KB
-rwxr-xr-x
CourseReviews-CLlzbLuT.js.map
112.09
KB
-rwxr-xr-x
Dewan-B5d13VSK.png
819.07
KB
-rwxr-xr-x
Dewan-Bniqtmij.js
102
B
-rwxr-xr-x
Dewan-Bniqtmij.js.map
197
B
-rwxr-xr-x
EditCourse-DeWQqcol.js
9.65
KB
-rwxr-xr-x
EditCourse-DeWQqcol.js.map
34.87
KB
-rwxr-xr-x
MyCourses-BA9wctPB.js
8.48
KB
-rwxr-xr-x
MyCourses-BA9wctPB.js.map
31.95
KB
-rwxr-xr-x
Rajput-BnxWGXCy.js
104
B
-rwxr-xr-x
Rajput-BnxWGXCy.js.map
200
B
-rwxr-xr-x
Rajput-CE3gMniE.png
908.11
KB
-rwxr-xr-x
Settings-BGf6-NRc.js
2.09
KB
-rwxr-xr-x
Settings-BGf6-NRc.js.map
5.35
KB
-rwxr-xr-x
TimetableClashChecker-gskbNvYE...
32.74
KB
-rwxr-xr-x
TimetableClashChecker-gskbNvYE...
137.78
KB
-rwxr-xr-x
UserManagement-pl4YxOXe.js
2.17
KB
-rwxr-xr-x
UserManagement-pl4YxOXe.js.map
5.49
KB
-rwxr-xr-x
academic-components-DF0R8Z3x.j...
670.84
KB
-rwxr-xr-x
academic-components-DF0R8Z3x.j...
1.87
MB
-rwxr-xr-x
admin-components-DUStTukf.js
1.36
MB
-rwxr-xr-x
admin-components-DUStTukf.js.m...
5.5
MB
-rwxr-xr-x
apple-touch-icon-CvbJoadU.png
20.94
KB
-rwxr-xr-x
browser-DyVnc2OH.js
392
B
-rwxr-xr-x
browser-DyVnc2OH.js.map
404
B
-rwxr-xr-x
favicon-16x16-CXk8OJVQ.png
734
B
-rwxr-xr-x
favicon-32x32-BMg2Kocu.png
1.78
KB
-rwxr-xr-x
favicon-hhFM0i7Z.ico
15.04
KB
-rwxr-xr-x
geminiService-khxcBfs7.js
2.36
KB
-rwxr-xr-x
geminiService-khxcBfs7.js.map
6.73
KB
-rwxr-xr-x
index-BbxTXAhJ.css
45.32
KB
-rwxr-xr-x
index-DN1SJQ1D.js
73.27
KB
-rwxr-xr-x
index-DN1SJQ1D.js.map
215.58
KB
-rwxr-xr-x
index.es-B3idowhG.js
155.35
KB
-rwxr-xr-x
index.es-B3idowhG.js.map
624.87
KB
-rwxr-xr-x
kunal-UYflGF6w.jpg
9.22
MB
-rwxr-xr-x
kunal-ozIpZZVI.js
102
B
-rwxr-xr-x
kunal-ozIpZZVI.js.map
197
B
-rwxr-xr-x
pdf-vendor-Bz5wMm03.js
317.87
KB
-rwxr-xr-x
pdf-vendor-Bz5wMm03.js.map
976.2
KB
-rwxr-xr-x
purify.es-CQJ0hv7W.js
21.35
KB
-rwxr-xr-x
purify.es-CQJ0hv7W.js.map
88.01
KB
-rwxr-xr-x
react-vendor-BFYHlx6n.js
160.29
KB
-rwxr-xr-x
react-vendor-BFYHlx6n.js.map
687.16
KB
-rwxr-xr-x
sarthak-CfXTejkX.png
764.15
KB
-rwxr-xr-x
sarthak-Cq6ZcrGb.js
106
B
-rwxr-xr-x
sarthak-Cq6ZcrGb.js.map
203
B
-rwxr-xr-x
site-BwHFeIBa.webmanifest
263
B
-rwxr-xr-x
supabase-vendor-DtZyL83W.js
105.45
KB
-rwxr-xr-x
supabase-vendor-DtZyL83W.js.ma...
449.41
KB
-rwxr-xr-x
ui-vendor-DSJ4jbeb.js
44.26
KB
-rwxr-xr-x
ui-vendor-DSJ4jbeb.js.map
190.96
KB
-rwxr-xr-x
useToast-Bg1woyD1.js
414
B
-rwxr-xr-x
useToast-Bg1woyD1.js.map
1.83
KB
-rwxr-xr-x
xlsx-vendor-D_ykzFJ-.js
276.48
KB
-rwxr-xr-x
xlsx-vendor-D_ykzFJ-.js.map
1.37
MB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : academic-components-DF0R8Z3x.js.map
{"version":3,"mappings":"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AE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,KAAK,EA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G,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE1L,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE2L,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAEL,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAEM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAEC,EAAE,CAAC,E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,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAEqB,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE/O,GAAG,EAAEwP,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAEC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAEF,GAAG,KAAKM,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,EAAEC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE4B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE/B,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE8B,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE/B,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,I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AI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,MAAM,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,IAAI,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IA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AAgB,CAChB,KAAM,kBACN,aAAc,OACd,OAAQ,GACR,KAAM,EACN,MAAO,SAAU3I,EAAUruB,EAAM,CAC7B,OAAQA,EAAM,CACV,IAAK,OACM,SACX,IAAK,SACM,SACX,IAAK,SACM,SACX,IAAK,UACM,SACX,IAAK,cACM,SACX,IAAK,uBACM,SACX,IAAK,cACM,SACX,IAAK,cACM,SACX,IAAK,cACM,SACX,IAAK,cACM,SACX,IAAK,cACM,UACX,IAAK,eACM,UACX,IAAK,WACM,UACX,IAAK,UACM,UACX,IAAK,YACM,UACX,IAAK,qBACM,UACX,IAAK,oBACM,UACX,IAAK,kBACM,UACX,IAAK,aACM,UACX,IAAK,mBACM,UACX,IAAK,WACM,UACX,IAAK,WACM,UACX,IAAK,WACM,UACX,IAAK,SACM,UACX,IAAK,WACM,UACX,IAAK,iBACM,UACX,IAAK,kBACM,UACX,IAAK,oBACM,UACX,IAAK,UACM,UACX,IAAK,WACM,UACX,IAAK,iBACM,UACX,IAAK,QACM,UACX,IAAK,uBACM,UACX,IAAK,sBACM,UACX,IAAK,wBACM,UACX,IAAK,MACM,UACX,IAAK,iBACM,UACX,IAAK,YACM,UACX,IAAK,YACM,UACX,IAAK,UACM,UACX,IAAK,QACM,UACX,IAAK,UACM,UACX,IAAK,sBACM,UACX,IAAK,wBACM,UACX,IAAK,QACM,UACX,IAAK,SACM,UACX,IAAK,OACM,UACX,IAAK,UACM,UACX,IAAK,sBACM,UACX,IAAK,wBACM,UACX,IAAK,iBACM,UACX,IAAK,kBACM,UACX,IAAK,oBACM,UACX,IAAK,OACL,QACW,SACf,CAER,EAEIi3B,GAAgB,SAAUlC,EAAM,CAAU,OAC1C,KAAM,UAAYA,EAClB,aAAc,IACd,OAAQ,GACR,KAAM,CACV,CAAI,EACAmC,GAAYD,GAAc,KAAK,EAC/BE,GAAcF,GAAc,OAAO,EACnCG,GAAeH,GAAc,QAAQ,EACrCI,GAAaJ,GAAc,MAAM,EAEjCK,GAAW,CACX,KAAM,WACN,aAAc,UACd,OAAQ,GACR,KAAM,EACN,MAAO,SAAUjJ,EAAU1D,EAAQ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ACA,aACA,MACA,QACA,eACA,mBACA,gBACA,aACA,UACA,QACF,EACA,YAAa,EACf,EACA,CACE,IAAK,oBACL,SAAU,iEACV,QAAS,CACP,uBACA,sBACA,yBACA,qBACA,kBACA,SACA,sBACA,kBACA,mBACA,gBACA,gBACA,eACA,mBACA,yBACA,eACA,qBACA,sBACA,sBACA,2BACA,eACF,EACA,YAAa,EACf,EACA,CACE,IAAK,gBACL,SAAU,sCACV,QAAS,CACP,gBACA,qBACA,oBACA,gBACA,iBACA,aACA,gBAEJ,EACA,CACE,IAAK,kBACL,SAAU,uCACV,QAAS,CACP,YACA,YACA,aACA,YACA,WAEJ,EACA,CACE,IAAK,eACL,SAAU,qCACV,QAAS,CACP,mCACA,6BACA,6CACA,+BACA,0CACA,yBAEJ,EACA,CACE,IAAK,mBACL,SAAU,yCACV,QAAS,CACP,kBACA,qBACA,2BACA,wBACA,mBACA,gBACA,kBACA,0BACA,eACA,8BACA,2BACA,4BACA,wBACA,0BAEJ,EACA,CACE,IAAK,qBACL,SAAU,mCACV,QAAS,CACP,kBACA,qBACA,2BACA,wBACA,mBACA,gBACA,kBACA,0BACA,eACA,8BACA,2BACA,4BACA,wBACA,0BACA,OAEJ,EACA,CACE,IAAK,mBACL,SAAU,yCACV,QAAS,CACP,sBACA,2BACA,uBACA,oBAEJ,EACA,CACE,IAAK,mBACL,SAAU,2DACV,QAAS,CACP,UACA,wBACA,qBACA,uBACA,wBACA,SACA,cACA,oBACA,aACA,aAEJ,EACA,CACE,IAAK,cACL,SAAU,wCACV,QAAS,CACP,mBACA,YACA,sBACA,kBACA,yBACA,uBACA,qBACA,aACA,mBACA,aACA,eAEJ,EACA,CACE,IAAK,uBACL,SAAU,yCACV,QAAS,CACP,mCACA,0BACA,4BACA,wBACA,+BAEJ,EACA,CACE,IAAK,cACL,SAAU,uEACV,QAAS,CACP,gBACA,kBACA,WACA,kBACA,aACA,oBACA,eACA,aACA,sBACA,qBACF,EACA,YAAa,GAEjB,CACF,CCjWA,MAAMhH,GAAYC,GAAO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","names":["AuthContext","createContext","AuthProvider","children","session","setSession","useState","user","setUser","loading","setLoading","useEffect","error","supabase","subscription","_event","value","jsx","useAuth","context","useContext","CourseRecommendationContext","CourseRecommendationProvider","tabIndex","setTabIndex","isRestarting","setIsRestarting","restartChat","useCourseRecommendation","NavBar","isOpen","setIsOpen","isLoggedIn","setIsLoggedIn","isAdmin","setIsAdmin","navigate","useNavigate","location","useLocation","toggleMenu","handleSignOut","isActive","path","navItems","Home","BookOpen","Info","Layout","jsxs","Link","GraduationCap","item","LogOut","User","X","Menu","getCorsProxyUrl","url","PersonalInfoPanel","userData","isEditing","setIsEditing","formData","setFormData","branches","toast","useToast","err","handleChange","e","name","prev","handleSubmit","updateData","Box","Flex","Heading","Button","Edit","VStack","Grid","GridItem","FormControl","FormLabel","Input","Select","sem","branch","Avatar","Text","Mail","Hash","u8","u16","i32","fleb","fdeb","clim","freb","eb","start","b","i","r","j","_a","fl","revfl","_b","fd","revfd","rev","x","hMap","cd","mb","s","l","le","co","rvb","sv","r_1","v","flt","fdt","flm","flrm","fdm","fdrm","max","a","m","bits","d","p","o","bits16","shft","slc","ec","ind","msg","nt","inflt","dat","st","buf","dict","sl","dl","noBuf","resize","noSt","cbuf","bl","nbuf","final","pos","bt","lm","dm","lbt","dbt","tbts","type","hLit","hcLen","tl","ldt","clt","clb","clbmsk","clm","c","n","lt","dt","t","lms","dms","lpos","sym","add","dsym","end","shift","dend","wbits","wbits16","hTree","t2","et","i0","i1","i2","maxSym","tr","mbt","ln","lft","cst","i2_1","i2_2","i2_3","lc","cl","cli","cln","cls","w","clen","cf","wfblk","out","wblk","syms","lf","df","li","bs","dlt","mlb","ddt","mdb","_c","lclt","nlc","_d","lcdt","ndc","lcfreq","_e","lct","mlcb","nlcc","flen","ftlen","dtlen","ll","llm","lcts","it","clct","len","dst","deo","dflt","lvl","plvl","pre","post","lst","opt","msk_1","head","bs1_1","bs2_1","hsh","lc_1","wi","hv","imod","pimod","rem","ch_1","dif","maxn","maxd","ml","nl","mmd","md","ti","pti","lin","din","adler","dopt","newDat","wbytes","zlh","lv","h","zls","zlibSync","data","opts","unzlibSync","td","tds","u","f","g","_","y","N","L","A","S","P","k","I","F","C","O","B","M","E","Vt","_t","Rr","q","D","R","T","U","z","H","W","V","G","Y","Ye","J","Q","K","Z","$","tt","rt","at","ot","ct","ut","Qt","Kt","te","ht","ft","pt","gt","mt","vt","yt","wt","Nt","Lt","At","xt","St","Pt","kt","It","Ft","Ct","jt","Ot","Bt","Mt","Et","qt","Dt","Rt","Tt","Ut","zt","Ht","Wt","Cr","jr","Gt","Yt","Jt","Br","Xt","Zt","$t","ee","re","ne","ie","ae","oe","se","ce","ue","he","fe","de","pe","ge","me","ve","be","ye","we","Ne","Le","Ae","xe","Se","Pe","ke","Ie","Fe","Ce","je","Me","Oe","pr","fr","Lr","kr","Ir","Be","Ee","qe","De","Re","Te","Ue","ze","He","We","Ve","Ge","Je","Xe","Ke","Ze","lr","_r","br","yr","xr","$e","Qe","er","rr","ar","nr","ir","or","sr","cr","ur","hr","dr","gr","mr","vr","wr","Nr","Ar","Sr","Pr","Fr","Or","qr","Dr","Tr","Mr","Er","__vitePreload","html2canvas_esm","Ur","zr","Hr","Hn","Wn","Vn","Gn","vi","Tn","Sn","An","qn","Rn","Un","Ci","ji","_i","Si","Mi","Bi","Oi","Pi","ki","Ei","qi","$n","Gr","Wr","Vr","Zr","$r","Yr","En","Qr","tn","Dn","nn","en","xn","zn","rn","mi","Xr","gi","Jr","Kr","Qn","Xn","Zn","Jn","Yn","Kn","pi","_n","ni","ei","ri","ui","si","hi","ii","ai","Ri","Ui","Cn","Pn","kn","In","Fn","an","on","cn","un","hn","sn","fn","dn","pn","gn","mn","vn","bn","yn","wn","Nn","Ln","fi","di","ci","oi","Bn","jn","On","Mn","bi","yi","Ni","Li","Ai","xi","Ii","Di","zi","Ti","extendStatics","__extends","__","__assign","__awaiter","thisArg","_arguments","generator","adopt","resolve","reject","fulfilled","step","rejected","result","__generator","body","verb","op","__spreadArray","to","from","pack","Bounds","left","top","width","height","clientRect","domRectList","domRect","rect","parseBounds","node","parseDocumentSize","document","documentElement","toCodePoints$1","str","codePoints","length","extra","fromCodePoint$1","codeUnits","index","codePoint","chars$2","lookup$2","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","base64","bufferLength","encoded1","encoded2","encoded3","encoded4","buffer","bytes","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_SHIFT_1_2$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_BLOCK_LENGTH$1","UTRIE2_DATA_MASK$1","UTRIE2_LSCP_INDEX_2_LENGTH$1","UTRIE2_INDEX_2_BMP_LENGTH$1","UTRIE2_UTF8_2B_INDEX_2_OFFSET$1","UTRIE2_UTF8_2B_INDEX_2_LENGTH$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_BLOCK_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","view","slice32$1","createTrieFromBase64$1","_byteLength","view32","view16","headerLength","Trie$1","Trie","initialValue","errorValue","highStart","highValueIndex","ix","chars$3","lookup$3","i$3","base64$1","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","H2","H3","HL","ID","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","types","indices","categories","classType","isAdjacentWithSpaceIgnored","currentIndex","classTypes","current","next","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","before","prevIndex","count","cssFormattedClasses","options","isLetterNumber","forbiddenBreakpoints","letterNumber","Break","LineBreaker","lastEnd","nextIndex","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","EOF","ZERO","isDigit","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","c1","c2","isIdentifierStart","c3","isNumberStart","stringToNumber","sign","integers","int","fraction","fracd","frac","expsign","exponent","exp","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","Tokenizer","chunk","tokens","token","flags","e1","e2","e3","a1","a2","a3","u1","u2","delta","digits","questionMarks","start_1","digit","endDigits","stringToken","SLICE_STACK_SIZE","amount","endingCodePoint","repr","number","unit","hex","hexCodePoint","Parser","tokenizer","values","block","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","args","arg","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","parent","DEG","GRAD","RAD","TURN","angle","_context","isAngle","parseNamedSide","sideOrCorner","ident","deg","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","namedColor","COLORS","isTransparent","color","asString","alpha","blue","green","red","getTokenColorValue","rgb","hue2rgb","t1","hue","hsl","saturation","lightness","parseColor","backgroundClip","backgroundColor","parseColorStop","stop","processColorStops","stops","lineLength","first","last","processStops","previous","stop_1","absoluteValue","gapBegin","stop_2","gapLength","beforeGap","gapValue","getAngleFromCorner","corner","centerX","centerY","calculateGradientDirection","radian","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","distance","findCorner","closest","corners","stat","cx","cy","calculateRadius","gradient","rx","ry","linearGradient","angle$1","firstToken","colorStop","prefixLinearGradient","webkitGradient","shape","size","position","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","radialGradient","isColorStop","isAtPosition_1","acc","prefixRadialGradient","isLinearGradient","background","isRadialGradient","image","image_1","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","BACKGROUND_SIZE","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","style","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","direction","display","bit","parseDisplayValue","float","letterSpacing","LINE_BREAK","lineHeight","computeLineHeight","fontSize","listStyleImage","listStylePosition","listStyleType","marginForSide","marginTop","marginRight","marginBottom","marginLeft","overflow","overflowWrap","paddingForSide","paddingTop","paddingRight","paddingBottom","paddingLeft","textAlign","textShadow","shadow","textTransform","transform$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","b1","b2","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","WORD_BREAK","wordBreak","zIndex","time","opacity","textDecorationColor","textDecorationLine","line","fontFamily","accumulator","results","fontWeight","fontVariant","fontStyle","contains","content","counterIncrement","increments","filtered","counter","increment","counterReset","resets","reset","duration","quotes","open_1","close_1","getQuote","depth","open","quote","boxShadow","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","parse","overflowTuple","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","descriptor","parser","length_1","value_1","elementDebuggerAttribute","getElementDebugType","element","attribute","isDebugging","elementType","ElementContainer","isHTMLElementNode","chars$1","lookup$1","i$1","decode","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_SHIFT_1_2","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_BLOCK_LENGTH","UTRIE2_DATA_MASK","UTRIE2_LSCP_INDEX_2_LENGTH","UTRIE2_INDEX_2_BMP_LENGTH","UTRIE2_UTF8_2B_INDEX_2_OFFSET","UTRIE2_UTF8_2B_INDEX_2_LENGTH","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_BLOCK_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","chars","lookup","Prepend","CR","LF","Control","Extend","SpacingMark","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","fromCodePoint","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","breaker","graphemes","bk","testRangeBounds","TEST_HEIGHT","range","testElement","rangeBounds","rangeHeight","testIOSLineBreak","textList","offset","supports","text","boundAhead","testCORS","testResponseType","testSVG","img","canvas","ctx","isGreenPixel","testForeignObject","greenImageSrc","svg","createForeignObjectSVG","loadSerializedSVG$1","xmlns","foreignObject","FEATURES","TextBounds","bounds","parseTextBounds","styles","breakText","textBounds","clientRects","createRange","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","getWrapperBounds","ownerDocument","wrapper","parentNode","segmenter","segment","segmentWords","breakWords","wordSeparators","words","_loop_1","word_1","TextContainer","transform","CAPITALIZE","capitalize","p1","p2","ImageElementContainer","_super","_this","CanvasElementContainer","SVGElementContainer","LIElementContainer","OLElementContainer","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","input","SelectElementContainer","option","TextareaElementContainer","IFrameElementContainer","iframe","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","root","childNode","nextNode","isTextNode","isElementNode","isSlotElement","container","createContainer","createsRealStackingContext","createsStackingContext","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","isSVGElementNode","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","isCustomElement","CounterState","counters","canReset","entry","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","min","symbols","fallback","suffix","createCounterText","string","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","numbers","multipliers","negativeSign","tmp","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","DocumentCloner","windowSize","createIFrameContainer","scrollX","scrollY","cloneWindow","documentClone","iframeLoad","iframeLoader","onclone","referenceElement","restoreNodeScroll","imagesReady","serializeDoctype","restoreOwnerScroll","clone","copyCSSStyles","sheet","css","rule","clonedCanvas","clonedCtx","gl","attribs","video","blankCanvas","child","copyStyles","assignedNodes","assignedNode","window","styleBefore","styleAfter","createPseudoHideStyles","PseudoElementType","after","pseudoElt","anonymousReplacedElement","attr","counterStyle","counterState","counterType","delim","counterStates","counterType_1","separator","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","cloneIframeContainer","imageReady","interval","ignoredStyleProperties","target","property","doctype","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","link","src","Cache","_options","isBlobImage","isRenderable","key","isSameOrigin","useCORS","useProxy","isInlineImage","isInlineBase64Image","proxy","responseType","xhr","reader_1","queryString","timeout_1","INLINE_SVG","INLINE_BASE64","INLINE_IMG","isSVG","Vector","deltaX","deltaY","lerp","BezierCurve","startControl","endControl","firstHalf","ab","bc","abbc","bccd","dest","isBezierCurve","BoundCurves","tlh","tlv","trh","trv","brh","brv","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","getCurvePoints","CORNER","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","TransformEffect","offsetX","offsetY","ClipEffect","OpacityEffect","isTransformEffect","effect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","point","StackingContext","ElementPaint","borderBox","paddingBox","inFlow","effects","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","stack","order_1","index_1","index_2","processListItems","owner","elements","numbering","reversed","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","hasIntrinsicValue","intrinsicWidth","intrinsicHeight","intrinsicProportion","second","hasIntrinsicProportion","targetRatio","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_1","height_1","width_2","height_2","width_3","height_3","repeat","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","span","baseline","middle","Renderer","MASK_OFFSET","CanvasRenderer","paint","letters","letter","variant","fixIOSSystemFonts","font","paintOrderLayer","textShadows","box","iframeRenderer","isTextInputElement","canvasTextAlign","_f","_g","_h","_j","_k","_l","_m","_o","_p","paths","pattern","this_1","x0","x1","y0","y1","gradient_1","top_1","radialGradient_1","midX","midY","invF","curvePoints","outerPaths","innerPaths","hasBackground","borders","borders_1","border","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","strokePaths","boxPaths","startX","startY","endX","endY","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","path1","path2","clip","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","id","enabled","Context","windowBounds","html2canvas","renderElement","defaultView","resourceOptions","contextOptions","windowOptions","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","renderOptions","renderer","_q","_s","_u","parseBackgroundColor","backgroundColorOverride","defaultBackgroundColor","CourseHistoryPanel","courses","setCourses","filteredCourses","setFilteredCourses","semesterSummaries","setSemesterSummaries","isLoading","setIsLoading","setError","searchTerm","setSearchTerm","selectedSemester","setSelectedSemester","selectedDepartment","setSelectedDepartment","useColorModeValue","fetchCourseHistory","filterCourses","userCourses","userCoursesError","coursesWithDetails","userCourse","baseRecord","courseByCode","courseByUuid","courseError","academicData","academicError","summaries","record","course","getGradeColor","grade","getUniqueValues","stats","totalCredits","sum","completedCredits","totalBacklogs","averageGPA","handleDownloadHistory","format","pdf","jsPDF","imgData","imgWidth","pageHeight","imgHeight","heightLeft","Spinner","Alert","AlertIcon","MenuButton","IconButton","Download","MenuList","MenuItem","FileDown","Camera","Card","CardBody","SimpleGrid","Stat","StatLabel","StatNumber","dept","Table","Thead","Th","Tbody","Td","Badge","CurrentSemesterPanel","currentSemesterData","setCurrentSemesterData","onOpen","onClose","useDisclosure","selectedCourse","setSelectedCourse","bgColor","borderColor","fetchCurrentSemesterCourses","handleRemoveCourse","courseId","updatedCourses","updatedData","handleClearAllCourses","getCreditLimitColor","total_credits","credit_limit","formatSchedule","schedule","slot","viewCourseDetails","Skeleton","Calendar","Plus","CardHeader","HStack","Tag","TagLeftIcon","TagLabel","Book","CheckCircle","AlertCircle","Edit3","RefreshCw","Trash2","AlertTitle","AlertDescription","Clock","Modal","ModalOverlay","ModalContent","ModalHeader","ModalCloseButton","ModalBody","Divider","ModalFooter","calculateGradePoint","getGradeStatus","courseType","AcademicRecordsPanel","activeTab","setActiveTab","academicRecords","setAcademicRecords","editingRecord","setEditingRecord","showTranscriptModal","setShowTranscriptModal","fetchAcademicRecords","forceRefresh","gradeStatus","courseRecord","recordsWithCourses","coursesForSemester","renderSkeleton","React","handleInputChange","handleOpenEditModal","handleTranscriptUploadComplete","handleDeleteTranscript","semesterNumber","Tabs","TabList","Tab","TabPanels","TabPanel","Upload","calculateCGPA","EnhancedSemesterTile","num","TranscriptUploadModal","records","onUploadComplete","file","setFile","isUploading","setIsUploading","isProcessing","setIsProcessing","processingProgress","setProcessingProgress","extractedData","setExtractedData","errorMessage","setErrorMessage","academicYear","setAcademicYear","setSemesterNumber","semesterType","setSemesterType","fileInputRef","isPreviewOpen","openPreview","closePreview","currentYear","academicYearOptions","startYear","handleFileChange","selectedFile","processTranscript","base64Data","fileToBase64","extractDataFromTranscript","processedData","processExtractedData","convertPdfToImage","pdfDataUrl","pdfjsLib.GlobalWorkerOptions","binaryString","pdfjsLib.getDocument","page","viewport","renderContext","imageDataUrl","reader","prompt","extractTranscriptData","requiredFields","field","rawData","courseOccurrences","processedCourses","finalCourseCode","gradePoint","parsedGradePoint","validGradeCourses","weightedGradePoints","calculatedSGPA","saveTranscript","arrayBuffer","fileBytes","earnedCredits","backlogCount","transcriptData","basicError","academicRecordData","cleanCourseCode","match","existingCourse","courseCheckError","exactMatchResult","caseInsensitiveResult","partialMatchResult","matchError","placeholderCourse","newCourse","createError","userCourseData","userCourseError","FormHelperText","year","RadioGroup","Stack","Radio","Progress","Eye","Check","FileText","onDelete","onEdit","isHovered","setIsHovered","isMobile","useBreakpointValue","handleMouseEnter","handleMouseLeave","toggleCourses","getCompletedCoursesCount","getCurrentSemesterCoursesCount","handleDownloadTile","pageWidth","margin","yPosition","completedCount","failedCount","originalHovered","tileElement","Tooltip","Edit2","Center","Circle","TrendingUp","AlertTriangle","MotionBox","motion","MotionFlex","ChatMessage","message","onOptionSelect","sender","timestamp","isAssistant","pulse","keyframes","assistantBgColor","userBgColor","assistantTextColor","userTextColor","assistantAvatarBg","userAvatarBg","timeColor","assistantNameColor","userNameColor","userGradient","bubbleShadow","brainIconColor","userIconColor","assistantBorderColor","formatTime","date","formattedContent","formattedText","emojiMap","code","highlightTerms","lineIndex","term","isWelcomeMessage","isSuccessMessage","isOptionsMessage","handleOptionClick","optionValue","Brain","Icon","MotionButton","confetti","Confetti","visible","colors","animationDuration","animationDelay","OptionsSelector","question","selectedOptions","isMultiSelect","multiSelect","onSelect","onContinue","subtitle","isDisabled","showConfetti","setShowConfetti","localSelectedOptions","setLocalSelectedOptions","selectedBgColor","hoverBgColor","accentColor","textColor","subtitleColor","disabledTextColor","isFirstRender","useRef","isMultiSelection","newSelectedOptions","processedOptions","CheckSquare","Square","ChevronRight","RecommendationResults","recommendations","preferences","onRestartChat","externalLoading","cardBg","headerBg","courseCardBg","headerGradient","processedPreferences","defaultPrefs","timer","handleRestartChat","Target","interest","idx","Briefcase","goal","Zap","skill","CheckCircle2","cert","MessageSquare","List","reason","ListItem","ListIcon","createEmptyPreferences","userId","getUserPreferences","saveUserPreferences","cleanedPreferences","existingData","checkError","success","updateError","insertError","getChatbotQuestions","ChatbotInterface","onComplete","initialPreferences","onBack","onViewPreferences","isMountedRef","colorMode","useColorMode","messages","setMessages","currentMessage","setCurrentMessage","currentQuestion","setCurrentQuestion","chatFinished","setChatFinished","showResults","setShowResults","setSelectedOptions","setIsMultiSelect","userAnswers","setUserAnswers","processedQuestions","setProcessedQuestions","progress","setProgress","isTyping","setIsTyping","isReadyForInput","setIsReadyForInput","helpDisclosure","messageEndRef","inputRef","hasInitializedRef","inputBgColor","progressTrackColor","headerBgColor","aiAvatarBg","typingColor","patternBgLight","patternBgDark","patternOpacity","gradientBgLight","gradientBgDark","scrollbarTrackBg","scrollbarThumbBg","typingBubbleBg","inputAreaBg","brainIconColorLight","brainIconColorDark","questions","fadeIn","typing","initializeChat","scrollToBottom","resetChat","startingPreferences","hasExistingPreferences","preferenceSummary","addMessage","askQuestion","messageWithDateTimestamp","questionIndex","finishChat","summaryText","answer","displayAnswer","answersToSave","handleSendMessage","nextQuestionIndex","handleOptionSelect","selectedOption","displayText","navigateToRecommendations","selectedValue","newAnswers","handleRestart","handleKeyPress","currentQuestionHasOptions","renderHelpModal","HelpCircle","UnorderedList","renderChatMenu","MoreVertical","Settings","ArrowLeft","Sparkles","AvatarBadge","Bot","InputGroup","InputRightElement","Send","MotionVStack","MotionSimpleGrid","CourseRecommendationContent","userPreferences","preferencesLoaded","handleStartChat","handleViewRecommendations","handleGoBack","School","ListChecks","ArrowRight","CourseRecommendation","setContextTabIndex","setUserPreferences","setPreferencesLoaded","hasFetchedRef","hasActualPreferences","handleTabChange","newIndex","Fragment"],"ignoreList":[4,5,6],"sources":["../../src_new/lib/contexts/AuthContext.tsx","../../src_new/context/CourseRecommendationContext.tsx","../../src_new/features/shared/NavBar.tsx","../../src_new/features/users/components/PersonalInfoPanel.tsx","../../node_modules/fflate/esm/browser.js","../../node_modules/jspdf/dist/jspdf.es.min.js","../../node_modules/html2canvas/dist/html2canvas.esm.js","../../src_new/features/users/components/CourseHistoryPanel.tsx","../../src_new/features/users/components/CurrentSemesterPanel.tsx","../../src_new/features/users/components/AcademicRecordsPanel.tsx","../../src_new/features/academic/components/ChatMessage.tsx","../../src_new/features/academic/components/OptionsSelector.tsx","../../src_new/features/academic/components/RecommendationResults.tsx","../../src_new/services/courseRecommendation.ts","../../src_new/features/academic/components/ChatbotInterface.tsx","../../src_new/features/academic/CourseRecommendation.tsx"],"sourcesContent":["import React, { createContext, useContext, useEffect, useState } from 'react';\r\nimport { Session, User } from '@supabase/supabase-js';\r\nimport { supabase } from '../supabase';\r\n\r\ninterface AuthContextProps {\r\n session: Session | null;\r\n user: User | null;\r\n isAuthenticated: boolean;\r\n loading: boolean;\r\n signOut: () => Promise<void>;\r\n}\r\n\r\nconst AuthContext = createContext<AuthContextProps | undefined>(undefined);\r\n\r\nexport const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\r\n const [session, setSession] = useState<Session | null>(null);\r\n const [user, setUser] = useState<User | null>(null);\r\n const [loading, setLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n // Get initial session\r\n const getInitialSession = async () => {\r\n try {\r\n setLoading(true);\r\n\r\n // Manually handle hash if present (HashRouter conflict workaround)\r\n if (window.location.hash && window.location.hash.includes('access_token')) {\r\n const { data: { session }, error } = await supabase.auth.getSession();\r\n if (session) {\r\n setSession(session);\r\n setUser(session.user);\r\n // Clear the hash to prevent Router confusion, setting it to root\r\n window.location.hash = '/';\r\n } else if (error) {\r\n console.error(\"Error parsing session from hash:\", error);\r\n }\r\n }\r\n\r\n // Always check getSession as fallback\r\n const { data: { session } } = await supabase.auth.getSession();\r\n if (session) {\r\n setSession(session);\r\n setUser(session?.user || null);\r\n }\r\n } catch (error) {\r\n console.error('Error getting initial session:', error);\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n getInitialSession();\r\n\r\n // Listen for auth changes\r\n const { data: { subscription } } = supabase.auth.onAuthStateChange((_event, session) => {\r\n setSession(session);\r\n setUser(session?.user || null);\r\n });\r\n\r\n return () => {\r\n subscription.unsubscribe();\r\n };\r\n }, []);\r\n\r\n const signOut = async () => {\r\n try {\r\n await supabase.auth.signOut();\r\n } catch (error) {\r\n console.error('Error signing out:', error);\r\n }\r\n };\r\n\r\n const value = {\r\n session,\r\n user,\r\n isAuthenticated: !!session && !!user,\r\n loading,\r\n signOut,\r\n };\r\n\r\n // Critical: Do not render children (Router) until we have checked for the session/hash\r\n // This prevents the Router from stripping the #access_token before we process it.\r\n if (loading) {\r\n return <div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center', height: '100vh' }}>Loading...</div>;\r\n }\r\n\r\n return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;\r\n};\r\n\r\nexport const useAuth = (): AuthContextProps => {\r\n const context = useContext(AuthContext);\r\n if (context === undefined) {\r\n throw new Error('useAuth must be used within an AuthProvider');\r\n }\r\n return context;\r\n}; ","import React, { createContext, useState, useContext, ReactNode } from 'react';\r\n\r\ninterface CourseRecommendationContextType {\r\n tabIndex: number;\r\n setTabIndex: (index: number) => void;\r\n restartChat: () => void;\r\n isRestarting: boolean;\r\n}\r\n\r\nexport const CourseRecommendationContext = createContext<CourseRecommendationContextType | undefined>(undefined);\r\n\r\ninterface CourseRecommendationProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport const CourseRecommendationProvider: React.FC<CourseRecommendationProviderProps> = ({ children }) => {\r\n const [tabIndex, setTabIndex] = useState(0);\r\n const [isRestarting, setIsRestarting] = useState(false);\r\n \r\n const restartChat = () => {\r\n setIsRestarting(true);\r\n // Reset to chat tab\r\n setTabIndex(1);\r\n // Add a small delay to allow components to react to the restart flag\r\n setTimeout(() => {\r\n setIsRestarting(false);\r\n }, 100);\r\n };\r\n \r\n return (\r\n <CourseRecommendationContext.Provider\r\n value={{\r\n tabIndex,\r\n setTabIndex,\r\n restartChat,\r\n isRestarting,\r\n }}\r\n >\r\n {children}\r\n </CourseRecommendationContext.Provider>\r\n );\r\n};\r\n\r\nexport const useCourseRecommendation = (): CourseRecommendationContextType => {\r\n const context = useContext(CourseRecommendationContext);\r\n if (context === undefined) {\r\n throw new Error('useCourseRecommendation must be used within a CourseRecommendationProvider');\r\n }\r\n return context;\r\n}; ","import React, { useState, useEffect } from 'react';\r\nimport { Link, useNavigate, useLocation } from 'react-router-dom';\r\nimport { BookOpen, Menu, X, LogOut, User, Home, GraduationCap, Layout, Info } from 'lucide-react';\r\nimport { supabase } from '../../lib/supabase';\r\n\r\nconst NavBar: React.FC = () => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [isLoggedIn, setIsLoggedIn] = useState(false);\r\n const [isAdmin, setIsAdmin] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n const checkSession = async () => {\r\n const { data: { session } } = await supabase.auth.getSession();\r\n setIsLoggedIn(!!session);\r\n\r\n // Check if admin\r\n if (session) {\r\n const adminEmail = import.meta.env.VITE_ADMIN_EMAIL;\r\n setIsAdmin(session.user.email === adminEmail);\r\n }\r\n \r\n setLoading(false);\r\n };\r\n \r\n checkSession();\r\n\r\n const { data: { subscription } } = supabase.auth.onAuthStateChange((_event, session) => {\r\n setIsLoggedIn(!!session);\r\n \r\n // Check if admin\r\n if (session) {\r\n const adminEmail = import.meta.env.VITE_ADMIN_EMAIL;\r\n setIsAdmin(session.user.email === adminEmail);\r\n } else {\r\n setIsAdmin(false);\r\n }\r\n });\r\n\r\n return () => subscription.unsubscribe();\r\n }, []);\r\n\r\n const toggleMenu = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n const handleSignOut = async () => {\r\n await supabase.auth.signOut();\r\n navigate('/');\r\n };\r\n\r\n const isActive = (path: string) => {\r\n return location.pathname === path;\r\n };\r\n\r\n // Define nav items\r\n const navItems = [\r\n { path: '/', label: 'Home', icon: Home },\r\n { path: '/academic-tools', label: 'Academic Tools', icon: BookOpen },\r\n { path: '/about', label: 'About', icon: Info },\r\n ];\r\n\r\n // Add dashboard to nav items if user is logged in\r\n if (isLoggedIn) {\r\n navItems.push({ path: '/dashboard', label: 'Dashboard', icon: Layout });\r\n }\r\n\r\n // Add admin dashboard if user is admin\r\n if (isAdmin) {\r\n navItems.push({ path: '/admin/dashboard', label: 'Admin', icon: Layout });\r\n }\r\n\r\n if (loading) {\r\n return (\r\n <nav className=\"sticky top-0 z-50 bg-gradient-to-r from-indigo-700 via-indigo-600 to-purple-700 text-white shadow-md py-4\">\r\n <div className=\"container mx-auto px-4\">\r\n <div className=\"flex items-center justify-between\">\r\n <Link to=\"/\" className=\"flex items-center space-x-2\">\r\n <GraduationCap className=\"h-8 w-8\" />\r\n <span className=\"text-xl font-bold\">CourseWise</span>\r\n </Link>\r\n </div>\r\n </div>\r\n </nav>\r\n );\r\n }\r\n\r\n return (\r\n <nav className=\"sticky top-0 z-50 backdrop-blur-md bg-gradient-to-r from-indigo-700/95 via-indigo-600/95 to-purple-700/95 text-white shadow-lg py-4 relative\">\r\n {/* Subtle pattern overlay */}\r\n <div className=\"absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4wNSI+PHBhdGggZD0iTTM2IDMwaC0yVjBoMnYzMHptLTIgMEgydjJoMzJ2LTJ6bTAgMnYyOGgydi0yOGgtMnptMi0ydi0zaC0ydjNoMnptLTIgMEgwdjJoMzR2LTJ6Ii8+PC9nPjwvZz48L3N2Zz4=')] opacity-50\"></div>\r\n \r\n <div className=\"container mx-auto px-4 relative z-10\">\r\n <div className=\"flex items-center justify-between\">\r\n {/* Logo */}\r\n <Link to=\"/\" className=\"flex items-center space-x-2 group\">\r\n <div className=\"bg-white/15 p-2 rounded-full transition-all duration-300 group-hover:bg-white/25 group-hover:scale-105 shadow-lg\">\r\n <GraduationCap className=\"h-6 w-6\" />\r\n </div>\r\n <span className=\"text-xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-white to-purple-100\">CourseWise</span>\r\n </Link>\r\n\r\n {/* Desktop Navigation */}\r\n <div className=\"hidden md:flex items-center space-x-1\">\r\n {navItems.map((item) => (\r\n <Link \r\n key={item.path}\r\n to={item.path} \r\n className={`${isActive(item.path) \r\n ? 'bg-white/20 text-white font-medium shadow-lg border-b-2 border-white/40' \r\n : 'text-white/90 hover:bg-white/15 hover:border-b-2 hover:border-white/30'\r\n } px-4 py-2 rounded-md flex items-center space-x-2 transition-all duration-300 backdrop-blur-sm`}\r\n >\r\n <item.icon className={`w-4 h-4 ${isActive(item.path) ? 'text-white' : 'text-white/80'}`} />\r\n <span>{item.label}</span>\r\n </Link>\r\n ))}\r\n \r\n {isLoggedIn ? (\r\n <button \r\n onClick={handleSignOut}\r\n className=\"ml-2 text-white/90 hover:bg-white/15 px-4 py-2 rounded-md flex items-center space-x-2 transition-all duration-300 backdrop-blur-sm hover:shadow-lg\"\r\n >\r\n <LogOut className=\"w-4 h-4\" />\r\n <span>Sign Out</span>\r\n </button>\r\n ) : (\r\n <Link \r\n to=\"/login\" \r\n className=\"ml-2 bg-white/15 text-white px-4 py-2 rounded-md flex items-center space-x-2 transition-all duration-300 hover:bg-white/25 hover:shadow-lg backdrop-blur-sm border border-white/10\"\r\n >\r\n <User className=\"w-4 h-4\" />\r\n <span>Sign In</span>\r\n </Link>\r\n )}\r\n </div>\r\n\r\n {/* Mobile Menu Button */}\r\n <div className=\"md:hidden\">\r\n <button onClick={toggleMenu} className=\"text-white bg-white/15 p-2 rounded-md hover:bg-white/25 transition-all duration-300 shadow-md hover:shadow-lg\">\r\n {isOpen ? (\r\n <X className=\"h-6 w-6\" />\r\n ) : (\r\n <Menu className=\"h-6 w-6\" />\r\n )}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n {/* Mobile Menu */}\r\n {isOpen && (\r\n <div className=\"md:hidden mt-4 py-2 border-t border-white/20 backdrop-blur-md bg-indigo-700/60 rounded-lg shadow-xl\">\r\n <div className=\"flex flex-col space-y-2 p-2\">\r\n {navItems.map((item) => (\r\n <Link \r\n key={item.path}\r\n to={item.path} \r\n className={`${isActive(item.path) \r\n ? 'bg-white/20 text-white font-medium shadow-md border-l-4 border-white/40' \r\n : 'text-white/90 hover:bg-white/15 hover:border-l-4 hover:border-white/30'\r\n } px-4 py-3 rounded-md flex items-center space-x-3 transition-all duration-300`}\r\n onClick={() => setIsOpen(false)}\r\n >\r\n <item.icon className=\"w-5 h-5\" />\r\n <span>{item.label}</span>\r\n </Link>\r\n ))}\r\n \r\n {isLoggedIn ? (\r\n <button \r\n onClick={() => {\r\n handleSignOut();\r\n setIsOpen(false);\r\n }}\r\n className=\"text-white/90 hover:bg-white/15 px-4 py-3 rounded-md flex items-center space-x-3 transition-all duration-300 text-left hover:shadow-md\"\r\n >\r\n <LogOut className=\"w-5 h-5\" />\r\n <span>Sign Out</span>\r\n </button>\r\n ) : (\r\n <Link \r\n to=\"/login\" \r\n className=\"bg-white/15 text-white px-4 py-3 rounded-md flex items-center space-x-3 transition-all duration-300 hover:bg-white/25 shadow-md hover:shadow-lg border border-white/10\"\r\n onClick={() => setIsOpen(false)}\r\n >\r\n <User className=\"w-5 h-5\" />\r\n <span>Sign In</span>\r\n </Link>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </nav>\r\n );\r\n};\r\n\r\nexport default NavBar; ","import React, { useState, useEffect } from 'react';\r\nimport { \r\n Box, \r\n VStack, \r\n FormControl, \r\n FormLabel, \r\n Input, \r\n Button, \r\n Grid, \r\n GridItem, \r\n Select,\r\n useToast,\r\n Heading,\r\n Text,\r\n Flex,\r\n Avatar\r\n} from '@chakra-ui/react';\r\nimport { supabase } from '../../../lib/supabase';\r\nimport { User, Mail, Edit, GraduationCap, Hash } from 'lucide-react';\r\nimport { useAuth } from '../../../lib/contexts/AuthContext';\r\n\r\n// Function to create a CORS-friendly URL for Google images\r\nconst getCorsProxyUrl = (url: string | null | undefined): string => {\r\n if (!url) return '';\r\n if (url.includes('googleusercontent.com')) {\r\n // Use images.weserv.nl as a proxy to avoid CORS issues\r\n return `https://images.weserv.nl/?url=${encodeURIComponent(url)}&default=404`;\r\n }\r\n return url;\r\n};\r\n\r\ninterface UserData {\r\n id: string;\r\n email: string;\r\n full_name: string;\r\n role: string;\r\n profile_picture_url: string | null;\r\n bio: string | null;\r\n current_semester: number | null;\r\n semester: number | null;\r\n institution: string | null;\r\n branch: string | null;\r\n roll_number: string | null;\r\n}\r\n\r\ninterface PersonalInfoPanelProps {\r\n userData: UserData;\r\n}\r\n\r\nconst PersonalInfoPanel = ({ userData }: PersonalInfoPanelProps) => {\r\n const [isEditing, setIsEditing] = useState(false);\r\n const [formData, setFormData] = useState({\r\n full_name: userData?.full_name || '',\r\n bio: userData?.bio || '',\r\n semester: userData?.semester || userData?.current_semester || 1,\r\n profile_picture_url: userData?.profile_picture_url || '',\r\n institution: userData?.institution || 'IIIT Delhi',\r\n branch: userData?.branch || '',\r\n roll_number: userData?.roll_number || '',\r\n });\r\n \r\n // Available streams/branches at IIIT Delhi\r\n const branches = [\r\n 'Computer Science and Engineering',\r\n 'Computer Science and AI',\r\n 'Computer Science and Design',\r\n 'Electronics & Communication Engineering',\r\n 'Computer Science and Social Sciences',\r\n 'Computer Science and Biosciences',\r\n 'Computer Science and Mathematics',\r\n 'Computer Science and Applied Mathematics',\r\n 'Computer Science and Entrepreneurship'\r\n ];\r\n const [loading, setLoading] = useState(false);\r\n const toast = useToast();\r\n const { session } = useAuth();\r\n \r\n useEffect(() => {\r\n // Log only once\r\n console.log('Available avatar URLs:', {\r\n profile: userData?.profile_picture_url,\r\n google: session?.user?.user_metadata?.avatar_url,\r\n proxied: getCorsProxyUrl(session?.user?.user_metadata?.avatar_url)\r\n });\r\n \r\n if (userData) {\r\n setFormData({\r\n full_name: userData.full_name || '',\r\n bio: userData.bio || '',\r\n semester: userData.semester || userData.current_semester || 1,\r\n profile_picture_url: userData.profile_picture_url || session?.user?.user_metadata?.avatar_url || '',\r\n institution: userData.institution || 'IIIT Delhi',\r\n branch: userData.branch || '',\r\n roll_number: userData.roll_number || '',\r\n });\r\n }\r\n }, [userData, session]);\r\n\r\n // Automatically save Google avatar when it's available\r\n useEffect(() => {\r\n if (!userData?.profile_picture_url && \r\n session?.user?.user_metadata?.avatar_url && \r\n !loading && \r\n userData?.id) {\r\n \r\n const saveGoogleAvatar = async () => {\r\n try {\r\n console.log('Saving Google avatar URL to database');\r\n \r\n await supabase\r\n .from('users')\r\n .update({ \r\n profile_picture_url: session.user.user_metadata.avatar_url,\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('id', userData.id);\r\n \r\n console.log('Successfully saved avatar URL');\r\n } catch (err) {\r\n console.error('Failed to save Google avatar:', err);\r\n }\r\n };\r\n \r\n saveGoogleAvatar();\r\n }\r\n }, [userData, session, loading]);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>) => {\r\n const { name, value } = e.target;\r\n setFormData(prev => ({\r\n ...prev,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const handleSubmit = async (e: React.FormEvent) => {\r\n e.preventDefault();\r\n setLoading(true);\r\n \r\n try {\r\n const updateData = {\r\n full_name: formData.full_name,\r\n bio: formData.bio,\r\n semester: parseInt(formData.semester.toString()),\r\n profile_picture_url: formData.profile_picture_url,\r\n institution: formData.institution,\r\n branch: formData.branch,\r\n roll_number: formData.roll_number,\r\n updated_at: new Date().toISOString()\r\n };\r\n \r\n const { error } = await supabase\r\n .from('users')\r\n .update(updateData)\r\n .eq('id', userData.id);\r\n \r\n if (error) {\r\n throw error;\r\n }\r\n \r\n toast({\r\n title: 'Profile updated',\r\n description: 'Your personal information has been updated successfully.',\r\n status: 'success',\r\n duration: 5000,\r\n isClosable: true,\r\n });\r\n \r\n setIsEditing(false);\r\n } catch (error: any) {\r\n toast({\r\n title: 'Update failed',\r\n description: error.message || 'Could not update profile information',\r\n status: 'error',\r\n duration: 5000,\r\n isClosable: true,\r\n });\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n return (\r\n <Box>\r\n <Flex justify=\"space-between\" align=\"center\" mb={6}>\r\n <Heading size=\"md\" color=\"purple.700\">Personal Information</Heading>\r\n {!isEditing && (\r\n <Button \r\n size=\"sm\" \r\n leftIcon={<Edit size={16} />} \r\n colorScheme=\"purple\" \r\n variant=\"outline\"\r\n onClick={() => setIsEditing(true)}\r\n >\r\n Edit Profile\r\n </Button>\r\n )}\r\n </Flex>\r\n\r\n {!isEditing ? (\r\n <Grid templateColumns={{ base: \"1fr\", md: \"200px 1fr\" }} gap={8} alignItems=\"start\">\r\n <GridItem>\r\n <VStack spacing={4} align=\"center\">\r\n <Avatar \r\n size=\"2xl\" \r\n src={getCorsProxyUrl(userData?.profile_picture_url || session?.user?.user_metadata?.avatar_url)}\r\n name={userData?.full_name || userData?.email}\r\n bg=\"purple.500\"\r\n color=\"white\"\r\n />\r\n <Text fontWeight=\"bold\" fontSize=\"lg\">\r\n {userData?.full_name || 'No name provided'}\r\n </Text>\r\n <Box bg=\"purple.50\" p={2} px={3} rounded=\"md\" fontSize=\"sm\" color=\"purple.700\">\r\n {userData?.role || 'Student'}\r\n </Box>\r\n </VStack>\r\n </GridItem>\r\n \r\n <GridItem>\r\n <VStack spacing={6} align=\"stretch\" className=\"bg-gray-50 p-6 rounded-xl\">\r\n <Flex gap={3} align=\"center\">\r\n <Box className=\"p-2 bg-purple-100 rounded-full\">\r\n <Mail size={20} className=\"text-purple-600\" />\r\n </Box>\r\n <Box>\r\n <Text fontSize=\"sm\" color=\"gray.500\">Email Address</Text>\r\n <Text fontWeight=\"medium\">{userData?.email}</Text>\r\n </Box>\r\n </Flex>\r\n \r\n <Flex gap={3} align=\"center\">\r\n <Box className=\"p-2 bg-purple-100 rounded-full\">\r\n <User size={20} className=\"text-purple-600\" />\r\n </Box>\r\n <Box>\r\n <Text fontSize=\"sm\" color=\"gray.500\">Current Semester</Text>\r\n <Text fontWeight=\"medium\">{userData?.semester || userData?.current_semester || 'Not specified'}</Text>\r\n </Box>\r\n </Flex>\r\n \r\n <Flex gap={3} align=\"center\">\r\n <Box className=\"p-2 bg-purple-100 rounded-full\">\r\n <GraduationCap size={20} className=\"text-purple-600\" />\r\n </Box>\r\n <Box>\r\n <Text fontSize=\"sm\" color=\"gray.500\">Institution & Program</Text>\r\n <Text fontWeight=\"medium\">\r\n {userData?.institution || 'IIIT Delhi'}\r\n {userData?.branch ? ` • ${userData.branch}` : ''}\r\n </Text>\r\n </Box>\r\n </Flex>\r\n \r\n {userData?.roll_number && (\r\n <Flex gap={3} align=\"center\">\r\n <Box className=\"p-2 bg-purple-100 rounded-full\">\r\n <Hash size={20} className=\"text-purple-600\" />\r\n </Box>\r\n <Box>\r\n <Text fontSize=\"sm\" color=\"gray.500\">Roll Number</Text>\r\n <Text fontWeight=\"medium\">{userData.roll_number}</Text>\r\n </Box>\r\n </Flex>\r\n )}\r\n \r\n <Box mt={4}>\r\n <Text fontSize=\"sm\" color=\"gray.500\" mb={1}>About Me</Text>\r\n <Text>{userData?.bio || 'No bio provided yet.'}</Text>\r\n </Box>\r\n </VStack>\r\n </GridItem>\r\n </Grid>\r\n ) : (\r\n <form onSubmit={handleSubmit}>\r\n <VStack spacing={6} align=\"stretch\">\r\n <Grid templateColumns={{ base: \"1fr\", md: \"1fr 1fr\" }} gap={4}>\r\n <GridItem>\r\n <FormControl isRequired>\r\n <FormLabel>Full Name</FormLabel>\r\n <Input\r\n name=\"full_name\"\r\n value={formData.full_name}\r\n onChange={handleChange}\r\n placeholder=\"Enter your full name\"\r\n />\r\n </FormControl>\r\n </GridItem>\r\n \r\n <GridItem>\r\n <FormControl>\r\n <FormLabel>Profile Picture URL</FormLabel>\r\n <Input\r\n name=\"profile_picture_url\"\r\n value={formData.profile_picture_url}\r\n onChange={handleChange}\r\n placeholder=\"Enter the URL of your profile picture\"\r\n type=\"url\"\r\n />\r\n </FormControl>\r\n </GridItem>\r\n \r\n <GridItem>\r\n <FormControl isRequired>\r\n <FormLabel>Current Semester</FormLabel>\r\n <Select\r\n name=\"semester\"\r\n value={formData.semester}\r\n onChange={handleChange}\r\n >\r\n {[1, 2, 3, 4, 5, 6, 7, 8].map(sem => (\r\n <option key={sem} value={sem}>Semester {sem}</option>\r\n ))}\r\n </Select>\r\n </FormControl>\r\n </GridItem>\r\n \r\n <GridItem>\r\n <FormControl isRequired>\r\n <FormLabel>Institution</FormLabel>\r\n <Select \r\n name=\"institution\"\r\n value={formData.institution}\r\n onChange={handleChange}\r\n disabled\r\n >\r\n <option value=\"IIIT Delhi\">IIIT Delhi</option>\r\n </Select>\r\n </FormControl>\r\n </GridItem>\r\n \r\n <GridItem>\r\n <FormControl isRequired>\r\n <FormLabel>Program/Branch</FormLabel>\r\n <Select \r\n name=\"branch\"\r\n value={formData.branch}\r\n onChange={handleChange}\r\n placeholder=\"Select your program\"\r\n >\r\n {branches.map(branch => (\r\n <option key={branch} value={branch}>{branch}</option>\r\n ))}\r\n </Select>\r\n </FormControl>\r\n </GridItem>\r\n \r\n <GridItem>\r\n <FormControl isRequired>\r\n <FormLabel>Roll Number</FormLabel>\r\n <Input\r\n name=\"roll_number\"\r\n value={formData.roll_number}\r\n onChange={handleChange}\r\n placeholder=\"Enter your roll number\"\r\n />\r\n </FormControl>\r\n </GridItem>\r\n \r\n <GridItem colSpan={{ base: 1, md: 2 }}>\r\n <FormControl>\r\n <FormLabel>Bio</FormLabel>\r\n <Input\r\n as=\"textarea\"\r\n name=\"bio\"\r\n value={formData.bio}\r\n onChange={handleChange}\r\n placeholder=\"Tell us about yourself\"\r\n minHeight=\"100px\"\r\n />\r\n </FormControl>\r\n </GridItem>\r\n </Grid>\r\n \r\n <Flex gap={4} justifyContent=\"flex-end\">\r\n <Button\r\n variant=\"outline\"\r\n onClick={() => setIsEditing(false)}\r\n disabled={loading}\r\n >\r\n Cancel\r\n </Button>\r\n <Button\r\n type=\"submit\"\r\n colorScheme=\"purple\"\r\n isLoading={loading}\r\n >\r\n Save Changes\r\n </Button>\r\n </Flex>\r\n </VStack>\r\n </form>\r\n )}\r\n </Box>\r\n );\r\n};\r\n\r\nexport default PersonalInfoPanel; ","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Some of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var w = new Worker(ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([\n c + ';addEventListener(\"error\",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'\n ], { type: 'text/javascript' }))));\n w.onmessage = function (e) {\n var d = e.data, ed = d.$e$;\n if (ed) {\n var err = new Error(ed[0]);\n err['code'] = ed[1];\n err.stack = ed[2];\n cb(err, null);\n }\n else\n cb(null, d);\n };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new i32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return { b: b, r: r };\n};\nvar _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b.b, revfd = _b.r;\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i) {\n if (cd[i])\n ++l[cd[i] - 1];\n }\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 1; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i) {\n if (cd[i]) {\n co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);\n }\n }\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p + 7) / 8) | 0; };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n return new u8(v.subarray(s, e));\n};\n/**\n * Codes for errors generated within this library\n */\nexport var FlateErrorCode = {\n UnexpectedEOF: 0,\n InvalidBlockType: 1,\n InvalidLengthLiteral: 2,\n InvalidDistance: 3,\n StreamFinished: 4,\n NoStreamHandler: 5,\n InvalidHeader: 6,\n NoCallback: 7,\n InvalidUTF8: 8,\n ExtraFieldTooLong: 9,\n InvalidDate: 10,\n FilenameTooLong: 11,\n StreamFinishing: 12,\n InvalidZipData: 13,\n UnknownCompressionMethod: 14\n};\n// error codes\nvar ec = [\n 'unexpected EOF',\n 'invalid block type',\n 'invalid length/literal',\n 'invalid distance',\n 'stream finished',\n 'no stream handler',\n ,\n 'no callback',\n 'invalid UTF-8 data',\n 'extra field too long',\n 'date not in range 1980-2099',\n 'filename too long',\n 'stream finishing',\n 'invalid zip data'\n // determined by unknown compression method\n];\n;\nvar err = function (ind, msg, nt) {\n var e = new Error(msg || ec[ind]);\n e.code = ind;\n if (Error.captureStackTrace)\n Error.captureStackTrace(e, err);\n if (!nt)\n throw e;\n return e;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, st, buf, dict) {\n // source length dict length\n var sl = dat.length, dl = dict ? dict.length : 0;\n if (!sl || st.f && !st.l)\n return buf || new u8(0);\n var noBuf = !buf;\n // have to estimate size\n var resize = noBuf || st.i != 2;\n // no state\n var noSt = st.i;\n // Assumes roughly 33% compression ratio average\n if (noBuf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n err(0);\n break;\n }\n // ensure size\n if (resize)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8, st.f = final;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n err(1);\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17\n if (resize)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var lpos = pos;\n for (;; lpos = pos) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >> 4;\n pos += c & 15;\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (!c)\n err(2);\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lpos = pos, lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;\n if (!d)\n err(3);\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & (1 << b) - 1, pos += b;\n }\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (resize)\n cbuf(bt + 131072);\n var end = bt + add;\n if (bt < dt) {\n var shift = dl - dt, dend = Math.min(dt, end);\n if (shift + bt < 0)\n err(3);\n for (; bt < dend; ++bt)\n buf[bt] = dict[shift + bt];\n }\n for (; bt < end; ++bt)\n buf[bt] = buf[bt - dt];\n }\n }\n st.l = lm, st.p = lpos, st.b = bt, st.f = final;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n // don't reallocate for streams or user buffers\n return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >> 8;\n d[o + 2] |= v >> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return { t: et, l: 0 };\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return { t: v, l: 1 };\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return { t: new u8(tr), l: mbt };\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return { c: cl.subarray(0, cli), n: s };\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a.t, mlb = _a.l;\n var _b = hTree(df, 15), ddt = _b.t, mdb = _b.l;\n var _c = lc(dlt), lclt = _c.c, nlc = _c.n;\n var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n ++lcfreq[lclt[i] & 31];\n for (var i = 0; i < lcdt.length; ++i)\n ++lcfreq[lcdt[i] & 31];\n var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l;\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18];\n if (bs >= 0 && flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >> 5) & 127), p += clct[i] >> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n var sym = syms[i];\n if (sym > 255) {\n var len = (sym >> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (sym >> 23) & 31), p += fleb[len];\n var dst = sym & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (sym >> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[sym]), p += ll[sym];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, st) {\n var s = st.z || dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var lst = st.l;\n var pos = (st.r || 0) & 7;\n if (lvl) {\n if (pos)\n w[0] = st.r >> 3;\n var opt = deo[lvl - 1];\n var n = opt >> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new i32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx blkpos\n var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0;\n for (; i + 2 < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768 previous index mod\n var imod = i & 32767, pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = i - dif + j & 32767;\n var pti = prev[ti];\n var cd = ti - pti & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += imod - pimod & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one int32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n for (i = Math.max(i, wi); i < s; ++i) {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n if (!lst) {\n st.r = (pos & 7) | w[(pos / 8) | 0] << 3;\n // shft(pos) now 1 less if pos & 7 != 0\n pos -= 7;\n st.h = head, st.p = prev, st.i = i, st.w = wi;\n }\n }\n else {\n for (var i = st.w || 0; i < s + lst; i += 65535) {\n // end\n var e = i + 65535;\n if (e >= s) {\n // write final block\n w[(pos / 8) | 0] = lst;\n e = s;\n }\n pos = wfblk(w, pos + 1, dat.subarray(i, e));\n }\n st.i = s;\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new Int32Array(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && -306674912) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = -1;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return ~c; }\n };\n};\n// Adler32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length | 0;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 2655, l);\n for (; i < e; ++i)\n m += n += d[i];\n n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16);\n }\n a = n, b = m;\n },\n d: function () {\n a %= 65521, b %= 65521;\n return (a & 255) << 24 | (a & 0xFF00) << 8 | (b & 255) << 8 | (b >> 8);\n }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n if (!st) {\n st = { l: 1 };\n if (opt.dictionary) {\n var dict = opt.dictionary.subarray(-32768);\n var newDat = new u8(dict.length + dat.length);\n newDat.set(dict);\n newDat.set(dat, dict.length);\n dat = newDat;\n st.w = dict.length;\n }\n }\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? (st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20) : (12 + opt.mem), pre, post, st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/\\s+/g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return fnStr;\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k].buffer) {\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n fnStr = wcln(fns[i], fnStr, td_1);\n ch[id] = { c: wcln(fns[m], fnStr, td_1), e: td_1 };\n }\n var td = mrg({}, ch[id].e);\n return wk(ch[id].c + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; };\nvar bDflt = function () { return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zls]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get opts\nvar gopt = function (o) { return o && {\n out: o.size && new u8(o.size),\n dictionary: o.dictionary\n}; };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) {\n if (ev.data.length) {\n strm.push(ev.data[0], ev.data[1]);\n postMessage([ev.data[0].length]);\n }\n else\n strm.flush();\n };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id, flush, ext) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else if (!Array.isArray(dat))\n ext(dat);\n else if (dat.length == 1) {\n strm.queuedSize -= dat[0];\n if (strm.ondrain)\n strm.ondrain(dat[0]);\n }\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.queuedSize = 0;\n strm.push = function (d, f) {\n if (!strm.ondata)\n err(5);\n if (t)\n strm.ondata(err(4, 0, 1), null, !!f);\n strm.queuedSize += d.length;\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n if (flush) {\n strm.flush = function () { w.postMessage([]); };\n }\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };\nvar b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n err(6, 'invalid gzip data');\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += (d[10] | d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0;\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + (o.filename ? o.filename.length + 1 : 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (o.dictionary && 32);\n c[1] |= 31 - ((c[0] << 8) | c[1]) % 31;\n if (o.dictionary) {\n var h = adler();\n h.p(o.dictionary);\n wbytes(c, 2, h.d());\n }\n};\n// zlib start\nvar zls = function (d, dict) {\n if ((d[0] & 15) != 8 || (d[0] >> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n err(6, 'invalid zlib data');\n if ((d[1] >> 5 & 1) == +!dict)\n err(6, 'invalid zlib data: ' + (d[1] & 32 ? 'need' : 'unexpected') + ' dictionary');\n return (d[1] >> 3 & 4) + 2;\n};\nfunction StrmOpt(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n this.s = { l: 0, i: 32768, w: 32768, z: 32768 };\n // Buffer length must always be 0 mod 32768 for index calculations to be correct when modifying head and prev\n // 98304 = 32768 (lookback) + 65536 (common chunk size)\n this.b = new u8(98304);\n if (this.o.dictionary) {\n var dict = this.o.dictionary.subarray(-32768);\n this.b.set(dict, 32768 - dict.length);\n this.s.i = 32768 - dict.length;\n }\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, this.s), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.s.l)\n err(4);\n var endLen = chunk.length + this.s.z;\n if (endLen > this.b.length) {\n if (endLen > 2 * this.b.length - 32768) {\n var newBuf = new u8(endLen & -32768);\n newBuf.set(this.b.subarray(0, this.s.z));\n this.b = newBuf;\n }\n var split = this.b.length - this.s.z;\n this.b.set(chunk.subarray(0, split), this.s.z);\n this.s.z = this.b.length;\n this.p(this.b, false);\n this.b.set(this.b.subarray(-32768));\n this.b.set(chunk.subarray(split), 32768);\n this.s.z = chunk.length - split + 32768;\n this.s.i = 32766, this.s.w = 32768;\n }\n else {\n this.b.set(chunk, this.s.z);\n this.s.z += chunk.length;\n }\n this.s.l = final & 1;\n if (this.s.z > this.s.w + 8191 || final) {\n this.p(this.b, final || false);\n this.s.w = this.s.i, this.s.i -= 2;\n }\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * deflated output for small inputs.\n */\n Deflate.prototype.flush = function () {\n if (!this.ondata)\n err(5);\n if (this.s.l)\n err(4);\n this.p(this.b, false);\n this.s.w = this.s.i, this.s.i -= 2;\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6, 1);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n return dopt(data, opts || {}, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n function Inflate(opts, cb) {\n // no StrmOpt here to avoid adding to workerizer\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768);\n this.s = { i: 0, b: dict ? dict.length : 0 };\n this.o = new u8(32768);\n this.p = new u8(0);\n if (dict)\n this.o.set(dict);\n }\n Inflate.prototype.e = function (c) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n if (!this.p.length)\n this.p = c;\n else if (c.length) {\n var n = new u8(this.p.length + c.length);\n n.set(this.p), n.set(c, this.p.length), this.p = n;\n }\n };\n Inflate.prototype.c = function (final) {\n this.s.i = +(this.d = final || false);\n var bts = this.s.b;\n var dt = inflt(this.p, this.s, this.o);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) | 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n function AsyncInflate(opts, cb) {\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Inflate(ev.data);\n onmessage = astrm(strm);\n }, 7, 0);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, opts) {\n return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n this.c.p(chunk);\n this.l += chunk.length;\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, this.s);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * GZIPped output for small inputs.\n */\n Gzip.prototype.flush = function () {\n Deflate.prototype.flush.call(this);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8, 1);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (!opts)\n opts = {};\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming single or multi-member GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n function Gunzip(opts, cb) {\n this.v = 1;\n this.r = 0;\n Inflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n this.r += chunk.length;\n if (this.v) {\n var p = this.p.subarray(this.v - 1);\n var s = p.length > 3 ? gzs(p) : 4;\n if (s > p.length) {\n if (!final)\n return;\n }\n else if (this.v > 1 && this.onmember) {\n this.onmember(this.r - p.length);\n }\n this.p = p.subarray(s), this.v = 0;\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n // process concatenated GZIP\n if (this.s.f && !this.s.l && !final) {\n this.v = shft(this.s.p) + 9;\n this.s = { i: 0 };\n this.o = new u8(0);\n this.push(new u8(0), final);\n }\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming single or multi-member GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n function AsyncGunzip(opts, cb) {\n var _this = this;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gunzip(ev.data);\n strm.onmember = function (offset) { return postMessage(offset); };\n onmessage = astrm(strm);\n }, 9, 0, function (offset) { return _this.onmember && _this.onmember(offset); });\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0], ev.data[1])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, opts) {\n var st = gzs(data);\n if (st + 8 > data.length)\n err(6, 'invalid gzip data');\n return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary);\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n this.c.p(chunk);\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * zlibbed output for small inputs.\n */\n Zlib.prototype.flush = function () {\n Deflate.prototype.flush.call(this);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10, 1);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (!opts)\n opts = {};\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n function Unzlib(opts, cb) {\n Inflate.call(this, opts, cb);\n this.v = opts && opts.dictionary ? 2 : 1;\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 6 && !final)\n return;\n this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n err(6, 'invalid zlib data');\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n function AsyncUnzlib(opts, cb) {\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Unzlib(ev.data);\n onmessage = astrm(strm);\n }, 11, 0);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gopt(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, opts) {\n return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n function Decompress(opts, cb) {\n this.o = StrmOpt.call(this, opts, cb) || {};\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n }\n // init substream\n // overriden by AsyncDecompress\n Decompress.prototype.i = function () {\n var _this = this;\n this.s.ondata = function (dat, final) {\n _this.ondata(dat, final);\n };\n };\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(this.o)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(this.o)\n : new this.Z(this.o);\n this.i();\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n function AsyncDecompress(opts, cb) {\n Decompress.call(this, opts, cb);\n this.queuedSize = 0;\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n }\n AsyncDecompress.prototype.i = function () {\n var _this = this;\n this.s.ondata = function (err, dat, final) {\n _this.ondata(err, dat, final);\n };\n this.s.ondrain = function (size) {\n _this.queuedSize -= size;\n if (_this.ondrain)\n _this.ondrain(size);\n };\n };\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n this.queuedSize += chunk.length;\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, opts) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, opts)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, opts)\n : unzlibSync(data, opts);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k, op = o;\n if (Array.isArray(val))\n op = mrg(o, val[1]), val = val[0];\n if (val instanceof u8)\n t[n] = [val, op];\n else {\n t[n += '/'] = [new u8(0), op];\n fltn(val, n, t, o);\n }\n }\n};\n// text encoder\nvar te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder();\n// text decoder\nvar td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();\n// text decoder stream\nvar tds = 0;\ntry {\n td.decode(et, { stream: true });\n tds = 1;\n}\ncatch (e) { }\n// decode UTF8\nvar dutf8 = function (d) {\n for (var r = '', i = 0;;) {\n var c = d[i++];\n var eb = (c > 127) + (c > 223) + (c > 239);\n if (i + eb > d.length)\n return { s: r, r: slc(d, i - 1) };\n if (!eb)\n r += String.fromCharCode(c);\n else if (eb == 3) {\n c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n else if (eb & 1)\n r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));\n else\n r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));\n }\n};\n/**\n * Streaming UTF-8 decoding\n */\nvar DecodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is decoded\n */\n function DecodeUTF8(cb) {\n this.ondata = cb;\n if (tds)\n this.t = new TextDecoder();\n else\n this.p = et;\n }\n /**\n * Pushes a chunk to be decoded from UTF-8 binary\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n DecodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n final = !!final;\n if (this.t) {\n this.ondata(this.t.decode(chunk, { stream: true }), final);\n if (final) {\n if (this.t.decode().length)\n err(8);\n this.t = null;\n }\n return;\n }\n if (!this.p)\n err(4);\n var dat = new u8(this.p.length + chunk.length);\n dat.set(this.p);\n dat.set(chunk, this.p.length);\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (final) {\n if (r.length)\n err(8);\n this.p = null;\n }\n else\n this.p = r;\n this.ondata(s, final);\n };\n return DecodeUTF8;\n}());\nexport { DecodeUTF8 };\n/**\n * Streaming UTF-8 encoding\n */\nvar EncodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is encoded\n */\n function EncodeUTF8(cb) {\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be encoded to UTF-8\n * @param chunk The string data to push\n * @param final Whether this is the last chunk\n */\n EncodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n this.ondata(strToU8(chunk), this.d = final || false);\n };\n return EncodeUTF8;\n}());\nexport { EncodeUTF8 };\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n if (latin1) {\n var ar_1 = new u8(str.length);\n for (var i = 0; i < str.length; ++i)\n ar_1[i] = str.charCodeAt(i);\n return ar_1;\n }\n if (te)\n return te.encode(str);\n var l = str.length;\n var ar = new u8(str.length + (str.length >> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >> 18)), w(128 | ((c >> 12) & 63)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >> 12)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n if (latin1) {\n var r = '';\n for (var i = 0; i < dat.length; i += 16384)\n r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));\n return r;\n }\n else if (td) {\n return td.decode(dat);\n }\n else {\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (r.length)\n err(8);\n return s;\n }\n}\n;\n// deflate bit flag\nvar dbf = function (l) { return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; };\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);\n var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];\n};\n// extra field length\nvar exfl = function (ex) {\n var le = 0;\n if (ex) {\n for (var k in ex) {\n var l = ex[k].length;\n if (l > 65535)\n err(9);\n le += l + 4;\n }\n }\n return le;\n};\n// write zip header\nvar wzh = function (d, b, f, fn, u, c, ce, co) {\n var fl = fn.length, ex = f.extra, col = co && co.length;\n var exl = exfl(ex);\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b++] = 20, d[b++] = f.os;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8;\n d[b++] = f.compression & 255, d[b++] = f.compression >> 8;\n var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n err(10);\n wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >> 1)), b += 4;\n if (c != -1) {\n wbytes(d, b, f.crc);\n wbytes(d, b + 4, c < 0 ? -c - 2 : c);\n wbytes(d, b + 8, f.size);\n }\n wbytes(d, b + 12, fl);\n wbytes(d, b + 14, exl), b += 16;\n if (ce != null) {\n wbytes(d, b, col);\n wbytes(d, b + 6, f.attrs);\n wbytes(d, b + 10, ce), b += 14;\n }\n d.set(fn, b);\n b += fl;\n if (exl) {\n for (var k in ex) {\n var exf = ex[k], l = exf.length;\n wbytes(d, b, +k);\n wbytes(d, b + 2, l);\n d.set(exf, b + 4), b += 4 + l;\n }\n }\n if (col)\n d.set(co, b), b += col;\n return b;\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\n/**\n * A pass-through stream to keep data uncompressed in a ZIP archive.\n */\nvar ZipPassThrough = /*#__PURE__*/ (function () {\n /**\n * Creates a pass-through stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n */\n function ZipPassThrough(filename) {\n this.filename = filename;\n this.c = crc();\n this.size = 0;\n this.compression = 0;\n }\n /**\n * Processes a chunk and pushes to the output stream. You can override this\n * method in a subclass for custom behavior, but by default this passes\n * the data through. You must call this.ondata(err, chunk, final) at some\n * point in this method.\n * @param chunk The chunk to process\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.process = function (chunk, final) {\n this.ondata(null, chunk, final);\n };\n /**\n * Pushes a chunk to be added. If you are subclassing this with a custom\n * compression algorithm, note that you must push data from the source\n * file only, pre-compression.\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n this.c.p(chunk);\n this.size += chunk.length;\n if (final)\n this.crc = this.c.d();\n this.process(chunk, final || false);\n };\n return ZipPassThrough;\n}());\nexport { ZipPassThrough };\n// I don't extend because TypeScript extension adds 1kB of runtime bloat\n/**\n * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate\n * for better performance\n */\nvar ZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function ZipDeflate(filename, opts) {\n var _this = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new Deflate(opts, function (dat, final) {\n _this.ondata(null, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n }\n ZipDeflate.prototype.process = function (chunk, final) {\n try {\n this.d.push(chunk, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return ZipDeflate;\n}());\nexport { ZipDeflate };\n/**\n * Asynchronous streaming DEFLATE compression for ZIP archives\n */\nvar AsyncZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function AsyncZipDeflate(filename, opts) {\n var _this = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new AsyncDeflate(opts, function (err, dat, final) {\n _this.ondata(err, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n this.terminate = this.d.terminate;\n }\n AsyncZipDeflate.prototype.process = function (chunk, final) {\n this.d.push(chunk, final);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return AsyncZipDeflate;\n}());\nexport { AsyncZipDeflate };\n// TODO: Better tree shaking\n/**\n * A zippable archive to which files can incrementally be added\n */\nvar Zip = /*#__PURE__*/ (function () {\n /**\n * Creates an empty ZIP archive to which files can be added\n * @param cb The callback to call whenever data for the generated ZIP archive\n * is available\n */\n function Zip(cb) {\n this.ondata = cb;\n this.u = [];\n this.d = 1;\n }\n /**\n * Adds a file to the ZIP archive\n * @param file The file stream to add\n */\n Zip.prototype.add = function (file) {\n var _this = this;\n if (!this.ondata)\n err(5);\n // finishing or finished\n if (this.d & 2)\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false);\n else {\n var f = strToU8(file.filename), fl_1 = f.length;\n var com = file.comment, o = com && strToU8(com);\n var u = fl_1 != file.filename.length || (o && (com.length != o.length));\n var hl_1 = fl_1 + exfl(file.extra) + 30;\n if (fl_1 > 65535)\n this.ondata(err(11, 0, 1), null, false);\n var header = new u8(hl_1);\n wzh(header, 0, file, f, u, -1);\n var chks_1 = [header];\n var pAll_1 = function () {\n for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) {\n var chk = chks_2[_i];\n _this.ondata(null, chk, false);\n }\n chks_1 = [];\n };\n var tr_1 = this.d;\n this.d = 0;\n var ind_1 = this.u.length;\n var uf_1 = mrg(file, {\n f: f,\n u: u,\n o: o,\n t: function () {\n if (file.terminate)\n file.terminate();\n },\n r: function () {\n pAll_1();\n if (tr_1) {\n var nxt = _this.u[ind_1 + 1];\n if (nxt)\n nxt.r();\n else\n _this.d = 1;\n }\n tr_1 = 1;\n }\n });\n var cl_1 = 0;\n file.ondata = function (err, dat, final) {\n if (err) {\n _this.ondata(err, dat, final);\n _this.terminate();\n }\n else {\n cl_1 += dat.length;\n chks_1.push(dat);\n if (final) {\n var dd = new u8(16);\n wbytes(dd, 0, 0x8074B50);\n wbytes(dd, 4, file.crc);\n wbytes(dd, 8, cl_1);\n wbytes(dd, 12, file.size);\n chks_1.push(dd);\n uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file.crc, uf_1.size = file.size;\n if (tr_1)\n uf_1.r();\n tr_1 = 1;\n }\n else if (tr_1)\n pAll_1();\n }\n };\n this.u.push(uf_1);\n }\n };\n /**\n * Ends the process of adding files and prepares to emit the final chunks.\n * This *must* be called after adding all desired files for the resulting\n * ZIP file to work properly.\n */\n Zip.prototype.end = function () {\n var _this = this;\n if (this.d & 2) {\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true);\n return;\n }\n if (this.d)\n this.e();\n else\n this.u.push({\n r: function () {\n if (!(_this.d & 1))\n return;\n _this.u.splice(-1, 1);\n _this.e();\n },\n t: function () { }\n });\n this.d = 3;\n };\n Zip.prototype.e = function () {\n var bt = 0, l = 0, tl = 0;\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0);\n }\n var out = new u8(tl + 22);\n for (var _b = 0, _c = this.u; _b < _c.length; _b++) {\n var f = _c[_b];\n wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o);\n bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b;\n }\n wzf(out, bt, this.u.length, tl, l);\n this.ondata(null, out, true);\n this.d = 2;\n };\n /**\n * A method to terminate any internal workers used by the stream. Subsequent\n * calls to add() will fail.\n */\n Zip.prototype.terminate = function () {\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n f.t();\n }\n this.d = 2;\n };\n return Zip;\n}());\nexport { Zip };\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n var l = f.c.length;\n wzh(out, tot, f, f.f, f.u, l);\n var badd = 30 + f.f.length + exfl(f.extra);\n var loc = tot + badd;\n out.set(f.c, loc);\n wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l;\n }\n catch (e) {\n return cbd(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cbd(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), size = file.length;\n c.p(file);\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n var compression = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n var l = d.length;\n files[i] = mrg(p, {\n size: size,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n compression: compression\n });\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n if (!--lft)\n cbf();\n }\n };\n if (s > 65535)\n cbl(err(11, 0, 1), null);\n if (!compression)\n cbl(null, file);\n else if (size < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (!opts)\n opts = {};\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var compression = p.level == 0 ? 0 : 8;\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n if (s > 65535)\n err(11);\n var d = compression ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push(mrg(p, {\n size: file.length,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n o: o,\n compression: compression\n }));\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f, f.f, f.u, f.c.length);\n var badd = 30 + f.f.length + exfl(f.extra);\n out.set(f.c, f.o + badd);\n wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0);\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Streaming pass-through decompression for ZIP archives\n */\nvar UnzipPassThrough = /*#__PURE__*/ (function () {\n function UnzipPassThrough() {\n }\n UnzipPassThrough.prototype.push = function (data, final) {\n this.ondata(null, data, final);\n };\n UnzipPassThrough.compression = 0;\n return UnzipPassThrough;\n}());\nexport { UnzipPassThrough };\n/**\n * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for\n * better performance.\n */\nvar UnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function UnzipInflate() {\n var _this = this;\n this.i = new Inflate(function (dat, final) {\n _this.ondata(null, dat, final);\n });\n }\n UnzipInflate.prototype.push = function (data, final) {\n try {\n this.i.push(data, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n UnzipInflate.compression = 8;\n return UnzipInflate;\n}());\nexport { UnzipInflate };\n/**\n * Asynchronous streaming DEFLATE decompression for ZIP archives\n */\nvar AsyncUnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function AsyncUnzipInflate(_, sz) {\n var _this = this;\n if (sz < 320000) {\n this.i = new Inflate(function (dat, final) {\n _this.ondata(null, dat, final);\n });\n }\n else {\n this.i = new AsyncInflate(function (err, dat, final) {\n _this.ondata(err, dat, final);\n });\n this.terminate = this.i.terminate;\n }\n }\n AsyncUnzipInflate.prototype.push = function (data, final) {\n if (this.i.terminate)\n data = slc(data, 0);\n this.i.push(data, final);\n };\n AsyncUnzipInflate.compression = 8;\n return AsyncUnzipInflate;\n}());\nexport { AsyncUnzipInflate };\n/**\n * A ZIP archive decompression stream that emits files as they are discovered\n */\nvar Unzip = /*#__PURE__*/ (function () {\n /**\n * Creates a ZIP decompression stream\n * @param cb The callback to call whenever a file in the ZIP archive is found\n */\n function Unzip(cb) {\n this.onfile = cb;\n this.k = [];\n this.o = {\n 0: UnzipPassThrough\n };\n this.p = et;\n }\n /**\n * Pushes a chunk to be unzipped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzip.prototype.push = function (chunk, final) {\n var _this = this;\n if (!this.onfile)\n err(5);\n if (!this.p)\n err(4);\n if (this.c > 0) {\n var len = Math.min(this.c, chunk.length);\n var toAdd = chunk.subarray(0, len);\n this.c -= len;\n if (this.d)\n this.d.push(toAdd, !this.c);\n else\n this.k[0].push(toAdd);\n chunk = chunk.subarray(len);\n if (chunk.length)\n return this.push(chunk, final);\n }\n else {\n var f = 0, i = 0, is = void 0, buf = void 0;\n if (!this.p.length)\n buf = chunk;\n else if (!chunk.length)\n buf = this.p;\n else {\n buf = new u8(this.p.length + chunk.length);\n buf.set(this.p), buf.set(chunk, this.p.length);\n }\n var l = buf.length, oc = this.c, add = oc && this.d;\n var _loop_2 = function () {\n var _a;\n var sig = b4(buf, i);\n if (sig == 0x4034B50) {\n f = 1, is = i;\n this_1.d = null;\n this_1.c = 0;\n var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28);\n if (l > i + 30 + fnl + es) {\n var chks_3 = [];\n this_1.k.unshift(chks_3);\n f = 2;\n var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22);\n var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u);\n if (sc_1 == 4294967295) {\n _a = dd ? [-2] : z64e(buf, i), sc_1 = _a[0], su_1 = _a[1];\n }\n else if (dd)\n sc_1 = -1;\n i += es;\n this_1.c = sc_1;\n var d_1;\n var file_1 = {\n name: fn_1,\n compression: cmp_1,\n start: function () {\n if (!file_1.ondata)\n err(5);\n if (!sc_1)\n file_1.ondata(null, et, true);\n else {\n var ctr = _this.o[cmp_1];\n if (!ctr)\n file_1.ondata(err(14, 'unknown compression type ' + cmp_1, 1), null, false);\n d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1);\n d_1.ondata = function (err, dat, final) { file_1.ondata(err, dat, final); };\n for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) {\n var dat = chks_4[_i];\n d_1.push(dat, false);\n }\n if (_this.k[0] == chks_3 && _this.c)\n _this.d = d_1;\n else\n d_1.push(et, true);\n }\n },\n terminate: function () {\n if (d_1 && d_1.terminate)\n d_1.terminate();\n }\n };\n if (sc_1 >= 0)\n file_1.size = sc_1, file_1.originalSize = su_1;\n this_1.onfile(file_1);\n }\n return \"break\";\n }\n else if (oc) {\n if (sig == 0x8074B50) {\n is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0;\n return \"break\";\n }\n else if (sig == 0x2014B50) {\n is = i -= 4, f = 3, this_1.c = 0;\n return \"break\";\n }\n }\n };\n var this_1 = this;\n for (; i < l - 4; ++i) {\n var state_1 = _loop_2();\n if (state_1 === \"break\")\n break;\n }\n this.p = et;\n if (oc < 0) {\n var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 0x8074B50 && 4)) : buf.subarray(0, i);\n if (add)\n add.push(dat, !!f);\n else\n this.k[+(f == 2)].push(dat);\n }\n if (f & 2)\n return this.push(buf.subarray(i), final);\n this.p = buf.subarray(i);\n }\n if (final) {\n if (this.c)\n err(13);\n this.p = null;\n }\n };\n /**\n * Registers a decoder with the stream, allowing for files compressed with\n * the compression type provided to be expanded correctly\n * @param decoder The decoder constructor\n */\n Unzip.prototype.register = function (decoder) {\n this.o[decoder.compression] = decoder;\n };\n return Unzip;\n}());\nexport { Unzip };\nvar mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); };\nexport function unzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cbd(err(13, 0, 1), null);\n return tAll;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (lft) {\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = lft = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n var _loop_3 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n if (d)\n files[fn] = d;\n if (!--lft)\n cbd(null, files);\n }\n };\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_1\n })) {\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n // Synchronously decompress under 512KB, or barely-compressed data\n if (su < 524288 || sc > 0.8 * su) {\n try {\n cbl(null, inflateSync(infl, { out: new u8(su) }));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl(err(14, 'unknown compression type ' + c_1, 1), null);\n }\n else\n cbl(null, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_3(i);\n }\n }\n else\n cbd(null, {});\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @param opts The ZIP extraction options\n * @returns The decompressed files\n */\nexport function unzipSync(data, opts) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n err(13);\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_2\n })) {\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });\n else\n err(14, 'unknown compression type ' + c_2);\n }\n }\n return files;\n}\n","/** @license\n *\n * jsPDF - PDF Document creation from JavaScript\n * Version 3.0.1 Built on 2025-03-17T14:19:36.873Z\n * CommitID 00000000\n *\n * Copyright (c) 2010-2021 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF\n * 2015-2021 yWorks GmbH, http://www.yworks.com\n * 2015-2021 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX\n * 2016-2018 Aras Abbasi <aras.abbasi@gmail.com>\n * 2010 Aaron Spike, https://github.com/acspike\n * 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2012 Pablo Hess, https://github.com/pablohess\n * 2012 Florian Jenett, https://github.com/fjenett\n * 2013 Warren Weckesser, https://github.com/warrenweckesser\n * 2013 Youssef Beddad, https://github.com/lifof\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2013 Stefan Slonevskiy, https://github.com/stefslon\n * 2013 Jeremy Morel, https://github.com/jmorel\n * 2013 Christoph Hartmann, https://github.com/chris-rock\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Makes, https://github.com/dollaruw\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Steven Spungin, https://github.com/Flamenco\n * 2014 Kenneth Glassey, https://github.com/Gavvers\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * Contributor(s):\n * siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,\n * kim3er, mfo, alnorth, Flamenco\n */\n\nimport t from\"@babel/runtime/helpers/typeof\";import{zlibSync as e,unzlibSync as r}from\"fflate\";var n=function(){return\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this}();function i(){n.console&&\"function\"==typeof n.console.log&&n.console.log.apply(n.console,arguments)}var a={log:i,warn:function(t){n.console&&(\"function\"==typeof n.console.warn?n.console.warn.apply(n.console,arguments):i.call(null,arguments))},error:function(t){n.console&&(\"function\"==typeof n.console.error?n.console.error.apply(n.console,arguments):i(t))}};function o(t,e,r){var n=new XMLHttpRequest;n.open(\"GET\",t),n.responseType=\"blob\",n.onload=function(){l(n.response,e,r)},n.onerror=function(){a.error(\"could not download file\")},n.send()}function s(t){var e=new XMLHttpRequest;e.open(\"HEAD\",t,!1);try{e.send()}catch(t){}return e.status>=200&&e.status<=299}function c(t){try{t.dispatchEvent(new MouseEvent(\"click\"))}catch(r){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var u,h,l=n.saveAs||(\"object\"!==(\"undefined\"==typeof window?\"undefined\":t(window))||window!==n?function(){}:\"undefined\"!=typeof HTMLAnchorElement&&\"download\"in HTMLAnchorElement.prototype?function(t,e,r){var i=n.URL||n.webkitURL,a=document.createElement(\"a\");e=e||t.name||\"download\",a.download=e,a.rel=\"noopener\",\"string\"==typeof t?(a.href=t,a.origin!==location.origin?s(a.href)?o(t,e,r):c(a,a.target=\"_blank\"):c(a)):(a.href=i.createObjectURL(t),setTimeout((function(){i.revokeObjectURL(a.href)}),4e4),setTimeout((function(){c(a)}),0))}:\"msSaveOrOpenBlob\"in navigator?function(e,r,n){if(r=r||e.name||\"download\",\"string\"==typeof e)if(s(e))o(e,r,n);else{var i=document.createElement(\"a\");i.href=e,i.target=\"_blank\",setTimeout((function(){c(i)}))}else navigator.msSaveOrOpenBlob(function(e,r){return void 0===r?r={autoBom:!1}:\"object\"!==t(r)&&(a.warn(\"Deprecated: Expected third argument to be a object\"),r={autoBom:!r}),r.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e}(e,n),r)}:function(e,r,i,a){if((a=a||open(\"\",\"_blank\"))&&(a.document.title=a.document.body.innerText=\"downloading...\"),\"string\"==typeof e)return o(e,r,i);var s=\"application/octet-stream\"===e.type,c=/constructor/i.test(n.HTMLElement)||n.safari,u=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((u||s&&c)&&\"object\"===(\"undefined\"==typeof FileReader?\"undefined\":t(FileReader))){var h=new FileReader;h.onloadend=function(){var t=h.result;t=u?t:t.replace(/^data:[^;]*;/,\"data:attachment/file;\"),a?a.location.href=t:location=t,a=null},h.readAsDataURL(e)}else{var l=n.URL||n.webkitURL,f=l.createObjectURL(e);a?a.location=f:location.href=f,a=null,setTimeout((function(){l.revokeObjectURL(f)}),4e4)}});\n/**\n * A class to parse color values\n * @author Stoyan Stefanov <sstoo@gmail.com>\n * {@link http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */function f(t){var e;t=t||\"\",this.ok=!1,\"#\"==t.charAt(0)&&(t=t.substr(1,6));t={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dodgerblue:\"1e90ff\",feldspar:\"d19275\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgrey:\"d3d3d3\",lightgreen:\"90ee90\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslateblue:\"8470ff\",lightslategray:\"778899\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"00ff00\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"ff00ff\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370d8\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"d87093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",red:\"ff0000\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",violetred:\"d02090\",wheat:\"f5deb3\",white:\"ffffff\",whitesmoke:\"f5f5f5\",yellow:\"ffff00\",yellowgreen:\"9acd32\"}[t=(t=t.replace(/ /g,\"\")).toLowerCase()]||t;for(var r=[{re:/^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,example:[\"rgb(123, 234, 45)\",\"rgb(255,234,245)\"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\\w{2})(\\w{2})(\\w{2})$/,example:[\"#00ff00\",\"336699\"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\\w{1})(\\w{1})(\\w{1})$/,example:[\"#fb0\",\"f0f\"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],n=0;n<r.length;n++){var i=r[n].re,a=r[n].process,o=i.exec(t);o&&(e=a(o),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return\"rgb(\"+this.r+\", \"+this.g+\", \"+this.b+\")\"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length&&(t=\"0\"+t),1==e.length&&(e=\"0\"+e),1==r.length&&(r=\"0\"+r),\"#\"+t+e+r}}\n/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\nfunction d(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r=g(r,n,i,a,e[0],7,-680876936),a=g(a,r,n,i,e[1],12,-389564586),i=g(i,a,r,n,e[2],17,606105819),n=g(n,i,a,r,e[3],22,-1044525330),r=g(r,n,i,a,e[4],7,-176418897),a=g(a,r,n,i,e[5],12,1200080426),i=g(i,a,r,n,e[6],17,-1473231341),n=g(n,i,a,r,e[7],22,-45705983),r=g(r,n,i,a,e[8],7,1770035416),a=g(a,r,n,i,e[9],12,-1958414417),i=g(i,a,r,n,e[10],17,-42063),n=g(n,i,a,r,e[11],22,-1990404162),r=g(r,n,i,a,e[12],7,1804603682),a=g(a,r,n,i,e[13],12,-40341101),i=g(i,a,r,n,e[14],17,-1502002290),r=m(r,n=g(n,i,a,r,e[15],22,1236535329),i,a,e[1],5,-165796510),a=m(a,r,n,i,e[6],9,-1069501632),i=m(i,a,r,n,e[11],14,643717713),n=m(n,i,a,r,e[0],20,-373897302),r=m(r,n,i,a,e[5],5,-701558691),a=m(a,r,n,i,e[10],9,38016083),i=m(i,a,r,n,e[15],14,-660478335),n=m(n,i,a,r,e[4],20,-405537848),r=m(r,n,i,a,e[9],5,568446438),a=m(a,r,n,i,e[14],9,-1019803690),i=m(i,a,r,n,e[3],14,-187363961),n=m(n,i,a,r,e[8],20,1163531501),r=m(r,n,i,a,e[13],5,-1444681467),a=m(a,r,n,i,e[2],9,-51403784),i=m(i,a,r,n,e[7],14,1735328473),r=v(r,n=m(n,i,a,r,e[12],20,-1926607734),i,a,e[5],4,-378558),a=v(a,r,n,i,e[8],11,-2022574463),i=v(i,a,r,n,e[11],16,1839030562),n=v(n,i,a,r,e[14],23,-35309556),r=v(r,n,i,a,e[1],4,-1530992060),a=v(a,r,n,i,e[4],11,1272893353),i=v(i,a,r,n,e[7],16,-155497632),n=v(n,i,a,r,e[10],23,-1094730640),r=v(r,n,i,a,e[13],4,681279174),a=v(a,r,n,i,e[0],11,-358537222),i=v(i,a,r,n,e[3],16,-722521979),n=v(n,i,a,r,e[6],23,76029189),r=v(r,n,i,a,e[9],4,-640364487),a=v(a,r,n,i,e[12],11,-421815835),i=v(i,a,r,n,e[15],16,530742520),r=b(r,n=v(n,i,a,r,e[2],23,-995338651),i,a,e[0],6,-198630844),a=b(a,r,n,i,e[7],10,1126891415),i=b(i,a,r,n,e[14],15,-1416354905),n=b(n,i,a,r,e[5],21,-57434055),r=b(r,n,i,a,e[12],6,1700485571),a=b(a,r,n,i,e[3],10,-1894986606),i=b(i,a,r,n,e[10],15,-1051523),n=b(n,i,a,r,e[1],21,-2054922799),r=b(r,n,i,a,e[8],6,1873313359),a=b(a,r,n,i,e[15],10,-30611744),i=b(i,a,r,n,e[6],15,-1560198380),n=b(n,i,a,r,e[13],21,1309151649),r=b(r,n,i,a,e[4],6,-145523070),a=b(a,r,n,i,e[11],10,-1120210379),i=b(i,a,r,n,e[2],15,718787259),n=b(n,i,a,r,e[9],21,-343485551),t[0]=_(r,t[0]),t[1]=_(n,t[1]),t[2]=_(i,t[2]),t[3]=_(a,t[3])}function p(t,e,r,n,i,a){return e=_(_(e,t),_(n,a)),_(e<<i|e>>>32-i,r)}function g(t,e,r,n,i,a,o){return p(e&r|~e&n,t,e,i,a,o)}function m(t,e,r,n,i,a,o){return p(e&n|r&~n,t,e,i,a,o)}function v(t,e,r,n,i,a,o){return p(e^r^n,t,e,i,a,o)}function b(t,e,r,n,i,a,o){return p(r^(e|~n),t,e,i,a,o)}function y(t){var e,r=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=t.length;e+=64)d(n,w(t.substring(e-64,e)));t=t.substring(e-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<t.length;e++)i[e>>2]|=t.charCodeAt(e)<<(e%4<<3);if(i[e>>2]|=128<<(e%4<<3),e>55)for(d(n,i),e=0;e<16;e++)i[e]=0;return i[14]=8*r,d(n,i),n}function w(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}u=n.atob.bind(n),h=n.btoa.bind(n);var N=\"0123456789abcdef\".split(\"\");function L(t){for(var e=\"\",r=0;r<4;r++)e+=N[t>>8*r+4&15]+N[t>>8*r&15];return e}function A(t){return String.fromCharCode((255&t)>>0,(65280&t)>>8,(16711680&t)>>16,(4278190080&t)>>24)}function x(t){return y(t).map(A).join(\"\")}var S=\"5d41402abc4b2a76b9719d911017c592\"!=function(t){for(var e=0;e<t.length;e++)t[e]=L(t[e]);return t.join(\"\")}(y(\"hello\"));function _(t,e){if(S){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}return t+e&4294967295}\n/**\n * @license\n * FPDF is released under a permissive license: there is no usage restriction.\n * You may embed it freely in your application (commercial or not), with or\n * without modifications.\n *\n * Reference: http://www.fpdf.org/en/script/script37.php\n */function P(t,e){var r,n,i,a;if(t!==r){for(var o=(i=t,a=1+(256/t.length>>0),new Array(a+1).join(i)),s=[],c=0;c<256;c++)s[c]=c;var u=0;for(c=0;c<256;c++){var h=s[c];u=(u+h+o.charCodeAt(c))%256,s[c]=s[u],s[u]=h}r=t,n=s}else s=n;var l=e.length,f=0,d=0,p=\"\";for(c=0;c<l;c++)d=(d+(h=s[f=(f+1)%256]))%256,s[f]=s[d],s[d]=h,o=s[(s[f]+s[d])%256],p+=String.fromCharCode(e.charCodeAt(c)^o);return p}\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n * Author: Owen Leong (@owenl131)\n * Date: 15 Oct 2020\n * References:\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\n * http://www.fpdf.org/en/script/script37.php\n */var k={print:4,modify:8,copy:16,\"annot-forms\":32};function I(t,e,r,n){this.v=1,this.r=2;var i=192;t.forEach((function(t){if(void 0!==k.perm)throw new Error(\"Invalid permission: \"+t);i+=k[t]})),this.padding=\"(¿N^NuAd\\0NVÿú\u0001\\b..\\0¶Ðh>/\\f©þdSiz\";var a=(e+this.padding).substr(0,32),o=(r+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=x(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(n)).substr(0,5),this.U=P(this.encryptionKey,this.padding)}function F(t){if(/[^\\u0000-\\u00ff]/.test(t))throw new Error(\"Invalid PDF Name Object: \"+t+\", Only accept ASCII characters.\");for(var e=\"\",r=t.length,n=0;n<r;n++){var i=t.charCodeAt(n);if(i<33||35===i||37===i||40===i||41===i||47===i||60===i||62===i||91===i||93===i||123===i||125===i||i>126)e+=\"#\"+(\"0\"+i.toString(16)).slice(-2);else e+=t[n]}return e}function C(e){if(\"object\"!==t(e))throw new Error(\"Invalid Context passed to initialize PubSub (jsPDF-module)\");var r={};this.subscribe=function(t,e,n){if(n=n||!1,\"string\"!=typeof t||\"function\"!=typeof e||\"boolean\"!=typeof n)throw new Error(\"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\");r.hasOwnProperty(t)||(r[t]={});var i=Math.random().toString(35);return r[t][i]=[e,!!n],i},this.unsubscribe=function(t){for(var e in r)if(r[e][t])return delete r[e][t],0===Object.keys(r[e]).length&&delete r[e],!0;return!1},this.publish=function(t){if(r.hasOwnProperty(t)){var i=Array.prototype.slice.call(arguments,1),o=[];for(var s in r[t]){var c=r[t][s];try{c[0].apply(e,i)}catch(t){n.console&&a.error(\"jsPDF PubSub Error\",t.message,t)}c[1]&&o.push(s)}o.length&&o.forEach(this.unsubscribe)}},this.getTopics=function(){return r}}function j(t){if(!(this instanceof j))return new j(t);var e=\"opacity,stroke-opacity\".split(\",\");for(var r in t)t.hasOwnProperty(r)&&e.indexOf(r)>=0&&(this[r]=t[r]);this.id=\"\",this.objectNumber=-1}function O(t,e){this.gState=t,this.matrix=e,this.id=\"\",this.objectNumber=-1}function B(t,e,r,n,i){if(!(this instanceof B))return new B(t,e,r,n,i);this.type=\"axial\"===t?2:3,this.coords=e,this.colors=r,O.call(this,n,i)}function M(t,e,r,n,i){if(!(this instanceof M))return new M(t,e,r,n,i);this.boundingBox=t,this.xStep=e,this.yStep=r,this.stream=\"\",this.cloneIndex=0,O.call(this,n,i)}function E(e){var r,i=\"string\"==typeof arguments[0]?arguments[0]:\"p\",o=arguments[1],s=arguments[2],c=arguments[3],u=[],d=1,p=16,g=\"S\",m=null;\"object\"===t(e=e||{})&&(i=e.orientation,o=e.unit||o,s=e.format||s,c=e.compress||e.compressPdf||c,null!==(m=e.encryption||null)&&(m.userPassword=m.userPassword||\"\",m.ownerPassword=m.ownerPassword||\"\",m.userPermissions=m.userPermissions||[]),d=\"number\"==typeof e.userUnit?Math.abs(e.userUnit):1,void 0!==e.precision&&(r=e.precision),void 0!==e.floatPrecision&&(p=e.floatPrecision),g=e.defaultPathOperation||\"S\"),u=e.filters||(!0===c?[\"FlateEncode\"]:u),o=o||\"mm\",i=(\"\"+(i||\"P\")).toLowerCase();var v=e.putOnlyUsedFonts||!1,b={},y={internal:{},__private__:{}};y.__private__.PubSub=C;var w=\"1.3\",N=y.__private__.getPdfVersion=function(){return w};y.__private__.setPdfVersion=function(t){w=t};var L={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};y.__private__.getPageFormats=function(){return L};var A=y.__private__.getPageFormat=function(t){return L[t]};s=s||\"a4\";var x={COMPAT:\"compat\",ADVANCED:\"advanced\"},S=x.COMPAT;function _(){this.saveGraphicsState(),lt(new Vt(_t,0,0,-_t,0,Rr()*_t).toString()+\" cm\"),this.setFontSize(this.getFontSize()/_t),g=\"n\",S=x.ADVANCED}function P(){this.restoreGraphicsState(),g=\"S\",S=x.COMPAT}var k=y.__private__.combineFontStyleAndFontWeight=function(t,e){if(\"bold\"==t&&\"normal\"==e||\"bold\"==t&&400==e||\"normal\"==t&&\"italic\"==e||\"bold\"==t&&\"italic\"==e)throw new Error(\"Invalid Combination of fontweight and fontstyle\");return e&&(t=400==e||\"normal\"===e?\"italic\"===t?\"italic\":\"normal\":700!=e&&\"bold\"!==e||\"normal\"!==t?(700==e?\"bold\":e)+\"\"+t:\"bold\"),t};y.advancedAPI=function(t){var e=S===x.COMPAT;return e&&_.call(this),\"function\"!=typeof t||(t(this),e&&P.call(this)),this},y.compatAPI=function(t){var e=S===x.ADVANCED;return e&&P.call(this),\"function\"!=typeof t||(t(this),e&&_.call(this)),this},y.isAdvancedAPI=function(){return S===x.ADVANCED};var O,q=function(t){if(S!==x.ADVANCED)throw new Error(t+\" is only available in 'advanced' API mode. You need to call advancedAPI() first.\")},D=y.roundToPrecision=y.__private__.roundToPrecision=function(t,e){var n=r||e;if(isNaN(t)||isNaN(n))throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");return t.toFixed(n).replace(/0+$/,\"\")};O=y.hpf=y.__private__.hpf=\"number\"==typeof p?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,p)}:\"smart\"===p?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,t>-1&&t<1?16:5)}:function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,16)};var R=y.f2=y.__private__.f2=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f2\");return D(t,2)},T=y.__private__.f3=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f3\");return D(t,3)},U=y.scale=y.__private__.scale=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.scale\");return S===x.COMPAT?t*_t:S===x.ADVANCED?t:void 0},z=function(t){return S===x.COMPAT?Rr()-t:S===x.ADVANCED?t:void 0},H=function(t){return U(z(t))};y.__private__.setPrecision=y.setPrecision=function(t){\"number\"==typeof parseInt(t,10)&&(r=parseInt(t,10))};var W,V=\"00000000000000000000000000000000\",G=y.__private__.getFileId=function(){return V},Y=y.__private__.setFileId=function(t){return V=void 0!==t&&/^[a-fA-F0-9]{32}$/.test(t)?t.toUpperCase():V.split(\"\").map((function(){return\"ABCDEF0123456789\".charAt(Math.floor(16*Math.random()))})).join(\"\"),null!==m&&(Ye=new I(m.userPermissions,m.userPassword,m.ownerPassword,V)),V};y.setFileId=function(t){return Y(t),this},y.getFileId=function(){return G()};var J=y.__private__.convertDateToPDFDate=function(t){var e=t.getTimezoneOffset(),r=e<0?\"+\":\"-\",n=Math.floor(Math.abs(e/60)),i=Math.abs(e%60),a=[r,Q(n),\"'\",Q(i),\"'\"].join(\"\");return[\"D:\",t.getFullYear(),Q(t.getMonth()+1),Q(t.getDate()),Q(t.getHours()),Q(t.getMinutes()),Q(t.getSeconds()),a].join(\"\")},X=y.__private__.convertPDFDateToDate=function(t){var e=parseInt(t.substr(2,4),10),r=parseInt(t.substr(6,2),10)-1,n=parseInt(t.substr(8,2),10),i=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),o=parseInt(t.substr(14,2),10);return new Date(e,r,n,i,a,o,0)},K=y.__private__.setCreationDate=function(t){var e;if(void 0===t&&(t=new Date),t instanceof Date)e=J(t);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(t))throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");e=t}return W=e},Z=y.__private__.getCreationDate=function(t){var e=W;return\"jsDate\"===t&&(e=X(W)),e};y.setCreationDate=function(t){return K(t),this},y.getCreationDate=function(t){return Z(t)};var $,Q=y.__private__.padd2=function(t){return(\"0\"+parseInt(t)).slice(-2)},tt=y.__private__.padd2Hex=function(t){return(\"00\"+(t=t.toString())).substr(t.length)},et=0,rt=[],nt=[],it=0,at=[],ot=[],st=!1,ct=nt,ut=function(){et=0,it=0,nt=[],rt=[],at=[],Qt=Kt(),te=Kt()};y.__private__.setCustomOutputDestination=function(t){st=!0,ct=t};var ht=function(t){st||(ct=t)};y.__private__.resetCustomOutputDestination=function(){st=!1,ct=nt};var lt=y.__private__.out=function(t){return t=t.toString(),it+=t.length+1,ct.push(t),ct},ft=y.__private__.write=function(t){return lt(1===arguments.length?t.toString():Array.prototype.join.call(arguments,\" \"))},dt=y.__private__.getArrayBuffer=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r);e--;)n[e]=t.charCodeAt(e);return r},pt=[[\"Helvetica\",\"helvetica\",\"normal\",\"WinAnsiEncoding\"],[\"Helvetica-Bold\",\"helvetica\",\"bold\",\"WinAnsiEncoding\"],[\"Helvetica-Oblique\",\"helvetica\",\"italic\",\"WinAnsiEncoding\"],[\"Helvetica-BoldOblique\",\"helvetica\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Courier\",\"courier\",\"normal\",\"WinAnsiEncoding\"],[\"Courier-Bold\",\"courier\",\"bold\",\"WinAnsiEncoding\"],[\"Courier-Oblique\",\"courier\",\"italic\",\"WinAnsiEncoding\"],[\"Courier-BoldOblique\",\"courier\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Times-Roman\",\"times\",\"normal\",\"WinAnsiEncoding\"],[\"Times-Bold\",\"times\",\"bold\",\"WinAnsiEncoding\"],[\"Times-Italic\",\"times\",\"italic\",\"WinAnsiEncoding\"],[\"Times-BoldItalic\",\"times\",\"bolditalic\",\"WinAnsiEncoding\"],[\"ZapfDingbats\",\"zapfdingbats\",\"normal\",null],[\"Symbol\",\"symbol\",\"normal\",null]];y.__private__.getStandardFonts=function(){return pt};var gt=e.fontSize||16;y.__private__.setFontSize=y.setFontSize=function(t){return gt=S===x.ADVANCED?t/_t:t,this};var mt,vt=y.__private__.getFontSize=y.getFontSize=function(){return S===x.COMPAT?gt:gt*_t},bt=e.R2L||!1;y.__private__.setR2L=y.setR2L=function(t){return bt=t,this},y.__private__.getR2L=y.getR2L=function(){return bt};var yt,wt=y.__private__.setZoomMode=function(t){var e=[void 0,null,\"fullwidth\",\"fullheight\",\"fullpage\",\"original\"];if(/^(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+)%$/.test(t))mt=t;else if(isNaN(t)){if(-1===e.indexOf(t))throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"'+t+'\" is not recognized.');mt=t}else mt=parseInt(t,10)};y.__private__.getZoomMode=function(){return mt};var Nt,Lt=y.__private__.setPageMode=function(t){if(-1==[void 0,null,\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"FullScreen\"].indexOf(t))throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"'+t+'\" is not recognized.');yt=t};y.__private__.getPageMode=function(){return yt};var At=y.__private__.setLayoutMode=function(t){if(-1==[void 0,null,\"continuous\",\"single\",\"twoleft\",\"tworight\",\"two\"].indexOf(t))throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. \"'+t+'\" is not recognized.');Nt=t};y.__private__.getLayoutMode=function(){return Nt},y.__private__.setDisplayMode=y.setDisplayMode=function(t,e,r){return wt(t),At(e),Lt(r),this};var xt={title:\"\",subject:\"\",author:\"\",keywords:\"\",creator:\"\"};y.__private__.getDocumentProperty=function(t){if(-1===Object.keys(xt).indexOf(t))throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");return xt[t]},y.__private__.getDocumentProperties=function(){return xt},y.__private__.setDocumentProperties=y.setProperties=y.setDocumentProperties=function(t){for(var e in xt)xt.hasOwnProperty(e)&&t[e]&&(xt[e]=t[e]);return this},y.__private__.setDocumentProperty=function(t,e){if(-1===Object.keys(xt).indexOf(t))throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");return xt[t]=e};var St,_t,Pt,kt,It,Ft={},Ct={},jt=[],Ot={},Bt={},Mt={},Et={},qt=null,Dt=0,Rt=[],Tt=new C(y),Ut=e.hotfixes||[],zt={},Ht={},Wt=[],Vt=function t(e,r,n,i,a,o){if(!(this instanceof t))return new t(e,r,n,i,a,o);isNaN(e)&&(e=1),isNaN(r)&&(r=0),isNaN(n)&&(n=0),isNaN(i)&&(i=1),isNaN(a)&&(a=0),isNaN(o)&&(o=0),this._matrix=[e,r,n,i,a,o]};Object.defineProperty(Vt.prototype,\"sx\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Vt.prototype,\"shy\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Vt.prototype,\"shx\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Vt.prototype,\"sy\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Vt.prototype,\"tx\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Vt.prototype,\"ty\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Vt.prototype,\"a\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Vt.prototype,\"b\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Vt.prototype,\"c\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Vt.prototype,\"d\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Vt.prototype,\"e\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Vt.prototype,\"f\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Vt.prototype,\"rotation\",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(Vt.prototype,\"scaleX\",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(Vt.prototype,\"scaleY\",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(Vt.prototype,\"isIdentity\",{get:function(){return 1===this.sx&&(0===this.shy&&(0===this.shx&&(1===this.sy&&(0===this.tx&&0===this.ty))))}}),Vt.prototype.join=function(t){return[this.sx,this.shy,this.shx,this.sy,this.tx,this.ty].map(O).join(t)},Vt.prototype.multiply=function(t){var e=t.sx*this.sx+t.shy*this.shx,r=t.sx*this.shy+t.shy*this.sy,n=t.shx*this.sx+t.sy*this.shx,i=t.shx*this.shy+t.sy*this.sy,a=t.tx*this.sx+t.ty*this.shx+this.tx,o=t.tx*this.shy+t.ty*this.sy+this.ty;return new Vt(e,r,n,i,a,o)},Vt.prototype.decompose=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=Math.sqrt(t*t+e*e),s=(t/=o)*r+(e/=o)*n;r-=t*s,n-=e*s;var c=Math.sqrt(r*r+n*n);return s/=c,t*(n/=c)<e*(r/=c)&&(t=-t,e=-e,s=-s,o=-o),{scale:new Vt(o,0,0,c,0,0),translate:new Vt(1,0,0,1,i,a),rotate:new Vt(t,e,-e,t,0,0),skew:new Vt(1,0,s,1,0,0)}},Vt.prototype.toString=function(t){return this.join(\" \")},Vt.prototype.inversed=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=1/(t*n-e*r),s=n*o,c=-e*o,u=-r*o,h=t*o;return new Vt(s,c,u,h,-s*i-u*a,-c*i-h*a)},Vt.prototype.applyToPoint=function(t){var e=t.x*this.sx+t.y*this.shx+this.tx,r=t.x*this.shy+t.y*this.sy+this.ty;return new Cr(e,r)},Vt.prototype.applyToRectangle=function(t){var e=this.applyToPoint(t),r=this.applyToPoint(new Cr(t.x+t.w,t.y+t.h));return new jr(e.x,e.y,r.x-e.x,r.y-e.y)},Vt.prototype.clone=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty;return new Vt(t,e,r,n,i,a)},y.Matrix=Vt;var Gt=y.matrixMult=function(t,e){return e.multiply(t)},Yt=new Vt(1,0,0,1,0,0);y.unitMatrix=y.identityMatrix=Yt;var Jt=function(t,e){if(!Bt[t]){var r=(e instanceof B?\"Sh\":\"P\")+(Object.keys(Ot).length+1).toString(10);e.id=r,Bt[t]=r,Ot[r]=e,Tt.publish(\"addPattern\",e)}};y.ShadingPattern=B,y.TilingPattern=M,y.addShadingPattern=function(t,e){return q(\"addShadingPattern()\"),Jt(t,e),this},y.beginTilingPattern=function(t){q(\"beginTilingPattern()\"),Br(t.boundingBox[0],t.boundingBox[1],t.boundingBox[2]-t.boundingBox[0],t.boundingBox[3]-t.boundingBox[1],t.matrix)},y.endTilingPattern=function(t,e){q(\"endTilingPattern()\"),e.stream=ot[$].join(\"\\n\"),Jt(t,e),Tt.publish(\"endTilingPattern\",e),Wt.pop().restore()};var Xt=y.__private__.newObject=function(){var t=Kt();return Zt(t,!0),t},Kt=y.__private__.newObjectDeferred=function(){return et++,rt[et]=function(){return it},et},Zt=function(t,e){return e=\"boolean\"==typeof e&&e,rt[t]=it,e&<(t+\" 0 obj\"),t},$t=y.__private__.newAdditionalObject=function(){var t={objId:Kt(),content:\"\"};return at.push(t),t},Qt=Kt(),te=Kt(),ee=y.__private__.decodeColorString=function(t){var e=t.split(\" \");if(2!==e.length||\"g\"!==e[1]&&\"G\"!==e[1]){if(5===e.length&&(\"k\"===e[4]||\"K\"===e[4])){e=[(1-e[0])*(1-e[3]),(1-e[1])*(1-e[3]),(1-e[2])*(1-e[3]),\"r\"]}}else{var r=parseFloat(e[0]);e=[r,r,r,\"r\"]}for(var n=\"#\",i=0;i<3;i++)n+=(\"0\"+Math.floor(255*parseFloat(e[i])).toString(16)).slice(-2);return n},re=y.__private__.encodeColorString=function(e){var r;\"string\"==typeof e&&(e={ch1:e});var n=e.ch1,i=e.ch2,a=e.ch3,o=e.ch4,s=\"draw\"===e.pdfColorType?[\"G\",\"RG\",\"K\"]:[\"g\",\"rg\",\"k\"];if(\"string\"==typeof n&&\"#\"!==n.charAt(0)){var c=new f(n);if(c.ok)n=c.toHex();else if(!/^\\d*\\.?\\d*$/.test(n))throw new Error('Invalid color \"'+n+'\" passed to jsPDF.encodeColorString.')}if(\"string\"==typeof n&&/^#[0-9A-Fa-f]{3}$/.test(n)&&(n=\"#\"+n[1]+n[1]+n[2]+n[2]+n[3]+n[3]),\"string\"==typeof n&&/^#[0-9A-Fa-f]{6}$/.test(n)){var u=parseInt(n.substr(1),16);n=u>>16&255,i=u>>8&255,a=255&u}if(void 0===i||void 0===o&&n===i&&i===a)if(\"string\"==typeof n)r=n+\" \"+s[0];else switch(e.precision){case 2:r=R(n/255)+\" \"+s[0];break;case 3:default:r=T(n/255)+\" \"+s[0]}else if(void 0===o||\"object\"===t(o)){if(o&&!isNaN(o.a)&&0===o.a)return r=[\"1.\",\"1.\",\"1.\",s[1]].join(\" \");if(\"string\"==typeof n)r=[n,i,a,s[1]].join(\" \");else switch(e.precision){case 2:r=[R(n/255),R(i/255),R(a/255),s[1]].join(\" \");break;default:case 3:r=[T(n/255),T(i/255),T(a/255),s[1]].join(\" \")}}else if(\"string\"==typeof n)r=[n,i,a,o,s[2]].join(\" \");else switch(e.precision){case 2:r=[R(n),R(i),R(a),R(o),s[2]].join(\" \");break;case 3:default:r=[T(n),T(i),T(a),T(o),s[2]].join(\" \")}return r},ne=y.__private__.getFilters=function(){return u},ie=y.__private__.putStream=function(t){var e=(t=t||{}).data||\"\",r=t.filters||ne(),n=t.alreadyAppliedFilters||[],i=t.addLength1||!1,a=e.length,o=t.objectId,s=function(t){return t};if(null!==m&&void 0===o)throw new Error(\"ObjectId must be passed to putStream for file encryption\");null!==m&&(s=Ye.encryptor(o,0));var c={};!0===r&&(r=[\"FlateEncode\"]);var u=t.additionalKeyValues||[],h=(c=void 0!==E.API.processDataByFilters?E.API.processDataByFilters(e,r):{data:e,reverseChain:[]}).reverseChain+(Array.isArray(n)?n.join(\" \"):n.toString());if(0!==c.data.length&&(u.push({key:\"Length\",value:c.data.length}),!0===i&&u.push({key:\"Length1\",value:a})),0!=h.length)if(h.split(\"/\").length-1==1)u.push({key:\"Filter\",value:h});else{u.push({key:\"Filter\",value:\"[\"+h+\"]\"});for(var l=0;l<u.length;l+=1)if(\"DecodeParms\"===u[l].key){for(var f=[],d=0;d<c.reverseChain.split(\"/\").length-1;d+=1)f.push(\"null\");f.push(u[l].value),u[l].value=\"[\"+f.join(\" \")+\"]\"}}lt(\"<<\");for(var p=0;p<u.length;p++)lt(\"/\"+u[p].key+\" \"+u[p].value);lt(\">>\"),0!==c.data.length&&(lt(\"stream\"),lt(s(c.data)),lt(\"endstream\"))},ae=y.__private__.putPage=function(t){var e=t.number,r=t.data,n=t.objId,i=t.contentsObjId;Zt(n,!0),lt(\"<</Type /Page\"),lt(\"/Parent \"+t.rootDictionaryObjId+\" 0 R\"),lt(\"/Resources \"+t.resourceDictionaryObjId+\" 0 R\"),lt(\"/MediaBox [\"+parseFloat(O(t.mediaBox.bottomLeftX))+\" \"+parseFloat(O(t.mediaBox.bottomLeftY))+\" \"+O(t.mediaBox.topRightX)+\" \"+O(t.mediaBox.topRightY)+\"]\"),null!==t.cropBox&<(\"/CropBox [\"+O(t.cropBox.bottomLeftX)+\" \"+O(t.cropBox.bottomLeftY)+\" \"+O(t.cropBox.topRightX)+\" \"+O(t.cropBox.topRightY)+\"]\"),null!==t.bleedBox&<(\"/BleedBox [\"+O(t.bleedBox.bottomLeftX)+\" \"+O(t.bleedBox.bottomLeftY)+\" \"+O(t.bleedBox.topRightX)+\" \"+O(t.bleedBox.topRightY)+\"]\"),null!==t.trimBox&<(\"/TrimBox [\"+O(t.trimBox.bottomLeftX)+\" \"+O(t.trimBox.bottomLeftY)+\" \"+O(t.trimBox.topRightX)+\" \"+O(t.trimBox.topRightY)+\"]\"),null!==t.artBox&<(\"/ArtBox [\"+O(t.artBox.bottomLeftX)+\" \"+O(t.artBox.bottomLeftY)+\" \"+O(t.artBox.topRightX)+\" \"+O(t.artBox.topRightY)+\"]\"),\"number\"==typeof t.userUnit&&1!==t.userUnit&<(\"/UserUnit \"+t.userUnit),Tt.publish(\"putPage\",{objId:n,pageContext:Rt[e],pageNumber:e,page:r}),lt(\"/Contents \"+i+\" 0 R\"),lt(\">>\"),lt(\"endobj\");var a=r.join(\"\\n\");return S===x.ADVANCED&&(a+=\"\\nQ\"),Zt(i,!0),ie({data:a,filters:ne(),objectId:i}),lt(\"endobj\"),n},oe=y.__private__.putPages=function(){var t,e,r=[];for(t=1;t<=Dt;t++)Rt[t].objId=Kt(),Rt[t].contentsObjId=Kt();for(t=1;t<=Dt;t++)r.push(ae({number:t,data:ot[t],objId:Rt[t].objId,contentsObjId:Rt[t].contentsObjId,mediaBox:Rt[t].mediaBox,cropBox:Rt[t].cropBox,bleedBox:Rt[t].bleedBox,trimBox:Rt[t].trimBox,artBox:Rt[t].artBox,userUnit:Rt[t].userUnit,rootDictionaryObjId:Qt,resourceDictionaryObjId:te}));Zt(Qt,!0),lt(\"<</Type /Pages\");var n=\"/Kids [\";for(e=0;e<Dt;e++)n+=r[e]+\" 0 R \";lt(n+\"]\"),lt(\"/Count \"+Dt),lt(\">>\"),lt(\"endobj\"),Tt.publish(\"postPutPages\")},se=function(t){Tt.publish(\"putFont\",{font:t,out:lt,newObject:Xt,putStream:ie}),!0!==t.isAlreadyPutted&&(t.objectNumber=Xt(),lt(\"<<\"),lt(\"/Type /Font\"),lt(\"/BaseFont /\"+F(t.postScriptName)),lt(\"/Subtype /Type1\"),\"string\"==typeof t.encoding&<(\"/Encoding /\"+t.encoding),lt(\"/FirstChar 32\"),lt(\"/LastChar 255\"),lt(\">>\"),lt(\"endobj\"))},ce=function(){for(var t in Ft)Ft.hasOwnProperty(t)&&(!1===v||!0===v&&b.hasOwnProperty(t))&&se(Ft[t])},ue=function(t){t.objectNumber=Xt();var e=[];e.push({key:\"Type\",value:\"/XObject\"}),e.push({key:\"Subtype\",value:\"/Form\"}),e.push({key:\"BBox\",value:\"[\"+[O(t.x),O(t.y),O(t.x+t.width),O(t.y+t.height)].join(\" \")+\"]\"}),e.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"});var r=t.pages[1].join(\"\\n\");ie({data:r,additionalKeyValues:e,objectId:t.objectNumber}),lt(\"endobj\")},he=function(){for(var t in zt)zt.hasOwnProperty(t)&&ue(zt[t])},le=function(t,e){var r,n=[],i=1/(e-1);for(r=0;r<1;r+=i)n.push(r);if(n.push(1),0!=t[0].offset){var a={offset:0,color:t[0].color};t.unshift(a)}if(1!=t[t.length-1].offset){var o={offset:1,color:t[t.length-1].color};t.push(o)}for(var s=\"\",c=0,u=0;u<n.length;u++){for(r=n[u];r>t[c+1].offset;)c++;var h=t[c].offset,l=(r-h)/(t[c+1].offset-h),f=t[c].color,d=t[c+1].color;s+=tt(Math.round((1-l)*f[0]+l*d[0]).toString(16))+tt(Math.round((1-l)*f[1]+l*d[1]).toString(16))+tt(Math.round((1-l)*f[2]+l*d[2]).toString(16))}return s.trim()},fe=function(t,e){e||(e=21);var r=Xt(),n=le(t.colors,e),i=[];i.push({key:\"FunctionType\",value:\"0\"}),i.push({key:\"Domain\",value:\"[0.0 1.0]\"}),i.push({key:\"Size\",value:\"[\"+e+\"]\"}),i.push({key:\"BitsPerSample\",value:\"8\"}),i.push({key:\"Range\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),i.push({key:\"Decode\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),ie({data:n,additionalKeyValues:i,alreadyAppliedFilters:[\"/ASCIIHexDecode\"],objectId:r}),lt(\"endobj\"),t.objectNumber=Xt(),lt(\"<< /ShadingType \"+t.type),lt(\"/ColorSpace /DeviceRGB\");var a=\"/Coords [\"+O(parseFloat(t.coords[0]))+\" \"+O(parseFloat(t.coords[1]))+\" \";2===t.type?a+=O(parseFloat(t.coords[2]))+\" \"+O(parseFloat(t.coords[3])):a+=O(parseFloat(t.coords[2]))+\" \"+O(parseFloat(t.coords[3]))+\" \"+O(parseFloat(t.coords[4]))+\" \"+O(parseFloat(t.coords[5])),lt(a+=\"]\"),t.matrix&<(\"/Matrix [\"+t.matrix.toString()+\"]\"),lt(\"/Function \"+r+\" 0 R\"),lt(\"/Extend [true true]\"),lt(\">>\"),lt(\"endobj\")},de=function(t,e){var r=Kt(),n=Xt();e.push({resourcesOid:r,objectOid:n}),t.objectNumber=n;var i=[];i.push({key:\"Type\",value:\"/Pattern\"}),i.push({key:\"PatternType\",value:\"1\"}),i.push({key:\"PaintType\",value:\"1\"}),i.push({key:\"TilingType\",value:\"1\"}),i.push({key:\"BBox\",value:\"[\"+t.boundingBox.map(O).join(\" \")+\"]\"}),i.push({key:\"XStep\",value:O(t.xStep)}),i.push({key:\"YStep\",value:O(t.yStep)}),i.push({key:\"Resources\",value:r+\" 0 R\"}),t.matrix&&i.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"}),ie({data:t.stream,additionalKeyValues:i,objectId:t.objectNumber}),lt(\"endobj\")},pe=function(t){var e;for(e in Ot)Ot.hasOwnProperty(e)&&(Ot[e]instanceof B?fe(Ot[e]):Ot[e]instanceof M&&de(Ot[e],t))},ge=function(t){for(var e in t.objectNumber=Xt(),lt(\"<<\"),t)switch(e){case\"opacity\":lt(\"/ca \"+R(t[e]));break;case\"stroke-opacity\":lt(\"/CA \"+R(t[e]))}lt(\">>\"),lt(\"endobj\")},me=function(){var t;for(t in Mt)Mt.hasOwnProperty(t)&&ge(Mt[t])},ve=function(){for(var t in lt(\"/XObject <<\"),zt)zt.hasOwnProperty(t)&&zt[t].objectNumber>=0&<(\"/\"+t+\" \"+zt[t].objectNumber+\" 0 R\");Tt.publish(\"putXobjectDict\"),lt(\">>\")},be=function(){Ye.oid=Xt(),lt(\"<<\"),lt(\"/Filter /Standard\"),lt(\"/V \"+Ye.v),lt(\"/R \"+Ye.r),lt(\"/U <\"+Ye.toHexString(Ye.U)+\">\"),lt(\"/O <\"+Ye.toHexString(Ye.O)+\">\"),lt(\"/P \"+Ye.P),lt(\">>\"),lt(\"endobj\")},ye=function(){for(var t in lt(\"/Font <<\"),Ft)Ft.hasOwnProperty(t)&&(!1===v||!0===v&&b.hasOwnProperty(t))&<(\"/\"+t+\" \"+Ft[t].objectNumber+\" 0 R\");lt(\">>\")},we=function(){if(Object.keys(Ot).length>0){for(var t in lt(\"/Shading <<\"),Ot)Ot.hasOwnProperty(t)&&Ot[t]instanceof B&&Ot[t].objectNumber>=0&<(\"/\"+t+\" \"+Ot[t].objectNumber+\" 0 R\");Tt.publish(\"putShadingPatternDict\"),lt(\">>\")}},Ne=function(t){if(Object.keys(Ot).length>0){for(var e in lt(\"/Pattern <<\"),Ot)Ot.hasOwnProperty(e)&&Ot[e]instanceof y.TilingPattern&&Ot[e].objectNumber>=0&&Ot[e].objectNumber<t&<(\"/\"+e+\" \"+Ot[e].objectNumber+\" 0 R\");Tt.publish(\"putTilingPatternDict\"),lt(\">>\")}},Le=function(){if(Object.keys(Mt).length>0){var t;for(t in lt(\"/ExtGState <<\"),Mt)Mt.hasOwnProperty(t)&&Mt[t].objectNumber>=0&<(\"/\"+t+\" \"+Mt[t].objectNumber+\" 0 R\");Tt.publish(\"putGStateDict\"),lt(\">>\")}},Ae=function(t){Zt(t.resourcesOid,!0),lt(\"<<\"),lt(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\"),ye(),we(),Ne(t.objectOid),Le(),ve(),lt(\">>\"),lt(\"endobj\")},xe=function(){var t=[];ce(),me(),he(),pe(t),Tt.publish(\"putResources\"),t.forEach(Ae),Ae({resourcesOid:te,objectOid:Number.MAX_SAFE_INTEGER}),Tt.publish(\"postPutResources\")},Se=function(){Tt.publish(\"putAdditionalObjects\");for(var t=0;t<at.length;t++){var e=at[t];Zt(e.objId,!0),lt(e.content),lt(\"endobj\")}Tt.publish(\"postPutAdditionalObjects\")},_e=function(t){Ct[t.fontName]=Ct[t.fontName]||{},Ct[t.fontName][t.fontStyle]=t.id},Pe=function(t,e,r,n,i){var a={id:\"F\"+(Object.keys(Ft).length+1).toString(10),postScriptName:t,fontName:e,fontStyle:r,encoding:n,isStandardFont:i||!1,metadata:{}};return Tt.publish(\"addFont\",{font:a,instance:this}),Ft[a.id]=a,_e(a),a.id},ke=function(t){for(var e=0,r=pt.length;e<r;e++){var n=Pe.call(this,t[e][0],t[e][1],t[e][2],pt[e][3],!0);!1===v&&(b[n]=!0);var i=t[e][0].split(\"-\");_e({id:n,fontName:i[0],fontStyle:i[1]||\"\"})}Tt.publish(\"addFonts\",{fonts:Ft,dictionary:Ct})},Ie=function(t){return t.foo=function(){try{return t.apply(this,arguments)}catch(t){var e=t.stack||\"\";~e.indexOf(\" at \")&&(e=e.split(\" at \")[1]);var r=\"Error in function \"+e.split(\"\\n\")[0].split(\"<\")[0]+\": \"+t.message;if(!n.console)throw new Error(r);n.console.error(r,t),n.alert&&alert(r)}},t.foo.bar=t,t.foo},Fe=function(t,e){var r,n,i,a,o,s,c,u,h;if(i=(e=e||{}).sourceEncoding||\"Unicode\",o=e.outputEncoding,(e.autoencode||o)&&Ft[St].metadata&&Ft[St].metadata[i]&&Ft[St].metadata[i].encoding&&(a=Ft[St].metadata[i].encoding,!o&&Ft[St].encoding&&(o=Ft[St].encoding),!o&&a.codePages&&(o=a.codePages[0]),\"string\"==typeof o&&(o=a[o]),o)){for(c=!1,s=[],r=0,n=t.length;r<n;r++)(u=o[t.charCodeAt(r)])?s.push(String.fromCharCode(u)):s.push(t[r]),s[r].charCodeAt(0)>>8&&(c=!0);t=s.join(\"\")}for(r=t.length;void 0===c&&0!==r;)t.charCodeAt(r-1)>>8&&(c=!0),r--;if(!c)return t;for(s=e.noBOM?[]:[254,255],r=0,n=t.length;r<n;r++){if((h=(u=t.charCodeAt(r))>>8)>>8)throw new Error(\"Character at position \"+r+\" of string '\"+t+\"' exceeds 16bits. Cannot be encoded into UCS-2 BE\");s.push(h),s.push(u-(h<<8))}return String.fromCharCode.apply(void 0,s)},Ce=y.__private__.pdfEscape=y.pdfEscape=function(t,e){return Fe(t,e).replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},je=y.__private__.beginPage=function(t){ot[++Dt]=[],Rt[Dt]={objId:0,contentsObjId:0,userUnit:Number(d),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(t[0]),topRightY:Number(t[1])}},Me(Dt),ht(ot[$])},Oe=function(t,e){var r,n,o;switch(i=e||i,\"string\"==typeof t&&(r=A(t.toLowerCase()),Array.isArray(r)&&(n=r[0],o=r[1])),Array.isArray(t)&&(n=t[0]*_t,o=t[1]*_t),isNaN(n)&&(n=s[0],o=s[1]),(n>14400||o>14400)&&(a.warn(\"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"),n=Math.min(14400,n),o=Math.min(14400,o)),s=[n,o],i.substr(0,1)){case\"l\":o>n&&(s=[o,n]);break;case\"p\":n>o&&(s=[o,n])}je(s),pr(fr),lt(Lr),0!==kr&<(kr+\" J\"),0!==Ir&<(Ir+\" j\"),Tt.publish(\"addPage\",{pageNumber:Dt})},Be=function(t){t>0&&t<=Dt&&(ot.splice(t,1),Rt.splice(t,1),Dt--,$>Dt&&($=Dt),this.setPage($))},Me=function(t){t>0&&t<=Dt&&($=t)},Ee=y.__private__.getNumberOfPages=y.getNumberOfPages=function(){return ot.length-1},qe=function(t,e,r){var n,i=void 0;return r=r||{},t=void 0!==t?t:Ft[St].fontName,e=void 0!==e?e:Ft[St].fontStyle,n=t.toLowerCase(),void 0!==Ct[n]&&void 0!==Ct[n][e]?i=Ct[n][e]:void 0!==Ct[t]&&void 0!==Ct[t][e]?i=Ct[t][e]:!1===r.disableWarning&&a.warn(\"Unable to look up font label for font '\"+t+\"', '\"+e+\"'. Refer to getFontList() for available fonts.\"),i||r.noFallback||null==(i=Ct.times[e])&&(i=Ct.times.normal),i},De=y.__private__.putInfo=function(){var t=Xt(),e=function(t){return t};for(var r in null!==m&&(e=Ye.encryptor(t,0)),lt(\"<<\"),lt(\"/Producer (\"+Ce(e(\"jsPDF \"+E.version))+\")\"),xt)xt.hasOwnProperty(r)&&xt[r]&<(\"/\"+r.substr(0,1).toUpperCase()+r.substr(1)+\" (\"+Ce(e(xt[r]))+\")\");lt(\"/CreationDate (\"+Ce(e(W))+\")\"),lt(\">>\"),lt(\"endobj\")},Re=y.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||Qt;switch(Xt(),lt(\"<<\"),lt(\"/Type /Catalog\"),lt(\"/Pages \"+e+\" 0 R\"),mt||(mt=\"fullwidth\"),mt){case\"fullwidth\":lt(\"/OpenAction [3 0 R /FitH null]\");break;case\"fullheight\":lt(\"/OpenAction [3 0 R /FitV null]\");break;case\"fullpage\":lt(\"/OpenAction [3 0 R /Fit]\");break;case\"original\":lt(\"/OpenAction [3 0 R /XYZ null null 1]\");break;default:var r=\"\"+mt;\"%\"===r.substr(r.length-1)&&(mt=parseInt(mt)/100),\"number\"==typeof mt&<(\"/OpenAction [3 0 R /XYZ null null \"+R(mt)+\"]\")}switch(Nt||(Nt=\"continuous\"),Nt){case\"continuous\":lt(\"/PageLayout /OneColumn\");break;case\"single\":lt(\"/PageLayout /SinglePage\");break;case\"two\":case\"twoleft\":lt(\"/PageLayout /TwoColumnLeft\");break;case\"tworight\":lt(\"/PageLayout /TwoColumnRight\")}yt&<(\"/PageMode /\"+yt),Tt.publish(\"putCatalog\"),lt(\">>\"),lt(\"endobj\")},Te=y.__private__.putTrailer=function(){lt(\"trailer\"),lt(\"<<\"),lt(\"/Size \"+(et+1)),lt(\"/Root \"+et+\" 0 R\"),lt(\"/Info \"+(et-1)+\" 0 R\"),null!==m&<(\"/Encrypt \"+Ye.oid+\" 0 R\"),lt(\"/ID [ <\"+V+\"> <\"+V+\"> ]\"),lt(\">>\")},Ue=y.__private__.putHeader=function(){lt(\"%PDF-\"+w),lt(\"%ºß¬à\")},ze=y.__private__.putXRef=function(){var t=\"0000000000\";lt(\"xref\"),lt(\"0 \"+(et+1)),lt(\"0000000000 65535 f \");for(var e=1;e<=et;e++){\"function\"==typeof rt[e]?lt((t+rt[e]()).slice(-10)+\" 00000 n \"):void 0!==rt[e]?lt((t+rt[e]).slice(-10)+\" 00000 n \"):lt(\"0000000000 00000 n \")}},He=y.__private__.buildDocument=function(){ut(),ht(nt),Tt.publish(\"buildDocument\"),Ue(),oe(),Se(),xe(),null!==m&&be(),De(),Re();var t=it;return ze(),Te(),lt(\"startxref\"),lt(\"\"+t),lt(\"%%EOF\"),ht(ot[$]),nt.join(\"\\n\")},We=y.__private__.getBlob=function(t){return new Blob([dt(t)],{type:\"application/pdf\"})},Ve=y.output=y.__private__.output=Ie((function(t,e){switch(\"string\"==typeof(e=e||{})?e={filename:e}:e.filename=e.filename||\"generated.pdf\",t){case void 0:return He();case\"save\":y.save(e.filename);break;case\"arraybuffer\":return dt(He());case\"blob\":return We(He());case\"bloburi\":case\"bloburl\":if(void 0!==n.URL&&\"function\"==typeof n.URL.createObjectURL)return n.URL&&n.URL.createObjectURL(We(He()))||void 0;a.warn(\"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\");break;case\"datauristring\":case\"dataurlstring\":var r=\"\",i=He();try{r=h(i)}catch(t){r=h(unescape(encodeURIComponent(i)))}return\"data:application/pdf;filename=\"+e.filename+\";base64,\"+r;case\"pdfobjectnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(n)){var o=\"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\",s=' integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\" crossorigin=\"anonymous\"';e.pdfObjectUrl&&(o=e.pdfObjectUrl,s=\"\");var c='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><script src=\"'+o+'\"'+s+'><\\/script><script >PDFObject.embed(\"'+this.output(\"dataurlstring\")+'\", '+JSON.stringify(e)+\");<\\/script></body></html>\",u=n.open();return null!==u&&u.document.write(c),u}throw new Error(\"The option pdfobjectnewwindow just works in a browser-environment.\");case\"pdfjsnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(n)){var l='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><iframe id=\"pdfViewer\" src=\"'+(e.pdfJsUrl||\"examples/PDF.js/web/viewer.html\")+\"?file=&downloadName=\"+e.filename+'\" width=\"500px\" height=\"400px\" /></body></html>',f=n.open();if(null!==f){f.document.write(l);var d=this;f.document.documentElement.querySelector(\"#pdfViewer\").onload=function(){f.document.title=e.filename,f.document.documentElement.querySelector(\"#pdfViewer\").contentWindow.PDFViewerApplication.open(d.output(\"bloburl\"))}}return f}throw new Error(\"The option pdfjsnewwindow just works in a browser-environment.\");case\"dataurlnewwindow\":if(\"[object Window]\"!==Object.prototype.toString.call(n))throw new Error(\"The option dataurlnewwindow just works in a browser-environment.\");var p='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><iframe src=\"'+this.output(\"datauristring\",e)+'\"></iframe></body></html>',g=n.open();if(null!==g&&(g.document.write(p),g.document.title=e.filename),g||\"undefined\"==typeof safari)return g;break;case\"datauri\":case\"dataurl\":return n.document.location.href=this.output(\"datauristring\",e);default:return null}})),Ge=function(t){return!0===Array.isArray(Ut)&&Ut.indexOf(t)>-1};switch(o){case\"pt\":_t=1;break;case\"mm\":_t=72/25.4;break;case\"cm\":_t=72/2.54;break;case\"in\":_t=72;break;case\"px\":_t=1==Ge(\"px_scaling\")?.75:96/72;break;case\"pc\":case\"em\":_t=12;break;case\"ex\":_t=6;break;default:if(\"number\"!=typeof o)throw new Error(\"Invalid unit: \"+o);_t=o}var Ye=null;K(),Y();var Je=function(t){return null!==m?Ye.encryptor(t,0):function(t){return t}},Xe=y.__private__.getPageInfo=y.getPageInfo=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");return{objId:Rt[t].objId,pageNumber:t,pageContext:Rt[t]}},Ke=y.__private__.getPageInfoByObjId=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");for(var e in Rt)if(Rt[e].objId===t)break;return Xe(e)},Ze=y.__private__.getCurrentPageInfo=y.getCurrentPageInfo=function(){return{objId:Rt[$].objId,pageNumber:$,pageContext:Rt[$]}};y.addPage=function(){return Oe.apply(this,arguments),this},y.setPage=function(){return Me.apply(this,arguments),ht.call(this,ot[$]),this},y.insertPage=function(t){return this.addPage(),this.movePage($,t),this},y.movePage=function(t,e){var r,n;if(t>e){r=ot[t],n=Rt[t];for(var i=t;i>e;i--)ot[i]=ot[i-1],Rt[i]=Rt[i-1];ot[e]=r,Rt[e]=n,this.setPage(e)}else if(t<e){r=ot[t],n=Rt[t];for(var a=t;a<e;a++)ot[a]=ot[a+1],Rt[a]=Rt[a+1];ot[e]=r,Rt[e]=n,this.setPage(e)}return this},y.deletePage=function(){return Be.apply(this,arguments),this},y.__private__.text=y.text=function(e,r,n,i,a){var o,s,c,u,h,l,f,d,p,g=(i=i||{}).scope||this;if(\"number\"==typeof e&&\"number\"==typeof r&&(\"string\"==typeof n||Array.isArray(n))){var m=n;n=r,r=e,e=m}if(arguments[3]instanceof Vt==!1?(c=arguments[4],u=arguments[5],\"object\"===t(f=arguments[3])&&null!==f||(\"string\"==typeof c&&(u=c,c=null),\"string\"==typeof f&&(u=f,f=null),\"number\"==typeof f&&(c=f,f=null),i={flags:f,angle:c,align:u})):(q(\"The transform parameter of text() with a Matrix value\"),p=a),isNaN(r)||isNaN(n)||null==e)throw new Error(\"Invalid arguments passed to jsPDF.text\");if(0===e.length)return g;var v=\"\",y=!1,w=\"number\"==typeof i.lineHeightFactor?i.lineHeightFactor:lr,N=g.internal.scaleFactor;function L(t){return t=t.split(\"\\t\").join(Array(i.TabLen||9).join(\" \")),Ce(t,f)}function A(t){for(var e,r=t.concat(),n=[],i=r.length;i--;)\"string\"==typeof(e=r.shift())?n.push(e):Array.isArray(t)&&(1===e.length||void 0===e[1]&&void 0===e[2])?n.push(e[0]):n.push([e[0],e[1],e[2]]);return n}function _(t,e){var r;if(\"string\"==typeof t)r=e(t)[0];else if(Array.isArray(t)){for(var n,i,a=t.concat(),o=[],s=a.length;s--;)\"string\"==typeof(n=a.shift())?o.push(e(n)[0]):Array.isArray(n)&&\"string\"==typeof n[0]&&(i=e(n[0],n[1],n[2]),o.push([i[0],i[1],i[2]]));r=o}return r}var P=!1,k=!0;if(\"string\"==typeof e)P=!0;else if(Array.isArray(e)){var I=e.concat();s=[];for(var F,C=I.length;C--;)(\"string\"!=typeof(F=I.shift())||Array.isArray(F)&&\"string\"!=typeof F[0])&&(k=!1);P=k}if(!1===P)throw new Error('Type of text must be string or Array. \"'+e+'\" is not recognized.');\"string\"==typeof e&&(e=e.match(/[\\r?\\n]/)?e.split(/\\r\\n|\\r|\\n/g):[e]);var j=gt/g.internal.scaleFactor,B=j*(w-1);switch(i.baseline){case\"bottom\":n-=B;break;case\"top\":n+=j-B;break;case\"hanging\":n+=j-2*B;break;case\"middle\":n+=j/2-B}if((l=i.maxWidth||0)>0&&(\"string\"==typeof e?e=g.splitTextToSize(e,l):\"[object Array]\"===Object.prototype.toString.call(e)&&(e=e.reduce((function(t,e){return t.concat(g.splitTextToSize(e,l))}),[]))),o={text:e,x:r,y:n,options:i,mutex:{pdfEscape:Ce,activeFontKey:St,fonts:Ft,activeFontSize:gt}},Tt.publish(\"preProcessText\",o),e=o.text,c=(i=o.options).angle,p instanceof Vt==!1&&c&&\"number\"==typeof c){c*=Math.PI/180,0===i.rotationDirection&&(c=-c),S===x.ADVANCED&&(c=-c);var M=Math.cos(c),E=Math.sin(c);p=new Vt(M,E,-E,M,0,0)}else c&&c instanceof Vt&&(p=c);S!==x.ADVANCED||p||(p=Yt),void 0!==(h=i.charSpace||_r)&&(v+=O(U(h))+\" Tc\\n\",this.setCharSpace(this.getCharSpace()||0)),void 0!==(d=i.horizontalScale)&&(v+=O(100*d)+\" Tz\\n\"),i.lang;var D=-1,R=void 0!==i.renderingMode?i.renderingMode:i.stroke,T=g.internal.getCurrentPageInfo().pageContext;switch(R){case 0:case!1:case\"fill\":D=0;break;case 1:case!0:case\"stroke\":D=1;break;case 2:case\"fillThenStroke\":D=2;break;case 3:case\"invisible\":D=3;break;case 4:case\"fillAndAddForClipping\":D=4;break;case 5:case\"strokeAndAddPathForClipping\":D=5;break;case 6:case\"fillThenStrokeAndAddToPathForClipping\":D=6;break;case 7:case\"addToPathForClipping\":D=7}var z=void 0!==T.usedRenderingMode?T.usedRenderingMode:-1;-1!==D?v+=D+\" Tr\\n\":-1!==z&&(v+=\"0 Tr\\n\"),-1!==D&&(T.usedRenderingMode=D),u=i.align||\"left\";var H,W=gt*w,V=g.internal.pageSize.getWidth(),G=Ft[St];h=i.charSpace||_r,l=i.maxWidth||0,f=Object.assign({autoencode:!0,noBOM:!0},i.flags);var Y=[],J=function(t){return g.getStringUnitWidth(t,{font:G,charSpace:h,fontSize:gt,doKerning:!1})*gt/N};if(\"[object Array]\"===Object.prototype.toString.call(e)){var X;s=A(e),\"left\"!==u&&(H=s.map(J));var K,Z=0;if(\"right\"===u){r-=H[0],e=[],C=s.length;for(var $=0;$<C;$++)0===$?(K=br(r),X=yr(n)):(K=U(Z-H[$]),X=-W),e.push([s[$],K,X]),Z=H[$]}else if(\"center\"===u){r-=H[0]/2,e=[],C=s.length;for(var Q=0;Q<C;Q++)0===Q?(K=br(r),X=yr(n)):(K=U((Z-H[Q])/2),X=-W),e.push([s[Q],K,X]),Z=H[Q]}else if(\"left\"===u){e=[],C=s.length;for(var tt=0;tt<C;tt++)e.push(s[tt])}else if(\"justify\"===u&&\"Identity-H\"===G.encoding){e=[],C=s.length,l=0!==l?l:V;for(var et=0,rt=0;rt<C;rt++)if(X=0===rt?yr(n):-W,K=0===rt?br(r):et,rt<C-1){var nt=U((l-H[rt])/(s[rt].split(\" \").length-1)),it=s[rt].split(\" \");e.push([it[0]+\" \",K,X]),et=0;for(var at=1;at<it.length;at++){var ot=(J(it[at-1]+\" \"+it[at])-J(it[at]))*N+nt;at==it.length-1?e.push([it[at],ot,0]):e.push([it[at]+\" \",ot,0]),et-=ot}}else e.push([s[rt],K,X]);e.push([\"\",et,0])}else{if(\"justify\"!==u)throw new Error('Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".');e=[],C=s.length,l=0!==l?l:V;for(rt=0;rt<C;rt++)X=0===rt?yr(n):-W,K=0===rt?br(r):0,rt<C-1?Y.push(O(U((l-H[rt])/(s[rt].split(\" \").length-1)))):Y.push(0),e.push([s[rt],K,X])}}var st=\"boolean\"==typeof i.R2L?i.R2L:bt;!0===st&&(e=_(e,(function(t,e,r){return[t.split(\"\").reverse().join(\"\"),e,r]}))),o={text:e,x:r,y:n,options:i,mutex:{pdfEscape:Ce,activeFontKey:St,fonts:Ft,activeFontSize:gt}},Tt.publish(\"postProcessText\",o),e=o.text,y=o.mutex.isHex||!1;var ct=Ft[St].encoding;\"WinAnsiEncoding\"!==ct&&\"StandardEncoding\"!==ct||(e=_(e,(function(t,e,r){return[L(t),e,r]}))),s=A(e),e=[];for(var ut,ht,ft,dt=0,pt=1,mt=Array.isArray(s[0])?pt:dt,vt=\"\",yt=function(t,e,r){var n=\"\";return r instanceof Vt?(r=\"number\"==typeof i.angle?Gt(r,new Vt(1,0,0,1,t,e)):Gt(new Vt(1,0,0,1,t,e),r),S===x.ADVANCED&&(r=Gt(new Vt(1,0,0,-1,0,0),r)),n=r.join(\" \")+\" Tm\\n\"):n=O(t)+\" \"+O(e)+\" Td\\n\",n},wt=0;wt<s.length;wt++){switch(vt=\"\",mt){case pt:ft=(y?\"<\":\"(\")+s[wt][0]+(y?\">\":\")\"),ut=parseFloat(s[wt][1]),ht=parseFloat(s[wt][2]);break;case dt:ft=(y?\"<\":\"(\")+s[wt]+(y?\">\":\")\"),ut=br(r),ht=yr(n)}void 0!==Y&&void 0!==Y[wt]&&(vt=Y[wt]+\" Tw\\n\"),0===wt?e.push(vt+yt(ut,ht,p)+ft):mt===dt?e.push(vt+ft):mt===pt&&e.push(vt+yt(ut,ht,p)+ft)}e=mt===dt?e.join(\" Tj\\nT* \"):e.join(\" Tj\\n\"),e+=\" Tj\\n\";var Nt=\"BT\\n/\";return Nt+=St+\" \"+gt+\" Tf\\n\",Nt+=O(gt*w)+\" TL\\n\",Nt+=xr+\"\\n\",Nt+=v,Nt+=e,lt(Nt+=\"ET\"),b[St]=!0,g};var $e=y.__private__.clip=y.clip=function(t){return lt(\"evenodd\"===t?\"W*\":\"W\"),this};y.clipEvenOdd=function(){return $e(\"evenodd\")},y.__private__.discardPath=y.discardPath=function(){return lt(\"n\"),this};var Qe=y.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,\"S\",\"D\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\",\"n\"].indexOf(t)&&(e=!0),e};y.__private__.setDefaultPathOperation=y.setDefaultPathOperation=function(t){return Qe(t)&&(g=t),this};var tr=y.__private__.getStyle=y.getStyle=function(t){var e=g;switch(t){case\"D\":case\"S\":e=\"S\";break;case\"F\":e=\"f\";break;case\"FD\":case\"DF\":e=\"B\";break;case\"f\":case\"f*\":case\"B\":case\"B*\":e=t}return e},er=y.close=function(){return lt(\"h\"),this};y.stroke=function(){return lt(\"S\"),this},y.fill=function(t){return rr(\"f\",t),this},y.fillEvenOdd=function(t){return rr(\"f*\",t),this},y.fillStroke=function(t){return rr(\"B\",t),this},y.fillStrokeEvenOdd=function(t){return rr(\"B*\",t),this};var rr=function(e,r){\"object\"===t(r)?ar(r,e):lt(e)},nr=function(t){null===t||S===x.ADVANCED&&void 0===t||(t=tr(t),lt(t))};function ir(t,e,r,n,i){var a=new M(e||this.boundingBox,r||this.xStep,n||this.yStep,this.gState,i||this.matrix);a.stream=this.stream;var o=t+\"$$\"+this.cloneIndex+++\"$$\";return Jt(o,a),a}var ar=function(t,e){var r=Bt[t.key],n=Ot[r];if(n instanceof B)lt(\"q\"),lt(or(e)),n.gState&&y.setGState(n.gState),lt(t.matrix.toString()+\" cm\"),lt(\"/\"+r+\" sh\"),lt(\"Q\");else if(n instanceof M){var i=new Vt(1,0,0,-1,0,Rr());t.matrix&&(i=i.multiply(t.matrix||Yt),r=ir.call(n,t.key,t.boundingBox,t.xStep,t.yStep,i).id),lt(\"q\"),lt(\"/Pattern cs\"),lt(\"/\"+r+\" scn\"),n.gState&&y.setGState(n.gState),lt(e),lt(\"Q\")}},or=function(t){switch(t){case\"f\":case\"F\":return\"W n\";case\"f*\":return\"W* n\";case\"B\":return\"W S\";case\"B*\":return\"W* S\";case\"S\":return\"W S\";case\"n\":return\"W n\"}},sr=y.moveTo=function(t,e){return lt(O(U(t))+\" \"+O(H(e))+\" m\"),this},cr=y.lineTo=function(t,e){return lt(O(U(t))+\" \"+O(H(e))+\" l\"),this},ur=y.curveTo=function(t,e,r,n,i,a){return lt([O(U(t)),O(H(e)),O(U(r)),O(H(n)),O(U(i)),O(H(a)),\"c\"].join(\" \")),this};y.__private__.line=y.line=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Qe(i))throw new Error(\"Invalid arguments passed to jsPDF.line\");return S===x.COMPAT?this.lines([[r-t,n-e]],t,e,[1,1],i||\"S\"):this.lines([[r-t,n-e]],t,e,[1,1]).stroke()},y.__private__.lines=y.lines=function(t,e,r,n,i,a){var o,s,c,u,h,l,f,d,p,g,m,v;if(\"number\"==typeof t&&(v=r,r=e,e=t,t=v),n=n||[1,1],a=a||!1,isNaN(e)||isNaN(r)||!Array.isArray(t)||!Array.isArray(n)||!Qe(i)||\"boolean\"!=typeof a)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(sr(e,r),o=n[0],s=n[1],u=t.length,g=e,m=r,c=0;c<u;c++)2===(h=t[c]).length?(g=h[0]*o+g,m=h[1]*s+m,cr(g,m)):(l=h[0]*o+g,f=h[1]*s+m,d=h[2]*o+g,p=h[3]*s+m,g=h[4]*o+g,m=h[5]*s+m,ur(l,f,d,p,g,m));return a&&er(),nr(i),this},y.path=function(t){for(var e=0;e<t.length;e++){var r=t[e],n=r.c;switch(r.op){case\"m\":sr(n[0],n[1]);break;case\"l\":cr(n[0],n[1]);break;case\"c\":ur.apply(this,n);break;case\"h\":er()}}return this},y.__private__.rect=y.rect=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Qe(i))throw new Error(\"Invalid arguments passed to jsPDF.rect\");return S===x.COMPAT&&(n=-n),lt([O(U(t)),O(H(e)),O(U(r)),O(U(n)),\"re\"].join(\" \")),nr(i),this},y.__private__.triangle=y.triangle=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Qe(o))throw new Error(\"Invalid arguments passed to jsPDF.triangle\");return this.lines([[r-t,n-e],[i-r,a-n],[t-i,e-a]],t,e,[1,1],o,!0),this},y.__private__.roundedRect=y.roundedRect=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Qe(o))throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");var s=4/3*(Math.SQRT2-1);return i=Math.min(i,.5*r),a=Math.min(a,.5*n),this.lines([[r-2*i,0],[i*s,0,i,a-a*s,i,a],[0,n-2*a],[0,a*s,-i*s,a,-i,a],[2*i-r,0],[-i*s,0,-i,-a*s,-i,-a],[0,2*a-n],[0,-a*s,i*s,-a,i,-a]],t+i,e,[1,1],o,!0),this},y.__private__.ellipse=y.ellipse=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Qe(i))throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");var a=4/3*(Math.SQRT2-1)*r,o=4/3*(Math.SQRT2-1)*n;return sr(t+r,e),ur(t+r,e-o,t+a,e-n,t,e-n),ur(t-a,e-n,t-r,e-o,t-r,e),ur(t-r,e+o,t-a,e+n,t,e+n),ur(t+a,e+n,t+r,e+o,t+r,e),nr(i),this},y.__private__.circle=y.circle=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||!Qe(n))throw new Error(\"Invalid arguments passed to jsPDF.circle\");return this.ellipse(t,e,r,r,n)},y.setFont=function(t,e,r){return r&&(e=k(e,r)),St=qe(t,e,{disableWarning:!1}),this};var hr=y.__private__.getFont=y.getFont=function(){return Ft[qe.apply(y,arguments)]};y.__private__.getFontList=y.getFontList=function(){var t,e,r={};for(t in Ct)if(Ct.hasOwnProperty(t))for(e in r[t]=[],Ct[t])Ct[t].hasOwnProperty(e)&&r[t].push(e);return r},y.addFont=function(t,e,r,n,i){var a=[\"StandardEncoding\",\"MacRomanEncoding\",\"Identity-H\",\"WinAnsiEncoding\"];return arguments[3]&&-1!==a.indexOf(arguments[3])?i=arguments[3]:arguments[3]&&-1==a.indexOf(arguments[3])&&(r=k(r,n)),i=i||\"Identity-H\",Pe.call(this,t,e,r,i)};var lr,fr=e.lineWidth||.200025,dr=y.__private__.getLineWidth=y.getLineWidth=function(){return fr},pr=y.__private__.setLineWidth=y.setLineWidth=function(t){return fr=t,lt(O(U(t))+\" w\"),this};y.__private__.setLineDash=E.API.setLineDash=E.API.setLineDashPattern=function(t,e){if(t=t||[],e=e||0,isNaN(e)||!Array.isArray(t))throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");return t=t.map((function(t){return O(U(t))})).join(\" \"),e=O(U(e)),lt(\"[\"+t+\"] \"+e+\" d\"),this};var gr=y.__private__.getLineHeight=y.getLineHeight=function(){return gt*lr};y.__private__.getLineHeight=y.getLineHeight=function(){return gt*lr};var mr=y.__private__.setLineHeightFactor=y.setLineHeightFactor=function(t){return\"number\"==typeof(t=t||1.15)&&(lr=t),this},vr=y.__private__.getLineHeightFactor=y.getLineHeightFactor=function(){return lr};mr(e.lineHeight);var br=y.__private__.getHorizontalCoordinate=function(t){return U(t)},yr=y.__private__.getVerticalCoordinate=function(t){return S===x.ADVANCED?t:Rt[$].mediaBox.topRightY-Rt[$].mediaBox.bottomLeftY-U(t)},wr=y.__private__.getHorizontalCoordinateString=y.getHorizontalCoordinateString=function(t){return O(br(t))},Nr=y.__private__.getVerticalCoordinateString=y.getVerticalCoordinateString=function(t){return O(yr(t))},Lr=e.strokeColor||\"0 G\";y.__private__.getStrokeColor=y.getDrawColor=function(){return ee(Lr)},y.__private__.setStrokeColor=y.setDrawColor=function(t,e,r,n){return Lr=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"draw\",precision:2}),lt(Lr),this};var Ar=e.fillColor||\"0 g\";y.__private__.getFillColor=y.getFillColor=function(){return ee(Ar)},y.__private__.setFillColor=y.setFillColor=function(t,e,r,n){return Ar=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"fill\",precision:2}),lt(Ar),this};var xr=e.textColor||\"0 g\",Sr=y.__private__.getTextColor=y.getTextColor=function(){return ee(xr)};y.__private__.setTextColor=y.setTextColor=function(t,e,r,n){return xr=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"text\",precision:3}),this};var _r=e.charSpace,Pr=y.__private__.getCharSpace=y.getCharSpace=function(){return parseFloat(_r||0)};y.__private__.setCharSpace=y.setCharSpace=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");return _r=t,this};var kr=0;y.CapJoinStyles={0:0,butt:0,but:0,miter:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,bevel:2},y.__private__.setLineCap=y.setLineCap=function(t){var e=y.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line cap style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return kr=e,lt(e+\" J\"),this};var Ir=0;y.__private__.setLineJoin=y.setLineJoin=function(t){var e=y.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line join style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return Ir=e,lt(e+\" j\"),this},y.__private__.setLineMiterLimit=y.__private__.setMiterLimit=y.setLineMiterLimit=y.setMiterLimit=function(t){if(t=t||0,isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");return lt(O(U(t))+\" M\"),this},y.GState=j,y.setGState=function(t){(t=\"string\"==typeof t?Mt[Et[t]]:Fr(null,t)).equals(qt)||(lt(\"/\"+t.id+\" gs\"),qt=t)};var Fr=function(t,e){if(!t||!Et[t]){var r=!1;for(var n in Mt)if(Mt.hasOwnProperty(n)&&Mt[n].equals(e)){r=!0;break}if(r)e=Mt[n];else{var i=\"GS\"+(Object.keys(Mt).length+1).toString(10);Mt[i]=e,e.id=i}return t&&(Et[t]=e.id),Tt.publish(\"addGState\",e),e}};y.addGState=function(t,e){return Fr(t,e),this},y.saveGraphicsState=function(){return lt(\"q\"),jt.push({key:St,size:gt,color:xr}),this},y.restoreGraphicsState=function(){lt(\"Q\");var t=jt.pop();return St=t.key,gt=t.size,xr=t.color,qt=null,this},y.setCurrentTransformationMatrix=function(t){return lt(t.toString()+\" cm\"),this},y.comment=function(t){return lt(\"#\"+t),this};var Cr=function(t,e){var r=t||0;Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return r},set:function(t){isNaN(t)||(r=parseFloat(t))}});var n=e||0;Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return n},set:function(t){isNaN(t)||(n=parseFloat(t))}});var i=\"pt\";return Object.defineProperty(this,\"type\",{enumerable:!0,get:function(){return i},set:function(t){i=t.toString()}}),this},jr=function(t,e,r,n){Cr.call(this,t,e),this.type=\"rect\";var i=r||0;Object.defineProperty(this,\"w\",{enumerable:!0,get:function(){return i},set:function(t){isNaN(t)||(i=parseFloat(t))}});var a=n||0;return Object.defineProperty(this,\"h\",{enumerable:!0,get:function(){return a},set:function(t){isNaN(t)||(a=parseFloat(t))}}),this},Or=function(){this.page=Dt,this.currentPage=$,this.pages=ot.slice(0),this.pagesContext=Rt.slice(0),this.x=Pt,this.y=kt,this.matrix=It,this.width=qr($),this.height=Rr($),this.outputDestination=ct,this.id=\"\",this.objectNumber=-1};Or.prototype.restore=function(){Dt=this.page,$=this.currentPage,Rt=this.pagesContext,ot=this.pages,Pt=this.x,kt=this.y,It=this.matrix,Dr($,this.width),Tr($,this.height),ct=this.outputDestination};var Br=function(t,e,r,n,i){Wt.push(new Or),Dt=$=0,ot=[],Pt=t,kt=e,It=i,je([r,n])},Mr=function(t){if(Ht[t])Wt.pop().restore();else{var e=new Or,r=\"Xo\"+(Object.keys(zt).length+1).toString(10);e.id=r,Ht[t]=r,zt[r]=e,Tt.publish(\"addFormObject\",e),Wt.pop().restore()}};for(var Er in y.beginFormObject=function(t,e,r,n,i){return Br(t,e,r,n,i),this},y.endFormObject=function(t){return Mr(t),this},y.doFormObject=function(t,e){var r=zt[Ht[t]];return lt(\"q\"),lt(e.toString()+\" cm\"),lt(\"/\"+r.id+\" Do\"),lt(\"Q\"),this},y.getFormObject=function(t){var e=zt[Ht[t]];return{x:e.x,y:e.y,width:e.width,height:e.height,matrix:e.matrix}},y.save=function(t,e){return t=t||\"generated.pdf\",(e=e||{}).returnPromise=e.returnPromise||!1,!1===e.returnPromise?(l(We(He()),t),\"function\"==typeof l.unload&&n.setTimeout&&setTimeout(l.unload,911),this):new Promise((function(e,r){try{var i=l(We(He()),t);\"function\"==typeof l.unload&&n.setTimeout&&setTimeout(l.unload,911),e(i)}catch(t){r(t.message)}}))},E.API)E.API.hasOwnProperty(Er)&&(\"events\"===Er&&E.API.events.length?function(t,e){var r,n,i;for(i=e.length-1;-1!==i;i--)r=e[i][0],n=e[i][1],t.subscribe.apply(t,[r].concat(\"function\"==typeof n?[n]:n))}(Tt,E.API.events):y[Er]=E.API[Er]);var qr=y.getPageWidth=function(t){return(Rt[t=t||$].mediaBox.topRightX-Rt[t].mediaBox.bottomLeftX)/_t},Dr=y.setPageWidth=function(t,e){Rt[t].mediaBox.topRightX=e*_t+Rt[t].mediaBox.bottomLeftX},Rr=y.getPageHeight=function(t){return(Rt[t=t||$].mediaBox.topRightY-Rt[t].mediaBox.bottomLeftY)/_t},Tr=y.setPageHeight=function(t,e){Rt[t].mediaBox.topRightY=e*_t+Rt[t].mediaBox.bottomLeftY};return y.internal={pdfEscape:Ce,getStyle:tr,getFont:hr,getFontSize:vt,getCharSpace:Pr,getTextColor:Sr,getLineHeight:gr,getLineHeightFactor:vr,getLineWidth:dr,write:ft,getHorizontalCoordinate:br,getVerticalCoordinate:yr,getCoordinateString:wr,getVerticalCoordinateString:Nr,collections:{},newObject:Xt,newAdditionalObject:$t,newObjectDeferred:Kt,newObjectDeferredBegin:Zt,getFilters:ne,putStream:ie,events:Tt,scaleFactor:_t,pageSize:{getWidth:function(){return qr($)},setWidth:function(t){Dr($,t)},getHeight:function(){return Rr($)},setHeight:function(t){Tr($,t)}},encryptionOptions:m,encryption:Ye,getEncryptor:Je,output:Ve,getNumberOfPages:Ee,pages:ot,out:lt,f2:R,f3:T,getPageInfo:Xe,getPageInfoByObjId:Ke,getCurrentPageInfo:Ze,getPDFVersion:N,Point:Cr,Rectangle:jr,Matrix:Vt,hasHotfix:Ge},Object.defineProperty(y.internal.pageSize,\"width\",{get:function(){return qr($)},set:function(t){Dr($,t)},enumerable:!0,configurable:!0}),Object.defineProperty(y.internal.pageSize,\"height\",{get:function(){return Rr($)},set:function(t){Tr($,t)},enumerable:!0,configurable:!0}),ke.call(y,pt),St=\"F1\",Oe(s,i),Tt.publish(\"initialized\"),y}I.prototype.lsbFirstWord=function(t){return String.fromCharCode(t>>0&255,t>>8&255,t>>16&255,t>>24&255)},I.prototype.toHexString=function(t){return t.split(\"\").map((function(t){return(\"0\"+(255&t.charCodeAt(0)).toString(16)).slice(-2)})).join(\"\")},I.prototype.hexToBytes=function(t){for(var e=[],r=0;r<t.length;r+=2)e.push(String.fromCharCode(parseInt(t.substr(r,2),16)));return e.join(\"\")},I.prototype.processOwnerPassword=function(t,e){return P(x(e).substr(0,5),t)},I.prototype.encryptor=function(t,e){var r=x(this.encryptionKey+String.fromCharCode(255&t,t>>8&255,t>>16&255,255&e,e>>8&255)).substr(0,10);return function(t){return P(r,t)}},j.prototype.equals=function(e){var r,n=\"id,objectNumber,equals\";if(!e||t(e)!==t(this))return!1;var i=0;for(r in this)if(!(n.indexOf(r)>=0)){if(this.hasOwnProperty(r)&&!e.hasOwnProperty(r))return!1;if(this[r]!==e[r])return!1;i++}for(r in e)e.hasOwnProperty(r)&&n.indexOf(r)<0&&i--;return 0===i},E.API={events:[]},E.version=\"3.0.1\";var q=E.API,D=1,R=function(t){return t.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},T=function(t){return t.replace(/\\\\\\\\/g,\"\\\\\").replace(/\\\\\\(/g,\"(\").replace(/\\\\\\)/g,\")\")},U=function(t){return t.toFixed(2)},z=function(t){return t.toFixed(5)};q.__acroform__={};var H=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t},W=function(t){return t*D},V=function(t){var e=new ut,r=At.internal.getHeight(t)||0,n=At.internal.getWidth(t)||0;return e.BBox=[0,0,Number(U(n)),Number(U(r))],e},G=q.__acroform__.setBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBit\");return t|=1<<e},Y=q.__acroform__.clearBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\");return t&=~(1<<e)},J=q.__acroform__.getBit=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBit\");return 0==(t&1<<e)?0:1},X=q.__acroform__.getBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\");return J(t,e-1)},K=q.__acroform__.setBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\");return G(t,e-1)},Z=q.__acroform__.clearBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\");return Y(t,e-1)},$=q.__acroform__.calculateCoordinates=function(t,e){var r=e.internal.getHorizontalCoordinate,n=e.internal.getVerticalCoordinate,i=t[0],a=t[1],o=t[2],s=t[3],c={};return c.lowerLeft_X=r(i)||0,c.lowerLeft_Y=n(a+s)||0,c.upperRight_X=r(i+o)||0,c.upperRight_Y=n(a)||0,[Number(U(c.lowerLeft_X)),Number(U(c.lowerLeft_Y)),Number(U(c.upperRight_X)),Number(U(c.upperRight_Y))]},Q=function(t){if(t.appearanceStreamContent)return t.appearanceStreamContent;if(t.V||t.DV){var e=[],r=t._V||t.DV,n=tt(t,r),i=t.scope.internal.getFont(t.fontName,t.fontStyle).id;e.push(\"/Tx BMC\"),e.push(\"q\"),e.push(\"BT\"),e.push(t.scope.__private__.encodeColorString(t.color)),e.push(\"/\"+i+\" \"+U(n.fontSize)+\" Tf\"),e.push(\"1 0 0 1 0 0 Tm\"),e.push(n.text),e.push(\"ET\"),e.push(\"Q\"),e.push(\"EMC\");var a=V(t);return a.scope=t.scope,a.stream=e.join(\"\\n\"),a}},tt=function(t,e){var r=0===t.fontSize?t.maxFontSize:t.fontSize,n={text:\"\",fontSize:\"\"},i=(e=\")\"==(e=\"(\"==e.substr(0,1)?e.substr(1):e).substr(e.length-1)?e.substr(0,e.length-1):e).split(\" \");i=t.multiline?i.map((function(t){return t.split(\"\\n\")})):i.map((function(t){return[t]}));var a=r,o=At.internal.getHeight(t)||0;o=o<0?-o:o;var s=At.internal.getWidth(t)||0;s=s<0?-s:s;var c=function(e,r,n){if(e+1<i.length){var a=r+\" \"+i[e+1][0];return et(a,t,n).width<=s-4}return!1};a++;t:for(;a>0;){e=\"\",a--;var u,h,l=et(\"3\",t,a).height,f=t.multiline?o-a:(o-l)/2,d=f+=2,p=0,g=0,m=0;if(a<=0){e=\"(...) Tj\\n\",e+=\"% Width of Text: \"+et(e,t,a=12).width+\", FieldWidth:\"+s+\"\\n\";break}for(var v=\"\",b=0,y=0;y<i.length;y++)if(i.hasOwnProperty(y)){var w=!1;if(1!==i[y].length&&m!==i[y].length-1){if((l+2)*(b+2)+2>o)continue t;v+=i[y][m],w=!0,g=y,y--}else{v=\" \"==(v+=i[y][m]+\" \").substr(v.length-1)?v.substr(0,v.length-1):v;var N=parseInt(y),L=c(N,v,a),A=y>=i.length-1;if(L&&!A){v+=\" \",m=0;continue}if(L||A){if(A)g=N;else if(t.multiline&&(l+2)*(b+2)+2>o)continue t}else{if(!t.multiline)continue t;if((l+2)*(b+2)+2>o)continue t;g=N}}for(var x=\"\",S=p;S<=g;S++){var _=i[S];if(t.multiline){if(S===g){x+=_[m]+\" \",m=(m+1)%_.length;continue}if(S===p){x+=_[_.length-1]+\" \";continue}}x+=_[0]+\" \"}switch(x=\" \"==x.substr(x.length-1)?x.substr(0,x.length-1):x,h=et(x,t,a).width,t.textAlign){case\"right\":u=s-h-2;break;case\"center\":u=(s-h)/2;break;case\"left\":default:u=2}e+=U(u)+\" \"+U(d)+\" Td\\n\",e+=\"(\"+R(x)+\") Tj\\n\",e+=-U(u)+\" 0 Td\\n\",d=-(a+2),h=0,p=w?g:g+1,b++,v=\"\"}else;break}return n.text=e,n.fontSize=a,n},et=function(t,e,r){var n=e.scope.internal.getFont(e.fontName,e.fontStyle),i=e.scope.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:e.scope.getStringUnitWidth(\"3\",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},rt={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},nt=function(t,e){var r={type:\"reference\",object:t};void 0===e.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===r.type&&t.object===r.object}))&&e.internal.getPageInfo(t.page).pageContext.annotations.push(r)},it=function(e,r){for(var n in e)if(e.hasOwnProperty(n)){var i=n,a=e[n];r.internal.newObjectDeferredBegin(a.objId,!0),\"object\"===t(a)&&\"function\"==typeof a.putStream&&a.putStream(),delete e[i]}},at=function(e,r){if(r.scope=e,void 0!==e.internal&&(void 0===e.internal.acroformPlugin||!1===e.internal.acroformPlugin.isInitialized)){if(lt.FieldNum=0,e.internal.acroformPlugin=JSON.parse(JSON.stringify(rt)),e.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");D=e.internal.scaleFactor,e.internal.acroformPlugin.acroFormDictionaryRoot=new ht,e.internal.acroformPlugin.acroFormDictionaryRoot.scope=e,e.internal.acroformPlugin.acroFormDictionaryRoot._eventID=e.internal.events.subscribe(\"postPutResources\",(function(){!function(t){t.internal.events.unsubscribe(t.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete t.internal.acroformPlugin.acroFormDictionaryRoot._eventID,t.internal.acroformPlugin.printedOut=!0}(e)})),e.internal.events.subscribe(\"buildDocument\",(function(){!function(t){t.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var e=t.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];n.objId=void 0,n.hasAnnotation&&nt(n,t)}}(e)})),e.internal.events.subscribe(\"putCatalog\",(function(){!function(t){if(void 0===t.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");t.internal.write(\"/AcroForm \"+t.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")}(e)})),e.internal.events.subscribe(\"postPutPages\",(function(r){!function(e,r){var n=!e;for(var i in e||(r.internal.newObjectDeferredBegin(r.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),r.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),e=e||r.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(e.hasOwnProperty(i)){var a=e[i],o=[],s=a.Rect;if(a.Rect&&(a.Rect=$(a.Rect,r)),r.internal.newObjectDeferredBegin(a.objId,!0),a.DA=At.createDefaultAppearanceStream(a),\"object\"===t(a)&&\"function\"==typeof a.getKeyValueListForStream&&(o=a.getKeyValueListForStream()),a.Rect=s,a.hasAppearanceStream&&!a.appearanceStreamContent){var c=Q(a);o.push({key:\"AP\",value:\"<</N \"+c+\">>\"}),r.internal.acroformPlugin.xForms.push(c)}if(a.appearanceStreamContent){var u=\"\";for(var h in a.appearanceStreamContent)if(a.appearanceStreamContent.hasOwnProperty(h)){var l=a.appearanceStreamContent[h];if(u+=\"/\"+h+\" \",u+=\"<<\",Object.keys(l).length>=1||Array.isArray(l)){for(var i in l)if(l.hasOwnProperty(i)){var f=l[i];\"function\"==typeof f&&(f=f.call(r,a)),u+=\"/\"+i+\" \"+f+\" \",r.internal.acroformPlugin.xForms.indexOf(f)>=0||r.internal.acroformPlugin.xForms.push(f)}}else\"function\"==typeof(f=l)&&(f=f.call(r,a)),u+=\"/\"+i+\" \"+f,r.internal.acroformPlugin.xForms.indexOf(f)>=0||r.internal.acroformPlugin.xForms.push(f);u+=\">>\"}o.push({key:\"AP\",value:\"<<\\n\"+u+\">>\"})}r.internal.putStream({additionalKeyValues:o,objectId:a.objId}),r.internal.out(\"endobj\")}n&&it(r.internal.acroformPlugin.xForms,r)}(r,e)})),e.internal.acroformPlugin.isInitialized=!0}},ot=q.__acroform__.arrayToPdfArray=function(e,r,n){var i=function(t){return t};if(Array.isArray(e)){for(var a=\"[\",o=0;o<e.length;o++)switch(0!==o&&(a+=\" \"),t(e[o])){case\"boolean\":case\"number\":case\"object\":a+=e[o].toString();break;case\"string\":\"/\"!==e[o].substr(0,1)?(void 0!==r&&n&&(i=n.internal.getEncryptor(r)),a+=\"(\"+R(i(e[o].toString()))+\")\"):a+=e[o].toString()}return a+=\"]\"}throw new Error(\"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\")};var st=function(t,e,r){var n=function(t){return t};return void 0!==e&&r&&(n=r.internal.getEncryptor(e)),(t=t||\"\").toString(),t=\"(\"+R(n(t))+\")\"},ct=function(){this._objId=void 0,this._scope=void 0,Object.defineProperty(this,\"objId\",{get:function(){if(void 0===this._objId){if(void 0===this.scope)return;this._objId=this.scope.internal.newObjectDeferred()}return this._objId},set:function(t){this._objId=t}}),Object.defineProperty(this,\"scope\",{value:this._scope,writable:!0})};ct.prototype.toString=function(){return this.objId+\" 0 R\"},ct.prototype.putStream=function(){var t=this.getKeyValueListForStream();this.scope.internal.putStream({data:this.stream,additionalKeyValues:t,objectId:this.objId}),this.scope.internal.out(\"endobj\")},ct.prototype.getKeyValueListForStream=function(){var t=[],e=Object.getOwnPropertyNames(this).filter((function(t){return\"content\"!=t&&\"appearanceStreamContent\"!=t&&\"scope\"!=t&&\"objId\"!=t&&\"_\"!=t.substring(0,1)}));for(var r in e)if(!1===Object.getOwnPropertyDescriptor(this,e[r]).configurable){var n=e[r],i=this[n];i&&(Array.isArray(i)?t.push({key:n,value:ot(i,this.objId,this.scope)}):i instanceof ct?(i.scope=this.scope,t.push({key:n,value:i.objId+\" 0 R\"})):\"function\"!=typeof i&&t.push({key:n,value:i}))}return t};var ut=function(){ct.call(this),Object.defineProperty(this,\"Type\",{value:\"/XObject\",configurable:!1,writable:!0}),Object.defineProperty(this,\"Subtype\",{value:\"/Form\",configurable:!1,writable:!0}),Object.defineProperty(this,\"FormType\",{value:1,configurable:!1,writable:!0});var t,e=[];Object.defineProperty(this,\"BBox\",{configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"Resources\",{value:\"2 0 R\",configurable:!1,writable:!0}),Object.defineProperty(this,\"stream\",{enumerable:!1,configurable:!0,set:function(e){t=e.trim()},get:function(){return t||null}})};H(ut,ct);var ht=function(){ct.call(this);var t,e=[];Object.defineProperty(this,\"Kids\",{enumerable:!1,configurable:!0,get:function(){return e.length>0?e:void 0}}),Object.defineProperty(this,\"Fields\",{enumerable:!1,configurable:!1,get:function(){return e}}),Object.defineProperty(this,\"DA\",{enumerable:!1,configurable:!1,get:function(){if(t){var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+R(e(t))+\")\"}},set:function(e){t=e}})};H(ht,ct);var lt=function t(){ct.call(this);var e=4;Object.defineProperty(this,\"F\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute F supplied.');e=t}}),Object.defineProperty(this,\"showWhenPrinted\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(e,3))},set:function(t){!0===Boolean(t)?this.F=K(e,3):this.F=Z(e,3)}});var r=0;Object.defineProperty(this,\"Ff\",{enumerable:!1,configurable:!1,get:function(){return r},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute Ff supplied.');r=t}});var n=[];Object.defineProperty(this,\"Rect\",{enumerable:!1,configurable:!1,get:function(){if(0!==n.length)return n},set:function(t){n=void 0!==t?t:[]}}),Object.defineProperty(this,\"x\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[0])?0:n[0]},set:function(t){n[0]=t}}),Object.defineProperty(this,\"y\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[1])?0:n[1]},set:function(t){n[1]=t}}),Object.defineProperty(this,\"width\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[2])?0:n[2]},set:function(t){n[2]=t}}),Object.defineProperty(this,\"height\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[3])?0:n[3]},set:function(t){n[3]=t}});var i=\"\";Object.defineProperty(this,\"FT\",{enumerable:!0,configurable:!1,get:function(){return i},set:function(t){switch(t){case\"/Btn\":case\"/Tx\":case\"/Ch\":case\"/Sig\":i=t;break;default:throw new Error('Invalid value \"'+t+'\" for attribute FT supplied.')}}});var a=null;Object.defineProperty(this,\"T\",{enumerable:!0,configurable:!1,get:function(){if(!a||a.length<1){if(this instanceof yt)return;a=\"FieldObject\"+t.FieldNum++}var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+R(e(a))+\")\"},set:function(t){a=t.toString()}}),Object.defineProperty(this,\"fieldName\",{configurable:!0,enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=\"helvetica\";Object.defineProperty(this,\"fontName\",{enumerable:!0,configurable:!0,get:function(){return o},set:function(t){o=t}});var s=\"normal\";Object.defineProperty(this,\"fontStyle\",{enumerable:!0,configurable:!0,get:function(){return s},set:function(t){s=t}});var c=0;Object.defineProperty(this,\"fontSize\",{enumerable:!0,configurable:!0,get:function(){return c},set:function(t){c=t}});var u=void 0;Object.defineProperty(this,\"maxFontSize\",{enumerable:!0,configurable:!0,get:function(){return void 0===u?50/D:u},set:function(t){u=t}});var h=\"black\";Object.defineProperty(this,\"color\",{enumerable:!0,configurable:!0,get:function(){return h},set:function(t){h=t}});var l=\"/F1 0 Tf 0 g\";Object.defineProperty(this,\"DA\",{enumerable:!0,configurable:!1,get:function(){if(!(!l||this instanceof yt||this instanceof Nt))return st(l,this.objId,this.scope)},set:function(t){t=t.toString(),l=t}});var f=null;Object.defineProperty(this,\"DV\",{enumerable:!1,configurable:!1,get:function(){if(f)return this instanceof mt==!1?st(f,this.objId,this.scope):f},set:function(t){t=t.toString(),f=this instanceof mt==!1?\"(\"===t.substr(0,1)?T(t.substr(1,t.length-2)):T(t):t}}),Object.defineProperty(this,\"defaultValue\",{enumerable:!0,configurable:!0,get:function(){return this instanceof mt==!0?T(f.substr(1,f.length-1)):f},set:function(t){t=t.toString(),f=this instanceof mt==!0?\"/\"+t:t}});var d=null;Object.defineProperty(this,\"_V\",{enumerable:!1,configurable:!1,get:function(){if(d)return d},set:function(t){this.V=t}}),Object.defineProperty(this,\"V\",{enumerable:!1,configurable:!1,get:function(){if(d)return this instanceof mt==!1?st(d,this.objId,this.scope):d},set:function(t){t=t.toString(),d=this instanceof mt==!1?\"(\"===t.substr(0,1)?T(t.substr(1,t.length-2)):T(t):t}}),Object.defineProperty(this,\"value\",{enumerable:!0,configurable:!0,get:function(){return this instanceof mt==!0?T(d.substr(1,d.length-1)):d},set:function(t){t=t.toString(),d=this instanceof mt==!0?\"/\"+t:t}}),Object.defineProperty(this,\"hasAnnotation\",{enumerable:!0,configurable:!0,get:function(){return this.Rect}}),Object.defineProperty(this,\"Type\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Annot\":null}}),Object.defineProperty(this,\"Subtype\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Widget\":null}});var p,g=!1;Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return g},set:function(t){t=Boolean(t),g=t}}),Object.defineProperty(this,\"page\",{enumerable:!0,configurable:!0,get:function(){if(p)return p},set:function(t){p=t}}),Object.defineProperty(this,\"readOnly\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,1))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,1):this.Ff=Z(this.Ff,1)}}),Object.defineProperty(this,\"required\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,2))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,2):this.Ff=Z(this.Ff,2)}}),Object.defineProperty(this,\"noExport\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,3))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,3):this.Ff=Z(this.Ff,3)}});var m=null;Object.defineProperty(this,\"Q\",{enumerable:!0,configurable:!1,get:function(){if(null!==m)return m},set:function(t){if(-1===[0,1,2].indexOf(t))throw new Error('Invalid value \"'+t+'\" for attribute Q supplied.');m=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){var t;switch(m){case 0:default:t=\"left\";break;case 1:t=\"center\";break;case 2:t=\"right\"}return t},configurable:!0,enumerable:!0,set:function(t){switch(t){case\"right\":case 2:m=2;break;case\"center\":case 1:m=1;break;case\"left\":case 0:default:m=0}}})};H(lt,ct);var ft=function(){lt.call(this),this.FT=\"/Ch\",this.V=\"()\",this.fontName=\"zapfdingbats\";var t=0;Object.defineProperty(this,\"TI\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"topIndex\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){t=e}});var e=[];Object.defineProperty(this,\"Opt\",{enumerable:!0,configurable:!1,get:function(){return ot(e,this.objId,this.scope)},set:function(t){var r,n;n=[],\"string\"==typeof(r=t)&&(n=function(t,e,r){r||(r=1);for(var n,i=[];n=e.exec(t);)i.push(n[r]);return i}(r,/\\((.*?)\\)/g)),e=n}}),this.getOptions=function(){return e},this.setOptions=function(t){e=t,this.sort&&e.sort()},this.addOption=function(t){t=(t=t||\"\").toString(),e.push(t),this.sort&&e.sort()},this.removeOption=function(t,r){for(r=r||!1,t=(t=t||\"\").toString();-1!==e.indexOf(t)&&(e.splice(e.indexOf(t),1),!1!==r););},Object.defineProperty(this,\"combo\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,18))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,18):this.Ff=Z(this.Ff,18)}}),Object.defineProperty(this,\"edit\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,19))},set:function(t){!0===this.combo&&(!0===Boolean(t)?this.Ff=K(this.Ff,19):this.Ff=Z(this.Ff,19))}}),Object.defineProperty(this,\"sort\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,20))},set:function(t){!0===Boolean(t)?(this.Ff=K(this.Ff,20),e.sort()):this.Ff=Z(this.Ff,20)}}),Object.defineProperty(this,\"multiSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,22))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,22):this.Ff=Z(this.Ff,22)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,23):this.Ff=Z(this.Ff,23)}}),Object.defineProperty(this,\"commitOnSelChange\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,27))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,27):this.Ff=Z(this.Ff,27)}}),this.hasAppearanceStream=!1};H(ft,lt);var dt=function(){ft.call(this),this.fontName=\"helvetica\",this.combo=!1};H(dt,ft);var pt=function(){dt.call(this),this.combo=!0};H(pt,dt);var gt=function(){pt.call(this),this.edit=!0};H(gt,pt);var mt=function(){lt.call(this),this.FT=\"/Btn\",Object.defineProperty(this,\"noToggleToOff\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,15))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,15):this.Ff=Z(this.Ff,15)}}),Object.defineProperty(this,\"radio\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,16))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,16):this.Ff=Z(this.Ff,16)}}),Object.defineProperty(this,\"pushButton\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,17))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,17):this.Ff=Z(this.Ff,17)}}),Object.defineProperty(this,\"radioIsUnison\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,26):this.Ff=Z(this.Ff,26)}});var e,r={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};if(this.scope&&(t=this.scope.internal.getEncryptor(this.objId)),0!==Object.keys(r).length){var e,n=[];for(e in n.push(\"<<\"),r)n.push(\"/\"+e+\" (\"+R(t(r[e]))+\")\");return n.push(\">>\"),n.join(\"\\n\")}},set:function(e){\"object\"===t(e)&&(r=e)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return r.CA||\"\"},set:function(t){\"string\"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return e.substr(1,e.length-1)},set:function(t){e=\"/\"+t}})};H(mt,lt);var vt=function(){mt.call(this),this.pushButton=!0};H(vt,mt);var bt=function(){mt.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=void 0!==e?e:[]}})};H(bt,mt);var yt=function(){var e,r;lt.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return r},set:function(t){r=t}});var n,i={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};this.scope&&(t=this.scope.internal.getEncryptor(this.objId));var e,r=[];for(e in r.push(\"<<\"),i)r.push(\"/\"+e+\" (\"+R(t(i[e]))+\")\");return r.push(\">>\"),r.join(\"\\n\")},set:function(e){\"object\"===t(e)&&(i=e)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return i.CA||\"\"},set:function(t){\"string\"==typeof t&&(i.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return n.substr(1,n.length-1)},set:function(t){n=\"/\"+t}}),this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=At.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(this.optionName)};H(yt,lt),bt.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t)||!(\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var r=this.Kids[e];r.appearanceStreamContent=t.createAppearanceStream(r.optionName),r.caption=t.getCA()}},bt.prototype.createOption=function(t){var e=new yt;return e.Parent=this,e.optionName=t,this.Kids.push(e),xt.call(this.scope,e),e};var wt=function(){mt.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=At.CheckBox.createAppearanceStream()};H(wt,mt);var Nt=function(){lt.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,13):this.Ff=Z(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,21):this.Ff=Z(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,23):this.Ff=Z(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,24):this.Ff=Z(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,25):this.Ff=Z(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,26):this.Ff=Z(this.Ff,26)}});var t=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){Number.isInteger(e)&&(t=e)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};H(Nt,lt);var Lt=function(){Nt.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,14):this.Ff=Z(this.Ff,14)}}),this.password=!0};H(Lt,Nt);var At={CheckBox:{createAppearanceStream:function(){return{N:{On:At.CheckBox.YesNormal},D:{On:At.CheckBox.YesPushDown,Off:At.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[],n=t.scope.internal.getFont(t.fontName,t.fontStyle).id,i=t.scope.__private__.encodeColorString(t.color),a=tt(t,t.caption);return r.push(\"0.749023 g\"),r.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"BMC\"),r.push(\"q\"),r.push(\"0 0 1 rg\"),r.push(\"/\"+n+\" \"+U(a.fontSize)+\" Tf \"+i),r.push(\"BT\"),r.push(a.text),r.push(\"ET\"),r.push(\"Q\"),r.push(\"EMC\"),e.stream=r.join(\"\\n\"),e},YesNormal:function(t){var e=V(t);e.scope=t.scope;var r=t.scope.internal.getFont(t.fontName,t.fontStyle).id,n=t.scope.__private__.encodeColorString(t.color),i=[],a=At.internal.getHeight(t),o=At.internal.getWidth(t),s=tt(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+U(o)+\" \"+U(a)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+U(o-1)+\" \"+U(a-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+r+\" \"+U(s.fontSize)+\" Tf \"+n),i.push(s.text),i.push(\"ET\"),i.push(\"Q\"),e.stream=i.join(\"\\n\"),e},OffPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:At.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=At.RadioButton.Circle.YesNormal,e.D[t]=At.RadioButton.Circle.YesPushDown,e},getCA:function(){return\"l\"},YesNormal:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=At.internal.Bezier_C,a=Number((n*i).toFixed(5));return r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+a+\" \"+a+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+a+\" \"+n+\" -\"+n+\" \"+a+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+a+\" -\"+a+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(a+\" -\"+n+\" \"+n+\" -\"+a+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*At.internal.Bezier_C).toFixed(5)),o=Number((n*At.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),r.push(\"0 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+o+\" \"+o+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+o+\" \"+n+\" -\"+n+\" \"+o+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+o+\" -\"+o+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(o+\" -\"+n+\" \"+n+\" -\"+o+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},OffPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*At.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:At.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=At.RadioButton.Cross.YesNormal,e.D[t]=At.RadioButton.Cross.YesPushDown,e},getCA:function(){return\"8\"},YesNormal:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.calculateCross(t);return r.push(\"q\"),r.push(\"1 1 \"+U(At.internal.getWidth(t)-2)+\" \"+U(At.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(U(n.x1.x)+\" \"+U(n.x1.y)+\" m\"),r.push(U(n.x2.x)+\" \"+U(n.x2.y)+\" l\"),r.push(U(n.x4.x)+\" \"+U(n.x4.y)+\" m\"),r.push(U(n.x3.x)+\" \"+U(n.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=V(t);e.scope=t.scope;var r=At.internal.calculateCross(t),n=[];return n.push(\"0.749023 g\"),n.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),n.push(\"f\"),n.push(\"q\"),n.push(\"1 1 \"+U(At.internal.getWidth(t)-2)+\" \"+U(At.internal.getHeight(t)-2)+\" re\"),n.push(\"W\"),n.push(\"n\"),n.push(U(r.x1.x)+\" \"+U(r.x1.y)+\" m\"),n.push(U(r.x2.x)+\" \"+U(r.x2.y)+\" l\"),n.push(U(r.x4.x)+\" \"+U(r.x4.y)+\" m\"),n.push(U(r.x3.x)+\" \"+U(r.x3.y)+\" l\"),n.push(\"s\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},OffPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}}},createDefaultAppearanceStream:function(t){var e=t.scope.internal.getFont(t.fontName,t.fontStyle).id,r=t.scope.__private__.encodeColorString(t.color);return\"/\"+e+\" \"+t.fontSize+\" Tf \"+r}};At.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=At.internal.getWidth(t),r=At.internal.getHeight(t),n=Math.min(e,r);return{x1:{x:(e-n)/2,y:(r-n)/2+n},x2:{x:(e-n)/2+n,y:(r-n)/2},x3:{x:(e-n)/2,y:(r-n)/2},x4:{x:(e-n)/2+n,y:(r-n)/2+n}}}},At.internal.getWidth=function(e){var r=0;return\"object\"===t(e)&&(r=W(e.Rect[2])),r},At.internal.getHeight=function(e){var r=0;return\"object\"===t(e)&&(r=W(e.Rect[3])),r};var xt=q.addField=function(t){if(at(this,t),!(t instanceof lt))throw new Error(\"Invalid argument passed to jsPDF.addField.\");var e;return(e=t).scope.internal.acroformPlugin.printedOut&&(e.scope.internal.acroformPlugin.printedOut=!1,e.scope.internal.acroformPlugin.acroFormDictionaryRoot=null),e.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(e),t.page=t.scope.internal.getCurrentPageInfo().pageNumber,this};q.AcroFormChoiceField=ft,q.AcroFormListBox=dt,q.AcroFormComboBox=pt,q.AcroFormEditBox=gt,q.AcroFormButton=mt,q.AcroFormPushButton=vt,q.AcroFormRadioButton=bt,q.AcroFormCheckBox=wt,q.AcroFormTextField=Nt,q.AcroFormPasswordField=Lt,q.AcroFormAppearance=At,q.AcroForm={ChoiceField:ft,ListBox:dt,ComboBox:pt,EditBox:gt,Button:mt,PushButton:vt,RadioButton:bt,CheckBox:wt,TextField:Nt,PasswordField:Lt,Appearance:At},E.AcroForm={ChoiceField:ft,ListBox:dt,ComboBox:pt,EditBox:gt,Button:mt,PushButton:vt,RadioButton:bt,CheckBox:wt,TextField:Nt,PasswordField:Lt,Appearance:At};var St=E.AcroForm;function _t(t){return t.reduce((function(t,e,r){return t[e]=r,t}),{})}!function(e){e.__addimage__={};var r=\"UNKNOWN\",n={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0],[255,216,255,219],[255,216,255,238]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],WEBP:[[82,73,70,70,void 0,void 0,void 0,void 0,87,69,66,80]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},i=e.__addimage__.getImageFileTypeByImageData=function(t,e){var i,a,o,s,c,u=r;if(\"RGBA\"===(e=e||r)||void 0!==t.data&&t.data instanceof Uint8ClampedArray&&\"height\"in t&&\"width\"in t)return\"RGBA\";if(x(t))for(c in n)for(o=n[c],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t[a]){s=!1;break}if(!0===s){u=c;break}}else for(c in n)for(o=n[c],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t.charCodeAt(a)){s=!1;break}if(!0===s){u=c;break}}return u===r&&e!==r&&(u=e),u},a=function t(e){for(var r=this.internal.write,n=this.internal.putStream,i=(0,this.internal.getFilters)();-1!==i.indexOf(\"FlateEncode\");)i.splice(i.indexOf(\"FlateEncode\"),1);e.objectId=this.internal.newObject();var a=[];if(a.push({key:\"Type\",value:\"/XObject\"}),a.push({key:\"Subtype\",value:\"/Image\"}),a.push({key:\"Width\",value:e.width}),a.push({key:\"Height\",value:e.height}),e.colorSpace===b.INDEXED?a.push({key:\"ColorSpace\",value:\"[/Indexed /DeviceRGB \"+(e.palette.length/3-1)+\" \"+(\"sMask\"in e&&void 0!==e.sMask?e.objectId+2:e.objectId+1)+\" 0 R]\"}):(a.push({key:\"ColorSpace\",value:\"/\"+e.colorSpace}),e.colorSpace===b.DEVICE_CMYK&&a.push({key:\"Decode\",value:\"[1 0 1 0 1 0 1 0]\"})),a.push({key:\"BitsPerComponent\",value:e.bitsPerComponent}),\"decodeParameters\"in e&&void 0!==e.decodeParameters&&a.push({key:\"DecodeParms\",value:\"<<\"+e.decodeParameters+\">>\"}),\"transparency\"in e&&Array.isArray(e.transparency)){for(var o=\"\",s=0,c=e.transparency.length;s<c;s++)o+=e.transparency[s]+\" \"+e.transparency[s]+\" \";a.push({key:\"Mask\",value:\"[\"+o+\"]\"})}void 0!==e.sMask&&a.push({key:\"SMask\",value:e.objectId+1+\" 0 R\"});var u=void 0!==e.filter?[\"/\"+e.filter]:void 0;if(n({data:e.data,additionalKeyValues:a,alreadyAppliedFilters:u,objectId:e.objectId}),r(\"endobj\"),\"sMask\"in e&&void 0!==e.sMask){var h=\"/Predictor \"+e.predictor+\" /Colors 1 /BitsPerComponent \"+e.bitsPerComponent+\" /Columns \"+e.width,l={width:e.width,height:e.height,colorSpace:\"DeviceGray\",bitsPerComponent:e.bitsPerComponent,decodeParameters:h,data:e.sMask};\"filter\"in e&&(l.filter=e.filter),t.call(this,l)}if(e.colorSpace===b.INDEXED){var f=this.internal.newObject();n({data:_(new Uint8Array(e.palette)),objectId:f}),r(\"endobj\")}},o=function(){var t=this.internal.collections.addImage_images;for(var e in t)a.call(this,t[e])},s=function(){var t,e=this.internal.collections.addImage_images,r=this.internal.write;for(var n in e)r(\"/I\"+(t=e[n]).index,t.objectId,\"0\",\"R\")},c=function(){this.internal.collections.addImage_images||(this.internal.collections.addImage_images={},this.internal.events.subscribe(\"putResources\",o),this.internal.events.subscribe(\"putXobjectDict\",s))},h=function(){var t=this.internal.collections.addImage_images;return c.call(this),t},l=function(){return Object.keys(this.internal.collections.addImage_images).length},f=function(t){return\"function\"==typeof e[\"process\"+t.toUpperCase()]},d=function(e){return\"object\"===t(e)&&1===e.nodeType},p=function(t,r){if(\"IMG\"===t.nodeName&&t.hasAttribute(\"src\")){var n=\"\"+t.getAttribute(\"src\");if(0===n.indexOf(\"data:image/\"))return u(unescape(n).split(\"base64,\").pop());var i=e.loadFile(n,!0);if(void 0!==i)return i}if(\"CANVAS\"===t.nodeName){if(0===t.width||0===t.height)throw new Error(\"Given canvas must have data. Canvas width: \"+t.width+\", height: \"+t.height);var a;switch(r){case\"PNG\":a=\"image/png\";break;case\"WEBP\":a=\"image/webp\";break;case\"JPEG\":case\"JPG\":default:a=\"image/jpeg\"}return u(t.toDataURL(a,1).split(\"base64,\").pop())}},g=function(t){var e=this.internal.collections.addImage_images;if(e)for(var r in e)if(t===e[r].alias)return e[r]},m=function(t,e,r){return t||e||(t=-96,e=-96),t<0&&(t=-1*r.width*72/t/this.internal.scaleFactor),e<0&&(e=-1*r.height*72/e/this.internal.scaleFactor),0===t&&(t=e*r.width/r.height),0===e&&(e=t*r.height/r.width),[t,e]},v=function(t,e,r,n,i,a){var o=m.call(this,r,n,i),s=this.internal.getCoordinateString,c=this.internal.getVerticalCoordinateString,u=h.call(this);if(r=o[0],n=o[1],u[i.index]=i,a){a*=Math.PI/180;var l=Math.cos(a),f=Math.sin(a),d=function(t){return t.toFixed(4)},p=[d(l),d(f),d(-1*f),d(l),0,0,\"cm\"]}this.internal.write(\"q\"),a?(this.internal.write([1,\"0\",\"0\",1,s(t),c(e+n),\"cm\"].join(\" \")),this.internal.write(p.join(\" \")),this.internal.write([s(r),\"0\",\"0\",s(n),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([s(r),\"0\",\"0\",s(n),s(t),c(e+n),\"cm\"].join(\" \")),this.isAdvancedAPI()&&this.internal.write([1,0,0,-1,0,0,\"cm\"].join(\" \")),this.internal.write(\"/I\"+i.index+\" Do\"),this.internal.write(\"Q\")},b=e.color_spaces={DEVICE_RGB:\"DeviceRGB\",DEVICE_GRAY:\"DeviceGray\",DEVICE_CMYK:\"DeviceCMYK\",CAL_GREY:\"CalGray\",CAL_RGB:\"CalRGB\",LAB:\"Lab\",ICC_BASED:\"ICCBased\",INDEXED:\"Indexed\",PATTERN:\"Pattern\",SEPARATION:\"Separation\",DEVICE_N:\"DeviceN\"};e.decode={DCT_DECODE:\"DCTDecode\",FLATE_DECODE:\"FlateDecode\",LZW_DECODE:\"LZWDecode\",JPX_DECODE:\"JPXDecode\",JBIG2_DECODE:\"JBIG2Decode\",ASCII85_DECODE:\"ASCII85Decode\",ASCII_HEX_DECODE:\"ASCIIHexDecode\",RUN_LENGTH_DECODE:\"RunLengthDecode\",CCITT_FAX_DECODE:\"CCITTFaxDecode\"};var y=e.image_compression={NONE:\"NONE\",FAST:\"FAST\",MEDIUM:\"MEDIUM\",SLOW:\"SLOW\"},w=e.__addimage__.sHashCode=function(t){var e,r,n=0;if(\"string\"==typeof t)for(r=t.length,e=0;e<r;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;else if(x(t))for(r=t.byteLength/2,e=0;e<r;e++)n=(n<<5)-n+t[e],n|=0;return n},N=e.__addimage__.validateStringAsBase64=function(t){(t=t||\"\").toString().trim();var e=!0;return 0===t.length&&(e=!1),t.length%4!=0&&(e=!1),!1===/^[A-Za-z0-9+/]+$/.test(t.substr(0,t.length-2))&&(e=!1),!1===/^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(t.substr(-2))&&(e=!1),e},L=e.__addimage__.extractImageFromDataUrl=function(t){if(null==t)return null;if(!(t=t.trim()).startsWith(\"data:\"))return null;var e=t.indexOf(\",\");return e<0?null:t.substring(0,e).trim().endsWith(\"base64\")?t.substring(e+1):null},A=e.__addimage__.supportsArrayBuffer=function(){return\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array};e.__addimage__.isArrayBuffer=function(t){return A()&&t instanceof ArrayBuffer};var x=e.__addimage__.isArrayBufferView=function(t){return A()&&\"undefined\"!=typeof Uint32Array&&(t instanceof Int8Array||t instanceof Uint8Array||\"undefined\"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)},S=e.__addimage__.binaryStringToUint8Array=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r},_=e.__addimage__.arrayBufferToBinaryString=function(t){for(var e=\"\",r=x(t)?t:new Uint8Array(t),n=0;n<r.length;n+=8192)e+=String.fromCharCode.apply(null,r.subarray(n,n+8192));return e};e.addImage=function(){var e,n,i,a,o,s,u,h,l;if(\"number\"==typeof arguments[1]?(n=r,i=arguments[1],a=arguments[2],o=arguments[3],s=arguments[4],u=arguments[5],h=arguments[6],l=arguments[7]):(n=arguments[1],i=arguments[2],a=arguments[3],o=arguments[4],s=arguments[5],u=arguments[6],h=arguments[7],l=arguments[8]),\"object\"===t(e=arguments[0])&&!d(e)&&\"imageData\"in e){var f=e;e=f.imageData,n=f.format||n||r,i=f.x||i||0,a=f.y||a||0,o=f.w||f.width||o,s=f.h||f.height||s,u=f.alias||u,h=f.compression||h,l=f.rotation||f.angle||l}var p=this.internal.getFilters();if(void 0===h&&-1!==p.indexOf(\"FlateEncode\")&&(h=\"SLOW\"),isNaN(i)||isNaN(a))throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");c.call(this);var g=P.call(this,e,n,u,h);return v.call(this,i,a,o,s,g,l),this};var P=function(t,n,a,o){var s,c,u;if(\"string\"==typeof t&&i(t)===r){t=unescape(t);var h=k(t,!1);(\"\"!==h||void 0!==(h=e.loadFile(t,!0)))&&(t=h)}if(d(t)&&(t=p(t,n)),n=i(t,n),!f(n))throw new Error(\"addImage does not support files of type '\"+n+\"', please ensure that a plugin for '\"+n+\"' support is added.\");if((null==(u=a)||0===u.length)&&(a=function(t){return\"string\"==typeof t||x(t)?w(t):x(t.data)?w(t.data):null}(t)),(s=g.call(this,a))||(A()&&(t instanceof Uint8Array||\"RGBA\"===n||(c=t,t=S(t))),s=this[\"process\"+n.toUpperCase()](t,l.call(this),a,function(t){return t&&\"string\"==typeof t&&(t=t.toUpperCase()),t in e.image_compression?t:y.NONE}(o),c)),!s)throw new Error(\"An unknown error occurred whilst processing the image.\");return s},k=e.__addimage__.convertBase64ToBinaryString=function(t,e){e=\"boolean\"!=typeof e||e;var r,n=\"\";if(\"string\"==typeof t){var i;r=null!==(i=L(t))&&void 0!==i?i:t;try{n=u(r)}catch(t){if(e)throw N(r)?new Error(\"atob-Error in jsPDF.convertBase64ToBinaryString \"+t.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \")}}return n};e.getImageProperties=function(t){var n,a,o=\"\";if(d(t)&&(t=p(t)),\"string\"==typeof t&&i(t)===r&&(\"\"===(o=k(t,!1))&&(o=e.loadFile(t)||\"\"),t=o),a=i(t),!f(a))throw new Error(\"addImage does not support files of type '\"+a+\"', please ensure that a plugin for '\"+a+\"' support is added.\");if(!A()||t instanceof Uint8Array||(t=S(t)),!(n=this[\"process\"+a.toUpperCase()](t)))throw new Error(\"An unknown error occurred whilst processing the image\");return n.fileType=a,n}}(E.API),\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){if(void 0!==t&&\"\"!=t)return!0};E.API.events.push([\"addPage\",function(t){this.internal.getPageInfo(t.pageNumber).pageContext.annotations=[]}]),t.events.push([\"putPage\",function(t){for(var r,n,i,a=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString,s=this.internal.getPageInfoByObjId(t.objId),c=t.pageContext.annotations,u=!1,h=0;h<c.length&&!u;h++)switch((r=c[h]).type){case\"link\":(e(r.options.url)||e(r.options.pageNumber))&&(u=!0);break;case\"reference\":case\"text\":case\"freetext\":u=!0}if(0!=u){this.internal.write(\"/Annots [\");for(var l=0;l<c.length;l++){r=c[l];var f=this.internal.pdfEscape,d=this.internal.getEncryptor(t.objId);switch(r.type){case\"reference\":this.internal.write(\" \"+r.object.objId+\" 0 R \");break;case\"text\":var p=this.internal.newAdditionalObject(),g=this.internal.newAdditionalObject(),m=this.internal.getEncryptor(p.objId),v=r.title||\"Note\";i=\"<</Type /Annot /Subtype /Text \"+(n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y)+\"] \")+\"/Contents (\"+f(m(r.contents))+\")\",i+=\" /Popup \"+g.objId+\" 0 R\",i+=\" /P \"+s.objId+\" 0 R\",i+=\" /T (\"+f(m(v))+\") >>\",p.content=i;var b=p.objId+\" 0 R\";i=\"<</Type /Annot /Subtype /Popup \"+(n=\"/Rect [\"+a(r.bounds.x+30)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w+30)+\" \"+o(r.bounds.y)+\"] \")+\" /Parent \"+b,r.open&&(i+=\" /Open true\"),i+=\" >>\",g.content=i,this.internal.write(p.objId,\"0 R\",g.objId,\"0 R\");break;case\"freetext\":n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y+r.bounds.h)+\"] \";var y=r.color||\"#000000\";i=\"<</Type /Annot /Subtype /FreeText \"+n+\"/Contents (\"+f(d(r.contents))+\")\",i+=\" /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#\"+y+\")\",i+=\" /Border [0 0 0]\",i+=\" >>\",this.internal.write(i);break;case\"link\":if(r.options.name){var w=this.annotations._nameMap[r.options.name];r.options.pageNumber=w.page,r.options.top=w.y}else r.options.top||(r.options.top=0);if(n=\"/Rect [\"+r.finalBounds.x+\" \"+r.finalBounds.y+\" \"+r.finalBounds.w+\" \"+r.finalBounds.h+\"] \",i=\"\",r.options.url)i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /A <</S /URI /URI (\"+f(d(r.options.url))+\") >>\";else if(r.options.pageNumber){switch(i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /Dest [\"+this.internal.getPageInfo(r.options.pageNumber).objId+\" 0 R\",r.options.magFactor=r.options.magFactor||\"XYZ\",r.options.magFactor){case\"Fit\":i+=\" /Fit]\";break;case\"FitH\":i+=\" /FitH \"+r.options.top+\"]\";break;case\"FitV\":r.options.left=r.options.left||0,i+=\" /FitV \"+r.options.left+\"]\";break;case\"XYZ\":default:var N=o(r.options.top);r.options.left=r.options.left||0,void 0===r.options.zoom&&(r.options.zoom=0),i+=\" /XYZ \"+r.options.left+\" \"+N+\" \"+r.options.zoom+\"]\"}}\"\"!=i&&(i+=\" >>\",this.internal.write(i))}}this.internal.write(\"]\")}}]),t.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":e.pageContext.annotations.push(t)}},t.link=function(t,e,r,n,i){var a=this.internal.getCurrentPageInfo(),o=this.internal.getCoordinateString,s=this.internal.getVerticalCoordinateString;a.pageContext.annotations.push({finalBounds:{x:o(t),y:s(e),w:o(t+r),h:s(e+n)},options:i,type:\"link\"})},t.textWithLink=function(t,e,r,n){var i,a,o=this.getTextWidth(t),s=this.internal.getLineHeight()/this.internal.scaleFactor;if(void 0!==n.maxWidth){a=n.maxWidth;var c=this.splitTextToSize(t,a).length;i=Math.ceil(s*c)}else a=o,i=s;return this.text(t,e,r,n),r+=.2*s,\"center\"===n.align&&(e-=o/2),\"right\"===n.align&&(e-=o),this.link(e,r-s,a,i,n),o},t.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor}}(E.API),\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},r={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},n={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},i=[1570,1571,1573,1575];t.__arabicParser__={};var a=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length<=2},c=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&i.indexOf(t.charCodeAt(0))>=0};t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=1};var u=t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=2};t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=3};var h=t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&a(t)&&4==e[t.charCodeAt(0)].length},l=t.__arabicParser__.resolveLigatures=function(t){var e=0,n=r,i=\"\",a=0;for(e=0;e<t.length;e+=1)void 0!==n[t.charCodeAt(e)]?(a++,\"number\"==typeof(n=n[t.charCodeAt(e)])&&(i+=String.fromCharCode(n),n=r,a=0),e===t.length-1&&(n=r,i+=t.charAt(e-(a-1)),e-=a-1,a=0)):(n=r,i+=t.charAt(e-a),e-=a,a=0);return i};t.__arabicParser__.isArabicDiacritic=function(t){return void 0!==t&&void 0!==n[t.charCodeAt(0)]};var f=t.__arabicParser__.getCorrectForm=function(t,e,r){return o(t)?!1===a(t)?-1:!u(t)||!o(e)&&!o(r)||!o(r)&&s(e)||s(t)&&!o(e)||s(t)&&c(e)||s(t)&&s(e)?0:h(t)&&o(e)&&!s(e)&&o(r)&&u(r)?3:s(t)||!o(r)?1:2:-1},d=function(t){var r=0,n=0,i=0,a=\"\",s=\"\",c=\"\",u=(t=t||\"\").split(\"\\\\s+\"),h=[];for(r=0;r<u.length;r+=1){for(h.push(\"\"),n=0;n<u[r].length;n+=1)a=u[r][n],s=u[r][n-1],c=u[r][n+1],o(a)?(i=f(a,s,c),h[r]+=-1!==i?String.fromCharCode(e[a.charCodeAt(0)][i]):a):h[r]+=a;h[r]=l(h[r])}return h.join(\" \")},p=t.__arabicParser__.processArabic=t.processArabic=function(){var t,e=\"string\"==typeof arguments[0]?arguments[0]:arguments[0].text,r=[];if(Array.isArray(e)){var n=0;for(r=[],n=0;n<e.length;n+=1)Array.isArray(e[n])?r.push([d(e[n][0]),e[n][1],e[n][2]]):r.push([d(e[n])]);t=r}else t=d(e);return\"string\"==typeof arguments[0]?t:(arguments[0].text=t,arguments[0])};t.events.push([\"preProcessText\",p])}(E.API),E.API.autoPrint=function(t){var e;switch((t=t||{}).variant=t.variant||\"non-conform\",t.variant){case\"javascript\":this.addJS(\"print({});\");break;case\"non-conform\":default:this.internal.events.subscribe(\"postPutResources\",(function(){e=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /Named\"),this.internal.out(\"/Type /Action\"),this.internal.out(\"/N /Print\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.out(\"/OpenAction \"+e+\" 0 R\")}))}return this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){var t=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,\"width\",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=e+1)}});var r=300;Object.defineProperty(this,\"height\",{get:function(){return r},set:function(t){r=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=r+1)}});var n=[];Object.defineProperty(this,\"childNodes\",{get:function(){return n},set:function(t){n=t}});var i={};Object.defineProperty(this,\"style\",{get:function(){return i},set:function(t){i=t}}),Object.defineProperty(this,\"parentNode\",{})};e.prototype.getContext=function(t,e){var r;if(\"2d\"!==(t=t||\"2d\"))return null;for(r in e)this.pdf.context2d.hasOwnProperty(r)&&(this.pdf.context2d[r]=e[r]);return this.pdf.context2d._canvas=this,this.pdf.context2d},e.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},t.events.push([\"initialized\",function(){this.canvas=new e,this.canvas.pdf=this}])}(E.API),function(e){var r={left:0,top:0,bottom:0,right:0},n=!1,i=function(){void 0===this.internal.__cell__&&(this.internal.__cell__={},this.internal.__cell__.padding=3,this.internal.__cell__.headerFunction=void 0,this.internal.__cell__.margins=Object.assign({},r),this.internal.__cell__.margins.width=this.getPageWidth(),a.call(this))},a=function(){this.internal.__cell__.lastCell=new o,this.internal.__cell__.pages=1},o=function(){var t=arguments[0];Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return t},set:function(e){t=e}});var e=arguments[1];Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return e},set:function(t){e=t}});var r=arguments[2];Object.defineProperty(this,\"width\",{enumerable:!0,get:function(){return r},set:function(t){r=t}});var n=arguments[3];Object.defineProperty(this,\"height\",{enumerable:!0,get:function(){return n},set:function(t){n=t}});var i=arguments[4];Object.defineProperty(this,\"text\",{enumerable:!0,get:function(){return i},set:function(t){i=t}});var a=arguments[5];Object.defineProperty(this,\"lineNumber\",{enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=arguments[6];return Object.defineProperty(this,\"align\",{enumerable:!0,get:function(){return o},set:function(t){o=t}}),this};o.prototype.clone=function(){return new o(this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align)},o.prototype.toArray=function(){return[this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align]},e.setHeaderFunction=function(t){return i.call(this),this.internal.__cell__.headerFunction=\"function\"==typeof t?t:void 0,this},e.getTextDimensions=function(t,e){i.call(this);var r=(e=e||{}).fontSize||this.getFontSize(),n=e.font||this.getFont(),a=e.scaleFactor||this.internal.scaleFactor,o=0,s=0,c=0,u=this;if(!Array.isArray(t)&&\"string\"!=typeof t){if(\"number\"!=typeof t)throw new Error(\"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\");t=String(t)}var h=e.maxWidth;h>0?\"string\"==typeof t?t=this.splitTextToSize(t,h):\"[object Array]\"===Object.prototype.toString.call(t)&&(t=t.reduce((function(t,e){return t.concat(u.splitTextToSize(e,h))}),[])):t=Array.isArray(t)?t:[t];for(var l=0;l<t.length;l++)o<(c=this.getStringUnitWidth(t[l],{font:n})*r)&&(o=c);return 0!==o&&(s=t.length),{w:o/=a,h:Math.max((s*r*this.getLineHeightFactor()-r*(this.getLineHeightFactor()-1))/a,0)}},e.cellAddPage=function(){i.call(this),this.addPage();var t=this.internal.__cell__.margins||r;return this.internal.__cell__.lastCell=new o(t.left,t.top,void 0,void 0),this.internal.__cell__.pages+=1,this};var s=e.cell=function(){var t;t=arguments[0]instanceof o?arguments[0]:new o(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]),i.call(this);var e=this.internal.__cell__.lastCell,a=this.internal.__cell__.padding,s=this.internal.__cell__.margins||r,c=this.internal.__cell__.tableHeaderRow,u=this.internal.__cell__.printHeaders;return void 0!==e.lineNumber&&(e.lineNumber===t.lineNumber?(t.x=(e.x||0)+(e.width||0),t.y=e.y||0):e.y+e.height+t.height+s.bottom>this.getPageHeight()?(this.cellAddPage(),t.y=s.top,u&&c&&(this.printHeaderRow(t.lineNumber,!0),t.y+=c[0].height)):t.y=e.y+e.height||t.y),void 0!==t.text[0]&&(this.rect(t.x,t.y,t.width,t.height,!0===n?\"FD\":void 0),\"right\"===t.align?this.text(t.text,t.x+t.width-a,t.y+a,{align:\"right\",baseline:\"top\"}):\"center\"===t.align?this.text(t.text,t.x+t.width/2,t.y+a,{align:\"center\",baseline:\"top\",maxWidth:t.width-a-a}):this.text(t.text,t.x+a,t.y+a,{align:\"left\",baseline:\"top\",maxWidth:t.width-a-a})),this.internal.__cell__.lastCell=t,this};e.table=function(e,n,u,h,l){if(i.call(this),!u)throw new Error(\"No data for PDF table.\");var f,d,p,g,m=[],v=[],b=[],y={},w={},N=[],L=[],A=(l=l||{}).autoSize||!1,x=!1!==l.printHeaders,S=l.css&&void 0!==l.css[\"font-size\"]?16*l.css[\"font-size\"]:l.fontSize||12,_=l.margins||Object.assign({width:this.getPageWidth()},r),P=\"number\"==typeof l.padding?l.padding:3,k=l.headerBackgroundColor||\"#c8c8c8\",I=l.headerTextColor||\"#000\";if(a.call(this),this.internal.__cell__.printHeaders=x,this.internal.__cell__.margins=_,this.internal.__cell__.table_font_size=S,this.internal.__cell__.padding=P,this.internal.__cell__.headerBackgroundColor=k,this.internal.__cell__.headerTextColor=I,this.setFontSize(S),null==h)v=m=Object.keys(u[0]),b=m.map((function(){return\"left\"}));else if(Array.isArray(h)&&\"object\"===t(h[0]))for(m=h.map((function(t){return t.name})),v=h.map((function(t){return t.prompt||t.name||\"\"})),b=h.map((function(t){return t.align||\"left\"})),f=0;f<h.length;f+=1)w[h[f].name]=h[f].width*(19.049976/25.4);else Array.isArray(h)&&\"string\"==typeof h[0]&&(v=m=h,b=m.map((function(){return\"left\"})));if(A||Array.isArray(h)&&\"string\"==typeof h[0])for(f=0;f<m.length;f+=1){for(y[g=m[f]]=u.map((function(t){return t[g]})),this.setFont(void 0,\"bold\"),N.push(this.getTextDimensions(v[f],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w),d=y[g],this.setFont(void 0,\"normal\"),p=0;p<d.length;p+=1)N.push(this.getTextDimensions(d[p],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w);w[g]=Math.max.apply(null,N)+P+P,N=[]}if(x){var F={};for(f=0;f<m.length;f+=1)F[m[f]]={},F[m[f]].text=v[f],F[m[f]].align=b[f];var C=c.call(this,F,w);L=m.map((function(t){return new o(e,n,w[t],C,F[t].text,void 0,F[t].align)})),this.setTableHeaderRow(L),this.printHeaderRow(1,!1)}var j=h.reduce((function(t,e){return t[e.name]=e.align,t}),{});for(f=0;f<u.length;f+=1){\"rowStart\"in l&&l.rowStart instanceof Function&&l.rowStart({row:f,data:u[f]},this);var O=c.call(this,u[f],w);for(p=0;p<m.length;p+=1){var B=u[f][m[p]];\"cellStart\"in l&&l.cellStart instanceof Function&&l.cellStart({row:f,col:p,data:B},this),s.call(this,new o(e,n,w[m[p]],O,B,f+2,j[m[p]]))}}return this.internal.__cell__.table_x=e,this.internal.__cell__.table_y=n,this};var c=function(t,e){var r=this.internal.__cell__.padding,n=this.internal.__cell__.table_font_size,i=this.internal.scaleFactor;return Object.keys(t).map((function(n){var i=t[n];return this.splitTextToSize(i.hasOwnProperty(\"text\")?i.text:i,e[n]-r-r)}),this).map((function(t){return this.getLineHeightFactor()*t.length*n/i+r+r}),this).reduce((function(t,e){return Math.max(t,e)}),0)};e.setTableHeaderRow=function(t){i.call(this),this.internal.__cell__.tableHeaderRow=t},e.printHeaderRow=function(t,e){if(i.call(this),!this.internal.__cell__.tableHeaderRow)throw new Error(\"Property tableHeaderRow does not exist.\");var r;if(n=!0,\"function\"==typeof this.internal.__cell__.headerFunction){var a=this.internal.__cell__.headerFunction(this,this.internal.__cell__.pages);this.internal.__cell__.lastCell=new o(a[0],a[1],a[2],a[3],void 0,-1)}this.setFont(void 0,\"bold\");for(var c=[],u=0;u<this.internal.__cell__.tableHeaderRow.length;u+=1){r=this.internal.__cell__.tableHeaderRow[u].clone(),e&&(r.y=this.internal.__cell__.margins.top||0,c.push(r)),r.lineNumber=t;var h=this.getTextColor();this.setTextColor(this.internal.__cell__.headerTextColor),this.setFillColor(this.internal.__cell__.headerBackgroundColor),s.call(this,r),this.setTextColor(h)}c.length>0&&this.setTableHeaderRow(c),this.setFont(void 0,\"normal\"),n=!1}}(E.API);var Pt={italic:[\"italic\",\"oblique\",\"normal\"],oblique:[\"oblique\",\"italic\",\"normal\"],normal:[\"normal\",\"oblique\",\"italic\"]},kt=[\"ultra-condensed\",\"extra-condensed\",\"condensed\",\"semi-condensed\",\"normal\",\"semi-expanded\",\"expanded\",\"extra-expanded\",\"ultra-expanded\"],It=_t(kt),Ft=[100,200,300,400,500,600,700,800,900],Ct=_t(Ft);function jt(t){var e=t.family.replace(/\"|'/g,\"\").toLowerCase(),r=function(t){return Pt[t=t||\"normal\"]?t:\"normal\"}(t.style),n=function(t){if(!t)return 400;if(\"number\"==typeof t)return t>=100&&t<=900&&t%100==0?t:400;if(/^\\d00$/.test(t))return parseInt(t);switch(t){case\"bold\":return 700;case\"normal\":default:return 400}}(t.weight),i=function(t){return\"number\"==typeof It[t=t||\"normal\"]?t:\"normal\"}(t.stretch);return{family:e,style:r,weight:n,stretch:i,src:t.src||[],ref:t.ref||{name:e,style:[i,r,n].join(\" \")}}}function Ot(t,e,r,n){var i;for(i=r;i>=0&&i<e.length;i+=n)if(t[e[i]])return t[e[i]];for(i=r;i>=0&&i<e.length;i-=n)if(t[e[i]])return t[e[i]]}var Bt={\"sans-serif\":\"helvetica\",fixed:\"courier\",monospace:\"courier\",terminal:\"courier\",cursive:\"times\",fantasy:\"times\",serif:\"times\"},Mt={caption:\"times\",icon:\"times\",menu:\"times\",\"message-box\":\"times\",\"small-caption\":\"times\",\"status-bar\":\"times\"};function Et(t){return[t.stretch,t.style,t.weight,t.family].join(\" \")}function qt(t,e,r){for(var n=(r=r||{}).defaultFontFamily||\"times\",i=Object.assign({},Bt,r.genericFontFamilies||{}),a=null,o=null,s=0;s<e.length;++s)if(i[(a=jt(e[s])).family]&&(a.family=i[a.family]),t.hasOwnProperty(a.family)){o=t[a.family];break}if(!(o=o||t[n]))throw new Error(\"Could not find a font-family for the rule '\"+Et(a)+\"' and default family '\"+n+\"'.\");if(o=function(t,e){if(e[t])return e[t];var r=It[t],n=r<=It.normal?-1:1,i=Ot(e,kt,r,n);if(!i)throw new Error(\"Could not find a matching font-stretch value for \"+t);return i}(a.stretch,o),o=function(t,e){if(e[t])return e[t];for(var r=Pt[t],n=0;n<r.length;++n)if(e[r[n]])return e[r[n]];throw new Error(\"Could not find a matching font-style for \"+t)}(a.style,o),!(o=function(t,e){if(e[t])return e[t];if(400===t&&e[500])return e[500];if(500===t&&e[400])return e[400];var r=Ct[t],n=Ot(e,Ft,r,t<400?-1:1);if(!n)throw new Error(\"Could not find a matching font-weight for value \"+t);return n}(a.weight,o)))throw new Error(\"Failed to resolve a font for the rule '\"+Et(a)+\"'.\");return o}function Dt(t){return t.trimLeft()}function Rt(t,e){for(var r=0;r<t.length;){if(t.charAt(r)===e)return[t.substring(0,r),t.substring(r+1)];r+=1}return null}function Tt(t){var e=t.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);return null===e?null:[e[0],t.substring(e[0].length)]}var Ut,zt,Ht,Wt=[\"times\"];!function(e){var r,n,i,o,s,c,u,h,l,d=function(t){return t=t||{},this.isStrokeTransparent=t.isStrokeTransparent||!1,this.strokeOpacity=t.strokeOpacity||1,this.strokeStyle=t.strokeStyle||\"#000000\",this.fillStyle=t.fillStyle||\"#000000\",this.isFillTransparent=t.isFillTransparent||!1,this.fillOpacity=t.fillOpacity||1,this.font=t.font||\"10px sans-serif\",this.textBaseline=t.textBaseline||\"alphabetic\",this.textAlign=t.textAlign||\"left\",this.lineWidth=t.lineWidth||1,this.lineJoin=t.lineJoin||\"miter\",this.lineCap=t.lineCap||\"butt\",this.path=t.path||[],this.transform=void 0!==t.transform?t.transform.clone():new h,this.globalCompositeOperation=t.globalCompositeOperation||\"normal\",this.globalAlpha=t.globalAlpha||1,this.clip_path=t.clip_path||[],this.currentPoint=t.currentPoint||new c,this.miterLimit=t.miterLimit||10,this.lastPoint=t.lastPoint||new c,this.lineDashOffset=t.lineDashOffset||0,this.lineDash=t.lineDash||[],this.margin=t.margin||[0,0,0,0],this.prevPageLastElemOffset=t.prevPageLastElemOffset||0,this.ignoreClearRect=\"boolean\"!=typeof t.ignoreClearRect||t.ignoreClearRect,this};e.events.push([\"initialized\",function(){this.context2d=new p(this),r=this.internal.f2,n=this.internal.getCoordinateString,i=this.internal.getVerticalCoordinateString,o=this.internal.getHorizontalCoordinate,s=this.internal.getVerticalCoordinate,c=this.internal.Point,u=this.internal.Rectangle,h=this.internal.Matrix,l=new d}]);var p=function(t){Object.defineProperty(this,\"canvas\",{get:function(){return{parentNode:!1,style:!1}}});var e=t;Object.defineProperty(this,\"pdf\",{get:function(){return e}});var r=!1;Object.defineProperty(this,\"pageWrapXEnabled\",{get:function(){return r},set:function(t){r=Boolean(t)}});var n=!1;Object.defineProperty(this,\"pageWrapYEnabled\",{get:function(){return n},set:function(t){n=Boolean(t)}});var i=0;Object.defineProperty(this,\"posX\",{get:function(){return i},set:function(t){isNaN(t)||(i=t)}});var a=0;Object.defineProperty(this,\"posY\",{get:function(){return a},set:function(t){isNaN(t)||(a=t)}}),Object.defineProperty(this,\"margin\",{get:function(){return l.margin},set:function(t){var e;\"number\"==typeof t?e=[t,t,t,t]:((e=new Array(4))[0]=t[0],e[1]=t.length>=2?t[1]:e[0],e[2]=t.length>=3?t[2]:e[0],e[3]=t.length>=4?t[3]:e[1]),l.margin=e}});var o=!1;Object.defineProperty(this,\"autoPaging\",{get:function(){return o},set:function(t){o=t}});var s=0;Object.defineProperty(this,\"lastBreak\",{get:function(){return s},set:function(t){s=t}});var c=[];Object.defineProperty(this,\"pageBreaks\",{get:function(){return c},set:function(t){c=t}}),Object.defineProperty(this,\"ctx\",{get:function(){return l},set:function(t){t instanceof d&&(l=t)}}),Object.defineProperty(this,\"path\",{get:function(){return l.path},set:function(t){l.path=t}});var u=[];Object.defineProperty(this,\"ctxStack\",{get:function(){return u},set:function(t){u=t}}),Object.defineProperty(this,\"fillStyle\",{get:function(){return this.ctx.fillStyle},set:function(t){var e;e=g(t),this.ctx.fillStyle=e.style,this.ctx.isFillTransparent=0===e.a,this.ctx.fillOpacity=e.a,this.pdf.setFillColor(e.r,e.g,e.b,{a:e.a}),this.pdf.setTextColor(e.r,e.g,e.b,{a:e.a})}}),Object.defineProperty(this,\"strokeStyle\",{get:function(){return this.ctx.strokeStyle},set:function(t){var e=g(t);this.ctx.strokeStyle=e.style,this.ctx.isStrokeTransparent=0===e.a,this.ctx.strokeOpacity=e.a,0===e.a?this.pdf.setDrawColor(255,255,255):(e.a,this.pdf.setDrawColor(e.r,e.g,e.b))}}),Object.defineProperty(this,\"lineCap\",{get:function(){return this.ctx.lineCap},set:function(t){-1!==[\"butt\",\"round\",\"square\"].indexOf(t)&&(this.ctx.lineCap=t,this.pdf.setLineCap(t))}}),Object.defineProperty(this,\"lineWidth\",{get:function(){return this.ctx.lineWidth},set:function(t){isNaN(t)||(this.ctx.lineWidth=t,this.pdf.setLineWidth(t))}}),Object.defineProperty(this,\"lineJoin\",{get:function(){return this.ctx.lineJoin},set:function(t){-1!==[\"bevel\",\"round\",\"miter\"].indexOf(t)&&(this.ctx.lineJoin=t,this.pdf.setLineJoin(t))}}),Object.defineProperty(this,\"miterLimit\",{get:function(){return this.ctx.miterLimit},set:function(t){isNaN(t)||(this.ctx.miterLimit=t,this.pdf.setMiterLimit(t))}}),Object.defineProperty(this,\"textBaseline\",{get:function(){return this.ctx.textBaseline},set:function(t){this.ctx.textBaseline=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){return this.ctx.textAlign},set:function(t){-1!==[\"right\",\"end\",\"center\",\"left\",\"start\"].indexOf(t)&&(this.ctx.textAlign=t)}});var h=null;function f(t,e){if(null===h){var r=function(t){var e=[];return Object.keys(t).forEach((function(r){t[r].forEach((function(t){var n=null;switch(t){case\"bold\":n={family:r,weight:\"bold\"};break;case\"italic\":n={family:r,style:\"italic\"};break;case\"bolditalic\":n={family:r,weight:\"bold\",style:\"italic\"};break;case\"\":case\"normal\":n={family:r}}null!==n&&(n.ref={name:r,style:t},e.push(n))}))})),e}(t.getFontList());h=function(t){for(var e={},r=0;r<t.length;++r){var n=jt(t[r]),i=n.family,a=n.stretch,o=n.style,s=n.weight;e[i]=e[i]||{},e[i][a]=e[i][a]||{},e[i][a][o]=e[i][a][o]||{},e[i][a][o][s]=n}return e}(r.concat(e))}return h}var p=null;Object.defineProperty(this,\"fontFaces\",{get:function(){return p},set:function(t){h=null,p=t}}),Object.defineProperty(this,\"font\",{get:function(){return this.ctx.font},set:function(t){var e;if(this.ctx.font=t,null!==(e=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i.exec(t))){var r=e[1];e[2];var n=e[3],i=e[4];e[5];var a=e[6],o=/^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(i)[2];i=\"px\"===o?Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor):\"em\"===o?Math.floor(parseFloat(i)*this.pdf.getFontSize()):Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor),this.pdf.setFontSize(i);var s=function(t){var e,r,n=[],i=t.trim();if(\"\"===i)return Wt;if(i in Mt)return[Mt[i]];for(;\"\"!==i;){switch(r=null,e=(i=Dt(i)).charAt(0)){case'\"':case\"'\":r=Rt(i.substring(1),e);break;default:r=Tt(i)}if(null===r)return Wt;if(n.push(r[0]),\"\"!==(i=Dt(r[1]))&&\",\"!==i.charAt(0))return Wt;i=i.replace(/^,/,\"\")}return n}(a);if(this.fontFaces){var c=qt(f(this.pdf,this.fontFaces),s.map((function(t){return{family:t,stretch:\"normal\",weight:n,style:r}})));this.pdf.setFont(c.ref.name,c.ref.style)}else{var u=\"\";(\"bold\"===n||parseInt(n,10)>=700||\"bold\"===r)&&(u=\"bold\"),\"italic\"===r&&(u+=\"italic\"),0===u.length&&(u=\"normal\");for(var h=\"\",l={arial:\"Helvetica\",Arial:\"Helvetica\",verdana:\"Helvetica\",Verdana:\"Helvetica\",helvetica:\"Helvetica\",Helvetica:\"Helvetica\",\"sans-serif\":\"Helvetica\",fixed:\"Courier\",monospace:\"Courier\",terminal:\"Courier\",cursive:\"Times\",fantasy:\"Times\",serif:\"Times\"},d=0;d<s.length;d++){if(void 0!==this.pdf.internal.getFont(s[d],u,{noFallback:!0,disableWarning:!0})){h=s[d];break}if(\"bolditalic\"===u&&void 0!==this.pdf.internal.getFont(s[d],\"bold\",{noFallback:!0,disableWarning:!0}))h=s[d],u=\"bold\";else if(void 0!==this.pdf.internal.getFont(s[d],\"normal\",{noFallback:!0,disableWarning:!0})){h=s[d],u=\"normal\";break}}if(\"\"===h)for(var p=0;p<s.length;p++)if(l[s[p]]){h=l[s[p]];break}h=\"\"===h?\"Times\":h,this.pdf.setFont(h,u)}}}}),Object.defineProperty(this,\"globalCompositeOperation\",{get:function(){return this.ctx.globalCompositeOperation},set:function(t){this.ctx.globalCompositeOperation=t}}),Object.defineProperty(this,\"globalAlpha\",{get:function(){return this.ctx.globalAlpha},set:function(t){this.ctx.globalAlpha=t}}),Object.defineProperty(this,\"lineDashOffset\",{get:function(){return this.ctx.lineDashOffset},set:function(t){this.ctx.lineDashOffset=t,T.call(this)}}),Object.defineProperty(this,\"lineDash\",{get:function(){return this.ctx.lineDash},set:function(t){this.ctx.lineDash=t,T.call(this)}}),Object.defineProperty(this,\"ignoreClearRect\",{get:function(){return this.ctx.ignoreClearRect},set:function(t){this.ctx.ignoreClearRect=Boolean(t)}})};p.prototype.setLineDash=function(t){this.lineDash=t},p.prototype.getLineDash=function(){return this.lineDash.length%2?this.lineDash.concat(this.lineDash):this.lineDash.slice()},p.prototype.fill=function(){A.call(this,\"fill\",!1)},p.prototype.stroke=function(){A.call(this,\"stroke\",!1)},p.prototype.beginPath=function(){this.path=[{type:\"begin\"}]},p.prototype.moveTo=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.moveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");var r=this.ctx.transform.applyToPoint(new c(t,e));this.path.push({type:\"mt\",x:r.x,y:r.y}),this.ctx.lastPoint=new c(t,e)},p.prototype.closePath=function(){var e=new c(0,0),r=0;for(r=this.path.length-1;-1!==r;r--)if(\"begin\"===this.path[r].type&&\"object\"===t(this.path[r+1])&&\"number\"==typeof this.path[r+1].x){e=new c(this.path[r+1].x,this.path[r+1].y);break}this.path.push({type:\"close\"}),this.ctx.lastPoint=new c(e.x,e.y)},p.prototype.lineTo=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.lineTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");var r=this.ctx.transform.applyToPoint(new c(t,e));this.path.push({type:\"lt\",x:r.x,y:r.y}),this.ctx.lastPoint=new c(r.x,r.y)},p.prototype.clip=function(){this.ctx.clip_path=JSON.parse(JSON.stringify(this.path)),A.call(this,null,!0)},p.prototype.quadraticCurveTo=function(t,e,r,n){if(isNaN(r)||isNaN(n)||isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\");var i=this.ctx.transform.applyToPoint(new c(r,n)),o=this.ctx.transform.applyToPoint(new c(t,e));this.path.push({type:\"qct\",x1:o.x,y1:o.y,x:i.x,y:i.y}),this.ctx.lastPoint=new c(i.x,i.y)},p.prototype.bezierCurveTo=function(t,e,r,n,i,o){if(isNaN(i)||isNaN(o)||isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.bezierCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\");var s=this.ctx.transform.applyToPoint(new c(i,o)),u=this.ctx.transform.applyToPoint(new c(t,e)),h=this.ctx.transform.applyToPoint(new c(r,n));this.path.push({type:\"bct\",x1:u.x,y1:u.y,x2:h.x,y2:h.y,x:s.x,y:s.y}),this.ctx.lastPoint=new c(s.x,s.y)},p.prototype.arc=function(t,e,r,n,i,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i))throw a.error(\"jsPDF.context2d.arc: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");if(o=Boolean(o),!this.ctx.transform.isIdentity){var s=this.ctx.transform.applyToPoint(new c(t,e));t=s.x,e=s.y;var u=this.ctx.transform.applyToPoint(new c(0,r)),h=this.ctx.transform.applyToPoint(new c(0,0));r=Math.sqrt(Math.pow(u.x-h.x,2)+Math.pow(u.y-h.y,2))}Math.abs(i-n)>=2*Math.PI&&(n=0,i=2*Math.PI),this.path.push({type:\"arc\",x:t,y:e,radius:r,startAngle:n,endAngle:i,counterclockwise:o})},p.prototype.arcTo=function(t,e,r,n,i){throw new Error(\"arcTo not implemented.\")},p.prototype.rect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,e),this.lineTo(t+r,e),this.lineTo(t+r,e+n),this.lineTo(t,e+n),this.lineTo(t,e),this.lineTo(t+r,e),this.lineTo(t,e)},p.prototype.fillRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!m.call(this)){var i={};\"butt\"!==this.lineCap&&(i.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(i.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,e,r,n),this.fill(),i.hasOwnProperty(\"lineCap\")&&(this.lineCap=i.lineCap),i.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=i.lineJoin)}},p.prototype.strokeRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");v.call(this)||(this.beginPath(),this.rect(t,e,r,n),this.stroke())},p.prototype.clearRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,e,r,n))},p.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"q\");if(this.pdf.setPage(e),t){this.ctx.fontSize=this.pdf.internal.getFontSize();var n=new d(this.ctx);this.ctxStack.push(this.ctx),this.ctx=n}},p.prototype.restore=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"Q\");this.pdf.setPage(e),t&&0!==this.ctxStack.length&&(this.ctx=this.ctxStack.pop(),this.fillStyle=this.ctx.fillStyle,this.strokeStyle=this.ctx.strokeStyle,this.font=this.ctx.font,this.lineCap=this.ctx.lineCap,this.lineWidth=this.ctx.lineWidth,this.lineJoin=this.ctx.lineJoin,this.lineDash=this.ctx.lineDash,this.lineDashOffset=this.ctx.lineDashOffset)},p.prototype.toDataURL=function(){throw new Error(\"toDataUrl not implemented.\")};var g=function(t){var e,r,n,i;if(!0===t.isCanvasGradient&&(t=t.getColor()),!t)return{r:0,g:0,b:0,a:0,style:t};if(/transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/.test(t))e=0,r=0,n=0,i=0;else{var a=/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/.exec(t);if(null!==a)e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=1;else if(null!==(a=/rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/.exec(t)))e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=parseFloat(a[4]);else{if(i=1,\"string\"==typeof t&&\"#\"!==t.charAt(0)){var o=new f(t);t=o.ok?o.toHex():\"#000000\"}4===t.length?(e=t.substring(1,2),e+=e,r=t.substring(2,3),r+=r,n=t.substring(3,4),n+=n):(e=t.substring(1,3),r=t.substring(3,5),n=t.substring(5,7)),e=parseInt(e,16),r=parseInt(r,16),n=parseInt(n,16)}}return{r:e,g:r,b:n,a:i,style:t}},m=function(){return this.ctx.isFillTransparent||0==this.globalAlpha},v=function(){return Boolean(this.ctx.isStrokeTransparent||0==this.globalAlpha)};p.prototype.fillText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw a.error(\"jsPDF.context2d.fillText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");if(n=isNaN(n)?void 0:n,!m.call(this)){var i=q(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;C.call(this,{text:t,x:e,y:r,scale:o,angle:i,align:this.textAlign,maxWidth:n})}},p.prototype.strokeText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw a.error(\"jsPDF.context2d.strokeText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");if(!v.call(this)){n=isNaN(n)?void 0:n;var i=q(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;C.call(this,{text:t,x:e,y:r,scale:o,renderingMode:\"stroke\",angle:i,align:this.textAlign,maxWidth:n})}},p.prototype.measureText=function(t){if(\"string\"!=typeof t)throw a.error(\"jsPDF.context2d.measureText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.measureText\");var e=this.pdf,r=this.pdf.internal.scaleFactor,n=e.internal.getFontSize(),i=e.getStringUnitWidth(t)*n/e.internal.scaleFactor,o=function(t){var e=(t=t||{}).width||0;return Object.defineProperty(this,\"width\",{get:function(){return e}}),this};return new o({width:i*=Math.round(96*r/72*1e4)/1e4})},p.prototype.scale=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.scale: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");var r=new h(t,0,0,e,0,0);this.ctx.transform=this.ctx.transform.multiply(r)},p.prototype.rotate=function(t){if(isNaN(t))throw a.error(\"jsPDF.context2d.rotate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");var e=new h(Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0);this.ctx.transform=this.ctx.transform.multiply(e)},p.prototype.translate=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.translate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");var r=new h(1,0,0,1,t,e);this.ctx.transform=this.ctx.transform.multiply(r)},p.prototype.transform=function(t,e,r,n,i,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(o))throw a.error(\"jsPDF.context2d.transform: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");var s=new h(t,e,r,n,i,o);this.ctx.transform=this.ctx.transform.multiply(s)},p.prototype.setTransform=function(t,e,r,n,i,a){t=isNaN(t)?1:t,e=isNaN(e)?0:e,r=isNaN(r)?0:r,n=isNaN(n)?1:n,i=isNaN(i)?0:i,a=isNaN(a)?0:a,this.ctx.transform=new h(t,e,r,n,i,a)};var b=function(){return this.margin[0]>0||this.margin[1]>0||this.margin[2]>0||this.margin[3]>0};p.prototype.drawImage=function(t,e,r,n,i,a,o,s,c){var l=this.pdf.getImageProperties(t),f=1,d=1,p=1,g=1;void 0!==n&&void 0!==s&&(p=s/n,g=c/i,f=l.width/n*s/n,d=l.height/i*c/i),void 0===a&&(a=e,o=r,e=0,r=0),void 0!==n&&void 0===s&&(s=n,c=i),void 0===n&&void 0===s&&(s=l.width,c=l.height);for(var m,v=this.ctx.transform.decompose(),w=q(v.rotate.shx),A=new h,S=(A=(A=(A=A.multiply(v.translate)).multiply(v.skew)).multiply(v.scale)).applyToRectangle(new u(a-e*p,o-r*g,n*f,i*d)),_=y.call(this,S),P=[],k=0;k<_.length;k+=1)-1===P.indexOf(_[k])&&P.push(_[k]);if(L(P),this.autoPaging)for(var I=P[0],F=P[P.length-1],C=I;C<F+1;C++){this.pdf.setPage(C);var j=this.pdf.internal.pageSize.width-this.margin[3]-this.margin[1],O=1===C?this.posY+this.margin[0]:this.margin[0],B=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],M=this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2],E=1===C?0:B+(C-2)*M;if(0!==this.ctx.clip_path.length){var D=this.path;m=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(m,this.posX+this.margin[3],-E+O+this.ctx.prevPageLastElemOffset),x.call(this,\"fill\",!0),this.path=D}var R=JSON.parse(JSON.stringify(S));R=N([R],this.posX+this.margin[3],-E+O+this.ctx.prevPageLastElemOffset)[0];var T=(C>I||C<F)&&b.call(this);T&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],j,M,null).clip().discardPath()),this.pdf.addImage(t,\"JPEG\",R.x,R.y,R.w,R.h,null,null,w),T&&this.pdf.restoreGraphicsState()}else this.pdf.addImage(t,\"JPEG\",S.x,S.y,S.w,S.h,null,null,w)};var y=function(t,e,r){var n=[];e=e||this.pdf.internal.pageSize.width,r=r||this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2];var i=this.posY+this.ctx.prevPageLastElemOffset;switch(t.type){default:case\"mt\":case\"lt\":n.push(Math.floor((t.y+i)/r)+1);break;case\"arc\":n.push(Math.floor((t.y+i-t.radius)/r)+1),n.push(Math.floor((t.y+i+t.radius)/r)+1);break;case\"qct\":var a=D(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x,t.y);n.push(Math.floor((a.y+i)/r)+1),n.push(Math.floor((a.y+a.h+i)/r)+1);break;case\"bct\":var o=R(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x2,t.y2,t.x,t.y);n.push(Math.floor((o.y+i)/r)+1),n.push(Math.floor((o.y+o.h+i)/r)+1);break;case\"rect\":n.push(Math.floor((t.y+i)/r)+1),n.push(Math.floor((t.y+t.h+i)/r)+1)}for(var s=0;s<n.length;s+=1)for(;this.pdf.internal.getNumberOfPages()<n[s];)w.call(this);return n},w=function(){var t=this.fillStyle,e=this.strokeStyle,r=this.font,n=this.lineCap,i=this.lineWidth,a=this.lineJoin;this.pdf.addPage(),this.fillStyle=t,this.strokeStyle=e,this.font=r,this.lineCap=n,this.lineWidth=i,this.lineJoin=a},N=function(t,e,r){for(var n=0;n<t.length;n++)switch(t[n].type){case\"bct\":t[n].x2+=e,t[n].y2+=r;case\"qct\":t[n].x1+=e,t[n].y1+=r;case\"mt\":case\"lt\":case\"arc\":default:t[n].x+=e,t[n].y+=r}return t},L=function(t){return t.sort((function(t,e){return t-e}))},A=function(t,e){for(var r,n,i=this.fillStyle,a=this.strokeStyle,o=this.lineCap,s=this.lineWidth,c=Math.abs(s*this.ctx.transform.scaleX),u=this.lineJoin,h=JSON.parse(JSON.stringify(this.path)),l=JSON.parse(JSON.stringify(this.path)),f=[],d=0;d<l.length;d++)if(void 0!==l[d].x)for(var p=y.call(this,l[d]),g=0;g<p.length;g+=1)-1===f.indexOf(p[g])&&f.push(p[g]);for(var m=0;m<f.length;m++)for(;this.pdf.internal.getNumberOfPages()<f[m];)w.call(this);if(L(f),this.autoPaging)for(var v=f[0],A=f[f.length-1],S=v;S<A+1;S++){this.pdf.setPage(S),this.fillStyle=i,this.strokeStyle=a,this.lineCap=o,this.lineWidth=c,this.lineJoin=u;var _=this.pdf.internal.pageSize.width-this.margin[3]-this.margin[1],P=1===S?this.posY+this.margin[0]:this.margin[0],k=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],I=this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2],F=1===S?0:k+(S-2)*I;if(0!==this.ctx.clip_path.length){var C=this.path;r=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(r,this.posX+this.margin[3],-F+P+this.ctx.prevPageLastElemOffset),x.call(this,t,!0),this.path=C}if(n=JSON.parse(JSON.stringify(h)),this.path=N(n,this.posX+this.margin[3],-F+P+this.ctx.prevPageLastElemOffset),!1===e||0===S){var j=(S>v||S<A)&&b.call(this);j&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],_,I,null).clip().discardPath()),x.call(this,t,e),j&&this.pdf.restoreGraphicsState()}this.lineWidth=s}else this.lineWidth=c,x.call(this,t,e),this.lineWidth=s;this.path=h},x=function(t,e){if((\"stroke\"!==t||e||!v.call(this))&&(\"stroke\"===t||e||!m.call(this))){for(var r,n,i=[],a=this.path,o=0;o<a.length;o++){var s=a[o];switch(s.type){case\"begin\":i.push({begin:!0});break;case\"close\":i.push({close:!0});break;case\"mt\":i.push({start:s,deltas:[],abs:[]});break;case\"lt\":var c=i.length;if(a[o-1]&&!isNaN(a[o-1].x)&&(r=[s.x-a[o-1].x,s.y-a[o-1].y],c>0))for(;c>=0;c--)if(!0!==i[c-1].close&&!0!==i[c-1].begin){i[c-1].deltas.push(r),i[c-1].abs.push(s);break}break;case\"bct\":r=[s.x1-a[o-1].x,s.y1-a[o-1].y,s.x2-a[o-1].x,s.y2-a[o-1].y,s.x-a[o-1].x,s.y-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"qct\":var u=a[o-1].x+2/3*(s.x1-a[o-1].x),h=a[o-1].y+2/3*(s.y1-a[o-1].y),l=s.x+2/3*(s.x1-s.x),f=s.y+2/3*(s.y1-s.y),d=s.x,p=s.y;r=[u-a[o-1].x,h-a[o-1].y,l-a[o-1].x,f-a[o-1].y,d-a[o-1].x,p-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"arc\":i.push({deltas:[],abs:[],arc:!0}),Array.isArray(i[i.length-1].abs)&&i[i.length-1].abs.push(s)}}n=e?null:\"stroke\"===t?\"stroke\":\"fill\";for(var g=!1,b=0;b<i.length;b++)if(i[b].arc)for(var y=i[b].abs,w=0;w<y.length;w++){var N=y[w];\"arc\"===N.type?P.call(this,N.x,N.y,N.radius,N.startAngle,N.endAngle,N.counterclockwise,void 0,e,!g):j.call(this,N.x,N.y),g=!0}else if(!0===i[b].close)this.pdf.internal.out(\"h\"),g=!1;else if(!0!==i[b].begin){var L=i[b].start.x,A=i[b].start.y;O.call(this,i[b].deltas,L,A),g=!0}n&&k.call(this,n),e&&I.call(this)}},S=function(t){var e=this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor,r=e*(this.pdf.internal.getLineHeightFactor()-1);switch(this.ctx.textBaseline){case\"bottom\":return t-r;case\"top\":return t+e-r;case\"hanging\":return t+e-2*r;case\"middle\":return t+e/2-r;case\"ideographic\":return t;case\"alphabetic\":default:return t}},_=function(t){return t+this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor*(this.pdf.internal.getLineHeightFactor()-1)};p.prototype.createLinearGradient=function(){var t=function(){};return t.colorStops=[],t.addColorStop=function(t,e){this.colorStops.push([t,e])},t.getColor=function(){return 0===this.colorStops.length?\"#000000\":this.colorStops[0][1]},t.isCanvasGradient=!0,t},p.prototype.createPattern=function(){return this.createLinearGradient()},p.prototype.createRadialGradient=function(){return this.createLinearGradient()};var P=function(t,e,r,n,i,a,o,s,c){for(var u=M.call(this,r,n,i,a),h=0;h<u.length;h++){var l=u[h];0===h&&(c?F.call(this,l.x1+t,l.y1+e):j.call(this,l.x1+t,l.y1+e)),B.call(this,t,e,l.x2,l.y2,l.x3,l.y3,l.x4,l.y4)}s?I.call(this):k.call(this,o)},k=function(t){switch(t){case\"stroke\":this.pdf.internal.out(\"S\");break;case\"fill\":this.pdf.internal.out(\"f\")}},I=function(){this.pdf.clip(),this.pdf.discardPath()},F=function(t,e){this.pdf.internal.out(n(t)+\" \"+i(e)+\" m\")},C=function(t){var e;switch(t.align){case\"right\":case\"end\":e=\"right\";break;case\"center\":e=\"center\";break;case\"left\":case\"start\":default:e=\"left\"}var r=this.pdf.getTextDimensions(t.text),n=S.call(this,t.y),i=_.call(this,n)-r.h,a=this.ctx.transform.applyToPoint(new c(t.x,n)),o=this.ctx.transform.decompose(),s=new h;s=(s=(s=s.multiply(o.translate)).multiply(o.skew)).multiply(o.scale);for(var l,f,d,p=this.ctx.transform.applyToRectangle(new u(t.x,n,r.w,r.h)),g=s.applyToRectangle(new u(t.x,i,r.w,r.h)),m=y.call(this,g),v=[],w=0;w<m.length;w+=1)-1===v.indexOf(m[w])&&v.push(m[w]);if(L(v),this.autoPaging)for(var A=v[0],P=v[v.length-1],k=A;k<P+1;k++){this.pdf.setPage(k);var I=1===k?this.posY+this.margin[0]:this.margin[0],F=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],C=this.pdf.internal.pageSize.height-this.margin[2],j=C-this.margin[0],O=this.pdf.internal.pageSize.width-this.margin[1],B=O-this.margin[3],M=1===k?0:F+(k-2)*j;if(0!==this.ctx.clip_path.length){var E=this.path;l=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(l,this.posX+this.margin[3],-1*M+I),x.call(this,\"fill\",!0),this.path=E}var q=N([JSON.parse(JSON.stringify(g))],this.posX+this.margin[3],-M+I+this.ctx.prevPageLastElemOffset)[0];t.scale>=.01&&(f=this.pdf.internal.getFontSize(),this.pdf.setFontSize(f*t.scale),d=this.lineWidth,this.lineWidth=d*t.scale);var D=\"text\"!==this.autoPaging;if(D||q.y+q.h<=C){if(D||q.y>=I&&q.x<=O){var R=D?t.text:this.pdf.splitTextToSize(t.text,t.maxWidth||O-q.x)[0],T=N([JSON.parse(JSON.stringify(p))],this.posX+this.margin[3],-M+I+this.ctx.prevPageLastElemOffset)[0],U=D&&(k>A||k<P)&&b.call(this);U&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],B,j,null).clip().discardPath()),this.pdf.text(R,T.x,T.y,{angle:t.angle,align:e,renderingMode:t.renderingMode}),U&&this.pdf.restoreGraphicsState()}}else q.y<C&&(this.ctx.prevPageLastElemOffset+=C-q.y);t.scale>=.01&&(this.pdf.setFontSize(f),this.lineWidth=d)}else t.scale>=.01&&(f=this.pdf.internal.getFontSize(),this.pdf.setFontSize(f*t.scale),d=this.lineWidth,this.lineWidth=d*t.scale),this.pdf.text(t.text,a.x+this.posX,a.y+this.posY,{angle:t.angle,align:e,renderingMode:t.renderingMode,maxWidth:t.maxWidth}),t.scale>=.01&&(this.pdf.setFontSize(f),this.lineWidth=d)},j=function(t,e,r,a){r=r||0,a=a||0,this.pdf.internal.out(n(t+r)+\" \"+i(e+a)+\" l\")},O=function(t,e,r){return this.pdf.lines(t,e,r,null,null)},B=function(t,e,n,i,a,c,u,h){this.pdf.internal.out([r(o(n+t)),r(s(i+e)),r(o(a+t)),r(s(c+e)),r(o(u+t)),r(s(h+e)),\"c\"].join(\" \"))},M=function(t,e,r,n){for(var i=2*Math.PI,a=Math.PI/2;e>r;)e-=i;var o=Math.abs(r-e);o<i&&n&&(o=i-o);for(var s=[],c=n?-1:1,u=e;o>1e-5;){var h=u+c*Math.min(o,a);s.push(E.call(this,t,u,h)),o-=Math.abs(h-u),u=h}return s},E=function(t,e,r){var n=(r-e)/2,i=t*Math.cos(n),a=t*Math.sin(n),o=i,s=-a,c=o*o+s*s,u=c+o*i+s*a,h=4/3*(Math.sqrt(2*c*u)-u)/(o*a-s*i),l=o-h*s,f=s+h*o,d=l,p=-f,g=n+e,m=Math.cos(g),v=Math.sin(g);return{x1:t*Math.cos(e),y1:t*Math.sin(e),x2:l*m-f*v,y2:l*v+f*m,x3:d*m-p*v,y3:d*v+p*m,x4:t*Math.cos(r),y4:t*Math.sin(r)}},q=function(t){return 180*t/Math.PI},D=function(t,e,r,n,i,a){var o=t+.5*(r-t),s=e+.5*(n-e),c=i+.5*(r-i),h=a+.5*(n-a),l=Math.min(t,i,o,c),f=Math.max(t,i,o,c),d=Math.min(e,a,s,h),p=Math.max(e,a,s,h);return new u(l,d,f-l,p-d)},R=function(t,e,r,n,i,a,o,s){var c,h,l,f,d,p,g,m,v,b,y,w,N,L,A=r-t,x=n-e,S=i-r,_=a-n,P=o-i,k=s-a;for(h=0;h<41;h++)v=(g=(l=t+(c=h/40)*A)+c*((d=r+c*S)-l))+c*(d+c*(i+c*P-d)-g),b=(m=(f=e+c*x)+c*((p=n+c*_)-f))+c*(p+c*(a+c*k-p)-m),0==h?(y=v,w=b,N=v,L=b):(y=Math.min(y,v),w=Math.min(w,b),N=Math.max(N,v),L=Math.max(L,b));return new u(Math.round(y),Math.round(w),Math.round(N-y),Math.round(L-w))},T=function(){if(this.prevLineDash||this.ctx.lineDash.length||this.ctx.lineDashOffset){var t,e,r=(t=this.ctx.lineDash,e=this.ctx.lineDashOffset,JSON.stringify({lineDash:t,lineDashOffset:e}));this.prevLineDash!==r&&(this.pdf.setLineDash(this.ctx.lineDash,this.ctx.lineDashOffset),this.prevLineDash=r)}}}(E.API),\n/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var r=function(t){var e,r,n,i,a,o,s,c,u,h;for(/[^\\x00-\\xFF]/.test(t),r=[],n=0,i=(t+=e=\"\\0\\0\\0\\0\".slice(t.length%4||4)).length;i>n;n+=4)0!==(a=(t.charCodeAt(n)<<24)+(t.charCodeAt(n+1)<<16)+(t.charCodeAt(n+2)<<8)+t.charCodeAt(n+3))?(o=(a=((a=((a=((a=(a-(h=a%85))/85)-(u=a%85))/85)-(c=a%85))/85)-(s=a%85))/85)%85,r.push(o+33,s+33,c+33,u+33,h+33)):r.push(122);return function(t,e){for(var r=e;r>0;r--)t.pop()}(r,e.length),String.fromCharCode.apply(String,r)+\"~>\"},n=function(t){var e,r,n,i,a,o=String,s=\"length\",c=255,u=\"charCodeAt\",h=\"slice\",l=\"replace\";for(t[h](-2),t=t[h](0,-2)[l](/\\s/g,\"\")[l](\"z\",\"!!!!!\"),n=[],i=0,a=(t+=e=\"uuuuu\"[h](t[s]%5||5))[s];a>i;i+=5)r=52200625*(t[u](i)-33)+614125*(t[u](i+1)-33)+7225*(t[u](i+2)-33)+85*(t[u](i+3)-33)+(t[u](i+4)-33),n.push(c&r>>24,c&r>>16,c&r>>8,c&r);return function(t,e){for(var r=e;r>0;r--)t.pop()}(n,e[s]),o.fromCharCode.apply(o,n)},i=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===e.test(t))return\"\";for(var r=\"\",n=0;n<t.length;n+=2)r+=String.fromCharCode(\"0x\"+(t[n]+t[n+1]));return r},a=function(t){for(var r=new Uint8Array(t.length),n=t.length;n--;)r[n]=t.charCodeAt(n);return t=(r=e(r)).reduce((function(t,e){return t+String.fromCharCode(e)}),\"\")};t.processDataByFilters=function(t,e){var o=0,s=t||\"\",c=[];for(\"string\"==typeof(e=e||[])&&(e=[e]),o=0;o<e.length;o+=1)switch(e[o]){case\"ASCII85Decode\":case\"/ASCII85Decode\":s=n(s),c.push(\"/ASCII85Encode\");break;case\"ASCII85Encode\":case\"/ASCII85Encode\":s=r(s),c.push(\"/ASCII85Decode\");break;case\"ASCIIHexDecode\":case\"/ASCIIHexDecode\":s=i(s),c.push(\"/ASCIIHexEncode\");break;case\"ASCIIHexEncode\":case\"/ASCIIHexEncode\":s=s.split(\"\").map((function(t){return(\"0\"+t.charCodeAt().toString(16)).slice(-2)})).join(\"\")+\">\",c.push(\"/ASCIIHexDecode\");break;case\"FlateEncode\":case\"/FlateEncode\":s=a(s),c.push(\"/FlateDecode\");break;default:throw new Error('The filter: \"'+e[o]+'\" is not implemented')}return{data:s,reverseChain:c.reverse().join(\" \")}}}(E.API),\n/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.loadFile=function(t,e,r){return function(t,e,r){e=!1!==e,r=\"function\"==typeof r?r:function(){};var n=void 0;try{n=function(t,e,r){var n=new XMLHttpRequest,i=0,a=function(t){var e=t.length,r=[],n=String.fromCharCode;for(i=0;i<e;i+=1)r.push(n(255&t.charCodeAt(i)));return r.join(\"\")};if(n.open(\"GET\",t,!e),n.overrideMimeType(\"text/plain; charset=x-user-defined\"),!1===e&&(n.onload=function(){200===n.status?r(a(this.responseText)):r(void 0)}),n.send(null),e&&200===n.status)return a(n.responseText)}(t,e,r)}catch(t){}return n}(t,e,r)},t.loadImageFile=t.loadFile}(E.API),function(e){function r(){return(n.html2canvas?Promise.resolve(n.html2canvas):import(\"html2canvas\")).catch((function(t){return Promise.reject(new Error(\"Could not load html2canvas: \"+t))})).then((function(t){return t.default?t.default:t}))}function i(){return(n.DOMPurify?Promise.resolve(n.DOMPurify):import(\"dompurify\")).catch((function(t){return Promise.reject(new Error(\"Could not load dompurify: \"+t))})).then((function(t){return t.default?t.default:t}))}var a=function(e){var r=t(e);return\"undefined\"===r?\"undefined\":\"string\"===r||e instanceof String?\"string\":\"number\"===r||e instanceof Number?\"number\":\"function\"===r||e instanceof Function?\"function\":e&&e.constructor===Array?\"array\":e&&1===e.nodeType?\"element\":\"object\"===r?\"object\":\"unknown\"},o=function(t,e){var r=document.createElement(t);for(var n in e.className&&(r.className=e.className),e.innerHTML&&e.dompurify&&(r.innerHTML=e.dompurify.sanitize(e.innerHTML)),e.style)r.style[n]=e.style[n];return r},s=function t(e){var r=Object.assign(t.convert(Promise.resolve()),JSON.parse(JSON.stringify(t.template))),n=t.convert(Promise.resolve(),r);return n=(n=n.setProgress(1,t,1,[t])).set(e)};(s.prototype=Object.create(Promise.prototype)).constructor=s,s.convert=function(t,e){return t.__proto__=e||s.prototype,t},s.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:\"file.pdf\",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:\"transparent\"}},s.prototype.from=function(t,e){return this.then((function(){switch(e=e||function(t){switch(a(t)){case\"string\":return\"string\";case\"element\":return\"canvas\"===t.nodeName.toLowerCase()?\"canvas\":\"element\";default:return\"unknown\"}}(t)){case\"string\":return this.then(i).then((function(e){return this.set({src:o(\"div\",{innerHTML:t,dompurify:e})})}));case\"element\":return this.set({src:t});case\"canvas\":return this.set({canvas:t});case\"img\":return this.set({img:t});default:return this.error(\"Unknown source type.\")}}))},s.prototype.to=function(t){switch(t){case\"container\":return this.toContainer();case\"canvas\":return this.toCanvas();case\"img\":return this.toImg();case\"pdf\":return this.toPdf();default:return this.error(\"Invalid target.\")}},s.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error(\"Cannot duplicate - no source HTML.\")},function(){return this.prop.pageSize||this.setPageSize()}]).then((function(){var t={position:\"relative\",display:\"inline-block\",width:(\"number\"!=typeof this.opt.width||isNaN(this.opt.width)||\"number\"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth):this.opt.windowWidth)+\"px\",left:0,right:0,top:0,margin:\"auto\",backgroundColor:this.opt.backgroundColor},e=function t(e,r){for(var n=3===e.nodeType?document.createTextNode(e.nodeValue):e.cloneNode(!1),i=e.firstChild;i;i=i.nextSibling)!0!==r&&1===i.nodeType&&\"SCRIPT\"===i.nodeName||n.appendChild(t(i,r));return 1===e.nodeType&&(\"CANVAS\"===e.nodeName?(n.width=e.width,n.height=e.height,n.getContext(\"2d\").drawImage(e,0,0)):\"TEXTAREA\"!==e.nodeName&&\"SELECT\"!==e.nodeName||(n.value=e.value),n.addEventListener(\"load\",(function(){n.scrollTop=e.scrollTop,n.scrollLeft=e.scrollLeft}),!0)),n}(this.prop.src,this.opt.html2canvas.javascriptEnabled);\"BODY\"===e.tagName&&(t.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+\"px\"),this.prop.overlay=o(\"div\",{className:\"html2pdf__overlay\",style:{position:\"fixed\",overflow:\"hidden\",zIndex:1e3,left:\"-100000px\",right:0,bottom:0,top:0}}),this.prop.container=o(\"div\",{className:\"html2pdf__container\",style:t}),this.prop.container.appendChild(e),this.prop.container.firstChild.appendChild(o(\"div\",{style:{clear:\"both\",border:\"0 none transparent\",margin:0,padding:0,height:0}})),this.prop.container.style.float=\"none\",this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position=\"relative\",this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+\"px\"}))},s.prototype.toCanvas=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then((function(t){var e=Object.assign({},this.opt.html2canvas);return delete e.onrendered,t(this.prop.container,e)})).then((function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},s.prototype.toContext2d=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then((function(t){var e=this.opt.jsPDF,r=this.opt.fontFaces,n=\"number\"!=typeof this.opt.width||isNaN(this.opt.width)||\"number\"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?1:this.opt.width/this.opt.windowWidth,i=Object.assign({async:!0,allowTaint:!0,scale:n,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:\"#ffffff\",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete i.onrendered,e.context2d.autoPaging=void 0===this.opt.autoPaging||this.opt.autoPaging,e.context2d.posX=this.opt.x,e.context2d.posY=this.opt.y,e.context2d.margin=this.opt.margin,e.context2d.fontFaces=r,r)for(var a=0;a<r.length;++a){var o=r[a],s=o.src.find((function(t){return\"truetype\"===t.format}));s&&e.addFont(s.url,o.ref.name,o.ref.style)}return i.windowHeight=i.windowHeight||0,i.windowHeight=0==i.windowHeight?Math.max(this.prop.container.clientHeight,this.prop.container.scrollHeight,this.prop.container.offsetHeight):i.windowHeight,e.context2d.save(!0),t(this.prop.container,i)})).then((function(t){this.opt.jsPDF.context2d.restore(!0),(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},s.prototype.toImg=function(){return this.thenList([function(){return this.prop.canvas||this.toCanvas()}]).then((function(){var t=this.prop.canvas.toDataURL(\"image/\"+this.opt.image.type,this.opt.image.quality);this.prop.img=document.createElement(\"img\"),this.prop.img.src=t}))},s.prototype.toPdf=function(){return this.thenList([function(){return this.toContext2d()}]).then((function(){this.prop.pdf=this.prop.pdf||this.opt.jsPDF}))},s.prototype.output=function(t,e,r){return\"img\"===(r=r||\"pdf\").toLowerCase()||\"image\"===r.toLowerCase()?this.outputImg(t,e):this.outputPdf(t,e)},s.prototype.outputPdf=function(t,e){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){return this.prop.pdf.output(t,e)}))},s.prototype.outputImg=function(t){return this.thenList([function(){return this.prop.img||this.toImg()}]).then((function(){switch(t){case void 0:case\"img\":return this.prop.img;case\"datauristring\":case\"dataurlstring\":return this.prop.img.src;case\"datauri\":case\"dataurl\":return document.location.href=this.prop.img.src;default:throw'Image output type \"'+t+'\" is not supported.'}}))},s.prototype.save=function(t){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).set(t?{filename:t}:null).then((function(){this.prop.pdf.save(this.opt.filename)}))},s.prototype.doCallback=function(){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){this.prop.callback(this.prop.pdf)}))},s.prototype.set=function(t){if(\"object\"!==a(t))return this;var e=Object.keys(t||{}).map((function(e){if(e in s.template.prop)return function(){this.prop[e]=t[e]};switch(e){case\"margin\":return this.setMargin.bind(this,t.margin);case\"jsPDF\":return function(){return this.opt.jsPDF=t.jsPDF,this.setPageSize()};case\"pageSize\":return this.setPageSize.bind(this,t.pageSize);default:return function(){this.opt[e]=t[e]}}}),this);return this.then((function(){return this.thenList(e)}))},s.prototype.get=function(t,e){return this.then((function(){var r=t in s.template.prop?this.prop[t]:this.opt[t];return e?e(r):r}))},s.prototype.setMargin=function(t){return this.then((function(){switch(a(t)){case\"number\":t=[t,t,t,t];case\"array\":if(2===t.length&&(t=[t[0],t[1],t[0],t[1]]),4===t.length)break;default:return this.error(\"Invalid margin array.\")}this.opt.margin=t})).then(this.setPageSize)},s.prototype.setPageSize=function(t){function e(t,e){return Math.floor(t*e/72*96)}return this.then((function(){(t=t||E.getPageSize(this.opt.jsPDF)).hasOwnProperty(\"inner\")||(t.inner={width:t.width-this.opt.margin[1]-this.opt.margin[3],height:t.height-this.opt.margin[0]-this.opt.margin[2]},t.inner.px={width:e(t.inner.width,t.k),height:e(t.inner.height,t.k)},t.inner.ratio=t.inner.height/t.inner.width),this.prop.pageSize=t}))},s.prototype.setProgress=function(t,e,r,n){return null!=t&&(this.progress.val=t),null!=e&&(this.progress.state=e),null!=r&&(this.progress.n=r),null!=n&&(this.progress.stack=n),this.progress.ratio=this.progress.val/this.progress.state,this},s.prototype.updateProgress=function(t,e,r,n){return this.setProgress(t?this.progress.val+t:null,e||null,r?this.progress.n+r:null,n?this.progress.stack.concat(n):null)},s.prototype.then=function(t,e){var r=this;return this.thenCore(t,e,(function(t,e){return r.updateProgress(null,null,1,[t]),Promise.prototype.then.call(this,(function(e){return r.updateProgress(null,t),e})).then(t,e).then((function(t){return r.updateProgress(1),t}))}))},s.prototype.thenCore=function(t,e,r){r=r||Promise.prototype.then;t&&(t=t.bind(this)),e&&(e=e.bind(this));var n=-1!==Promise.toString().indexOf(\"[native code]\")&&\"Promise\"===Promise.name?this:s.convert(Object.assign({},this),Promise.prototype),i=r.call(n,t,e);return s.convert(i,this.__proto__)},s.prototype.thenExternal=function(t,e){return Promise.prototype.then.call(this,t,e)},s.prototype.thenList=function(t){var e=this;return t.forEach((function(t){e=e.thenCore(t)})),e},s.prototype.catch=function(t){t&&(t=t.bind(this));var e=Promise.prototype.catch.call(this,t);return s.convert(e,this)},s.prototype.catchExternal=function(t){return Promise.prototype.catch.call(this,t)},s.prototype.error=function(t){return this.then((function(){throw new Error(t)}))},s.prototype.using=s.prototype.set,s.prototype.saveAs=s.prototype.save,s.prototype.export=s.prototype.output,s.prototype.run=s.prototype.then,E.getPageSize=function(e,r,n){if(\"object\"===t(e)){var i=e;e=i.orientation,r=i.unit||r,n=i.format||n}r=r||\"mm\",n=n||\"a4\",e=(\"\"+(e||\"P\")).toLowerCase();var a,o=(\"\"+n).toLowerCase(),s={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};switch(r){case\"pt\":a=1;break;case\"mm\":a=72/25.4;break;case\"cm\":a=72/2.54;break;case\"in\":a=72;break;case\"px\":a=.75;break;case\"pc\":case\"em\":a=12;break;case\"ex\":a=6;break;default:throw\"Invalid unit: \"+r}var c,u=0,h=0;if(s.hasOwnProperty(o))u=s[o][1]/a,h=s[o][0]/a;else try{u=n[1],h=n[0]}catch(t){throw new Error(\"Invalid format: \"+n)}if(\"p\"===e||\"portrait\"===e)e=\"p\",h>u&&(c=h,h=u,u=c);else{if(\"l\"!==e&&\"landscape\"!==e)throw\"Invalid orientation: \"+e;e=\"l\",u>h&&(c=h,h=u,u=c)}return{width:h,height:u,unit:r,k:a,orientation:e}},e.html=function(t,e){(e=e||{}).callback=e.callback||function(){},e.html2canvas=e.html2canvas||{},e.html2canvas.canvas=e.html2canvas.canvas||this.canvas,e.jsPDF=e.jsPDF||this,e.fontFaces=e.fontFaces?e.fontFaces.map(jt):null;var r=new s(e);return e.worker?r:r.from(t).doCallback()}}(E.API),E.API.addJS=function(t){return Ht=t,this.internal.events.subscribe(\"postPutResources\",(function(){Ut=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/Names [(EmbeddedJS) \"+(Ut+1)+\" 0 R]\"),this.internal.out(\">>\"),this.internal.out(\"endobj\"),zt=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+Ht+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){void 0!==Ut&&void 0!==zt&&this.internal.out(\"/Names <</JavaScript \"+Ut+\" 0 R>>\")})),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e;t.events.push([\"postPutResources\",function(){var t=this,r=/^(\\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var n=t.outline.render().split(/\\r\\n/),i=0;i<n.length;i++){var a=n[i],o=r.exec(a);if(null!=o){var s=o[1];t.internal.newObjectDeferredBegin(s,!1)}t.internal.write(a)}if(this.outline.createNamedDestinations){var c=this.internal.pages.length,u=[];for(i=0;i<c;i++){var h=t.internal.newObject();u.push(h);var l=t.internal.getPageInfo(i+1);t.internal.write(\"<< /D[\"+l.objId+\" 0 R /XYZ null null null]>> endobj\")}var f=t.internal.newObject();t.internal.write(\"<< /Names [ \");for(i=0;i<u.length;i++)t.internal.write(\"(page_\"+(i+1)+\")\"+u[i]+\" 0 R\");t.internal.write(\" ] >>\",\"endobj\"),e=t.internal.newObject(),t.internal.write(\"<< /Dests \"+f+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),t.events.push([\"putCatalog\",function(){this.outline.root.children.length>0&&(this.internal.write(\"/Outlines\",this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&this.internal.write(\"/Names \"+e+\" 0 R\"))}]),t.events.push([\"initialized\",function(){var t=this;t.outline={createNamedDestinations:!1,root:{children:[]}},t.outline.add=function(t,e,r){var n={title:e,options:r,children:[]};return null==t&&(t=this.root),t.children.push(n),n},t.outline.render=function(){return this.ctx={},this.ctx.val=\"\",this.ctx.pdf=t,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},t.outline.genIds_r=function(e){e.id=t.internal.newObjectDeferred();for(var r=0;r<e.children.length;r++)this.genIds_r(e.children[r])},t.outline.renderRoot=function(t){this.objStart(t),this.line(\"/Type /Outlines\"),t.children.length>0&&(this.line(\"/First \"+this.makeRef(t.children[0])),this.line(\"/Last \"+this.makeRef(t.children[t.children.length-1]))),this.line(\"/Count \"+this.count_r({count:0},t)),this.objEnd()},t.outline.renderItems=function(e){for(var r=this.ctx.pdf.internal.getVerticalCoordinateString,n=0;n<e.children.length;n++){var i=e.children[n];this.objStart(i),this.line(\"/Title \"+this.makeString(i.title)),this.line(\"/Parent \"+this.makeRef(e)),n>0&&this.line(\"/Prev \"+this.makeRef(e.children[n-1])),n<e.children.length-1&&this.line(\"/Next \"+this.makeRef(e.children[n+1])),i.children.length>0&&(this.line(\"/First \"+this.makeRef(i.children[0])),this.line(\"/Last \"+this.makeRef(i.children[i.children.length-1])));var a=this.count=this.count_r({count:0},i);if(a>0&&this.line(\"/Count \"+a),i.options&&i.options.pageNumber){var o=t.internal.getPageInfo(i.options.pageNumber);this.line(\"/Dest [\"+o.objId+\" 0 R /XYZ 0 \"+r(0)+\" 0]\")}this.objEnd()}for(var s=0;s<e.children.length;s++)this.renderItems(e.children[s])},t.outline.line=function(t){this.ctx.val+=t+\"\\r\\n\"},t.outline.makeRef=function(t){return t.id+\" 0 R\"},t.outline.makeString=function(e){return\"(\"+t.internal.pdfEscape(e)+\")\"},t.outline.objStart=function(t){this.ctx.val+=\"\\r\\n\"+t.id+\" 0 obj\\r\\n<<\\r\\n\"},t.outline.objEnd=function(){this.ctx.val+=\">> \\r\\nendobj\\r\\n\"},t.outline.count_r=function(t,e){for(var r=0;r<e.children.length;r++)t.count++,this.count_r(t,e.children[r]);return t.count}}])}(E.API),\n/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=[192,193,194,195,196,197,198,199];t.processJPEG=function(t,r,n,i,a,o){var s,c=this.decode.DCT_DECODE,u=null;if(\"string\"==typeof t||this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t)){switch(t=a||t,t=this.__addimage__.isArrayBuffer(t)?new Uint8Array(t):t,(s=function(t){for(var r,n=256*t.charCodeAt(4)+t.charCodeAt(5),i=t.length,a={width:0,height:0,numcomponents:1},o=4;o<i;o+=2){if(o+=n,-1!==e.indexOf(t.charCodeAt(o+1))){r=256*t.charCodeAt(o+5)+t.charCodeAt(o+6),a={width:256*t.charCodeAt(o+7)+t.charCodeAt(o+8),height:r,numcomponents:t.charCodeAt(o+9)};break}n=256*t.charCodeAt(o+2)+t.charCodeAt(o+3)}return a}(t=this.__addimage__.isArrayBufferView(t)?this.__addimage__.arrayBufferToBinaryString(t):t)).numcomponents){case 1:o=this.color_spaces.DEVICE_GRAY;break;case 4:o=this.color_spaces.DEVICE_CMYK;break;case 3:o=this.color_spaces.DEVICE_RGB}u={data:t,width:s.width,height:s.height,colorSpace:o,bitsPerComponent:8,filter:c,index:r,alias:n}}return u}}(E.API);var Vt,Gt,Yt,Jt,Xt,Kt=function(){var t,e,i;function a(t){var e,r,n,i,a,o,s,c,u,h,l,f,d,p;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},o=null;;){switch(e=this.readUInt32(),u=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join(\"\")){case\"IHDR\":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case\"acTL\":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case\"PLTE\":this.palette=this.read(e);break;case\"fcTL\":o&&this.animation.frames.push(o),this.pos+=4,o={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},a=this.readUInt16(),i=this.readUInt16()||100,o.delay=1e3*a/i,o.disposeOp=this.data[this.pos++],o.blendOp=this.data[this.pos++],o.data=[];break;case\"IDAT\":case\"fdAT\":for(\"fdAT\"===u&&(this.pos+=4,e-=4),t=(null!=o?o.data:void 0)||this.imgData,f=0;0<=e?f<e:f>e;0<=e?++f:--f)t.push(this.data[this.pos++]);break;case\"tRNS\":switch(this.transparency={},this.colorType){case 3:if(n=this.palette.length/3,this.transparency.indexed=this.read(e),this.transparency.indexed.length>n)throw new Error(\"More transparent colors than palette size\");if((h=n-this.transparency.indexed.length)>0)for(d=0;0<=h?d<h:d>h;0<=h?++d:--d)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case\"tEXt\":s=(l=this.read(e)).indexOf(0),c=String.fromCharCode.apply(String,l.slice(0,s)),this.text[c]=String.fromCharCode.apply(String,l.slice(s+1));break;case\"IEND\":return o&&this.animation.frames.push(o),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(p=this.colorType)||6===p,r=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*r,this.colorSpace=function(){switch(this.colors){case 1:return\"DeviceGray\";case 3:return\"DeviceRGB\"}}.call(this),void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error(\"Incomplete or corrupt PNG file\")}}a.prototype.read=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;0<=t?++e:--e)r.push(this.data[this.pos++]);return r},a.prototype.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.decodePixels=function(t){var e=this.pixelBitlength/8,n=new Uint8Array(this.width*this.height*e),i=0,a=this;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);function o(r,o,s,c){var u,h,l,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F=Math.ceil((a.width-r)/s),C=Math.ceil((a.height-o)/c),j=a.width==F&&a.height==C;for(L=e*F,w=j?n:new Uint8Array(L*C),p=t.length,N=0,h=0;N<C&&i<p;){switch(t[i++]){case 0:for(f=S=0;S<L;f=S+=1)w[h++]=t[i++];break;case 1:for(f=_=0;_<L;f=_+=1)u=t[i++],d=f<e?0:w[h-e],w[h++]=(u+d)%256;break;case 2:for(f=P=0;P<L;f=P+=1)u=t[i++],l=(f-f%e)/e,A=N&&w[(N-1)*L+l*e+f%e],w[h++]=(A+u)%256;break;case 3:for(f=k=0;k<L;f=k+=1)u=t[i++],l=(f-f%e)/e,d=f<e?0:w[h-e],A=N&&w[(N-1)*L+l*e+f%e],w[h++]=(u+Math.floor((d+A)/2))%256;break;case 4:for(f=I=0;I<L;f=I+=1)u=t[i++],l=(f-f%e)/e,d=f<e?0:w[h-e],0===N?A=x=0:(A=w[(N-1)*L+l*e+f%e],x=l&&w[(N-1)*L+(l-1)*e+f%e]),g=d+A-x,m=Math.abs(g-d),b=Math.abs(g-A),y=Math.abs(g-x),v=m<=b&&m<=y?d:b<=y?A:x,w[h++]=(u+v)%256;break;default:throw new Error(\"Invalid filter algorithm: \"+t[i-1])}if(!j){var O=((o+N*c)*a.width+r)*e,B=N*L;for(f=0;f<F;f+=1){for(var M=0;M<e;M+=1)n[O++]=w[B++];O+=(s-1)*e}}N++}}return t=r(t),1==a.interlaceMethod?(o(0,0,8,8),o(4,0,8,8),o(0,4,4,8),o(2,0,4,4),o(0,2,2,4),o(1,0,2,2),o(0,1,1,2)):o(0,0,1,1),n},a.prototype.decodePalette=function(){var t,e,r,n,i,a,o,s,c;for(r=this.palette,a=this.transparency.indexed||[],i=new Uint8Array((a.length||0)+r.length),n=0,t=0,e=o=0,s=r.length;o<s;e=o+=3)i[n++]=r[e],i[n++]=r[e+1],i[n++]=r[e+2],i[n++]=null!=(c=a[t++])?c:255;return i},a.prototype.copyToImageData=function(t,e){var r,n,i,a,o,s,c,u,h,l,f;if(n=this.colors,h=null,r=this.hasAlphaChannel,this.palette.length&&(h=null!=(f=this._decodedPalette)?f:this._decodedPalette=this.decodePalette(),n=4,r=!0),u=(i=t.data||t).length,o=h||e,a=s=0,1===n)for(;a<u;)c=h?4*e[a/4]:s,l=o[c++],i[a++]=l,i[a++]=l,i[a++]=l,i[a++]=r?o[c++]:255,s=c;else for(;a<u;)c=h?4*e[a/4]:s,i[a++]=o[c++],i[a++]=o[c++],i[a++]=o[c++],i[a++]=r?o[c++]:255,s=c},a.prototype.decode=function(){var t;return t=new Uint8Array(this.width*this.height*4),this.copyToImageData(t,this.decodePixels()),t};var o=function(){if(\"[object Window]\"===Object.prototype.toString.call(n)){try{e=n.document.createElement(\"canvas\"),i=e.getContext(\"2d\")}catch(t){return!1}return!0}return!1};return o(),t=function(t){var r;if(!0===o())return i.width=t.width,i.height=t.height,i.clearRect(0,0,t.width,t.height),i.putImageData(t,0,0),(r=new Image).src=e.toDataURL(),r;throw new Error(\"This method requires a Browser with Canvas-capability.\")},a.prototype.decodeFrames=function(e){var r,n,i,a,o,s,c,u;if(this.animation){for(u=[],n=o=0,s=(c=this.animation.frames).length;o<s;n=++o)r=c[n],i=e.createImageData(r.width,r.height),a=this.decodePixels(new Uint8Array(r.data)),this.copyToImageData(i,a),r.imageData=i,u.push(r.image=t(i));return u}},a.prototype.renderFrame=function(t,e){var r,n,i;return r=(n=this.animation.frames)[e],i=n[e-1],0===e&&t.clearRect(0,0,this.width,this.height),1===(null!=i?i.disposeOp:void 0)?t.clearRect(i.xOffset,i.yOffset,i.width,i.height):2===(null!=i?i.disposeOp:void 0)&&t.putImageData(i.imageData,i.xOffset,i.yOffset),0===r.blendOp&&t.clearRect(r.xOffset,r.yOffset,r.width,r.height),t.drawImage(r.image,r.xOffset,r.yOffset)},a.prototype.animate=function(t){var e,r,n,i,a,o,s=this;return r=0,o=this.animation,i=o.numFrames,n=o.frames,a=o.numPlays,(e=function(){var o,c;if(o=r++%i,c=n[o],s.renderFrame(t,o),i>1&&r/i<a)return s.animation._timeout=setTimeout(e,c.delay)})()},a.prototype.stopAnimation=function(){var t;return clearTimeout(null!=(t=this.animation)?t._timeout:void 0)},a.prototype.render=function(t){var e,r;return t._png&&t._png.stopAnimation(),t._png=this,t.width=this.width,t.height=this.height,e=t.getContext(\"2d\"),this.animation?(this.decodeFrames(e),this.animate(e)):(r=e.createImageData(this.width,this.height),this.copyToImageData(r,this.decodePixels()),e.putImageData(r,0,0))},a}();\n/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n/**\n * @license\n * (c) Dean McNamee <dean@gmail.com>, 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\nfunction Zt(t){var e=0;if(71!==t[e++]||73!==t[e++]||70!==t[e++]||56!==t[e++]||56!=(t[e++]+1&253)||97!==t[e++])throw new Error(\"Invalid GIF 87a/89a header.\");var r=t[e++]|t[e++]<<8,n=t[e++]|t[e++]<<8,i=t[e++],a=i>>7,o=1<<(7&i)+1;t[e++],t[e++];var s=null,c=null;a&&(s=e,c=o,e+=3*o);var u=!0,h=[],l=0,f=null,d=0,p=null;for(this.width=r,this.height=n;u&&e<t.length;)switch(t[e++]){case 33:switch(t[e++]){case 255:if(11!==t[e]||78==t[e+1]&&69==t[e+2]&&84==t[e+3]&&83==t[e+4]&&67==t[e+5]&&65==t[e+6]&&80==t[e+7]&&69==t[e+8]&&50==t[e+9]&&46==t[e+10]&&48==t[e+11]&&3==t[e+12]&&1==t[e+13]&&0==t[e+16])e+=14,p=t[e++]|t[e++]<<8,e++;else for(e+=12;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;case 249:if(4!==t[e++]||0!==t[e+4])throw new Error(\"Invalid graphics extension block.\");var g=t[e++];l=t[e++]|t[e++]<<8,f=t[e++],0==(1&g)&&(f=null),d=g>>2&7,e++;break;case 254:for(;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;default:throw new Error(\"Unknown graphic control label: 0x\"+t[e-1].toString(16))}break;case 44:var m=t[e++]|t[e++]<<8,v=t[e++]|t[e++]<<8,b=t[e++]|t[e++]<<8,y=t[e++]|t[e++]<<8,w=t[e++],N=w>>6&1,L=1<<(7&w)+1,A=s,x=c,S=!1;if(w>>7){S=!0;A=e,x=L,e+=3*L}var _=e;for(e++;;){var P;if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}h.push({x:m,y:v,width:b,height:y,has_local_palette:S,palette_offset:A,palette_size:x,data_offset:_,data_length:e-_,transparent_index:f,interlaced:!!N,delay:l,disposal:d});break;case 59:u=!1;break;default:throw new Error(\"Unknown gif block: 0x\"+t[e-1].toString(16))}this.numFrames=function(){return h.length},this.loopCount=function(){return p},this.frameInfo=function(t){if(t<0||t>=h.length)throw new Error(\"Frame index out of range.\");return h[t]},this.decodeAndBlitFrameBGRA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);$t(t,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;null===c&&(c=256);var u=i.width,h=r-u,l=u,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*h;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===l&&(l=u,(p+=g)>=d&&(g=4*h+4*r*(m-1),p=f+(u+h)*(m<<1),m>>=1)),y===c)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=L,n[p++]=N,n[p++]=w,n[p++]=255}--l}},this.decodeAndBlitFrameRGBA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);$t(t,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;null===c&&(c=256);var u=i.width,h=r-u,l=u,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*h;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===l&&(l=u,(p+=g)>=d&&(g=4*h+4*r*(m-1),p=f+(u+h)*(m<<1),m>>=1)),y===c)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=w,n[p++]=N,n[p++]=L,n[p++]=255}--l}}}function $t(t,e,r,n){for(var i=t[e++],o=1<<i,s=o+1,c=s+1,u=i+1,h=(1<<u)-1,l=0,f=0,d=0,p=t[e++],g=new Int32Array(4096),m=null;;){for(;l<16&&0!==p;)f|=t[e++]<<l,l+=8,1===p?p=t[e++]:--p;if(l<u)break;var v=f&h;if(f>>=u,l-=u,v!==o){if(v===s)break;for(var b=v<c?v:m,y=0,w=b;w>o;)w=g[w]>>8,++y;var N=w;if(d+y+(b!==v?1:0)>n)return void a.log(\"Warning, gif stream longer than expected.\");r[d++]=N;var L=d+=y;for(b!==v&&(r[d++]=N),w=b;y--;)w=g[w],r[--L]=255&w,w>>=8;null!==m&&c<4096&&(g[c++]=m<<8|N,c>=h+1&&u<12&&(++u,h=h<<1|1)),m=v}else c=s+1,h=(1<<(u=i+1))-1,m=null}return d!==n&&a.log(\"Warning, gif stream shorter than expected.\"),r}\n/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/function Qt(t){var e,r,n,i,a,o=Math.floor,s=new Array(64),c=new Array(64),u=new Array(64),h=new Array(64),l=new Array(65535),f=new Array(65535),d=new Array(64),p=new Array(64),g=[],m=0,v=7,b=new Array(64),y=new Array(64),w=new Array(64),N=new Array(256),L=new Array(2048),A=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],x=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],S=[0,1,2,3,4,5,6,7,8,9,10,11],_=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],P=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],k=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],I=[0,1,2,3,4,5,6,7,8,9,10,11],F=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],C=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function j(t,e){for(var r=0,n=0,i=new Array,a=1;a<=16;a++){for(var o=1;o<=t[a];o++)i[e[n]]=[],i[e[n]][0]=r,i[e[n]][1]=a,n++,r++;r*=2}return i}function O(t){for(var e=t[0],r=t[1]-1;r>=0;)e&1<<r&&(m|=1<<v),r--,--v<0&&(255==m?(B(255),B(0)):B(m),v=7,m=0)}function B(t){g.push(t)}function M(t){B(t>>8&255),B(255&t)}function E(t,e,r,n,i){for(var a,o=i[0],s=i[240],c=function(t,e){var r,n,i,a,o,s,c,u,h,l,f=0;for(h=0;h<8;++h){r=t[f],n=t[f+1],i=t[f+2],a=t[f+3],o=t[f+4],s=t[f+5],c=t[f+6];var p=r+(u=t[f+7]),g=r-u,m=n+c,v=n-c,b=i+s,y=i-s,w=a+o,N=a-o,L=p+w,A=p-w,x=m+b,S=m-b;t[f]=L+x,t[f+4]=L-x;var _=.707106781*(S+A);t[f+2]=A+_,t[f+6]=A-_;var P=.382683433*((L=N+y)-(S=v+g)),k=.5411961*L+P,I=1.306562965*S+P,F=.707106781*(x=y+v),C=g+F,j=g-F;t[f+5]=j+k,t[f+3]=j-k,t[f+1]=C+I,t[f+7]=C-I,f+=8}for(f=0,h=0;h<8;++h){r=t[f],n=t[f+8],i=t[f+16],a=t[f+24],o=t[f+32],s=t[f+40],c=t[f+48];var O=r+(u=t[f+56]),B=r-u,M=n+c,E=n-c,q=i+s,D=i-s,R=a+o,T=a-o,U=O+R,z=O-R,H=M+q,W=M-q;t[f]=U+H,t[f+32]=U-H;var V=.707106781*(W+z);t[f+16]=z+V,t[f+48]=z-V;var G=.382683433*((U=T+D)-(W=E+B)),Y=.5411961*U+G,J=1.306562965*W+G,X=.707106781*(H=D+E),K=B+X,Z=B-X;t[f+40]=Z+Y,t[f+24]=Z-Y,t[f+8]=K+J,t[f+56]=K-J,f++}for(h=0;h<64;++h)l=t[h]*e[h],d[h]=l>0?l+.5|0:l-.5|0;return d}(t,e),u=0;u<64;++u)p[A[u]]=c[u];var h=p[0]-r;r=p[0],0==h?O(n[0]):(O(n[f[a=32767+h]]),O(l[a]));for(var g=63;g>0&&0==p[g];)g--;if(0==g)return O(o),r;for(var m,v=1;v<=g;){for(var b=v;0==p[v]&&v<=g;)++v;var y=v-b;if(y>=16){m=y>>4;for(var w=1;w<=m;++w)O(s);y&=15}a=32767+p[v],O(i[(y<<4)+f[a]]),O(l[a]),v++}return 63!=g&&O(o),r}function q(t){(t=Math.min(Math.max(t,1),100),a!=t)&&(!function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],r=0;r<64;r++){var n=o((e[r]*t+50)/100);n=Math.min(Math.max(n,1),255),s[A[r]]=n}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var l=o((i[a]*t+50)/100);l=Math.min(Math.max(l,1),255),c[A[a]]=l}for(var f=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],d=0,p=0;p<8;p++)for(var g=0;g<8;g++)u[d]=1/(s[A[d]]*f[p]*f[g]*8),h[d]=1/(c[A[d]]*f[p]*f[g]*8),d++}(t<50?Math.floor(5e3/t):Math.floor(200-2*t)),a=t)}this.encode=function(t,a){a&&q(a),g=new Array,m=0,v=7,M(65496),M(65504),M(16),B(74),B(70),B(73),B(70),B(0),B(1),B(1),B(0),M(1),M(1),B(0),B(0),function(){M(65499),M(132),B(0);for(var t=0;t<64;t++)B(s[t]);B(1);for(var e=0;e<64;e++)B(c[e])}(),function(t,e){M(65472),M(17),B(8),M(e),M(t),B(3),B(1),B(17),B(0),B(2),B(17),B(1),B(3),B(17),B(1)}(t.width,t.height),function(){M(65476),M(418),B(0);for(var t=0;t<16;t++)B(x[t+1]);for(var e=0;e<=11;e++)B(S[e]);B(16);for(var r=0;r<16;r++)B(_[r+1]);for(var n=0;n<=161;n++)B(P[n]);B(1);for(var i=0;i<16;i++)B(k[i+1]);for(var a=0;a<=11;a++)B(I[a]);B(17);for(var o=0;o<16;o++)B(F[o+1]);for(var s=0;s<=161;s++)B(C[s])}(),M(65498),M(12),B(3),B(1),B(0),B(2),B(17),B(3),B(17),B(0),B(63),B(0);var o=0,l=0,f=0;m=0,v=7,this.encode.displayName=\"_encode_\";for(var d,p,N,A,j,D,R,T,U,z=t.data,H=t.width,W=t.height,V=4*H,G=0;G<W;){for(d=0;d<V;){for(j=V*G+d,R=-1,T=0,U=0;U<64;U++)D=j+(T=U>>3)*V+(R=4*(7&U)),G+T>=W&&(D-=V*(G+1+T-W)),d+R>=V&&(D-=d+R-V+4),p=z[D++],N=z[D++],A=z[D++],b[U]=(L[p]+L[N+256>>0]+L[A+512>>0]>>16)-128,y[U]=(L[p+768>>0]+L[N+1024>>0]+L[A+1280>>0]>>16)-128,w[U]=(L[p+1280>>0]+L[N+1536>>0]+L[A+1792>>0]>>16)-128;o=E(b,u,o,e,n),l=E(y,h,l,r,i),f=E(w,h,f,r,i),d+=32}G+=8}if(v>=0){var Y=[];Y[1]=v+1,Y[0]=(1<<v+1)-1,O(Y)}return M(65497),new Uint8Array(g)},t=t||50,function(){for(var t=String.fromCharCode,e=0;e<256;e++)N[e]=t(e)}(),e=j(x,S),r=j(k,I),n=j(_,P),i=j(F,C),function(){for(var t=1,e=2,r=1;r<=15;r++){for(var n=t;n<e;n++)f[32767+n]=r,l[32767+n]=[],l[32767+n][1]=r,l[32767+n][0]=n;for(var i=-(e-1);i<=-t;i++)f[32767+i]=r,l[32767+i]=[],l[32767+i][1]=r,l[32767+i][0]=e-1+i;t<<=1,e<<=1}}(),function(){for(var t=0;t<256;t++)L[t]=19595*t,L[t+256>>0]=38470*t,L[t+512>>0]=7471*t+32768,L[t+768>>0]=-11059*t,L[t+1024>>0]=-21709*t,L[t+1280>>0]=32768*t+8421375,L[t+1536>>0]=-27439*t,L[t+1792>>0]=-5329*t}(),q(t)}\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */function te(t,e){if(this.pos=0,this.buffer=t,this.datav=new DataView(t.buffer),this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,-1===[\"BM\",\"BA\",\"CI\",\"CP\",\"IC\",\"PT\"].indexOf(this.flag))throw new Error(\"Invalid BMP File\");this.parseHeader(),this.parseBGR()}function ee(t){function e(t){if(!t)throw Error(\"assert :P\")}function r(t,e,r){for(var n=0;4>n;n++)if(t[e+n]!=r.charCodeAt(n))return!0;return!1}function n(t,e,r,n,i){for(var a=0;a<i;a++)t[e+a]=r[n+a]}function i(t,e,r,n){for(var i=0;i<n;i++)t[e+i]=r}function a(t){return new Int32Array(t)}function o(t,e){for(var r=[],n=0;n<t;n++)r.push(new e);return r}function s(t,e){var r=[];return function t(r,n,i){for(var a=i[n],o=0;o<a&&(r.push(i.length>n+1?[]:new e),!(i.length<n+1));o++)t(r[o],n+1,i)}(r,0,t),r}var c=function(){var t=this;function c(t,e){for(var r=1<<e-1>>>0;t&r;)r>>>=1;return r?(t&r-1)+r:t}function u(t,r,n,i,a){e(!(i%n));do{t[r+(i-=n)]=a}while(0<i)}function h(t,r,n,i,o){if(e(2328>=o),512>=o)var s=a(512);else if(null==(s=a(o)))return 0;return function(t,r,n,i,o,s){var h,f,d=r,p=1<<n,g=a(16),m=a(16);for(e(0!=o),e(null!=i),e(null!=t),e(0<n),f=0;f<o;++f){if(15<i[f])return 0;++g[i[f]]}if(g[0]==o)return 0;for(m[1]=0,h=1;15>h;++h){if(g[h]>1<<h)return 0;m[h+1]=m[h]+g[h]}for(f=0;f<o;++f)h=i[f],0<i[f]&&(s[m[h]++]=f);if(1==m[15])return(i=new l).g=0,i.value=s[0],u(t,d,1,p,i),p;var v,b=-1,y=p-1,w=0,N=1,L=1,A=1<<n;for(f=0,h=1,o=2;h<=n;++h,o<<=1){if(N+=L<<=1,0>(L-=g[h]))return 0;for(;0<g[h];--g[h])(i=new l).g=h,i.value=s[f++],u(t,d+w,o,A,i),w=c(w,h)}for(h=n+1,o=2;15>=h;++h,o<<=1){if(N+=L<<=1,0>(L-=g[h]))return 0;for(;0<g[h];--g[h]){if(i=new l,(w&y)!=b){for(d+=A,v=1<<(b=h)-n;15>b&&!(0>=(v-=g[b]));)++b,v<<=1;p+=A=1<<(v=b-n),t[r+(b=w&y)].g=v+n,t[r+b].value=d-r-b}i.g=h-n,i.value=s[f++],u(t,d+(w>>n),o,A,i),w=c(w,h)}}return N!=2*m[15]-1?0:p}(t,r,n,i,o,s)}function l(){this.value=this.g=0}function f(){this.value=this.g=0}function d(){this.G=o(5,l),this.H=a(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=o(Dr,f)}function p(t,r,n,i){e(null!=t),e(null!=r),e(2147483648>i),t.Ca=254,t.I=0,t.b=-8,t.Ka=0,t.oa=r,t.pa=n,t.Jd=r,t.Yc=n+i,t.Zc=4<=i?n+i-4+1:n,_(t)}function g(t,e){for(var r=0;0<e--;)r|=k(t,128)<<e;return r}function m(t,e){var r=g(t,e);return P(t)?-r:r}function v(t,r,n,i){var a,o=0;for(e(null!=t),e(null!=r),e(4294967288>i),t.Sb=i,t.Ra=0,t.u=0,t.h=0,4<i&&(i=4),a=0;a<i;++a)o+=r[n+a]<<8*a;t.Ra=o,t.bb=i,t.oa=r,t.pa=n}function b(t){for(;8<=t.u&&t.bb<t.Sb;)t.Ra>>>=8,t.Ra+=t.oa[t.pa+t.bb]<<Ur-8>>>0,++t.bb,t.u-=8;A(t)&&(t.h=1,t.u=0)}function y(t,r){if(e(0<=r),!t.h&&r<=Tr){var n=L(t)&Rr[r];return t.u+=r,b(t),n}return t.h=1,t.u=0}function w(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function N(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function L(t){return t.Ra>>>(t.u&Ur-1)>>>0}function A(t){return e(t.bb<=t.Sb),t.h||t.bb==t.Sb&&t.u>Ur}function x(t,e){t.u=e,t.h=A(t)}function S(t){t.u>=zr&&(e(t.u>=zr),b(t))}function _(t){e(null!=t&&null!=t.oa),t.pa<t.Zc?(t.I=(t.oa[t.pa++]|t.I<<8)>>>0,t.b+=8):(e(null!=t&&null!=t.oa),t.pa<t.Yc?(t.b+=8,t.I=t.oa[t.pa++]|t.I<<8):t.Ka?t.b=0:(t.I<<=8,t.b+=8,t.Ka=1))}function P(t){return g(t,1)}function k(t,e){var r=t.Ca;0>t.b&&_(t);var n=t.b,i=r*e>>>8,a=(t.I>>>n>i)+0;for(a?(r-=i,t.I-=i+1<<n>>>0):r=i+1,n=r,i=0;256<=n;)i+=8,n>>=8;return n=7^i+Hr[n],t.b-=n,t.Ca=(r<<n)-1,a}function I(t,e,r){t[e+0]=r>>24&255,t[e+1]=r>>16&255,t[e+2]=r>>8&255,t[e+3]=r>>0&255}function F(t,e){return t[e+0]<<0|t[e+1]<<8}function C(t,e){return F(t,e)|t[e+2]<<16}function j(t,e){return F(t,e)|F(t,e+2)<<16}function O(t,r){var n=1<<r;return e(null!=t),e(0<r),t.X=a(n),null==t.X?0:(t.Mb=32-r,t.Xa=r,1)}function B(t,r){e(null!=t),e(null!=r),e(t.Xa==r.Xa),n(r.X,0,t.X,0,1<<r.Xa)}function M(){this.X=[],this.Xa=this.Mb=0}function E(t,r,n,i){e(null!=n),e(null!=i);var a=n[0],o=i[0];return 0==a&&(a=(t*o+r/2)/r),0==o&&(o=(r*a+t/2)/t),0>=a||0>=o?0:(n[0]=a,i[0]=o,1)}function q(t,e){return t+(1<<e)-1>>>e}function D(t,e){return((4278255360&t)+(4278255360&e)>>>0&4278255360)+((16711935&t)+(16711935&e)>>>0&16711935)>>>0}function R(e,r){t[r]=function(r,n,i,a,o,s,c){var u;for(u=0;u<o;++u){var h=t[e](s[c+u-1],i,a+u);s[c+u]=D(r[n+u],h)}}}function T(){this.ud=this.hd=this.jd=0}function U(t,e){return((4278124286&(t^e))>>>1)+(t&e)>>>0}function z(t){return 0<=t&&256>t?t:0>t?0:255<t?255:void 0}function H(t,e){return z(t+(t-e+.5>>1))}function W(t,e,r){return Math.abs(e-r)-Math.abs(t-r)}function V(t,e,r,n,i,a,o){for(n=a[o-1],r=0;r<i;++r)a[o+r]=n=D(t[e+r],n)}function G(t,e,r,n,i){var a;for(a=0;a<r;++a){var o=t[e+a],s=o>>8&255,c=16711935&(c=(c=16711935&o)+((s<<16)+s));n[i+a]=(4278255360&o)+c>>>0}}function Y(t,e){e.jd=t>>0&255,e.hd=t>>8&255,e.ud=t>>16&255}function J(t,e,r,n,i,a){var o;for(o=0;o<n;++o){var s=e[r+o],c=s>>>8,u=s,h=255&(h=(h=s>>>16)+((t.jd<<24>>24)*(c<<24>>24)>>>5));u=255&(u=(u=u+((t.hd<<24>>24)*(c<<24>>24)>>>5))+((t.ud<<24>>24)*(h<<24>>24)>>>5));i[a+o]=(4278255360&s)+(h<<16)+u}}function X(e,r,n,i,a){t[r]=function(t,e,r,n,o,s,c,u,h){for(n=c;n<u;++n)for(c=0;c<h;++c)o[s++]=a(r[i(t[e++])])},t[e]=function(e,r,o,s,c,u,h){var l=8>>e.b,f=e.Ea,d=e.K[0],p=e.w;if(8>l)for(e=(1<<e.b)-1,p=(1<<l)-1;r<o;++r){var g,m=0;for(g=0;g<f;++g)g&e||(m=i(s[c++])),u[h++]=a(d[m&p]),m>>=l}else t[\"VP8LMapColor\"+n](s,c,d,p,u,h,r,o,f)}}function K(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255}}function Z(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255,n[i++]=a>>24&255}}function $(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&240|o>>12&15,o=o>>0&240|o>>28&15;n[i++]=a,n[i++]=o}}function Q(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&248|o>>13&7,o=o>>5&224|o>>3&31;n[i++]=a,n[i++]=o}}function tt(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>0&255,n[i++]=a>>8&255,n[i++]=a>>16&255}}function et(t,e,r,i,a,o){if(0==o)for(r=e+r;e<r;)I(i,((o=t[e++])[0]>>24|o[1]>>8&65280|o[2]<<8&16711680|o[3]<<24)>>>0),a+=32;else n(i,a,t,e,r)}function rt(e,r){t[r][0]=t[e+\"0\"],t[r][1]=t[e+\"1\"],t[r][2]=t[e+\"2\"],t[r][3]=t[e+\"3\"],t[r][4]=t[e+\"4\"],t[r][5]=t[e+\"5\"],t[r][6]=t[e+\"6\"],t[r][7]=t[e+\"7\"],t[r][8]=t[e+\"8\"],t[r][9]=t[e+\"9\"],t[r][10]=t[e+\"10\"],t[r][11]=t[e+\"11\"],t[r][12]=t[e+\"12\"],t[r][13]=t[e+\"13\"],t[r][14]=t[e+\"0\"],t[r][15]=t[e+\"0\"]}function nt(t){return t==Hn||t==Wn||t==Vn||t==Gn}function it(){this.eb=[],this.size=this.A=this.fb=0}function at(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function ot(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new it,this.f.kb=new at,this.sd=null}function st(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function ct(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function ut(t){return alert(\"todo:WebPSamplerProcessPlane\"),t.T}function ht(t,e){var r=t.T,i=e.ba.f.RGBA,a=i.eb,o=i.fb+t.ka*i.A,s=vi[e.ba.S],c=t.y,u=t.O,h=t.f,l=t.N,f=t.ea,d=t.W,p=e.cc,g=e.dc,m=e.Mc,v=e.Nc,b=t.ka,y=t.ka+t.T,w=t.U,N=w+1>>1;for(0==b?s(c,u,null,null,h,l,f,d,h,l,f,d,a,o,null,null,w):(s(e.ec,e.fc,c,u,p,g,m,v,h,l,f,d,a,o-i.A,a,o,w),++r);b+2<y;b+=2)p=h,g=l,m=f,v=d,l+=t.Rc,d+=t.Rc,o+=2*i.A,s(c,(u+=2*t.fa)-t.fa,c,u,p,g,m,v,h,l,f,d,a,o-i.A,a,o,w);return u+=t.fa,t.j+y<t.o?(n(e.ec,e.fc,c,u,w),n(e.cc,e.dc,h,l,N),n(e.Mc,e.Nc,f,d,N),r--):1&y||s(c,u,null,null,h,l,f,d,h,l,f,d,a,o+i.A,null,null,w),r}function lt(t,r,n){var i=t.F,a=[t.J];if(null!=i){var o=t.U,s=r.ba.S,c=s==Tn||s==Vn;r=r.ba.f.RGBA;var u=[0],h=t.ka;u[0]=t.T,t.Kb&&(0==h?--u[0]:(--h,a[0]-=t.width),t.j+t.ka+t.T==t.o&&(u[0]=t.o-t.j-h));var l=r.eb;h=r.fb+h*r.A;t=Sn(i,a[0],t.width,o,u,l,h+(c?0:3),r.A),e(n==u),t&&nt(s)&&An(l,h,c,o,u,r.A)}return 0}function ft(t){var e=t.ma,r=e.ba.S,n=11>r,i=r==qn||r==Rn||r==Tn||r==Un||12==r||nt(r);if(e.memory=null,e.Ib=null,e.Jb=null,e.Nd=null,!Mr(e.Oa,t,i?11:12))return 0;if(i&&nt(r)&&br(),t.da)alert(\"todo:use_scaling\");else{if(n){if(e.Ib=ut,t.Kb){if(r=t.U+1>>1,e.memory=a(t.U+2*r),null==e.memory)return 0;e.ec=e.memory,e.fc=0,e.cc=e.ec,e.dc=e.fc+t.U,e.Mc=e.cc,e.Nc=e.dc+r,e.Ib=ht,br()}}else alert(\"todo:EmitYUV\");i&&(e.Jb=lt,n&&mr())}if(n&&!Ci){for(t=0;256>t;++t)ji[t]=89858*(t-128)+_i>>Si,Mi[t]=-22014*(t-128)+_i,Bi[t]=-45773*(t-128),Oi[t]=113618*(t-128)+_i>>Si;for(t=Pi;t<ki;++t)e=76283*(t-16)+_i>>Si,Ei[t-Pi]=Vt(e,255),qi[t-Pi]=Vt(e+8>>4,15);Ci=1}return 1}function dt(t){var r=t.ma,n=t.U,i=t.T;return e(!(1&t.ka)),0>=n||0>=i?0:(n=r.Ib(t,r),null!=r.Jb&&r.Jb(t,r,n),r.Dc+=n,1)}function pt(t){t.ma.memory=null}function gt(t,e,r,n){return 47!=y(t,8)?0:(e[0]=y(t,14)+1,r[0]=y(t,14)+1,n[0]=y(t,1),0!=y(t,3)?0:!t.h)}function mt(t,e){if(4>t)return t+1;var r=t-2>>1;return(2+(1&t)<<r)+y(e,r)+1}function vt(t,e){return 120<e?e-120:1<=(r=((r=$n[e-1])>>4)*t+(8-(15&r)))?r:1;var r}function bt(t,e,r){var n=L(r),i=t[e+=255&n].g-8;return 0<i&&(x(r,r.u+8),n=L(r),e+=t[e].value,e+=n&(1<<i)-1),x(r,r.u+t[e].g),t[e].value}function yt(t,r,n){return n.g+=t.g,n.value+=t.value<<r>>>0,e(8>=n.g),t.g}function wt(t,r,n){var i=t.xc;return e((r=0==i?0:t.vc[t.md*(n>>i)+(r>>i)])<t.Wb),t.Ya[r]}function Nt(t,r,i,a){var o=t.ab,s=t.c*r,c=t.C;r=c+r;var u=i,h=a;for(a=t.Ta,i=t.Ua;0<o--;){var l=t.gc[o],f=c,d=r,p=u,g=h,m=(h=a,u=i,l.Ea);switch(e(f<d),e(d<=l.nc),l.hc){case 2:Gr(p,g,(d-f)*m,h,u);break;case 0:var v=f,b=d,y=h,w=u,N=(_=l).Ea;0==v&&(Wr(p,g,null,null,1,y,w),V(p,g+1,0,0,N-1,y,w+1),g+=N,w+=N,++v);for(var L=1<<_.b,A=L-1,x=q(N,_.b),S=_.K,_=_.w+(v>>_.b)*x;v<b;){var P=S,k=_,I=1;for(Vr(p,g,y,w-N,1,y,w);I<N;){var F=(I&~A)+L;F>N&&(F=N),(0,Zr[P[k++]>>8&15])(p,g+ +I,y,w+I-N,F-I,y,w+I),I=F}g+=N,w+=N,++v&A||(_+=x)}d!=l.nc&&n(h,u-m,h,u+(d-f-1)*m,m);break;case 1:for(m=p,b=g,N=(p=l.Ea)-(w=p&~(y=(g=1<<l.b)-1)),v=q(p,l.b),L=l.K,l=l.w+(f>>l.b)*v;f<d;){for(A=L,x=l,S=new T,_=b+w,P=b+p;b<_;)Y(A[x++],S),$r(S,m,b,g,h,u),b+=g,u+=g;b<P&&(Y(A[x++],S),$r(S,m,b,N,h,u),b+=N,u+=N),++f&y||(l+=v)}break;case 3:if(p==h&&g==u&&0<l.b){for(b=h,p=m=u+(d-f)*m-(w=(d-f)*q(l.Ea,l.b)),g=h,y=u,v=[],w=(N=w)-1;0<=w;--w)v[w]=g[y+w];for(w=N-1;0<=w;--w)b[p+w]=v[w];Yr(l,f,d,h,m,h,u)}else Yr(l,f,d,p,g,h,u)}u=a,h=i}h!=i&&n(a,i,u,h,s)}function Lt(t,r){var n=t.V,i=t.Ba+t.c*t.C,a=r-t.C;if(e(r<=t.l.o),e(16>=a),0<a){var o=t.l,s=t.Ta,c=t.Ua,u=o.width;if(Nt(t,a,n,i),a=c=[c],e((n=t.C)<(i=r)),e(o.v<o.va),i>o.o&&(i=o.o),n<o.j){var h=o.j-n;n=o.j;a[0]+=h*u}if(n>=i?n=0:(a[0]+=4*o.v,o.ka=n-o.j,o.U=o.va-o.v,o.T=i-n,n=1),n){if(c=c[0],11>(n=t.ca).S){var l=n.f.RGBA,f=(i=n.S,a=o.U,o=o.T,h=l.eb,l.A),d=o;for(l=l.fb+t.Ma*l.A;0<d--;){var p=s,g=c,m=a,v=h,b=l;switch(i){case En:Qr(p,g,m,v,b);break;case qn:tn(p,g,m,v,b);break;case Hn:tn(p,g,m,v,b),An(v,b,0,m,1,0);break;case Dn:nn(p,g,m,v,b);break;case Rn:et(p,g,m,v,b,1);break;case Wn:et(p,g,m,v,b,1),An(v,b,0,m,1,0);break;case Tn:et(p,g,m,v,b,0);break;case Vn:et(p,g,m,v,b,0),An(v,b,1,m,1,0);break;case Un:en(p,g,m,v,b);break;case Gn:en(p,g,m,v,b),xn(v,b,m,1,0);break;case zn:rn(p,g,m,v,b);break;default:e(0)}c+=u,l+=f}t.Ma+=o}else alert(\"todo:EmitRescaledRowsYUVA\");e(t.Ma<=n.height)}}t.C=r,e(t.C<=t.i)}function At(t){var e;if(0<t.ua)return 0;for(e=0;e<t.Wb;++e){var r=t.Ya[e].G,n=t.Ya[e].H;if(0<r[1][n[1]+0].g||0<r[2][n[2]+0].g||0<r[3][n[3]+0].g)return 0}return 1}function xt(t,r,n,i,a,o){if(0!=t.Z){var s=t.qd,c=t.rd;for(e(null!=mi[t.Z]);r<n;++r)mi[t.Z](s,c,i,a,i,a,o),s=i,c=a,a+=o;t.qd=s,t.rd=c}}function St(t,r){var n=t.l.ma,i=0==n.Z||1==n.Z?t.l.j:t.C;i=t.C<i?i:t.C;if(e(r<=t.l.o),r>i){var a=t.l.width,o=n.ca,s=n.tb+a*i,c=t.V,u=t.Ba+t.c*i,h=t.gc;e(1==t.ab),e(3==h[0].hc),Xr(h[0],i,r,c,u,o,s),xt(n,i,r,o,s,a)}t.C=t.Ma=r}function _t(t,r,n,i,a,o,s){var c=t.$/i,u=t.$%i,h=t.m,l=t.s,f=n+t.$,d=f;a=n+i*a;var p=n+i*o,g=280+l.ua,m=t.Pb?c:16777216,v=0<l.ua?l.Wa:null,b=l.wc,y=f<p?wt(l,u,c):null;e(t.C<o),e(p<=a);var w=!1;t:for(;;){for(;w||f<p;){var N=0;if(c>=m){var _=f-n;e((m=t).Pb),m.wd=m.m,m.xd=_,0<m.s.ua&&B(m.s.Wa,m.s.vb),m=c+ti}if(u&b||(y=wt(l,u,c)),e(null!=y),y.Qb&&(r[f]=y.qb,w=!0),!w)if(S(h),y.jc){N=h,_=r;var P=f,k=y.pd[L(N)&Dr-1];e(y.jc),256>k.g?(x(N,N.u+k.g),_[P]=k.value,N=0):(x(N,N.u+k.g-256),e(256<=k.value),N=k.value),0==N&&(w=!0)}else N=bt(y.G[0],y.H[0],h);if(h.h)break;if(w||256>N){if(!w)if(y.nd)r[f]=(y.qb|N<<8)>>>0;else{if(S(h),w=bt(y.G[1],y.H[1],h),S(h),_=bt(y.G[2],y.H[2],h),P=bt(y.G[3],y.H[3],h),h.h)break;r[f]=(P<<24|w<<16|N<<8|_)>>>0}if(w=!1,++f,++u>=i&&(u=0,++c,null!=s&&c<=o&&!(c%16)&&s(t,c),null!=v))for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else if(280>N){if(N=mt(N-256,h),_=bt(y.G[4],y.H[4],h),S(h),_=vt(i,_=mt(_,h)),h.h)break;if(f-n<_||a-f<N)break t;for(P=0;P<N;++P)r[f+P]=r[f+P-_];for(f+=N,u+=N;u>=i;)u-=i,++c,null!=s&&c<=o&&!(c%16)&&s(t,c);if(e(f<=a),u&b&&(y=wt(l,u,c)),null!=v)for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else{if(!(N<g))break t;for(w=N-280,e(null!=v);d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N;N=f,e(!(w>>>(_=v).Xa)),r[N]=_.X[w],w=!0}w||e(h.h==A(h))}if(t.Pb&&h.h&&f<a)e(t.m.h),t.a=5,t.m=t.wd,t.$=t.xd,0<t.s.ua&&B(t.s.vb,t.s.Wa);else{if(h.h)break t;null!=s&&s(t,c>o?o:c),t.a=0,t.$=f-n}return 1}return t.a=3,0}function Pt(t){e(null!=t),t.vc=null,t.yc=null,t.Ya=null;var r=t.Wa;null!=r&&(r.X=null),t.vb=null,e(null!=t)}function kt(){var e=new or;return null==e?null:(e.a=0,e.xb=gi,rt(\"Predictor\",\"VP8LPredictors\"),rt(\"Predictor\",\"VP8LPredictors_C\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd_C\"),Gr=G,$r=J,Qr=K,tn=Z,en=$,rn=Q,nn=tt,t.VP8LMapColor32b=Jr,t.VP8LMapColor8b=Kr,e)}function It(t,r,n,s,c){var u=1,f=[t],p=[r],g=s.m,m=s.s,v=null,b=0;t:for(;;){if(n)for(;u&&y(g,1);){var w=f,N=p,A=s,_=1,P=A.m,k=A.gc[A.ab],I=y(P,2);if(A.Oc&1<<I)u=0;else{switch(A.Oc|=1<<I,k.hc=I,k.Ea=w[0],k.nc=N[0],k.K=[null],++A.ab,e(4>=A.ab),I){case 0:case 1:k.b=y(P,3)+2,_=It(q(k.Ea,k.b),q(k.nc,k.b),0,A,k.K),k.K=k.K[0];break;case 3:var F,C=y(P,8)+1,j=16<C?0:4<C?1:2<C?2:3;if(w[0]=q(k.Ea,j),k.b=j,F=_=It(C,1,0,A,k.K)){var B,M=C,E=k,R=1<<(8>>E.b),T=a(R);if(null==T)F=0;else{var U=E.K[0],z=E.w;for(T[0]=E.K[0][0],B=1;B<1*M;++B)T[B]=D(U[z+B],T[B-1]);for(;B<4*R;++B)T[B]=0;E.K[0]=null,E.K[0]=T,F=1}}_=F;break;case 2:break;default:e(0)}u=_}}if(f=f[0],p=p[0],u&&y(g,1)&&!(u=1<=(b=y(g,4))&&11>=b)){s.a=3;break t}var H;if(H=u)e:{var W,V,G,Y=s,J=f,X=p,K=b,Z=n,$=Y.m,Q=Y.s,tt=[null],et=1,rt=0,nt=Qn[K];r:for(;;){if(Z&&y($,1)){var it=y($,3)+2,at=q(J,it),ot=q(X,it),st=at*ot;if(!It(at,ot,0,Y,tt))break r;for(tt=tt[0],Q.xc=it,W=0;W<st;++W){var ct=tt[W]>>8&65535;tt[W]=ct,ct>=et&&(et=ct+1)}}if($.h)break r;for(V=0;5>V;++V){var ut=Xn[V];!V&&0<K&&(ut+=1<<K),rt<ut&&(rt=ut)}var ht=o(et*nt,l),lt=et,ft=o(lt,d);if(null==ft)var dt=null;else e(65536>=lt),dt=ft;var pt=a(rt);if(null==dt||null==pt||null==ht){Y.a=1;break r}var gt=ht;for(W=G=0;W<et;++W){var mt=dt[W],vt=mt.G,bt=mt.H,wt=0,Nt=1,Lt=0;for(V=0;5>V;++V){ut=Xn[V],vt[V]=gt,bt[V]=G,!V&&0<K&&(ut+=1<<K);n:{var At,xt=ut,St=Y,kt=pt,Ft=gt,Ct=G,jt=0,Ot=St.m,Bt=y(Ot,1);if(i(kt,0,0,xt),Bt){var Mt=y(Ot,1)+1,Et=y(Ot,1),qt=y(Ot,0==Et?1:8);kt[qt]=1,2==Mt&&(kt[qt=y(Ot,8)]=1);var Dt=1}else{var Rt=a(19),Tt=y(Ot,4)+4;if(19<Tt){St.a=3;var Ut=0;break n}for(At=0;At<Tt;++At)Rt[Zn[At]]=y(Ot,3);var zt=void 0,Ht=void 0,Wt=St,Vt=Rt,Gt=xt,Yt=kt,Jt=0,Xt=Wt.m,Kt=8,Zt=o(128,l);i:for(;h(Zt,0,7,Vt,19);){if(y(Xt,1)){var $t=2+2*y(Xt,3);if((zt=2+y(Xt,$t))>Gt)break i}else zt=Gt;for(Ht=0;Ht<Gt&&zt--;){S(Xt);var Qt=Zt[0+(127&L(Xt))];x(Xt,Xt.u+Qt.g);var te=Qt.value;if(16>te)Yt[Ht++]=te,0!=te&&(Kt=te);else{var ee=16==te,re=te-16,ne=Jn[re],ie=y(Xt,Yn[re])+ne;if(Ht+ie>Gt)break i;for(var ae=ee?Kt:0;0<ie--;)Yt[Ht++]=ae}}Jt=1;break i}Jt||(Wt.a=3),Dt=Jt}(Dt=Dt&&!Ot.h)&&(jt=h(Ft,Ct,8,kt,xt)),Dt&&0!=jt?Ut=jt:(St.a=3,Ut=0)}if(0==Ut)break r;if(Nt&&1==Kn[V]&&(Nt=0==gt[G].g),wt+=gt[G].g,G+=Ut,3>=V){var oe,se=pt[0];for(oe=1;oe<ut;++oe)pt[oe]>se&&(se=pt[oe]);Lt+=se}}if(mt.nd=Nt,mt.Qb=0,Nt&&(mt.qb=(vt[3][bt[3]+0].value<<24|vt[1][bt[1]+0].value<<16|vt[2][bt[2]+0].value)>>>0,0==wt&&256>vt[0][bt[0]+0].value&&(mt.Qb=1,mt.qb+=vt[0][bt[0]+0].value<<8)),mt.jc=!mt.Qb&&6>Lt,mt.jc){var ce,ue=mt;for(ce=0;ce<Dr;++ce){var he=ce,le=ue.pd[he],fe=ue.G[0][ue.H[0]+he];256<=fe.value?(le.g=fe.g+256,le.value=fe.value):(le.g=0,le.value=0,he>>=yt(fe,8,le),he>>=yt(ue.G[1][ue.H[1]+he],16,le),he>>=yt(ue.G[2][ue.H[2]+he],0,le),yt(ue.G[3][ue.H[3]+he],24,le))}}}Q.vc=tt,Q.Wb=et,Q.Ya=dt,Q.yc=ht,H=1;break e}H=0}if(!(u=H)){s.a=3;break t}if(0<b){if(m.ua=1<<b,!O(m.Wa,b)){s.a=1,u=0;break t}}else m.ua=0;var de=s,pe=f,ge=p,me=de.s,ve=me.xc;if(de.c=pe,de.i=ge,me.md=q(pe,ve),me.wc=0==ve?-1:(1<<ve)-1,n){s.xb=pi;break t}if(null==(v=a(f*p))){s.a=1,u=0;break t}u=(u=_t(s,v,0,f,p,p,null))&&!g.h;break t}return u?(null!=c?c[0]=v:(e(null==v),e(n)),s.$=0,n||Pt(m)):Pt(m),u}function Ft(t,r){var n=t.c*t.i,i=n+r+16*r;return e(t.c<=r),t.V=a(i),null==t.V?(t.Ta=null,t.Ua=0,t.a=1,0):(t.Ta=t.V,t.Ua=t.Ba+n+r,1)}function Ct(t,r){var n=t.C,i=r-n,a=t.V,o=t.Ba+t.c*n;for(e(r<=t.l.o);0<i;){var s=16<i?16:i,c=t.l.ma,u=t.l.width,h=u*s,l=c.ca,f=c.tb+u*n,d=t.Ta,p=t.Ua;Nt(t,s,a,o),_n(d,p,l,f,h),xt(c,n,n+s,l,f,u),i-=s,a+=s*t.c,n+=s}e(n==r),t.C=t.Ma=r}function jt(){this.ub=this.yd=this.td=this.Rb=0}function Ot(){this.Kd=this.Ld=this.Ud=this.Td=this.i=this.c=0}function Bt(){this.Fb=this.Bb=this.Cb=0,this.Zb=a(4),this.Lb=a(4)}function Mt(){this.Yb=function(){var t=[];return function t(e,r,n){for(var i=n[r],a=0;a<i&&(e.push(n.length>r+1?[]:0),!(n.length<r+1));a++)t(e[a],r+1,n)}(t,0,[3,11]),t}()}function Et(){this.jb=a(3),this.Wc=s([4,8],Mt),this.Xc=s([4,17],Mt)}function qt(){this.Pc=this.wb=this.Tb=this.zd=0,this.vd=new a(4),this.od=new a(4)}function Dt(){this.ld=this.La=this.dd=this.tc=0}function Rt(){this.Na=this.la=0}function Tt(){this.Sc=[0,0],this.Eb=[0,0],this.Qc=[0,0],this.ia=this.lc=0}function Ut(){this.ad=a(384),this.Za=0,this.Ob=a(16),this.$b=this.Ad=this.ia=this.Gc=this.Hc=this.Dd=0}function zt(){this.uc=this.M=this.Nb=0,this.wa=Array(new Dt),this.Y=0,this.ya=Array(new Ut),this.aa=0,this.l=new Gt}function Ht(){this.y=a(16),this.f=a(8),this.ea=a(8)}function Wt(){this.cb=this.a=0,this.sc=\"\",this.m=new w,this.Od=new jt,this.Kc=new Ot,this.ed=new qt,this.Qa=new Bt,this.Ic=this.$c=this.Aa=0,this.D=new zt,this.Xb=this.Va=this.Hb=this.zb=this.yb=this.Ub=this.za=0,this.Jc=o(8,w),this.ia=0,this.pb=o(4,Tt),this.Pa=new Et,this.Bd=this.kc=0,this.Ac=[],this.Bc=0,this.zc=[0,0,0,0],this.Gd=Array(new Ht),this.Hd=0,this.rb=Array(new Rt),this.sb=0,this.wa=Array(new Dt),this.Y=0,this.oc=[],this.pc=0,this.sa=[],this.ta=0,this.qa=[],this.ra=0,this.Ha=[],this.B=this.R=this.Ia=0,this.Ec=[],this.M=this.ja=this.Vb=this.Fc=0,this.ya=Array(new Ut),this.L=this.aa=0,this.gd=s([4,2],Dt),this.ga=null,this.Fa=[],this.Cc=this.qc=this.P=0,this.Gb=[],this.Uc=0,this.mb=[],this.nb=0,this.rc=[],this.Ga=this.Vc=0}function Vt(t,e){return 0>t?0:t>e?e:t}function Gt(){this.T=this.U=this.ka=this.height=this.width=0,this.y=[],this.f=[],this.ea=[],this.Rc=this.fa=this.W=this.N=this.O=0,this.ma=\"void\",this.put=\"VP8IoPutHook\",this.ac=\"VP8IoSetupHook\",this.bc=\"VP8IoTeardownHook\",this.ha=this.Kb=0,this.data=[],this.hb=this.ib=this.da=this.o=this.j=this.va=this.v=this.Da=this.ob=this.w=0,this.F=[],this.J=0}function Yt(){var t=new Wt;return null!=t&&(t.a=0,t.sc=\"OK\",t.cb=0,t.Xb=0,ni||(ni=Zt)),t}function Jt(t,e,r){return 0==t.a&&(t.a=e,t.sc=r,t.cb=0),0}function Xt(t,e,r){return 3<=r&&157==t[e+0]&&1==t[e+1]&&42==t[e+2]}function Kt(t,r){if(null==t)return 0;if(t.a=0,t.sc=\"OK\",null==r)return Jt(t,2,\"null VP8Io passed to VP8GetHeaders()\");var n=r.data,a=r.w,o=r.ha;if(4>o)return Jt(t,7,\"Truncated header.\");var s=n[a+0]|n[a+1]<<8|n[a+2]<<16,c=t.Od;if(c.Rb=!(1&s),c.td=s>>1&7,c.yd=s>>4&1,c.ub=s>>5,3<c.td)return Jt(t,3,\"Incorrect keyframe parameters.\");if(!c.yd)return Jt(t,4,\"Frame not displayable.\");a+=3,o-=3;var u=t.Kc;if(c.Rb){if(7>o)return Jt(t,7,\"cannot parse picture header\");if(!Xt(n,a,o))return Jt(t,3,\"Bad code word\");u.c=16383&(n[a+4]<<8|n[a+3]),u.Td=n[a+4]>>6,u.i=16383&(n[a+6]<<8|n[a+5]),u.Ud=n[a+6]>>6,a+=7,o-=7,t.za=u.c+15>>4,t.Ub=u.i+15>>4,r.width=u.c,r.height=u.i,r.Da=0,r.j=0,r.v=0,r.va=r.width,r.o=r.height,r.da=0,r.ib=r.width,r.hb=r.height,r.U=r.width,r.T=r.height,i((s=t.Pa).jb,0,255,s.jb.length),e(null!=(s=t.Qa)),s.Cb=0,s.Bb=0,s.Fb=1,i(s.Zb,0,0,s.Zb.length),i(s.Lb,0,0,s.Lb)}if(c.ub>o)return Jt(t,7,\"bad partition length\");p(s=t.m,n,a,c.ub),a+=c.ub,o-=c.ub,c.Rb&&(u.Ld=P(s),u.Kd=P(s)),u=t.Qa;var h,l=t.Pa;if(e(null!=s),e(null!=u),u.Cb=P(s),u.Cb){if(u.Bb=P(s),P(s)){for(u.Fb=P(s),h=0;4>h;++h)u.Zb[h]=P(s)?m(s,7):0;for(h=0;4>h;++h)u.Lb[h]=P(s)?m(s,6):0}if(u.Bb)for(h=0;3>h;++h)l.jb[h]=P(s)?g(s,8):255}else u.Bb=0;if(s.Ka)return Jt(t,3,\"cannot parse segment header\");if((u=t.ed).zd=P(s),u.Tb=g(s,6),u.wb=g(s,3),u.Pc=P(s),u.Pc&&P(s)){for(l=0;4>l;++l)P(s)&&(u.vd[l]=m(s,6));for(l=0;4>l;++l)P(s)&&(u.od[l]=m(s,6))}if(t.L=0==u.Tb?0:u.zd?1:2,s.Ka)return Jt(t,3,\"cannot parse filter header\");var f=o;if(o=h=a,a=h+f,u=f,t.Xb=(1<<g(t.m,2))-1,f<3*(l=t.Xb))n=7;else{for(h+=3*l,u-=3*l,f=0;f<l;++f){var d=n[o+0]|n[o+1]<<8|n[o+2]<<16;d>u&&(d=u),p(t.Jc[+f],n,h,d),h+=d,u-=d,o+=3}p(t.Jc[+l],n,h,u),n=h<a?0:5}if(0!=n)return Jt(t,n,\"cannot parse partitions\");for(n=g(h=t.m,7),o=P(h)?m(h,4):0,a=P(h)?m(h,4):0,u=P(h)?m(h,4):0,l=P(h)?m(h,4):0,h=P(h)?m(h,4):0,f=t.Qa,d=0;4>d;++d){if(f.Cb){var v=f.Zb[d];f.Fb||(v+=n)}else{if(0<d){t.pb[d]=t.pb[0];continue}v=n}var b=t.pb[d];b.Sc[0]=ei[Vt(v+o,127)],b.Sc[1]=ri[Vt(v+0,127)],b.Eb[0]=2*ei[Vt(v+a,127)],b.Eb[1]=101581*ri[Vt(v+u,127)]>>16,8>b.Eb[1]&&(b.Eb[1]=8),b.Qc[0]=ei[Vt(v+l,117)],b.Qc[1]=ri[Vt(v+h,127)],b.lc=v+h}if(!c.Rb)return Jt(t,4,\"Not a key frame.\");for(P(s),c=t.Pa,n=0;4>n;++n){for(o=0;8>o;++o)for(a=0;3>a;++a)for(u=0;11>u;++u)l=k(s,ui[n][o][a][u])?g(s,8):si[n][o][a][u],c.Wc[n][o].Yb[a][u]=l;for(o=0;17>o;++o)c.Xc[n][o]=c.Wc[n][hi[o]]}return t.kc=P(s),t.kc&&(t.Bd=g(s,8)),t.cb=1}function Zt(t,e,r,n,i,a,o){var s=e[i].Yb[r];for(r=0;16>i;++i){if(!k(t,s[r+0]))return i;for(;!k(t,s[r+1]);)if(s=e[++i].Yb[0],r=0,16==i)return 16;var c=e[i+1].Yb;if(k(t,s[r+2])){var u=t,h=0;if(k(u,(f=s)[(l=r)+3]))if(k(u,f[l+6])){for(s=0,l=2*(h=k(u,f[l+8]))+(f=k(u,f[l+9+h])),h=0,f=ii[l];f[s];++s)h+=h+k(u,f[s]);h+=3+(8<<l)}else k(u,f[l+7])?(h=7+2*k(u,165),h+=k(u,145)):h=5+k(u,159);else h=k(u,f[l+4])?3+k(u,f[l+5]):2;s=c[2]}else h=1,s=c[1];c=o+ai[i],0>(u=t).b&&_(u);var l,f=u.b,d=(l=u.Ca>>1)-(u.I>>f)>>31;--u.b,u.Ca+=d,u.Ca|=1,u.I-=(l+1&d)<<f,a[c]=((h^d)-d)*n[(0<i)+0]}return 16}function $t(t){var e=t.rb[t.sb-1];e.la=0,e.Na=0,i(t.zc,0,0,t.zc.length),t.ja=0}function Qt(t,r){if(null==t)return 0;if(null==r)return Jt(t,2,\"NULL VP8Io parameter in VP8Decode().\");if(!t.cb&&!Kt(t,r))return 0;if(e(t.cb),null==r.ac||r.ac(r)){r.ob&&(t.L=0);var s=Ri[t.L];if(2==t.L?(t.yb=0,t.zb=0):(t.yb=r.v-s>>4,t.zb=r.j-s>>4,0>t.yb&&(t.yb=0),0>t.zb&&(t.zb=0)),t.Va=r.o+15+s>>4,t.Hb=r.va+15+s>>4,t.Hb>t.za&&(t.Hb=t.za),t.Va>t.Ub&&(t.Va=t.Ub),0<t.L){var c=t.ed;for(s=0;4>s;++s){var u;if(t.Qa.Cb){var h=t.Qa.Lb[s];t.Qa.Fb||(h+=c.Tb)}else h=c.Tb;for(u=0;1>=u;++u){var l=t.gd[s][u],f=h;if(c.Pc&&(f+=c.vd[0],u&&(f+=c.od[0])),0<(f=0>f?0:63<f?63:f)){var d=f;0<c.wb&&((d=4<c.wb?d>>2:d>>1)>9-c.wb&&(d=9-c.wb)),1>d&&(d=1),l.dd=d,l.tc=2*f+d,l.ld=40<=f?2:15<=f?1:0}else l.tc=0;l.La=u}}}s=0}else Jt(t,6,\"Frame setup failed\"),s=t.a;if(s=0==s){if(s){t.$c=0,0<t.Aa||(t.Ic=Ui);t:{s=t.Ic;c=4*(d=t.za);var p=32*d,g=d+1,m=0<t.L?d*(0<t.Aa?2:1):0,v=(2==t.Aa?2:1)*d;if((l=c+832+(u=3*(16*s+Ri[t.L])/2*p)+(h=null!=t.Fa&&0<t.Fa.length?t.Kc.c*t.Kc.i:0))!=l)s=0;else{if(l>t.Vb){if(t.Vb=0,t.Ec=a(l),t.Fc=0,null==t.Ec){s=Jt(t,1,\"no memory during frame initialization.\");break t}t.Vb=l}l=t.Ec,f=t.Fc,t.Ac=l,t.Bc=f,f+=c,t.Gd=o(p,Ht),t.Hd=0,t.rb=o(g+1,Rt),t.sb=1,t.wa=m?o(m,Dt):null,t.Y=0,t.D.Nb=0,t.D.wa=t.wa,t.D.Y=t.Y,0<t.Aa&&(t.D.Y+=d),e(!0),t.oc=l,t.pc=f,f+=832,t.ya=o(v,Ut),t.aa=0,t.D.ya=t.ya,t.D.aa=t.aa,2==t.Aa&&(t.D.aa+=d),t.R=16*d,t.B=8*d,d=(p=Ri[t.L])*t.R,p=p/2*t.B,t.sa=l,t.ta=f+d,t.qa=t.sa,t.ra=t.ta+16*s*t.R+p,t.Ha=t.qa,t.Ia=t.ra+8*s*t.B+p,t.$c=0,f+=u,t.mb=h?l:null,t.nb=h?f:null,e(f+h<=t.Fc+t.Vb),$t(t),i(t.Ac,t.Bc,0,c),s=1}}if(s){if(r.ka=0,r.y=t.sa,r.O=t.ta,r.f=t.qa,r.N=t.ra,r.ea=t.Ha,r.Vd=t.Ia,r.fa=t.R,r.Rc=t.B,r.F=null,r.J=0,!Cn){for(s=-255;255>=s;++s)Pn[255+s]=0>s?-s:s;for(s=-1020;1020>=s;++s)kn[1020+s]=-128>s?-128:127<s?127:s;for(s=-112;112>=s;++s)In[112+s]=-16>s?-16:15<s?15:s;for(s=-255;510>=s;++s)Fn[255+s]=0>s?0:255<s?255:s;Cn=1}an=ue,on=ae,cn=oe,un=se,hn=ce,sn=ie,ln=Je,fn=Xe,dn=$e,pn=Qe,gn=Ke,mn=Ze,vn=tr,bn=er,yn=ze,wn=He,Nn=We,Ln=Ve,fi[0]=xe,fi[1]=le,fi[2]=Le,fi[3]=Ae,fi[4]=Se,fi[5]=Pe,fi[6]=_e,fi[7]=ke,fi[8]=Fe,fi[9]=Ie,li[0]=ve,li[1]=de,li[2]=pe,li[3]=ge,li[4]=be,li[5]=ye,li[6]=we,di[0]=Be,di[1]=fe,di[2]=Ce,di[3]=je,di[4]=Ee,di[5]=Me,di[6]=qe,s=1}else s=0}s&&(s=function(t,r){for(t.M=0;t.M<t.Va;++t.M){var o,s=t.Jc[t.M&t.Xb],c=t.m,u=t;for(o=0;o<u.za;++o){var h=c,l=u,f=l.Ac,d=l.Bc+4*o,p=l.zc,g=l.ya[l.aa+o];if(l.Qa.Bb?g.$b=k(h,l.Pa.jb[0])?2+k(h,l.Pa.jb[2]):k(h,l.Pa.jb[1]):g.$b=0,l.kc&&(g.Ad=k(h,l.Bd)),g.Za=!k(h,145)+0,g.Za){var m=g.Ob,v=0;for(l=0;4>l;++l){var b,y=p[0+l];for(b=0;4>b;++b){y=ci[f[d+b]][y];for(var w=oi[k(h,y[0])];0<w;)w=oi[2*w+k(h,y[w])];y=-w,f[d+b]=y}n(m,v,f,d,4),v+=4,p[0+l]=y}}else y=k(h,156)?k(h,128)?1:3:k(h,163)?2:0,g.Ob[0]=y,i(f,d,y,4),i(p,0,y,4);g.Dd=k(h,142)?k(h,114)?k(h,183)?1:3:2:0}if(u.m.Ka)return Jt(t,7,\"Premature end-of-partition0 encountered.\");for(;t.ja<t.za;++t.ja){if(u=s,h=(c=t).rb[c.sb-1],f=c.rb[c.sb+c.ja],o=c.ya[c.aa+c.ja],d=c.kc?o.Ad:0)h.la=f.la=0,o.Za||(h.Na=f.Na=0),o.Hc=0,o.Gc=0,o.ia=0;else{var N,L;h=f,f=u,d=c.Pa.Xc,p=c.ya[c.aa+c.ja],g=c.pb[p.$b];if(l=p.ad,m=0,v=c.rb[c.sb-1],y=b=0,i(l,m,0,384),p.Za)var A=0,x=d[3];else{w=a(16);var S=h.Na+v.Na;if(S=ni(f,d[1],S,g.Eb,0,w,0),h.Na=v.Na=(0<S)+0,1<S)an(w,0,l,m);else{var _=w[0]+3>>3;for(w=0;256>w;w+=16)l[m+w]=_}A=1,x=d[0]}var P=15&h.la,I=15&v.la;for(w=0;4>w;++w){var F=1&I;for(_=L=0;4>_;++_)P=P>>1|(F=(S=ni(f,x,S=F+(1&P),g.Sc,A,l,m))>A)<<7,L=L<<2|(3<S?3:1<S?2:0!=l[m+0]),m+=16;P>>=4,I=I>>1|F<<7,b=(b<<8|L)>>>0}for(x=P,A=I>>4,N=0;4>N;N+=2){for(L=0,P=h.la>>4+N,I=v.la>>4+N,w=0;2>w;++w){for(F=1&I,_=0;2>_;++_)S=F+(1&P),P=P>>1|(F=0<(S=ni(f,d[2],S,g.Qc,0,l,m)))<<3,L=L<<2|(3<S?3:1<S?2:0!=l[m+0]),m+=16;P>>=2,I=I>>1|F<<5}y|=L<<4*N,x|=P<<4<<N,A|=(240&I)<<N}h.la=x,v.la=A,p.Hc=b,p.Gc=y,p.ia=43690&y?0:g.ia,d=!(b|y)}if(0<c.L&&(c.wa[c.Y+c.ja]=c.gd[o.$b][o.Za],c.wa[c.Y+c.ja].La|=!d),u.Ka)return Jt(t,7,\"Premature end-of-file encountered.\")}if($t(t),c=r,u=1,o=(s=t).D,h=0<s.L&&s.M>=s.zb&&s.M<=s.Va,0==s.Aa)t:{if(o.M=s.M,o.uc=h,Or(s,o),u=1,o=(L=s.D).Nb,h=(y=Ri[s.L])*s.R,f=y/2*s.B,w=16*o*s.R,_=8*o*s.B,d=s.sa,p=s.ta-h+w,g=s.qa,l=s.ra-f+_,m=s.Ha,v=s.Ia-f+_,I=0==(P=L.M),b=P>=s.Va-1,2==s.Aa&&Or(s,L),L.uc)for(F=(S=s).D.M,e(S.D.uc),L=S.yb;L<S.Hb;++L){A=L,x=F;var C=(j=(U=S).D).Nb;N=U.R;var j=j.wa[j.Y+A],O=U.sa,B=U.ta+16*C*N+16*A,M=j.dd,E=j.tc;if(0!=E)if(e(3<=E),1==U.L)0<A&&wn(O,B,N,E+4),j.La&&Ln(O,B,N,E),0<x&&yn(O,B,N,E+4),j.La&&Nn(O,B,N,E);else{var q=U.B,D=U.qa,R=U.ra+8*C*q+8*A,T=U.Ha,U=U.Ia+8*C*q+8*A;C=j.ld;0<A&&(fn(O,B,N,E+4,M,C),pn(D,R,T,U,q,E+4,M,C)),j.La&&(mn(O,B,N,E,M,C),bn(D,R,T,U,q,E,M,C)),0<x&&(ln(O,B,N,E+4,M,C),dn(D,R,T,U,q,E+4,M,C)),j.La&&(gn(O,B,N,E,M,C),vn(D,R,T,U,q,E,M,C))}}if(s.ia&&alert(\"todo:DitherRow\"),null!=c.put){if(L=16*P,P=16*(P+1),I?(c.y=s.sa,c.O=s.ta+w,c.f=s.qa,c.N=s.ra+_,c.ea=s.Ha,c.W=s.Ia+_):(L-=y,c.y=d,c.O=p,c.f=g,c.N=l,c.ea=m,c.W=v),b||(P-=y),P>c.o&&(P=c.o),c.F=null,c.J=null,null!=s.Fa&&0<s.Fa.length&&L<P&&(c.J=lr(s,c,L,P-L),c.F=s.mb,null==c.F&&0==c.F.length)){u=Jt(s,3,\"Could not decode alpha data.\");break t}L<c.j&&(y=c.j-L,L=c.j,e(!(1&y)),c.O+=s.R*y,c.N+=s.B*(y>>1),c.W+=s.B*(y>>1),null!=c.F&&(c.J+=c.width*y)),L<P&&(c.O+=c.v,c.N+=c.v>>1,c.W+=c.v>>1,null!=c.F&&(c.J+=c.v),c.ka=L-c.j,c.U=c.va-c.v,c.T=P-L,u=c.put(c))}o+1!=s.Ic||b||(n(s.sa,s.ta-h,d,p+16*s.R,h),n(s.qa,s.ra-f,g,l+8*s.B,f),n(s.Ha,s.Ia-f,m,v+8*s.B,f))}if(!u)return Jt(t,6,\"Output aborted.\")}return 1}(t,r)),null!=r.bc&&r.bc(r),s&=1}return s?(t.cb=0,s):0}function te(t,e,r,n,i){i=t[e+r+32*n]+(i>>3),t[e+r+32*n]=-256&i?0>i?0:255:i}function ee(t,e,r,n,i,a){te(t,e,0,r,n+i),te(t,e,1,r,n+a),te(t,e,2,r,n-a),te(t,e,3,r,n-i)}function re(t){return(20091*t>>16)+t}function ne(t,e,r,n){var i,o=0,s=a(16);for(i=0;4>i;++i){var c=t[e+0]+t[e+8],u=t[e+0]-t[e+8],h=(35468*t[e+4]>>16)-re(t[e+12]),l=re(t[e+4])+(35468*t[e+12]>>16);s[o+0]=c+l,s[o+1]=u+h,s[o+2]=u-h,s[o+3]=c-l,o+=4,e++}for(i=o=0;4>i;++i)c=(t=s[o+0]+4)+s[o+8],u=t-s[o+8],h=(35468*s[o+4]>>16)-re(s[o+12]),te(r,n,0,0,c+(l=re(s[o+4])+(35468*s[o+12]>>16))),te(r,n,1,0,u+h),te(r,n,2,0,u-h),te(r,n,3,0,c-l),o++,n+=32}function ie(t,e,r,n){var i=t[e+0]+4,a=35468*t[e+4]>>16,o=re(t[e+4]),s=35468*t[e+1]>>16;ee(r,n,0,i+o,t=re(t[e+1]),s),ee(r,n,1,i+a,t,s),ee(r,n,2,i-a,t,s),ee(r,n,3,i-o,t,s)}function ae(t,e,r,n,i){ne(t,e,r,n),i&&ne(t,e+16,r,n+4)}function oe(t,e,r,n){on(t,e+0,r,n,1),on(t,e+32,r,n+128,1)}function se(t,e,r,n){var i;for(t=t[e+0]+4,i=0;4>i;++i)for(e=0;4>e;++e)te(r,n,e,i,t)}function ce(t,e,r,n){t[e+0]&&un(t,e+0,r,n),t[e+16]&&un(t,e+16,r,n+4),t[e+32]&&un(t,e+32,r,n+128),t[e+48]&&un(t,e+48,r,n+128+4)}function ue(t,e,r,n){var i,o=a(16);for(i=0;4>i;++i){var s=t[e+0+i]+t[e+12+i],c=t[e+4+i]+t[e+8+i],u=t[e+4+i]-t[e+8+i],h=t[e+0+i]-t[e+12+i];o[0+i]=s+c,o[8+i]=s-c,o[4+i]=h+u,o[12+i]=h-u}for(i=0;4>i;++i)s=(t=o[0+4*i]+3)+o[3+4*i],c=o[1+4*i]+o[2+4*i],u=o[1+4*i]-o[2+4*i],h=t-o[3+4*i],r[n+0]=s+c>>3,r[n+16]=h+u>>3,r[n+32]=s-c>>3,r[n+48]=h-u>>3,n+=64}function he(t,e,r){var n,i=e-32,a=Bn,o=255-t[i-1];for(n=0;n<r;++n){var s,c=a,u=o+t[e-1];for(s=0;s<r;++s)t[e+s]=c[u+t[i+s]];e+=32}}function le(t,e){he(t,e,4)}function fe(t,e){he(t,e,8)}function de(t,e){he(t,e,16)}function pe(t,e){var r;for(r=0;16>r;++r)n(t,e+32*r,t,e-32,16)}function ge(t,e){var r;for(r=16;0<r;--r)i(t,e,t[e-1],16),e+=32}function me(t,e,r){var n;for(n=0;16>n;++n)i(e,r+32*n,t,16)}function ve(t,e){var r,n=16;for(r=0;16>r;++r)n+=t[e-1+32*r]+t[e+r-32];me(n>>5,t,e)}function be(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e-1+32*r];me(n>>4,t,e)}function ye(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e+r-32];me(n>>4,t,e)}function we(t,e){me(128,t,e)}function Ne(t,e,r){return t+2*e+r+2>>2}function Le(t,e){var r,i=e-32;i=new Uint8Array([Ne(t[i-1],t[i+0],t[i+1]),Ne(t[i+0],t[i+1],t[i+2]),Ne(t[i+1],t[i+2],t[i+3]),Ne(t[i+2],t[i+3],t[i+4])]);for(r=0;4>r;++r)n(t,e+32*r,i,0,i.length)}function Ae(t,e){var r=t[e-1],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];I(t,e+0,16843009*Ne(t[e-1-32],r,n)),I(t,e+32,16843009*Ne(r,n,i)),I(t,e+64,16843009*Ne(n,i,a)),I(t,e+96,16843009*Ne(i,a,a))}function xe(t,e){var r,n=4;for(r=0;4>r;++r)n+=t[e+r-32]+t[e-1+32*r];for(n>>=3,r=0;4>r;++r)i(t,e+32*r,n,4)}function Se(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],c=t[e+2-32],u=t[e+3-32];t[e+0+96]=Ne(n,i,t[e-1+96]),t[e+1+96]=t[e+0+64]=Ne(r,n,i),t[e+2+96]=t[e+1+64]=t[e+0+32]=Ne(a,r,n),t[e+3+96]=t[e+2+64]=t[e+1+32]=t[e+0+0]=Ne(o,a,r),t[e+3+64]=t[e+2+32]=t[e+1+0]=Ne(s,o,a),t[e+3+32]=t[e+2+0]=Ne(c,s,o),t[e+3+0]=Ne(u,c,s)}function _e(t,e){var r=t[e+1-32],n=t[e+2-32],i=t[e+3-32],a=t[e+4-32],o=t[e+5-32],s=t[e+6-32],c=t[e+7-32];t[e+0+0]=Ne(t[e+0-32],r,n),t[e+1+0]=t[e+0+32]=Ne(r,n,i),t[e+2+0]=t[e+1+32]=t[e+0+64]=Ne(n,i,a),t[e+3+0]=t[e+2+32]=t[e+1+64]=t[e+0+96]=Ne(i,a,o),t[e+3+32]=t[e+2+64]=t[e+1+96]=Ne(a,o,s),t[e+3+64]=t[e+2+96]=Ne(o,s,c),t[e+3+96]=Ne(s,c,c)}function Pe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],c=t[e+2-32],u=t[e+3-32];t[e+0+0]=t[e+1+64]=a+o+1>>1,t[e+1+0]=t[e+2+64]=o+s+1>>1,t[e+2+0]=t[e+3+64]=s+c+1>>1,t[e+3+0]=c+u+1>>1,t[e+0+96]=Ne(i,n,r),t[e+0+64]=Ne(n,r,a),t[e+0+32]=t[e+1+96]=Ne(r,a,o),t[e+1+32]=t[e+2+96]=Ne(a,o,s),t[e+2+32]=t[e+3+96]=Ne(o,s,c),t[e+3+32]=Ne(s,c,u)}function ke(t,e){var r=t[e+0-32],n=t[e+1-32],i=t[e+2-32],a=t[e+3-32],o=t[e+4-32],s=t[e+5-32],c=t[e+6-32],u=t[e+7-32];t[e+0+0]=r+n+1>>1,t[e+1+0]=t[e+0+64]=n+i+1>>1,t[e+2+0]=t[e+1+64]=i+a+1>>1,t[e+3+0]=t[e+2+64]=a+o+1>>1,t[e+0+32]=Ne(r,n,i),t[e+1+32]=t[e+0+96]=Ne(n,i,a),t[e+2+32]=t[e+1+96]=Ne(i,a,o),t[e+3+32]=t[e+2+96]=Ne(a,o,s),t[e+3+64]=Ne(o,s,c),t[e+3+96]=Ne(s,c,u)}function Ie(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];t[e+0+0]=r+n+1>>1,t[e+2+0]=t[e+0+32]=n+i+1>>1,t[e+2+32]=t[e+0+64]=i+a+1>>1,t[e+1+0]=Ne(r,n,i),t[e+3+0]=t[e+1+32]=Ne(n,i,a),t[e+3+32]=t[e+1+64]=Ne(i,a,a),t[e+3+64]=t[e+2+64]=t[e+0+96]=t[e+1+96]=t[e+2+96]=t[e+3+96]=a}function Fe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96],o=t[e-1-32],s=t[e+0-32],c=t[e+1-32],u=t[e+2-32];t[e+0+0]=t[e+2+32]=r+o+1>>1,t[e+0+32]=t[e+2+64]=n+r+1>>1,t[e+0+64]=t[e+2+96]=i+n+1>>1,t[e+0+96]=a+i+1>>1,t[e+3+0]=Ne(s,c,u),t[e+2+0]=Ne(o,s,c),t[e+1+0]=t[e+3+32]=Ne(r,o,s),t[e+1+32]=t[e+3+64]=Ne(n,r,o),t[e+1+64]=t[e+3+96]=Ne(i,n,r),t[e+1+96]=Ne(a,i,n)}function Ce(t,e){var r;for(r=0;8>r;++r)n(t,e+32*r,t,e-32,8)}function je(t,e){var r;for(r=0;8>r;++r)i(t,e,t[e-1],8),e+=32}function Oe(t,e,r){var n;for(n=0;8>n;++n)i(e,r+32*n,t,8)}function Be(t,e){var r,n=8;for(r=0;8>r;++r)n+=t[e+r-32]+t[e-1+32*r];Oe(n>>4,t,e)}function Me(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e+r-32];Oe(n>>3,t,e)}function Ee(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e-1+32*r];Oe(n>>3,t,e)}function qe(t,e){Oe(128,t,e)}function De(t,e,r){var n=t[e-r],i=t[e+0],a=3*(i-n)+jn[1020+t[e-2*r]-t[e+r]],o=On[112+(a+4>>3)];t[e-r]=Bn[255+n+On[112+(a+3>>3)]],t[e+0]=Bn[255+i-o]}function Re(t,e,r,n){var i=t[e+0],a=t[e+r];return Mn[255+t[e-2*r]-t[e-r]]>n||Mn[255+a-i]>n}function Te(t,e,r,n){return 4*Mn[255+t[e-r]-t[e+0]]+Mn[255+t[e-2*r]-t[e+r]]<=n}function Ue(t,e,r,n,i){var a=t[e-3*r],o=t[e-2*r],s=t[e-r],c=t[e+0],u=t[e+r],h=t[e+2*r],l=t[e+3*r];return 4*Mn[255+s-c]+Mn[255+o-u]>n?0:Mn[255+t[e-4*r]-a]<=i&&Mn[255+a-o]<=i&&Mn[255+o-s]<=i&&Mn[255+l-h]<=i&&Mn[255+h-u]<=i&&Mn[255+u-c]<=i}function ze(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)Te(t,e+n,r,i)&&De(t,e+n,r)}function He(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)Te(t,e+n*r,1,i)&&De(t,e+n*r,1)}function We(t,e,r,n){var i;for(i=3;0<i;--i)ze(t,e+=4*r,r,n)}function Ve(t,e,r,n){var i;for(i=3;0<i;--i)He(t,e+=4,r,n)}function Ge(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Ue(t,e,r,a,o))if(Re(t,e,r,s))De(t,e,r);else{var c=t,u=e,h=r,l=c[u-2*h],f=c[u-h],d=c[u+0],p=c[u+h],g=c[u+2*h],m=27*(b=jn[1020+3*(d-f)+jn[1020+l-p]])+63>>7,v=18*b+63>>7,b=9*b+63>>7;c[u-3*h]=Bn[255+c[u-3*h]+b],c[u-2*h]=Bn[255+l+v],c[u-h]=Bn[255+f+m],c[u+0]=Bn[255+d-m],c[u+h]=Bn[255+p-v],c[u+2*h]=Bn[255+g-b]}e+=n}}function Ye(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Ue(t,e,r,a,o))if(Re(t,e,r,s))De(t,e,r);else{var c=t,u=e,h=r,l=c[u-h],f=c[u+0],d=c[u+h],p=On[112+((g=3*(f-l))+4>>3)],g=On[112+(g+3>>3)],m=p+1>>1;c[u-2*h]=Bn[255+c[u-2*h]+m],c[u-h]=Bn[255+l+g],c[u+0]=Bn[255+f-p],c[u+h]=Bn[255+d-m]}e+=n}}function Je(t,e,r,n,i,a){Ge(t,e,r,1,16,n,i,a)}function Xe(t,e,r,n,i,a){Ge(t,e,1,r,16,n,i,a)}function Ke(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4*r,r,1,16,n,i,a)}function Ze(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4,1,r,16,n,i,a)}function $e(t,e,r,n,i,a,o,s){Ge(t,e,i,1,8,a,o,s),Ge(r,n,i,1,8,a,o,s)}function Qe(t,e,r,n,i,a,o,s){Ge(t,e,1,i,8,a,o,s),Ge(r,n,1,i,8,a,o,s)}function tr(t,e,r,n,i,a,o,s){Ye(t,e+4*i,i,1,8,a,o,s),Ye(r,n+4*i,i,1,8,a,o,s)}function er(t,e,r,n,i,a,o,s){Ye(t,e+4,1,i,8,a,o,s),Ye(r,n+4,1,i,8,a,o,s)}function rr(){this.ba=new ot,this.ec=[],this.cc=[],this.Mc=[],this.Dc=this.Nc=this.dc=this.fc=0,this.Oa=new ct,this.memory=0,this.Ib=\"OutputFunc\",this.Jb=\"OutputAlphaFunc\",this.Nd=\"OutputRowFunc\"}function nr(){this.data=[],this.offset=this.kd=this.ha=this.w=0,this.na=[],this.xa=this.gb=this.Ja=this.Sa=this.P=0}function ir(){this.nc=this.Ea=this.b=this.hc=0,this.K=[],this.w=0}function ar(){this.ua=0,this.Wa=new M,this.vb=new M,this.md=this.xc=this.wc=0,this.vc=[],this.Wb=0,this.Ya=new d,this.yc=new l}function or(){this.xb=this.a=0,this.l=new Gt,this.ca=new ot,this.V=[],this.Ba=0,this.Ta=[],this.Ua=0,this.m=new N,this.Pb=0,this.wd=new N,this.Ma=this.$=this.C=this.i=this.c=this.xd=0,this.s=new ar,this.ab=0,this.gc=o(4,ir),this.Oc=0}function sr(){this.Lc=this.Z=this.$a=this.i=this.c=0,this.l=new Gt,this.ic=0,this.ca=[],this.tb=0,this.qd=null,this.rd=0}function cr(t,e,r,n,i,a,o){for(t=null==t?0:t[e+0],e=0;e<o;++e)i[a+e]=t+r[n+e]&255,t=i[a+e]}function ur(t,e,r,n,i,a,o){var s;if(null==t)cr(null,null,r,n,i,a,o);else for(s=0;s<o;++s)i[a+s]=t[e+s]+r[n+s]&255}function hr(t,e,r,n,i,a,o){if(null==t)cr(null,null,r,n,i,a,o);else{var s,c=t[e+0],u=c,h=c;for(s=0;s<o;++s)u=h+(c=t[e+s])-u,h=r[n+s]+(-256&u?0>u?0:255:u)&255,u=c,i[a+s]=h}}function lr(t,r,i,o){var s=r.width,c=r.o;if(e(null!=t&&null!=r),0>i||0>=o||i+o>c)return null;if(!t.Cc){if(null==t.ga){var u;if(t.ga=new sr,(u=null==t.ga)||(u=r.width*r.o,e(0==t.Gb.length),t.Gb=a(u),t.Uc=0,null==t.Gb?u=0:(t.mb=t.Gb,t.nb=t.Uc,t.rc=null,u=1),u=!u),!u){u=t.ga;var h=t.Fa,l=t.P,f=t.qc,d=t.mb,p=t.nb,g=l+1,m=f-1,b=u.l;if(e(null!=h&&null!=d&&null!=r),mi[0]=null,mi[1]=cr,mi[2]=ur,mi[3]=hr,u.ca=d,u.tb=p,u.c=r.width,u.i=r.height,e(0<u.c&&0<u.i),1>=f)r=0;else if(u.$a=h[l+0]>>0&3,u.Z=h[l+0]>>2&3,u.Lc=h[l+0]>>4&3,l=h[l+0]>>6&3,0>u.$a||1<u.$a||4<=u.Z||1<u.Lc||l)r=0;else if(b.put=dt,b.ac=ft,b.bc=pt,b.ma=u,b.width=r.width,b.height=r.height,b.Da=r.Da,b.v=r.v,b.va=r.va,b.j=r.j,b.o=r.o,u.$a)t:{e(1==u.$a),r=kt();e:for(;;){if(null==r){r=0;break t}if(e(null!=u),u.mc=r,r.c=u.c,r.i=u.i,r.l=u.l,r.l.ma=u,r.l.width=u.c,r.l.height=u.i,r.a=0,v(r.m,h,g,m),!It(u.c,u.i,1,r,null))break e;if(1==r.ab&&3==r.gc[0].hc&&At(r.s)?(u.ic=1,h=r.c*r.i,r.Ta=null,r.Ua=0,r.V=a(h),r.Ba=0,null==r.V?(r.a=1,r=0):r=1):(u.ic=0,r=Ft(r,u.c)),!r)break e;r=1;break t}u.mc=null,r=0}else r=m>=u.c*u.i;u=!r}if(u)return null;1!=t.ga.Lc?t.Ga=0:o=c-i}e(null!=t.ga),e(i+o<=c);t:{if(r=(h=t.ga).c,c=h.l.o,0==h.$a){if(g=t.rc,m=t.Vc,b=t.Fa,l=t.P+1+i*r,f=t.mb,d=t.nb+i*r,e(l<=t.P+t.qc),0!=h.Z)for(e(null!=mi[h.Z]),u=0;u<o;++u)mi[h.Z](g,m,b,l,f,d,r),g=f,m=d,d+=r,l+=r;else for(u=0;u<o;++u)n(f,d,b,l,r),g=f,m=d,d+=r,l+=r;t.rc=g,t.Vc=m}else{if(e(null!=h.mc),r=i+o,e(null!=(u=h.mc)),e(r<=u.i),u.C>=r)r=1;else if(h.ic||mr(),h.ic){h=u.V,g=u.Ba,m=u.c;var y=u.i,w=(b=1,l=u.$/m,f=u.$%m,d=u.m,p=u.s,u.$),N=m*y,L=m*r,x=p.wc,_=w<L?wt(p,f,l):null;e(w<=N),e(r<=y),e(At(p));e:for(;;){for(;!d.h&&w<L;){if(f&x||(_=wt(p,f,l)),e(null!=_),S(d),256>(y=bt(_.G[0],_.H[0],d)))h[g+w]=y,++w,++f>=m&&(f=0,++l<=r&&!(l%16)&&St(u,l));else{if(!(280>y)){b=0;break e}y=mt(y-256,d);var P,k=bt(_.G[4],_.H[4],d);if(S(d),!(w>=(k=vt(m,k=mt(k,d)))&&N-w>=y)){b=0;break e}for(P=0;P<y;++P)h[g+w+P]=h[g+w+P-k];for(w+=y,f+=y;f>=m;)f-=m,++l<=r&&!(l%16)&&St(u,l);w<L&&f&x&&(_=wt(p,f,l))}e(d.h==A(d))}St(u,l>r?r:l);break e}!b||d.h&&w<N?(b=0,u.a=d.h?5:3):u.$=w,r=b}else r=_t(u,u.V,u.Ba,u.c,u.i,r,Ct);if(!r){o=0;break t}}i+o>=c&&(t.Cc=1),o=1}if(!o)return null;if(t.Cc&&(null!=(o=t.ga)&&(o.mc=null),t.ga=null,0<t.Ga))return alert(\"todo:WebPDequantizeLevels\"),null}return t.nb+i*s}function fr(t,e,r,n,i,a){for(;0<i--;){var o,s=t,c=e+(r?1:0),u=t,h=e+(r?0:3);for(o=0;o<n;++o){var l=u[h+4*o];255!=l&&(l*=32897,s[c+4*o+0]=s[c+4*o+0]*l>>23,s[c+4*o+1]=s[c+4*o+1]*l>>23,s[c+4*o+2]=s[c+4*o+2]*l>>23)}e+=a}}function dr(t,e,r,n,i){for(;0<n--;){var a;for(a=0;a<r;++a){var o=t[e+2*a+0],s=15&(u=t[e+2*a+1]),c=4369*s,u=(240&u|u>>4)*c>>16;t[e+2*a+0]=(240&o|o>>4)*c>>16&240|(15&o|o<<4)*c>>16>>4&15,t[e+2*a+1]=240&u|s}e+=i}}function pr(t,e,r,n,i,a,o,s){var c,u,h=255;for(u=0;u<i;++u){for(c=0;c<n;++c){var l=t[e+c];a[o+4*c]=l,h&=l}e+=r,o+=s}return 255!=h}function gr(t,e,r,n,i){var a;for(a=0;a<i;++a)r[n+a]=t[e+a]>>8}function mr(){An=fr,xn=dr,Sn=pr,_n=gr}function vr(r,n,i){t[r]=function(t,r,a,o,s,c,u,h,l,f,d,p,g,m,v,b,y){var w,N=y-1>>1,L=s[c+0]|u[h+0]<<16,A=l[f+0]|d[p+0]<<16;e(null!=t);var x=3*L+A+131074>>2;for(n(t[r+0],255&x,x>>16,g,m),null!=a&&(x=3*A+L+131074>>2,n(a[o+0],255&x,x>>16,v,b)),w=1;w<=N;++w){var S=s[c+w]|u[h+w]<<16,_=l[f+w]|d[p+w]<<16,P=L+S+A+_+524296,k=P+2*(S+A)>>3;x=k+L>>1,L=(P=P+2*(L+_)>>3)+S>>1,n(t[r+2*w-1],255&x,x>>16,g,m+(2*w-1)*i),n(t[r+2*w-0],255&L,L>>16,g,m+(2*w-0)*i),null!=a&&(x=P+A>>1,L=k+_>>1,n(a[o+2*w-1],255&x,x>>16,v,b+(2*w-1)*i),n(a[o+2*w+0],255&L,L>>16,v,b+(2*w+0)*i)),L=S,A=_}1&y||(x=3*L+A+131074>>2,n(t[r+y-1],255&x,x>>16,g,m+(y-1)*i),null!=a&&(x=3*A+L+131074>>2,n(a[o+y-1],255&x,x>>16,v,b+(y-1)*i)))}}function br(){vi[En]=bi,vi[qn]=wi,vi[Dn]=yi,vi[Rn]=Ni,vi[Tn]=Li,vi[Un]=Ai,vi[zn]=xi,vi[Hn]=wi,vi[Wn]=Ni,vi[Vn]=Li,vi[Gn]=Ai}function yr(t){return t&~Fi?0>t?0:255:t>>Ii}function wr(t,e){return yr((19077*t>>8)+(26149*e>>8)-14234)}function Nr(t,e,r){return yr((19077*t>>8)-(6419*e>>8)-(13320*r>>8)+8708)}function Lr(t,e){return yr((19077*t>>8)+(33050*e>>8)-17685)}function Ar(t,e,r,n,i){n[i+0]=wr(t,r),n[i+1]=Nr(t,e,r),n[i+2]=Lr(t,e)}function xr(t,e,r,n,i){n[i+0]=Lr(t,e),n[i+1]=Nr(t,e,r),n[i+2]=wr(t,r)}function Sr(t,e,r,n,i){var a=Nr(t,e,r);e=a<<3&224|Lr(t,e)>>3,n[i+0]=248&wr(t,r)|a>>5,n[i+1]=e}function _r(t,e,r,n,i){var a=240&Lr(t,e)|15;n[i+0]=240&wr(t,r)|Nr(t,e,r)>>4,n[i+1]=a}function Pr(t,e,r,n,i){n[i+0]=255,Ar(t,e,r,n,i+1)}function kr(t,e,r,n,i){xr(t,e,r,n,i),n[i+3]=255}function Ir(t,e,r,n,i){Ar(t,e,r,n,i),n[i+3]=255}function Vt(t,e){return 0>t?0:t>e?e:t}function Fr(e,r,n){t[e]=function(t,e,i,a,o,s,c,u,h){for(var l=u+(-2&h)*n;u!=l;)r(t[e+0],i[a+0],o[s+0],c,u),r(t[e+1],i[a+0],o[s+0],c,u+n),e+=2,++a,++s,u+=2*n;1&h&&r(t[e+0],i[a+0],o[s+0],c,u)}}function Cr(t,e,r){return 0==r?0==t?0==e?6:5:0==e?4:0:r}function jr(t,e,r,n,i){switch(t>>>30){case 3:on(e,r,n,i,0);break;case 2:sn(e,r,n,i);break;case 1:un(e,r,n,i)}}function Or(t,e){var r,a,o=e.M,s=e.Nb,c=t.oc,u=t.pc+40,h=t.oc,l=t.pc+584,f=t.oc,d=t.pc+600;for(r=0;16>r;++r)c[u+32*r-1]=129;for(r=0;8>r;++r)h[l+32*r-1]=129,f[d+32*r-1]=129;for(0<o?c[u-1-32]=h[l-1-32]=f[d-1-32]=129:(i(c,u-32-1,127,21),i(h,l-32-1,127,9),i(f,d-32-1,127,9)),a=0;a<t.za;++a){var p=e.ya[e.aa+a];if(0<a){for(r=-1;16>r;++r)n(c,u+32*r-4,c,u+32*r+12,4);for(r=-1;8>r;++r)n(h,l+32*r-4,h,l+32*r+4,4),n(f,d+32*r-4,f,d+32*r+4,4)}var g=t.Gd,m=t.Hd+a,v=p.ad,b=p.Hc;if(0<o&&(n(c,u-32,g[m].y,0,16),n(h,l-32,g[m].f,0,8),n(f,d-32,g[m].ea,0,8)),p.Za){var y=c,w=u-32+16;for(0<o&&(a>=t.za-1?i(y,w,g[m].y[15],4):n(y,w,g[m+1].y,0,4)),r=0;4>r;r++)y[w+128+r]=y[w+256+r]=y[w+384+r]=y[w+0+r];for(r=0;16>r;++r,b<<=2)y=c,w=u+Di[r],fi[p.Ob[r]](y,w),jr(b,v,16*+r,y,w)}else if(y=Cr(a,o,p.Ob[0]),li[y](c,u),0!=b)for(r=0;16>r;++r,b<<=2)jr(b,v,16*+r,c,u+Di[r]);for(r=p.Gc,y=Cr(a,o,p.Dd),di[y](h,l),di[y](f,d),b=v,y=h,w=l,255&(p=r>>0)&&(170&p?cn(b,256,y,w):hn(b,256,y,w)),p=f,b=d,255&(r>>=8)&&(170&r?cn(v,320,p,b):hn(v,320,p,b)),o<t.Ub-1&&(n(g[m].y,0,c,u+480,16),n(g[m].f,0,h,l+224,8),n(g[m].ea,0,f,d+224,8)),r=8*s*t.B,g=t.sa,m=t.ta+16*a+16*s*t.R,v=t.qa,p=t.ra+8*a+r,b=t.Ha,y=t.Ia+8*a+r,r=0;16>r;++r)n(g,m+r*t.R,c,u+32*r,16);for(r=0;8>r;++r)n(v,p+r*t.B,h,l+32*r,8),n(b,y+r*t.B,f,d+32*r,8)}}function Br(t,n,i,a,o,s,c,u,h){var l=[0],f=[0],d=0,p=null!=h?h.kd:0,g=null!=h?h:new nr;if(null==t||12>i)return 7;g.data=t,g.w=n,g.ha=i,n=[n],i=[i],g.gb=[g.gb];t:{var m=n,b=i,y=g.gb;if(e(null!=t),e(null!=b),e(null!=y),y[0]=0,12<=b[0]&&!r(t,m[0],\"RIFF\")){if(r(t,m[0]+8,\"WEBP\")){y=3;break t}var w=j(t,m[0]+4);if(12>w||4294967286<w){y=3;break t}if(p&&w>b[0]-8){y=7;break t}y[0]=w,m[0]+=12,b[0]-=12}y=0}if(0!=y)return y;for(w=0<g.gb[0],i=i[0];;){t:{var L=t;b=n,y=i;var A=l,x=f,S=m=[0];if((k=d=[d])[0]=0,8>y[0])y=7;else{if(!r(L,b[0],\"VP8X\")){if(10!=j(L,b[0]+4)){y=3;break t}if(18>y[0]){y=7;break t}var _=j(L,b[0]+8),P=1+C(L,b[0]+12);if(2147483648<=P*(L=1+C(L,b[0]+15))){y=3;break t}null!=S&&(S[0]=_),null!=A&&(A[0]=P),null!=x&&(x[0]=L),b[0]+=18,y[0]-=18,k[0]=1}y=0}}if(d=d[0],m=m[0],0!=y)return y;if(b=!!(2&m),!w&&d)return 3;if(null!=s&&(s[0]=!!(16&m)),null!=c&&(c[0]=b),null!=u&&(u[0]=0),c=l[0],m=f[0],d&&b&&null==h){y=0;break}if(4>i){y=7;break}if(w&&d||!w&&!d&&!r(t,n[0],\"ALPH\")){i=[i],g.na=[g.na],g.P=[g.P],g.Sa=[g.Sa];t:{_=t,y=n,w=i;var k=g.gb;A=g.na,x=g.P,S=g.Sa;P=22,e(null!=_),e(null!=w),L=y[0];var I=w[0];for(e(null!=A),e(null!=S),A[0]=null,x[0]=null,S[0]=0;;){if(y[0]=L,w[0]=I,8>I){y=7;break t}var F=j(_,L+4);if(4294967286<F){y=3;break t}var O=8+F+1&-2;if(P+=O,0<k&&P>k){y=3;break t}if(!r(_,L,\"VP8 \")||!r(_,L,\"VP8L\")){y=0;break t}if(I[0]<O){y=7;break t}r(_,L,\"ALPH\")||(A[0]=_,x[0]=L+8,S[0]=F),L+=O,I-=O}}if(i=i[0],g.na=g.na[0],g.P=g.P[0],g.Sa=g.Sa[0],0!=y)break}i=[i],g.Ja=[g.Ja],g.xa=[g.xa];t:if(k=t,y=n,w=i,A=g.gb[0],x=g.Ja,S=g.xa,_=y[0],L=!r(k,_,\"VP8 \"),P=!r(k,_,\"VP8L\"),e(null!=k),e(null!=w),e(null!=x),e(null!=S),8>w[0])y=7;else{if(L||P){if(k=j(k,_+4),12<=A&&k>A-12){y=3;break t}if(p&&k>w[0]-8){y=7;break t}x[0]=k,y[0]+=8,w[0]-=8,S[0]=P}else S[0]=5<=w[0]&&47==k[_+0]&&!(k[_+4]>>5),x[0]=w[0];y=0}if(i=i[0],g.Ja=g.Ja[0],g.xa=g.xa[0],n=n[0],0!=y)break;if(4294967286<g.Ja)return 3;if(null==u||b||(u[0]=g.xa?2:1),c=[c],m=[m],g.xa){if(5>i){y=7;break}u=c,p=m,b=s,null==t||5>i?t=0:5<=i&&47==t[n+0]&&!(t[n+4]>>5)?(w=[0],k=[0],A=[0],v(x=new N,t,n,i),gt(x,w,k,A)?(null!=u&&(u[0]=w[0]),null!=p&&(p[0]=k[0]),null!=b&&(b[0]=A[0]),t=1):t=0):t=0}else{if(10>i){y=7;break}u=m,null==t||10>i||!Xt(t,n+3,i-3)?t=0:(p=t[n+0]|t[n+1]<<8|t[n+2]<<16,b=16383&(t[n+7]<<8|t[n+6]),t=16383&(t[n+9]<<8|t[n+8]),1&p||3<(p>>1&7)||!(p>>4&1)||p>>5>=g.Ja||!b||!t?t=0:(c&&(c[0]=b),u&&(u[0]=t),t=1))}if(!t)return 3;if(c=c[0],m=m[0],d&&(l[0]!=c||f[0]!=m))return 3;null!=h&&(h[0]=g,h.offset=n-h.w,e(4294967286>n-h.w),e(h.offset==h.ha-i));break}return 0==y||7==y&&d&&null==h?(null!=s&&(s[0]|=null!=g.na&&0<g.na.length),null!=a&&(a[0]=c),null!=o&&(o[0]=m),0):y}function Mr(t,e,r){var n=e.width,i=e.height,a=0,o=0,s=n,c=i;if(e.Da=null!=t&&0<t.Da,e.Da&&(s=t.cd,c=t.bd,a=t.v,o=t.j,11>r||(a&=-2,o&=-2),0>a||0>o||0>=s||0>=c||a+s>n||o+c>i))return 0;if(e.v=a,e.j=o,e.va=a+s,e.o=o+c,e.U=s,e.T=c,e.da=null!=t&&0<t.da,e.da){if(!E(s,c,r=[t.ib],a=[t.hb]))return 0;e.ib=r[0],e.hb=a[0]}return e.ob=null!=t&&t.ob,e.Kb=null==t||!t.Sd,e.da&&(e.ob=e.ib<3*n/4&&e.hb<3*i/4,e.Kb=0),1}function Er(t){if(null==t)return 2;if(11>t.S){var e=t.f.RGBA;e.fb+=(t.height-1)*e.A,e.A=-e.A}else e=t.f.kb,t=t.height,e.O+=(t-1)*e.fa,e.fa=-e.fa,e.N+=(t-1>>1)*e.Ab,e.Ab=-e.Ab,e.W+=(t-1>>1)*e.Db,e.Db=-e.Db,null!=e.F&&(e.J+=(t-1)*e.lb,e.lb=-e.lb);return 0}function qr(t,e,r,n){if(null==n||0>=t||0>=e)return 2;if(null!=r){if(r.Da){var i=r.cd,o=r.bd,s=-2&r.v,c=-2&r.j;if(0>s||0>c||0>=i||0>=o||s+i>t||c+o>e)return 2;t=i,e=o}if(r.da){if(!E(t,e,i=[r.ib],o=[r.hb]))return 2;t=i[0],e=o[0]}}n.width=t,n.height=e;t:{var u=n.width,h=n.height;if(t=n.S,0>=u||0>=h||!(t>=En&&13>t))t=2;else{if(0>=n.Rd&&null==n.sd){s=o=i=e=0;var l=(c=u*zi[t])*h;if(11>t||(o=(h+1)/2*(e=(u+1)/2),12==t&&(s=(i=u)*h)),null==(h=a(l+2*o+s))){t=1;break t}n.sd=h,11>t?((u=n.f.RGBA).eb=h,u.fb=0,u.A=c,u.size=l):((u=n.f.kb).y=h,u.O=0,u.fa=c,u.Fd=l,u.f=h,u.N=0+l,u.Ab=e,u.Cd=o,u.ea=h,u.W=0+l+o,u.Db=e,u.Ed=o,12==t&&(u.F=h,u.J=0+l+2*o),u.Tc=s,u.lb=i)}if(e=1,i=n.S,o=n.width,s=n.height,i>=En&&13>i)if(11>i)t=n.f.RGBA,e&=(c=Math.abs(t.A))*(s-1)+o<=t.size,e&=c>=o*zi[i],e&=null!=t.eb;else{t=n.f.kb,c=(o+1)/2,l=(s+1)/2,u=Math.abs(t.fa);h=Math.abs(t.Ab);var f=Math.abs(t.Db),d=Math.abs(t.lb),p=d*(s-1)+o;e&=u*(s-1)+o<=t.Fd,e&=h*(l-1)+c<=t.Cd,e=(e&=f*(l-1)+c<=t.Ed)&u>=o&h>=c&f>=c,e&=null!=t.y,e&=null!=t.f,e&=null!=t.ea,12==i&&(e&=d>=o,e&=p<=t.Tc,e&=null!=t.F)}else e=0;t=e?0:2}}return 0!=t||null!=r&&r.fd&&(t=Er(n)),t}var Dr=64,Rr=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],Tr=24,Ur=32,zr=8,Hr=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];R(\"Predictor0\",\"PredictorAdd0\"),t.Predictor0=function(){return 4278190080},t.Predictor1=function(t){return t},t.Predictor2=function(t,e,r){return e[r+0]},t.Predictor3=function(t,e,r){return e[r+1]},t.Predictor4=function(t,e,r){return e[r-1]},t.Predictor5=function(t,e,r){return U(U(t,e[r+1]),e[r+0])},t.Predictor6=function(t,e,r){return U(t,e[r-1])},t.Predictor7=function(t,e,r){return U(t,e[r+0])},t.Predictor8=function(t,e,r){return U(e[r-1],e[r+0])},t.Predictor9=function(t,e,r){return U(e[r+0],e[r+1])},t.Predictor10=function(t,e,r){return U(U(t,e[r-1]),U(e[r+0],e[r+1]))},t.Predictor11=function(t,e,r){var n=e[r+0];return 0>=W(n>>24&255,t>>24&255,(e=e[r-1])>>24&255)+W(n>>16&255,t>>16&255,e>>16&255)+W(n>>8&255,t>>8&255,e>>8&255)+W(255&n,255&t,255&e)?n:t},t.Predictor12=function(t,e,r){var n=e[r+0];return(z((t>>24&255)+(n>>24&255)-((e=e[r-1])>>24&255))<<24|z((t>>16&255)+(n>>16&255)-(e>>16&255))<<16|z((t>>8&255)+(n>>8&255)-(e>>8&255))<<8|z((255&t)+(255&n)-(255&e)))>>>0},t.Predictor13=function(t,e,r){var n=e[r-1];return(H((t=U(t,e[r+0]))>>24&255,n>>24&255)<<24|H(t>>16&255,n>>16&255)<<16|H(t>>8&255,n>>8&255)<<8|H(t>>0&255,n>>0&255))>>>0};var Wr=t.PredictorAdd0;t.PredictorAdd1=V,R(\"Predictor2\",\"PredictorAdd2\"),R(\"Predictor3\",\"PredictorAdd3\"),R(\"Predictor4\",\"PredictorAdd4\"),R(\"Predictor5\",\"PredictorAdd5\"),R(\"Predictor6\",\"PredictorAdd6\"),R(\"Predictor7\",\"PredictorAdd7\"),R(\"Predictor8\",\"PredictorAdd8\"),R(\"Predictor9\",\"PredictorAdd9\"),R(\"Predictor10\",\"PredictorAdd10\"),R(\"Predictor11\",\"PredictorAdd11\"),R(\"Predictor12\",\"PredictorAdd12\"),R(\"Predictor13\",\"PredictorAdd13\");var Vr=t.PredictorAdd2;X(\"ColorIndexInverseTransform\",\"MapARGB\",\"32b\",(function(t){return t>>8&255}),(function(t){return t})),X(\"VP8LColorIndexInverseTransformAlpha\",\"MapAlpha\",\"8b\",(function(t){return t}),(function(t){return t>>8&255}));var Gr,Yr=t.ColorIndexInverseTransform,Jr=t.MapARGB,Xr=t.VP8LColorIndexInverseTransformAlpha,Kr=t.MapAlpha,Zr=t.VP8LPredictorsAdd=[];Zr.length=16,(t.VP8LPredictors=[]).length=16,(t.VP8LPredictorsAdd_C=[]).length=16,(t.VP8LPredictors_C=[]).length=16;var $r,Qr,tn,en,rn,nn,an,on,sn,cn,un,hn,ln,fn,dn,pn,gn,mn,vn,bn,yn,wn,Nn,Ln,An,xn,Sn,_n,Pn=a(511),kn=a(2041),In=a(225),Fn=a(767),Cn=0,jn=kn,On=In,Bn=Fn,Mn=Pn,En=0,qn=1,Dn=2,Rn=3,Tn=4,Un=5,zn=6,Hn=7,Wn=8,Vn=9,Gn=10,Yn=[2,3,7],Jn=[3,3,11],Xn=[280,256,256,256,40],Kn=[0,1,1,1,0],Zn=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],$n=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Qn=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],ti=8,ei=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,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,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],ri=[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,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],ni=null,ii=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],ai=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],oi=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],si=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],ci=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],ui=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],hi=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],li=[],fi=[],di=[],pi=1,gi=2,mi=[],vi=[];vr(\"UpsampleRgbLinePair\",Ar,3),vr(\"UpsampleBgrLinePair\",xr,3),vr(\"UpsampleRgbaLinePair\",Ir,4),vr(\"UpsampleBgraLinePair\",kr,4),vr(\"UpsampleArgbLinePair\",Pr,4),vr(\"UpsampleRgba4444LinePair\",_r,2),vr(\"UpsampleRgb565LinePair\",Sr,2);var bi=t.UpsampleRgbLinePair,yi=t.UpsampleBgrLinePair,wi=t.UpsampleRgbaLinePair,Ni=t.UpsampleBgraLinePair,Li=t.UpsampleArgbLinePair,Ai=t.UpsampleRgba4444LinePair,xi=t.UpsampleRgb565LinePair,Si=16,_i=1<<Si-1,Pi=-227,ki=482,Ii=6,Fi=(256<<Ii)-1,Ci=0,ji=a(256),Oi=a(256),Bi=a(256),Mi=a(256),Ei=a(ki-Pi),qi=a(ki-Pi);Fr(\"YuvToRgbRow\",Ar,3),Fr(\"YuvToBgrRow\",xr,3),Fr(\"YuvToRgbaRow\",Ir,4),Fr(\"YuvToBgraRow\",kr,4),Fr(\"YuvToArgbRow\",Pr,4),Fr(\"YuvToRgba4444Row\",_r,2),Fr(\"YuvToRgb565Row\",Sr,2);var Di=[0,4,8,12,128,132,136,140,256,260,264,268,384,388,392,396],Ri=[0,2,8],Ti=[8,7,6,4,4,2,2,2,1,1,1,1],Ui=1;this.WebPDecodeRGBA=function(t,r,n,i,a){var o=qn,s=new rr,c=new ot;s.ba=c,c.S=o,c.width=[c.width],c.height=[c.height];var u=c.width,h=c.height,l=new st;if(null==l||null==t)var f=2;else e(null!=l),f=Br(t,r,n,l.width,l.height,l.Pd,l.Qd,l.format,null);if(0!=f?u=0:(null!=u&&(u[0]=l.width[0]),null!=h&&(h[0]=l.height[0]),u=1),u){c.width=c.width[0],c.height=c.height[0],null!=i&&(i[0]=c.width),null!=a&&(a[0]=c.height);t:{if(i=new Gt,(a=new nr).data=t,a.w=r,a.ha=n,a.kd=1,r=[0],e(null!=a),(0==(t=Br(a.data,a.w,a.ha,null,null,null,r,null,a))||7==t)&&r[0]&&(t=4),0==(r=t)){if(e(null!=s),i.data=a.data,i.w=a.w+a.offset,i.ha=a.ha-a.offset,i.put=dt,i.ac=ft,i.bc=pt,i.ma=s,a.xa){if(null==(t=kt())){s=1;break t}if(function(t,r){var n=[0],i=[0],a=[0];e:for(;;){if(null==t)return 0;if(null==r)return t.a=2,0;if(t.l=r,t.a=0,v(t.m,r.data,r.w,r.ha),!gt(t.m,n,i,a)){t.a=3;break e}if(t.xb=gi,r.width=n[0],r.height=i[0],!It(n[0],i[0],1,t,null))break e;return 1}return e(0!=t.a),0}(t,i)){if(i=0==(r=qr(i.width,i.height,s.Oa,s.ba))){e:{i=t;r:for(;;){if(null==i){i=0;break e}if(e(null!=i.s.yc),e(null!=i.s.Ya),e(0<i.s.Wb),e(null!=(n=i.l)),e(null!=(a=n.ma)),0!=i.xb){if(i.ca=a.ba,i.tb=a.tb,e(null!=i.ca),!Mr(a.Oa,n,Rn)){i.a=2;break r}if(!Ft(i,n.width))break r;if(n.da)break r;if((n.da||nt(i.ca.S))&&mr(),11>i.ca.S||(alert(\"todo:WebPInitConvertARGBToYUV\"),null!=i.ca.f.kb.F&&mr()),i.Pb&&0<i.s.ua&&null==i.s.vb.X&&!O(i.s.vb,i.s.Wa.Xa)){i.a=1;break r}i.xb=0}if(!_t(i,i.V,i.Ba,i.c,i.i,n.o,Lt))break r;a.Dc=i.Ma,i=1;break e}e(0!=i.a),i=0}i=!i}i&&(r=t.a)}else r=t.a}else{if(null==(t=new Yt)){s=1;break t}if(t.Fa=a.na,t.P=a.P,t.qc=a.Sa,Kt(t,i)){if(0==(r=qr(i.width,i.height,s.Oa,s.ba))){if(t.Aa=0,n=s.Oa,e(null!=(a=t)),null!=n){if(0<(u=0>(u=n.Md)?0:100<u?255:255*u/100)){for(h=l=0;4>h;++h)12>(f=a.pb[h]).lc&&(f.ia=u*Ti[0>f.lc?0:f.lc]>>3),l|=f.ia;l&&(alert(\"todo:VP8InitRandom\"),a.ia=1)}a.Ga=n.Id,100<a.Ga?a.Ga=100:0>a.Ga&&(a.Ga=0)}Qt(t,i)||(r=t.a)}}else r=t.a}0==r&&null!=s.Oa&&s.Oa.fd&&(r=Er(s.ba))}s=r}o=0!=s?null:11>o?c.f.RGBA.eb:c.f.kb.y}else o=null;return o};var zi=[3,4,3,4,4,2,2,4,4,4,2,1,1]};function u(t,e){for(var r=\"\",n=0;n<4;n++)r+=String.fromCharCode(t[e++]);return r}function h(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16)>>>0}function l(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}new c;var f=[0],d=[0],p=[],g=new c,m=t,v=function(t,e){var r={},n=0,i=!1,a=0,o=0;if(r.frames=[],!\n/** @license\n * Copyright (c) 2017 Dominik Homberger\n Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n https://webpjs.appspot.com\n WebPRiffParser dominikhlbg@gmail.com\n */\nfunction(t,e,r,n){for(var i=0;i<n;i++)if(t[e+i]!=r.charCodeAt(i))return!0;return!1}(t,e,\"RIFF\",4)){for(l(t,e+=4),e+=8;e<t.length;){var s=u(t,e),c=l(t,e+=4);e+=4;var f=c+(1&c);switch(s){case\"VP8 \":case\"VP8L\":void 0===r.frames[n]&&(r.frames[n]={}),(g=r.frames[n]).src_off=i?o:e-8,g.src_size=a+c+8,n++,i&&(i=!1,a=0,o=0);break;case\"VP8X\":(g=r.header={}).feature_flags=t[e];var d=e+4;g.canvas_width=1+h(t,d),d+=3,g.canvas_height=1+h(t,d),d+=3;break;case\"ALPH\":i=!0,a=f+8,o=e-8;break;case\"ANIM\":(g=r.header).bgcolor=l(t,e),d=e+4,g.loop_count=(m=t)[(v=d)+0]<<0|m[v+1]<<8,d+=2;break;case\"ANMF\":var p,g;(g=r.frames[n]={}).offset_x=2*h(t,e),e+=3,g.offset_y=2*h(t,e),e+=3,g.width=1+h(t,e),e+=3,g.height=1+h(t,e),e+=3,g.duration=h(t,e),e+=3,p=t[e++],g.dispose=1&p,g.blend=p>>1&1}\"ANMF\"!=s&&(e+=f)}var m,v;return r}}(m,0);v.response=m,v.rgbaoutput=!0,v.dataurl=!1;var b=v.header?v.header:null,y=v.frames?v.frames:null;if(b){b.loop_counter=b.loop_count,f=[b.canvas_height],d=[b.canvas_width];for(var w=0;w<y.length&&0!=y[w].blend;w++);}var N=y[0],L=g.WebPDecodeRGBA(m,N.src_off,N.src_size,d,f);N.rgba=L,N.imgwidth=d[0],N.imgheight=f[0];for(var A=0;A<d[0]*f[0]*4;A++)p[A]=L[A];return this.width=d,this.height=f,this.data=p,this}!function(t){var r=function(){return\"function\"==typeof e},n=function(r,n,a,h){var l=4,f=s;switch(h){case t.image_compression.FAST:l=1,f=o;break;case t.image_compression.MEDIUM:l=6,f=c;break;case t.image_compression.SLOW:l=9,f=u}r=i(r,n,a,f);var d=e(r,{level:l});return t.__addimage__.arrayBufferToBinaryString(d)},i=function(t,e,r,n){for(var i,a,o,s=t.length/e,c=new Uint8Array(t.length+s),u=l(),h=0;h<s;h+=1){if(o=h*e,i=t.subarray(o,o+e),n)c.set(n(i,r,a),o+h);else{for(var d,p=u.length,g=[];d<p;d+=1)g[d]=u[d](i,r,a);var m=f(g.concat());c.set(g[m],o+h)}a=i}return c},a=function(t){var e=Array.apply([],t);return e.unshift(0),e},o=function(t,e){var r,n=[],i=t.length;n[0]=1;for(var a=0;a<i;a+=1)r=t[a-e]||0,n[a+1]=t[a]-r+256&255;return n},s=function(t,e,r){var n,i=[],a=t.length;i[0]=2;for(var o=0;o<a;o+=1)n=r&&r[o]||0,i[o+1]=t[o]-n+256&255;return i},c=function(t,e,r){var n,i,a=[],o=t.length;a[0]=3;for(var s=0;s<o;s+=1)n=t[s-e]||0,i=r&&r[s]||0,a[s+1]=t[s]+256-(n+i>>>1)&255;return a},u=function(t,e,r){var n,i,a,o,s=[],c=t.length;s[0]=4;for(var u=0;u<c;u+=1)n=t[u-e]||0,i=r&&r[u]||0,a=r&&r[u-e]||0,o=h(n,i,a),s[u+1]=t[u]-o+256&255;return s},h=function(t,e,r){if(t===e&&e===r)return t;var n=Math.abs(e-r),i=Math.abs(t-r),a=Math.abs(t+e-r-r);return n<=i&&n<=a?t:i<=a?e:r},l=function(){return[a,o,s,c,u]},f=function(t){var e=t.map((function(t){return t.reduce((function(t,e){return t+Math.abs(e)}),0)}));return e.indexOf(Math.min.apply(null,e))};t.processPNG=function(e,i,a,o){var s,c,u,h,l,f,d,p,g,m,v,b,y,w,N,L=this.decode.FLATE_DECODE,A=\"\";if(this.__addimage__.isArrayBuffer(e)&&(e=new Uint8Array(e)),this.__addimage__.isArrayBufferView(e)){if(e=(u=new Kt(e)).imgData,c=u.bits,s=u.colorSpace,l=u.colors,-1!==[4,6].indexOf(u.colorType)){if(8===u.bits){g=(p=32==u.pixelBitlength?new Uint32Array(u.decodePixels().buffer):16==u.pixelBitlength?new Uint16Array(u.decodePixels().buffer):new Uint8Array(u.decodePixels().buffer)).length,v=new Uint8Array(g*u.colors),m=new Uint8Array(g);var x,S=u.pixelBitlength-u.bits;for(w=0,N=0;w<g;w++){for(y=p[w],x=0;x<S;)v[N++]=y>>>x&255,x+=u.bits;m[w]=y>>>x&255}}if(16===u.bits){g=(p=new Uint32Array(u.decodePixels().buffer)).length,v=new Uint8Array(g*(32/u.pixelBitlength)*u.colors),m=new Uint8Array(g*(32/u.pixelBitlength)),b=u.colors>1,w=0,N=0;for(var _=0;w<g;)y=p[w++],v[N++]=y>>>0&255,b&&(v[N++]=y>>>16&255,y=p[w++],v[N++]=y>>>0&255),m[_++]=y>>>16&255;c=8}o!==t.image_compression.NONE&&r()?(e=n(v,u.width*u.colors,u.colors,o),d=n(m,u.width,1,o)):(e=v,d=m,L=void 0)}if(3===u.colorType&&(s=this.color_spaces.INDEXED,f=u.palette,u.transparency.indexed)){var P=u.transparency.indexed,k=0;for(w=0,g=P.length;w<g;++w)k+=P[w];if((k/=255)===g-1&&-1!==P.indexOf(0))h=[P.indexOf(0)];else if(k!==g){for(p=u.decodePixels(),m=new Uint8Array(p.length),w=0,g=p.length;w<g;w++)m[w]=P[p[w]];d=n(m,u.width,1)}}var I=function(e){var r;switch(e){case t.image_compression.FAST:r=11;break;case t.image_compression.MEDIUM:r=13;break;case t.image_compression.SLOW:r=14;break;default:r=12}return r}(o);return L===this.decode.FLATE_DECODE&&(A=\"/Predictor \"+I+\" \"),A+=\"/Colors \"+l+\" /BitsPerComponent \"+c+\" /Columns \"+u.width,(this.__addimage__.isArrayBuffer(e)||this.__addimage__.isArrayBufferView(e))&&(e=this.__addimage__.arrayBufferToBinaryString(e)),(d&&this.__addimage__.isArrayBuffer(d)||this.__addimage__.isArrayBufferView(d))&&(d=this.__addimage__.arrayBufferToBinaryString(d)),{alias:a,data:e,index:i,filter:L,decodeParameters:A,transparency:h,palette:f,sMask:d,predictor:I,width:u.width,height:u.height,bitsPerComponent:c,colorSpace:s}}}}(E.API),function(t){t.processGIF89A=function(e,r,n,i){var a=new Zt(e),o=a.width,s=a.height,c=[];a.decodeAndBlitFrameRGBA(0,c);var u={data:c,width:o,height:s},h=new Qt(100).encode(u,100);return t.processJPEG.call(this,h,r,n,i)},t.processGIF87A=t.processGIF89A}(E.API),te.prototype.parseHeader=function(){if(this.fileSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.reserved=this.datav.getUint32(this.pos,!0),this.pos+=4,this.offset=this.datav.getUint32(this.pos,!0),this.pos+=4,this.headerSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.width=this.datav.getUint32(this.pos,!0),this.pos+=4,this.height=this.datav.getInt32(this.pos,!0),this.pos+=4,this.planes=this.datav.getUint16(this.pos,!0),this.pos+=2,this.bitPP=this.datav.getUint16(this.pos,!0),this.pos+=2,this.compress=this.datav.getUint32(this.pos,!0),this.pos+=4,this.rawSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.hr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.vr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.colors=this.datav.getUint32(this.pos,!0),this.pos+=4,this.importantColors=this.datav.getUint32(this.pos,!0),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var e=0;e<t;e++){var r=this.datav.getUint8(this.pos++,!0),n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0);this.palette[e]={red:i,green:n,blue:r,quad:a}}}this.height<0&&(this.height*=-1,this.bottom_up=!1)},te.prototype.parseBGR=function(){this.pos=this.offset;try{var t=\"bit\"+this.bitPP,e=this.width*this.height*4;this.data=new Uint8Array(e),this[t]()}catch(t){a.log(\"bit decode error:\"+t)}},te.prototype.bit1=function(){var t,e=Math.ceil(this.width/8),r=e%4;for(t=this.height-1;t>=0;t--){for(var n=this.bottom_up?t:this.height-1-t,i=0;i<e;i++)for(var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+8*i*4,s=0;s<8&&8*i+s<this.width;s++){var c=this.palette[a>>7-s&1];this.data[o+4*s]=c.blue,this.data[o+4*s+1]=c.green,this.data[o+4*s+2]=c.red,this.data[o+4*s+3]=255}0!==r&&(this.pos+=4-r)}},te.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),e=t%4,r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<t;i++){var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+2*i*4,s=a>>4,c=15&a,u=this.palette[s];if(this.data[o]=u.blue,this.data[o+1]=u.green,this.data[o+2]=u.red,this.data[o+3]=255,2*i+1>=this.width)break;u=this.palette[c],this.data[o+4]=u.blue,this.data[o+4+1]=u.green,this.data[o+4+2]=u.red,this.data[o+4+3]=255}0!==e&&(this.pos+=4-e)}},te.prototype.bit8=function(){for(var t=this.width%4,e=this.height-1;e>=0;e--){for(var r=this.bottom_up?e:this.height-1-e,n=0;n<this.width;n++){var i=this.datav.getUint8(this.pos++,!0),a=r*this.width*4+4*n;if(i<this.palette.length){var o=this.palette[i];this.data[a]=o.red,this.data[a+1]=o.green,this.data[a+2]=o.blue,this.data[a+3]=255}else this.data[a]=255,this.data[a+1]=255,this.data[a+2]=255,this.data[a+3]=255}0!==t&&(this.pos+=4-t)}},te.prototype.bit15=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<this.width;i++){var a=this.datav.getUint16(this.pos,!0);this.pos+=2;var o=(a&e)/e*255|0,s=(a>>5&e)/e*255|0,c=(a>>10&e)/e*255|0,u=a>>15?255:0,h=n*this.width*4+4*i;this.data[h]=c,this.data[h+1]=s,this.data[h+2]=o,this.data[h+3]=u}this.pos+=t}},te.prototype.bit16=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=parseInt(\"111111\",2),n=this.height-1;n>=0;n--){for(var i=this.bottom_up?n:this.height-1-n,a=0;a<this.width;a++){var o=this.datav.getUint16(this.pos,!0);this.pos+=2;var s=(o&e)/e*255|0,c=(o>>5&r)/r*255|0,u=(o>>11)/e*255|0,h=i*this.width*4+4*a;this.data[h]=u,this.data[h+1]=c,this.data[h+2]=s,this.data[h+3]=255}this.pos+=t}},te.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=e*this.width*4+4*r;this.data[o]=a,this.data[o+1]=i,this.data[o+2]=n,this.data[o+3]=255}this.pos+=this.width%4}},te.prototype.bit32=function(){for(var t=this.height-1;t>=0;t--)for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0),s=e*this.width*4+4*r;this.data[s]=a,this.data[s+1]=i,this.data[s+2]=n,this.data[s+3]=o}},te.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processBMP=function(e,r,n,i){var a=new te(e,!1),o=a.width,s=a.height,c={data:a.getData(),width:o,height:s},u=new Qt(100).encode(c,100);return t.processJPEG.call(this,u,r,n,i)}}(E.API),ee.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processWEBP=function(e,r,n,i){var a=new ee(e),o=a.width,s=a.height,c={data:a.getData(),width:o,height:s},u=new Qt(100).encode(c,100);return t.processJPEG.call(this,u,r,n,i)}}(E.API),E.API.processRGBA=function(t,e,r){for(var n=t.data,i=n.length,a=new Uint8Array(i/4*3),o=new Uint8Array(i/4),s=0,c=0,u=0;u<i;u+=4){var h=n[u],l=n[u+1],f=n[u+2],d=n[u+3];a[s++]=h,a[s++]=l,a[s++]=f,o[c++]=d}var p=this.__addimage__.arrayBufferToBinaryString(a);return{alpha:this.__addimage__.arrayBufferToBinaryString(o),data:p,index:e,alias:r,colorSpace:\"DeviceRGB\",bitsPerComponent:8,width:t.width,height:t.height}},E.API.setLanguage=function(t){return void 0===this.internal.languageSettings&&(this.internal.languageSettings={},this.internal.languageSettings.isSubscribed=!1),void 0!=={af:\"Afrikaans\",sq:\"Albanian\",ar:\"Arabic (Standard)\",\"ar-DZ\":\"Arabic (Algeria)\",\"ar-BH\":\"Arabic (Bahrain)\",\"ar-EG\":\"Arabic (Egypt)\",\"ar-IQ\":\"Arabic (Iraq)\",\"ar-JO\":\"Arabic (Jordan)\",\"ar-KW\":\"Arabic (Kuwait)\",\"ar-LB\":\"Arabic (Lebanon)\",\"ar-LY\":\"Arabic (Libya)\",\"ar-MA\":\"Arabic (Morocco)\",\"ar-OM\":\"Arabic (Oman)\",\"ar-QA\":\"Arabic (Qatar)\",\"ar-SA\":\"Arabic (Saudi Arabia)\",\"ar-SY\":\"Arabic (Syria)\",\"ar-TN\":\"Arabic (Tunisia)\",\"ar-AE\":\"Arabic (U.A.E.)\",\"ar-YE\":\"Arabic (Yemen)\",an:\"Aragonese\",hy:\"Armenian\",as:\"Assamese\",ast:\"Asturian\",az:\"Azerbaijani\",eu:\"Basque\",be:\"Belarusian\",bn:\"Bengali\",bs:\"Bosnian\",br:\"Breton\",bg:\"Bulgarian\",my:\"Burmese\",ca:\"Catalan\",ch:\"Chamorro\",ce:\"Chechen\",zh:\"Chinese\",\"zh-HK\":\"Chinese (Hong Kong)\",\"zh-CN\":\"Chinese (PRC)\",\"zh-SG\":\"Chinese (Singapore)\",\"zh-TW\":\"Chinese (Taiwan)\",cv:\"Chuvash\",co:\"Corsican\",cr:\"Cree\",hr:\"Croatian\",cs:\"Czech\",da:\"Danish\",nl:\"Dutch (Standard)\",\"nl-BE\":\"Dutch (Belgian)\",en:\"English\",\"en-AU\":\"English (Australia)\",\"en-BZ\":\"English (Belize)\",\"en-CA\":\"English (Canada)\",\"en-IE\":\"English (Ireland)\",\"en-JM\":\"English (Jamaica)\",\"en-NZ\":\"English (New Zealand)\",\"en-PH\":\"English (Philippines)\",\"en-ZA\":\"English (South Africa)\",\"en-TT\":\"English (Trinidad & Tobago)\",\"en-GB\":\"English (United Kingdom)\",\"en-US\":\"English (United States)\",\"en-ZW\":\"English (Zimbabwe)\",eo:\"Esperanto\",et:\"Estonian\",fo:\"Faeroese\",fj:\"Fijian\",fi:\"Finnish\",fr:\"French (Standard)\",\"fr-BE\":\"French (Belgium)\",\"fr-CA\":\"French (Canada)\",\"fr-FR\":\"French (France)\",\"fr-LU\":\"French (Luxembourg)\",\"fr-MC\":\"French (Monaco)\",\"fr-CH\":\"French (Switzerland)\",fy:\"Frisian\",fur:\"Friulian\",gd:\"Gaelic (Scots)\",\"gd-IE\":\"Gaelic (Irish)\",gl:\"Galacian\",ka:\"Georgian\",de:\"German (Standard)\",\"de-AT\":\"German (Austria)\",\"de-DE\":\"German (Germany)\",\"de-LI\":\"German (Liechtenstein)\",\"de-LU\":\"German (Luxembourg)\",\"de-CH\":\"German (Switzerland)\",el:\"Greek\",gu:\"Gujurati\",ht:\"Haitian\",he:\"Hebrew\",hi:\"Hindi\",hu:\"Hungarian\",is:\"Icelandic\",id:\"Indonesian\",iu:\"Inuktitut\",ga:\"Irish\",it:\"Italian (Standard)\",\"it-CH\":\"Italian (Switzerland)\",ja:\"Japanese\",kn:\"Kannada\",ks:\"Kashmiri\",kk:\"Kazakh\",km:\"Khmer\",ky:\"Kirghiz\",tlh:\"Klingon\",ko:\"Korean\",\"ko-KP\":\"Korean (North Korea)\",\"ko-KR\":\"Korean (South Korea)\",la:\"Latin\",lv:\"Latvian\",lt:\"Lithuanian\",lb:\"Luxembourgish\",mk:\"North Macedonia\",ms:\"Malay\",ml:\"Malayalam\",mt:\"Maltese\",mi:\"Maori\",mr:\"Marathi\",mo:\"Moldavian\",nv:\"Navajo\",ng:\"Ndonga\",ne:\"Nepali\",no:\"Norwegian\",nb:\"Norwegian (Bokmal)\",nn:\"Norwegian (Nynorsk)\",oc:\"Occitan\",or:\"Oriya\",om:\"Oromo\",fa:\"Persian\",\"fa-IR\":\"Persian/Iran\",pl:\"Polish\",pt:\"Portuguese\",\"pt-BR\":\"Portuguese (Brazil)\",pa:\"Punjabi\",\"pa-IN\":\"Punjabi (India)\",\"pa-PK\":\"Punjabi (Pakistan)\",qu:\"Quechua\",rm:\"Rhaeto-Romanic\",ro:\"Romanian\",\"ro-MO\":\"Romanian (Moldavia)\",ru:\"Russian\",\"ru-MO\":\"Russian (Moldavia)\",sz:\"Sami (Lappish)\",sg:\"Sango\",sa:\"Sanskrit\",sc:\"Sardinian\",sd:\"Sindhi\",si:\"Singhalese\",sr:\"Serbian\",sk:\"Slovak\",sl:\"Slovenian\",so:\"Somani\",sb:\"Sorbian\",es:\"Spanish\",\"es-AR\":\"Spanish (Argentina)\",\"es-BO\":\"Spanish (Bolivia)\",\"es-CL\":\"Spanish (Chile)\",\"es-CO\":\"Spanish (Colombia)\",\"es-CR\":\"Spanish (Costa Rica)\",\"es-DO\":\"Spanish (Dominican Republic)\",\"es-EC\":\"Spanish (Ecuador)\",\"es-SV\":\"Spanish (El Salvador)\",\"es-GT\":\"Spanish (Guatemala)\",\"es-HN\":\"Spanish (Honduras)\",\"es-MX\":\"Spanish (Mexico)\",\"es-NI\":\"Spanish (Nicaragua)\",\"es-PA\":\"Spanish (Panama)\",\"es-PY\":\"Spanish (Paraguay)\",\"es-PE\":\"Spanish (Peru)\",\"es-PR\":\"Spanish (Puerto Rico)\",\"es-ES\":\"Spanish (Spain)\",\"es-UY\":\"Spanish (Uruguay)\",\"es-VE\":\"Spanish (Venezuela)\",sx:\"Sutu\",sw:\"Swahili\",sv:\"Swedish\",\"sv-FI\":\"Swedish (Finland)\",\"sv-SV\":\"Swedish (Sweden)\",ta:\"Tamil\",tt:\"Tatar\",te:\"Teluga\",th:\"Thai\",tig:\"Tigre\",ts:\"Tsonga\",tn:\"Tswana\",tr:\"Turkish\",tk:\"Turkmen\",uk:\"Ukrainian\",hsb:\"Upper Sorbian\",ur:\"Urdu\",ve:\"Venda\",vi:\"Vietnamese\",vo:\"Volapuk\",wa:\"Walloon\",cy:\"Welsh\",xh:\"Xhosa\",ji:\"Yiddish\",zu:\"Zulu\"}[t]&&(this.internal.languageSettings.languageCode=t,!1===this.internal.languageSettings.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.write(\"/Lang (\"+this.internal.languageSettings.languageCode+\")\")})),this.internal.languageSettings.isSubscribed=!0)),this},Vt=E.API,Gt=Vt.getCharWidthsArray=function(e,r){var n,i,a=(r=r||{}).font||this.internal.getFont(),o=r.fontSize||this.internal.getFontSize(),s=r.charSpace||this.internal.getCharSpace(),c=r.widths?r.widths:a.metadata.Unicode.widths,u=c.fof?c.fof:1,h=r.kerning?r.kerning:a.metadata.Unicode.kerning,l=h.fof?h.fof:1,f=!1!==r.doKerning,d=0,p=e.length,g=0,m=c[0]||u,v=[];for(n=0;n<p;n++)i=e.charCodeAt(n),\"function\"==typeof a.metadata.widthOfString?v.push((a.metadata.widthOfGlyph(a.metadata.characterToGlyph(i))+s*(1e3/o)||0)/1e3):(d=f&&\"object\"===t(h[i])&&!isNaN(parseInt(h[i][g],10))?h[i][g]/l:0,v.push((c[i]||m)/u+d)),g=i;return v},Yt=Vt.getStringUnitWidth=function(t,e){var r=(e=e||{}).fontSize||this.internal.getFontSize(),n=e.font||this.internal.getFont(),i=e.charSpace||this.internal.getCharSpace();return Vt.processArabic&&(t=Vt.processArabic(t)),\"function\"==typeof n.metadata.widthOfString?n.metadata.widthOfString(t,r,i)/r:Gt.apply(this,arguments).reduce((function(t,e){return t+e}),0)},Jt=function(t,e,r,n){for(var i=[],a=0,o=t.length,s=0;a!==o&&s+e[a]<r;)s+=e[a],a++;i.push(t.slice(0,a));var c=a;for(s=0;a!==o;)s+e[a]>n&&(i.push(t.slice(c,a)),s=0,c=a),s+=e[a],a++;return c!==a&&i.push(t.slice(c,a)),i},Xt=function(t,e,r){r||(r={});var n,i,a,o,s,c,u,h=[],l=[h],f=r.textIndent||0,d=0,p=0,g=t.split(\" \"),m=Gt.apply(this,[\" \",r])[0];if(c=-1===r.lineIndent?g[0].length+2:r.lineIndent||0){var v=Array(c).join(\" \"),b=[];g.map((function(t){(t=t.split(/\\s*\\n/)).length>1?b=b.concat(t.map((function(t,e){return(e&&t.length?\"\\n\":\"\")+t}))):b.push(t[0])})),g=b,c=Yt.apply(this,[v,r])}for(a=0,o=g.length;a<o;a++){var y=0;if(n=g[a],c&&\"\\n\"==n[0]&&(n=n.substr(1),y=1),f+d+(p=(i=Gt.apply(this,[n,r])).reduce((function(t,e){return t+e}),0))>e||y){if(p>e){for(s=Jt.apply(this,[n,i,e-(f+d),e]),h.push(s.shift()),h=[s.pop()];s.length;)l.push([s.shift()]);p=i.slice(n.length-(h[0]?h[0].length:0)).reduce((function(t,e){return t+e}),0)}else h=[n];l.push(h),f=p+c,d=m}else h.push(n),f+=d+p,d=m}return u=c?function(t,e){return(e?v:\"\")+t.join(\" \")}:function(t){return t.join(\" \")},l.map(u)},Vt.splitTextToSize=function(t,e,r){var n,i=(r=r||{}).fontSize||this.internal.getFontSize(),a=function(t){if(t.widths&&t.kerning)return{widths:t.widths,kerning:t.kerning};var e=this.internal.getFont(t.fontName,t.fontStyle);return e.metadata.Unicode?{widths:e.metadata.Unicode.widths||{0:1},kerning:e.metadata.Unicode.kerning||{}}:{font:e.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}.call(this,r);n=Array.isArray(t)?t:String(t).split(/\\r?\\n/);var o=1*this.internal.scaleFactor*e/i;a.textIndent=r.textIndent?1*r.textIndent*this.internal.scaleFactor/i:0,a.lineIndent=r.lineIndent;var s,c,u=[];for(s=0,c=n.length;s<c;s++)u=u.concat(Xt.apply(this,[n[s],o,a]));return u},function(e){e.__fontmetrics__=e.__fontmetrics__||{};for(var r=\"klmnopqrstuvwxyz\",n={},i={},a=0;a<r.length;a++)n[r[a]]=\"0123456789abcdef\"[a],i[\"0123456789abcdef\"[a]]=r[a];var o=function(t){return\"0x\"+parseInt(t,10).toString(16)},s=e.__fontmetrics__.compress=function(e){var r,n,a,c,u=[\"{\"];for(var h in e){if(r=e[h],isNaN(parseInt(h,10))?n=\"'\"+h+\"'\":(h=parseInt(h,10),n=(n=o(h).slice(2)).slice(0,-1)+i[n.slice(-1)]),\"number\"==typeof r)r<0?(a=o(r).slice(3),c=\"-\"):(a=o(r).slice(2),c=\"\"),a=c+a.slice(0,-1)+i[a.slice(-1)];else{if(\"object\"!==t(r))throw new Error(\"Don't know what to do with value type \"+t(r)+\".\");a=s(r)}u.push(n+a)}return u.push(\"}\"),u.join(\"\")},c=e.__fontmetrics__.uncompress=function(t){if(\"string\"!=typeof t)throw new Error(\"Invalid argument passed to uncompress.\");for(var e,r,i,a,o={},s=1,c=o,u=[],h=\"\",l=\"\",f=t.length-1,d=1;d<f;d+=1)\"'\"==(a=t[d])?e?(i=e.join(\"\"),e=void 0):e=[]:e?e.push(a):\"{\"==a?(u.push([c,i]),c={},i=void 0):\"}\"==a?((r=u.pop())[0][r[1]]=c,i=void 0,c=r[0]):\"-\"==a?s=-1:void 0===i?n.hasOwnProperty(a)?(h+=n[a],i=parseInt(h,16)*s,s=1,h=\"\"):h+=a:n.hasOwnProperty(a)?(l+=n[a],c[i]=parseInt(l,16)*s,s=1,i=void 0,l=\"\"):l+=a;return o},u={codePages:[\"WinAnsiEncoding\"],WinAnsiEncoding:c(\"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\")},h={Unicode:{Courier:u,\"Courier-Bold\":u,\"Courier-BoldOblique\":u,\"Courier-Oblique\":u,Helvetica:u,\"Helvetica-Bold\":u,\"Helvetica-BoldOblique\":u,\"Helvetica-Oblique\":u,\"Times-Roman\":u,\"Times-Bold\":u,\"Times-BoldItalic\":u,\"Times-Italic\":u}},l={Unicode:{\"Courier-Oblique\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-BoldItalic\":c(\"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"),\"Helvetica-Bold\":c(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),Courier:c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-BoldOblique\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Bold\":c(\"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"),Symbol:c(\"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"),Helvetica:c(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"),\"Helvetica-BoldOblique\":c(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),ZapfDingbats:c(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-Bold\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Italic\":c(\"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"),\"Times-Roman\":c(\"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"),\"Helvetica-Oblique\":c(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\")}};e.events.push([\"addFont\",function(t){var e=t.font,r=l.Unicode[e.postScriptName];r&&(e.metadata.Unicode={},e.metadata.Unicode.widths=r.widths,e.metadata.Unicode.kerning=r.kerning);var n=h.Unicode[e.postScriptName];n&&(e.metadata.Unicode.encoding=n,e.encoding=n.codePages[0])}])}(E.API),\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r};t.API.events.push([\"addFont\",function(r){var n=void 0,i=r.font,a=r.instance;if(!i.isStandardFont){if(void 0===a)throw new Error(\"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");if(\"string\"!=typeof(n=!1===a.existsFileInVFS(i.postScriptName)?a.loadFile(i.postScriptName):a.getFileFromVFS(i.postScriptName)))throw new Error(\"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");!function(r,n){n=/^\\x00\\x01\\x00\\x00/.test(n)?e(n):e(u(n)),r.metadata=t.API.TTFFont.open(n),r.metadata.Unicode=r.metadata.Unicode||{encoding:{},kerning:{},widths:[]},r.metadata.glyIdsUsed=[0]}(i,n)}}])}(E),\n/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){function e(){return(n.canvg?Promise.resolve(n.canvg):import(\"canvg\")).catch((function(t){return Promise.reject(new Error(\"Could not load canvg: \"+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error(\"jsPDF.addSvgAsImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");if(isNaN(i)||isNaN(o))throw a.error(\"jsPDF.addSvgAsImage: Invalid measurements\",arguments),new Error(\"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\");var h=document.createElement(\"canvas\");h.width=i,h.height=o;var l=h.getContext(\"2d\");l.fillStyle=\"#fff\",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error(\"Could not load canvg.\"))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL(\"image/jpeg\",1),r,n,i,o,c,u)}))}}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,\"g\"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),\"g\"),r=this.pdfEscape16(this.internal.getNumberOfPages()+\"\",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:\"UseNone\",value:\"UseNone\",type:\"name\",explicitSet:!1,valueSet:[\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"UseOC\"],pdfVersion:1.3},Direction:{defaultValue:\"L2R\",value:\"L2R\",type:\"name\",explicitSet:!1,valueSet:[\"L2R\",\"R2L\"],pdfVersion:1.3},ViewArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},ViewClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintScaling:{defaultValue:\"AppDefault\",value:\"AppDefault\",type:\"name\",explicitSet:!1,valueSet:[\"AppDefault\",\"None\"],pdfVersion:1.6},Duplex:{defaultValue:\"\",value:\"none\",type:\"name\",explicitSet:!1,valueSet:[\"Simplex\",\"DuplexFlipShortEdge\",\"DuplexFlipLongEdge\",\"none\"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:\"\",value:\"\",type:\"array\",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:\"integer\",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,\"reset\"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1}if(\"object\"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if(\"boolean\"===n[a].type&&\"boolean\"==typeof o)n[a].value=o;else if(\"name\"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if(\"integer\"===n[a].type&&Number.isInteger(o))n[a].value=o;else if(\"array\"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&\"number\"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)\"number\"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(\" \"))}n[a].value=\"[\"+u.join(\" \")+\"]\"}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0}return!1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&(\"name\"===n[t].type?e.push(\"/\"+t+\" /\"+n[t].value):e.push(\"/\"+t+\" \"+n[t].value));0!==e.length&&this.internal.write(\"/ViewerPreferences\\n<<\\n\"+e.join(\"\\n\")+\"\\n>>\")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},\n/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){var e=function(){var t='<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"><rdf:Description rdf:about=\"\" xmlns:jspdf=\"'+this.internal.__metadata__.namespaceuri+'\"><jspdf:metadata>',e=unescape(encodeURIComponent('<x:xmpmeta xmlns:x=\"adobe:ns:meta/\">')),r=unescape(encodeURIComponent(t)),n=unescape(encodeURIComponent(this.internal.__metadata__.metadata)),i=unescape(encodeURIComponent(\"</jspdf:metadata></rdf:Description></rdf:RDF>\")),a=unescape(encodeURIComponent(\"</x:xmpmeta>\")),o=r.length+n.length+i.length+e.length+a.length;this.internal.__metadata__.metadata_object_number=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+o+\" >>\"),this.internal.write(\"stream\"),this.internal.write(e+r+n+i+a),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")},r=function(){this.internal.__metadata__.metadata_object_number&&this.internal.write(\"/Metadata \"+this.internal.__metadata__.metadata_object_number+\" 0 R\")};t.addMetadata=function(t,n){return void 0===this.internal.__metadata__&&(this.internal.__metadata__={metadata:t,namespaceuri:n||\"http://jspdf.default.namespaceuri/\"},this.internal.events.subscribe(\"putCatalog\",r),this.internal.events.subscribe(\"postPutResources\",e)),this}}(E.API),function(t){var e=t.API,r=e.pdfEscape16=function(t,e){for(var r,n=e.metadata.Unicode.widths,i=[\"\",\"0\",\"00\",\"000\",\"0000\"],a=[\"\"],o=0,s=t.length;o<s;++o){if(r=e.metadata.characterToGlyph(t.charCodeAt(o)),e.metadata.glyIdsUsed.push(r),e.metadata.toUnicode[r]=t.charCodeAt(o),-1==n.indexOf(r)&&(n.push(r),n.push([parseInt(e.metadata.widthOfGlyph(r),10)])),\"0\"==r)return a.join(\"\");r=r.toString(16),a.push(i[4-r.length],r)}return a.join(\"\")},n=function(t){var e,r,n,i,a,o,s;for(a=\"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000><ffff>\\nendcodespacerange\",n=[],o=0,s=(r=Object.keys(t).sort((function(t,e){return t-e}))).length;o<s;o++)e=r[o],n.length>=100&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\",n=[]),void 0!==t[e]&&null!==t[e]&&\"function\"==typeof t[e].toString&&(i=(\"0000\"+t[e].toString(16)).slice(-4),e=(\"0000\"+(+e).toString(16)).slice(-4),n.push(\"<\"+e+\"><\"+i+\">\"));return n.length&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\\n\"),a+=\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont&&\"Identity-H\"===r.encoding){for(var s=r.metadata.Unicode.widths,c=r.metadata.subset.encode(r.metadata.glyIdsUsed,1),u=\"\",h=0;h<c.length;h++)u+=String.fromCharCode(c[h]);var l=a();o({data:u,addLength1:!0,objectId:l}),i(\"endobj\");var f=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:f}),i(\"endobj\");var d=a();i(\"<<\"),i(\"/Type /FontDescriptor\"),i(\"/FontName /\"+F(r.fontName)),i(\"/FontFile2 \"+l+\" 0 R\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/Flags \"+r.metadata.flags),i(\"/StemV \"+r.metadata.stemV),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\">>\"),i(\"endobj\");var p=a();i(\"<<\"),i(\"/Type /Font\"),i(\"/BaseFont /\"+F(r.fontName)),i(\"/FontDescriptor \"+d+\" 0 R\"),i(\"/W \"+t.API.PDFObject.convert(s)),i(\"/CIDToGIDMap /Identity\"),i(\"/DW 1000\"),i(\"/Subtype /CIDFontType2\"),i(\"/CIDSystemInfo\"),i(\"<<\"),i(\"/Supplement 0\"),i(\"/Registry (Adobe)\"),i(\"/Ordering (\"+r.encoding+\")\"),i(\">>\"),i(\">>\"),i(\"endobj\"),r.objectNumber=a(),i(\"<<\"),i(\"/Type /Font\"),i(\"/Subtype /Type0\"),i(\"/ToUnicode \"+f+\" 0 R\"),i(\"/BaseFont /\"+F(r.fontName)),i(\"/Encoding /\"+r.encoding),i(\"/DescendantFonts [\"+p+\" 0 R]\"),i(\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont&&\"WinAnsiEncoding\"===r.encoding){for(var s=r.metadata.rawData,c=\"\",u=0;u<s.length;u++)c+=String.fromCharCode(s[u]);var h=a();o({data:c,addLength1:!0,objectId:h}),i(\"endobj\");var l=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:l}),i(\"endobj\");var f=a();i(\"<<\"),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\"/StemV \"+r.metadata.stemV),i(\"/Type /FontDescriptor\"),i(\"/FontFile2 \"+h+\" 0 R\"),i(\"/Flags 96\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/FontName /\"+F(r.fontName)),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\">>\"),i(\"endobj\"),r.objectNumber=a();for(var d=0;d<r.metadata.hmtx.widths.length;d++)r.metadata.hmtx.widths[d]=parseInt(r.metadata.hmtx.widths[d]*(1e3/r.metadata.head.unitsPerEm));i(\"<</Subtype/TrueType/Type/Font/ToUnicode \"+l+\" 0 R/BaseFont/\"+F(r.fontName)+\"/FontDescriptor \"+f+\" 0 R/Encoding/\"+r.encoding+\" /FirstChar 29 /LastChar 255 /Widths \"+t.API.PDFObject.convert(r.metadata.hmtx.widths)+\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);var i=function(t){var e,n=t.text||\"\",i=t.x,a=t.y,o=t.options||{},s=t.mutex||{},c=s.pdfEscape,u=s.activeFontKey,h=s.fonts,l=u,f=\"\",d=0,p=\"\",g=h[l].encoding;if(\"Identity-H\"!==h[l].encoding)return{text:n,x:i,y:a,options:o,mutex:s};for(p=n,l=u,Array.isArray(n)&&(p=n[0]),d=0;d<p.length;d+=1)h[l].metadata.hasOwnProperty(\"cmap\")&&(e=h[l].metadata.cmap.unicode.codeMap[p[d].charCodeAt(0)]),e||p[d].charCodeAt(0)<256&&h[l].metadata.hasOwnProperty(\"Unicode\")?f+=p[d]:f+=\"\";var m=\"\";return parseInt(l.slice(1))<14||\"WinAnsiEncoding\"===g?m=c(f,l).split(\"\").map((function(t){return t.charCodeAt(0).toString(16)})).join(\"\"):\"Identity-H\"===g&&(m=r(f,h[l])),s.isHex=!0,{text:m,x:i,y:a,options:o,mutex:s}};e.events.push([\"postProcessText\",function(t){var e=t.text||\"\",r=[],n={text:e,x:t.x,y:t.y,options:t.options,mutex:t.mutex};if(Array.isArray(e)){var a=0;for(a=0;a<e.length;a+=1)Array.isArray(e[a])&&3===e[a].length?r.push([i(Object.assign({},n,{text:e[a][0]})).text,e[a][1],e[a][2]]):r.push(i(Object.assign({},n,{text:e[a]})).text);t.text=r}else t.text=i(Object.assign({},n,{text:e})).text}])}(E),\n/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){return void 0===this.internal.vFS&&(this.internal.vFS={}),!0};t.existsFileInVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]},t.addFileToVFS=function(t,r){return e.call(this),this.internal.vFS[t]=r,this},t.getFileFromVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]?this.internal.vFS[t]:null}}(E.API),\n/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\nfunction(t){t.__bidiEngine__=t.prototype.__bidiEngine__=function(t){var r,n,i,a,o,s,c,u=e,h=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],l=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],f={L:0,R:1,EN:2,AN:3,N:4,B:5,S:6},d={0:0,5:1,6:2,7:3,32:4,251:5,254:6,255:7},p=[\"(\",\")\",\"(\",\"<\",\">\",\"<\",\"[\",\"]\",\"[\",\"{\",\"}\",\"{\",\"«\",\"»\",\"«\",\"‹\",\"›\",\"‹\",\"⁅\",\"⁆\",\"⁅\",\"⁽\",\"⁾\",\"⁽\",\"₍\",\"₎\",\"₍\",\"≤\",\"≥\",\"≤\",\"〈\",\"〉\",\"〈\",\"﹙\",\"﹚\",\"﹙\",\"﹛\",\"﹜\",\"﹛\",\"﹝\",\"﹞\",\"﹝\",\"﹤\",\"﹥\",\"﹤\"],g=new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/),m=!1,v=0;this.__bidiEngine__={};var b=function(t){var e=t.charCodeAt(),r=e>>8,n=d[r];return void 0!==n?u[256*n+(255&e)]:252===r||253===r?\"AL\":g.test(r)?\"L\":8===r?\"R\":\"N\"},y=function(t){for(var e,r=0;r<t.length;r++){if(\"L\"===(e=b(t.charAt(r))))return!1;if(\"R\"===e)return!0}return!1},w=function(t,e,o,s){var c,u,h,l,f=e[s];switch(f){case\"L\":case\"R\":m=!1;break;case\"N\":case\"AN\":break;case\"EN\":m&&(f=\"AN\");break;case\"AL\":m=!0,f=\"R\";break;case\"WS\":f=\"N\";break;case\"CS\":s<1||s+1>=e.length||\"EN\"!==(c=o[s-1])&&\"AN\"!==c||\"EN\"!==(u=e[s+1])&&\"AN\"!==u?f=\"N\":m&&(u=\"AN\"),f=u===c?u:\"N\";break;case\"ES\":f=\"EN\"===(c=s>0?o[s-1]:\"B\")&&s+1<e.length&&\"EN\"===e[s+1]?\"EN\":\"N\";break;case\"ET\":if(s>0&&\"EN\"===o[s-1]){f=\"EN\";break}if(m){f=\"N\";break}for(h=s+1,l=e.length;h<l&&\"ET\"===e[h];)h++;f=h<l&&\"EN\"===e[h]?\"EN\":\"N\";break;case\"NSM\":if(i&&!a){for(l=e.length,h=s+1;h<l&&\"NSM\"===e[h];)h++;if(h<l){var d=t[s],p=d>=1425&&d<=2303||64286===d;if(c=e[h],p&&(\"R\"===c||\"AL\"===c)){f=\"R\";break}}}f=s<1||\"B\"===(c=e[s-1])?\"N\":o[s-1];break;case\"B\":m=!1,r=!0,f=v;break;case\"S\":n=!0,f=\"N\";break;case\"LRE\":case\"RLE\":case\"LRO\":case\"RLO\":case\"PDF\":m=!1;break;case\"BN\":f=\"N\"}return f},N=function(t,e,r){var n=t.split(\"\");return r&&L(n,r,{hiLevel:v}),n.reverse(),e&&e.reverse(),n.join(\"\")},L=function(t,e,i){var a,o,s,c,u,d=-1,p=t.length,g=0,y=[],N=v?l:h,L=[];for(m=!1,r=!1,n=!1,o=0;o<p;o++)L[o]=b(t[o]);for(s=0;s<p;s++){if(u=g,y[s]=w(t,L,y,s),a=240&(g=N[u][f[y[s]]]),g&=15,e[s]=c=N[g][5],a>0)if(16===a){for(o=d;o<s;o++)e[o]=1;d=-1}else d=-1;if(N[g][6])-1===d&&(d=s);else if(d>-1){for(o=d;o<s;o++)e[o]=c;d=-1}\"B\"===L[s]&&(e[s]=0),i.hiLevel|=c}n&&function(t,e,r){for(var n=0;n<r;n++)if(\"S\"===t[n]){e[n]=v;for(var i=n-1;i>=0&&\"WS\"===t[i];i--)e[i]=v}}(L,e,p)},A=function(t,e,n,i,a){if(!(a.hiLevel<t)){if(1===t&&1===v&&!r)return e.reverse(),void(n&&n.reverse());for(var o,s,c,u,h=e.length,l=0;l<h;){if(i[l]>=t){for(c=l+1;c<h&&i[c]>=t;)c++;for(u=l,s=c-1;u<s;u++,s--)o=e[u],e[u]=e[s],e[s]=o,n&&(o=n[u],n[u]=n[s],n[s]=o);l=c}l++}}},x=function(t,e,r){var n=t.split(\"\"),i={hiLevel:v};return r||(r=[]),L(n,r,i),function(t,e,r){if(0!==r.hiLevel&&c)for(var n,i=0;i<t.length;i++)1===e[i]&&(n=p.indexOf(t[i]))>=0&&(t[i]=p[n+1])}(n,r,i),A(2,n,e,r,i),A(1,n,e,r,i),n.join(\"\")};return this.__bidiEngine__.doBidiReorder=function(t,e,r){if(function(t,e){if(e)for(var r=0;r<t.length;r++)e[r]=r;void 0===a&&(a=y(t)),void 0===s&&(s=y(t))}(t,e),i||!o||s)if(i&&o&&a^s)v=a?1:0,t=N(t,e,r);else if(!i&&o&&s)v=a?1:0,t=x(t,e,r),t=N(t,e);else if(!i||a||o||s){if(i&&!o&&a^s)t=N(t,e),a?(v=0,t=x(t,e,r)):(v=1,t=x(t,e,r),t=N(t,e));else if(i&&a&&!o&&s)v=1,t=x(t,e,r),t=N(t,e);else if(!i&&!o&&a^s){var n=c;a?(v=1,t=x(t,e,r),v=0,c=!1,t=x(t,e,r),c=n):(v=0,t=x(t,e,r),t=N(t,e),v=1,c=!1,t=x(t,e,r),c=n,t=N(t,e))}}else v=0,t=x(t,e,r);else v=a?1:0,t=x(t,e,r);return t},this.__bidiEngine__.setOptions=function(t){t&&(i=t.isInputVisual,o=t.isOutputVisual,a=t.isInputRtl,s=t.isOutputRtl,c=t.isSymmetricSwapping)},this.__bidiEngine__.setOptions(t),this.__bidiEngine__};var e=[\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"S\",\"B\",\"S\",\"WS\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"B\",\"B\",\"S\",\"WS\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"CS\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"L\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"ET\",\"ET\",\"EN\",\"EN\",\"N\",\"L\",\"N\",\"N\",\"N\",\"EN\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"N\",\"N\",\"AL\",\"ET\",\"ET\",\"AL\",\"CS\",\"AL\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"ET\",\"AN\",\"AN\",\"AL\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"BN\",\"BN\",\"BN\",\"L\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"B\",\"LRE\",\"RLE\",\"PDF\",\"LRO\",\"RLO\",\"CS\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"N\",\"LRI\",\"RLI\",\"FSI\",\"PDI\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"EN\",\"L\",\"N\",\"N\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"L\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"NSM\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"ES\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"CS\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"N\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\"],r=new t.__bidiEngine__({isInputVisual:!0});t.API.events.push([\"postProcessText\",function(t){var e=t.text;t.x,t.y;var n=t.options||{};t.mutex,n.lang;var i=[];if(n.isInputVisual=\"boolean\"!=typeof n.isInputVisual||n.isInputVisual,r.setOptions(n),\"[object Array]\"===Object.prototype.toString.call(e)){var a=0;for(i=[],a=0;a<e.length;a+=1)\"[object Array]\"===Object.prototype.toString.call(e[a])?i.push([r.doBidiReorder(e[a][0]),e[a][1],e[a][2]]):i.push([r.doBidiReorder(e[a])]);t.text=i}else t.text=r.doBidiReorder(e);r.setOptions({isInputVisual:!0})}])}(E),E.API.TTFFont=function(){function t(t){var e;if(this.rawData=t,e=this.contents=new ne(t),this.contents.pos=4,\"ttcf\"===e.readString(4))throw new Error(\"TTCF not supported.\");e.pos=0,this.parse(),this.subset=new Le(this),this.registerTTF()}return t.open=function(e){return new t(e)},t.prototype.parse=function(){return this.directory=new ie(this.contents),this.head=new se(this),this.name=new pe(this),this.cmap=new ue(this),this.toUnicode={},this.hhea=new he(this),this.maxp=new ge(this),this.hmtx=new me(this),this.post=new fe(this),this.os2=new le(this),this.loca=new Ne(this),this.glyf=new be(this),this.ascender=this.os2.exists&&this.os2.ascender||this.hhea.ascender,this.decender=this.os2.exists&&this.os2.decender||this.hhea.decender,this.lineGap=this.os2.exists&&this.os2.lineGap||this.hhea.lineGap,this.bbox=[this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax]},t.prototype.registerTTF=function(){var t,e,r,n,i;if(this.scaleFactor=1e3/this.head.unitsPerEm,this.bbox=function(){var e,r,n,i;for(i=[],e=0,r=(n=this.bbox).length;e<r;e++)t=n[e],i.push(Math.round(t*this.scaleFactor));return i}.call(this),this.stemV=0,this.post.exists?(r=255&(n=this.post.italic_angle),0!=(32768&(e=n>>16))&&(e=-(1+(65535^e))),this.italicAngle=+(e+\".\"+r)):this.italicAngle=0,this.ascender=Math.round(this.ascender*this.scaleFactor),this.decender=Math.round(this.decender*this.scaleFactor),this.lineGap=Math.round(this.lineGap*this.scaleFactor),this.capHeight=this.os2.exists&&this.os2.capHeight||this.ascender,this.xHeight=this.os2.exists&&this.os2.xHeight||0,this.familyClass=(this.os2.exists&&this.os2.familyClass||0)>>8,this.isSerif=1===(i=this.familyClass)||2===i||3===i||4===i||5===i||7===i,this.isScript=10===this.familyClass,this.flags=0,this.post.isFixedPitch&&(this.flags|=1),this.isSerif&&(this.flags|=2),this.isScript&&(this.flags|=8),0!==this.italicAngle&&(this.flags|=64),this.flags|=32,!this.cmap.unicode)throw new Error(\"No unicode cmap for font\")},t.prototype.characterToGlyph=function(t){var e;return(null!=(e=this.cmap.unicode)?e.codeMap[t]:void 0)||0},t.prototype.widthOfGlyph=function(t){var e;return e=1e3/this.head.unitsPerEm,this.hmtx.forGlyph(t).advance*e},t.prototype.widthOfString=function(t,e,r){var n,i,a,o;for(a=0,i=0,o=(t=\"\"+t).length;0<=o?i<o:i>o;i=0<=o?++i:--i)n=t.charCodeAt(i),a+=this.widthOfGlyph(this.characterToGlyph(n))+r*(1e3/e)||0;return a*(e/1e3)},t.prototype.lineHeight=function(t,e){var r;return null==e&&(e=!1),r=e?this.lineGap:0,(this.ascender+r-this.decender)/1e3*t},t}();var re,ne=function(){function t(t){this.data=null!=t?t:[],this.pos=0,this.length=this.data.length}return t.prototype.readByte=function(){return this.data[this.pos++]},t.prototype.writeByte=function(t){return this.data[this.pos++]=t},t.prototype.readUInt32=function(){return 16777216*this.readByte()+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()},t.prototype.writeUInt32=function(t){return this.writeByte(t>>>24&255),this.writeByte(t>>16&255),this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt32=function(){var t;return(t=this.readUInt32())>=2147483648?t-4294967296:t},t.prototype.writeInt32=function(t){return t<0&&(t+=4294967296),this.writeUInt32(t)},t.prototype.readUInt16=function(){return this.readByte()<<8|this.readByte()},t.prototype.writeUInt16=function(t){return this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt16=function(){var t;return(t=this.readUInt16())>=32768?t-65536:t},t.prototype.writeInt16=function(t){return t<0&&(t+=65536),this.writeUInt16(t)},t.prototype.readString=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;e=0<=t?++e:--e)r[e]=String.fromCharCode(this.readByte());return r.join(\"\")},t.prototype.writeString=function(t){var e,r,n;for(n=[],e=0,r=t.length;0<=r?e<r:e>r;e=0<=r?++e:--e)n.push(this.writeByte(t.charCodeAt(e)));return n},t.prototype.readShort=function(){return this.readInt16()},t.prototype.writeShort=function(t){return this.writeInt16(t)},t.prototype.readLongLong=function(){var t,e,r,n,i,a,o,s;return t=this.readByte(),e=this.readByte(),r=this.readByte(),n=this.readByte(),i=this.readByte(),a=this.readByte(),o=this.readByte(),s=this.readByte(),128&t?-1*(72057594037927940*(255^t)+281474976710656*(255^e)+1099511627776*(255^r)+4294967296*(255^n)+16777216*(255^i)+65536*(255^a)+256*(255^o)+(255^s)+1):72057594037927940*t+281474976710656*e+1099511627776*r+4294967296*n+16777216*i+65536*a+256*o+s},t.prototype.writeLongLong=function(t){var e,r;return e=Math.floor(t/4294967296),r=4294967295&t,this.writeByte(e>>24&255),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e),this.writeByte(r>>24&255),this.writeByte(r>>16&255),this.writeByte(r>>8&255),this.writeByte(255&r)},t.prototype.readInt=function(){return this.readInt32()},t.prototype.writeInt=function(t){return this.writeInt32(t)},t.prototype.read=function(t){var e,r;for(e=[],r=0;0<=t?r<t:r>t;r=0<=t?++r:--r)e.push(this.readByte());return e},t.prototype.write=function(t){var e,r,n,i;for(i=[],r=0,n=t.length;r<n;r++)e=t[r],i.push(this.writeByte(e));return i},t}(),ie=function(){var t;function e(t){var e,r,n;for(this.scalarType=t.readInt(),this.tableCount=t.readShort(),this.searchRange=t.readShort(),this.entrySelector=t.readShort(),this.rangeShift=t.readShort(),this.tables={},r=0,n=this.tableCount;0<=n?r<n:r>n;r=0<=n?++r:--r)e={tag:t.readString(4),checksum:t.readInt(),offset:t.readInt(),length:t.readInt()},this.tables[e.tag]=e}return e.prototype.encode=function(e){var r,n,i,a,o,s,c,u,h,l,f,d,p;for(p in f=Object.keys(e).length,s=Math.log(2),h=16*Math.floor(Math.log(f)/s),a=Math.floor(h/s),u=16*f-h,(n=new ne).writeInt(this.scalarType),n.writeShort(f),n.writeShort(h),n.writeShort(a),n.writeShort(u),i=16*f,c=n.pos+i,o=null,d=[],e)for(l=e[p],n.writeString(p),n.writeInt(t(l)),n.writeInt(c),n.writeInt(l.length),d=d.concat(l),\"head\"===p&&(o=c),c+=l.length;c%4;)d.push(0),c++;return n.write(d),r=2981146554-t(n.data),n.pos=o+8,n.writeUInt32(r),n.data},t=function(t){var e,r,n,i;for(t=ve.call(t);t.length%4;)t.push(0);for(n=new ne(t),r=0,e=0,i=t.length;e<i;e=e+=4)r+=n.readUInt32();return 4294967295&r},e}(),ae={}.hasOwnProperty,oe=function(t,e){for(var r in e)ae.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t};re=function(){function t(t){var e;this.file=t,e=this.file.directory.tables[this.tag],this.exists=!!e,e&&(this.offset=e.offset,this.length=e.length,this.parse(this.file.contents))}return t.prototype.parse=function(){},t.prototype.encode=function(){},t.prototype.raw=function(){return this.exists?(this.file.contents.pos=this.offset,this.file.contents.read(this.length)):null},t}();var se=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"head\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.revision=t.readInt(),this.checkSumAdjustment=t.readInt(),this.magicNumber=t.readInt(),this.flags=t.readShort(),this.unitsPerEm=t.readShort(),this.created=t.readLongLong(),this.modified=t.readLongLong(),this.xMin=t.readShort(),this.yMin=t.readShort(),this.xMax=t.readShort(),this.yMax=t.readShort(),this.macStyle=t.readShort(),this.lowestRecPPEM=t.readShort(),this.fontDirectionHint=t.readShort(),this.indexToLocFormat=t.readShort(),this.glyphDataFormat=t.readShort()},e.prototype.encode=function(t){var e;return(e=new ne).writeInt(this.version),e.writeInt(this.revision),e.writeInt(this.checkSumAdjustment),e.writeInt(this.magicNumber),e.writeShort(this.flags),e.writeShort(this.unitsPerEm),e.writeLongLong(this.created),e.writeLongLong(this.modified),e.writeShort(this.xMin),e.writeShort(this.yMin),e.writeShort(this.xMax),e.writeShort(this.yMax),e.writeShort(this.macStyle),e.writeShort(this.lowestRecPPEM),e.writeShort(this.fontDirectionHint),e.writeShort(t),e.writeShort(this.glyphDataFormat),e.data},e}(),ce=function(){function t(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m,v,b;switch(this.platformID=t.readUInt16(),this.encodingID=t.readShort(),this.offset=e+t.readInt(),h=t.pos,t.pos=this.offset,this.format=t.readUInt16(),this.length=t.readUInt16(),this.language=t.readUInt16(),this.isUnicode=3===this.platformID&&1===this.encodingID&&4===this.format||0===this.platformID&&4===this.format,this.codeMap={},this.format){case 0:for(s=0;s<256;++s)this.codeMap[s]=t.readByte();break;case 4:for(f=t.readUInt16(),l=f/2,t.pos+=6,i=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),t.pos+=2,p=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),c=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),u=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),n=(this.length-t.pos+this.offset)/2,o=function(){var e,r;for(r=[],s=e=0;0<=n?e<n:e>n;s=0<=n?++e:--e)r.push(t.readUInt16());return r}(),s=m=0,b=i.length;m<b;s=++m)for(g=i[s],r=v=d=p[s];d<=g?v<=g:v>=g;r=d<=g?++v:--v)0===u[s]?a=r+c[s]:0!==(a=o[u[s]/2+(r-d)-(l-s)]||0)&&(a+=c[s]),this.codeMap[r]=65535&a}t.pos=h}return t.encode=function(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F,C,j,O,B,M,E,q,D,R,T,U,z,H,W,V,G,Y;switch(I=new ne,a=Object.keys(t).sort((function(t,e){return t-e})),e){case\"macroman\":for(p=0,g=function(){var t=[];for(d=0;d<256;++d)t.push(0);return t}(),v={0:0},i={},F=0,B=a.length;F<B;F++)null==v[W=t[n=a[F]]]&&(v[W]=++p),i[n]={old:t[n],new:v[t[n]]},g[n]=v[t[n]];return I.writeUInt16(1),I.writeUInt16(0),I.writeUInt32(12),I.writeUInt16(0),I.writeUInt16(262),I.writeUInt16(0),I.write(g),{charMap:i,subtable:I.data,maxGlyphID:p+1};case\"unicode\":for(P=[],h=[],b=0,v={},r={},m=c=null,C=0,M=a.length;C<M;C++)null==v[w=t[n=a[C]]]&&(v[w]=++b),r[n]={old:w,new:v[w]},o=v[w]-n,null!=m&&o===c||(m&&h.push(m),P.push(n),c=o),m=n;for(m&&h.push(m),h.push(65535),P.push(65535),S=2*(x=P.length),A=2*Math.pow(Math.log(x)/Math.LN2,2),l=Math.log(A/2)/Math.LN2,L=2*x-A,s=[],N=[],f=[],d=j=0,E=P.length;j<E;d=++j){if(_=P[d],u=h[d],65535===_){s.push(0),N.push(0);break}if(_-(k=r[_].new)>=32768)for(s.push(0),N.push(2*(f.length+x-d)),n=O=_;_<=u?O<=u:O>=u;n=_<=u?++O:--O)f.push(r[n].new);else s.push(k-_),N.push(0)}for(I.writeUInt16(3),I.writeUInt16(1),I.writeUInt32(12),I.writeUInt16(4),I.writeUInt16(16+8*x+2*f.length),I.writeUInt16(0),I.writeUInt16(S),I.writeUInt16(A),I.writeUInt16(l),I.writeUInt16(L),z=0,q=h.length;z<q;z++)n=h[z],I.writeUInt16(n);for(I.writeUInt16(0),H=0,D=P.length;H<D;H++)n=P[H],I.writeUInt16(n);for(V=0,R=s.length;V<R;V++)o=s[V],I.writeUInt16(o);for(G=0,T=N.length;G<T;G++)y=N[G],I.writeUInt16(y);for(Y=0,U=f.length;Y<U;Y++)p=f[Y],I.writeUInt16(p);return{charMap:r,subtable:I.data,maxGlyphID:b+1}}},t}(),ue=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"cmap\",e.prototype.parse=function(t){var e,r,n;for(t.pos=this.offset,this.version=t.readUInt16(),n=t.readUInt16(),this.tables=[],this.unicode=null,r=0;0<=n?r<n:r>n;r=0<=n?++r:--r)e=new ce(t,this.offset),this.tables.push(e),e.isUnicode&&null==this.unicode&&(this.unicode=e);return!0},e.encode=function(t,e){var r,n;return null==e&&(e=\"macroman\"),r=ce.encode(t,e),(n=new ne).writeUInt16(0),n.writeUInt16(1),r.table=n.data.concat(r.subtable),r},e}(),he=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"hhea\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.ascender=t.readShort(),this.decender=t.readShort(),this.lineGap=t.readShort(),this.advanceWidthMax=t.readShort(),this.minLeftSideBearing=t.readShort(),this.minRightSideBearing=t.readShort(),this.xMaxExtent=t.readShort(),this.caretSlopeRise=t.readShort(),this.caretSlopeRun=t.readShort(),this.caretOffset=t.readShort(),t.pos+=8,this.metricDataFormat=t.readShort(),this.numberOfMetrics=t.readUInt16()},e}(),le=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"OS/2\",e.prototype.parse=function(t){if(t.pos=this.offset,this.version=t.readUInt16(),this.averageCharWidth=t.readShort(),this.weightClass=t.readUInt16(),this.widthClass=t.readUInt16(),this.type=t.readShort(),this.ySubscriptXSize=t.readShort(),this.ySubscriptYSize=t.readShort(),this.ySubscriptXOffset=t.readShort(),this.ySubscriptYOffset=t.readShort(),this.ySuperscriptXSize=t.readShort(),this.ySuperscriptYSize=t.readShort(),this.ySuperscriptXOffset=t.readShort(),this.ySuperscriptYOffset=t.readShort(),this.yStrikeoutSize=t.readShort(),this.yStrikeoutPosition=t.readShort(),this.familyClass=t.readShort(),this.panose=function(){var e,r;for(r=[],e=0;e<10;++e)r.push(t.readByte());return r}(),this.charRange=function(){var e,r;for(r=[],e=0;e<4;++e)r.push(t.readInt());return r}(),this.vendorID=t.readString(4),this.selection=t.readShort(),this.firstCharIndex=t.readShort(),this.lastCharIndex=t.readShort(),this.version>0&&(this.ascent=t.readShort(),this.descent=t.readShort(),this.lineGap=t.readShort(),this.winAscent=t.readShort(),this.winDescent=t.readShort(),this.codePageRange=function(){var e,r;for(r=[],e=0;e<2;e=++e)r.push(t.readInt());return r}(),this.version>1))return this.xHeight=t.readShort(),this.capHeight=t.readShort(),this.defaultChar=t.readShort(),this.breakChar=t.readShort(),this.maxContext=t.readShort()},e}(),fe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"post\",e.prototype.parse=function(t){var e,r,n;switch(t.pos=this.offset,this.format=t.readInt(),this.italicAngle=t.readInt(),this.underlinePosition=t.readShort(),this.underlineThickness=t.readShort(),this.isFixedPitch=t.readInt(),this.minMemType42=t.readInt(),this.maxMemType42=t.readInt(),this.minMemType1=t.readInt(),this.maxMemType1=t.readInt(),this.format){case 65536:break;case 131072:var i;for(r=t.readUInt16(),this.glyphNameIndex=[],i=0;0<=r?i<r:i>r;i=0<=r?++i:--i)this.glyphNameIndex.push(t.readUInt16());for(this.names=[],n=[];t.pos<this.offset+this.length;)e=t.readByte(),n.push(this.names.push(t.readString(e)));return n;case 151552:return r=t.readUInt16(),this.offsets=t.read(r);case 196608:break;case 262144:return this.map=function(){var e,r,n;for(n=[],i=e=0,r=this.file.maxp.numGlyphs;0<=r?e<r:e>r;i=0<=r?++e:--e)n.push(t.readUInt32());return n}.call(this)}},e}(),de=function(t,e){this.raw=t,this.length=t.length,this.platformID=e.platformID,this.encodingID=e.encodingID,this.languageID=e.languageID},pe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"name\",e.prototype.parse=function(t){var e,r,n,i,a,o,s,c,u,h,l;for(t.pos=this.offset,t.readShort(),e=t.readShort(),o=t.readShort(),r=[],i=0;0<=e?i<e:i>e;i=0<=e?++i:--i)r.push({platformID:t.readShort(),encodingID:t.readShort(),languageID:t.readShort(),nameID:t.readShort(),length:t.readShort(),offset:this.offset+o+t.readShort()});for(s={},i=u=0,h=r.length;u<h;i=++u)n=r[i],t.pos=n.offset,c=t.readString(n.length),a=new de(c,n),null==s[l=n.nameID]&&(s[l]=[]),s[n.nameID].push(a);this.strings=s,this.copyright=s[0],this.fontFamily=s[1],this.fontSubfamily=s[2],this.uniqueSubfamily=s[3],this.fontName=s[4],this.version=s[5];try{this.postscriptName=s[6][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}catch(t){this.postscriptName=s[4][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}return this.trademark=s[7],this.manufacturer=s[8],this.designer=s[9],this.description=s[10],this.vendorUrl=s[11],this.designerUrl=s[12],this.license=s[13],this.licenseUrl=s[14],this.preferredFamily=s[15],this.preferredSubfamily=s[17],this.compatibleFull=s[18],this.sampleText=s[19]},e}(),ge=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"maxp\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.numGlyphs=t.readUInt16(),this.maxPoints=t.readUInt16(),this.maxContours=t.readUInt16(),this.maxCompositePoints=t.readUInt16(),this.maxComponentContours=t.readUInt16(),this.maxZones=t.readUInt16(),this.maxTwilightPoints=t.readUInt16(),this.maxStorage=t.readUInt16(),this.maxFunctionDefs=t.readUInt16(),this.maxInstructionDefs=t.readUInt16(),this.maxStackElements=t.readUInt16(),this.maxSizeOfInstructions=t.readUInt16(),this.maxComponentElements=t.readUInt16(),this.maxComponentDepth=t.readUInt16()},e}(),me=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"hmtx\",e.prototype.parse=function(t){var e,r,n,i,a,o,s;for(t.pos=this.offset,this.metrics=[],e=0,o=this.file.hhea.numberOfMetrics;0<=o?e<o:e>o;e=0<=o?++e:--e)this.metrics.push({advance:t.readUInt16(),lsb:t.readInt16()});for(n=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics,this.leftSideBearings=function(){var r,i;for(i=[],e=r=0;0<=n?r<n:r>n;e=0<=n?++r:--r)i.push(t.readInt16());return i}(),this.widths=function(){var t,e,r,n;for(n=[],t=0,e=(r=this.metrics).length;t<e;t++)i=r[t],n.push(i.advance);return n}.call(this),r=this.widths[this.widths.length-1],s=[],e=a=0;0<=n?a<n:a>n;e=0<=n?++a:--a)s.push(this.widths.push(r));return s},e.prototype.forGlyph=function(t){return t in this.metrics?this.metrics[t]:{advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[t-this.metrics.length]}},e}(),ve=[].slice,be=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"glyf\",e.prototype.parse=function(){return this.cache={}},e.prototype.glyphFor=function(t){var e,r,n,i,a,o,s,c,u,h;return t in this.cache?this.cache[t]:(i=this.file.loca,e=this.file.contents,r=i.indexOf(t),0===(n=i.lengthOf(t))?this.cache[t]=null:(e.pos=this.offset+r,a=(o=new ne(e.read(n))).readShort(),c=o.readShort(),h=o.readShort(),s=o.readShort(),u=o.readShort(),this.cache[t]=-1===a?new we(o,c,h,s,u):new ye(o,a,c,h,s,u),this.cache[t]))},e.prototype.encode=function(t,e,r){var n,i,a,o,s;for(a=[],i=[],o=0,s=e.length;o<s;o++)n=t[e[o]],i.push(a.length),n&&(a=a.concat(n.encode(r)));return i.push(a.length),{table:a,offsets:i}},e}(),ye=function(){function t(t,e,r,n,i,a){this.raw=t,this.numberOfContours=e,this.xMin=r,this.yMin=n,this.xMax=i,this.yMax=a,this.compound=!1}return t.prototype.encode=function(){return this.raw.data},t}(),we=function(){function t(t,e,r,n,i){var a,o;for(this.raw=t,this.xMin=e,this.yMin=r,this.xMax=n,this.yMax=i,this.compound=!0,this.glyphIDs=[],this.glyphOffsets=[],a=this.raw;o=a.readShort(),this.glyphOffsets.push(a.pos),this.glyphIDs.push(a.readUInt16()),32&o;)a.pos+=1&o?4:2,128&o?a.pos+=8:64&o?a.pos+=4:8&o&&(a.pos+=2)}return 1,8,32,64,128,t.prototype.encode=function(){var t,e,r;for(e=new ne(ve.call(this.raw.data)),t=0,r=this.glyphIDs.length;t<r;++t)e.pos=this.glyphOffsets[t];return e.data},t}(),Ne=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"loca\",e.prototype.parse=function(t){var e,r;return t.pos=this.offset,e=this.file.head.indexToLocFormat,this.offsets=0===e?function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=2)n.push(2*t.readUInt16());return n}.call(this):function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=4)n.push(t.readUInt32());return n}.call(this)},e.prototype.indexOf=function(t){return this.offsets[t]},e.prototype.lengthOf=function(t){return this.offsets[t+1]-this.offsets[t]},e.prototype.encode=function(t,e){for(var r=new Uint32Array(this.offsets.length),n=0,i=0,a=0;a<r.length;++a)if(r[a]=n,i<e.length&&e[i]==a){++i,r[a]=n;var o=this.offsets[a],s=this.offsets[a+1]-o;s>0&&(n+=s)}for(var c=new Array(4*r.length),u=0;u<r.length;++u)c[4*u+3]=255&r[u],c[4*u+2]=(65280&r[u])>>8,c[4*u+1]=(16711680&r[u])>>16,c[4*u]=(4278190080&r[u])>>24;return c},e}(),Le=function(){function t(t){this.font=t,this.subset={},this.unicodes={},this.next=33}return t.prototype.generateCmap=function(){var t,e,r,n,i;for(e in n=this.font.cmap.tables[0].codeMap,t={},i=this.subset)r=i[e],t[e]=n[r];return t},t.prototype.glyphsFor=function(t){var e,r,n,i,a,o,s;for(n={},a=0,o=t.length;a<o;a++)n[i=t[a]]=this.font.glyf.glyphFor(i);for(i in e=[],n)(null!=(r=n[i])?r.compound:void 0)&&e.push.apply(e,r.glyphIDs);if(e.length>0)for(i in s=this.glyphsFor(e))r=s[i],n[i]=r;return n},t.prototype.encode=function(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m;for(n in r=ue.encode(this.generateCmap(),\"unicode\"),a=this.glyphsFor(t),f={0:0},m=r.charMap)f[(s=m[n]).old]=s.new;for(d in l=r.maxGlyphID,a)d in f||(f[d]=l++);return u=function(t){var e,r;for(e in r={},t)r[t[e]]=e;return r}(f),h=Object.keys(u).sort((function(t,e){return t-e})),p=function(){var t,e,r;for(r=[],t=0,e=h.length;t<e;t++)o=h[t],r.push(u[o]);return r}(),i=this.font.glyf.encode(a,p,f),c=this.font.loca.encode(i.offsets,p),g={cmap:this.font.cmap.raw(),glyf:i.table,loca:c,hmtx:this.font.hmtx.raw(),hhea:this.font.hhea.raw(),maxp:this.font.maxp.raw(),post:this.font.post.raw(),name:this.font.name.raw(),head:this.font.head.encode(e)},this.font.os2.exists&&(g[\"OS/2\"]=this.font.os2.raw()),this.font.directory.encode(g)},t}();E.API.PDFObject=function(){var t;function e(){}return t=function(t,e){return(Array(e+1).join(\"0\")+t).slice(-e)},e.convert=function(r){var n,i,a,o;if(Array.isArray(r))return\"[\"+function(){var t,i,a;for(a=[],t=0,i=r.length;t<i;t++)n=r[t],a.push(e.convert(n));return a}().join(\" \")+\"]\";if(\"string\"==typeof r)return\"/\"+r;if(null!=r?r.isString:void 0)return\"(\"+r+\")\";if(r instanceof Date)return\"(D:\"+t(r.getUTCFullYear(),4)+t(r.getUTCMonth(),2)+t(r.getUTCDate(),2)+t(r.getUTCHours(),2)+t(r.getUTCMinutes(),2)+t(r.getUTCSeconds(),2)+\"Z)\";if(\"[object Object]\"==={}.toString.call(r)){for(i in a=[\"<<\"],r)o=r[i],a.push(\"/\"+i+\" \"+e.convert(o));return a.push(\">>\"),a.join(\"\\n\")}return\"\"+r},e}();export{St as AcroForm,At as AcroFormAppearance,mt as AcroFormButton,wt as AcroFormCheckBox,ft as AcroFormChoiceField,pt as AcroFormComboBox,gt as AcroFormEditBox,dt as AcroFormListBox,Lt as AcroFormPasswordField,vt as AcroFormPushButton,bt as AcroFormRadioButton,Nt as AcroFormTextField,j as GState,B as ShadingPattern,M as TilingPattern,E as default,E as jsPDF};\n//# sourceMappingURL=jspdf.es.min.js.map\n","/*!\n * html2canvas 1.4.1 <https://html2canvas.hertzen.com>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\n\nvar Bounds = /** @class */ (function () {\n function Bounds(left, top, width, height) {\n this.left = left;\n this.top = top;\n this.width = width;\n this.height = height;\n }\n Bounds.prototype.add = function (x, y, w, h) {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n };\n Bounds.fromClientRect = function (context, clientRect) {\n return new Bounds(clientRect.left + context.windowBounds.left, clientRect.top + context.windowBounds.top, clientRect.width, clientRect.height);\n };\n Bounds.fromDOMRectList = function (context, domRectList) {\n var domRect = Array.from(domRectList).find(function (rect) { return rect.width !== 0; });\n return domRect\n ? new Bounds(domRect.left + context.windowBounds.left, domRect.top + context.windowBounds.top, domRect.width, domRect.height)\n : Bounds.EMPTY;\n };\n Bounds.EMPTY = new Bounds(0, 0, 0, 0);\n return Bounds;\n}());\nvar parseBounds = function (context, node) {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\nvar parseDocumentSize = function (document) {\n var body = document.body;\n var documentElement = document.documentElement;\n if (!body || !documentElement) {\n throw new Error(\"Unable to get document size\");\n }\n var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth));\n var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight));\n return new Bounds(0, 0, width, height);\n};\n\n/*\n * css-line-break 2.1.0 <https://github.com/niklasvh/css-line-break#readme>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar toCodePoints$1 = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\nvar fromCodePoint$1 = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\nvar chars$2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$2 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$2 = 0; i$2 < chars$2.length; i$2++) {\n lookup$2[chars$2.charCodeAt(i$2)] = i$2;\n}\n\n/*\n * utrie 1.0.2 <https://github.com/niklasvh/utrie>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars$1$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$1$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$1$1 = 0; i$1$1 < chars$1$1.length; i$1$1++) {\n lookup$1$1[chars$1$1.charCodeAt(i$1$1)] = i$1$1;\n}\nvar decode$1 = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1$1[base64.charCodeAt(i)];\n encoded2 = lookup$1$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n};\nvar polyUint16Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\nvar polyUint32Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\n/** Shift size for getting the index-2 table offset. */\nvar UTRIE2_SHIFT_2$1 = 5;\n/** Shift size for getting the index-1 table offset. */\nvar UTRIE2_SHIFT_1$1 = 6 + 5;\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nvar UTRIE2_INDEX_SHIFT$1 = 2;\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nvar UTRIE2_SHIFT_1_2$1 = UTRIE2_SHIFT_1$1 - UTRIE2_SHIFT_2$1;\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nvar UTRIE2_LSCP_INDEX_2_OFFSET$1 = 0x10000 >> UTRIE2_SHIFT_2$1;\n/** Number of entries in a data block. 32=0x20 */\nvar UTRIE2_DATA_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_2$1;\n/** Mask for getting the lower bits for the in-data-block offset. */\nvar UTRIE2_DATA_MASK$1 = UTRIE2_DATA_BLOCK_LENGTH$1 - 1;\nvar UTRIE2_LSCP_INDEX_2_LENGTH$1 = 0x400 >> UTRIE2_SHIFT_2$1;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nvar UTRIE2_INDEX_2_BMP_LENGTH$1 = UTRIE2_LSCP_INDEX_2_OFFSET$1 + UTRIE2_LSCP_INDEX_2_LENGTH$1;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nvar UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 = UTRIE2_INDEX_2_BMP_LENGTH$1;\nvar UTRIE2_UTF8_2B_INDEX_2_LENGTH$1 = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nvar UTRIE2_INDEX_1_OFFSET$1 = UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 + UTRIE2_UTF8_2B_INDEX_2_LENGTH$1;\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nvar UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 = 0x10000 >> UTRIE2_SHIFT_1$1;\n/** Number of entries in an index-2 block. 64=0x40 */\nvar UTRIE2_INDEX_2_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_1_2$1;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nvar UTRIE2_INDEX_2_MASK$1 = UTRIE2_INDEX_2_BLOCK_LENGTH$1 - 1;\nvar slice16$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\nvar slice32$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\nvar createTrieFromBase64$1 = function (base64, _byteLength) {\n var buffer = decode$1(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array$1(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array$1(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16$1(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16$1(view16, (headerLength + view32[4]) / 2)\n : slice32$1(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie$1(view32[0], view32[1], view32[2], view32[3], index, data);\n};\nvar Trie$1 = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2$1];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET$1 + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2$1)];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET$1 - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 + (codePoint >> UTRIE2_SHIFT_1$1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2$1) & UTRIE2_INDEX_2_MASK$1;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n}());\n\n/*\n * base64-arraybuffer 1.0.2 <https://github.com/niklasvh/base64-arraybuffer>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars$3 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$3 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$3 = 0; i$3 < chars$3.length; i$3++) {\n lookup$3[chars$3.charCodeAt(i$3)] = i$3;\n}\n\nvar base64$1 = 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\n\nvar LETTER_NUMBER_MODIFIER = 50;\n// Non-tailorable Line Breaking Classes\nvar BK = 1; // Cause a line break (after)\nvar CR$1 = 2; // Cause a line break (after), except between CR and LF\nvar LF$1 = 3; // Cause a line break (after)\nvar CM = 4; // Prohibit a line break between the character and the preceding character\nvar NL = 5; // Cause a line break (after)\nvar WJ = 7; // Prohibit line breaks before and after\nvar ZW = 8; // Provide a break opportunity\nvar GL = 9; // Prohibit line breaks before and after\nvar SP = 10; // Enable indirect line breaks\nvar ZWJ$1 = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nvar B2 = 12; // Provide a line break opportunity before and after the character\nvar BA = 13; // Generally provide a line break opportunity after the character\nvar BB = 14; // Generally provide a line break opportunity before the character\nvar HY = 15; // Provide a line break opportunity after the character, except in numeric context\nvar CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nvar CL = 17; // Prohibit line breaks before\nvar CP = 18; // Prohibit line breaks before\nvar EX = 19; // Prohibit line breaks before\nvar IN = 20; // Allow only indirect line breaks between pairs\nvar NS = 21; // Allow only indirect line breaks before\nvar OP = 22; // Prohibit line breaks after\nvar QU = 23; // Act like they are both opening and closing\n// Numeric Context\nvar IS = 24; // Prevent breaks after any and before numeric\nvar NU = 25; // Form numeric expressions for line breaking purposes\nvar PO = 26; // Do not break following a numeric expression\nvar PR = 27; // Do not break in front of a numeric expression\nvar SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nvar AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nvar AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nvar CJ = 31; // Treat as NS or ID for strict or normal breaking.\nvar EB = 32; // Do not break from following Emoji Modifier\nvar EM = 33; // Do not break from preceding Emoji Base\nvar H2 = 34; // Form Korean syllable blocks\nvar H3 = 35; // Form Korean syllable blocks\nvar HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nvar ID = 37; // Break before or after; except in some numeric context\nvar JL = 38; // Form Korean syllable blocks\nvar JV = 39; // Form Korean syllable blocks\nvar JT = 40; // Form Korean syllable blocks\nvar RI$1 = 41; // Keep pairs together. For pairs; break before and after other classes\nvar SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nvar XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\nvar ea_OP = [0x2329, 0xff08];\nvar BREAK_MANDATORY = '!';\nvar BREAK_NOT_ALLOWED$1 = '×';\nvar BREAK_ALLOWED$1 = '÷';\nvar UnicodeTrie$1 = createTrieFromBase64$1(base64$1);\nvar ALPHABETICS = [AL, HL];\nvar HARD_LINE_BREAKS = [BK, CR$1, LF$1, NL];\nvar SPACE$1 = [SP, ZW];\nvar PREFIX_POSTFIX = [PR, PO];\nvar LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE$1);\nvar KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nvar HYPHEN = [HY, BA];\nvar codePointsToCharacterClasses = function (codePoints, lineBreak) {\n if (lineBreak === void 0) { lineBreak = 'strict'; }\n var types = [];\n var indices = [];\n var categories = [];\n codePoints.forEach(function (codePoint, index) {\n var classType = UnicodeTrie$1.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n }\n else {\n categories.push(false);\n }\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n if (classType === CM || classType === ZWJ$1) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n var prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n indices.push(index);\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n if (classType === SA) {\n return types.push(AL);\n }\n if (classType === AI) {\n return types.push(AL);\n }\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n }\n else {\n return types.push(AL);\n }\n }\n types.push(classType);\n });\n return [indices, types, categories];\n};\nvar isAdjacentWithSpaceIgnored = function (a, b, currentIndex, classTypes) {\n var current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n var i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n var next = classTypes[i];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (current === SP) {\n var i = currentIndex;\n while (i > 0) {\n i--;\n var prev = classTypes[i];\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n var n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n var next = classTypes[n];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\nvar previousNonSpaceClassType = function (currentIndex, classTypes) {\n var i = currentIndex;\n while (i >= 0) {\n var type = classTypes[i];\n if (type === SP) {\n i--;\n }\n else {\n return type;\n }\n }\n return 0;\n};\nvar _lineBreakAtIndex = function (codePoints, classTypes, indicies, index, forbiddenBreaks) {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n var currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED$1;\n }\n var beforeIndex = currentIndex - 1;\n var afterIndex = currentIndex + 1;\n var current = classTypes[currentIndex];\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n var next = classTypes[afterIndex];\n if (current === CR$1 && next === LF$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB7 Do not break before spaces or zero width space.\n if (SPACE$1.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED$1;\n }\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie$1.get(codePoints[currentIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie$1.get(codePoints[afterIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED$1;\n }\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED$1;\n }\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if ((current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if ((ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n var prevIndex = currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n var prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // LB26 Do not break a Korean syllable.\n if ((JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB27 Treat a Korean Syllable Block the same as ID.\n if ((KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if ((ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI$1 && next === RI$1) {\n var i = indicies[currentIndex];\n var count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI$1) {\n count++;\n }\n else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n }\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED$1;\n }\n return BREAK_ALLOWED$1;\n};\nvar cssFormattedClasses = function (codePoints, options) {\n if (!options) {\n options = { lineBreak: 'normal', wordBreak: 'normal' };\n }\n var _a = codePointsToCharacterClasses(codePoints, options.lineBreak), indicies = _a[0], classTypes = _a[1], isLetterNumber = _a[2];\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map(function (type) { return ([NU, AL, SA].indexOf(type) !== -1 ? ID : type); });\n }\n var forbiddenBreakpoints = options.wordBreak === 'keep-all'\n ? isLetterNumber.map(function (letterNumber, i) {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n return [indicies, classTypes, forbiddenBreakpoints];\n};\nvar Break = /** @class */ (function () {\n function Break(codePoints, lineBreak, start, end) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n Break.prototype.slice = function () {\n return fromCodePoint$1.apply(void 0, this.codePoints.slice(this.start, this.end));\n };\n return Break;\n}());\nvar LineBreaker = function (str, options) {\n var codePoints = toCodePoints$1(str);\n var _a = cssFormattedClasses(codePoints, options), indicies = _a[0], classTypes = _a[1], forbiddenBreakpoints = _a[2];\n var length = codePoints.length;\n var lastEnd = 0;\n var nextIndex = 0;\n return {\n next: function () {\n if (nextIndex >= length) {\n return { done: true, value: null };\n }\n var lineBreak = BREAK_NOT_ALLOWED$1;\n while (nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED$1) { }\n if (lineBreak !== BREAK_NOT_ALLOWED$1 || nextIndex === length) {\n var value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n};\n\n// https://www.w3.org/TR/css-syntax-3\nvar FLAG_UNRESTRICTED = 1 << 0;\nvar FLAG_ID = 1 << 1;\nvar FLAG_INTEGER = 1 << 2;\nvar FLAG_NUMBER = 1 << 3;\nvar LINE_FEED = 0x000a;\nvar SOLIDUS = 0x002f;\nvar REVERSE_SOLIDUS = 0x005c;\nvar CHARACTER_TABULATION = 0x0009;\nvar SPACE = 0x0020;\nvar QUOTATION_MARK = 0x0022;\nvar EQUALS_SIGN = 0x003d;\nvar NUMBER_SIGN = 0x0023;\nvar DOLLAR_SIGN = 0x0024;\nvar PERCENTAGE_SIGN = 0x0025;\nvar APOSTROPHE = 0x0027;\nvar LEFT_PARENTHESIS = 0x0028;\nvar RIGHT_PARENTHESIS = 0x0029;\nvar LOW_LINE = 0x005f;\nvar HYPHEN_MINUS = 0x002d;\nvar EXCLAMATION_MARK = 0x0021;\nvar LESS_THAN_SIGN = 0x003c;\nvar GREATER_THAN_SIGN = 0x003e;\nvar COMMERCIAL_AT = 0x0040;\nvar LEFT_SQUARE_BRACKET = 0x005b;\nvar RIGHT_SQUARE_BRACKET = 0x005d;\nvar CIRCUMFLEX_ACCENT = 0x003d;\nvar LEFT_CURLY_BRACKET = 0x007b;\nvar QUESTION_MARK = 0x003f;\nvar RIGHT_CURLY_BRACKET = 0x007d;\nvar VERTICAL_LINE = 0x007c;\nvar TILDE = 0x007e;\nvar CONTROL = 0x0080;\nvar REPLACEMENT_CHARACTER = 0xfffd;\nvar ASTERISK = 0x002a;\nvar PLUS_SIGN = 0x002b;\nvar COMMA = 0x002c;\nvar COLON = 0x003a;\nvar SEMICOLON = 0x003b;\nvar FULL_STOP = 0x002e;\nvar NULL = 0x0000;\nvar BACKSPACE = 0x0008;\nvar LINE_TABULATION = 0x000b;\nvar SHIFT_OUT = 0x000e;\nvar INFORMATION_SEPARATOR_ONE = 0x001f;\nvar DELETE = 0x007f;\nvar EOF = -1;\nvar ZERO = 0x0030;\nvar a = 0x0061;\nvar e = 0x0065;\nvar f = 0x0066;\nvar u = 0x0075;\nvar z = 0x007a;\nvar A = 0x0041;\nvar E = 0x0045;\nvar F = 0x0046;\nvar U = 0x0055;\nvar Z = 0x005a;\nvar isDigit = function (codePoint) { return codePoint >= ZERO && codePoint <= 0x0039; };\nvar isSurrogateCodePoint = function (codePoint) { return codePoint >= 0xd800 && codePoint <= 0xdfff; };\nvar isHex = function (codePoint) {\n return isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\n};\nvar isLowerCaseLetter = function (codePoint) { return codePoint >= a && codePoint <= z; };\nvar isUpperCaseLetter = function (codePoint) { return codePoint >= A && codePoint <= Z; };\nvar isLetter = function (codePoint) { return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint); };\nvar isNonASCIICodePoint = function (codePoint) { return codePoint >= CONTROL; };\nvar isWhiteSpace = function (codePoint) {\n return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\n};\nvar isNameStartCodePoint = function (codePoint) {\n return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\n};\nvar isNameCodePoint = function (codePoint) {\n return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\n};\nvar isNonPrintableCodePoint = function (codePoint) {\n return ((codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE);\n};\nvar isValidEscape = function (c1, c2) {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n return c2 !== LINE_FEED;\n};\nvar isIdentifierStart = function (c1, c2, c3) {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n }\n else if (isNameStartCodePoint(c1)) {\n return true;\n }\n else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\nvar isNumberStart = function (c1, c2, c3) {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n return c2 === FULL_STOP && isDigit(c3);\n }\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n return isDigit(c1);\n};\nvar stringToNumber = function (codePoints) {\n var c = 0;\n var sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n var integers = [];\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n var int = integers.length ? parseInt(fromCodePoint$1.apply(void 0, integers), 10) : 0;\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n var fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n var fracd = fraction.length;\n var frac = fracd ? parseInt(fromCodePoint$1.apply(void 0, fraction), 10) : 0;\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n var expsign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n var exponent = [];\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n var exp = exponent.length ? parseInt(fromCodePoint$1.apply(void 0, exponent), 10) : 0;\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\nvar LEFT_PARENTHESIS_TOKEN = {\n type: 2 /* LEFT_PARENTHESIS_TOKEN */\n};\nvar RIGHT_PARENTHESIS_TOKEN = {\n type: 3 /* RIGHT_PARENTHESIS_TOKEN */\n};\nvar COMMA_TOKEN = { type: 4 /* COMMA_TOKEN */ };\nvar SUFFIX_MATCH_TOKEN = { type: 13 /* SUFFIX_MATCH_TOKEN */ };\nvar PREFIX_MATCH_TOKEN = { type: 8 /* PREFIX_MATCH_TOKEN */ };\nvar COLUMN_TOKEN = { type: 21 /* COLUMN_TOKEN */ };\nvar DASH_MATCH_TOKEN = { type: 9 /* DASH_MATCH_TOKEN */ };\nvar INCLUDE_MATCH_TOKEN = { type: 10 /* INCLUDE_MATCH_TOKEN */ };\nvar LEFT_CURLY_BRACKET_TOKEN = {\n type: 11 /* LEFT_CURLY_BRACKET_TOKEN */\n};\nvar RIGHT_CURLY_BRACKET_TOKEN = {\n type: 12 /* RIGHT_CURLY_BRACKET_TOKEN */\n};\nvar SUBSTRING_MATCH_TOKEN = { type: 14 /* SUBSTRING_MATCH_TOKEN */ };\nvar BAD_URL_TOKEN = { type: 23 /* BAD_URL_TOKEN */ };\nvar BAD_STRING_TOKEN = { type: 1 /* BAD_STRING_TOKEN */ };\nvar CDO_TOKEN = { type: 25 /* CDO_TOKEN */ };\nvar CDC_TOKEN = { type: 24 /* CDC_TOKEN */ };\nvar COLON_TOKEN = { type: 26 /* COLON_TOKEN */ };\nvar SEMICOLON_TOKEN = { type: 27 /* SEMICOLON_TOKEN */ };\nvar LEFT_SQUARE_BRACKET_TOKEN = {\n type: 28 /* LEFT_SQUARE_BRACKET_TOKEN */\n};\nvar RIGHT_SQUARE_BRACKET_TOKEN = {\n type: 29 /* RIGHT_SQUARE_BRACKET_TOKEN */\n};\nvar WHITESPACE_TOKEN = { type: 31 /* WHITESPACE_TOKEN */ };\nvar EOF_TOKEN = { type: 32 /* EOF_TOKEN */ };\nvar Tokenizer = /** @class */ (function () {\n function Tokenizer() {\n this._value = [];\n }\n Tokenizer.prototype.write = function (chunk) {\n this._value = this._value.concat(toCodePoints$1(chunk));\n };\n Tokenizer.prototype.read = function () {\n var tokens = [];\n var token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n };\n Tokenizer.prototype.consumeToken = function () {\n var codePoint = this.consumeCodePoint();\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n var flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n var value = this.consumeName();\n return { type: 5 /* HASH_TOKEN */, value: value, flags: flags };\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n var e1 = codePoint;\n var e2 = this.peekCodePoint(0);\n var e3 = this.peekCodePoint(1);\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n var c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n var a1 = this.peekCodePoint(0);\n var a2 = this.peekCodePoint(1);\n var a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n var value = this.consumeName();\n return { type: 7 /* AT_KEYWORD_TOKEN */, value: value };\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n var u1 = this.peekCodePoint(0);\n var u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n return { type: 6 /* DELIM_TOKEN */, value: fromCodePoint$1(codePoint) };\n };\n Tokenizer.prototype.consumeCodePoint = function () {\n var value = this._value.shift();\n return typeof value === 'undefined' ? -1 : value;\n };\n Tokenizer.prototype.reconsumeCodePoint = function (codePoint) {\n this._value.unshift(codePoint);\n };\n Tokenizer.prototype.peekCodePoint = function (delta) {\n if (delta >= this._value.length) {\n return -1;\n }\n return this._value[delta];\n };\n Tokenizer.prototype.consumeUnicodeRangeToken = function () {\n var digits = [];\n var codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n if (questionMarks) {\n var start_1 = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? ZERO : digit); })), 16);\n var end = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? F : digit); })), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start_1, end: end };\n }\n var start = parseInt(fromCodePoint$1.apply(void 0, digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n var endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var end = parseInt(fromCodePoint$1.apply(void 0, endDigits), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: end };\n }\n else {\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: start };\n }\n };\n Tokenizer.prototype.consumeIdentLikeToken = function () {\n var value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n }\n else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 19 /* FUNCTION_TOKEN */, value: value };\n }\n return { type: 20 /* IDENT_TOKEN */, value: value };\n };\n Tokenizer.prototype.consumeUrlToken = function () {\n var value = [];\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF) {\n return { type: 22 /* URL_TOKEN */, value: '' };\n }\n var next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n var stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === 0 /* STRING_TOKEN */) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: stringToken.value };\n }\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n }\n else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n }\n else {\n value.push(codePoint);\n }\n }\n };\n Tokenizer.prototype.consumeWhiteSpace = function () {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n };\n Tokenizer.prototype.consumeBadUrlRemnants = function () {\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n };\n Tokenizer.prototype.consumeStringSlice = function (count) {\n var SLICE_STACK_SIZE = 50000;\n var value = '';\n while (count > 0) {\n var amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint$1.apply(void 0, this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n return value;\n };\n Tokenizer.prototype.consumeStringToken = function (endingCodePoint) {\n var value = '';\n var i = 0;\n do {\n var codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return { type: 0 /* STRING_TOKEN */, value: value };\n }\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n if (codePoint === REVERSE_SOLIDUS) {\n var next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n }\n else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint$1(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n i++;\n } while (true);\n };\n Tokenizer.prototype.consumeNumber = function () {\n var repr = [];\n var type = FLAG_INTEGER;\n var c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n return [stringToNumber(repr), type];\n };\n Tokenizer.prototype.consumeNumericToken = function () {\n var _a = this.consumeNumber(), number = _a[0], flags = _a[1];\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isIdentifierStart(c1, c2, c3)) {\n var unit = this.consumeName();\n return { type: 15 /* DIMENSION_TOKEN */, number: number, flags: flags, unit: unit };\n }\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return { type: 16 /* PERCENTAGE_TOKEN */, number: number, flags: flags };\n }\n return { type: 17 /* NUMBER_TOKEN */, number: number, flags: flags };\n };\n Tokenizer.prototype.consumeEscapedCodePoint = function () {\n var codePoint = this.consumeCodePoint();\n if (isHex(codePoint)) {\n var hex = fromCodePoint$1(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint$1(this.consumeCodePoint());\n }\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n var hexCodePoint = parseInt(hex, 16);\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n return hexCodePoint;\n }\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n return codePoint;\n };\n Tokenizer.prototype.consumeName = function () {\n var result = '';\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint$1(codePoint);\n }\n else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint$1(this.consumeEscapedCodePoint());\n }\n else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n };\n return Tokenizer;\n}());\n\nvar Parser = /** @class */ (function () {\n function Parser(tokens) {\n this._tokens = tokens;\n }\n Parser.create = function (value) {\n var tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n };\n Parser.parseValue = function (value) {\n return Parser.create(value).parseComponentValue();\n };\n Parser.parseValues = function (value) {\n return Parser.create(value).parseComponentValues();\n };\n Parser.prototype.parseComponentValue = function () {\n var token = this.consumeToken();\n while (token.type === 31 /* WHITESPACE_TOKEN */) {\n token = this.consumeToken();\n }\n if (token.type === 32 /* EOF_TOKEN */) {\n throw new SyntaxError(\"Error parsing CSS component value, unexpected EOF\");\n }\n this.reconsumeToken(token);\n var value = this.consumeComponentValue();\n do {\n token = this.consumeToken();\n } while (token.type === 31 /* WHITESPACE_TOKEN */);\n if (token.type === 32 /* EOF_TOKEN */) {\n return value;\n }\n throw new SyntaxError(\"Error parsing CSS component value, multiple values found when expecting only one\");\n };\n Parser.prototype.parseComponentValues = function () {\n var values = [];\n while (true) {\n var value = this.consumeComponentValue();\n if (value.type === 32 /* EOF_TOKEN */) {\n return values;\n }\n values.push(value);\n values.push();\n }\n };\n Parser.prototype.consumeComponentValue = function () {\n var token = this.consumeToken();\n switch (token.type) {\n case 11 /* LEFT_CURLY_BRACKET_TOKEN */:\n case 28 /* LEFT_SQUARE_BRACKET_TOKEN */:\n case 2 /* LEFT_PARENTHESIS_TOKEN */:\n return this.consumeSimpleBlock(token.type);\n case 19 /* FUNCTION_TOKEN */:\n return this.consumeFunction(token);\n }\n return token;\n };\n Parser.prototype.consumeSimpleBlock = function (type) {\n var block = { type: type, values: [] };\n var token = this.consumeToken();\n while (true) {\n if (token.type === 32 /* EOF_TOKEN */ || isEndingTokenFor(token, type)) {\n return block;\n }\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n };\n Parser.prototype.consumeFunction = function (functionToken) {\n var cssFunction = {\n name: functionToken.value,\n values: [],\n type: 18 /* FUNCTION */\n };\n while (true) {\n var token = this.consumeToken();\n if (token.type === 32 /* EOF_TOKEN */ || token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */) {\n return cssFunction;\n }\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n };\n Parser.prototype.consumeToken = function () {\n var token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n };\n Parser.prototype.reconsumeToken = function (token) {\n this._tokens.unshift(token);\n };\n return Parser;\n}());\nvar isDimensionToken = function (token) { return token.type === 15 /* DIMENSION_TOKEN */; };\nvar isNumberToken = function (token) { return token.type === 17 /* NUMBER_TOKEN */; };\nvar isIdentToken = function (token) { return token.type === 20 /* IDENT_TOKEN */; };\nvar isStringToken = function (token) { return token.type === 0 /* STRING_TOKEN */; };\nvar isIdentWithValue = function (token, value) {\n return isIdentToken(token) && token.value === value;\n};\nvar nonWhiteSpace = function (token) { return token.type !== 31 /* WHITESPACE_TOKEN */; };\nvar nonFunctionArgSeparator = function (token) {\n return token.type !== 31 /* WHITESPACE_TOKEN */ && token.type !== 4 /* COMMA_TOKEN */;\n};\nvar parseFunctionArgs = function (tokens) {\n var args = [];\n var arg = [];\n tokens.forEach(function (token) {\n if (token.type === 4 /* COMMA_TOKEN */) {\n if (arg.length === 0) {\n throw new Error(\"Error parsing function args, zero tokens for arg\");\n }\n args.push(arg);\n arg = [];\n return;\n }\n if (token.type !== 31 /* WHITESPACE_TOKEN */) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n return args;\n};\nvar isEndingTokenFor = function (token, type) {\n if (type === 11 /* LEFT_CURLY_BRACKET_TOKEN */ && token.type === 12 /* RIGHT_CURLY_BRACKET_TOKEN */) {\n return true;\n }\n if (type === 28 /* LEFT_SQUARE_BRACKET_TOKEN */ && token.type === 29 /* RIGHT_SQUARE_BRACKET_TOKEN */) {\n return true;\n }\n return type === 2 /* LEFT_PARENTHESIS_TOKEN */ && token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */;\n};\n\nvar isLength = function (token) {\n return token.type === 17 /* NUMBER_TOKEN */ || token.type === 15 /* DIMENSION_TOKEN */;\n};\n\nvar isLengthPercentage = function (token) {\n return token.type === 16 /* PERCENTAGE_TOKEN */ || isLength(token);\n};\nvar parseLengthPercentageTuple = function (tokens) {\n return tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\n};\nvar ZERO_LENGTH = {\n type: 17 /* NUMBER_TOKEN */,\n number: 0,\n flags: FLAG_INTEGER\n};\nvar FIFTY_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n};\nvar HUNDRED_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 100,\n flags: FLAG_INTEGER\n};\nvar getAbsoluteValueForTuple = function (tuple, width, height) {\n var x = tuple[0], y = tuple[1];\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nvar getAbsoluteValue = function (token, parent) {\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n return (token.number / 100) * parent;\n }\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n return token.number;\n};\n\nvar DEG = 'deg';\nvar GRAD = 'grad';\nvar RAD = 'rad';\nvar TURN = 'turn';\nvar angle = {\n name: 'angle',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n throw new Error(\"Unsupported angle type\");\n }\n};\nvar isAngle = function (value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\nvar parseNamedSide = function (tokens) {\n var sideOrCorner = tokens\n .filter(isIdentToken)\n .map(function (ident) { return ident.value; })\n .join(' ');\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n return 0;\n};\nvar deg = function (deg) { return (Math.PI * deg) / 180; };\n\nvar color$1 = {\n name: 'color',\n parse: function (context, value) {\n if (value.type === 18 /* FUNCTION */) {\n var colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported color function \\\"\" + value.name + \"\\\"\");\n }\n return colorFunction(context, value.values);\n }\n if (value.type === 5 /* HASH_TOKEN */) {\n if (value.value.length === 3) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n if (value.value.length === 4) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n var a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n if (value.value.length === 6) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n if (value.value.length === 8) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n var a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n if (value.type === 20 /* IDENT_TOKEN */) {\n var namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n return COLORS.TRANSPARENT;\n }\n};\nvar isTransparent = function (color) { return (0xff & color) === 0; };\nvar asString = function (color) {\n var alpha = 0xff & color;\n var blue = 0xff & (color >> 8);\n var green = 0xff & (color >> 16);\n var red = 0xff & (color >> 24);\n return alpha < 255 ? \"rgba(\" + red + \",\" + green + \",\" + blue + \",\" + alpha / 255 + \")\" : \"rgb(\" + red + \",\" + green + \",\" + blue + \")\";\n};\nvar pack = function (r, g, b, a) {\n return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n};\nvar getTokenColorValue = function (token, i) {\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n var max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n return 0;\n};\nvar rgb = function (_context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n if (tokens.length === 3) {\n var _a = tokens.map(getTokenColorValue), r = _a[0], g = _a[1], b = _a[2];\n return pack(r, g, b, 1);\n }\n if (tokens.length === 4) {\n var _b = tokens.map(getTokenColorValue), r = _b[0], g = _b[1], b = _b[2], a = _b[3];\n return pack(r, g, b, a);\n }\n return 0;\n};\nfunction hue2rgb(t1, t2, hue) {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n }\n else if (hue < 1 / 2) {\n return t2;\n }\n else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n }\n else {\n return t1;\n }\n}\nvar hsl = function (context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n var hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3];\n var h = (hue.type === 17 /* NUMBER_TOKEN */ ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n var s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n var l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n var a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var t1 = l * 2 - t2;\n var r = hue2rgb(t1, t2, h + 1 / 3);\n var g = hue2rgb(t1, t2, h);\n var b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\nvar SUPPORTED_COLOR_FUNCTIONS = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\nvar parseColor = function (context, value) {\n return color$1.parse(context, Parser.create(value).parseComponentValue());\n};\nvar COLORS = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n\nvar backgroundClip = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n};\n\nvar backgroundColor = {\n name: \"background-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar parseColorStop = function (context, args) {\n var color = color$1.parse(context, args[0]);\n var stop = args[1];\n return stop && isLengthPercentage(stop) ? { color: color, stop: stop } : { color: color, stop: null };\n};\nvar processColorStops = function (stops, lineLength) {\n var first = stops[0];\n var last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n var processStops = [];\n var previous = 0;\n for (var i = 0; i < stops.length; i++) {\n var stop_1 = stops[i].stop;\n if (stop_1 !== null) {\n var absoluteValue = getAbsoluteValue(stop_1, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n }\n else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n }\n else {\n processStops.push(null);\n }\n }\n var gapBegin = null;\n for (var i = 0; i < processStops.length; i++) {\n var stop_2 = processStops[i];\n if (stop_2 === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n }\n else if (gapBegin !== null) {\n var gapLength = i - gapBegin;\n var beforeGap = processStops[gapBegin - 1];\n var gapValue = (stop_2 - beforeGap) / (gapLength + 1);\n for (var g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n return stops.map(function (_a, i) {\n var color = _a.color;\n return { color: color, stop: Math.max(Math.min(1, processStops[i] / lineLength), 0) };\n });\n};\nvar getAngleFromCorner = function (corner, width, height) {\n var centerX = width / 2;\n var centerY = height / 2;\n var x = getAbsoluteValue(corner[0], width) - centerX;\n var y = centerY - getAbsoluteValue(corner[1], height);\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\nvar calculateGradientDirection = function (angle, width, height) {\n var radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n var halfLineLength = lineLength / 2;\n var yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n var xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\nvar distance = function (a, b) { return Math.sqrt(a * a + b * b); };\nvar findCorner = function (width, height, x, y, closest) {\n var corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n return corners.reduce(function (stat, corner) {\n var cx = corner[0], cy = corner[1];\n var d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n return stat;\n }, {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }).optimumCorner;\n};\nvar calculateRadius = function (gradient, x, y, width, height) {\n var rx = 0;\n var ry = 0;\n switch (gradient.size) {\n case 0 /* CLOSEST_SIDE */:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 2 /* CLOSEST_CORNER */:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n var c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n var _a = findCorner(width, height, x, y, true), cx = _a[0], cy = _a[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n case 1 /* FARTHEST_SIDE */:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 3 /* FARTHEST_CORNER */:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n var c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n var _b = findCorner(width, height, x, y, false), cx = _b[0], cy = _b[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n return [rx, ry];\n};\n\nvar linearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ && firstToken.value === 'to') {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = angle.parse(context, firstToken);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return { angle: angle$1, stops: stops, type: 1 /* LINEAR_GRADIENT */ };\n};\n\nvar prefixLinearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1) {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = (angle.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return {\n angle: angle$1,\n stops: stops,\n type: 1 /* LINEAR_GRADIENT */\n };\n};\n\nvar webkitGradient = function (context, tokens) {\n var angle = deg(180);\n var stops = [];\n var type = 1 /* LINEAR_GRADIENT */;\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = 1 /* LINEAR_GRADIENT */;\n return;\n }\n else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = 2 /* RADIAL_GRADIENT */;\n return;\n }\n }\n if (firstToken.type === 18 /* FUNCTION */) {\n if (firstToken.name === 'from') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: ZERO_LENGTH, color: color });\n }\n else if (firstToken.name === 'to') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: HUNDRED_PERCENT, color: color });\n }\n else if (firstToken.name === 'color-stop') {\n var values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n var color = color$1.parse(context, values[1]);\n var stop_1 = values[0];\n if (isNumberToken(stop_1)) {\n stops.push({\n stop: { type: 16 /* PERCENTAGE_TOKEN */, number: stop_1.number * 100, flags: stop_1.flags },\n color: color\n });\n }\n }\n }\n }\n });\n return type === 1 /* LINEAR_GRADIENT */\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops: stops,\n type: type\n }\n : { size: size, shape: shape, stops: stops, position: position, type: type };\n};\n\nvar CLOSEST_SIDE = 'closest-side';\nvar FARTHEST_SIDE = 'farthest-side';\nvar CLOSEST_CORNER = 'closest-corner';\nvar FARTHEST_CORNER = 'farthest-corner';\nvar CIRCLE = 'circle';\nvar ELLIPSE = 'ellipse';\nvar COVER = 'cover';\nvar CONTAIN = 'contain';\nvar radialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n var isAtPosition_1 = false;\n isColorStop = arg.reduce(function (acc, token) {\n if (isAtPosition_1) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n }\n else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case 'at':\n isAtPosition_1 = true;\n return false;\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n};\n\nvar prefixRadialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n else if (i === 1) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n};\n\nvar isLinearGradient = function (background) {\n return background.type === 1 /* LINEAR_GRADIENT */;\n};\nvar isRadialGradient = function (background) {\n return background.type === 2 /* RADIAL_GRADIENT */;\n};\nvar image = {\n name: 'image',\n parse: function (context, value) {\n if (value.type === 22 /* URL_TOKEN */) {\n var image_1 = { url: value.value, type: 0 /* URL */ };\n context.cache.addImage(value.value);\n return image_1;\n }\n if (value.type === 18 /* FUNCTION */) {\n var imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported image function \\\"\" + value.name + \"\\\"\");\n }\n return imageFunction(context, value.values);\n }\n throw new Error(\"Unsupported image type \" + value.type);\n }\n};\nfunction isSupportedImage(value) {\n return (!(value.type === 20 /* IDENT_TOKEN */ && value.value === 'none') &&\n (value.type !== 18 /* FUNCTION */ || !!SUPPORTED_IMAGE_FUNCTIONS[value.name]));\n}\nvar SUPPORTED_IMAGE_FUNCTIONS = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n\nvar backgroundImage = {\n name: 'background-image',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens\n .filter(function (value) { return nonFunctionArgSeparator(value) && isSupportedImage(value); })\n .map(function (value) { return image.parse(context, value); });\n }\n};\n\nvar backgroundOrigin = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n};\n\nvar backgroundPosition = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) { return values.filter(isLengthPercentage); })\n .map(parseLengthPercentageTuple);\n }\n};\n\nvar backgroundRepeat = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) {\n return values\n .filter(isIdentToken)\n .map(function (token) { return token.value; })\n .join(' ');\n })\n .map(parseBackgroundRepeat);\n }\n};\nvar parseBackgroundRepeat = function (value) {\n switch (value) {\n case 'no-repeat':\n return 1 /* NO_REPEAT */;\n case 'repeat-x':\n case 'repeat no-repeat':\n return 2 /* REPEAT_X */;\n case 'repeat-y':\n case 'no-repeat repeat':\n return 3 /* REPEAT_Y */;\n case 'repeat':\n default:\n return 0 /* REPEAT */;\n }\n};\n\nvar BACKGROUND_SIZE;\n(function (BACKGROUND_SIZE) {\n BACKGROUND_SIZE[\"AUTO\"] = \"auto\";\n BACKGROUND_SIZE[\"CONTAIN\"] = \"contain\";\n BACKGROUND_SIZE[\"COVER\"] = \"cover\";\n})(BACKGROUND_SIZE || (BACKGROUND_SIZE = {}));\nvar backgroundSize = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens).map(function (values) { return values.filter(isBackgroundSizeInfoToken); });\n }\n};\nvar isBackgroundSizeInfoToken = function (value) {\n return isIdentToken(value) || isLengthPercentage(value);\n};\n\nvar borderColorForSide = function (side) { return ({\n name: \"border-\" + side + \"-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n}); };\nvar borderTopColor = borderColorForSide('top');\nvar borderRightColor = borderColorForSide('right');\nvar borderBottomColor = borderColorForSide('bottom');\nvar borderLeftColor = borderColorForSide('left');\n\nvar borderRadiusForSide = function (side) { return ({\n name: \"border-radius-\" + side,\n initialValue: '0 0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseLengthPercentageTuple(tokens.filter(isLengthPercentage));\n }\n}); };\nvar borderTopLeftRadius = borderRadiusForSide('top-left');\nvar borderTopRightRadius = borderRadiusForSide('top-right');\nvar borderBottomRightRadius = borderRadiusForSide('bottom-right');\nvar borderBottomLeftRadius = borderRadiusForSide('bottom-left');\n\nvar borderStyleForSide = function (side) { return ({\n name: \"border-\" + side + \"-style\",\n initialValue: 'solid',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, style) {\n switch (style) {\n case 'none':\n return 0 /* NONE */;\n case 'dashed':\n return 2 /* DASHED */;\n case 'dotted':\n return 3 /* DOTTED */;\n case 'double':\n return 4 /* DOUBLE */;\n }\n return 1 /* SOLID */;\n }\n}); };\nvar borderTopStyle = borderStyleForSide('top');\nvar borderRightStyle = borderStyleForSide('right');\nvar borderBottomStyle = borderStyleForSide('bottom');\nvar borderLeftStyle = borderStyleForSide('left');\n\nvar borderWidthForSide = function (side) { return ({\n name: \"border-\" + side + \"-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n}); };\nvar borderTopWidth = borderWidthForSide('top');\nvar borderRightWidth = borderWidthForSide('right');\nvar borderBottomWidth = borderWidthForSide('bottom');\nvar borderLeftWidth = borderWidthForSide('left');\n\nvar color = {\n name: \"color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar direction = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, direction) {\n switch (direction) {\n case 'rtl':\n return 1 /* RTL */;\n case 'ltr':\n default:\n return 0 /* LTR */;\n }\n }\n};\n\nvar display = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).reduce(function (bit, token) {\n return bit | parseDisplayValue(token.value);\n }, 0 /* NONE */);\n }\n};\nvar parseDisplayValue = function (display) {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return 2 /* BLOCK */;\n case 'inline':\n return 4 /* INLINE */;\n case 'run-in':\n return 8 /* RUN_IN */;\n case 'flow':\n return 16 /* FLOW */;\n case 'flow-root':\n return 32 /* FLOW_ROOT */;\n case 'table':\n return 64 /* TABLE */;\n case 'flex':\n case '-webkit-flex':\n return 128 /* FLEX */;\n case 'grid':\n case '-ms-grid':\n return 256 /* GRID */;\n case 'ruby':\n return 512 /* RUBY */;\n case 'subgrid':\n return 1024 /* SUBGRID */;\n case 'list-item':\n return 2048 /* LIST_ITEM */;\n case 'table-row-group':\n return 4096 /* TABLE_ROW_GROUP */;\n case 'table-header-group':\n return 8192 /* TABLE_HEADER_GROUP */;\n case 'table-footer-group':\n return 16384 /* TABLE_FOOTER_GROUP */;\n case 'table-row':\n return 32768 /* TABLE_ROW */;\n case 'table-cell':\n return 65536 /* TABLE_CELL */;\n case 'table-column-group':\n return 131072 /* TABLE_COLUMN_GROUP */;\n case 'table-column':\n return 262144 /* TABLE_COLUMN */;\n case 'table-caption':\n return 524288 /* TABLE_CAPTION */;\n case 'ruby-base':\n return 1048576 /* RUBY_BASE */;\n case 'ruby-text':\n return 2097152 /* RUBY_TEXT */;\n case 'ruby-base-container':\n return 4194304 /* RUBY_BASE_CONTAINER */;\n case 'ruby-text-container':\n return 8388608 /* RUBY_TEXT_CONTAINER */;\n case 'contents':\n return 16777216 /* CONTENTS */;\n case 'inline-block':\n return 33554432 /* INLINE_BLOCK */;\n case 'inline-list-item':\n return 67108864 /* INLINE_LIST_ITEM */;\n case 'inline-table':\n return 134217728 /* INLINE_TABLE */;\n case 'inline-flex':\n return 268435456 /* INLINE_FLEX */;\n case 'inline-grid':\n return 536870912 /* INLINE_GRID */;\n }\n return 0 /* NONE */;\n};\n\nvar float = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, float) {\n switch (float) {\n case 'left':\n return 1 /* LEFT */;\n case 'right':\n return 2 /* RIGHT */;\n case 'inline-start':\n return 3 /* INLINE_START */;\n case 'inline-end':\n return 4 /* INLINE_END */;\n }\n return 0 /* NONE */;\n }\n};\n\nvar letterSpacing = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'normal') {\n return 0;\n }\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 15 /* DIMENSION_TOKEN */) {\n return token.number;\n }\n return 0;\n }\n};\n\nvar LINE_BREAK;\n(function (LINE_BREAK) {\n LINE_BREAK[\"NORMAL\"] = \"normal\";\n LINE_BREAK[\"STRICT\"] = \"strict\";\n})(LINE_BREAK || (LINE_BREAK = {}));\nvar lineBreak = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, lineBreak) {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n\nvar lineHeight = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n};\nvar computeLineHeight = function (token, fontSize) {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n }\n else if (token.type === 17 /* NUMBER_TOKEN */) {\n return fontSize * token.number;\n }\n else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n return fontSize;\n};\n\nvar listStyleImage = {\n name: 'list-style-image',\n initialValue: 'none',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n return image.parse(context, token);\n }\n};\n\nvar listStylePosition = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'inside':\n return 0 /* INSIDE */;\n case 'outside':\n default:\n return 1 /* OUTSIDE */;\n }\n }\n};\n\nvar listStyleType = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, type) {\n switch (type) {\n case 'disc':\n return 0 /* DISC */;\n case 'circle':\n return 1 /* CIRCLE */;\n case 'square':\n return 2 /* SQUARE */;\n case 'decimal':\n return 3 /* DECIMAL */;\n case 'cjk-decimal':\n return 4 /* CJK_DECIMAL */;\n case 'decimal-leading-zero':\n return 5 /* DECIMAL_LEADING_ZERO */;\n case 'lower-roman':\n return 6 /* LOWER_ROMAN */;\n case 'upper-roman':\n return 7 /* UPPER_ROMAN */;\n case 'lower-greek':\n return 8 /* LOWER_GREEK */;\n case 'lower-alpha':\n return 9 /* LOWER_ALPHA */;\n case 'upper-alpha':\n return 10 /* UPPER_ALPHA */;\n case 'arabic-indic':\n return 11 /* ARABIC_INDIC */;\n case 'armenian':\n return 12 /* ARMENIAN */;\n case 'bengali':\n return 13 /* BENGALI */;\n case 'cambodian':\n return 14 /* CAMBODIAN */;\n case 'cjk-earthly-branch':\n return 15 /* CJK_EARTHLY_BRANCH */;\n case 'cjk-heavenly-stem':\n return 16 /* CJK_HEAVENLY_STEM */;\n case 'cjk-ideographic':\n return 17 /* CJK_IDEOGRAPHIC */;\n case 'devanagari':\n return 18 /* DEVANAGARI */;\n case 'ethiopic-numeric':\n return 19 /* ETHIOPIC_NUMERIC */;\n case 'georgian':\n return 20 /* GEORGIAN */;\n case 'gujarati':\n return 21 /* GUJARATI */;\n case 'gurmukhi':\n return 22 /* GURMUKHI */;\n case 'hebrew':\n return 22 /* HEBREW */;\n case 'hiragana':\n return 23 /* HIRAGANA */;\n case 'hiragana-iroha':\n return 24 /* HIRAGANA_IROHA */;\n case 'japanese-formal':\n return 25 /* JAPANESE_FORMAL */;\n case 'japanese-informal':\n return 26 /* JAPANESE_INFORMAL */;\n case 'kannada':\n return 27 /* KANNADA */;\n case 'katakana':\n return 28 /* KATAKANA */;\n case 'katakana-iroha':\n return 29 /* KATAKANA_IROHA */;\n case 'khmer':\n return 30 /* KHMER */;\n case 'korean-hangul-formal':\n return 31 /* KOREAN_HANGUL_FORMAL */;\n case 'korean-hanja-formal':\n return 32 /* KOREAN_HANJA_FORMAL */;\n case 'korean-hanja-informal':\n return 33 /* KOREAN_HANJA_INFORMAL */;\n case 'lao':\n return 34 /* LAO */;\n case 'lower-armenian':\n return 35 /* LOWER_ARMENIAN */;\n case 'malayalam':\n return 36 /* MALAYALAM */;\n case 'mongolian':\n return 37 /* MONGOLIAN */;\n case 'myanmar':\n return 38 /* MYANMAR */;\n case 'oriya':\n return 39 /* ORIYA */;\n case 'persian':\n return 40 /* PERSIAN */;\n case 'simp-chinese-formal':\n return 41 /* SIMP_CHINESE_FORMAL */;\n case 'simp-chinese-informal':\n return 42 /* SIMP_CHINESE_INFORMAL */;\n case 'tamil':\n return 43 /* TAMIL */;\n case 'telugu':\n return 44 /* TELUGU */;\n case 'thai':\n return 45 /* THAI */;\n case 'tibetan':\n return 46 /* TIBETAN */;\n case 'trad-chinese-formal':\n return 47 /* TRAD_CHINESE_FORMAL */;\n case 'trad-chinese-informal':\n return 48 /* TRAD_CHINESE_INFORMAL */;\n case 'upper-armenian':\n return 49 /* UPPER_ARMENIAN */;\n case 'disclosure-open':\n return 50 /* DISCLOSURE_OPEN */;\n case 'disclosure-closed':\n return 51 /* DISCLOSURE_CLOSED */;\n case 'none':\n default:\n return -1 /* NONE */;\n }\n }\n};\n\nvar marginForSide = function (side) { return ({\n name: \"margin-\" + side,\n initialValue: '0',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n}); };\nvar marginTop = marginForSide('top');\nvar marginRight = marginForSide('right');\nvar marginBottom = marginForSide('bottom');\nvar marginLeft = marginForSide('left');\n\nvar overflow = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (overflow) {\n switch (overflow.value) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'scroll':\n return 2 /* SCROLL */;\n case 'clip':\n return 3 /* CLIP */;\n case 'auto':\n return 4 /* AUTO */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n });\n }\n};\n\nvar overflowWrap = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'break-word':\n return \"break-word\" /* BREAK_WORD */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n};\n\nvar paddingForSide = function (side) { return ({\n name: \"padding-\" + side,\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length-percentage'\n}); };\nvar paddingTop = paddingForSide('top');\nvar paddingRight = paddingForSide('right');\nvar paddingBottom = paddingForSide('bottom');\nvar paddingLeft = paddingForSide('left');\n\nvar textAlign = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textAlign) {\n switch (textAlign) {\n case 'right':\n return 2 /* RIGHT */;\n case 'center':\n case 'justify':\n return 1 /* CENTER */;\n case 'left':\n default:\n return 0 /* LEFT */;\n }\n }\n};\n\nvar position = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'relative':\n return 1 /* RELATIVE */;\n case 'absolute':\n return 2 /* ABSOLUTE */;\n case 'fixed':\n return 3 /* FIXED */;\n case 'sticky':\n return 4 /* STICKY */;\n }\n return 0 /* STATIC */;\n }\n};\n\nvar textShadow = {\n name: 'text-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else {\n shadow.blur = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n\nvar textTransform = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textTransform) {\n switch (textTransform) {\n case 'uppercase':\n return 2 /* UPPERCASE */;\n case 'lowercase':\n return 1 /* LOWERCASE */;\n case 'capitalize':\n return 3 /* CAPITALIZE */;\n }\n return 0 /* NONE */;\n }\n};\n\nvar transform$1 = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n if (token.type === 18 /* FUNCTION */) {\n var transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported transform function \\\"\" + token.name + \"\\\"\");\n }\n return transformFunction(token.values);\n }\n return null;\n }\n};\nvar matrix = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n return values.length === 6 ? values : null;\n};\n// doesn't support 3D transforms at the moment\nvar matrix3d = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n var a1 = values[0], b1 = values[1]; values[2]; values[3]; var a2 = values[4], b2 = values[5]; values[6]; values[7]; values[8]; values[9]; values[10]; values[11]; var a4 = values[12], b4 = values[13]; values[14]; values[15];\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\nvar SUPPORTED_TRANSFORM_FUNCTIONS = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n\nvar DEFAULT_VALUE = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n};\nvar DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE];\nvar transformOrigin = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var origins = tokens.filter(isLengthPercentage);\n if (origins.length !== 2) {\n return DEFAULT;\n }\n return [origins[0], origins[1]];\n }\n};\n\nvar visibility = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, visibility) {\n switch (visibility) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'collapse':\n return 2 /* COLLAPSE */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n }\n};\n\nvar WORD_BREAK;\n(function (WORD_BREAK) {\n WORD_BREAK[\"NORMAL\"] = \"normal\";\n WORD_BREAK[\"BREAK_ALL\"] = \"break-all\";\n WORD_BREAK[\"KEEP_ALL\"] = \"keep-all\";\n})(WORD_BREAK || (WORD_BREAK = {}));\nvar wordBreak = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, wordBreak) {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n\nvar zIndex = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */) {\n return { auto: true, order: 0 };\n }\n if (isNumberToken(token)) {\n return { auto: false, order: token.number };\n }\n throw new Error(\"Invalid z-index number parsed\");\n }\n};\n\nvar time = {\n name: 'time',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n throw new Error(\"Unsupported time type\");\n }\n};\n\nvar opacity = {\n name: 'opacity',\n initialValue: '1',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n\nvar textDecorationColor = {\n name: \"text-decoration-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar textDecorationLine = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens\n .filter(isIdentToken)\n .map(function (token) {\n switch (token.value) {\n case 'underline':\n return 1 /* UNDERLINE */;\n case 'overline':\n return 2 /* OVERLINE */;\n case 'line-through':\n return 3 /* LINE_THROUGH */;\n case 'none':\n return 4 /* BLINK */;\n }\n return 0 /* NONE */;\n })\n .filter(function (line) { return line !== 0 /* NONE */; });\n }\n};\n\nvar fontFamily = {\n name: \"font-family\",\n initialValue: '',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var accumulator = [];\n var results = [];\n tokens.forEach(function (token) {\n switch (token.type) {\n case 20 /* IDENT_TOKEN */:\n case 0 /* STRING_TOKEN */:\n accumulator.push(token.value);\n break;\n case 17 /* NUMBER_TOKEN */:\n accumulator.push(token.number.toString());\n break;\n case 4 /* COMMA_TOKEN */:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map(function (result) { return (result.indexOf(' ') === -1 ? result : \"'\" + result + \"'\"); });\n }\n};\n\nvar fontSize = {\n name: \"font-size\",\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length'\n};\n\nvar fontWeight = {\n name: 'font-weight',\n initialValue: 'normal',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n return 400;\n }\n};\n\nvar fontVariant = {\n name: 'font-variant',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (token) { return token.value; });\n }\n};\n\nvar fontStyle = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'oblique':\n return \"oblique\" /* OBLIQUE */;\n case 'italic':\n return \"italic\" /* ITALIC */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n};\n\nvar contains = function (bit, value) { return (bit & value) !== 0; };\n\nvar content = {\n name: 'content',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens;\n }\n};\n\nvar counterIncrement = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var increments = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (counter.type === 20 /* IDENT_TOKEN */) {\n var increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({ counter: counter.value, increment: increment });\n }\n }\n return increments;\n }\n};\n\nvar counterReset = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var resets = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n var reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({ counter: counter.value, reset: reset });\n }\n }\n return resets;\n }\n};\n\nvar duration = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (context, tokens) {\n return tokens.filter(isDimensionToken).map(function (token) { return time.parse(context, token); });\n }\n};\n\nvar quotes = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var quotes = [];\n var filtered = tokens.filter(isStringToken);\n if (filtered.length % 2 !== 0) {\n return null;\n }\n for (var i = 0; i < filtered.length; i += 2) {\n var open_1 = filtered[i].value;\n var close_1 = filtered[i + 1].value;\n quotes.push({ open: open_1, close: close_1 });\n }\n return quotes;\n }\n};\nvar getQuote = function (quotes, depth, open) {\n if (!quotes) {\n return '';\n }\n var quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n return open ? quote.open : quote.close;\n};\n\nvar boxShadow = {\n name: 'box-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n }\n else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else if (c === 2) {\n shadow.blur = token;\n }\n else {\n shadow.spread = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n\nvar paintOrder = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var DEFAULT_VALUE = [0 /* FILL */, 1 /* STROKE */, 2 /* MARKERS */];\n var layers = [];\n tokens.filter(isIdentToken).forEach(function (token) {\n switch (token.value) {\n case 'stroke':\n layers.push(1 /* STROKE */);\n break;\n case 'fill':\n layers.push(0 /* FILL */);\n break;\n case 'markers':\n layers.push(2 /* MARKERS */);\n break;\n }\n });\n DEFAULT_VALUE.forEach(function (value) {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n return layers;\n }\n};\n\nvar webkitTextStrokeColor = {\n name: \"-webkit-text-stroke-color\",\n initialValue: 'currentcolor',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar webkitTextStrokeWidth = {\n name: \"-webkit-text-stroke-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n\nvar CSSParsedDeclaration = /** @class */ (function () {\n function CSSParsedDeclaration(context, declaration) {\n var _a, _b;\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n var overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(context, textDecorationColor, (_a = declaration.textDecorationColor) !== null && _a !== void 0 ? _a : declaration.color);\n this.textDecorationLine = parse(context, textDecorationLine, (_b = declaration.textDecorationLine) !== null && _b !== void 0 ? _b : declaration.textDecoration);\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform$1, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n CSSParsedDeclaration.prototype.isVisible = function () {\n return this.display > 0 && this.opacity > 0 && this.visibility === 0 /* VISIBLE */;\n };\n CSSParsedDeclaration.prototype.isTransparent = function () {\n return isTransparent(this.backgroundColor);\n };\n CSSParsedDeclaration.prototype.isTransformed = function () {\n return this.transform !== null;\n };\n CSSParsedDeclaration.prototype.isPositioned = function () {\n return this.position !== 0 /* STATIC */;\n };\n CSSParsedDeclaration.prototype.isPositionedWithZIndex = function () {\n return this.isPositioned() && !this.zIndex.auto;\n };\n CSSParsedDeclaration.prototype.isFloating = function () {\n return this.float !== 0 /* NONE */;\n };\n CSSParsedDeclaration.prototype.isInlineLevel = function () {\n return (contains(this.display, 4 /* INLINE */) ||\n contains(this.display, 33554432 /* INLINE_BLOCK */) ||\n contains(this.display, 268435456 /* INLINE_FLEX */) ||\n contains(this.display, 536870912 /* INLINE_GRID */) ||\n contains(this.display, 67108864 /* INLINE_LIST_ITEM */) ||\n contains(this.display, 134217728 /* INLINE_TABLE */));\n };\n return CSSParsedDeclaration;\n}());\nvar CSSParsedPseudoDeclaration = /** @class */ (function () {\n function CSSParsedPseudoDeclaration(context, declaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n return CSSParsedPseudoDeclaration;\n}());\nvar CSSParsedCounterDeclaration = /** @class */ (function () {\n function CSSParsedCounterDeclaration(context, declaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n return CSSParsedCounterDeclaration;\n}());\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar parse = function (context, descriptor, style) {\n var tokenizer = new Tokenizer();\n var value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n var parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case 2 /* IDENT_VALUE */:\n var token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case 0 /* VALUE */:\n return descriptor.parse(context, parser.parseComponentValue());\n case 1 /* LIST */:\n return descriptor.parse(context, parser.parseComponentValues());\n case 4 /* TOKEN_VALUE */:\n return parser.parseComponentValue();\n case 3 /* TYPE_VALUE */:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return color$1.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n var length_1 = parser.parseComponentValue();\n return isLength(length_1) ? length_1 : ZERO_LENGTH;\n case 'length-percentage':\n var value_1 = parser.parseComponentValue();\n return isLengthPercentage(value_1) ? value_1 : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n\nvar elementDebuggerAttribute = 'data-html2canvas-debug';\nvar getElementDebugType = function (element) {\n var attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return 1 /* ALL */;\n case 'clone':\n return 2 /* CLONE */;\n case 'parse':\n return 3 /* PARSE */;\n case 'render':\n return 4 /* RENDER */;\n default:\n return 0 /* NONE */;\n }\n};\nvar isDebugging = function (element, type) {\n var elementType = getElementDebugType(element);\n return elementType === 1 /* ALL */ || type === elementType;\n};\n\nvar ElementContainer = /** @class */ (function () {\n function ElementContainer(context, element) {\n this.context = context;\n this.textNodes = [];\n this.elements = [];\n this.flags = 0;\n if (isDebugging(element, 3 /* PARSE */)) {\n debugger;\n }\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some(function (duration) { return duration > 0; })) {\n element.style.animationDuration = '0s';\n }\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n this.bounds = parseBounds(this.context, element);\n if (isDebugging(element, 4 /* RENDER */)) {\n this.flags |= 16 /* DEBUG_RENDER */;\n }\n }\n return ElementContainer;\n}());\n\n/*\n * text-segmentation 1.0.3 <https://github.com/niklasvh/text-segmentation>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar base64 = 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\n\n/*\n * utrie 1.0.2 <https://github.com/niklasvh/utrie>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$1 = 0; i$1 < chars$1.length; i$1++) {\n lookup$1[chars$1.charCodeAt(i$1)] = i$1;\n}\nvar decode = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1[base64.charCodeAt(i)];\n encoded2 = lookup$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n};\nvar polyUint16Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\nvar polyUint32Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\n/** Shift size for getting the index-2 table offset. */\nvar UTRIE2_SHIFT_2 = 5;\n/** Shift size for getting the index-1 table offset. */\nvar UTRIE2_SHIFT_1 = 6 + 5;\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nvar UTRIE2_INDEX_SHIFT = 2;\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nvar UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nvar UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n/** Number of entries in a data block. 32=0x20 */\nvar UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nvar UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\nvar UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nvar UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nvar UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nvar UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nvar UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nvar UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n/** Number of entries in an index-2 block. 64=0x40 */\nvar UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nvar UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\nvar slice16 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\nvar slice32 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\nvar createTrieFromBase64 = function (base64, _byteLength) {\n var buffer = decode(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\nvar Trie = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n}());\n\n/*\n * base64-arraybuffer 1.0.2 <https://github.com/niklasvh/base64-arraybuffer>\n * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nvar Prepend = 1;\nvar CR = 2;\nvar LF = 3;\nvar Control = 4;\nvar Extend = 5;\nvar SpacingMark = 7;\nvar L = 8;\nvar V = 9;\nvar T = 10;\nvar LV = 11;\nvar LVT = 12;\nvar ZWJ = 13;\nvar Extended_Pictographic = 14;\nvar RI = 15;\nvar toCodePoints = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\nvar fromCodePoint = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\nvar UnicodeTrie = createTrieFromBase64(base64);\nvar BREAK_NOT_ALLOWED = '×';\nvar BREAK_ALLOWED = '÷';\nvar codePointToClass = function (codePoint) { return UnicodeTrie.get(codePoint); };\nvar _graphemeBreakAtIndex = function (_codePoints, classTypes, index) {\n var prevIndex = index - 2;\n var prev = classTypes[prevIndex];\n var current = classTypes[index - 1];\n var next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n var countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n return BREAK_ALLOWED;\n};\nvar GraphemeBreaker = function (str) {\n var codePoints = toCodePoints(str);\n var length = codePoints.length;\n var index = 0;\n var lastEnd = 0;\n var classTypes = codePoints.map(codePointToClass);\n return {\n next: function () {\n if (index >= length) {\n return { done: true, value: null };\n }\n var graphemeBreak = BREAK_NOT_ALLOWED;\n while (index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED) { }\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n var value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n};\nvar splitGraphemes = function (str) {\n var breaker = GraphemeBreaker(str);\n var graphemes = [];\n var bk;\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n return graphemes;\n};\n\nvar testRangeBounds = function (document) {\n var TEST_HEIGHT = 123;\n if (document.createRange) {\n var range = document.createRange();\n if (range.getBoundingClientRect) {\n var testElement = document.createElement('boundtest');\n testElement.style.height = TEST_HEIGHT + \"px\";\n testElement.style.display = 'block';\n document.body.appendChild(testElement);\n range.selectNode(testElement);\n var rangeBounds = range.getBoundingClientRect();\n var rangeHeight = Math.round(rangeBounds.height);\n document.body.removeChild(testElement);\n if (rangeHeight === TEST_HEIGHT) {\n return true;\n }\n }\n }\n return false;\n};\nvar testIOSLineBreak = function (document) {\n var testElement = document.createElement('boundtest');\n testElement.style.width = '50px';\n testElement.style.display = 'block';\n testElement.style.fontSize = '12px';\n testElement.style.letterSpacing = '0px';\n testElement.style.wordSpacing = '0px';\n document.body.appendChild(testElement);\n var range = document.createRange();\n testElement.innerHTML = typeof ''.repeat === 'function' ? '👨'.repeat(10) : '';\n var node = testElement.firstChild;\n var textList = toCodePoints$1(node.data).map(function (i) { return fromCodePoint$1(i); });\n var offset = 0;\n var prev = {};\n // ios 13 does not handle range getBoundingClientRect line changes correctly #2177\n var supports = textList.every(function (text, i) {\n range.setStart(node, offset);\n range.setEnd(node, offset + text.length);\n var rect = range.getBoundingClientRect();\n offset += text.length;\n var boundAhead = rect.x > prev.x || rect.y > prev.y;\n prev = rect;\n if (i === 0) {\n return true;\n }\n return boundAhead;\n });\n document.body.removeChild(testElement);\n return supports;\n};\nvar testCORS = function () { return typeof new Image().crossOrigin !== 'undefined'; };\nvar testResponseType = function () { return typeof new XMLHttpRequest().responseType === 'string'; };\nvar testSVG = function (document) {\n var img = new Image();\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return false;\n }\n img.src = \"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>\";\n try {\n ctx.drawImage(img, 0, 0);\n canvas.toDataURL();\n }\n catch (e) {\n return false;\n }\n return true;\n};\nvar isGreenPixel = function (data) {\n return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255;\n};\nvar testForeignObject = function (document) {\n var canvas = document.createElement('canvas');\n var size = 100;\n canvas.width = size;\n canvas.height = size;\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return Promise.reject(false);\n }\n ctx.fillStyle = 'rgb(0, 255, 0)';\n ctx.fillRect(0, 0, size, size);\n var img = new Image();\n var greenImageSrc = canvas.toDataURL();\n img.src = greenImageSrc;\n var svg = createForeignObjectSVG(size, size, 0, 0, img);\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n return loadSerializedSVG$1(svg)\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n var data = ctx.getImageData(0, 0, size, size).data;\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n var node = document.createElement('div');\n node.style.backgroundImage = \"url(\" + greenImageSrc + \")\";\n node.style.height = size + \"px\";\n // Firefox 55 does not render inline <img /> tags\n return isGreenPixel(data)\n ? loadSerializedSVG$1(createForeignObjectSVG(size, size, 0, 0, node))\n : Promise.reject(false);\n })\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n // Edge does not render background-images\n return isGreenPixel(ctx.getImageData(0, 0, size, size).data);\n })\n .catch(function () { return false; });\n};\nvar createForeignObjectSVG = function (width, height, x, y, node) {\n var xmlns = 'http://www.w3.org/2000/svg';\n var svg = document.createElementNS(xmlns, 'svg');\n var foreignObject = document.createElementNS(xmlns, 'foreignObject');\n svg.setAttributeNS(null, 'width', width.toString());\n svg.setAttributeNS(null, 'height', height.toString());\n foreignObject.setAttributeNS(null, 'width', '100%');\n foreignObject.setAttributeNS(null, 'height', '100%');\n foreignObject.setAttributeNS(null, 'x', x.toString());\n foreignObject.setAttributeNS(null, 'y', y.toString());\n foreignObject.setAttributeNS(null, 'externalResourcesRequired', 'true');\n svg.appendChild(foreignObject);\n foreignObject.appendChild(node);\n return svg;\n};\nvar loadSerializedSVG$1 = function (svg) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () { return resolve(img); };\n img.onerror = reject;\n img.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(new XMLSerializer().serializeToString(svg));\n });\n};\nvar FEATURES = {\n get SUPPORT_RANGE_BOUNDS() {\n var value = testRangeBounds(document);\n Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: value });\n return value;\n },\n get SUPPORT_WORD_BREAKING() {\n var value = FEATURES.SUPPORT_RANGE_BOUNDS && testIOSLineBreak(document);\n Object.defineProperty(FEATURES, 'SUPPORT_WORD_BREAKING', { value: value });\n return value;\n },\n get SUPPORT_SVG_DRAWING() {\n var value = testSVG(document);\n Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_FOREIGNOBJECT_DRAWING() {\n var value = typeof Array.from === 'function' && typeof window.fetch === 'function'\n ? testForeignObject(document)\n : Promise.resolve(false);\n Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_CORS_IMAGES() {\n var value = testCORS();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: value });\n return value;\n },\n get SUPPORT_RESPONSE_TYPE() {\n var value = testResponseType();\n Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: value });\n return value;\n },\n get SUPPORT_CORS_XHR() {\n var value = 'withCredentials' in new XMLHttpRequest();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: value });\n return value;\n },\n get SUPPORT_NATIVE_TEXT_SEGMENTATION() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var value = !!(typeof Intl !== 'undefined' && Intl.Segmenter);\n Object.defineProperty(FEATURES, 'SUPPORT_NATIVE_TEXT_SEGMENTATION', { value: value });\n return value;\n }\n};\n\nvar TextBounds = /** @class */ (function () {\n function TextBounds(text, bounds) {\n this.text = text;\n this.bounds = bounds;\n }\n return TextBounds;\n}());\nvar parseTextBounds = function (context, value, styles, node) {\n var textList = breakText(value, styles);\n var textBounds = [];\n var offset = 0;\n textList.forEach(function (text) {\n if (styles.textDecorationLine.length || text.trim().length > 0) {\n if (FEATURES.SUPPORT_RANGE_BOUNDS) {\n var clientRects = createRange(node, offset, text.length).getClientRects();\n if (clientRects.length > 1) {\n var subSegments = segmentGraphemes(text);\n var subOffset_1 = 0;\n subSegments.forEach(function (subSegment) {\n textBounds.push(new TextBounds(subSegment, Bounds.fromDOMRectList(context, createRange(node, subOffset_1 + offset, subSegment.length).getClientRects())));\n subOffset_1 += subSegment.length;\n });\n }\n else {\n textBounds.push(new TextBounds(text, Bounds.fromDOMRectList(context, clientRects)));\n }\n }\n else {\n var replacementNode = node.splitText(text.length);\n textBounds.push(new TextBounds(text, getWrapperBounds(context, node)));\n node = replacementNode;\n }\n }\n else if (!FEATURES.SUPPORT_RANGE_BOUNDS) {\n node = node.splitText(text.length);\n }\n offset += text.length;\n });\n return textBounds;\n};\nvar getWrapperBounds = function (context, node) {\n var ownerDocument = node.ownerDocument;\n if (ownerDocument) {\n var wrapper = ownerDocument.createElement('html2canvaswrapper');\n wrapper.appendChild(node.cloneNode(true));\n var parentNode = node.parentNode;\n if (parentNode) {\n parentNode.replaceChild(wrapper, node);\n var bounds = parseBounds(context, wrapper);\n if (wrapper.firstChild) {\n parentNode.replaceChild(wrapper.firstChild, wrapper);\n }\n return bounds;\n }\n }\n return Bounds.EMPTY;\n};\nvar createRange = function (node, offset, length) {\n var ownerDocument = node.ownerDocument;\n if (!ownerDocument) {\n throw new Error('Node has no owner document');\n }\n var range = ownerDocument.createRange();\n range.setStart(node, offset);\n range.setEnd(node, offset + length);\n return range;\n};\nvar segmentGraphemes = function (value) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, { granularity: 'grapheme' });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return splitGraphemes(value);\n};\nvar segmentWords = function (value, styles) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, {\n granularity: 'word'\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return breakWords(value, styles);\n};\nvar breakText = function (value, styles) {\n return styles.letterSpacing !== 0 ? segmentGraphemes(value) : segmentWords(value, styles);\n};\n// https://drafts.csswg.org/css-text/#word-separator\nvar wordSeparators = [0x0020, 0x00a0, 0x1361, 0x10100, 0x10101, 0x1039, 0x1091];\nvar breakWords = function (str, styles) {\n var breaker = LineBreaker(str, {\n lineBreak: styles.lineBreak,\n wordBreak: styles.overflowWrap === \"break-word\" /* BREAK_WORD */ ? 'break-word' : styles.wordBreak\n });\n var words = [];\n var bk;\n var _loop_1 = function () {\n if (bk.value) {\n var value = bk.value.slice();\n var codePoints = toCodePoints$1(value);\n var word_1 = '';\n codePoints.forEach(function (codePoint) {\n if (wordSeparators.indexOf(codePoint) === -1) {\n word_1 += fromCodePoint$1(codePoint);\n }\n else {\n if (word_1.length) {\n words.push(word_1);\n }\n words.push(fromCodePoint$1(codePoint));\n word_1 = '';\n }\n });\n if (word_1.length) {\n words.push(word_1);\n }\n }\n };\n while (!(bk = breaker.next()).done) {\n _loop_1();\n }\n return words;\n};\n\nvar TextContainer = /** @class */ (function () {\n function TextContainer(context, node, styles) {\n this.text = transform(node.data, styles.textTransform);\n this.textBounds = parseTextBounds(context, this.text, styles, node);\n }\n return TextContainer;\n}());\nvar transform = function (text, transform) {\n switch (transform) {\n case 1 /* LOWERCASE */:\n return text.toLowerCase();\n case 3 /* CAPITALIZE */:\n return text.replace(CAPITALIZE, capitalize);\n case 2 /* UPPERCASE */:\n return text.toUpperCase();\n default:\n return text;\n }\n};\nvar CAPITALIZE = /(^|\\s|:|-|\\(|\\))([a-z])/g;\nvar capitalize = function (m, p1, p2) {\n if (m.length > 0) {\n return p1 + p2.toUpperCase();\n }\n return m;\n};\n\nvar ImageElementContainer = /** @class */ (function (_super) {\n __extends(ImageElementContainer, _super);\n function ImageElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n _this.src = img.currentSrc || img.src;\n _this.intrinsicWidth = img.naturalWidth;\n _this.intrinsicHeight = img.naturalHeight;\n _this.context.cache.addImage(_this.src);\n return _this;\n }\n return ImageElementContainer;\n}(ElementContainer));\n\nvar CanvasElementContainer = /** @class */ (function (_super) {\n __extends(CanvasElementContainer, _super);\n function CanvasElementContainer(context, canvas) {\n var _this = _super.call(this, context, canvas) || this;\n _this.canvas = canvas;\n _this.intrinsicWidth = canvas.width;\n _this.intrinsicHeight = canvas.height;\n return _this;\n }\n return CanvasElementContainer;\n}(ElementContainer));\n\nvar SVGElementContainer = /** @class */ (function (_super) {\n __extends(SVGElementContainer, _super);\n function SVGElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n var s = new XMLSerializer();\n var bounds = parseBounds(context, img);\n img.setAttribute('width', bounds.width + \"px\");\n img.setAttribute('height', bounds.height + \"px\");\n _this.svg = \"data:image/svg+xml,\" + encodeURIComponent(s.serializeToString(img));\n _this.intrinsicWidth = img.width.baseVal.value;\n _this.intrinsicHeight = img.height.baseVal.value;\n _this.context.cache.addImage(_this.svg);\n return _this;\n }\n return SVGElementContainer;\n}(ElementContainer));\n\nvar LIElementContainer = /** @class */ (function (_super) {\n __extends(LIElementContainer, _super);\n function LIElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return LIElementContainer;\n}(ElementContainer));\n\nvar OLElementContainer = /** @class */ (function (_super) {\n __extends(OLElementContainer, _super);\n function OLElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.start = element.start;\n _this.reversed = typeof element.reversed === 'boolean' && element.reversed === true;\n return _this;\n }\n return OLElementContainer;\n}(ElementContainer));\n\nvar CHECKBOX_BORDER_RADIUS = [\n {\n type: 15 /* DIMENSION_TOKEN */,\n flags: 0,\n unit: 'px',\n number: 3\n }\n];\nvar RADIO_BORDER_RADIUS = [\n {\n type: 16 /* PERCENTAGE_TOKEN */,\n flags: 0,\n number: 50\n }\n];\nvar reformatInputBounds = function (bounds) {\n if (bounds.width > bounds.height) {\n return new Bounds(bounds.left + (bounds.width - bounds.height) / 2, bounds.top, bounds.height, bounds.height);\n }\n else if (bounds.width < bounds.height) {\n return new Bounds(bounds.left, bounds.top + (bounds.height - bounds.width) / 2, bounds.width, bounds.width);\n }\n return bounds;\n};\nvar getInputValue = function (node) {\n var value = node.type === PASSWORD ? new Array(node.value.length + 1).join('\\u2022') : node.value;\n return value.length === 0 ? node.placeholder || '' : value;\n};\nvar CHECKBOX = 'checkbox';\nvar RADIO = 'radio';\nvar PASSWORD = 'password';\nvar INPUT_COLOR = 0x2a2a2aff;\nvar InputElementContainer = /** @class */ (function (_super) {\n __extends(InputElementContainer, _super);\n function InputElementContainer(context, input) {\n var _this = _super.call(this, context, input) || this;\n _this.type = input.type.toLowerCase();\n _this.checked = input.checked;\n _this.value = getInputValue(input);\n if (_this.type === CHECKBOX || _this.type === RADIO) {\n _this.styles.backgroundColor = 0xdededeff;\n _this.styles.borderTopColor =\n _this.styles.borderRightColor =\n _this.styles.borderBottomColor =\n _this.styles.borderLeftColor =\n 0xa5a5a5ff;\n _this.styles.borderTopWidth =\n _this.styles.borderRightWidth =\n _this.styles.borderBottomWidth =\n _this.styles.borderLeftWidth =\n 1;\n _this.styles.borderTopStyle =\n _this.styles.borderRightStyle =\n _this.styles.borderBottomStyle =\n _this.styles.borderLeftStyle =\n 1 /* SOLID */;\n _this.styles.backgroundClip = [0 /* BORDER_BOX */];\n _this.styles.backgroundOrigin = [0 /* BORDER_BOX */];\n _this.bounds = reformatInputBounds(_this.bounds);\n }\n switch (_this.type) {\n case CHECKBOX:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n CHECKBOX_BORDER_RADIUS;\n break;\n case RADIO:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n RADIO_BORDER_RADIUS;\n break;\n }\n return _this;\n }\n return InputElementContainer;\n}(ElementContainer));\n\nvar SelectElementContainer = /** @class */ (function (_super) {\n __extends(SelectElementContainer, _super);\n function SelectElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n var option = element.options[element.selectedIndex || 0];\n _this.value = option ? option.text || '' : '';\n return _this;\n }\n return SelectElementContainer;\n}(ElementContainer));\n\nvar TextareaElementContainer = /** @class */ (function (_super) {\n __extends(TextareaElementContainer, _super);\n function TextareaElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return TextareaElementContainer;\n}(ElementContainer));\n\nvar IFrameElementContainer = /** @class */ (function (_super) {\n __extends(IFrameElementContainer, _super);\n function IFrameElementContainer(context, iframe) {\n var _this = _super.call(this, context, iframe) || this;\n _this.src = iframe.src;\n _this.width = parseInt(iframe.width, 10) || 0;\n _this.height = parseInt(iframe.height, 10) || 0;\n _this.backgroundColor = _this.styles.backgroundColor;\n try {\n if (iframe.contentWindow &&\n iframe.contentWindow.document &&\n iframe.contentWindow.document.documentElement) {\n _this.tree = parseTree(context, iframe.contentWindow.document.documentElement);\n // http://www.w3.org/TR/css3-background/#special-backgrounds\n var documentBackgroundColor = iframe.contentWindow.document.documentElement\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.documentElement).backgroundColor)\n : COLORS.TRANSPARENT;\n var bodyBackgroundColor = iframe.contentWindow.document.body\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.body).backgroundColor)\n : COLORS.TRANSPARENT;\n _this.backgroundColor = isTransparent(documentBackgroundColor)\n ? isTransparent(bodyBackgroundColor)\n ? _this.styles.backgroundColor\n : bodyBackgroundColor\n : documentBackgroundColor;\n }\n }\n catch (e) { }\n return _this;\n }\n return IFrameElementContainer;\n}(ElementContainer));\n\nvar LIST_OWNERS = ['OL', 'UL', 'MENU'];\nvar parseNodeTree = function (context, node, parent, root) {\n for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) {\n nextNode = childNode.nextSibling;\n if (isTextNode(childNode) && childNode.data.trim().length > 0) {\n parent.textNodes.push(new TextContainer(context, childNode, parent.styles));\n }\n else if (isElementNode(childNode)) {\n if (isSlotElement(childNode) && childNode.assignedNodes) {\n childNode.assignedNodes().forEach(function (childNode) { return parseNodeTree(context, childNode, parent, root); });\n }\n else {\n var container = createContainer(context, childNode);\n if (container.styles.isVisible()) {\n if (createsRealStackingContext(childNode, container, root)) {\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n }\n else if (createsStackingContext(container.styles)) {\n container.flags |= 2 /* CREATES_STACKING_CONTEXT */;\n }\n if (LIST_OWNERS.indexOf(childNode.tagName) !== -1) {\n container.flags |= 8 /* IS_LIST_OWNER */;\n }\n parent.elements.push(container);\n childNode.slot;\n if (childNode.shadowRoot) {\n parseNodeTree(context, childNode.shadowRoot, container, root);\n }\n else if (!isTextareaElement(childNode) &&\n !isSVGElement(childNode) &&\n !isSelectElement(childNode)) {\n parseNodeTree(context, childNode, container, root);\n }\n }\n }\n }\n }\n};\nvar createContainer = function (context, element) {\n if (isImageElement(element)) {\n return new ImageElementContainer(context, element);\n }\n if (isCanvasElement(element)) {\n return new CanvasElementContainer(context, element);\n }\n if (isSVGElement(element)) {\n return new SVGElementContainer(context, element);\n }\n if (isLIElement(element)) {\n return new LIElementContainer(context, element);\n }\n if (isOLElement(element)) {\n return new OLElementContainer(context, element);\n }\n if (isInputElement(element)) {\n return new InputElementContainer(context, element);\n }\n if (isSelectElement(element)) {\n return new SelectElementContainer(context, element);\n }\n if (isTextareaElement(element)) {\n return new TextareaElementContainer(context, element);\n }\n if (isIFrameElement(element)) {\n return new IFrameElementContainer(context, element);\n }\n return new ElementContainer(context, element);\n};\nvar parseTree = function (context, element) {\n var container = createContainer(context, element);\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n parseNodeTree(context, element, container, container);\n return container;\n};\nvar createsRealStackingContext = function (node, container, root) {\n return (container.styles.isPositionedWithZIndex() ||\n container.styles.opacity < 1 ||\n container.styles.isTransformed() ||\n (isBodyElement(node) && root.styles.isTransparent()));\n};\nvar createsStackingContext = function (styles) { return styles.isPositioned() || styles.isFloating(); };\nvar isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; };\nvar isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; };\nvar isHTMLElementNode = function (node) {\n return isElementNode(node) && typeof node.style !== 'undefined' && !isSVGElementNode(node);\n};\nvar isSVGElementNode = function (element) {\n return typeof element.className === 'object';\n};\nvar isLIElement = function (node) { return node.tagName === 'LI'; };\nvar isOLElement = function (node) { return node.tagName === 'OL'; };\nvar isInputElement = function (node) { return node.tagName === 'INPUT'; };\nvar isHTMLElement = function (node) { return node.tagName === 'HTML'; };\nvar isSVGElement = function (node) { return node.tagName === 'svg'; };\nvar isBodyElement = function (node) { return node.tagName === 'BODY'; };\nvar isCanvasElement = function (node) { return node.tagName === 'CANVAS'; };\nvar isVideoElement = function (node) { return node.tagName === 'VIDEO'; };\nvar isImageElement = function (node) { return node.tagName === 'IMG'; };\nvar isIFrameElement = function (node) { return node.tagName === 'IFRAME'; };\nvar isStyleElement = function (node) { return node.tagName === 'STYLE'; };\nvar isScriptElement = function (node) { return node.tagName === 'SCRIPT'; };\nvar isTextareaElement = function (node) { return node.tagName === 'TEXTAREA'; };\nvar isSelectElement = function (node) { return node.tagName === 'SELECT'; };\nvar isSlotElement = function (node) { return node.tagName === 'SLOT'; };\n// https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\nvar isCustomElement = function (node) { return node.tagName.indexOf('-') > 0; };\n\nvar CounterState = /** @class */ (function () {\n function CounterState() {\n this.counters = {};\n }\n CounterState.prototype.getCounterValue = function (name) {\n var counter = this.counters[name];\n if (counter && counter.length) {\n return counter[counter.length - 1];\n }\n return 1;\n };\n CounterState.prototype.getCounterValues = function (name) {\n var counter = this.counters[name];\n return counter ? counter : [];\n };\n CounterState.prototype.pop = function (counters) {\n var _this = this;\n counters.forEach(function (counter) { return _this.counters[counter].pop(); });\n };\n CounterState.prototype.parse = function (style) {\n var _this = this;\n var counterIncrement = style.counterIncrement;\n var counterReset = style.counterReset;\n var canReset = true;\n if (counterIncrement !== null) {\n counterIncrement.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n if (counter && entry.increment !== 0) {\n canReset = false;\n if (!counter.length) {\n counter.push(1);\n }\n counter[Math.max(0, counter.length - 1)] += entry.increment;\n }\n });\n }\n var counterNames = [];\n if (canReset) {\n counterReset.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n counterNames.push(entry.counter);\n if (!counter) {\n counter = _this.counters[entry.counter] = [];\n }\n counter.push(entry.reset);\n });\n }\n return counterNames;\n };\n return CounterState;\n}());\nvar ROMAN_UPPER = {\n integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1],\n values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']\n};\nvar ARMENIAN = {\n integers: [\n 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70,\n 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'Ք',\n 'Փ',\n 'Ւ',\n 'Ց',\n 'Ր',\n 'Տ',\n 'Վ',\n 'Ս',\n 'Ռ',\n 'Ջ',\n 'Պ',\n 'Չ',\n 'Ո',\n 'Շ',\n 'Ն',\n 'Յ',\n 'Մ',\n 'Ճ',\n 'Ղ',\n 'Ձ',\n 'Հ',\n 'Կ',\n 'Ծ',\n 'Խ',\n 'Լ',\n 'Ի',\n 'Ժ',\n 'Թ',\n 'Ը',\n 'Է',\n 'Զ',\n 'Ե',\n 'Դ',\n 'Գ',\n 'Բ',\n 'Ա'\n ]\n};\nvar HEBREW = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20,\n 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'י׳',\n 'ט׳',\n 'ח׳',\n 'ז׳',\n 'ו׳',\n 'ה׳',\n 'ד׳',\n 'ג׳',\n 'ב׳',\n 'א׳',\n 'ת',\n 'ש',\n 'ר',\n 'ק',\n 'צ',\n 'פ',\n 'ע',\n 'ס',\n 'נ',\n 'מ',\n 'ל',\n 'כ',\n 'יט',\n 'יח',\n 'יז',\n 'טז',\n 'טו',\n 'י',\n 'ט',\n 'ח',\n 'ז',\n 'ו',\n 'ה',\n 'ד',\n 'ג',\n 'ב',\n 'א'\n ]\n};\nvar GEORGIAN = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90,\n 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'ჵ',\n 'ჰ',\n 'ჯ',\n 'ჴ',\n 'ხ',\n 'ჭ',\n 'წ',\n 'ძ',\n 'ც',\n 'ჩ',\n 'შ',\n 'ყ',\n 'ღ',\n 'ქ',\n 'ფ',\n 'ჳ',\n 'ტ',\n 'ს',\n 'რ',\n 'ჟ',\n 'პ',\n 'ო',\n 'ჲ',\n 'ნ',\n 'მ',\n 'ლ',\n 'კ',\n 'ი',\n 'თ',\n 'ჱ',\n 'ზ',\n 'ვ',\n 'ე',\n 'დ',\n 'გ',\n 'ბ',\n 'ა'\n ]\n};\nvar createAdditiveCounter = function (value, min, max, symbols, fallback, suffix) {\n if (value < min || value > max) {\n return createCounterText(value, fallback, suffix.length > 0);\n }\n return (symbols.integers.reduce(function (string, integer, index) {\n while (value >= integer) {\n value -= integer;\n string += symbols.values[index];\n }\n return string;\n }, '') + suffix);\n};\nvar createCounterStyleWithSymbolResolver = function (value, codePointRangeLength, isNumeric, resolver) {\n var string = '';\n do {\n if (!isNumeric) {\n value--;\n }\n string = resolver(value) + string;\n value /= codePointRangeLength;\n } while (value * codePointRangeLength >= codePointRangeLength);\n return string;\n};\nvar createCounterStyleFromRange = function (value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) {\n var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1;\n return ((value < 0 ? '-' : '') +\n (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function (codePoint) {\n return fromCodePoint$1(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart);\n }) +\n suffix));\n};\nvar createCounterStyleFromSymbols = function (value, symbols, suffix) {\n if (suffix === void 0) { suffix = '. '; }\n var codePointRangeLength = symbols.length;\n return (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function (codePoint) { return symbols[Math.floor(codePoint % codePointRangeLength)]; }) + suffix);\n};\nvar CJK_ZEROS = 1 << 0;\nvar CJK_TEN_COEFFICIENTS = 1 << 1;\nvar CJK_TEN_HIGH_COEFFICIENTS = 1 << 2;\nvar CJK_HUNDRED_COEFFICIENTS = 1 << 3;\nvar createCJKCounter = function (value, numbers, multipliers, negativeSign, suffix, flags) {\n if (value < -9999 || value > 9999) {\n return createCounterText(value, 4 /* CJK_DECIMAL */, suffix.length > 0);\n }\n var tmp = Math.abs(value);\n var string = suffix;\n if (tmp === 0) {\n return numbers[0] + string;\n }\n for (var digit = 0; tmp > 0 && digit <= 4; digit++) {\n var coefficient = tmp % 10;\n if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== '') {\n string = numbers[coefficient] + string;\n }\n else if (coefficient > 1 ||\n (coefficient === 1 && digit === 0) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS)) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100) ||\n (coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS))) {\n string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string;\n }\n else if (coefficient === 1 && digit > 0) {\n string = multipliers[digit - 1] + string;\n }\n tmp = Math.floor(tmp / 10);\n }\n return (value < 0 ? negativeSign : '') + string;\n};\nvar CHINESE_INFORMAL_MULTIPLIERS = '十百千萬';\nvar CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬';\nvar JAPANESE_NEGATIVE = 'マイナス';\nvar KOREAN_NEGATIVE = '마이너스';\nvar createCounterText = function (value, type, appendSuffix) {\n var defaultSuffix = appendSuffix ? '. ' : '';\n var cjkSuffix = appendSuffix ? '、' : '';\n var koreanSuffix = appendSuffix ? ', ' : '';\n var spaceSuffix = appendSuffix ? ' ' : '';\n switch (type) {\n case 0 /* DISC */:\n return '•' + spaceSuffix;\n case 1 /* CIRCLE */:\n return '◦' + spaceSuffix;\n case 2 /* SQUARE */:\n return '◾' + spaceSuffix;\n case 5 /* DECIMAL_LEADING_ZERO */:\n var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n return string.length < 4 ? \"0\" + string : string;\n case 4 /* CJK_DECIMAL */:\n return createCounterStyleFromSymbols(value, '〇一二三四五六七八九', cjkSuffix);\n case 6 /* LOWER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 7 /* UPPER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix);\n case 8 /* LOWER_GREEK */:\n return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix);\n case 9 /* LOWER_ALPHA */:\n return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix);\n case 10 /* UPPER_ALPHA */:\n return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix);\n case 11 /* ARABIC_INDIC */:\n return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix);\n case 12 /* ARMENIAN */:\n case 49 /* UPPER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix);\n case 35 /* LOWER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 13 /* BENGALI */:\n return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix);\n case 14 /* CAMBODIAN */:\n case 30 /* KHMER */:\n return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix);\n case 15 /* CJK_EARTHLY_BRANCH */:\n return createCounterStyleFromSymbols(value, '子丑寅卯辰巳午未申酉戌亥', cjkSuffix);\n case 16 /* CJK_HEAVENLY_STEM */:\n return createCounterStyleFromSymbols(value, '甲乙丙丁戊己庚辛壬癸', cjkSuffix);\n case 17 /* CJK_IDEOGRAPHIC */:\n case 48 /* TRAD_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 47 /* TRAD_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹貳參肆伍陸柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 42 /* SIMP_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 41 /* SIMP_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹贰叁肆伍陆柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 26 /* JAPANESE_INFORMAL */:\n return createCJKCounter(value, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, cjkSuffix, 0);\n case 25 /* JAPANESE_FORMAL */:\n return createCJKCounter(value, '零壱弐参四伍六七八九', '拾百千万', JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 31 /* KOREAN_HANGUL_FORMAL */:\n return createCJKCounter(value, '영일이삼사오육칠팔구', '십백천만', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 33 /* KOREAN_HANJA_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, koreanSuffix, 0);\n case 32 /* KOREAN_HANJA_FORMAL */:\n return createCJKCounter(value, '零壹貳參四五六七八九', '拾百千', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 18 /* DEVANAGARI */:\n return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix);\n case 20 /* GEORGIAN */:\n return createAdditiveCounter(value, 1, 19999, GEORGIAN, 3 /* DECIMAL */, defaultSuffix);\n case 21 /* GUJARATI */:\n return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix);\n case 22 /* GURMUKHI */:\n return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix);\n case 22 /* HEBREW */:\n return createAdditiveCounter(value, 1, 10999, HEBREW, 3 /* DECIMAL */, defaultSuffix);\n case 23 /* HIRAGANA */:\n return createCounterStyleFromSymbols(value, 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん');\n case 24 /* HIRAGANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす');\n case 27 /* KANNADA */:\n return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix);\n case 28 /* KATAKANA */:\n return createCounterStyleFromSymbols(value, 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン', cjkSuffix);\n case 29 /* KATAKANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス', cjkSuffix);\n case 34 /* LAO */:\n return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix);\n case 37 /* MONGOLIAN */:\n return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix);\n case 38 /* MYANMAR */:\n return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix);\n case 39 /* ORIYA */:\n return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix);\n case 40 /* PERSIAN */:\n return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix);\n case 43 /* TAMIL */:\n return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix);\n case 44 /* TELUGU */:\n return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix);\n case 45 /* THAI */:\n return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix);\n case 46 /* TIBETAN */:\n return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix);\n case 3 /* DECIMAL */:\n default:\n return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n }\n};\n\nvar IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\nvar DocumentCloner = /** @class */ (function () {\n function DocumentCloner(context, element, options) {\n this.context = context;\n this.options = options;\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false);\n }\n DocumentCloner.prototype.toIFrame = function (ownerDocument, windowSize) {\n var _this = this;\n var iframe = createIFrameContainer(ownerDocument, windowSize);\n if (!iframe.contentWindow) {\n return Promise.reject(\"Unable to find iframe window\");\n }\n var scrollX = ownerDocument.defaultView.pageXOffset;\n var scrollY = ownerDocument.defaultView.pageYOffset;\n var cloneWindow = iframe.contentWindow;\n var documentClone = cloneWindow.document;\n /* Chrome doesn't detect relative background-images assigned in inline <style> sheets when fetched through getComputedStyle\n if window url is about:blank, we can assign the url to current by writing onto the document\n */\n var iframeLoad = iframeLoader(iframe).then(function () { return __awaiter(_this, void 0, void 0, function () {\n var onclone, referenceElement;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.scrolledElements.forEach(restoreNodeScroll);\n if (cloneWindow) {\n cloneWindow.scrollTo(windowSize.left, windowSize.top);\n if (/(iPad|iPhone|iPod)/g.test(navigator.userAgent) &&\n (cloneWindow.scrollY !== windowSize.top || cloneWindow.scrollX !== windowSize.left)) {\n this.context.logger.warn('Unable to restore scroll position for cloned document');\n this.context.windowBounds = this.context.windowBounds.add(cloneWindow.scrollX - windowSize.left, cloneWindow.scrollY - windowSize.top, 0, 0);\n }\n }\n onclone = this.options.onclone;\n referenceElement = this.clonedReferenceElement;\n if (typeof referenceElement === 'undefined') {\n return [2 /*return*/, Promise.reject(\"Error finding the \" + this.referenceElement.nodeName + \" in the cloned document\")];\n }\n if (!(documentClone.fonts && documentClone.fonts.ready)) return [3 /*break*/, 2];\n return [4 /*yield*/, documentClone.fonts.ready];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n if (!/(AppleWebKit)/g.test(navigator.userAgent)) return [3 /*break*/, 4];\n return [4 /*yield*/, imagesReady(documentClone)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n if (typeof onclone === 'function') {\n return [2 /*return*/, Promise.resolve()\n .then(function () { return onclone(documentClone, referenceElement); })\n .then(function () { return iframe; })];\n }\n return [2 /*return*/, iframe];\n }\n });\n }); });\n documentClone.open();\n documentClone.write(serializeDoctype(document.doctype) + \"<html></html>\");\n // Chrome scrolls the parent document for some reason after the write to the cloned window???\n restoreOwnerScroll(this.referenceElement.ownerDocument, scrollX, scrollY);\n documentClone.replaceChild(documentClone.adoptNode(this.documentElement), documentClone.documentElement);\n documentClone.close();\n return iframeLoad;\n };\n DocumentCloner.prototype.createElementClone = function (node) {\n if (isDebugging(node, 2 /* CLONE */)) {\n debugger;\n }\n if (isCanvasElement(node)) {\n return this.createCanvasClone(node);\n }\n if (isVideoElement(node)) {\n return this.createVideoClone(node);\n }\n if (isStyleElement(node)) {\n return this.createStyleClone(node);\n }\n var clone = node.cloneNode(false);\n if (isImageElement(clone)) {\n if (isImageElement(node) && node.currentSrc && node.currentSrc !== node.src) {\n clone.src = node.currentSrc;\n clone.srcset = '';\n }\n if (clone.loading === 'lazy') {\n clone.loading = 'eager';\n }\n }\n if (isCustomElement(clone)) {\n return this.createCustomElementClone(clone);\n }\n return clone;\n };\n DocumentCloner.prototype.createCustomElementClone = function (node) {\n var clone = document.createElement('html2canvascustomelement');\n copyCSSStyles(node.style, clone);\n return clone;\n };\n DocumentCloner.prototype.createStyleClone = function (node) {\n try {\n var sheet = node.sheet;\n if (sheet && sheet.cssRules) {\n var css = [].slice.call(sheet.cssRules, 0).reduce(function (css, rule) {\n if (rule && typeof rule.cssText === 'string') {\n return css + rule.cssText;\n }\n return css;\n }, '');\n var style = node.cloneNode(false);\n style.textContent = css;\n return style;\n }\n }\n catch (e) {\n // accessing node.sheet.cssRules throws a DOMException\n this.context.logger.error('Unable to access cssRules property', e);\n if (e.name !== 'SecurityError') {\n throw e;\n }\n }\n return node.cloneNode(false);\n };\n DocumentCloner.prototype.createCanvasClone = function (canvas) {\n var _a;\n if (this.options.inlineImages && canvas.ownerDocument) {\n var img = canvas.ownerDocument.createElement('img');\n try {\n img.src = canvas.toDataURL();\n return img;\n }\n catch (e) {\n this.context.logger.info(\"Unable to inline canvas contents, canvas is tainted\", canvas);\n }\n }\n var clonedCanvas = canvas.cloneNode(false);\n try {\n clonedCanvas.width = canvas.width;\n clonedCanvas.height = canvas.height;\n var ctx = canvas.getContext('2d');\n var clonedCtx = clonedCanvas.getContext('2d');\n if (clonedCtx) {\n if (!this.options.allowTaint && ctx) {\n clonedCtx.putImageData(ctx.getImageData(0, 0, canvas.width, canvas.height), 0, 0);\n }\n else {\n var gl = (_a = canvas.getContext('webgl2')) !== null && _a !== void 0 ? _a : canvas.getContext('webgl');\n if (gl) {\n var attribs = gl.getContextAttributes();\n if ((attribs === null || attribs === void 0 ? void 0 : attribs.preserveDrawingBuffer) === false) {\n this.context.logger.warn('Unable to clone WebGL context as it has preserveDrawingBuffer=false', canvas);\n }\n }\n clonedCtx.drawImage(canvas, 0, 0);\n }\n }\n return clonedCanvas;\n }\n catch (e) {\n this.context.logger.info(\"Unable to clone canvas as it is tainted\", canvas);\n }\n return clonedCanvas;\n };\n DocumentCloner.prototype.createVideoClone = function (video) {\n var canvas = video.ownerDocument.createElement('canvas');\n canvas.width = video.offsetWidth;\n canvas.height = video.offsetHeight;\n var ctx = canvas.getContext('2d');\n try {\n if (ctx) {\n ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n if (!this.options.allowTaint) {\n ctx.getImageData(0, 0, canvas.width, canvas.height);\n }\n }\n return canvas;\n }\n catch (e) {\n this.context.logger.info(\"Unable to clone video as it is tainted\", video);\n }\n var blankCanvas = video.ownerDocument.createElement('canvas');\n blankCanvas.width = video.offsetWidth;\n blankCanvas.height = video.offsetHeight;\n return blankCanvas;\n };\n DocumentCloner.prototype.appendChildNode = function (clone, child, copyStyles) {\n if (!isElementNode(child) ||\n (!isScriptElement(child) &&\n !child.hasAttribute(IGNORE_ATTRIBUTE) &&\n (typeof this.options.ignoreElements !== 'function' || !this.options.ignoreElements(child)))) {\n if (!this.options.copyStyles || !isElementNode(child) || !isStyleElement(child)) {\n clone.appendChild(this.cloneNode(child, copyStyles));\n }\n }\n };\n DocumentCloner.prototype.cloneChildNodes = function (node, clone, copyStyles) {\n var _this = this;\n for (var child = node.shadowRoot ? node.shadowRoot.firstChild : node.firstChild; child; child = child.nextSibling) {\n if (isElementNode(child) && isSlotElement(child) && typeof child.assignedNodes === 'function') {\n var assignedNodes = child.assignedNodes();\n if (assignedNodes.length) {\n assignedNodes.forEach(function (assignedNode) { return _this.appendChildNode(clone, assignedNode, copyStyles); });\n }\n }\n else {\n this.appendChildNode(clone, child, copyStyles);\n }\n }\n };\n DocumentCloner.prototype.cloneNode = function (node, copyStyles) {\n if (isTextNode(node)) {\n return document.createTextNode(node.data);\n }\n if (!node.ownerDocument) {\n return node.cloneNode(false);\n }\n var window = node.ownerDocument.defaultView;\n if (window && isElementNode(node) && (isHTMLElementNode(node) || isSVGElementNode(node))) {\n var clone = this.createElementClone(node);\n clone.style.transitionProperty = 'none';\n var style = window.getComputedStyle(node);\n var styleBefore = window.getComputedStyle(node, ':before');\n var styleAfter = window.getComputedStyle(node, ':after');\n if (this.referenceElement === node && isHTMLElementNode(clone)) {\n this.clonedReferenceElement = clone;\n }\n if (isBodyElement(clone)) {\n createPseudoHideStyles(clone);\n }\n var counters = this.counters.parse(new CSSParsedCounterDeclaration(this.context, style));\n var before = this.resolvePseudoContent(node, clone, styleBefore, PseudoElementType.BEFORE);\n if (isCustomElement(node)) {\n copyStyles = true;\n }\n if (!isVideoElement(node)) {\n this.cloneChildNodes(node, clone, copyStyles);\n }\n if (before) {\n clone.insertBefore(before, clone.firstChild);\n }\n var after = this.resolvePseudoContent(node, clone, styleAfter, PseudoElementType.AFTER);\n if (after) {\n clone.appendChild(after);\n }\n this.counters.pop(counters);\n if ((style && (this.options.copyStyles || isSVGElementNode(node)) && !isIFrameElement(node)) ||\n copyStyles) {\n copyCSSStyles(style, clone);\n }\n if (node.scrollTop !== 0 || node.scrollLeft !== 0) {\n this.scrolledElements.push([clone, node.scrollLeft, node.scrollTop]);\n }\n if ((isTextareaElement(node) || isSelectElement(node)) &&\n (isTextareaElement(clone) || isSelectElement(clone))) {\n clone.value = node.value;\n }\n return clone;\n }\n return node.cloneNode(false);\n };\n DocumentCloner.prototype.resolvePseudoContent = function (node, clone, style, pseudoElt) {\n var _this = this;\n if (!style) {\n return;\n }\n var value = style.content;\n var document = clone.ownerDocument;\n if (!document || !value || value === 'none' || value === '-moz-alt-content' || style.display === 'none') {\n return;\n }\n this.counters.parse(new CSSParsedCounterDeclaration(this.context, style));\n var declaration = new CSSParsedPseudoDeclaration(this.context, style);\n var anonymousReplacedElement = document.createElement('html2canvaspseudoelement');\n copyCSSStyles(style, anonymousReplacedElement);\n declaration.content.forEach(function (token) {\n if (token.type === 0 /* STRING_TOKEN */) {\n anonymousReplacedElement.appendChild(document.createTextNode(token.value));\n }\n else if (token.type === 22 /* URL_TOKEN */) {\n var img = document.createElement('img');\n img.src = token.value;\n img.style.opacity = '1';\n anonymousReplacedElement.appendChild(img);\n }\n else if (token.type === 18 /* FUNCTION */) {\n if (token.name === 'attr') {\n var attr = token.values.filter(isIdentToken);\n if (attr.length) {\n anonymousReplacedElement.appendChild(document.createTextNode(node.getAttribute(attr[0].value) || ''));\n }\n }\n else if (token.name === 'counter') {\n var _a = token.values.filter(nonFunctionArgSeparator), counter = _a[0], counterStyle = _a[1];\n if (counter && isIdentToken(counter)) {\n var counterState = _this.counters.getCounterValue(counter.value);\n var counterType = counterStyle && isIdentToken(counterStyle)\n ? listStyleType.parse(_this.context, counterStyle.value)\n : 3 /* DECIMAL */;\n anonymousReplacedElement.appendChild(document.createTextNode(createCounterText(counterState, counterType, false)));\n }\n }\n else if (token.name === 'counters') {\n var _b = token.values.filter(nonFunctionArgSeparator), counter = _b[0], delim = _b[1], counterStyle = _b[2];\n if (counter && isIdentToken(counter)) {\n var counterStates = _this.counters.getCounterValues(counter.value);\n var counterType_1 = counterStyle && isIdentToken(counterStyle)\n ? listStyleType.parse(_this.context, counterStyle.value)\n : 3 /* DECIMAL */;\n var separator = delim && delim.type === 0 /* STRING_TOKEN */ ? delim.value : '';\n var text = counterStates\n .map(function (value) { return createCounterText(value, counterType_1, false); })\n .join(separator);\n anonymousReplacedElement.appendChild(document.createTextNode(text));\n }\n }\n else ;\n }\n else if (token.type === 20 /* IDENT_TOKEN */) {\n switch (token.value) {\n case 'open-quote':\n anonymousReplacedElement.appendChild(document.createTextNode(getQuote(declaration.quotes, _this.quoteDepth++, true)));\n break;\n case 'close-quote':\n anonymousReplacedElement.appendChild(document.createTextNode(getQuote(declaration.quotes, --_this.quoteDepth, false)));\n break;\n default:\n // safari doesn't parse string tokens correctly because of lack of quotes\n anonymousReplacedElement.appendChild(document.createTextNode(token.value));\n }\n }\n });\n anonymousReplacedElement.className = PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + \" \" + PSEUDO_HIDE_ELEMENT_CLASS_AFTER;\n var newClassName = pseudoElt === PseudoElementType.BEFORE\n ? \" \" + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE\n : \" \" + PSEUDO_HIDE_ELEMENT_CLASS_AFTER;\n if (isSVGElementNode(clone)) {\n clone.className.baseValue += newClassName;\n }\n else {\n clone.className += newClassName;\n }\n return anonymousReplacedElement;\n };\n DocumentCloner.destroy = function (container) {\n if (container.parentNode) {\n container.parentNode.removeChild(container);\n return true;\n }\n return false;\n };\n return DocumentCloner;\n}());\nvar PseudoElementType;\n(function (PseudoElementType) {\n PseudoElementType[PseudoElementType[\"BEFORE\"] = 0] = \"BEFORE\";\n PseudoElementType[PseudoElementType[\"AFTER\"] = 1] = \"AFTER\";\n})(PseudoElementType || (PseudoElementType = {}));\nvar createIFrameContainer = function (ownerDocument, bounds) {\n var cloneIframeContainer = ownerDocument.createElement('iframe');\n cloneIframeContainer.className = 'html2canvas-container';\n cloneIframeContainer.style.visibility = 'hidden';\n cloneIframeContainer.style.position = 'fixed';\n cloneIframeContainer.style.left = '-10000px';\n cloneIframeContainer.style.top = '0px';\n cloneIframeContainer.style.border = '0';\n cloneIframeContainer.width = bounds.width.toString();\n cloneIframeContainer.height = bounds.height.toString();\n cloneIframeContainer.scrolling = 'no'; // ios won't scroll without it\n cloneIframeContainer.setAttribute(IGNORE_ATTRIBUTE, 'true');\n ownerDocument.body.appendChild(cloneIframeContainer);\n return cloneIframeContainer;\n};\nvar imageReady = function (img) {\n return new Promise(function (resolve) {\n if (img.complete) {\n resolve();\n return;\n }\n if (!img.src) {\n resolve();\n return;\n }\n img.onload = resolve;\n img.onerror = resolve;\n });\n};\nvar imagesReady = function (document) {\n return Promise.all([].slice.call(document.images, 0).map(imageReady));\n};\nvar iframeLoader = function (iframe) {\n return new Promise(function (resolve, reject) {\n var cloneWindow = iframe.contentWindow;\n if (!cloneWindow) {\n return reject(\"No window assigned for iframe\");\n }\n var documentClone = cloneWindow.document;\n cloneWindow.onload = iframe.onload = function () {\n cloneWindow.onload = iframe.onload = null;\n var interval = setInterval(function () {\n if (documentClone.body.childNodes.length > 0 && documentClone.readyState === 'complete') {\n clearInterval(interval);\n resolve(iframe);\n }\n }, 50);\n };\n });\n};\nvar ignoredStyleProperties = [\n 'all',\n 'd',\n 'content' // Safari shows pseudoelements if content is set\n];\nvar copyCSSStyles = function (style, target) {\n // Edge does not provide value for cssText\n for (var i = style.length - 1; i >= 0; i--) {\n var property = style.item(i);\n if (ignoredStyleProperties.indexOf(property) === -1) {\n target.style.setProperty(property, style.getPropertyValue(property));\n }\n }\n return target;\n};\nvar serializeDoctype = function (doctype) {\n var str = '';\n if (doctype) {\n str += '<!DOCTYPE ';\n if (doctype.name) {\n str += doctype.name;\n }\n if (doctype.internalSubset) {\n str += doctype.internalSubset;\n }\n if (doctype.publicId) {\n str += \"\\\"\" + doctype.publicId + \"\\\"\";\n }\n if (doctype.systemId) {\n str += \"\\\"\" + doctype.systemId + \"\\\"\";\n }\n str += '>';\n }\n return str;\n};\nvar restoreOwnerScroll = function (ownerDocument, x, y) {\n if (ownerDocument &&\n ownerDocument.defaultView &&\n (x !== ownerDocument.defaultView.pageXOffset || y !== ownerDocument.defaultView.pageYOffset)) {\n ownerDocument.defaultView.scrollTo(x, y);\n }\n};\nvar restoreNodeScroll = function (_a) {\n var element = _a[0], x = _a[1], y = _a[2];\n element.scrollLeft = x;\n element.scrollTop = y;\n};\nvar PSEUDO_BEFORE = ':before';\nvar PSEUDO_AFTER = ':after';\nvar PSEUDO_HIDE_ELEMENT_CLASS_BEFORE = '___html2canvas___pseudoelement_before';\nvar PSEUDO_HIDE_ELEMENT_CLASS_AFTER = '___html2canvas___pseudoelement_after';\nvar PSEUDO_HIDE_ELEMENT_STYLE = \"{\\n content: \\\"\\\" !important;\\n display: none !important;\\n}\";\nvar createPseudoHideStyles = function (body) {\n createStyles(body, \".\" + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + PSEUDO_BEFORE + PSEUDO_HIDE_ELEMENT_STYLE + \"\\n .\" + PSEUDO_HIDE_ELEMENT_CLASS_AFTER + PSEUDO_AFTER + PSEUDO_HIDE_ELEMENT_STYLE);\n};\nvar createStyles = function (body, styles) {\n var document = body.ownerDocument;\n if (document) {\n var style = document.createElement('style');\n style.textContent = styles;\n body.appendChild(style);\n }\n};\n\nvar CacheStorage = /** @class */ (function () {\n function CacheStorage() {\n }\n CacheStorage.getOrigin = function (url) {\n var link = CacheStorage._link;\n if (!link) {\n return 'about:blank';\n }\n link.href = url;\n link.href = link.href; // IE9, LOL! - http://jsfiddle.net/niklasvh/2e48b/\n return link.protocol + link.hostname + link.port;\n };\n CacheStorage.isSameOrigin = function (src) {\n return CacheStorage.getOrigin(src) === CacheStorage._origin;\n };\n CacheStorage.setContext = function (window) {\n CacheStorage._link = window.document.createElement('a');\n CacheStorage._origin = CacheStorage.getOrigin(window.location.href);\n };\n CacheStorage._origin = 'about:blank';\n return CacheStorage;\n}());\nvar Cache = /** @class */ (function () {\n function Cache(context, _options) {\n this.context = context;\n this._options = _options;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this._cache = {};\n }\n Cache.prototype.addImage = function (src) {\n var result = Promise.resolve();\n if (this.has(src)) {\n return result;\n }\n if (isBlobImage(src) || isRenderable(src)) {\n (this._cache[src] = this.loadImage(src)).catch(function () {\n // prevent unhandled rejection\n });\n return result;\n }\n return result;\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Cache.prototype.match = function (src) {\n return this._cache[src];\n };\n Cache.prototype.loadImage = function (key) {\n return __awaiter(this, void 0, void 0, function () {\n var isSameOrigin, useCORS, useProxy, src;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isSameOrigin = CacheStorage.isSameOrigin(key);\n useCORS = !isInlineImage(key) && this._options.useCORS === true && FEATURES.SUPPORT_CORS_IMAGES && !isSameOrigin;\n useProxy = !isInlineImage(key) &&\n !isSameOrigin &&\n !isBlobImage(key) &&\n typeof this._options.proxy === 'string' &&\n FEATURES.SUPPORT_CORS_XHR &&\n !useCORS;\n if (!isSameOrigin &&\n this._options.allowTaint === false &&\n !isInlineImage(key) &&\n !isBlobImage(key) &&\n !useProxy &&\n !useCORS) {\n return [2 /*return*/];\n }\n src = key;\n if (!useProxy) return [3 /*break*/, 2];\n return [4 /*yield*/, this.proxy(src)];\n case 1:\n src = _a.sent();\n _a.label = 2;\n case 2:\n this.context.logger.debug(\"Added image \" + key.substring(0, 256));\n return [4 /*yield*/, new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () { return resolve(img); };\n img.onerror = reject;\n //ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous\n if (isInlineBase64Image(src) || useCORS) {\n img.crossOrigin = 'anonymous';\n }\n img.src = src;\n if (img.complete === true) {\n // Inline XML images may fail to parse, throwing an Error later on\n setTimeout(function () { return resolve(img); }, 500);\n }\n if (_this._options.imageTimeout > 0) {\n setTimeout(function () { return reject(\"Timed out (\" + _this._options.imageTimeout + \"ms) loading image\"); }, _this._options.imageTimeout);\n }\n })];\n case 3: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n Cache.prototype.has = function (key) {\n return typeof this._cache[key] !== 'undefined';\n };\n Cache.prototype.keys = function () {\n return Promise.resolve(Object.keys(this._cache));\n };\n Cache.prototype.proxy = function (src) {\n var _this = this;\n var proxy = this._options.proxy;\n if (!proxy) {\n throw new Error('No proxy defined');\n }\n var key = src.substring(0, 256);\n return new Promise(function (resolve, reject) {\n var responseType = FEATURES.SUPPORT_RESPONSE_TYPE ? 'blob' : 'text';\n var xhr = new XMLHttpRequest();\n xhr.onload = function () {\n if (xhr.status === 200) {\n if (responseType === 'text') {\n resolve(xhr.response);\n }\n else {\n var reader_1 = new FileReader();\n reader_1.addEventListener('load', function () { return resolve(reader_1.result); }, false);\n reader_1.addEventListener('error', function (e) { return reject(e); }, false);\n reader_1.readAsDataURL(xhr.response);\n }\n }\n else {\n reject(\"Failed to proxy resource \" + key + \" with status code \" + xhr.status);\n }\n };\n xhr.onerror = reject;\n var queryString = proxy.indexOf('?') > -1 ? '&' : '?';\n xhr.open('GET', \"\" + proxy + queryString + \"url=\" + encodeURIComponent(src) + \"&responseType=\" + responseType);\n if (responseType !== 'text' && xhr instanceof XMLHttpRequest) {\n xhr.responseType = responseType;\n }\n if (_this._options.imageTimeout) {\n var timeout_1 = _this._options.imageTimeout;\n xhr.timeout = timeout_1;\n xhr.ontimeout = function () { return reject(\"Timed out (\" + timeout_1 + \"ms) proxying \" + key); };\n }\n xhr.send();\n });\n };\n return Cache;\n}());\nvar INLINE_SVG = /^data:image\\/svg\\+xml/i;\nvar INLINE_BASE64 = /^data:image\\/.*;base64,/i;\nvar INLINE_IMG = /^data:image\\/.*/i;\nvar isRenderable = function (src) { return FEATURES.SUPPORT_SVG_DRAWING || !isSVG(src); };\nvar isInlineImage = function (src) { return INLINE_IMG.test(src); };\nvar isInlineBase64Image = function (src) { return INLINE_BASE64.test(src); };\nvar isBlobImage = function (src) { return src.substr(0, 4) === 'blob'; };\nvar isSVG = function (src) { return src.substr(-3).toLowerCase() === 'svg' || INLINE_SVG.test(src); };\n\nvar Vector = /** @class */ (function () {\n function Vector(x, y) {\n this.type = 0 /* VECTOR */;\n this.x = x;\n this.y = y;\n }\n Vector.prototype.add = function (deltaX, deltaY) {\n return new Vector(this.x + deltaX, this.y + deltaY);\n };\n return Vector;\n}());\n\nvar lerp = function (a, b, t) {\n return new Vector(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t);\n};\nvar BezierCurve = /** @class */ (function () {\n function BezierCurve(start, startControl, endControl, end) {\n this.type = 1 /* BEZIER_CURVE */;\n this.start = start;\n this.startControl = startControl;\n this.endControl = endControl;\n this.end = end;\n }\n BezierCurve.prototype.subdivide = function (t, firstHalf) {\n var ab = lerp(this.start, this.startControl, t);\n var bc = lerp(this.startControl, this.endControl, t);\n var cd = lerp(this.endControl, this.end, t);\n var abbc = lerp(ab, bc, t);\n var bccd = lerp(bc, cd, t);\n var dest = lerp(abbc, bccd, t);\n return firstHalf ? new BezierCurve(this.start, ab, abbc, dest) : new BezierCurve(dest, bccd, cd, this.end);\n };\n BezierCurve.prototype.add = function (deltaX, deltaY) {\n return new BezierCurve(this.start.add(deltaX, deltaY), this.startControl.add(deltaX, deltaY), this.endControl.add(deltaX, deltaY), this.end.add(deltaX, deltaY));\n };\n BezierCurve.prototype.reverse = function () {\n return new BezierCurve(this.end, this.endControl, this.startControl, this.start);\n };\n return BezierCurve;\n}());\nvar isBezierCurve = function (path) { return path.type === 1 /* BEZIER_CURVE */; };\n\nvar BoundCurves = /** @class */ (function () {\n function BoundCurves(element) {\n var styles = element.styles;\n var bounds = element.bounds;\n var _a = getAbsoluteValueForTuple(styles.borderTopLeftRadius, bounds.width, bounds.height), tlh = _a[0], tlv = _a[1];\n var _b = getAbsoluteValueForTuple(styles.borderTopRightRadius, bounds.width, bounds.height), trh = _b[0], trv = _b[1];\n var _c = getAbsoluteValueForTuple(styles.borderBottomRightRadius, bounds.width, bounds.height), brh = _c[0], brv = _c[1];\n var _d = getAbsoluteValueForTuple(styles.borderBottomLeftRadius, bounds.width, bounds.height), blh = _d[0], blv = _d[1];\n var factors = [];\n factors.push((tlh + trh) / bounds.width);\n factors.push((blh + brh) / bounds.width);\n factors.push((tlv + blv) / bounds.height);\n factors.push((trv + brv) / bounds.height);\n var maxFactor = Math.max.apply(Math, factors);\n if (maxFactor > 1) {\n tlh /= maxFactor;\n tlv /= maxFactor;\n trh /= maxFactor;\n trv /= maxFactor;\n brh /= maxFactor;\n brv /= maxFactor;\n blh /= maxFactor;\n blv /= maxFactor;\n }\n var topWidth = bounds.width - trh;\n var rightHeight = bounds.height - brv;\n var bottomWidth = bounds.width - brh;\n var leftHeight = bounds.height - blv;\n var borderTopWidth = styles.borderTopWidth;\n var borderRightWidth = styles.borderRightWidth;\n var borderBottomWidth = styles.borderBottomWidth;\n var borderLeftWidth = styles.borderLeftWidth;\n var paddingTop = getAbsoluteValue(styles.paddingTop, element.bounds.width);\n var paddingRight = getAbsoluteValue(styles.paddingRight, element.bounds.width);\n var paddingBottom = getAbsoluteValue(styles.paddingBottom, element.bounds.width);\n var paddingLeft = getAbsoluteValue(styles.paddingLeft, element.bounds.width);\n this.topLeftBorderDoubleOuterBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth / 3, bounds.top + borderTopWidth / 3, tlh - borderLeftWidth / 3, tlv - borderTopWidth / 3, CORNER.TOP_LEFT)\n : new Vector(bounds.left + borderLeftWidth / 3, bounds.top + borderTopWidth / 3);\n this.topRightBorderDoubleOuterBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + topWidth, bounds.top + borderTopWidth / 3, trh - borderRightWidth / 3, trv - borderTopWidth / 3, CORNER.TOP_RIGHT)\n : new Vector(bounds.left + bounds.width - borderRightWidth / 3, bounds.top + borderTopWidth / 3);\n this.bottomRightBorderDoubleOuterBox =\n brh > 0 || brv > 0\n ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - borderRightWidth / 3, brv - borderBottomWidth / 3, CORNER.BOTTOM_RIGHT)\n : new Vector(bounds.left + bounds.width - borderRightWidth / 3, bounds.top + bounds.height - borderBottomWidth / 3);\n this.bottomLeftBorderDoubleOuterBox =\n blh > 0 || blv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth / 3, bounds.top + leftHeight, blh - borderLeftWidth / 3, blv - borderBottomWidth / 3, CORNER.BOTTOM_LEFT)\n : new Vector(bounds.left + borderLeftWidth / 3, bounds.top + bounds.height - borderBottomWidth / 3);\n this.topLeftBorderDoubleInnerBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + (borderTopWidth * 2) / 3, tlh - (borderLeftWidth * 2) / 3, tlv - (borderTopWidth * 2) / 3, CORNER.TOP_LEFT)\n : new Vector(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + (borderTopWidth * 2) / 3);\n this.topRightBorderDoubleInnerBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + topWidth, bounds.top + (borderTopWidth * 2) / 3, trh - (borderRightWidth * 2) / 3, trv - (borderTopWidth * 2) / 3, CORNER.TOP_RIGHT)\n : new Vector(bounds.left + bounds.width - (borderRightWidth * 2) / 3, bounds.top + (borderTopWidth * 2) / 3);\n this.bottomRightBorderDoubleInnerBox =\n brh > 0 || brv > 0\n ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - (borderRightWidth * 2) / 3, brv - (borderBottomWidth * 2) / 3, CORNER.BOTTOM_RIGHT)\n : new Vector(bounds.left + bounds.width - (borderRightWidth * 2) / 3, bounds.top + bounds.height - (borderBottomWidth * 2) / 3);\n this.bottomLeftBorderDoubleInnerBox =\n blh > 0 || blv > 0\n ? getCurvePoints(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + leftHeight, blh - (borderLeftWidth * 2) / 3, blv - (borderBottomWidth * 2) / 3, CORNER.BOTTOM_LEFT)\n : new Vector(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + bounds.height - (borderBottomWidth * 2) / 3);\n this.topLeftBorderStroke =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth / 2, bounds.top + borderTopWidth / 2, tlh - borderLeftWidth / 2, tlv - borderTopWidth / 2, CORNER.TOP_LEFT)\n : new Vector(bounds.left + borderLeftWidth / 2, bounds.top + borderTopWidth / 2);\n this.topRightBorderStroke =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + topWidth, bounds.top + borderTopWidth / 2, trh - borderRightWidth / 2, trv - borderTopWidth / 2, CORNER.TOP_RIGHT)\n : new Vector(bounds.left + bounds.width - borderRightWidth / 2, bounds.top + borderTopWidth / 2);\n this.bottomRightBorderStroke =\n brh > 0 || brv > 0\n ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - borderRightWidth / 2, brv - borderBottomWidth / 2, CORNER.BOTTOM_RIGHT)\n : new Vector(bounds.left + bounds.width - borderRightWidth / 2, bounds.top + bounds.height - borderBottomWidth / 2);\n this.bottomLeftBorderStroke =\n blh > 0 || blv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth / 2, bounds.top + leftHeight, blh - borderLeftWidth / 2, blv - borderBottomWidth / 2, CORNER.BOTTOM_LEFT)\n : new Vector(bounds.left + borderLeftWidth / 2, bounds.top + bounds.height - borderBottomWidth / 2);\n this.topLeftBorderBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left, bounds.top, tlh, tlv, CORNER.TOP_LEFT)\n : new Vector(bounds.left, bounds.top);\n this.topRightBorderBox =\n trh > 0 || trv > 0\n ? getCurvePoints(bounds.left + topWidth, bounds.top, trh, trv, CORNER.TOP_RIGHT)\n : new Vector(bounds.left + bounds.width, bounds.top);\n this.bottomRightBorderBox =\n brh > 0 || brv > 0\n ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh, brv, CORNER.BOTTOM_RIGHT)\n : new Vector(bounds.left + bounds.width, bounds.top + bounds.height);\n this.bottomLeftBorderBox =\n blh > 0 || blv > 0\n ? getCurvePoints(bounds.left, bounds.top + leftHeight, blh, blv, CORNER.BOTTOM_LEFT)\n : new Vector(bounds.left, bounds.top + bounds.height);\n this.topLeftPaddingBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth, bounds.top + borderTopWidth, Math.max(0, tlh - borderLeftWidth), Math.max(0, tlv - borderTopWidth), CORNER.TOP_LEFT)\n : new Vector(bounds.left + borderLeftWidth, bounds.top + borderTopWidth);\n this.topRightPaddingBox =\n trh > 0 || trv > 0\n ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width - borderRightWidth), bounds.top + borderTopWidth, topWidth > bounds.width + borderRightWidth ? 0 : Math.max(0, trh - borderRightWidth), Math.max(0, trv - borderTopWidth), CORNER.TOP_RIGHT)\n : new Vector(bounds.left + bounds.width - borderRightWidth, bounds.top + borderTopWidth);\n this.bottomRightPaddingBox =\n brh > 0 || brv > 0\n ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - borderLeftWidth), bounds.top + Math.min(rightHeight, bounds.height - borderBottomWidth), Math.max(0, brh - borderRightWidth), Math.max(0, brv - borderBottomWidth), CORNER.BOTTOM_RIGHT)\n : new Vector(bounds.left + bounds.width - borderRightWidth, bounds.top + bounds.height - borderBottomWidth);\n this.bottomLeftPaddingBox =\n blh > 0 || blv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth, bounds.top + Math.min(leftHeight, bounds.height - borderBottomWidth), Math.max(0, blh - borderLeftWidth), Math.max(0, blv - borderBottomWidth), CORNER.BOTTOM_LEFT)\n : new Vector(bounds.left + borderLeftWidth, bounds.top + bounds.height - borderBottomWidth);\n this.topLeftContentBox =\n tlh > 0 || tlv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth + paddingLeft, bounds.top + borderTopWidth + paddingTop, Math.max(0, tlh - (borderLeftWidth + paddingLeft)), Math.max(0, tlv - (borderTopWidth + paddingTop)), CORNER.TOP_LEFT)\n : new Vector(bounds.left + borderLeftWidth + paddingLeft, bounds.top + borderTopWidth + paddingTop);\n this.topRightContentBox =\n trh > 0 || trv > 0\n ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width + borderLeftWidth + paddingLeft), bounds.top + borderTopWidth + paddingTop, topWidth > bounds.width + borderLeftWidth + paddingLeft ? 0 : trh - borderLeftWidth + paddingLeft, trv - (borderTopWidth + paddingTop), CORNER.TOP_RIGHT)\n : new Vector(bounds.left + bounds.width - (borderRightWidth + paddingRight), bounds.top + borderTopWidth + paddingTop);\n this.bottomRightContentBox =\n brh > 0 || brv > 0\n ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - (borderLeftWidth + paddingLeft)), bounds.top + Math.min(rightHeight, bounds.height + borderTopWidth + paddingTop), Math.max(0, brh - (borderRightWidth + paddingRight)), brv - (borderBottomWidth + paddingBottom), CORNER.BOTTOM_RIGHT)\n : new Vector(bounds.left + bounds.width - (borderRightWidth + paddingRight), bounds.top + bounds.height - (borderBottomWidth + paddingBottom));\n this.bottomLeftContentBox =\n blh > 0 || blv > 0\n ? getCurvePoints(bounds.left + borderLeftWidth + paddingLeft, bounds.top + leftHeight, Math.max(0, blh - (borderLeftWidth + paddingLeft)), blv - (borderBottomWidth + paddingBottom), CORNER.BOTTOM_LEFT)\n : new Vector(bounds.left + borderLeftWidth + paddingLeft, bounds.top + bounds.height - (borderBottomWidth + paddingBottom));\n }\n return BoundCurves;\n}());\nvar CORNER;\n(function (CORNER) {\n CORNER[CORNER[\"TOP_LEFT\"] = 0] = \"TOP_LEFT\";\n CORNER[CORNER[\"TOP_RIGHT\"] = 1] = \"TOP_RIGHT\";\n CORNER[CORNER[\"BOTTOM_RIGHT\"] = 2] = \"BOTTOM_RIGHT\";\n CORNER[CORNER[\"BOTTOM_LEFT\"] = 3] = \"BOTTOM_LEFT\";\n})(CORNER || (CORNER = {}));\nvar getCurvePoints = function (x, y, r1, r2, position) {\n var kappa = 4 * ((Math.sqrt(2) - 1) / 3);\n var ox = r1 * kappa; // control point offset horizontal\n var oy = r2 * kappa; // control point offset vertical\n var xm = x + r1; // x-middle\n var ym = y + r2; // y-middle\n switch (position) {\n case CORNER.TOP_LEFT:\n return new BezierCurve(new Vector(x, ym), new Vector(x, ym - oy), new Vector(xm - ox, y), new Vector(xm, y));\n case CORNER.TOP_RIGHT:\n return new BezierCurve(new Vector(x, y), new Vector(x + ox, y), new Vector(xm, ym - oy), new Vector(xm, ym));\n case CORNER.BOTTOM_RIGHT:\n return new BezierCurve(new Vector(xm, y), new Vector(xm, y + oy), new Vector(x + ox, ym), new Vector(x, ym));\n case CORNER.BOTTOM_LEFT:\n default:\n return new BezierCurve(new Vector(xm, ym), new Vector(xm - ox, ym), new Vector(x, y + oy), new Vector(x, y));\n }\n};\nvar calculateBorderBoxPath = function (curves) {\n return [curves.topLeftBorderBox, curves.topRightBorderBox, curves.bottomRightBorderBox, curves.bottomLeftBorderBox];\n};\nvar calculateContentBoxPath = function (curves) {\n return [\n curves.topLeftContentBox,\n curves.topRightContentBox,\n curves.bottomRightContentBox,\n curves.bottomLeftContentBox\n ];\n};\nvar calculatePaddingBoxPath = function (curves) {\n return [\n curves.topLeftPaddingBox,\n curves.topRightPaddingBox,\n curves.bottomRightPaddingBox,\n curves.bottomLeftPaddingBox\n ];\n};\n\nvar TransformEffect = /** @class */ (function () {\n function TransformEffect(offsetX, offsetY, matrix) {\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n this.matrix = matrix;\n this.type = 0 /* TRANSFORM */;\n this.target = 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */;\n }\n return TransformEffect;\n}());\nvar ClipEffect = /** @class */ (function () {\n function ClipEffect(path, target) {\n this.path = path;\n this.target = target;\n this.type = 1 /* CLIP */;\n }\n return ClipEffect;\n}());\nvar OpacityEffect = /** @class */ (function () {\n function OpacityEffect(opacity) {\n this.opacity = opacity;\n this.type = 2 /* OPACITY */;\n this.target = 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */;\n }\n return OpacityEffect;\n}());\nvar isTransformEffect = function (effect) {\n return effect.type === 0 /* TRANSFORM */;\n};\nvar isClipEffect = function (effect) { return effect.type === 1 /* CLIP */; };\nvar isOpacityEffect = function (effect) { return effect.type === 2 /* OPACITY */; };\n\nvar equalPath = function (a, b) {\n if (a.length === b.length) {\n return a.some(function (v, i) { return v === b[i]; });\n }\n return false;\n};\nvar transformPath = function (path, deltaX, deltaY, deltaW, deltaH) {\n return path.map(function (point, index) {\n switch (index) {\n case 0:\n return point.add(deltaX, deltaY);\n case 1:\n return point.add(deltaX + deltaW, deltaY);\n case 2:\n return point.add(deltaX + deltaW, deltaY + deltaH);\n case 3:\n return point.add(deltaX, deltaY + deltaH);\n }\n return point;\n });\n};\n\nvar StackingContext = /** @class */ (function () {\n function StackingContext(container) {\n this.element = container;\n this.inlineLevel = [];\n this.nonInlineLevel = [];\n this.negativeZIndex = [];\n this.zeroOrAutoZIndexOrTransformedOrOpacity = [];\n this.positiveZIndex = [];\n this.nonPositionedFloats = [];\n this.nonPositionedInlineLevel = [];\n }\n return StackingContext;\n}());\nvar ElementPaint = /** @class */ (function () {\n function ElementPaint(container, parent) {\n this.container = container;\n this.parent = parent;\n this.effects = [];\n this.curves = new BoundCurves(this.container);\n if (this.container.styles.opacity < 1) {\n this.effects.push(new OpacityEffect(this.container.styles.opacity));\n }\n if (this.container.styles.transform !== null) {\n var offsetX = this.container.bounds.left + this.container.styles.transformOrigin[0].number;\n var offsetY = this.container.bounds.top + this.container.styles.transformOrigin[1].number;\n var matrix = this.container.styles.transform;\n this.effects.push(new TransformEffect(offsetX, offsetY, matrix));\n }\n if (this.container.styles.overflowX !== 0 /* VISIBLE */) {\n var borderBox = calculateBorderBoxPath(this.curves);\n var paddingBox = calculatePaddingBoxPath(this.curves);\n if (equalPath(borderBox, paddingBox)) {\n this.effects.push(new ClipEffect(borderBox, 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */));\n }\n else {\n this.effects.push(new ClipEffect(borderBox, 2 /* BACKGROUND_BORDERS */));\n this.effects.push(new ClipEffect(paddingBox, 4 /* CONTENT */));\n }\n }\n }\n ElementPaint.prototype.getEffects = function (target) {\n var inFlow = [2 /* ABSOLUTE */, 3 /* FIXED */].indexOf(this.container.styles.position) === -1;\n var parent = this.parent;\n var effects = this.effects.slice(0);\n while (parent) {\n var croplessEffects = parent.effects.filter(function (effect) { return !isClipEffect(effect); });\n if (inFlow || parent.container.styles.position !== 0 /* STATIC */ || !parent.parent) {\n effects.unshift.apply(effects, croplessEffects);\n inFlow = [2 /* ABSOLUTE */, 3 /* FIXED */].indexOf(parent.container.styles.position) === -1;\n if (parent.container.styles.overflowX !== 0 /* VISIBLE */) {\n var borderBox = calculateBorderBoxPath(parent.curves);\n var paddingBox = calculatePaddingBoxPath(parent.curves);\n if (!equalPath(borderBox, paddingBox)) {\n effects.unshift(new ClipEffect(paddingBox, 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */));\n }\n }\n }\n else {\n effects.unshift.apply(effects, croplessEffects);\n }\n parent = parent.parent;\n }\n return effects.filter(function (effect) { return contains(effect.target, target); });\n };\n return ElementPaint;\n}());\nvar parseStackTree = function (parent, stackingContext, realStackingContext, listItems) {\n parent.container.elements.forEach(function (child) {\n var treatAsRealStackingContext = contains(child.flags, 4 /* CREATES_REAL_STACKING_CONTEXT */);\n var createsStackingContext = contains(child.flags, 2 /* CREATES_STACKING_CONTEXT */);\n var paintContainer = new ElementPaint(child, parent);\n if (contains(child.styles.display, 2048 /* LIST_ITEM */)) {\n listItems.push(paintContainer);\n }\n var listOwnerItems = contains(child.flags, 8 /* IS_LIST_OWNER */) ? [] : listItems;\n if (treatAsRealStackingContext || createsStackingContext) {\n var parentStack = treatAsRealStackingContext || child.styles.isPositioned() ? realStackingContext : stackingContext;\n var stack = new StackingContext(paintContainer);\n if (child.styles.isPositioned() || child.styles.opacity < 1 || child.styles.isTransformed()) {\n var order_1 = child.styles.zIndex.order;\n if (order_1 < 0) {\n var index_1 = 0;\n parentStack.negativeZIndex.some(function (current, i) {\n if (order_1 > current.element.container.styles.zIndex.order) {\n index_1 = i;\n return false;\n }\n else if (index_1 > 0) {\n return true;\n }\n return false;\n });\n parentStack.negativeZIndex.splice(index_1, 0, stack);\n }\n else if (order_1 > 0) {\n var index_2 = 0;\n parentStack.positiveZIndex.some(function (current, i) {\n if (order_1 >= current.element.container.styles.zIndex.order) {\n index_2 = i + 1;\n return false;\n }\n else if (index_2 > 0) {\n return true;\n }\n return false;\n });\n parentStack.positiveZIndex.splice(index_2, 0, stack);\n }\n else {\n parentStack.zeroOrAutoZIndexOrTransformedOrOpacity.push(stack);\n }\n }\n else {\n if (child.styles.isFloating()) {\n parentStack.nonPositionedFloats.push(stack);\n }\n else {\n parentStack.nonPositionedInlineLevel.push(stack);\n }\n }\n parseStackTree(paintContainer, stack, treatAsRealStackingContext ? stack : realStackingContext, listOwnerItems);\n }\n else {\n if (child.styles.isInlineLevel()) {\n stackingContext.inlineLevel.push(paintContainer);\n }\n else {\n stackingContext.nonInlineLevel.push(paintContainer);\n }\n parseStackTree(paintContainer, stackingContext, realStackingContext, listOwnerItems);\n }\n if (contains(child.flags, 8 /* IS_LIST_OWNER */)) {\n processListItems(child, listOwnerItems);\n }\n });\n};\nvar processListItems = function (owner, elements) {\n var numbering = owner instanceof OLElementContainer ? owner.start : 1;\n var reversed = owner instanceof OLElementContainer ? owner.reversed : false;\n for (var i = 0; i < elements.length; i++) {\n var item = elements[i];\n if (item.container instanceof LIElementContainer &&\n typeof item.container.value === 'number' &&\n item.container.value !== 0) {\n numbering = item.container.value;\n }\n item.listValue = createCounterText(numbering, item.container.styles.listStyleType, true);\n numbering += reversed ? -1 : 1;\n }\n};\nvar parseStackingContexts = function (container) {\n var paintContainer = new ElementPaint(container, null);\n var root = new StackingContext(paintContainer);\n var listItems = [];\n parseStackTree(paintContainer, root, root, listItems);\n processListItems(paintContainer.container, listItems);\n return root;\n};\n\nvar parsePathForBorder = function (curves, borderSide) {\n switch (borderSide) {\n case 0:\n return createPathFromCurves(curves.topLeftBorderBox, curves.topLeftPaddingBox, curves.topRightBorderBox, curves.topRightPaddingBox);\n case 1:\n return createPathFromCurves(curves.topRightBorderBox, curves.topRightPaddingBox, curves.bottomRightBorderBox, curves.bottomRightPaddingBox);\n case 2:\n return createPathFromCurves(curves.bottomRightBorderBox, curves.bottomRightPaddingBox, curves.bottomLeftBorderBox, curves.bottomLeftPaddingBox);\n case 3:\n default:\n return createPathFromCurves(curves.bottomLeftBorderBox, curves.bottomLeftPaddingBox, curves.topLeftBorderBox, curves.topLeftPaddingBox);\n }\n};\nvar parsePathForBorderDoubleOuter = function (curves, borderSide) {\n switch (borderSide) {\n case 0:\n return createPathFromCurves(curves.topLeftBorderBox, curves.topLeftBorderDoubleOuterBox, curves.topRightBorderBox, curves.topRightBorderDoubleOuterBox);\n case 1:\n return createPathFromCurves(curves.topRightBorderBox, curves.topRightBorderDoubleOuterBox, curves.bottomRightBorderBox, curves.bottomRightBorderDoubleOuterBox);\n case 2:\n return createPathFromCurves(curves.bottomRightBorderBox, curves.bottomRightBorderDoubleOuterBox, curves.bottomLeftBorderBox, curves.bottomLeftBorderDoubleOuterBox);\n case 3:\n default:\n return createPathFromCurves(curves.bottomLeftBorderBox, curves.bottomLeftBorderDoubleOuterBox, curves.topLeftBorderBox, curves.topLeftBorderDoubleOuterBox);\n }\n};\nvar parsePathForBorderDoubleInner = function (curves, borderSide) {\n switch (borderSide) {\n case 0:\n return createPathFromCurves(curves.topLeftBorderDoubleInnerBox, curves.topLeftPaddingBox, curves.topRightBorderDoubleInnerBox, curves.topRightPaddingBox);\n case 1:\n return createPathFromCurves(curves.topRightBorderDoubleInnerBox, curves.topRightPaddingBox, curves.bottomRightBorderDoubleInnerBox, curves.bottomRightPaddingBox);\n case 2:\n return createPathFromCurves(curves.bottomRightBorderDoubleInnerBox, curves.bottomRightPaddingBox, curves.bottomLeftBorderDoubleInnerBox, curves.bottomLeftPaddingBox);\n case 3:\n default:\n return createPathFromCurves(curves.bottomLeftBorderDoubleInnerBox, curves.bottomLeftPaddingBox, curves.topLeftBorderDoubleInnerBox, curves.topLeftPaddingBox);\n }\n};\nvar parsePathForBorderStroke = function (curves, borderSide) {\n switch (borderSide) {\n case 0:\n return createStrokePathFromCurves(curves.topLeftBorderStroke, curves.topRightBorderStroke);\n case 1:\n return createStrokePathFromCurves(curves.topRightBorderStroke, curves.bottomRightBorderStroke);\n case 2:\n return createStrokePathFromCurves(curves.bottomRightBorderStroke, curves.bottomLeftBorderStroke);\n case 3:\n default:\n return createStrokePathFromCurves(curves.bottomLeftBorderStroke, curves.topLeftBorderStroke);\n }\n};\nvar createStrokePathFromCurves = function (outer1, outer2) {\n var path = [];\n if (isBezierCurve(outer1)) {\n path.push(outer1.subdivide(0.5, false));\n }\n else {\n path.push(outer1);\n }\n if (isBezierCurve(outer2)) {\n path.push(outer2.subdivide(0.5, true));\n }\n else {\n path.push(outer2);\n }\n return path;\n};\nvar createPathFromCurves = function (outer1, inner1, outer2, inner2) {\n var path = [];\n if (isBezierCurve(outer1)) {\n path.push(outer1.subdivide(0.5, false));\n }\n else {\n path.push(outer1);\n }\n if (isBezierCurve(outer2)) {\n path.push(outer2.subdivide(0.5, true));\n }\n else {\n path.push(outer2);\n }\n if (isBezierCurve(inner2)) {\n path.push(inner2.subdivide(0.5, true).reverse());\n }\n else {\n path.push(inner2);\n }\n if (isBezierCurve(inner1)) {\n path.push(inner1.subdivide(0.5, false).reverse());\n }\n else {\n path.push(inner1);\n }\n return path;\n};\n\nvar paddingBox = function (element) {\n var bounds = element.bounds;\n var styles = element.styles;\n return bounds.add(styles.borderLeftWidth, styles.borderTopWidth, -(styles.borderRightWidth + styles.borderLeftWidth), -(styles.borderTopWidth + styles.borderBottomWidth));\n};\nvar contentBox = function (element) {\n var styles = element.styles;\n var bounds = element.bounds;\n var paddingLeft = getAbsoluteValue(styles.paddingLeft, bounds.width);\n var paddingRight = getAbsoluteValue(styles.paddingRight, bounds.width);\n var paddingTop = getAbsoluteValue(styles.paddingTop, bounds.width);\n var paddingBottom = getAbsoluteValue(styles.paddingBottom, bounds.width);\n return bounds.add(paddingLeft + styles.borderLeftWidth, paddingTop + styles.borderTopWidth, -(styles.borderRightWidth + styles.borderLeftWidth + paddingLeft + paddingRight), -(styles.borderTopWidth + styles.borderBottomWidth + paddingTop + paddingBottom));\n};\n\nvar calculateBackgroundPositioningArea = function (backgroundOrigin, element) {\n if (backgroundOrigin === 0 /* BORDER_BOX */) {\n return element.bounds;\n }\n if (backgroundOrigin === 2 /* CONTENT_BOX */) {\n return contentBox(element);\n }\n return paddingBox(element);\n};\nvar calculateBackgroundPaintingArea = function (backgroundClip, element) {\n if (backgroundClip === 0 /* BORDER_BOX */) {\n return element.bounds;\n }\n if (backgroundClip === 2 /* CONTENT_BOX */) {\n return contentBox(element);\n }\n return paddingBox(element);\n};\nvar calculateBackgroundRendering = function (container, index, intrinsicSize) {\n var backgroundPositioningArea = calculateBackgroundPositioningArea(getBackgroundValueForIndex(container.styles.backgroundOrigin, index), container);\n var backgroundPaintingArea = calculateBackgroundPaintingArea(getBackgroundValueForIndex(container.styles.backgroundClip, index), container);\n var backgroundImageSize = calculateBackgroundSize(getBackgroundValueForIndex(container.styles.backgroundSize, index), intrinsicSize, backgroundPositioningArea);\n var sizeWidth = backgroundImageSize[0], sizeHeight = backgroundImageSize[1];\n var position = getAbsoluteValueForTuple(getBackgroundValueForIndex(container.styles.backgroundPosition, index), backgroundPositioningArea.width - sizeWidth, backgroundPositioningArea.height - sizeHeight);\n var path = calculateBackgroundRepeatPath(getBackgroundValueForIndex(container.styles.backgroundRepeat, index), position, backgroundImageSize, backgroundPositioningArea, backgroundPaintingArea);\n var offsetX = Math.round(backgroundPositioningArea.left + position[0]);\n var offsetY = Math.round(backgroundPositioningArea.top + position[1]);\n return [path, offsetX, offsetY, sizeWidth, sizeHeight];\n};\nvar isAuto = function (token) { return isIdentToken(token) && token.value === BACKGROUND_SIZE.AUTO; };\nvar hasIntrinsicValue = function (value) { return typeof value === 'number'; };\nvar calculateBackgroundSize = function (size, _a, bounds) {\n var intrinsicWidth = _a[0], intrinsicHeight = _a[1], intrinsicProportion = _a[2];\n var first = size[0], second = size[1];\n if (!first) {\n return [0, 0];\n }\n if (isLengthPercentage(first) && second && isLengthPercentage(second)) {\n return [getAbsoluteValue(first, bounds.width), getAbsoluteValue(second, bounds.height)];\n }\n var hasIntrinsicProportion = hasIntrinsicValue(intrinsicProportion);\n if (isIdentToken(first) && (first.value === BACKGROUND_SIZE.CONTAIN || first.value === BACKGROUND_SIZE.COVER)) {\n if (hasIntrinsicValue(intrinsicProportion)) {\n var targetRatio = bounds.width / bounds.height;\n return targetRatio < intrinsicProportion !== (first.value === BACKGROUND_SIZE.COVER)\n ? [bounds.width, bounds.width / intrinsicProportion]\n : [bounds.height * intrinsicProportion, bounds.height];\n }\n return [bounds.width, bounds.height];\n }\n var hasIntrinsicWidth = hasIntrinsicValue(intrinsicWidth);\n var hasIntrinsicHeight = hasIntrinsicValue(intrinsicHeight);\n var hasIntrinsicDimensions = hasIntrinsicWidth || hasIntrinsicHeight;\n // If the background-size is auto or auto auto:\n if (isAuto(first) && (!second || isAuto(second))) {\n // If the image has both horizontal and vertical intrinsic dimensions, it's rendered at that size.\n if (hasIntrinsicWidth && hasIntrinsicHeight) {\n return [intrinsicWidth, intrinsicHeight];\n }\n // If the image has no intrinsic dimensions and has no intrinsic proportions,\n // it's rendered at the size of the background positioning area.\n if (!hasIntrinsicProportion && !hasIntrinsicDimensions) {\n return [bounds.width, bounds.height];\n }\n // TODO If the image has no intrinsic dimensions but has intrinsic proportions, it's rendered as if contain had been specified instead.\n // If the image has only one intrinsic dimension and has intrinsic proportions, it's rendered at the size corresponding to that one dimension.\n // The other dimension is computed using the specified dimension and the intrinsic proportions.\n if (hasIntrinsicDimensions && hasIntrinsicProportion) {\n var width_1 = hasIntrinsicWidth\n ? intrinsicWidth\n : intrinsicHeight * intrinsicProportion;\n var height_1 = hasIntrinsicHeight\n ? intrinsicHeight\n : intrinsicWidth / intrinsicProportion;\n return [width_1, height_1];\n }\n // If the image has only one intrinsic dimension but has no intrinsic proportions,\n // it's rendered using the specified dimension and the other dimension of the background positioning area.\n var width_2 = hasIntrinsicWidth ? intrinsicWidth : bounds.width;\n var height_2 = hasIntrinsicHeight ? intrinsicHeight : bounds.height;\n return [width_2, height_2];\n }\n // If the image has intrinsic proportions, it's stretched to the specified dimension.\n // The unspecified dimension is computed using the specified dimension and the intrinsic proportions.\n if (hasIntrinsicProportion) {\n var width_3 = 0;\n var height_3 = 0;\n if (isLengthPercentage(first)) {\n width_3 = getAbsoluteValue(first, bounds.width);\n }\n else if (isLengthPercentage(second)) {\n height_3 = getAbsoluteValue(second, bounds.height);\n }\n if (isAuto(first)) {\n width_3 = height_3 * intrinsicProportion;\n }\n else if (!second || isAuto(second)) {\n height_3 = width_3 / intrinsicProportion;\n }\n return [width_3, height_3];\n }\n // If the image has no intrinsic proportions, it's stretched to the specified dimension.\n // The unspecified dimension is computed using the image's corresponding intrinsic dimension,\n // if there is one. If there is no such intrinsic dimension,\n // it becomes the corresponding dimension of the background positioning area.\n var width = null;\n var height = null;\n if (isLengthPercentage(first)) {\n width = getAbsoluteValue(first, bounds.width);\n }\n else if (second && isLengthPercentage(second)) {\n height = getAbsoluteValue(second, bounds.height);\n }\n if (width !== null && (!second || isAuto(second))) {\n height =\n hasIntrinsicWidth && hasIntrinsicHeight\n ? (width / intrinsicWidth) * intrinsicHeight\n : bounds.height;\n }\n if (height !== null && isAuto(first)) {\n width =\n hasIntrinsicWidth && hasIntrinsicHeight\n ? (height / intrinsicHeight) * intrinsicWidth\n : bounds.width;\n }\n if (width !== null && height !== null) {\n return [width, height];\n }\n throw new Error(\"Unable to calculate background-size for element\");\n};\nvar getBackgroundValueForIndex = function (values, index) {\n var value = values[index];\n if (typeof value === 'undefined') {\n return values[0];\n }\n return value;\n};\nvar calculateBackgroundRepeatPath = function (repeat, _a, _b, backgroundPositioningArea, backgroundPaintingArea) {\n var x = _a[0], y = _a[1];\n var width = _b[0], height = _b[1];\n switch (repeat) {\n case 2 /* REPEAT_X */:\n return [\n new Vector(Math.round(backgroundPositioningArea.left), Math.round(backgroundPositioningArea.top + y)),\n new Vector(Math.round(backgroundPositioningArea.left + backgroundPositioningArea.width), Math.round(backgroundPositioningArea.top + y)),\n new Vector(Math.round(backgroundPositioningArea.left + backgroundPositioningArea.width), Math.round(height + backgroundPositioningArea.top + y)),\n new Vector(Math.round(backgroundPositioningArea.left), Math.round(height + backgroundPositioningArea.top + y))\n ];\n case 3 /* REPEAT_Y */:\n return [\n new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top)),\n new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top)),\n new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.height + backgroundPositioningArea.top)),\n new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.height + backgroundPositioningArea.top))\n ];\n case 1 /* NO_REPEAT */:\n return [\n new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top + y)),\n new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top + y)),\n new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top + y + height)),\n new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top + y + height))\n ];\n default:\n return [\n new Vector(Math.round(backgroundPaintingArea.left), Math.round(backgroundPaintingArea.top)),\n new Vector(Math.round(backgroundPaintingArea.left + backgroundPaintingArea.width), Math.round(backgroundPaintingArea.top)),\n new Vector(Math.round(backgroundPaintingArea.left + backgroundPaintingArea.width), Math.round(backgroundPaintingArea.height + backgroundPaintingArea.top)),\n new Vector(Math.round(backgroundPaintingArea.left), Math.round(backgroundPaintingArea.height + backgroundPaintingArea.top))\n ];\n }\n};\n\nvar SMALL_IMAGE = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\n\nvar SAMPLE_TEXT = 'Hidden Text';\nvar FontMetrics = /** @class */ (function () {\n function FontMetrics(document) {\n this._data = {};\n this._document = document;\n }\n FontMetrics.prototype.parseMetrics = function (fontFamily, fontSize) {\n var container = this._document.createElement('div');\n var img = this._document.createElement('img');\n var span = this._document.createElement('span');\n var body = this._document.body;\n container.style.visibility = 'hidden';\n container.style.fontFamily = fontFamily;\n container.style.fontSize = fontSize;\n container.style.margin = '0';\n container.style.padding = '0';\n container.style.whiteSpace = 'nowrap';\n body.appendChild(container);\n img.src = SMALL_IMAGE;\n img.width = 1;\n img.height = 1;\n img.style.margin = '0';\n img.style.padding = '0';\n img.style.verticalAlign = 'baseline';\n span.style.fontFamily = fontFamily;\n span.style.fontSize = fontSize;\n span.style.margin = '0';\n span.style.padding = '0';\n span.appendChild(this._document.createTextNode(SAMPLE_TEXT));\n container.appendChild(span);\n container.appendChild(img);\n var baseline = img.offsetTop - span.offsetTop + 2;\n container.removeChild(span);\n container.appendChild(this._document.createTextNode(SAMPLE_TEXT));\n container.style.lineHeight = 'normal';\n img.style.verticalAlign = 'super';\n var middle = img.offsetTop - container.offsetTop + 2;\n body.removeChild(container);\n return { baseline: baseline, middle: middle };\n };\n FontMetrics.prototype.getMetrics = function (fontFamily, fontSize) {\n var key = fontFamily + \" \" + fontSize;\n if (typeof this._data[key] === 'undefined') {\n this._data[key] = this.parseMetrics(fontFamily, fontSize);\n }\n return this._data[key];\n };\n return FontMetrics;\n}());\n\nvar Renderer = /** @class */ (function () {\n function Renderer(context, options) {\n this.context = context;\n this.options = options;\n }\n return Renderer;\n}());\n\nvar MASK_OFFSET = 10000;\nvar CanvasRenderer = /** @class */ (function (_super) {\n __extends(CanvasRenderer, _super);\n function CanvasRenderer(context, options) {\n var _this = _super.call(this, context, options) || this;\n _this._activeEffects = [];\n _this.canvas = options.canvas ? options.canvas : document.createElement('canvas');\n _this.ctx = _this.canvas.getContext('2d');\n if (!options.canvas) {\n _this.canvas.width = Math.floor(options.width * options.scale);\n _this.canvas.height = Math.floor(options.height * options.scale);\n _this.canvas.style.width = options.width + \"px\";\n _this.canvas.style.height = options.height + \"px\";\n }\n _this.fontMetrics = new FontMetrics(document);\n _this.ctx.scale(_this.options.scale, _this.options.scale);\n _this.ctx.translate(-options.x, -options.y);\n _this.ctx.textBaseline = 'bottom';\n _this._activeEffects = [];\n _this.context.logger.debug(\"Canvas renderer initialized (\" + options.width + \"x\" + options.height + \") with scale \" + options.scale);\n return _this;\n }\n CanvasRenderer.prototype.applyEffects = function (effects) {\n var _this = this;\n while (this._activeEffects.length) {\n this.popEffect();\n }\n effects.forEach(function (effect) { return _this.applyEffect(effect); });\n };\n CanvasRenderer.prototype.applyEffect = function (effect) {\n this.ctx.save();\n if (isOpacityEffect(effect)) {\n this.ctx.globalAlpha = effect.opacity;\n }\n if (isTransformEffect(effect)) {\n this.ctx.translate(effect.offsetX, effect.offsetY);\n this.ctx.transform(effect.matrix[0], effect.matrix[1], effect.matrix[2], effect.matrix[3], effect.matrix[4], effect.matrix[5]);\n this.ctx.translate(-effect.offsetX, -effect.offsetY);\n }\n if (isClipEffect(effect)) {\n this.path(effect.path);\n this.ctx.clip();\n }\n this._activeEffects.push(effect);\n };\n CanvasRenderer.prototype.popEffect = function () {\n this._activeEffects.pop();\n this.ctx.restore();\n };\n CanvasRenderer.prototype.renderStack = function (stack) {\n return __awaiter(this, void 0, void 0, function () {\n var styles;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n styles = stack.element.container.styles;\n if (!styles.isVisible()) return [3 /*break*/, 2];\n return [4 /*yield*/, this.renderStackContent(stack)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.renderNode = function (paint) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (contains(paint.container.flags, 16 /* DEBUG_RENDER */)) {\n debugger;\n }\n if (!paint.container.styles.isVisible()) return [3 /*break*/, 3];\n return [4 /*yield*/, this.renderNodeBackgroundAndBorders(paint)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.renderNodeContent(paint)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.renderTextWithLetterSpacing = function (text, letterSpacing, baseline) {\n var _this = this;\n if (letterSpacing === 0) {\n this.ctx.fillText(text.text, text.bounds.left, text.bounds.top + baseline);\n }\n else {\n var letters = segmentGraphemes(text.text);\n letters.reduce(function (left, letter) {\n _this.ctx.fillText(letter, left, text.bounds.top + baseline);\n return left + _this.ctx.measureText(letter).width;\n }, text.bounds.left);\n }\n };\n CanvasRenderer.prototype.createFontStyle = function (styles) {\n var fontVariant = styles.fontVariant\n .filter(function (variant) { return variant === 'normal' || variant === 'small-caps'; })\n .join('');\n var fontFamily = fixIOSSystemFonts(styles.fontFamily).join(', ');\n var fontSize = isDimensionToken(styles.fontSize)\n ? \"\" + styles.fontSize.number + styles.fontSize.unit\n : styles.fontSize.number + \"px\";\n return [\n [styles.fontStyle, fontVariant, styles.fontWeight, fontSize, fontFamily].join(' '),\n fontFamily,\n fontSize\n ];\n };\n CanvasRenderer.prototype.renderTextNode = function (text, styles) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, font, fontFamily, fontSize, _b, baseline, middle, paintOrder;\n var _this = this;\n return __generator(this, function (_c) {\n _a = this.createFontStyle(styles), font = _a[0], fontFamily = _a[1], fontSize = _a[2];\n this.ctx.font = font;\n this.ctx.direction = styles.direction === 1 /* RTL */ ? 'rtl' : 'ltr';\n this.ctx.textAlign = 'left';\n this.ctx.textBaseline = 'alphabetic';\n _b = this.fontMetrics.getMetrics(fontFamily, fontSize), baseline = _b.baseline, middle = _b.middle;\n paintOrder = styles.paintOrder;\n text.textBounds.forEach(function (text) {\n paintOrder.forEach(function (paintOrderLayer) {\n switch (paintOrderLayer) {\n case 0 /* FILL */:\n _this.ctx.fillStyle = asString(styles.color);\n _this.renderTextWithLetterSpacing(text, styles.letterSpacing, baseline);\n var textShadows = styles.textShadow;\n if (textShadows.length && text.text.trim().length) {\n textShadows\n .slice(0)\n .reverse()\n .forEach(function (textShadow) {\n _this.ctx.shadowColor = asString(textShadow.color);\n _this.ctx.shadowOffsetX = textShadow.offsetX.number * _this.options.scale;\n _this.ctx.shadowOffsetY = textShadow.offsetY.number * _this.options.scale;\n _this.ctx.shadowBlur = textShadow.blur.number;\n _this.renderTextWithLetterSpacing(text, styles.letterSpacing, baseline);\n });\n _this.ctx.shadowColor = '';\n _this.ctx.shadowOffsetX = 0;\n _this.ctx.shadowOffsetY = 0;\n _this.ctx.shadowBlur = 0;\n }\n if (styles.textDecorationLine.length) {\n _this.ctx.fillStyle = asString(styles.textDecorationColor || styles.color);\n styles.textDecorationLine.forEach(function (textDecorationLine) {\n switch (textDecorationLine) {\n case 1 /* UNDERLINE */:\n // Draws a line at the baseline of the font\n // TODO As some browsers display the line as more than 1px if the font-size is big,\n // need to take that into account both in position and size\n _this.ctx.fillRect(text.bounds.left, Math.round(text.bounds.top + baseline), text.bounds.width, 1);\n break;\n case 2 /* OVERLINE */:\n _this.ctx.fillRect(text.bounds.left, Math.round(text.bounds.top), text.bounds.width, 1);\n break;\n case 3 /* LINE_THROUGH */:\n // TODO try and find exact position for line-through\n _this.ctx.fillRect(text.bounds.left, Math.ceil(text.bounds.top + middle), text.bounds.width, 1);\n break;\n }\n });\n }\n break;\n case 1 /* STROKE */:\n if (styles.webkitTextStrokeWidth && text.text.trim().length) {\n _this.ctx.strokeStyle = asString(styles.webkitTextStrokeColor);\n _this.ctx.lineWidth = styles.webkitTextStrokeWidth;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _this.ctx.lineJoin = !!window.chrome ? 'miter' : 'round';\n _this.ctx.strokeText(text.text, text.bounds.left, text.bounds.top + baseline);\n }\n _this.ctx.strokeStyle = '';\n _this.ctx.lineWidth = 0;\n _this.ctx.lineJoin = 'miter';\n break;\n }\n });\n });\n return [2 /*return*/];\n });\n });\n };\n CanvasRenderer.prototype.renderReplacedElement = function (container, curves, image) {\n if (image && container.intrinsicWidth > 0 && container.intrinsicHeight > 0) {\n var box = contentBox(container);\n var path = calculatePaddingBoxPath(curves);\n this.path(path);\n this.ctx.save();\n this.ctx.clip();\n this.ctx.drawImage(image, 0, 0, container.intrinsicWidth, container.intrinsicHeight, box.left, box.top, box.width, box.height);\n this.ctx.restore();\n }\n };\n CanvasRenderer.prototype.renderNodeContent = function (paint) {\n return __awaiter(this, void 0, void 0, function () {\n var container, curves, styles, _i, _a, child, image, image, iframeRenderer, canvas, size, _b, fontFamily, fontSize, baseline, bounds, x, textBounds, img, image, url, fontFamily, bounds;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n this.applyEffects(paint.getEffects(4 /* CONTENT */));\n container = paint.container;\n curves = paint.curves;\n styles = container.styles;\n _i = 0, _a = container.textNodes;\n _c.label = 1;\n case 1:\n if (!(_i < _a.length)) return [3 /*break*/, 4];\n child = _a[_i];\n return [4 /*yield*/, this.renderTextNode(child, styles)];\n case 2:\n _c.sent();\n _c.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4:\n if (!(container instanceof ImageElementContainer)) return [3 /*break*/, 8];\n _c.label = 5;\n case 5:\n _c.trys.push([5, 7, , 8]);\n return [4 /*yield*/, this.context.cache.match(container.src)];\n case 6:\n image = _c.sent();\n this.renderReplacedElement(container, curves, image);\n return [3 /*break*/, 8];\n case 7:\n _c.sent();\n this.context.logger.error(\"Error loading image \" + container.src);\n return [3 /*break*/, 8];\n case 8:\n if (container instanceof CanvasElementContainer) {\n this.renderReplacedElement(container, curves, container.canvas);\n }\n if (!(container instanceof SVGElementContainer)) return [3 /*break*/, 12];\n _c.label = 9;\n case 9:\n _c.trys.push([9, 11, , 12]);\n return [4 /*yield*/, this.context.cache.match(container.svg)];\n case 10:\n image = _c.sent();\n this.renderReplacedElement(container, curves, image);\n return [3 /*break*/, 12];\n case 11:\n _c.sent();\n this.context.logger.error(\"Error loading svg \" + container.svg.substring(0, 255));\n return [3 /*break*/, 12];\n case 12:\n if (!(container instanceof IFrameElementContainer && container.tree)) return [3 /*break*/, 14];\n iframeRenderer = new CanvasRenderer(this.context, {\n scale: this.options.scale,\n backgroundColor: container.backgroundColor,\n x: 0,\n y: 0,\n width: container.width,\n height: container.height\n });\n return [4 /*yield*/, iframeRenderer.render(container.tree)];\n case 13:\n canvas = _c.sent();\n if (container.width && container.height) {\n this.ctx.drawImage(canvas, 0, 0, container.width, container.height, container.bounds.left, container.bounds.top, container.bounds.width, container.bounds.height);\n }\n _c.label = 14;\n case 14:\n if (container instanceof InputElementContainer) {\n size = Math.min(container.bounds.width, container.bounds.height);\n if (container.type === CHECKBOX) {\n if (container.checked) {\n this.ctx.save();\n this.path([\n new Vector(container.bounds.left + size * 0.39363, container.bounds.top + size * 0.79),\n new Vector(container.bounds.left + size * 0.16, container.bounds.top + size * 0.5549),\n new Vector(container.bounds.left + size * 0.27347, container.bounds.top + size * 0.44071),\n new Vector(container.bounds.left + size * 0.39694, container.bounds.top + size * 0.5649),\n new Vector(container.bounds.left + size * 0.72983, container.bounds.top + size * 0.23),\n new Vector(container.bounds.left + size * 0.84, container.bounds.top + size * 0.34085),\n new Vector(container.bounds.left + size * 0.39363, container.bounds.top + size * 0.79)\n ]);\n this.ctx.fillStyle = asString(INPUT_COLOR);\n this.ctx.fill();\n this.ctx.restore();\n }\n }\n else if (container.type === RADIO) {\n if (container.checked) {\n this.ctx.save();\n this.ctx.beginPath();\n this.ctx.arc(container.bounds.left + size / 2, container.bounds.top + size / 2, size / 4, 0, Math.PI * 2, true);\n this.ctx.fillStyle = asString(INPUT_COLOR);\n this.ctx.fill();\n this.ctx.restore();\n }\n }\n }\n if (isTextInputElement(container) && container.value.length) {\n _b = this.createFontStyle(styles), fontFamily = _b[0], fontSize = _b[1];\n baseline = this.fontMetrics.getMetrics(fontFamily, fontSize).baseline;\n this.ctx.font = fontFamily;\n this.ctx.fillStyle = asString(styles.color);\n this.ctx.textBaseline = 'alphabetic';\n this.ctx.textAlign = canvasTextAlign(container.styles.textAlign);\n bounds = contentBox(container);\n x = 0;\n switch (container.styles.textAlign) {\n case 1 /* CENTER */:\n x += bounds.width / 2;\n break;\n case 2 /* RIGHT */:\n x += bounds.width;\n break;\n }\n textBounds = bounds.add(x, 0, 0, -bounds.height / 2 + 1);\n this.ctx.save();\n this.path([\n new Vector(bounds.left, bounds.top),\n new Vector(bounds.left + bounds.width, bounds.top),\n new Vector(bounds.left + bounds.width, bounds.top + bounds.height),\n new Vector(bounds.left, bounds.top + bounds.height)\n ]);\n this.ctx.clip();\n this.renderTextWithLetterSpacing(new TextBounds(container.value, textBounds), styles.letterSpacing, baseline);\n this.ctx.restore();\n this.ctx.textBaseline = 'alphabetic';\n this.ctx.textAlign = 'left';\n }\n if (!contains(container.styles.display, 2048 /* LIST_ITEM */)) return [3 /*break*/, 20];\n if (!(container.styles.listStyleImage !== null)) return [3 /*break*/, 19];\n img = container.styles.listStyleImage;\n if (!(img.type === 0 /* URL */)) return [3 /*break*/, 18];\n image = void 0;\n url = img.url;\n _c.label = 15;\n case 15:\n _c.trys.push([15, 17, , 18]);\n return [4 /*yield*/, this.context.cache.match(url)];\n case 16:\n image = _c.sent();\n this.ctx.drawImage(image, container.bounds.left - (image.width + 10), container.bounds.top);\n return [3 /*break*/, 18];\n case 17:\n _c.sent();\n this.context.logger.error(\"Error loading list-style-image \" + url);\n return [3 /*break*/, 18];\n case 18: return [3 /*break*/, 20];\n case 19:\n if (paint.listValue && container.styles.listStyleType !== -1 /* NONE */) {\n fontFamily = this.createFontStyle(styles)[0];\n this.ctx.font = fontFamily;\n this.ctx.fillStyle = asString(styles.color);\n this.ctx.textBaseline = 'middle';\n this.ctx.textAlign = 'right';\n bounds = new Bounds(container.bounds.left, container.bounds.top + getAbsoluteValue(container.styles.paddingTop, container.bounds.width), container.bounds.width, computeLineHeight(styles.lineHeight, styles.fontSize.number) / 2 + 1);\n this.renderTextWithLetterSpacing(new TextBounds(paint.listValue, bounds), styles.letterSpacing, computeLineHeight(styles.lineHeight, styles.fontSize.number) / 2 + 2);\n this.ctx.textBaseline = 'bottom';\n this.ctx.textAlign = 'left';\n }\n _c.label = 20;\n case 20: return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.renderStackContent = function (stack) {\n return __awaiter(this, void 0, void 0, function () {\n var _i, _a, child, _b, _c, child, _d, _e, child, _f, _g, child, _h, _j, child, _k, _l, child, _m, _o, child;\n return __generator(this, function (_p) {\n switch (_p.label) {\n case 0:\n if (contains(stack.element.container.flags, 16 /* DEBUG_RENDER */)) {\n debugger;\n }\n // https://www.w3.org/TR/css-position-3/#painting-order\n // 1. the background and borders of the element forming the stacking context.\n return [4 /*yield*/, this.renderNodeBackgroundAndBorders(stack.element)];\n case 1:\n // https://www.w3.org/TR/css-position-3/#painting-order\n // 1. the background and borders of the element forming the stacking context.\n _p.sent();\n _i = 0, _a = stack.negativeZIndex;\n _p.label = 2;\n case 2:\n if (!(_i < _a.length)) return [3 /*break*/, 5];\n child = _a[_i];\n return [4 /*yield*/, this.renderStack(child)];\n case 3:\n _p.sent();\n _p.label = 4;\n case 4:\n _i++;\n return [3 /*break*/, 2];\n case 5: \n // 3. For all its in-flow, non-positioned, block-level descendants in tree order:\n return [4 /*yield*/, this.renderNodeContent(stack.element)];\n case 6:\n // 3. For all its in-flow, non-positioned, block-level descendants in tree order:\n _p.sent();\n _b = 0, _c = stack.nonInlineLevel;\n _p.label = 7;\n case 7:\n if (!(_b < _c.length)) return [3 /*break*/, 10];\n child = _c[_b];\n return [4 /*yield*/, this.renderNode(child)];\n case 8:\n _p.sent();\n _p.label = 9;\n case 9:\n _b++;\n return [3 /*break*/, 7];\n case 10:\n _d = 0, _e = stack.nonPositionedFloats;\n _p.label = 11;\n case 11:\n if (!(_d < _e.length)) return [3 /*break*/, 14];\n child = _e[_d];\n return [4 /*yield*/, this.renderStack(child)];\n case 12:\n _p.sent();\n _p.label = 13;\n case 13:\n _d++;\n return [3 /*break*/, 11];\n case 14:\n _f = 0, _g = stack.nonPositionedInlineLevel;\n _p.label = 15;\n case 15:\n if (!(_f < _g.length)) return [3 /*break*/, 18];\n child = _g[_f];\n return [4 /*yield*/, this.renderStack(child)];\n case 16:\n _p.sent();\n _p.label = 17;\n case 17:\n _f++;\n return [3 /*break*/, 15];\n case 18:\n _h = 0, _j = stack.inlineLevel;\n _p.label = 19;\n case 19:\n if (!(_h < _j.length)) return [3 /*break*/, 22];\n child = _j[_h];\n return [4 /*yield*/, this.renderNode(child)];\n case 20:\n _p.sent();\n _p.label = 21;\n case 21:\n _h++;\n return [3 /*break*/, 19];\n case 22:\n _k = 0, _l = stack.zeroOrAutoZIndexOrTransformedOrOpacity;\n _p.label = 23;\n case 23:\n if (!(_k < _l.length)) return [3 /*break*/, 26];\n child = _l[_k];\n return [4 /*yield*/, this.renderStack(child)];\n case 24:\n _p.sent();\n _p.label = 25;\n case 25:\n _k++;\n return [3 /*break*/, 23];\n case 26:\n _m = 0, _o = stack.positiveZIndex;\n _p.label = 27;\n case 27:\n if (!(_m < _o.length)) return [3 /*break*/, 30];\n child = _o[_m];\n return [4 /*yield*/, this.renderStack(child)];\n case 28:\n _p.sent();\n _p.label = 29;\n case 29:\n _m++;\n return [3 /*break*/, 27];\n case 30: return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.mask = function (paths) {\n this.ctx.beginPath();\n this.ctx.moveTo(0, 0);\n this.ctx.lineTo(this.canvas.width, 0);\n this.ctx.lineTo(this.canvas.width, this.canvas.height);\n this.ctx.lineTo(0, this.canvas.height);\n this.ctx.lineTo(0, 0);\n this.formatPath(paths.slice(0).reverse());\n this.ctx.closePath();\n };\n CanvasRenderer.prototype.path = function (paths) {\n this.ctx.beginPath();\n this.formatPath(paths);\n this.ctx.closePath();\n };\n CanvasRenderer.prototype.formatPath = function (paths) {\n var _this = this;\n paths.forEach(function (point, index) {\n var start = isBezierCurve(point) ? point.start : point;\n if (index === 0) {\n _this.ctx.moveTo(start.x, start.y);\n }\n else {\n _this.ctx.lineTo(start.x, start.y);\n }\n if (isBezierCurve(point)) {\n _this.ctx.bezierCurveTo(point.startControl.x, point.startControl.y, point.endControl.x, point.endControl.y, point.end.x, point.end.y);\n }\n });\n };\n CanvasRenderer.prototype.renderRepeat = function (path, pattern, offsetX, offsetY) {\n this.path(path);\n this.ctx.fillStyle = pattern;\n this.ctx.translate(offsetX, offsetY);\n this.ctx.fill();\n this.ctx.translate(-offsetX, -offsetY);\n };\n CanvasRenderer.prototype.resizeImage = function (image, width, height) {\n var _a;\n if (image.width === width && image.height === height) {\n return image;\n }\n var ownerDocument = (_a = this.canvas.ownerDocument) !== null && _a !== void 0 ? _a : document;\n var canvas = ownerDocument.createElement('canvas');\n canvas.width = Math.max(1, width);\n canvas.height = Math.max(1, height);\n var ctx = canvas.getContext('2d');\n ctx.drawImage(image, 0, 0, image.width, image.height, 0, 0, width, height);\n return canvas;\n };\n CanvasRenderer.prototype.renderBackgroundImage = function (container) {\n return __awaiter(this, void 0, void 0, function () {\n var index, _loop_1, this_1, _i, _a, backgroundImage;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n index = container.styles.backgroundImage.length - 1;\n _loop_1 = function (backgroundImage) {\n var image, url, _c, path, x, y, width, height, pattern, _d, path, x, y, width, height, _e, lineLength, x0, x1, y0, y1, canvas, ctx, gradient_1, pattern, _f, path, left, top_1, width, height, position, x, y, _g, rx, ry, radialGradient_1, midX, midY, f, invF;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n if (!(backgroundImage.type === 0 /* URL */)) return [3 /*break*/, 5];\n image = void 0;\n url = backgroundImage.url;\n _h.label = 1;\n case 1:\n _h.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this_1.context.cache.match(url)];\n case 2:\n image = _h.sent();\n return [3 /*break*/, 4];\n case 3:\n _h.sent();\n this_1.context.logger.error(\"Error loading background-image \" + url);\n return [3 /*break*/, 4];\n case 4:\n if (image) {\n _c = calculateBackgroundRendering(container, index, [\n image.width,\n image.height,\n image.width / image.height\n ]), path = _c[0], x = _c[1], y = _c[2], width = _c[3], height = _c[4];\n pattern = this_1.ctx.createPattern(this_1.resizeImage(image, width, height), 'repeat');\n this_1.renderRepeat(path, pattern, x, y);\n }\n return [3 /*break*/, 6];\n case 5:\n if (isLinearGradient(backgroundImage)) {\n _d = calculateBackgroundRendering(container, index, [null, null, null]), path = _d[0], x = _d[1], y = _d[2], width = _d[3], height = _d[4];\n _e = calculateGradientDirection(backgroundImage.angle, width, height), lineLength = _e[0], x0 = _e[1], x1 = _e[2], y0 = _e[3], y1 = _e[4];\n canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n ctx = canvas.getContext('2d');\n gradient_1 = ctx.createLinearGradient(x0, y0, x1, y1);\n processColorStops(backgroundImage.stops, lineLength).forEach(function (colorStop) {\n return gradient_1.addColorStop(colorStop.stop, asString(colorStop.color));\n });\n ctx.fillStyle = gradient_1;\n ctx.fillRect(0, 0, width, height);\n if (width > 0 && height > 0) {\n pattern = this_1.ctx.createPattern(canvas, 'repeat');\n this_1.renderRepeat(path, pattern, x, y);\n }\n }\n else if (isRadialGradient(backgroundImage)) {\n _f = calculateBackgroundRendering(container, index, [\n null,\n null,\n null\n ]), path = _f[0], left = _f[1], top_1 = _f[2], width = _f[3], height = _f[4];\n position = backgroundImage.position.length === 0 ? [FIFTY_PERCENT] : backgroundImage.position;\n x = getAbsoluteValue(position[0], width);\n y = getAbsoluteValue(position[position.length - 1], height);\n _g = calculateRadius(backgroundImage, x, y, width, height), rx = _g[0], ry = _g[1];\n if (rx > 0 && ry > 0) {\n radialGradient_1 = this_1.ctx.createRadialGradient(left + x, top_1 + y, 0, left + x, top_1 + y, rx);\n processColorStops(backgroundImage.stops, rx * 2).forEach(function (colorStop) {\n return radialGradient_1.addColorStop(colorStop.stop, asString(colorStop.color));\n });\n this_1.path(path);\n this_1.ctx.fillStyle = radialGradient_1;\n if (rx !== ry) {\n midX = container.bounds.left + 0.5 * container.bounds.width;\n midY = container.bounds.top + 0.5 * container.bounds.height;\n f = ry / rx;\n invF = 1 / f;\n this_1.ctx.save();\n this_1.ctx.translate(midX, midY);\n this_1.ctx.transform(1, 0, 0, f, 0, 0);\n this_1.ctx.translate(-midX, -midY);\n this_1.ctx.fillRect(left, invF * (top_1 - midY) + midY, width, height * invF);\n this_1.ctx.restore();\n }\n else {\n this_1.ctx.fill();\n }\n }\n }\n _h.label = 6;\n case 6:\n index--;\n return [2 /*return*/];\n }\n });\n };\n this_1 = this;\n _i = 0, _a = container.styles.backgroundImage.slice(0).reverse();\n _b.label = 1;\n case 1:\n if (!(_i < _a.length)) return [3 /*break*/, 4];\n backgroundImage = _a[_i];\n return [5 /*yield**/, _loop_1(backgroundImage)];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.renderSolidBorder = function (color, side, curvePoints) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.path(parsePathForBorder(curvePoints, side));\n this.ctx.fillStyle = asString(color);\n this.ctx.fill();\n return [2 /*return*/];\n });\n });\n };\n CanvasRenderer.prototype.renderDoubleBorder = function (color, width, side, curvePoints) {\n return __awaiter(this, void 0, void 0, function () {\n var outerPaths, innerPaths;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(width < 3)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.renderSolidBorder(color, side, curvePoints)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n case 2:\n outerPaths = parsePathForBorderDoubleOuter(curvePoints, side);\n this.path(outerPaths);\n this.ctx.fillStyle = asString(color);\n this.ctx.fill();\n innerPaths = parsePathForBorderDoubleInner(curvePoints, side);\n this.path(innerPaths);\n this.ctx.fill();\n return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.renderNodeBackgroundAndBorders = function (paint) {\n return __awaiter(this, void 0, void 0, function () {\n var styles, hasBackground, borders, backgroundPaintingArea, side, _i, borders_1, border;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.applyEffects(paint.getEffects(2 /* BACKGROUND_BORDERS */));\n styles = paint.container.styles;\n hasBackground = !isTransparent(styles.backgroundColor) || styles.backgroundImage.length;\n borders = [\n { style: styles.borderTopStyle, color: styles.borderTopColor, width: styles.borderTopWidth },\n { style: styles.borderRightStyle, color: styles.borderRightColor, width: styles.borderRightWidth },\n { style: styles.borderBottomStyle, color: styles.borderBottomColor, width: styles.borderBottomWidth },\n { style: styles.borderLeftStyle, color: styles.borderLeftColor, width: styles.borderLeftWidth }\n ];\n backgroundPaintingArea = calculateBackgroundCurvedPaintingArea(getBackgroundValueForIndex(styles.backgroundClip, 0), paint.curves);\n if (!(hasBackground || styles.boxShadow.length)) return [3 /*break*/, 2];\n this.ctx.save();\n this.path(backgroundPaintingArea);\n this.ctx.clip();\n if (!isTransparent(styles.backgroundColor)) {\n this.ctx.fillStyle = asString(styles.backgroundColor);\n this.ctx.fill();\n }\n return [4 /*yield*/, this.renderBackgroundImage(paint.container)];\n case 1:\n _a.sent();\n this.ctx.restore();\n styles.boxShadow\n .slice(0)\n .reverse()\n .forEach(function (shadow) {\n _this.ctx.save();\n var borderBoxArea = calculateBorderBoxPath(paint.curves);\n var maskOffset = shadow.inset ? 0 : MASK_OFFSET;\n var shadowPaintingArea = transformPath(borderBoxArea, -maskOffset + (shadow.inset ? 1 : -1) * shadow.spread.number, (shadow.inset ? 1 : -1) * shadow.spread.number, shadow.spread.number * (shadow.inset ? -2 : 2), shadow.spread.number * (shadow.inset ? -2 : 2));\n if (shadow.inset) {\n _this.path(borderBoxArea);\n _this.ctx.clip();\n _this.mask(shadowPaintingArea);\n }\n else {\n _this.mask(borderBoxArea);\n _this.ctx.clip();\n _this.path(shadowPaintingArea);\n }\n _this.ctx.shadowOffsetX = shadow.offsetX.number + maskOffset;\n _this.ctx.shadowOffsetY = shadow.offsetY.number;\n _this.ctx.shadowColor = asString(shadow.color);\n _this.ctx.shadowBlur = shadow.blur.number;\n _this.ctx.fillStyle = shadow.inset ? asString(shadow.color) : 'rgba(0,0,0,1)';\n _this.ctx.fill();\n _this.ctx.restore();\n });\n _a.label = 2;\n case 2:\n side = 0;\n _i = 0, borders_1 = borders;\n _a.label = 3;\n case 3:\n if (!(_i < borders_1.length)) return [3 /*break*/, 13];\n border = borders_1[_i];\n if (!(border.style !== 0 /* NONE */ && !isTransparent(border.color) && border.width > 0)) return [3 /*break*/, 11];\n if (!(border.style === 2 /* DASHED */)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.renderDashedDottedBorder(border.color, border.width, side, paint.curves, 2 /* DASHED */)];\n case 4:\n _a.sent();\n return [3 /*break*/, 11];\n case 5:\n if (!(border.style === 3 /* DOTTED */)) return [3 /*break*/, 7];\n return [4 /*yield*/, this.renderDashedDottedBorder(border.color, border.width, side, paint.curves, 3 /* DOTTED */)];\n case 6:\n _a.sent();\n return [3 /*break*/, 11];\n case 7:\n if (!(border.style === 4 /* DOUBLE */)) return [3 /*break*/, 9];\n return [4 /*yield*/, this.renderDoubleBorder(border.color, border.width, side, paint.curves)];\n case 8:\n _a.sent();\n return [3 /*break*/, 11];\n case 9: return [4 /*yield*/, this.renderSolidBorder(border.color, side, paint.curves)];\n case 10:\n _a.sent();\n _a.label = 11;\n case 11:\n side++;\n _a.label = 12;\n case 12:\n _i++;\n return [3 /*break*/, 3];\n case 13: return [2 /*return*/];\n }\n });\n });\n };\n CanvasRenderer.prototype.renderDashedDottedBorder = function (color, width, side, curvePoints, style) {\n return __awaiter(this, void 0, void 0, function () {\n var strokePaths, boxPaths, startX, startY, endX, endY, length, dashLength, spaceLength, useLineDash, multiplier, numberOfDashes, minSpace, maxSpace, path1, path2, path1, path2;\n return __generator(this, function (_a) {\n this.ctx.save();\n strokePaths = parsePathForBorderStroke(curvePoints, side);\n boxPaths = parsePathForBorder(curvePoints, side);\n if (style === 2 /* DASHED */) {\n this.path(boxPaths);\n this.ctx.clip();\n }\n if (isBezierCurve(boxPaths[0])) {\n startX = boxPaths[0].start.x;\n startY = boxPaths[0].start.y;\n }\n else {\n startX = boxPaths[0].x;\n startY = boxPaths[0].y;\n }\n if (isBezierCurve(boxPaths[1])) {\n endX = boxPaths[1].end.x;\n endY = boxPaths[1].end.y;\n }\n else {\n endX = boxPaths[1].x;\n endY = boxPaths[1].y;\n }\n if (side === 0 || side === 2) {\n length = Math.abs(startX - endX);\n }\n else {\n length = Math.abs(startY - endY);\n }\n this.ctx.beginPath();\n if (style === 3 /* DOTTED */) {\n this.formatPath(strokePaths);\n }\n else {\n this.formatPath(boxPaths.slice(0, 2));\n }\n dashLength = width < 3 ? width * 3 : width * 2;\n spaceLength = width < 3 ? width * 2 : width;\n if (style === 3 /* DOTTED */) {\n dashLength = width;\n spaceLength = width;\n }\n useLineDash = true;\n if (length <= dashLength * 2) {\n useLineDash = false;\n }\n else if (length <= dashLength * 2 + spaceLength) {\n multiplier = length / (2 * dashLength + spaceLength);\n dashLength *= multiplier;\n spaceLength *= multiplier;\n }\n else {\n numberOfDashes = Math.floor((length + spaceLength) / (dashLength + spaceLength));\n minSpace = (length - numberOfDashes * dashLength) / (numberOfDashes - 1);\n maxSpace = (length - (numberOfDashes + 1) * dashLength) / numberOfDashes;\n spaceLength =\n maxSpace <= 0 || Math.abs(spaceLength - minSpace) < Math.abs(spaceLength - maxSpace)\n ? minSpace\n : maxSpace;\n }\n if (useLineDash) {\n if (style === 3 /* DOTTED */) {\n this.ctx.setLineDash([0, dashLength + spaceLength]);\n }\n else {\n this.ctx.setLineDash([dashLength, spaceLength]);\n }\n }\n if (style === 3 /* DOTTED */) {\n this.ctx.lineCap = 'round';\n this.ctx.lineWidth = width;\n }\n else {\n this.ctx.lineWidth = width * 2 + 1.1;\n }\n this.ctx.strokeStyle = asString(color);\n this.ctx.stroke();\n this.ctx.setLineDash([]);\n // dashed round edge gap\n if (style === 2 /* DASHED */) {\n if (isBezierCurve(boxPaths[0])) {\n path1 = boxPaths[3];\n path2 = boxPaths[0];\n this.ctx.beginPath();\n this.formatPath([new Vector(path1.end.x, path1.end.y), new Vector(path2.start.x, path2.start.y)]);\n this.ctx.stroke();\n }\n if (isBezierCurve(boxPaths[1])) {\n path1 = boxPaths[1];\n path2 = boxPaths[2];\n this.ctx.beginPath();\n this.formatPath([new Vector(path1.end.x, path1.end.y), new Vector(path2.start.x, path2.start.y)]);\n this.ctx.stroke();\n }\n }\n this.ctx.restore();\n return [2 /*return*/];\n });\n });\n };\n CanvasRenderer.prototype.render = function (element) {\n return __awaiter(this, void 0, void 0, function () {\n var stack;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.options.backgroundColor) {\n this.ctx.fillStyle = asString(this.options.backgroundColor);\n this.ctx.fillRect(this.options.x, this.options.y, this.options.width, this.options.height);\n }\n stack = parseStackingContexts(element);\n return [4 /*yield*/, this.renderStack(stack)];\n case 1:\n _a.sent();\n this.applyEffects([]);\n return [2 /*return*/, this.canvas];\n }\n });\n });\n };\n return CanvasRenderer;\n}(Renderer));\nvar isTextInputElement = function (container) {\n if (container instanceof TextareaElementContainer) {\n return true;\n }\n else if (container instanceof SelectElementContainer) {\n return true;\n }\n else if (container instanceof InputElementContainer && container.type !== RADIO && container.type !== CHECKBOX) {\n return true;\n }\n return false;\n};\nvar calculateBackgroundCurvedPaintingArea = function (clip, curves) {\n switch (clip) {\n case 0 /* BORDER_BOX */:\n return calculateBorderBoxPath(curves);\n case 2 /* CONTENT_BOX */:\n return calculateContentBoxPath(curves);\n case 1 /* PADDING_BOX */:\n default:\n return calculatePaddingBoxPath(curves);\n }\n};\nvar canvasTextAlign = function (textAlign) {\n switch (textAlign) {\n case 1 /* CENTER */:\n return 'center';\n case 2 /* RIGHT */:\n return 'right';\n case 0 /* LEFT */:\n default:\n return 'left';\n }\n};\n// see https://github.com/niklasvh/html2canvas/pull/2645\nvar iOSBrokenFonts = ['-apple-system', 'system-ui'];\nvar fixIOSSystemFonts = function (fontFamilies) {\n return /iPhone OS 15_(0|1)/.test(window.navigator.userAgent)\n ? fontFamilies.filter(function (fontFamily) { return iOSBrokenFonts.indexOf(fontFamily) === -1; })\n : fontFamilies;\n};\n\nvar ForeignObjectRenderer = /** @class */ (function (_super) {\n __extends(ForeignObjectRenderer, _super);\n function ForeignObjectRenderer(context, options) {\n var _this = _super.call(this, context, options) || this;\n _this.canvas = options.canvas ? options.canvas : document.createElement('canvas');\n _this.ctx = _this.canvas.getContext('2d');\n _this.options = options;\n _this.canvas.width = Math.floor(options.width * options.scale);\n _this.canvas.height = Math.floor(options.height * options.scale);\n _this.canvas.style.width = options.width + \"px\";\n _this.canvas.style.height = options.height + \"px\";\n _this.ctx.scale(_this.options.scale, _this.options.scale);\n _this.ctx.translate(-options.x, -options.y);\n _this.context.logger.debug(\"EXPERIMENTAL ForeignObject renderer initialized (\" + options.width + \"x\" + options.height + \" at \" + options.x + \",\" + options.y + \") with scale \" + options.scale);\n return _this;\n }\n ForeignObjectRenderer.prototype.render = function (element) {\n return __awaiter(this, void 0, void 0, function () {\n var svg, img;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n svg = createForeignObjectSVG(this.options.width * this.options.scale, this.options.height * this.options.scale, this.options.scale, this.options.scale, element);\n return [4 /*yield*/, loadSerializedSVG(svg)];\n case 1:\n img = _a.sent();\n if (this.options.backgroundColor) {\n this.ctx.fillStyle = asString(this.options.backgroundColor);\n this.ctx.fillRect(0, 0, this.options.width * this.options.scale, this.options.height * this.options.scale);\n }\n this.ctx.drawImage(img, -this.options.x * this.options.scale, -this.options.y * this.options.scale);\n return [2 /*return*/, this.canvas];\n }\n });\n });\n };\n return ForeignObjectRenderer;\n}(Renderer));\nvar loadSerializedSVG = function (svg) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () {\n resolve(img);\n };\n img.onerror = reject;\n img.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(new XMLSerializer().serializeToString(svg));\n });\n};\n\nvar Logger = /** @class */ (function () {\n function Logger(_a) {\n var id = _a.id, enabled = _a.enabled;\n this.id = id;\n this.enabled = enabled;\n this.start = Date.now();\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Logger.prototype.debug = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (this.enabled) {\n // eslint-disable-next-line no-console\n if (typeof window !== 'undefined' && window.console && typeof console.debug === 'function') {\n // eslint-disable-next-line no-console\n console.debug.apply(console, __spreadArray([this.id, this.getTime() + \"ms\"], args));\n }\n else {\n this.info.apply(this, args);\n }\n }\n };\n Logger.prototype.getTime = function () {\n return Date.now() - this.start;\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Logger.prototype.info = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (this.enabled) {\n // eslint-disable-next-line no-console\n if (typeof window !== 'undefined' && window.console && typeof console.info === 'function') {\n // eslint-disable-next-line no-console\n console.info.apply(console, __spreadArray([this.id, this.getTime() + \"ms\"], args));\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Logger.prototype.warn = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (this.enabled) {\n // eslint-disable-next-line no-console\n if (typeof window !== 'undefined' && window.console && typeof console.warn === 'function') {\n // eslint-disable-next-line no-console\n console.warn.apply(console, __spreadArray([this.id, this.getTime() + \"ms\"], args));\n }\n else {\n this.info.apply(this, args);\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Logger.prototype.error = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (this.enabled) {\n // eslint-disable-next-line no-console\n if (typeof window !== 'undefined' && window.console && typeof console.error === 'function') {\n // eslint-disable-next-line no-console\n console.error.apply(console, __spreadArray([this.id, this.getTime() + \"ms\"], args));\n }\n else {\n this.info.apply(this, args);\n }\n }\n };\n Logger.instances = {};\n return Logger;\n}());\n\nvar Context = /** @class */ (function () {\n function Context(options, windowBounds) {\n var _a;\n this.windowBounds = windowBounds;\n this.instanceName = \"#\" + Context.instanceCount++;\n this.logger = new Logger({ id: this.instanceName, enabled: options.logging });\n this.cache = (_a = options.cache) !== null && _a !== void 0 ? _a : new Cache(this, options);\n }\n Context.instanceCount = 1;\n return Context;\n}());\n\nvar html2canvas = function (element, options) {\n if (options === void 0) { options = {}; }\n return renderElement(element, options);\n};\nif (typeof window !== 'undefined') {\n CacheStorage.setContext(window);\n}\nvar renderElement = function (element, opts) { return __awaiter(void 0, void 0, void 0, function () {\n var ownerDocument, defaultView, resourceOptions, contextOptions, windowOptions, windowBounds, context, foreignObjectRendering, cloneOptions, documentCloner, clonedElement, container, _a, width, height, left, top, backgroundColor, renderOptions, canvas, renderer, root, renderer;\n var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;\n return __generator(this, function (_u) {\n switch (_u.label) {\n case 0:\n if (!element || typeof element !== 'object') {\n return [2 /*return*/, Promise.reject('Invalid element provided as first argument')];\n }\n ownerDocument = element.ownerDocument;\n if (!ownerDocument) {\n throw new Error(\"Element is not attached to a Document\");\n }\n defaultView = ownerDocument.defaultView;\n if (!defaultView) {\n throw new Error(\"Document is not attached to a Window\");\n }\n resourceOptions = {\n allowTaint: (_b = opts.allowTaint) !== null && _b !== void 0 ? _b : false,\n imageTimeout: (_c = opts.imageTimeout) !== null && _c !== void 0 ? _c : 15000,\n proxy: opts.proxy,\n useCORS: (_d = opts.useCORS) !== null && _d !== void 0 ? _d : false\n };\n contextOptions = __assign({ logging: (_e = opts.logging) !== null && _e !== void 0 ? _e : true, cache: opts.cache }, resourceOptions);\n windowOptions = {\n windowWidth: (_f = opts.windowWidth) !== null && _f !== void 0 ? _f : defaultView.innerWidth,\n windowHeight: (_g = opts.windowHeight) !== null && _g !== void 0 ? _g : defaultView.innerHeight,\n scrollX: (_h = opts.scrollX) !== null && _h !== void 0 ? _h : defaultView.pageXOffset,\n scrollY: (_j = opts.scrollY) !== null && _j !== void 0 ? _j : defaultView.pageYOffset\n };\n windowBounds = new Bounds(windowOptions.scrollX, windowOptions.scrollY, windowOptions.windowWidth, windowOptions.windowHeight);\n context = new Context(contextOptions, windowBounds);\n foreignObjectRendering = (_k = opts.foreignObjectRendering) !== null && _k !== void 0 ? _k : false;\n cloneOptions = {\n allowTaint: (_l = opts.allowTaint) !== null && _l !== void 0 ? _l : false,\n onclone: opts.onclone,\n ignoreElements: opts.ignoreElements,\n inlineImages: foreignObjectRendering,\n copyStyles: foreignObjectRendering\n };\n context.logger.debug(\"Starting document clone with size \" + windowBounds.width + \"x\" + windowBounds.height + \" scrolled to \" + -windowBounds.left + \",\" + -windowBounds.top);\n documentCloner = new DocumentCloner(context, element, cloneOptions);\n clonedElement = documentCloner.clonedReferenceElement;\n if (!clonedElement) {\n return [2 /*return*/, Promise.reject(\"Unable to find element in cloned iframe\")];\n }\n return [4 /*yield*/, documentCloner.toIFrame(ownerDocument, windowBounds)];\n case 1:\n container = _u.sent();\n _a = isBodyElement(clonedElement) || isHTMLElement(clonedElement)\n ? parseDocumentSize(clonedElement.ownerDocument)\n : parseBounds(context, clonedElement), width = _a.width, height = _a.height, left = _a.left, top = _a.top;\n backgroundColor = parseBackgroundColor(context, clonedElement, opts.backgroundColor);\n renderOptions = {\n canvas: opts.canvas,\n backgroundColor: backgroundColor,\n scale: (_o = (_m = opts.scale) !== null && _m !== void 0 ? _m : defaultView.devicePixelRatio) !== null && _o !== void 0 ? _o : 1,\n x: ((_p = opts.x) !== null && _p !== void 0 ? _p : 0) + left,\n y: ((_q = opts.y) !== null && _q !== void 0 ? _q : 0) + top,\n width: (_r = opts.width) !== null && _r !== void 0 ? _r : Math.ceil(width),\n height: (_s = opts.height) !== null && _s !== void 0 ? _s : Math.ceil(height)\n };\n if (!foreignObjectRendering) return [3 /*break*/, 3];\n context.logger.debug(\"Document cloned, using foreign object rendering\");\n renderer = new ForeignObjectRenderer(context, renderOptions);\n return [4 /*yield*/, renderer.render(clonedElement)];\n case 2:\n canvas = _u.sent();\n return [3 /*break*/, 5];\n case 3:\n context.logger.debug(\"Document cloned, element located at \" + left + \",\" + top + \" with size \" + width + \"x\" + height + \" using computed rendering\");\n context.logger.debug(\"Starting DOM parsing\");\n root = parseTree(context, clonedElement);\n if (backgroundColor === root.styles.backgroundColor) {\n root.styles.backgroundColor = COLORS.TRANSPARENT;\n }\n context.logger.debug(\"Starting renderer for element at \" + renderOptions.x + \",\" + renderOptions.y + \" with size \" + renderOptions.width + \"x\" + renderOptions.height);\n renderer = new CanvasRenderer(context, renderOptions);\n return [4 /*yield*/, renderer.render(root)];\n case 4:\n canvas = _u.sent();\n _u.label = 5;\n case 5:\n if ((_t = opts.removeContainer) !== null && _t !== void 0 ? _t : true) {\n if (!DocumentCloner.destroy(container)) {\n context.logger.error(\"Cannot detach cloned iframe as it is not in the DOM anymore\");\n }\n }\n context.logger.debug(\"Finished rendering\");\n return [2 /*return*/, canvas];\n }\n });\n}); };\nvar parseBackgroundColor = function (context, element, backgroundColorOverride) {\n var ownerDocument = element.ownerDocument;\n // http://www.w3.org/TR/css3-background/#special-backgrounds\n var documentBackgroundColor = ownerDocument.documentElement\n ? parseColor(context, getComputedStyle(ownerDocument.documentElement).backgroundColor)\n : COLORS.TRANSPARENT;\n var bodyBackgroundColor = ownerDocument.body\n ? parseColor(context, getComputedStyle(ownerDocument.body).backgroundColor)\n : COLORS.TRANSPARENT;\n var defaultBackgroundColor = typeof backgroundColorOverride === 'string'\n ? parseColor(context, backgroundColorOverride)\n : backgroundColorOverride === null\n ? COLORS.TRANSPARENT\n : 0xffffffff;\n return element === ownerDocument.documentElement\n ? isTransparent(documentBackgroundColor)\n ? isTransparent(bodyBackgroundColor)\n ? defaultBackgroundColor\n : bodyBackgroundColor\n : documentBackgroundColor\n : defaultBackgroundColor;\n};\n\nexport default html2canvas;\n//# sourceMappingURL=html2canvas.esm.js.map\n","import React, { useState, useEffect } from 'react';\r\nimport {\r\n Box,\r\n VStack,\r\n HStack,\r\n Text,\r\n Badge,\r\n Table,\r\n Thead,\r\n Tbody,\r\n Tr,\r\n Th,\r\n Td,\r\n Spinner,\r\n Alert,\r\n AlertIcon,\r\n Input,\r\n Select,\r\n Flex,\r\n Heading,\r\n Card,\r\n CardBody,\r\n SimpleGrid,\r\n Stat,\r\n StatLabel,\r\n StatNumber,\r\n Progress,\r\n useColorModeValue,\r\n Tooltip,\r\n Icon,\r\n Button,\r\n Menu,\r\n MenuButton,\r\n MenuList,\r\n MenuItem,\r\n IconButton,\r\n useToast\r\n} from '@chakra-ui/react';\r\nimport { Search, BookOpen, Award, TrendingUp, AlertTriangle, Download, FileDown, Camera } from 'lucide-react';\r\nimport { supabase } from '../../../lib/supabase';\r\nimport { useAuth } from '../../../lib/contexts/AuthContext';\r\nimport jsPDF from 'jspdf';\r\nimport html2canvas from 'html2canvas';\r\n\r\ninterface CourseRecord {\r\n id: string;\r\n course_id: string;\r\n semester_number: number;\r\n grade: string;\r\n grade_point: number;\r\n is_backlog: boolean;\r\n status: string;\r\n is_transcript_verified: boolean;\r\n course: {\r\n course_code: string;\r\n course_name: string;\r\n credits: number;\r\n dept_acronym: string;\r\n };\r\n academic_year?: string;\r\n}\r\n\r\ninterface SemesterSummary {\r\n semester: number;\r\n gpa: number;\r\n credits: number;\r\n courses: number;\r\n backlogs: number;\r\n academic_year: string;\r\n}\r\n\r\nconst CourseHistoryPanel = () => {\r\n const { session } = useAuth();\r\n const toast = useToast();\r\n const [courses, setCourses] = useState<CourseRecord[]>([]);\r\n const [filteredCourses, setFilteredCourses] = useState<CourseRecord[]>([]);\r\n const [semesterSummaries, setSemesterSummaries] = useState<SemesterSummary[]>([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [error, setError] = useState<string | null>(null);\r\n const [searchTerm, setSearchTerm] = useState('');\r\n const [selectedSemester, setSelectedSemester] = useState<string>('all');\r\n const [selectedDepartment, setSelectedDepartment] = useState<string>('all');\r\n\r\n const bgColor = useColorModeValue('white', 'gray.800');\r\n const borderColor = useColorModeValue('gray.200', 'gray.600');\r\n\r\n useEffect(() => {\r\n if (session?.user?.id) {\r\n fetchCourseHistory();\r\n }\r\n }, [session?.user?.id]);\r\n\r\n useEffect(() => {\r\n filterCourses();\r\n }, [courses, searchTerm, selectedSemester, selectedDepartment]);\r\n\r\n const fetchCourseHistory = async (): Promise<void> => {\r\n try {\r\n setIsLoading(true);\r\n setError(null);\r\n\r\n // Fetch all user semester courses\r\n const { data: userCourses, error: userCoursesError } = await supabase\r\n .from('user_semester_courses')\r\n .select('*')\r\n .eq('user_id', session?.user?.id)\r\n .order('semester_number', { ascending: true });\r\n\r\n if (userCoursesError) {\r\n throw userCoursesError;\r\n }\r\n\r\n // Create array to hold courses with details\r\n const coursesWithDetails: CourseRecord[] = [];\r\n \r\n // Process each user course individually\r\n if (userCourses && userCourses.length > 0) {\r\n for (const userCourse of userCourses) {\r\n // Create a base record with placeholder course data\r\n const baseRecord: CourseRecord = {\r\n ...userCourse,\r\n id: userCourse.id,\r\n course_uuid: userCourse.course_uuid,\r\n course_acronym: userCourse.course_acronym,\r\n semester_number: userCourse.semester_number,\r\n grade: userCourse.grade || 'N/A',\r\n grade_point: 0,\r\n is_backlog: userCourse.backlog === 'Yes',\r\n status: userCourse.status || 'unknown',\r\n is_transcript_verified: Boolean(userCourse.is_transcript_verified),\r\n course: {\r\n course_code: userCourse.course_acronym,\r\n course_name: userCourse.course_acronym, // Use acronym as fallback name\r\n credits: 0,\r\n dept_acronym: \"\"\r\n }\r\n };\r\n \r\n // Try to fetch course details by course_code first\r\n try {\r\n const { data: courseByCode } = await supabase\r\n .from('courses_iiitd')\r\n .select('uuid, course_code, course_name, credits, dept_acronym')\r\n .eq('course_code', userCourse.course_acronym)\r\n .maybeSingle();\r\n \r\n if (courseByCode) {\r\n // Update with real course data\r\n baseRecord.course = {\r\n course_code: courseByCode.course_code,\r\n course_name: courseByCode.course_name,\r\n credits: courseByCode.credits,\r\n dept_acronym: courseByCode.dept_acronym\r\n };\r\n } else {\r\n // Try by UUID as fallback (wrapped in try/catch to handle format errors)\r\n try {\r\n const { data: courseByUuid } = await supabase\r\n .from('courses_iiitd')\r\n .select('uuid, course_code, course_name, credits, dept_acronym')\r\n .eq('uuid', userCourse.course_uuid)\r\n .maybeSingle();\r\n \r\n if (courseByUuid) {\r\n baseRecord.course = {\r\n course_code: courseByUuid.course_code,\r\n course_name: courseByUuid.course_name,\r\n credits: courseByUuid.credits,\r\n dept_acronym: courseByUuid.dept_acronym\r\n };\r\n }\r\n } catch (uuidError) {\r\n // Ignore UUID format errors - keep using the placeholder\r\n console.log(`UUID format error for ${userCourse.course_uuid}, using placeholder`);\r\n }\r\n }\r\n } catch (courseError) {\r\n console.error(`Error fetching details for course ${userCourse.course_uuid}:`, courseError);\r\n // Continue with placeholder data\r\n }\r\n \r\n // Add the record with whatever course data we have\r\n coursesWithDetails.push(baseRecord);\r\n }\r\n }\r\n\r\n // Set the courses\r\n setCourses(coursesWithDetails);\r\n \r\n // Fetch academic records for semester summaries\r\n const { data: academicData, error: academicError } = await supabase\r\n .from('user_academic_records')\r\n .select('*')\r\n .eq('user_id', session?.user?.id)\r\n .order('semester_number', { ascending: true });\r\n\r\n if (academicError) {\r\n throw academicError;\r\n }\r\n\r\n // Create semester summaries\r\n const summaries = academicData?.map(record => ({\r\n semester: record.semester_number,\r\n gpa: record.gpa,\r\n credits: record.completed_credits,\r\n courses: coursesWithDetails?.filter(c => c.semester_number === record.semester_number).length || 0,\r\n backlogs: record.backlogs || 0,\r\n academic_year: record.academic_year || ''\r\n })) || [];\r\n\r\n setSemesterSummaries(summaries);\r\n\r\n } catch (error: any) {\r\n console.error('Error fetching course history:', error);\r\n setError(error.message || 'Failed to fetch course history');\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const filterCourses = () => {\r\n let filtered = courses;\r\n\r\n // Filter by search term\r\n if (searchTerm) {\r\n filtered = filtered.filter(course =>\r\n course.course.course_code.toLowerCase().includes(searchTerm.toLowerCase()) ||\r\n course.course.course_name.toLowerCase().includes(searchTerm.toLowerCase()) ||\r\n course.course.dept_acronym.toLowerCase().includes(searchTerm.toLowerCase())\r\n );\r\n }\r\n\r\n // Filter by semester\r\n if (selectedSemester !== 'all') {\r\n filtered = filtered.filter(course => course.semester_number === parseInt(selectedSemester));\r\n }\r\n\r\n // Filter by department\r\n if (selectedDepartment !== 'all') {\r\n filtered = filtered.filter(course => course.course.dept_acronym === selectedDepartment);\r\n }\r\n\r\n setFilteredCourses(filtered);\r\n };\r\n\r\n const getGradeColor = (grade: string) => {\r\n const gradeColors: { [key: string]: string } = {\r\n 'A+': 'green',\r\n 'A': 'green',\r\n 'A-': 'green',\r\n 'B+': 'blue',\r\n 'B': 'blue',\r\n 'B-': 'blue',\r\n 'C+': 'yellow',\r\n 'C': 'yellow',\r\n 'C-': 'yellow',\r\n 'D': 'orange',\r\n 'F': 'red'\r\n };\r\n return gradeColors[grade] || 'gray';\r\n };\r\n\r\n const getUniqueValues = (key: keyof CourseRecord['course']) => {\r\n return [...new Set(courses.map(course => course.course[key]))].sort();\r\n };\r\n\r\n const calculateOverallStats = () => {\r\n const totalCredits = courses.reduce((sum, course) => sum + course.course.credits, 0);\r\n const completedCredits = courses.filter(c => c.status === 'completed').reduce((sum, course) => sum + course.course.credits, 0);\r\n const totalBacklogs = courses.filter(c => c.is_backlog).length;\r\n const averageGPA = semesterSummaries.length > 0 \r\n ? semesterSummaries.reduce((sum, sem) => sum + sem.gpa, 0) / semesterSummaries.length \r\n : 0;\r\n\r\n return { totalCredits, completedCredits, totalBacklogs, averageGPA };\r\n };\r\n\r\n const stats = calculateOverallStats();\r\n\r\n const handleDownloadHistory = async (format: 'pdf' | 'image') => {\r\n const container = document.getElementById('course-history-container');\r\n if (!container) {\r\n toast({\r\n title: 'Download failed',\r\n description: 'Could not find course history to download',\r\n status: 'error',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n return;\r\n }\r\n\r\n try {\r\n const canvas = await html2canvas(container, {\r\n backgroundColor: '#ffffff',\r\n scale: 2,\r\n useCORS: true,\r\n allowTaint: true,\r\n });\r\n\r\n if (format === 'image') {\r\n // Download as PNG\r\n const link = document.createElement('a');\r\n link.download = `course-history-${new Date().toISOString().split('T')[0]}.png`;\r\n link.href = canvas.toDataURL();\r\n link.click();\r\n } else {\r\n // Download as PDF\r\n const pdf = new jsPDF('l', 'mm', 'a4');\r\n const imgData = canvas.toDataURL('image/png');\r\n const imgWidth = 297;\r\n const pageHeight = 210;\r\n const imgHeight = (canvas.height * imgWidth) / canvas.width;\r\n let heightLeft = imgHeight;\r\n\r\n let position = 0;\r\n\r\n pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n\r\n while (heightLeft >= 0) {\r\n position = heightLeft - imgHeight;\r\n pdf.addPage();\r\n pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n }\r\n\r\n pdf.save(`course-history-${new Date().toISOString().split('T')[0]}.pdf`);\r\n }\r\n\r\n toast({\r\n title: 'Download successful',\r\n description: `Course history downloaded as ${format.toUpperCase()}`,\r\n status: 'success',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n } catch (error) {\r\n console.error('Download error:', error);\r\n toast({\r\n title: 'Download failed',\r\n description: 'An error occurred while downloading',\r\n status: 'error',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n }\r\n };\r\n\r\n if (isLoading) {\r\n return (\r\n <Box display=\"flex\" justifyContent=\"center\" alignItems=\"center\" minH=\"400px\">\r\n <Spinner size=\"xl\" color=\"purple.500\" />\r\n </Box>\r\n );\r\n }\r\n\r\n if (error) {\r\n return (\r\n <Alert status=\"error\">\r\n <AlertIcon />\r\n {error}\r\n </Alert>\r\n );\r\n }\r\n\r\n return (\r\n <Box id=\"course-history-container\">\r\n <VStack spacing={6} align=\"stretch\">\r\n {/* Header with Download Options */}\r\n <Flex justify=\"space-between\" align=\"center\">\r\n <Heading size=\"md\" color=\"purple.700\">Course History</Heading>\r\n <Menu>\r\n <MenuButton\r\n as={IconButton}\r\n icon={<Download size={16} />}\r\n variant=\"outline\"\r\n colorScheme=\"purple\"\r\n size=\"sm\"\r\n />\r\n <MenuList>\r\n <MenuItem \r\n icon={<FileDown size={16} />}\r\n onClick={() => handleDownloadHistory('pdf')}\r\n >\r\n Download as PDF\r\n </MenuItem>\r\n <MenuItem \r\n icon={<Camera size={16} />}\r\n onClick={() => handleDownloadHistory('image')}\r\n >\r\n Download as Image\r\n </MenuItem>\r\n </MenuList>\r\n </Menu>\r\n </Flex>\r\n\r\n {/* Overall Statistics */}\r\n <Card>\r\n <CardBody>\r\n <Heading size=\"md\" mb={4} color=\"purple.700\">Academic Overview</Heading>\r\n <SimpleGrid columns={{ base: 2, md: 4 }} spacing={4}>\r\n <Stat>\r\n <StatLabel>Total Courses</StatLabel>\r\n <StatNumber color=\"purple.600\">{courses.length}</StatNumber>\r\n </Stat>\r\n <Stat>\r\n <StatLabel>Completed Credits</StatLabel>\r\n <StatNumber color=\"blue.600\">{stats.completedCredits}/{stats.totalCredits}</StatNumber>\r\n </Stat>\r\n <Stat>\r\n <StatLabel>Average GPA</StatLabel>\r\n <StatNumber color=\"green.600\">{stats.averageGPA.toFixed(2)}</StatNumber>\r\n </Stat>\r\n <Stat>\r\n <StatLabel>Backlogs</StatLabel>\r\n <StatNumber color={stats.totalBacklogs > 0 ? \"red.600\" : \"green.600\"}>\r\n {stats.totalBacklogs}\r\n </StatNumber>\r\n </Stat>\r\n </SimpleGrid>\r\n </CardBody>\r\n </Card>\r\n\r\n {/* Course Table */}\r\n <Card>\r\n <CardBody>\r\n <Heading size=\"md\" mb={4} color=\"purple.700\">Course History</Heading>\r\n <SimpleGrid columns={{ base: 1, md: 3 }} spacing={4} mb={4}>\r\n <Box>\r\n <Text mb={2} fontSize=\"sm\" fontWeight=\"medium\">Search Courses</Text>\r\n <Input\r\n placeholder=\"Search by course code, name, or department...\"\r\n value={searchTerm}\r\n onChange={(e) => setSearchTerm(e.target.value)}\r\n />\r\n </Box>\r\n <Box>\r\n <Text mb={2} fontSize=\"sm\" fontWeight=\"medium\">Filter by Semester</Text>\r\n <Select value={selectedSemester} onChange={(e) => setSelectedSemester(e.target.value)}>\r\n <option value=\"all\">All Semesters</option>\r\n {[1, 2, 3, 4, 5, 6, 7, 8].map(sem => (\r\n <option key={sem} value={sem}>Semester {sem}</option>\r\n ))}\r\n </Select>\r\n </Box>\r\n <Box>\r\n <Text mb={2} fontSize=\"sm\" fontWeight=\"medium\">Filter by Department</Text>\r\n <Select value={selectedDepartment} onChange={(e) => setSelectedDepartment(e.target.value)}>\r\n <option value=\"all\">All Departments</option>\r\n {getUniqueValues('dept_acronym').map(dept => (\r\n <option key={`dept-${dept}`} value={dept}>{dept}</option>\r\n ))}\r\n </Select>\r\n </Box>\r\n </SimpleGrid>\r\n\r\n <Table variant=\"simple\">\r\n <Thead>\r\n <Tr>\r\n <Th>Course Code</Th>\r\n <Th>Course Name</Th>\r\n <Th>Department</Th>\r\n <Th>Semester</Th>\r\n <Th>Credits</Th>\r\n <Th>Grade</Th>\r\n <Th>Status</Th>\r\n <Th>Source</Th>\r\n </Tr>\r\n </Thead>\r\n <Tbody>\r\n {filteredCourses.length > 0 ? (\r\n filteredCourses.map((course) => (\r\n <Tr key={course.id}>\r\n <Td fontWeight=\"medium\">{course.course.course_code}</Td>\r\n <Td>{course.course.course_name}</Td>\r\n <Td>{course.course.dept_acronym}</Td>\r\n <Td>{course.semester_number}</Td>\r\n <Td>{course.course.credits}</Td>\r\n <Td>\r\n <Badge colorScheme={getGradeColor(course.grade)}>\r\n {course.grade}\r\n </Badge>\r\n </Td>\r\n <Td>\r\n <Badge \r\n colorScheme={course.status === 'completed' ? 'green' : 'red'}\r\n variant=\"subtle\"\r\n >\r\n {course.status}\r\n </Badge>\r\n {course.is_backlog && (\r\n <Badge colorScheme=\"red\" ml={2} size=\"sm\">Backlog</Badge>\r\n )}\r\n </Td>\r\n <Td>\r\n <Badge \r\n colorScheme={course.is_transcript_verified ? 'green' : 'blue'}\r\n variant=\"subtle\"\r\n >\r\n {course.is_transcript_verified ? 'Transcript' : 'Manual'}\r\n </Badge>\r\n </Td>\r\n </Tr>\r\n ))\r\n ) : (\r\n <Tr>\r\n <Td colSpan={8} textAlign=\"center\" py={8}>\r\n <VStack spacing={2}>\r\n <Text color=\"gray.500\">No courses found</Text>\r\n <Text fontSize=\"sm\" color=\"gray.400\">\r\n Try adjusting your search filters or upload a transcript\r\n </Text>\r\n </VStack>\r\n </Td>\r\n </Tr>\r\n )}\r\n </Tbody>\r\n </Table>\r\n </CardBody>\r\n </Card>\r\n\r\n </VStack>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default CourseHistoryPanel; ","import React, { useState, useEffect } from 'react';\r\nimport {\r\n Box,\r\n VStack,\r\n HStack,\r\n Heading,\r\n Text,\r\n Button,\r\n Flex,\r\n SimpleGrid,\r\n Badge,\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n useToast,\r\n Alert,\r\n AlertIcon,\r\n AlertTitle,\r\n AlertDescription,\r\n Skeleton,\r\n Divider,\r\n Tag,\r\n TagLabel,\r\n TagLeftIcon,\r\n IconButton,\r\n useDisclosure,\r\n Modal,\r\n ModalOverlay,\r\n ModalContent,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n ModalCloseButton,\r\n Table,\r\n Thead,\r\n Tbody,\r\n Tr,\r\n Th,\r\n Td,\r\n Tooltip,\r\n useColorModeValue\r\n} from '@chakra-ui/react';\r\nimport { \r\n Calendar, \r\n Clock, \r\n Book, \r\n Edit3, \r\n Trash2, \r\n Plus,\r\n CheckCircle,\r\n AlertCircle,\r\n RefreshCw,\r\n ExternalLink\r\n} from 'lucide-react';\r\nimport { supabase } from '../../../lib/supabase';\r\nimport { useAuth } from '../../../lib/contexts/AuthContext';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\ninterface CurrentSemesterCourse {\r\n course_id: string;\r\n course_code: string;\r\n course_name: string;\r\n credits: number;\r\n schedule: Array<{\r\n day: string;\r\n start_time: string;\r\n end_time: string;\r\n room?: string;\r\n }>;\r\n enrollment_date: string;\r\n}\r\n\r\ninterface CurrentSemesterData {\r\n courses: CurrentSemesterCourse[];\r\n total_credits: number;\r\n total_courses: number;\r\n credit_limit: number;\r\n last_updated: string;\r\n clash_checked: boolean;\r\n}\r\n\r\nconst CurrentSemesterPanel: React.FC = () => {\r\n const [currentSemesterData, setCurrentSemesterData] = useState<CurrentSemesterData | null>(null);\r\n const [loading, setLoading] = useState(true);\r\n const { session } = useAuth();\r\n const toast = useToast();\r\n const navigate = useNavigate();\r\n const { isOpen, onOpen, onClose } = useDisclosure();\r\n const [selectedCourse, setSelectedCourse] = useState<CurrentSemesterCourse | null>(null);\r\n\r\n const bgColor = useColorModeValue('white', 'gray.800');\r\n const borderColor = useColorModeValue('gray.200', 'gray.700');\r\n\r\n useEffect(() => {\r\n if (session?.user?.id) {\r\n fetchCurrentSemesterCourses();\r\n }\r\n }, [session?.user?.id]);\r\n\r\n const fetchCurrentSemesterCourses = async () => {\r\n try {\r\n setLoading(true);\r\n \r\n const { data: userData, error } = await supabase\r\n .from('users')\r\n .select('current_semester_courses')\r\n .eq('id', session?.user?.id)\r\n .single();\r\n\r\n if (error) throw error;\r\n\r\n setCurrentSemesterData(userData?.current_semester_courses || null);\r\n } catch (error: any) {\r\n console.error('Error fetching current semester courses:', error);\r\n toast({\r\n title: 'Error fetching courses',\r\n description: error.message,\r\n status: 'error',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n const handleRemoveCourse = async (courseId: string) => {\r\n if (!currentSemesterData) return;\r\n\r\n try {\r\n const updatedCourses = currentSemesterData.courses.filter(\r\n course => course.course_id !== courseId\r\n );\r\n \r\n const updatedData = {\r\n ...currentSemesterData,\r\n courses: updatedCourses,\r\n total_courses: updatedCourses.length,\r\n total_credits: updatedCourses.reduce((sum, course) => sum + course.credits, 0),\r\n last_updated: new Date().toISOString()\r\n };\r\n\r\n const { error } = await supabase\r\n .from('users')\r\n .update({ current_semester_courses: updatedData })\r\n .eq('id', session?.user?.id);\r\n\r\n if (error) throw error;\r\n\r\n setCurrentSemesterData(updatedData);\r\n toast({\r\n title: 'Course removed',\r\n description: 'Course has been removed from your current semester',\r\n status: 'success',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n } catch (error: any) {\r\n console.error('Error removing course:', error);\r\n toast({\r\n title: 'Error removing course',\r\n description: error.message,\r\n status: 'error',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n }\r\n };\r\n\r\n const handleClearAllCourses = async () => {\r\n try {\r\n const { error } = await supabase\r\n .from('users')\r\n .update({ current_semester_courses: null })\r\n .eq('id', session?.user?.id);\r\n\r\n if (error) throw error;\r\n\r\n setCurrentSemesterData(null);\r\n toast({\r\n title: 'All courses cleared',\r\n description: 'All courses have been removed from your current semester',\r\n status: 'success',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n } catch (error: any) {\r\n console.error('Error clearing courses:', error);\r\n toast({\r\n title: 'Error clearing courses',\r\n description: error.message,\r\n status: 'error',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n }\r\n };\r\n\r\n const getCreditLimitColor = () => {\r\n if (!currentSemesterData) return 'gray';\r\n const { total_credits, credit_limit } = currentSemesterData;\r\n if (total_credits < 12) return 'red';\r\n if (total_credits >= credit_limit) return 'orange';\r\n return 'blue';\r\n };\r\n\r\n const formatSchedule = (schedule: CurrentSemesterCourse['schedule']) => {\r\n if (!schedule || schedule.length === 0) return 'No schedule';\r\n return schedule.map(slot => \r\n `${slot.day} ${slot.start_time}-${slot.end_time}${slot.room ? ` (${slot.room})` : ''}`\r\n ).join(', ');\r\n };\r\n\r\n const viewCourseDetails = (course: CurrentSemesterCourse) => {\r\n setSelectedCourse(course);\r\n onOpen();\r\n };\r\n\r\n if (loading) {\r\n return (\r\n <VStack spacing={4} align=\"stretch\">\r\n <Skeleton height=\"60px\" />\r\n <SimpleGrid columns={{ base: 1, md: 2 }} spacing={4}>\r\n <Skeleton height=\"120px\" />\r\n <Skeleton height=\"120px\" />\r\n </SimpleGrid>\r\n </VStack>\r\n );\r\n }\r\n\r\n if (!currentSemesterData || currentSemesterData.courses.length === 0) {\r\n return (\r\n <VStack spacing={6} align=\"center\" py={8}>\r\n <Box textAlign=\"center\">\r\n <Calendar size={48} className=\"mx-auto mb-4 text-gray-400\" />\r\n <Heading size=\"md\" mb={2} color=\"gray.600\">\r\n No Current Semester Courses\r\n </Heading>\r\n <Text color=\"gray.500\" mb={4}>\r\n You haven't selected any courses for the current semester yet.\r\n </Text>\r\n <Button\r\n colorScheme=\"purple\"\r\n leftIcon={<Plus size={16} />}\r\n onClick={() => navigate('/tt-clash-checker')}\r\n >\r\n Select Courses\r\n </Button>\r\n </Box>\r\n </VStack>\r\n );\r\n }\r\n\r\n return (\r\n <VStack spacing={6} align=\"stretch\">\r\n {/* Header with summary */}\r\n <Card bg={bgColor} borderColor={borderColor}>\r\n <CardHeader pb={2}>\r\n <Flex justify=\"space-between\" align=\"center\" wrap=\"wrap\" gap={4}>\r\n <Heading size=\"md\">Current Semester Courses</Heading>\r\n <HStack spacing={3}>\r\n <Tag size=\"md\" colorScheme=\"purple\" variant=\"subtle\">\r\n <TagLeftIcon as={Calendar} />\r\n <TagLabel>{currentSemesterData.total_courses}/8 Courses</TagLabel>\r\n </Tag>\r\n <Tag size=\"md\" colorScheme={getCreditLimitColor()} variant=\"subtle\">\r\n <TagLeftIcon as={Book} />\r\n <TagLabel>\r\n {currentSemesterData.total_credits}/{currentSemesterData.credit_limit} Credits\r\n {currentSemesterData.total_credits < 12 && ' (Min: 12)'}\r\n </TagLabel>\r\n </Tag>\r\n </HStack>\r\n </Flex>\r\n </CardHeader>\r\n <CardBody pt={2}>\r\n <Flex justify=\"space-between\" align=\"center\" wrap=\"wrap\" gap={4}>\r\n <VStack align=\"start\" spacing={1}>\r\n <Text fontSize=\"sm\" color=\"gray.600\">\r\n Last Updated: {new Date(currentSemesterData.last_updated).toLocaleDateString()}\r\n </Text>\r\n <HStack>\r\n {currentSemesterData.clash_checked ? (\r\n <HStack color=\"green.500\">\r\n <CheckCircle size={14} />\r\n <Text fontSize=\"sm\">Clash Checked</Text>\r\n </HStack>\r\n ) : (\r\n <HStack color=\"orange.500\">\r\n <AlertCircle size={14} />\r\n <Text fontSize=\"sm\">Clash Check Pending</Text>\r\n </HStack>\r\n )}\r\n </HStack>\r\n </VStack>\r\n <HStack spacing={2}>\r\n <Button\r\n size=\"sm\"\r\n leftIcon={<Edit3 size={14} />}\r\n colorScheme=\"purple\"\r\n variant=\"outline\"\r\n onClick={() => navigate('/tt-clash-checker')}\r\n >\r\n Modify Courses\r\n </Button>\r\n <Button\r\n size=\"sm\"\r\n leftIcon={<RefreshCw size={14} />}\r\n variant=\"outline\"\r\n onClick={fetchCurrentSemesterCourses}\r\n >\r\n Refresh\r\n </Button>\r\n <Button\r\n size=\"sm\"\r\n leftIcon={<Trash2 size={14} />}\r\n colorScheme=\"red\"\r\n variant=\"outline\"\r\n onClick={handleClearAllCourses}\r\n >\r\n Clear All\r\n </Button>\r\n </HStack>\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n\r\n {/* Credit validation alerts */}\r\n {currentSemesterData.total_credits < 12 && (\r\n <Alert status=\"error\">\r\n <AlertIcon />\r\n <AlertTitle>Minimum Credit Requirement Not Met!</AlertTitle>\r\n <AlertDescription>\r\n You need at least 12 credits. Currently selected: {currentSemesterData.total_credits} credits.\r\n </AlertDescription>\r\n </Alert>\r\n )}\r\n\r\n {currentSemesterData.total_credits >= currentSemesterData.credit_limit && (\r\n <Alert status=\"warning\">\r\n <AlertIcon />\r\n <AlertTitle>Credit Limit Reached!</AlertTitle>\r\n <AlertDescription>\r\n You have reached your credit limit of {currentSemesterData.credit_limit} credits.\r\n </AlertDescription>\r\n </Alert>\r\n )}\r\n\r\n {/* Courses grid */}\r\n <SimpleGrid columns={{ base: 1, md: 2 }} spacing={4}>\r\n {currentSemesterData.courses.map((course, index) => (\r\n <Card \r\n key={course.course_id} \r\n bg={bgColor} \r\n borderColor={borderColor}\r\n _hover={{ shadow: 'md', transform: 'translateY(-2px)' }}\r\n transition=\"all 0.2s\"\r\n cursor=\"pointer\"\r\n onClick={() => viewCourseDetails(course)}\r\n >\r\n <CardBody>\r\n <VStack align=\"start\" spacing={3}>\r\n <Flex justify=\"space-between\" align=\"start\" w=\"full\">\r\n <Box>\r\n <Heading size=\"sm\" mb={1}>\r\n {course.course_code}\r\n </Heading>\r\n <Text fontSize=\"sm\" color=\"gray.600\" noOfLines={2}>\r\n {course.course_name}\r\n </Text>\r\n </Box>\r\n <IconButton\r\n aria-label=\"Remove course\"\r\n icon={<Trash2 size={14} />}\r\n size=\"sm\"\r\n colorScheme=\"red\"\r\n variant=\"ghost\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n handleRemoveCourse(course.course_id);\r\n }}\r\n />\r\n </Flex>\r\n \r\n <HStack spacing={4} w=\"full\">\r\n <Badge colorScheme=\"blue\" variant=\"subtle\">\r\n {course.credits} Credits\r\n </Badge>\r\n <HStack color=\"gray.500\">\r\n <Clock size={12} />\r\n <Text fontSize=\"xs\">\r\n {course.schedule?.length || 0} slots\r\n </Text>\r\n </HStack>\r\n </HStack>\r\n \r\n <Text fontSize=\"xs\" color=\"gray.500\" noOfLines={2}>\r\n {formatSchedule(course.schedule)}\r\n </Text>\r\n \r\n <Text fontSize=\"xs\" color=\"gray.400\">\r\n Added: {new Date(course.enrollment_date).toLocaleDateString()}\r\n </Text>\r\n </VStack>\r\n </CardBody>\r\n </Card>\r\n ))}\r\n </SimpleGrid>\r\n\r\n {/* Course details modal */}\r\n <Modal isOpen={isOpen} onClose={onClose} size=\"lg\">\r\n <ModalOverlay />\r\n <ModalContent>\r\n <ModalHeader>Course Details</ModalHeader>\r\n <ModalCloseButton />\r\n <ModalBody>\r\n {selectedCourse && (\r\n <VStack align=\"start\" spacing={4}>\r\n <Box>\r\n <Heading size=\"md\" mb={2}>\r\n {selectedCourse.course_code}: {selectedCourse.course_name}\r\n </Heading>\r\n <Badge colorScheme=\"blue\" size=\"lg\">\r\n {selectedCourse.credits} Credits\r\n </Badge>\r\n </Box>\r\n \r\n <Divider />\r\n \r\n <Box w=\"full\">\r\n <Heading size=\"sm\" mb={3}>Schedule</Heading>\r\n {selectedCourse.schedule && selectedCourse.schedule.length > 0 ? (\r\n <Table size=\"sm\" variant=\"simple\">\r\n <Thead>\r\n <Tr>\r\n <Th>Day</Th>\r\n <Th>Time</Th>\r\n <Th>Room</Th>\r\n </Tr>\r\n </Thead>\r\n <Tbody>\r\n {selectedCourse.schedule.map((slot, index) => (\r\n <Tr key={index}>\r\n <Td>{slot.day}</Td>\r\n <Td>{slot.start_time} - {slot.end_time}</Td>\r\n <Td>{slot.room || 'TBA'}</Td>\r\n </Tr>\r\n ))}\r\n </Tbody>\r\n </Table>\r\n ) : (\r\n <Text color=\"gray.500\">No schedule information available</Text>\r\n )}\r\n </Box>\r\n \r\n <Box>\r\n <Text fontSize=\"sm\" color=\"gray.600\">\r\n <strong>Enrollment Date:</strong> {new Date(selectedCourse.enrollment_date).toLocaleString()}\r\n </Text>\r\n </Box>\r\n </VStack>\r\n )}\r\n </ModalBody>\r\n <ModalFooter>\r\n <Button mr={3} onClick={onClose}>\r\n Close\r\n </Button>\r\n <Button\r\n colorScheme=\"red\"\r\n leftIcon={<Trash2 size={14} />}\r\n onClick={() => {\r\n if (selectedCourse) {\r\n handleRemoveCourse(selectedCourse.course_id);\r\n onClose();\r\n }\r\n }}\r\n >\r\n Remove Course\r\n </Button>\r\n </ModalFooter>\r\n </ModalContent>\r\n </Modal>\r\n </VStack>\r\n );\r\n};\r\n\r\nexport default CurrentSemesterPanel; \r\n","/// <reference types=\"vite/client\" />\r\n\r\nimport React, { useState, useEffect, useRef } from 'react';\r\nimport {\r\n Box,\r\n VStack,\r\n Heading,\r\n Text,\r\n Button,\r\n Flex,\r\n Table,\r\n Thead,\r\n Tbody,\r\n Tr,\r\n Th,\r\n Td,\r\n FormControl,\r\n FormLabel,\r\n Input,\r\n Select,\r\n useToast,\r\n useDisclosure,\r\n Modal,\r\n ModalOverlay,\r\n ModalContent,\r\n ModalHeader,\r\n ModalFooter,\r\n ModalBody,\r\n ModalCloseButton,\r\n Progress,\r\n Stat,\r\n StatLabel,\r\n StatNumber,\r\n StatHelpText,\r\n SimpleGrid,\r\n Tabs,\r\n TabList,\r\n TabPanels,\r\n TabPanel,\r\n Tab,\r\n Divider,\r\n Badge,\r\n List,\r\n ListItem,\r\n Grid,\r\n GridItem,\r\n Accordion,\r\n AccordionItem,\r\n AccordionButton,\r\n AccordionPanel,\r\n AccordionIcon,\r\n Skeleton,\r\n Alert,\r\n AlertIcon,\r\n useColorModeValue,\r\n Radio,\r\n RadioGroup,\r\n Stack,\r\n FormHelperText,\r\n HStack,\r\n Menu,\r\n MenuButton,\r\n MenuList,\r\n MenuItem,\r\n MenuDivider,\r\n IconButton,\r\n useBreakpointValue,\r\n Tooltip,\r\n ScaleFade,\r\n Center,\r\n Circle\r\n} from '@chakra-ui/react';\r\nimport { Plus, Edit2, Trash, Star, BookOpen, GraduationCap, Upload, Trash2, Check, RefreshCw, FileText, Eye, X, Download, Camera, FileDown, MoreVertical, TrendingUp, Users, Calendar, Award, AlertTriangle } from 'lucide-react';\r\nimport CurrentSemesterPanel from './CurrentSemesterPanel';\r\nimport { supabase } from '../../../lib/supabase';\r\nimport { useAuth } from '../../../lib/contexts/AuthContext';\r\nimport jsPDF from 'jspdf';\r\nimport html2canvas from 'html2canvas';\r\nimport * as pdfjsLib from 'pdfjs-dist';\r\n\r\ninterface Course {\r\n uuid: string;\r\n course_code: string;\r\n course_name: string;\r\n credits: number;\r\n dept_acronym: string;\r\n description?: string;\r\n professor_allocated?: string;\r\n}\r\n\r\ninterface UserCourse {\r\n id: string;\r\n user_id: string;\r\n course_uuid: string; // Changed from course_id\r\n course_acronym: string; // Added new field\r\n semester_number: number;\r\n grade: string;\r\n grade_point: number | null;\r\n status: string;\r\n backlog: string;\r\n is_transcript_verified: boolean;\r\n courses_iiitd: CourseDetails;\r\n}\r\n\r\ninterface CourseDetails {\r\n uuid: string;\r\n course_code: string;\r\n course_name: string;\r\n credits: number;\r\n dept_acronym: string;\r\n description: string;\r\n}\r\n\r\ninterface CourseRecord {\r\n id: string;\r\n user_id: string;\r\n course_uuid: string; // Changed from course_id\r\n course_acronym: string; // Added new field\r\n semester_number: number;\r\n grade: string;\r\n grade_point: number | null; // Updated to allow null\r\n status: string;\r\n backlog: string;\r\n is_transcript_verified: boolean;\r\n course: CourseDetails;\r\n}\r\n\r\ninterface AcademicRecord {\r\n id: string;\r\n user_id: string;\r\n semester_number: number;\r\n gpa: number;\r\n backlogs: number;\r\n total_credits: number;\r\n completed_credits: number;\r\n academic_year: string;\r\n courses: CourseRecord[];\r\n is_transcript_verified?: boolean;\r\n}\r\n\r\n// New interfaces for transcript handling\r\ninterface CourseData {\r\n course_code: string;\r\n course_name: string;\r\n course_type: string;\r\n credit: number;\r\n grade: string;\r\n grade_point: number;\r\n is_backlog?: boolean;\r\n backlog?: string; // 'Yes' or 'No'\r\n status?: string; // 'completed', 'failed', etc.\r\n}\r\n\r\ninterface TranscriptData {\r\n student_name: string;\r\n roll_number: string;\r\n program: string;\r\n semester: number;\r\n semester_type: 'regular' | 'summer';\r\n academic_year: string;\r\n sgpa: number;\r\n cgpa: number;\r\n total_credits?: number;\r\n completed_credits?: number;\r\n backlog_count?: number;\r\n backlogs?: boolean;\r\n courses: CourseData[];\r\n}\r\n\r\ninterface PostgrestError {\r\n code: string;\r\n message: string;\r\n details?: string;\r\n hint?: string;\r\n}\r\n\r\n// Move calculateGradePoint to the top level so it's accessible everywhere\r\nconst calculateGradePoint = (grade: string): number => {\r\n const gradePoints: { [key: string]: number } = {\r\n 'A+': 10, 'A-': 9,\r\n 'B+': 8, 'B-': 7, 'B': 7,\r\n 'C+': 6, 'C': 6, 'C-': 5, 'D': 4,\r\n 'F': 2,\r\n 'S': 0, // Pass grade for self-growth/community work courses\r\n 'X': 0 // Fail grade for self-growth/community work courses\r\n };\r\n return gradePoints[grade] || 0;\r\n};\r\n\r\n// Helper function to determine if a grade is passing\r\nconst isPassingGrade = (grade: string): boolean => {\r\n return ['A+', 'A-', 'B+', 'B', 'B-', 'C+', 'C-', 'D', 'S'].includes(grade);\r\n};\r\n\r\n// Helper function to determine course status and backlog based on grade\r\nconst getGradeStatus = (grade: string, courseType?: string) => {\r\n switch (grade) {\r\n case 'S':\r\n return {\r\n status: 'completed',\r\n backlog: 'No',\r\n gradePoint: null, // Changed from 0 to null\r\n isNonGraded: true\r\n };\r\n case 'X':\r\n return {\r\n status: 'failed',\r\n backlog: 'Yes',\r\n gradePoint: null, // Changed from 0 to null\r\n isNonGraded: true\r\n };\r\n case 'F':\r\n return {\r\n status: 'failed',\r\n backlog: 'Yes',\r\n gradePoint: 2,\r\n isNonGraded: false\r\n };\r\n default:\r\n return {\r\n status: 'completed',\r\n backlog: 'No',\r\n gradePoint: calculateGradePoint(grade),\r\n isNonGraded: false\r\n };\r\n }\r\n};\r\n\r\nconst AcademicRecordsPanel = () => {\r\n const [activeTab, setActiveTab] = useState(0);\r\n const [academicRecords, setAcademicRecords] = useState<AcademicRecord[]>([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [error, setError] = useState<string | null>(null);\r\n const { session } = useAuth();\r\n const toast = useToast();\r\n const { isOpen, onOpen, onClose } = useDisclosure();\r\n const [loading, setLoading] = useState(false);\r\n const [editingRecord, setEditingRecord] = useState<AcademicRecord | null>(null);\r\n const [showTranscriptModal, setShowTranscriptModal] = useState(false);\r\n \r\n const [formData, setFormData] = useState<Omit<AcademicRecord, 'id' | 'user_id'>>({\r\n semester_number: 1,\r\n academic_year: '',\r\n gpa: 0,\r\n backlogs: 0,\r\n total_credits: 0,\r\n completed_credits: 0,\r\n courses: []\r\n });\r\n\r\n const bgColor = useColorModeValue('white', 'gray.800');\r\n const borderColor = useColorModeValue('gray.200', 'gray.700');\r\n\r\n useEffect(() => {\r\n if (session?.user?.id) {\r\n fetchAcademicRecords();\r\n }\r\n }, [session?.user?.id]);\r\n\r\n const fetchAcademicRecords = async (forceRefresh = false) => {\r\n try {\r\n setIsLoading(true);\r\n setError(null);\r\n\r\n // Fetch all user semester courses with course details\r\n const { data: userCourses, error: userCoursesError } = await supabase\r\n .from('user_semester_courses')\r\n .select('id, user_id, course_uuid, course_acronym, semester_number, grade, grade_point, status, backlog, is_transcript_verified, courses_iiitd!inner(uuid, course_code, course_name, credits, dept_acronym, description)')\r\n .eq('user_id', session?.user?.id)\r\n .order('semester_number', { ascending: true });\r\n\r\n if (userCoursesError) {\r\n throw userCoursesError;\r\n }\r\n\r\n // Process each user course individually\r\n const coursesWithDetails: CourseRecord[] = [];\r\n \r\n if (userCourses && userCourses.length > 0) {\r\n for (const userCourse of userCourses as unknown as UserCourse[]) {\r\n // Skip if course_uuid is undefined\r\n if (!userCourse.course_uuid) {\r\n console.warn(`Skipping course record with undefined UUID:`, userCourse);\r\n continue;\r\n }\r\n\r\n // Calculate grade status\r\n const gradeStatus = getGradeStatus(userCourse.grade);\r\n \r\n // Create a record with course details\r\n const courseRecord: CourseRecord = {\r\n id: userCourse.id,\r\n user_id: userCourse.user_id,\r\n course_uuid: userCourse.course_uuid,\r\n course_acronym: userCourse.course_acronym || userCourse.courses_iiitd?.course_code || 'Unknown',\r\n semester_number: userCourse.semester_number,\r\n grade: userCourse.grade,\r\n grade_point: gradeStatus.gradePoint,\r\n status: gradeStatus.status,\r\n backlog: gradeStatus.backlog,\r\n is_transcript_verified: userCourse.is_transcript_verified,\r\n course: userCourse.courses_iiitd || {\r\n uuid: userCourse.course_uuid,\r\n course_code: userCourse.course_acronym || 'Unknown',\r\n course_name: 'Unknown Course',\r\n credits: 0,\r\n dept_acronym: '',\r\n description: ''\r\n }\r\n };\r\n\r\n coursesWithDetails.push(courseRecord);\r\n }\r\n }\r\n\r\n // Group courses by semester\r\n const { data: academicRecords, error: academicError } = await supabase\r\n .from('user_academic_records')\r\n .select('*')\r\n .eq('user_id', session?.user?.id)\r\n .order('semester_number', { ascending: true });\r\n\r\n if (academicError) {\r\n throw academicError;\r\n }\r\n\r\n // Map courses to their respective semesters\r\n const recordsWithCourses: AcademicRecord[] = academicRecords.map((record: any) => {\r\n const coursesForSemester = coursesWithDetails.filter(\r\n (course: CourseRecord) => course.semester_number === record.semester_number\r\n );\r\n \r\n return {\r\n ...record,\r\n courses: coursesForSemester,\r\n };\r\n });\r\n\r\n setAcademicRecords(recordsWithCourses);\r\n } catch (error) {\r\n console.error('Error fetching academic records:', error);\r\n setError('Failed to load your academic records. Please try again later.');\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const renderSkeleton = () => (\r\n <VStack spacing={4} align=\"stretch\" w=\"full\">\r\n <Skeleton height=\"40px\" width=\"200px\" />\r\n <Skeleton height=\"20px\" width=\"100%\" />\r\n <Skeleton height=\"20px\" width=\"100%\" />\r\n <Skeleton height=\"20px\" width=\"100%\" />\r\n <Grid templateColumns=\"repeat(5, 1fr)\" gap={4}>\r\n <GridItem colSpan={5}>\r\n <Skeleton height=\"40px\" />\r\n </GridItem>\r\n {[...Array(5)].map((_, i) => (\r\n <React.Fragment key={i}>\r\n <GridItem colSpan={2}>\r\n <Skeleton height=\"30px\" />\r\n </GridItem>\r\n <GridItem colSpan={2}>\r\n <Skeleton height=\"30px\" />\r\n </GridItem>\r\n <GridItem colSpan={1}>\r\n <Skeleton height=\"30px\" />\r\n </GridItem>\r\n </React.Fragment>\r\n ))}\r\n </Grid>\r\n </VStack>\r\n );\r\n\r\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement>) => {\r\n const { name, value } = e.target;\r\n setFormData(prev => ({\r\n ...prev,\r\n [name]: name === 'semester_number' || name === 'gpa' || name === 'backlogs' || \r\n name === 'total_credits' || name === 'completed_credits'\r\n ? Number(value)\r\n : value\r\n }));\r\n };\r\n\r\n const handleOpenAddModal = () => {\r\n // Set default form data for a new record\r\n const nextSemester = academicRecords.length > 0 \r\n ? Math.max(...academicRecords.map(r => r.semester_number)) + 1 \r\n : 1;\r\n \r\n setFormData({\r\n semester_number: nextSemester <= 8 ? nextSemester : 8,\r\n academic_year: new Date().getFullYear().toString(),\r\n gpa: 0,\r\n backlogs: 0,\r\n total_credits: 0,\r\n completed_credits: 0,\r\n courses: []\r\n });\r\n setEditingRecord(null);\r\n onOpen();\r\n };\r\n\r\n const handleOpenEditModal = (record: AcademicRecord) => {\r\n setFormData({\r\n semester_number: record.semester_number,\r\n academic_year: record.academic_year,\r\n gpa: record.gpa,\r\n backlogs: record.backlogs,\r\n total_credits: record.total_credits,\r\n completed_credits: record.completed_credits,\r\n courses: record.courses\r\n });\r\n setEditingRecord(record);\r\n onOpen();\r\n };\r\n\r\n const handleSubmit = async () => {\r\n setLoading(true);\r\n \r\n try {\r\n if (editingRecord) {\r\n // Update existing record\r\n const { error } = await supabase\r\n .from('user_academic_records')\r\n .update({\r\n semester_number: formData.semester_number,\r\n academic_year: formData.academic_year,\r\n gpa: formData.gpa,\r\n backlogs: formData.backlogs,\r\n total_credits: formData.total_credits,\r\n completed_credits: formData.completed_credits,\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('id', editingRecord.id);\r\n \r\n if (error) throw error;\r\n \r\n toast({\r\n title: 'Record updated',\r\n description: `Academic record for semester ${formData.semester_number} has been updated.`,\r\n status: 'success',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n } else {\r\n // Check if a record for this semester already exists\r\n const existingRecord = academicRecords.find(r => r.semester_number === formData.semester_number);\r\n \r\n if (existingRecord) {\r\n toast({\r\n title: 'Semester already exists',\r\n description: `A record for semester ${formData.semester_number} already exists.`,\r\n status: 'error',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n setLoading(false);\r\n return;\r\n }\r\n \r\n // Add new record\r\n const { error } = await supabase\r\n .from('user_academic_records')\r\n .insert({\r\n user_id: session?.user?.id,\r\n semester_number: formData.semester_number,\r\n academic_year: formData.academic_year,\r\n gpa: formData.gpa,\r\n backlogs: formData.backlogs,\r\n total_credits: formData.total_credits,\r\n completed_credits: formData.completed_credits\r\n });\r\n \r\n if (error) throw error;\r\n \r\n toast({\r\n title: 'Record added',\r\n description: `Academic record for semester ${formData.semester_number} has been added.`,\r\n status: 'success',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n }\r\n \r\n // Close modal and refresh data\r\n onClose();\r\n // Reload the page to refresh the data\r\n fetchAcademicRecords();\r\n \r\n } catch (error: any) {\r\n toast({\r\n title: 'Error',\r\n description: error.message,\r\n status: 'error',\r\n duration: 5000,\r\n isClosable: true,\r\n });\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n const handleDeleteRecord = async (id: string, semesterNumber: number) => {\r\n if (!window.confirm(`Are you sure you want to delete the record for Semester ${semesterNumber}?`)) {\r\n return;\r\n }\r\n \r\n try {\r\n const { error } = await supabase\r\n .from('user_academic_records')\r\n .delete()\r\n .eq('id', id);\r\n \r\n if (error) throw error;\r\n \r\n toast({\r\n title: 'Record deleted',\r\n description: `Academic record for semester ${semesterNumber} has been deleted.`,\r\n status: 'success',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n \r\n // Reload the page to refresh the data\r\n fetchAcademicRecords();\r\n } catch (error: any) {\r\n toast({\r\n title: 'Error',\r\n description: error.message,\r\n status: 'error',\r\n duration: 5000,\r\n isClosable: true,\r\n });\r\n }\r\n };\r\n\r\n const handleTranscriptUploadComplete = async () => {\r\n console.log('🔄 Transcript upload completed, refreshing academic records...');\r\n setLoading(true);\r\n try {\r\n // Force refresh to ensure we get the latest data\r\n await fetchAcademicRecords(true);\r\n console.log('✅ Academic records refreshed successfully');\r\n \r\n toast({\r\n title: 'Data refreshed',\r\n description: 'Academic records have been updated with the new transcript data',\r\n status: 'info',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n } catch (error) {\r\n console.error('Error refreshing academic records:', error);\r\n toast({\r\n title: 'Refresh failed',\r\n description: 'Could not refresh academic records. Please reload the page.',\r\n status: 'warning',\r\n duration: 5000,\r\n isClosable: true,\r\n });\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n // Download functionality\r\n const handleDownloadRecords = async (format: 'pdf' | 'image') => {\r\n const container = document.getElementById('semester-tiles-container');\r\n if (!container) {\r\n toast({\r\n title: 'Download failed',\r\n description: 'Could not find semester tiles to download',\r\n status: 'error',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n return;\r\n }\r\n\r\n try {\r\n const canvas = await html2canvas(container, {\r\n backgroundColor: '#f8fafc',\r\n scale: 2,\r\n useCORS: true,\r\n allowTaint: true,\r\n });\r\n\r\n if (format === 'image') {\r\n // Download as PNG\r\n const link = document.createElement('a');\r\n link.download = `academic-records-${new Date().toISOString().split('T')[0]}.png`;\r\n link.href = canvas.toDataURL();\r\n link.click();\r\n } else {\r\n // Download as PDF\r\n const pdf = new jsPDF('l', 'mm', 'a4');\r\n const imgData = canvas.toDataURL('image/png');\r\n const imgWidth = 297;\r\n const pageHeight = 210;\r\n const imgHeight = (canvas.height * imgWidth) / canvas.width;\r\n let heightLeft = imgHeight;\r\n\r\n let position = 0;\r\n\r\n pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n\r\n while (heightLeft >= 0) {\r\n position = heightLeft - imgHeight;\r\n pdf.addPage();\r\n pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n }\r\n\r\n pdf.save(`academic-records-${new Date().toISOString().split('T')[0]}.pdf`);\r\n }\r\n\r\n toast({\r\n title: 'Download successful',\r\n description: `Academic records downloaded as ${format.toUpperCase()}`,\r\n status: 'success',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n } catch (error) {\r\n console.error('Download error:', error);\r\n toast({\r\n title: 'Download failed',\r\n description: 'An error occurred while downloading',\r\n status: 'error',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n }\r\n };\r\n\r\n const handleDeleteTranscript = async (semesterNumber: number) => {\r\n try {\r\n setLoading(true);\r\n \r\n // Show confirmation dialog\r\n const confirmed = window.confirm(\r\n `Are you sure you want to delete the transcript for Semester ${semesterNumber}? This will remove all transcript-verified data for this semester.`\r\n );\r\n \r\n if (!confirmed) {\r\n setLoading(false);\r\n return;\r\n }\r\n\r\n console.log(`Attempting to delete transcript for semester ${semesterNumber}`);\r\n\r\n // Use the clean delete function\r\n const { data, error } = await supabase.rpc('delete_transcript_data_clean', {\r\n p_user_id: session?.user?.id,\r\n p_semester_number: semesterNumber\r\n });\r\n\r\n if (error) {\r\n console.error('Delete transcript error:', error);\r\n throw error;\r\n }\r\n\r\n console.log('Delete transcript response:', data);\r\n\r\n toast({\r\n title: 'Transcript deleted successfully',\r\n description: `All transcript data for Semester ${semesterNumber} has been removed.`,\r\n status: 'success',\r\n duration: 5000,\r\n isClosable: true,\r\n });\r\n\r\n // Refresh the data\r\n await fetchAcademicRecords();\r\n\r\n } catch (error: any) {\r\n console.error('Error deleting transcript:', error);\r\n toast({\r\n title: 'Error deleting transcript',\r\n description: error.message || 'Failed to delete transcript. Please try again.',\r\n status: 'error',\r\n duration: 5000,\r\n isClosable: true,\r\n });\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n return (\r\n <Box>\r\n <Tabs variant=\"enclosed\" colorScheme=\"purple\" defaultIndex={0}>\r\n <TabList mb={4}>\r\n <Tab><Flex align=\"center\" gap={2}><Calendar size={16} /> Current Semester</Flex></Tab>\r\n <Tab><Flex align=\"center\" gap={2}><BookOpen size={16} /> Past Records</Flex></Tab>\r\n </TabList>\r\n \r\n <TabPanels>\r\n <TabPanel px={0}>\r\n <CurrentSemesterPanel />\r\n </TabPanel>\r\n <TabPanel px={0}>\r\n <Flex justify=\"space-between\" align=\"center\" mb={6}>\r\n <Heading size=\"md\" color=\"purple.700\">Academic Records</Heading>\r\n <Flex gap={2}>\r\n <Button \r\n size=\"sm\" \r\n leftIcon={<Upload size={16} />} \r\n colorScheme=\"purple\" \r\n onClick={() => setShowTranscriptModal(true)}\r\n >\r\n Upload Transcript\r\n </Button>\r\n </Flex>\r\n </Flex>\r\n\r\n {/* Stats section */}\r\n <SimpleGrid columns={{ base: 1, md: 3 }} spacing={6} mb={6}>\r\n <Box p={4} bg=\"purple.50\" rounded=\"lg\" shadow=\"sm\">\r\n <Stat>\r\n <StatLabel color=\"gray.600\">Completed Semesters</StatLabel>\r\n <StatNumber fontSize=\"2xl\" color=\"purple.600\">{academicRecords.length}</StatNumber>\r\n </Stat>\r\n </Box>\r\n \r\n <Box p={4} bg=\"purple.50\" rounded=\"lg\" shadow=\"sm\">\r\n <Stat>\r\n <StatLabel color=\"gray.600\">Total Credits</StatLabel>\r\n <StatNumber fontSize=\"2xl\" color=\"purple.600\">{academicRecords.reduce((sum, record) => sum + (record.completed_credits || 0), 0)}</StatNumber>\r\n </Stat>\r\n </Box>\r\n \r\n <Box p={4} bg=\"purple.50\" rounded=\"lg\" shadow=\"sm\">\r\n <Stat>\r\n <StatLabel color=\"gray.600\">Cumulative GPA</StatLabel>\r\n <StatNumber fontSize=\"2xl\" color=\"purple.600\">{calculateCGPA(academicRecords)}</StatNumber>\r\n </Stat>\r\n </Box>\r\n </SimpleGrid>\r\n\r\n {/* Records table */}\r\n {loading ? (\r\n renderSkeleton()\r\n ) : academicRecords.length === 0 ? (\r\n <VStack spacing={4} py={8}>\r\n <Text color=\"gray.500\" fontSize=\"lg\">No academic records found</Text>\r\n <Text color=\"gray.400\" fontSize=\"sm\">Add your first semester record or upload a transcript to get started</Text>\r\n </VStack>\r\n ) : (\r\n <VStack spacing={6} align=\"stretch\">\r\n {/* Enhanced Semester Tiles Grid */}\r\n <SimpleGrid columns={{ base: 1, md: 1, lg: 2 }} spacing={6}>\r\n {academicRecords.map((record) => (\r\n <EnhancedSemesterTile \r\n key={record.id}\r\n record={record} \r\n onDelete={handleDeleteTranscript}\r\n onEdit={handleOpenEditModal}\r\n isLoading={loading}\r\n />\r\n ))}\r\n </SimpleGrid>\r\n </VStack>\r\n )}\r\n\r\n {/* Add/Edit Record Modal */}\r\n <Modal isOpen={isOpen} onClose={onClose}>\r\n <ModalOverlay />\r\n <ModalContent>\r\n <ModalHeader>\r\n {editingRecord ? 'Edit Semester Record' : 'Add Semester Record'}\r\n </ModalHeader>\r\n <ModalCloseButton />\r\n <ModalBody>\r\n <VStack spacing={4}>\r\n <FormControl>\r\n <FormLabel>Semester</FormLabel>\r\n <Select\r\n name=\"semester_number\"\r\n value={formData.semester_number}\r\n onChange={handleInputChange}\r\n >\r\n {[1, 2, 3, 4, 5, 6, 7, 8].map(num => (\r\n <option key={num} value={num}>Semester {num}</option>\r\n ))}\r\n </Select>\r\n </FormControl>\r\n \r\n <FormControl>\r\n <FormLabel>Academic Year</FormLabel>\r\n <Input\r\n name=\"academic_year\"\r\n value={formData.academic_year}\r\n onChange={handleInputChange}\r\n placeholder=\"e.g. 2023-2024\"\r\n />\r\n </FormControl>\r\n \r\n <FormControl>\r\n <FormLabel>GPA</FormLabel>\r\n <Input\r\n name=\"gpa\"\r\n type=\"number\"\r\n step=\"0.01\"\r\n min=\"0\"\r\n max=\"10\"\r\n value={formData.gpa}\r\n onChange={handleInputChange}\r\n />\r\n </FormControl>\r\n \r\n <FormControl>\r\n <FormLabel>Total Credits</FormLabel>\r\n <Input\r\n name=\"total_credits\"\r\n type=\"number\"\r\n min=\"0\"\r\n value={formData.total_credits}\r\n onChange={handleInputChange}\r\n />\r\n </FormControl>\r\n \r\n <FormControl>\r\n <FormLabel>Completed Credits</FormLabel>\r\n <Input\r\n name=\"completed_credits\"\r\n type=\"number\"\r\n min=\"0\"\r\n max={formData.total_credits}\r\n value={formData.completed_credits}\r\n onChange={handleInputChange}\r\n />\r\n </FormControl>\r\n \r\n <FormControl>\r\n <FormLabel>Backlogs</FormLabel>\r\n <Input\r\n name=\"backlogs\"\r\n type=\"number\"\r\n min=\"0\"\r\n value={formData.backlogs}\r\n onChange={handleInputChange}\r\n />\r\n </FormControl>\r\n </VStack>\r\n </ModalBody>\r\n <ModalFooter>\r\n <Button variant=\"ghost\" mr={3} onClick={onClose} isDisabled={loading}>\r\n Cancel\r\n </Button>\r\n <Button \r\n colorScheme=\"purple\" \r\n onClick={handleSubmit}\r\n isLoading={loading}\r\n >\r\n {editingRecord ? 'Save Changes' : 'Add Record'}\r\n </Button>\r\n </ModalFooter>\r\n </ModalContent>\r\n </Modal>\r\n </TabPanel>\r\n </TabPanels>\r\n </Tabs>\r\n\r\n {/* Add the transcript upload modal */}\r\n <TranscriptUploadModal \r\n isOpen={showTranscriptModal}\r\n onClose={() => setShowTranscriptModal(false)}\r\n onUploadComplete={handleTranscriptUploadComplete}\r\n />\r\n </Box>\r\n );\r\n};\r\n\r\n// Helper function to calculate CGPA\r\nconst calculateCGPA = (records: AcademicRecord[]): string => {\r\n if (records.length === 0) return '0.00';\r\n \r\n const totalCredits = records.reduce((sum, record) => sum + record.completed_credits, 0);\r\n if (totalCredits === 0) return '0.00';\r\n \r\n const weightedGPA = records.reduce((sum, record) => {\r\n return sum + (record.gpa * record.completed_credits);\r\n }, 0);\r\n \r\n return (weightedGPA / totalCredits).toFixed(2);\r\n};\r\n\r\ninterface TranscriptUploadModalProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n onUploadComplete: () => void;\r\n}\r\n\r\n// New TranscriptUploadModal Component\r\nconst TranscriptUploadModal: React.FC<TranscriptUploadModalProps> = ({ isOpen, onClose, onUploadComplete }) => {\r\n const [file, setFile] = useState<File | null>(null);\r\n const [isUploading, setIsUploading] = useState(false);\r\n const [isProcessing, setIsProcessing] = useState(false);\r\n const [processingProgress, setProcessingProgress] = useState(0);\r\n const [extractedData, setExtractedData] = useState<TranscriptData | null>(null);\r\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\r\n const [academicYear, setAcademicYear] = useState('');\r\n const [semesterNumber, setSemesterNumber] = useState(0);\r\n const [semesterType, setSemesterType] = useState<'regular' | 'summer'>('regular');\r\n const fileInputRef = React.useRef<HTMLInputElement>(null);\r\n const toast = useToast();\r\n const { session } = useAuth();\r\n const { isOpen: isPreviewOpen, onOpen: openPreview, onClose: closePreview } = useDisclosure();\r\n\r\n // Generate academic year options (last 10 years)\r\n const currentYear = new Date().getFullYear();\r\n const academicYearOptions = Array.from({ length: 10 }, (_, i) => {\r\n const startYear = currentYear - i;\r\n return `${startYear}-${startYear + 1}`;\r\n });\r\n\r\n const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n if (e.target.files && e.target.files[0]) {\r\n const selectedFile = e.target.files[0];\r\n \r\n // Validate file type (PDF)\r\n if (selectedFile.type !== 'application/pdf') {\r\n toast({\r\n title: 'Invalid file type',\r\n description: 'Please upload a PDF file',\r\n status: 'error',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n return;\r\n }\r\n \r\n // Validate file size (max 5MB)\r\n if (selectedFile.size > 5 * 1024 * 1024) {\r\n toast({\r\n title: 'File too large',\r\n description: 'Maximum file size is 5MB',\r\n status: 'error',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n return;\r\n }\r\n \r\n setFile(selectedFile);\r\n \r\n // Reset error message when new file is selected\r\n setErrorMessage(null);\r\n setExtractedData(null);\r\n }\r\n };\r\n\r\n const processTranscript = async () => {\r\n if (!file) {\r\n setErrorMessage('Please select a file');\r\n return;\r\n }\r\n \r\n if (!academicYear) {\r\n setErrorMessage('Please select the academic year');\r\n return;\r\n }\r\n \r\n if (semesterNumber === 0) {\r\n setErrorMessage('Please select the semester number');\r\n return;\r\n }\r\n \r\n console.log('🚀 Starting transcript processing...');\r\n console.log('📄 File details:', {\r\n name: file.name,\r\n type: file.type,\r\n size: file.size\r\n });\r\n console.log('📋 Form data:', {\r\n academicYear,\r\n semesterNumber,\r\n semesterType\r\n });\r\n \r\n try {\r\n setIsProcessing(true);\r\n setProcessingProgress(10);\r\n \r\n console.log('📊 Progress: 10% - Converting file to base64...');\r\n // Convert file to base64\r\n const base64Data = await fileToBase64(file);\r\n console.log('✅ File converted to base64, length:', base64Data.length);\r\n setProcessingProgress(30);\r\n \r\n console.log('📊 Progress: 30% - Calling Gemini API to extract data...');\r\n // Call Gemini API to extract data\r\n const extractedData = await extractDataFromTranscript(base64Data);\r\n console.log('✅ Data extracted from transcript:', extractedData);\r\n setProcessingProgress(70);\r\n \r\n console.log('📊 Progress: 70% - Processing and verifying extracted data...');\r\n // Process and verify extracted data\r\n const processedData = processExtractedData(extractedData);\r\n console.log('✅ Data processed and verified:', processedData);\r\n setProcessingProgress(90);\r\n \r\n // Update with user-provided information\r\n processedData.academic_year = academicYear;\r\n processedData.semester = semesterNumber;\r\n processedData.semester_type = semesterType;\r\n \r\n console.log('✅ Final processed data with user inputs:', processedData);\r\n \r\n // Set the extracted data\r\n setExtractedData(processedData);\r\n setProcessingProgress(100);\r\n \r\n console.log('🎉 Transcript processing completed successfully!');\r\n \r\n toast({\r\n title: 'Transcript processed',\r\n description: 'Please review the extracted data before saving',\r\n status: 'success',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n } catch (error) {\r\n console.error('❌ Error processing transcript:', error);\r\n setErrorMessage(`Failed to process transcript: ${error.message || 'Unknown error'}`);\r\n \r\n toast({\r\n title: 'Processing failed',\r\n description: error.message || 'Failed to process transcript',\r\n status: 'error',\r\n duration: 5000,\r\n isClosable: true,\r\n });\r\n } finally {\r\n setIsProcessing(false);\r\n }\r\n };\r\n\r\n const convertPdfToImage = async (pdfDataUrl: string): Promise<string> => {\r\n try {\r\n console.log('Converting PDF to image, data URL length:', pdfDataUrl.length);\r\n \r\n // Configure PDF.js worker properly\r\n // For production, use the CDN worker\r\n if (import.meta.env.PROD) {\r\n pdfjsLib.GlobalWorkerOptions.workerSrc = `https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.11.174/pdf.worker.min.js`;\r\n } else {\r\n // For development, disable worker completely\r\n pdfjsLib.GlobalWorkerOptions.workerSrc = '';\r\n }\r\n \r\n // Convert data URL to array buffer\r\n const base64Data = pdfDataUrl.split(',')[1];\r\n const binaryString = atob(base64Data);\r\n const bytes = new Uint8Array(binaryString.length);\r\n for (let i = 0; i < binaryString.length; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n \r\n console.log('PDF array buffer size:', bytes.length);\r\n \r\n // Load PDF document\r\n const pdf = await pdfjsLib.getDocument({\r\n data: bytes,\r\n useWorkerFetch: false,\r\n isEvalSupported: false,\r\n useSystemFonts: true,\r\n verbosity: 0, // Reduce console noise\r\n }).promise;\r\n \r\n console.log('PDF loaded successfully, pages:', pdf.numPages);\r\n \r\n // Get first page\r\n const page = await pdf.getPage(1);\r\n console.log('Got first page');\r\n \r\n // Set up canvas with high quality\r\n const scale = 2; // Higher scale for better quality\r\n const viewport = page.getViewport({ scale });\r\n const canvas = document.createElement('canvas');\r\n const context = canvas.getContext('2d');\r\n \r\n if (!context) {\r\n throw new Error('Could not get canvas context');\r\n }\r\n \r\n canvas.height = viewport.height;\r\n canvas.width = viewport.width;\r\n \r\n console.log('Canvas dimensions:', canvas.width, 'x', canvas.height);\r\n \r\n // Render PDF page to canvas\r\n const renderContext = {\r\n canvasContext: context,\r\n viewport: viewport,\r\n };\r\n \r\n await page.render(renderContext).promise;\r\n console.log('PDF page rendered to canvas');\r\n \r\n // Convert canvas to data URL\r\n const imageDataUrl = canvas.toDataURL('image/jpeg', 0.9);\r\n console.log('Converted PDF to image, result length:', imageDataUrl.length);\r\n \r\n return imageDataUrl;\r\n } catch (error) {\r\n console.error('Error converting PDF to image:', error);\r\n \r\n // Provide more specific error handling\r\n if (error instanceof Error) {\r\n if (error.message.includes('workerSrc')) {\r\n console.warn('⚠️ PDF.js worker issue detected. PDF conversion failed.');\r\n } else if (error.message.includes('Invalid PDF')) {\r\n console.warn('⚠️ Invalid PDF file detected.');\r\n } else {\r\n console.warn('⚠️ Unknown PDF conversion error:', error.message);\r\n }\r\n }\r\n \r\n // For now, let's just pass the PDF data directly to Gemini\r\n // Gemini can handle PDF files directly in some cases\r\n console.log('⚠️ PDF conversion failed, trying to pass PDF directly to Gemini...');\r\n return pdfDataUrl;\r\n }\r\n };\r\n\r\n const fileToBase64 = (file: File): Promise<string> => {\r\n return new Promise((resolve, reject) => {\r\n console.log('📄 Converting file to base64:', file.name, file.type);\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n const result = reader.result?.toString();\r\n if (result) {\r\n console.log('✅ File converted to base64, length:', result.length);\r\n console.log('📊 Data URL format:', result.substring(0, 50) + '...');\r\n \r\n // For PDFs, try to convert to image first, but fallback to direct PDF processing\r\n if (file.type === 'application/pdf') {\r\n console.log('📄 Processing PDF file...');\r\n // Try to convert PDF to image, but if it fails, pass PDF directly to Gemini\r\n convertPdfToImage(result)\r\n .then(imageDataUrl => {\r\n console.log('✅ PDF converted to image successfully');\r\n resolve(imageDataUrl);\r\n })\r\n .catch(error => {\r\n console.warn('⚠️ PDF conversion failed, passing PDF directly to Gemini:', error.message);\r\n // Pass the PDF data directly to Gemini - it can handle PDFs natively\r\n resolve(result);\r\n });\r\n } else {\r\n // For images, return the data URL as is\r\n console.log('🖼️ Processing image file directly');\r\n resolve(result);\r\n }\r\n } else {\r\n reject(new Error('Failed to convert file to base64'));\r\n }\r\n };\r\n reader.onerror = error => reject(error);\r\n });\r\n };\r\n\r\n const extractDataFromTranscript = async (base64Data: string): Promise<any> => {\r\n console.log('🔍 Starting transcript data extraction...');\r\n console.log('📊 Base64 data length:', base64Data.length);\r\n console.log('📊 Base64 data format:', base64Data.substring(0, 50) + '...');\r\n \r\n const prompt = `\r\n Analyze this academic transcript image and extract the following information in JSON format:\r\n \r\n {\r\n \"student_name\": \"Full name of the student\",\r\n \"roll_number\": \"Student roll/registration number\",\r\n \"program\": \"Degree program (e.g., BTech CSE, BTech ECE, etc.)\",\r\n \"semester\": \"Semester number\",\r\n \"semester_type\": \"regular or summer\",\r\n \"academic_year\": \"Academic year (e.g., 2022-2023)\",\r\n \"sgpa\": \"Semester GPA as number\",\r\n \"cgpa\": \"Cumulative GPA as number (if available)\",\r\n \"total_credits\": \"Total credits for the semester\",\r\n \"completed_credits\": \"Credits completed successfully\",\r\n \"backlog_count\": \"Number of backlogs/failed courses\",\r\n \"courses\": [\r\n {\r\n \"course_code\": \"Course code (e.g., CSE201A)\",\r\n \"course_name\": \"Full course name\",\r\n \"course_type\": \"Type like Core, Elective, Open Elective, etc.\",\r\n \"credit\": \"Credit value as number\",\r\n \"grade\": \"Letter grade (A+, A, A-, B+, B, B-, C+, C, C-, D+, D, F)\",\r\n \"grade_point\": \"Grade point value as number\",\r\n \"is_backlog\": \"true if this is a backlog course, false otherwise\"\r\n }\r\n ]\r\n }\r\n \r\n Important guidelines:\r\n - Extract ALL courses visible in the transcript\r\n - Ensure grade points match the institution's grading scale\r\n - Mark failed courses (grade F) appropriately\r\n - Calculate totals accurately\r\n - If any field is not clearly visible, use null or appropriate default\r\n - Ensure course codes are exact as shown in transcript\r\n - Preserve exact course names as written\r\n \r\n Return only the JSON object, no additional text.\r\n `;\r\n\r\n try {\r\n // Always use direct Gemini API calls - bypass Vercel API issues\r\n console.log('🚀 Using direct Gemini API call');\r\n const { extractTranscriptData } = await import('../../../services/geminiService');\r\n \r\n console.log('📤 Sending request to Gemini API...');\r\n const result = await extractTranscriptData(base64Data, prompt);\r\n \r\n console.log('📥 Received response from Gemini API:', result);\r\n \r\n // Validate the extracted data\r\n if (!result.courses || !Array.isArray(result.courses)) {\r\n console.error('❌ Invalid transcript data: courses array not found', result);\r\n throw new Error('Invalid transcript data: courses array not found');\r\n }\r\n\r\n console.log('✅ Found', result.courses.length, 'courses in extracted data');\r\n\r\n // Ensure required fields are present\r\n const requiredFields = ['student_name', 'semester', 'sgpa', 'courses'];\r\n for (const field of requiredFields) {\r\n if (!result[field]) {\r\n console.warn(`⚠️ Missing field in extracted data: ${field}`);\r\n } else {\r\n console.log(`✅ Field ${field}:`, result[field]);\r\n }\r\n }\r\n\r\n return result;\r\n\r\n } catch (error) {\r\n console.error('Error extracting transcript data:', error);\r\n \r\n // Provide user-friendly error messages based on error type\r\n if (error instanceof Error) {\r\n if (error.message.includes('API call failed: 401')) {\r\n throw new Error('API authentication failed. Please contact support.');\r\n } else if (error.message.includes('API call failed: 429')) {\r\n throw new Error('Too many requests. Please wait a moment and try again.');\r\n } else if (error.message.includes('API call failed: 400')) {\r\n throw new Error('Invalid image format. Please upload a clear JPEG, PNG, or WebP image.');\r\n } else if (error.message.includes('Failed to parse transcript data')) {\r\n throw new Error('Could not extract data from this transcript. Please ensure the image is clear and contains a valid academic transcript with visible course information.');\r\n } else {\r\n throw new Error(`Failed to extract transcript data: ${error.message}`);\r\n }\r\n } else {\r\n throw new Error('Failed to extract transcript data. Please ensure the image is clear and contains a valid academic transcript.');\r\n }\r\n }\r\n };\r\n\r\n const processExtractedData = (rawData: any): TranscriptData => {\r\n // Process and validate the extracted data\r\n if (!rawData.student_name || !rawData.roll_number || !rawData.courses || !Array.isArray(rawData.courses)) {\r\n throw new Error('Missing required fields in extracted data');\r\n }\r\n \r\n // Create a map to track duplicate courses\r\n const courseOccurrences: { [key: string]: number } = {};\r\n \r\n // Process courses\r\n const processedCourses = rawData.courses.map((course: any) => {\r\n // Validate course data\r\n if (!course.course_code || !course.course_name || !course.credit) {\r\n throw new Error(`Invalid course data: ${JSON.stringify(course)}`);\r\n }\r\n\r\n // Track occurrences of each course\r\n courseOccurrences[course.course_code] = (courseOccurrences[course.course_code] || 0) + 1;\r\n \r\n // For duplicate courses, append occurrence number to course code\r\n let finalCourseCode = course.course_code;\r\n if (courseOccurrences[course.course_code] > 1) {\r\n finalCourseCode = `${course.course_code}-${courseOccurrences[course.course_code]}`;\r\n }\r\n\r\n // Handle grade points for S/X grades\r\n let gradePoint: number | null = null;\r\n if (course.grade === 'S' || course.grade === 'X') {\r\n gradePoint = null;\r\n } else {\r\n // Try to parse the grade point, default to null if NaN\r\n const parsedGradePoint = parseFloat(course.grade_point);\r\n gradePoint = isNaN(parsedGradePoint) ? null : parsedGradePoint;\r\n }\r\n \r\n return {\r\n course_code: finalCourseCode,\r\n course_name: course.course_name,\r\n course_type: course.course_type || 'Unknown',\r\n credit: parseInt(course.credit) || 0,\r\n grade: course.grade,\r\n grade_point: gradePoint,\r\n is_backlog: course.grade === 'F' || course.grade === 'X',\r\n backlog: (course.grade === 'F' || course.grade === 'X') ? 'Yes' : 'No',\r\n status: (course.grade === 'F' || course.grade === 'X') ? 'failed' : 'completed'\r\n };\r\n });\r\n \r\n // Calculate SGPA excluding S/X grades\r\n const validGradeCourses = processedCourses.filter(course => \r\n course.grade_point !== null && !['S', 'X'].includes(course.grade)\r\n );\r\n \r\n const totalCredits = validGradeCourses.reduce((sum, course) => sum + course.credit, 0);\r\n const weightedGradePoints = validGradeCourses.reduce((sum, course) => \r\n sum + (course.credit * (course.grade_point || 0)), 0\r\n );\r\n \r\n const calculatedSGPA = totalCredits > 0 ? weightedGradePoints / totalCredits : 0;\r\n \r\n return {\r\n student_name: rawData.student_name,\r\n roll_number: rawData.roll_number,\r\n program: rawData.program || '',\r\n semester: 0, // This will be set by user input\r\n semester_type: 'regular', // This will be set by user input\r\n academic_year: '', // This will be set by user input\r\n sgpa: calculatedSGPA,\r\n cgpa: parseFloat(rawData.cgpa) || 0,\r\n courses: processedCourses\r\n };\r\n };\r\n\r\n const saveTranscript = async () => {\r\n if (!extractedData || !file || !session?.user?.id) {\r\n setErrorMessage('Missing required data');\r\n return;\r\n }\r\n \r\n try {\r\n setIsUploading(true);\r\n \r\n // Debug log to see the data structure\r\n console.log('Extracted data before saving:', extractedData);\r\n \r\n // Convert file to ArrayBuffer for storage\r\n const arrayBuffer = await file.arrayBuffer();\r\n const fileBytes = new Uint8Array(arrayBuffer);\r\n \r\n // Calculate credit-related information\r\n const totalCredits = extractedData.courses.reduce((sum, course) => sum + course.credit, 0);\r\n const earnedCredits = extractedData.courses\r\n .filter(course => course.grade !== 'F')\r\n .reduce((sum, course) => sum + course.credit, 0);\r\n const backlogCount = extractedData.courses.filter(course => course.grade === 'F').length;\r\n \r\n // Create complete transcript data object with all fields\r\n const transcriptData = {\r\n user_id: session.user.id,\r\n student_name: extractedData.student_name,\r\n roll_number: extractedData.roll_number,\r\n semester: extractedData.semester,\r\n semester_type: extractedData.semester_type,\r\n academic_year: extractedData.academic_year,\r\n is_summer_term: extractedData.semester_type === 'summer',\r\n program: extractedData.program,\r\n sgpa: extractedData.sgpa,\r\n cgpa: extractedData.cgpa,\r\n credits_registered: totalCredits,\r\n credits_earned: earnedCredits,\r\n backlog_count: backlogCount,\r\n verification_status: 'verified',\r\n original_file_path: file.name,\r\n file_type: file.type,\r\n courses: extractedData.courses,\r\n file_data: fileBytes\r\n };\r\n \r\n // Log the data for debugging\r\n console.log('Complete transcript data being sent:', {\r\n ...transcriptData,\r\n file_data: '[Binary data]', // Don't log binary data\r\n courses: `[${extractedData.courses.length} courses]`\r\n });\r\n \r\n // Insert the complete transcript data\r\n const { error: basicError } = await supabase\r\n .from('transcripts')\r\n .insert([transcriptData]);\r\n \r\n if (basicError) {\r\n console.error('Supabase error details:', basicError);\r\n \r\n // More specific error messages based on error codes\r\n if (basicError.code === '23514') {\r\n throw new Error(`Database constraint violation: ${basicError.message}. Please check that the transcript data is correctly formatted.`);\r\n } else if (basicError.code === '42702') {\r\n throw new Error(`Column reference is ambiguous: ${basicError.message}. This is likely due to a field name conflict in the database.`);\r\n } else if (basicError.code === '42703') {\r\n throw new Error(`Column does not exist: ${basicError.message}. Please check field names match the database schema.`);\r\n }\r\n \r\n throw basicError;\r\n }\r\n\r\n console.log('✅ Transcript data inserted successfully');\r\n\r\n // Now insert/update the academic record\r\n const academicRecordData = {\r\n user_id: session.user.id,\r\n semester_number: extractedData.semester,\r\n academic_year: extractedData.academic_year,\r\n gpa: extractedData.sgpa,\r\n backlogs: backlogCount,\r\n total_credits: totalCredits,\r\n completed_credits: earnedCredits\r\n };\r\n\r\n console.log('📊 Inserting academic record:', academicRecordData);\r\n\r\n const { error: academicError } = await supabase\r\n .from('user_academic_records')\r\n .upsert([academicRecordData], {\r\n onConflict: 'user_id,semester_number'\r\n });\r\n\r\n if (academicError) {\r\n console.error('Error inserting academic record:', academicError);\r\n throw new Error(`Failed to save academic record: ${academicError.message}`);\r\n }\r\n\r\n console.log('✅ Academic record inserted successfully');\r\n\r\n // Now insert individual courses\r\n console.log('📚 Processing individual courses...');\r\n \r\n for (const course of extractedData.courses) {\r\n console.log(`📖 Processing course: ${course.course_code} - ${course.course_name}`);\r\n \r\n // Extract clean course code (remove everything after the first dash if it's too long)\r\n let cleanCourseCode = course.course_code;\r\n if (cleanCourseCode.length > 10) {\r\n // Extract just the course code part (e.g., \"CSE201\" from \"CSE201-Advanced Programming-Lecture-\")\r\n const match = cleanCourseCode.match(/^([A-Z]{2,4}\\d{3})/);\r\n if (match) {\r\n cleanCourseCode = match[1];\r\n }\r\n }\r\n \r\n console.log(`🔧 Using clean course code: ${cleanCourseCode} (original: ${course.course_code})`);\r\n \r\n // Try different approaches to find the course in the database\r\n let existingCourse: { uuid: string; course_code: string } | null = null;\r\n let courseCheckError: PostgrestError | null = null;\r\n \r\n try {\r\n // Approach 1: Try exact match on course_code\r\n const exactMatchResult = await supabase\r\n .from('courses_iiitd')\r\n .select('uuid, course_code, course_name')\r\n .eq('course_code', cleanCourseCode)\r\n .maybeSingle();\r\n \r\n if (exactMatchResult.data) {\r\n existingCourse = {\r\n uuid: exactMatchResult.data.uuid,\r\n course_code: exactMatchResult.data.course_code\r\n };\r\n console.log(`✅ Found exact match for course ${cleanCourseCode}:`, existingCourse);\r\n } else if (exactMatchResult.error && exactMatchResult.error.code !== 'PGRST116') {\r\n courseCheckError = exactMatchResult.error;\r\n console.warn(`⚠️ Error in exact match for ${cleanCourseCode}:`, exactMatchResult.error);\r\n } else {\r\n // Approach 2: Try case-insensitive match\r\n const caseInsensitiveResult = await supabase\r\n .from('courses_iiitd')\r\n .select('uuid, course_code, course_name')\r\n .ilike('course_code', cleanCourseCode)\r\n .maybeSingle();\r\n \r\n if (caseInsensitiveResult.data) {\r\n existingCourse = {\r\n uuid: caseInsensitiveResult.data.uuid,\r\n course_code: caseInsensitiveResult.data.course_code\r\n };\r\n console.log(`✅ Found case-insensitive match for course ${cleanCourseCode}:`, existingCourse);\r\n } else if (caseInsensitiveResult.error && caseInsensitiveResult.error.code !== 'PGRST116') {\r\n courseCheckError = caseInsensitiveResult.error;\r\n console.warn(`⚠️ Error in case-insensitive match for ${cleanCourseCode}:`, caseInsensitiveResult.error);\r\n } else {\r\n // Approach 3: Try partial match (contains)\r\n const partialMatchResult = await supabase\r\n .from('courses_iiitd')\r\n .select('uuid, course_code, course_name')\r\n .ilike('course_code', `%${cleanCourseCode}%`)\r\n .maybeSingle();\r\n \r\n if (partialMatchResult.data) {\r\n existingCourse = {\r\n uuid: partialMatchResult.data.uuid,\r\n course_code: partialMatchResult.data.course_code\r\n };\r\n console.log(`✅ Found partial match for course ${cleanCourseCode}:`, existingCourse);\r\n } else if (partialMatchResult.error && partialMatchResult.error.code !== 'PGRST116') {\r\n courseCheckError = partialMatchResult.error;\r\n console.warn(`⚠️ Error in partial match for ${cleanCourseCode}:`, partialMatchResult.error);\r\n }\r\n }\r\n }\r\n } catch (matchError) {\r\n console.error(`❌ Exception during course matching for ${cleanCourseCode}:`, matchError);\r\n }\r\n\r\n if (courseCheckError && courseCheckError.code !== 'PGRST116') {\r\n console.error(`❌ Error checking course ${cleanCourseCode}:`, courseCheckError);\r\n continue;\r\n }\r\n\r\n if (!existingCourse) {\r\n console.log(`⚠️ Course ${cleanCourseCode} not found in courses_iiitd table. Creating a placeholder entry.`);\r\n \r\n // Create a placeholder course entry\r\n const placeholderCourse = {\r\n course_code: cleanCourseCode,\r\n course_name: course.course_name,\r\n dept_acronym: cleanCourseCode.substring(0, 3), // Extract department from code (e.g., \"CSE\")\r\n description: \"Placeholder entry created from transcript\",\r\n credits: course.credit,\r\n professor_allocated: null,\r\n semester: extractedData.semester,\r\n semester_type: extractedData.semester_type\r\n };\r\n \r\n const { data: newCourse, error: createError } = await supabase\r\n .from('courses_iiitd')\r\n .insert(placeholderCourse)\r\n .select('uuid, course_code')\r\n .single();\r\n \r\n if (createError) {\r\n console.error(`❌ Error creating placeholder course:`, createError);\r\n continue;\r\n }\r\n \r\n if (!newCourse?.uuid) {\r\n console.error(`❌ Failed to create placeholder course for ${cleanCourseCode}`);\r\n continue;\r\n }\r\n \r\n existingCourse = {\r\n uuid: newCourse.uuid,\r\n course_code: newCourse.course_code\r\n };\r\n console.log(`✅ Created placeholder course:`, existingCourse);\r\n }\r\n\r\n // Use the UUID from courses_iiitd for the foreign key\r\n const courseId = existingCourse.uuid;\r\n\r\n // Inside saveTranscript function, update the course insertion logic\r\n const userCourseData = {\r\n user_id: session.user.id,\r\n course_uuid: courseId,\r\n course_acronym: existingCourse.course_code,\r\n semester_number: extractedData.semester,\r\n grade: course.grade,\r\n grade_point: course.grade_point,\r\n backlog: course.grade === 'F' || course.grade === 'X' ? 'Yes' : 'No',\r\n status: course.grade === 'F' || course.grade === 'X' ? 'failed' : 'completed',\r\n is_transcript_verified: true\r\n };\r\n\r\n console.log(`📝 Inserting user course record:`, userCourseData);\r\n\r\n // Use upsert with proper unique constraint\r\n const { error: userCourseError } = await supabase\r\n .from('user_semester_courses')\r\n .upsert([userCourseData], {\r\n onConflict: 'user_id,course_uuid,semester_number'\r\n });\r\n\r\n if (userCourseError) {\r\n console.error('Error inserting/updating user course:', userCourseError);\r\n throw new Error(`Failed to save course ${courseId}: ${userCourseError.message}`);\r\n }\r\n\r\n console.log(`✅ Course ${courseId} saved successfully`);\r\n }\r\n\r\n console.log('🎉 All courses processed successfully!');\r\n \r\n toast({\r\n title: 'Transcript saved',\r\n description: 'Your transcript has been successfully processed and saved',\r\n status: 'success',\r\n duration: 5000,\r\n isClosable: true,\r\n });\r\n \r\n // Clear the form after successful upload\r\n setFile(null);\r\n setExtractedData(null);\r\n setAcademicYear('');\r\n setSemesterNumber(0);\r\n setSemesterType('regular');\r\n if (fileInputRef.current) {\r\n fileInputRef.current.value = '';\r\n }\r\n \r\n // Close modal first\r\n onClose();\r\n \r\n // Add a small delay to ensure database changes are propagated, then refresh\r\n setTimeout(() => {\r\n console.log('🔄 Refreshing academic records after transcript upload...');\r\n onUploadComplete();\r\n }, 500);\r\n \r\n } catch (error) {\r\n console.error('Error saving transcript:', error);\r\n setErrorMessage(`Failed to save transcript: ${error.message || 'Unknown error'}`);\r\n \r\n toast({\r\n title: 'Save failed',\r\n description: error.message || 'Failed to save transcript',\r\n status: 'error',\r\n duration: 5000,\r\n isClosable: true,\r\n });\r\n } finally {\r\n setIsUploading(false);\r\n }\r\n };\r\n\r\n return (\r\n <Modal isOpen={isOpen} onClose={onClose} size=\"xl\">\r\n <ModalOverlay />\r\n <ModalContent>\r\n <ModalHeader>Upload Semester Transcript</ModalHeader>\r\n <ModalCloseButton />\r\n <ModalBody>\r\n <VStack spacing={6} align=\"stretch\">\r\n {errorMessage && (\r\n <Alert status=\"error\" borderRadius=\"md\">\r\n <AlertIcon />\r\n {errorMessage}\r\n </Alert>\r\n )}\r\n \r\n <FormControl isRequired>\r\n <FormLabel>Transcript File</FormLabel>\r\n <Input\r\n type=\"file\"\r\n accept=\".pdf,.jpg,.jpeg,.png,.webp\"\r\n onChange={handleFileChange}\r\n ref={fileInputRef}\r\n disabled={isProcessing || isUploading}\r\n />\r\n <FormHelperText>\r\n Upload your semester transcript (PDF, JPEG, PNG, or WebP format, max 5MB)\r\n <br />\r\n <Text fontSize=\"xs\" color=\"orange.500\" mt={1}>\r\n Note: If PDF processing fails, please convert your PDF to a JPEG or PNG image first\r\n </Text>\r\n </FormHelperText>\r\n </FormControl>\r\n \r\n <HStack spacing={4}>\r\n <FormControl isRequired>\r\n <FormLabel>Academic Year</FormLabel>\r\n <Select\r\n placeholder=\"Select academic year\"\r\n value={academicYear}\r\n onChange={(e) => setAcademicYear(e.target.value)}\r\n disabled={isProcessing || isUploading}\r\n >\r\n {academicYearOptions.map((year) => (\r\n <option key={year} value={year}>{year}</option>\r\n ))}\r\n </Select>\r\n </FormControl>\r\n \r\n <FormControl isRequired>\r\n <FormLabel>Semester</FormLabel>\r\n <Select\r\n placeholder=\"Select semester\"\r\n value={semesterNumber || ''}\r\n onChange={(e) => setSemesterNumber(parseInt(e.target.value))}\r\n disabled={isProcessing || isUploading}\r\n >\r\n <optgroup label=\"Regular Semesters\">\r\n {[1, 2, 3, 4, 5, 6, 7, 8].map((sem) => (\r\n <option key={`reg-${sem}`} value={sem}>Semester {sem}</option>\r\n ))}\r\n </optgroup>\r\n <optgroup label=\"Summer Terms\">\r\n {[1, 2, 3].map((sem) => (\r\n <option key={`sum-${sem}`} value={sem}>Summer Term {sem}</option>\r\n ))}\r\n </optgroup>\r\n </Select>\r\n </FormControl>\r\n </HStack>\r\n \r\n <FormControl isRequired>\r\n <FormLabel>Semester Type</FormLabel>\r\n <RadioGroup\r\n value={semesterType}\r\n onChange={(value: 'regular' | 'summer') => setSemesterType(value)}\r\n >\r\n <Stack direction=\"row\" spacing={5}>\r\n <Radio value=\"regular\" isDisabled={isProcessing || isUploading}>Regular Semester</Radio>\r\n <Radio value=\"summer\" isDisabled={isProcessing || isUploading}>Summer Term</Radio>\r\n </Stack>\r\n </RadioGroup>\r\n </FormControl>\r\n \r\n {isProcessing && (\r\n <Box>\r\n <Text mb={2}>Processing transcript...</Text>\r\n <Progress value={processingProgress} size=\"sm\" colorScheme=\"purple\" borderRadius=\"md\" />\r\n </Box>\r\n )}\r\n \r\n {extractedData && (\r\n <Box borderWidth=\"1px\" borderRadius=\"md\" p={4} bg=\"gray.50\">\r\n <VStack align=\"stretch\" spacing={3}>\r\n <HStack justifyContent=\"space-between\">\r\n <Text fontWeight=\"bold\">{extractedData.student_name}</Text>\r\n <Badge colorScheme=\"purple\">{extractedData.roll_number}</Badge>\r\n </HStack>\r\n \r\n <HStack spacing={4}>\r\n <Text fontSize=\"sm\">Program: {extractedData.program}</Text>\r\n <Text fontSize=\"sm\">SGPA: {extractedData.sgpa.toFixed(2)}</Text>\r\n <Text fontSize=\"sm\">CGPA: {extractedData.cgpa.toFixed(2)}</Text>\r\n </HStack>\r\n \r\n <Text fontSize=\"sm\" fontWeight=\"medium\">\r\n {extractedData.courses.length} courses extracted\r\n </Text>\r\n \r\n <Button size=\"sm\" leftIcon={<Eye size={16} />} onClick={openPreview} variant=\"outline\">\r\n Preview Extracted Courses\r\n </Button>\r\n </VStack>\r\n </Box>\r\n )}\r\n </VStack>\r\n </ModalBody>\r\n <ModalFooter>\r\n <Button variant=\"outline\" mr={3} onClick={onClose}>\r\n Cancel\r\n </Button>\r\n {!extractedData ? (\r\n <Button\r\n leftIcon={<FileText size={16} />}\r\n colorScheme=\"purple\"\r\n onClick={processTranscript}\r\n isLoading={isProcessing}\r\n loadingText=\"Processing\"\r\n isDisabled={!file || isUploading}\r\n >\r\n Process Transcript\r\n </Button>\r\n ) : (\r\n <Button\r\n leftIcon={<Check size={16} />}\r\n colorScheme=\"green\"\r\n onClick={saveTranscript}\r\n isLoading={isUploading}\r\n loadingText=\"Saving\"\r\n >\r\n Save Transcript\r\n </Button>\r\n )}\r\n </ModalFooter>\r\n </ModalContent>\r\n \r\n {/* Course Preview Modal */}\r\n <Modal isOpen={isPreviewOpen} onClose={closePreview} size=\"xl\" scrollBehavior=\"inside\">\r\n <ModalOverlay />\r\n <ModalContent>\r\n <ModalHeader>Extracted Course Data</ModalHeader>\r\n <ModalCloseButton />\r\n <ModalBody>\r\n {extractedData && (\r\n <Table size=\"sm\" variant=\"simple\">\r\n <Thead>\r\n <Tr>\r\n <Th>Course Code</Th>\r\n <Th>Course Name</Th>\r\n <Th>Type</Th>\r\n <Th isNumeric>Credits</Th>\r\n <Th>Grade</Th>\r\n <Th isNumeric>Points</Th>\r\n </Tr>\r\n </Thead>\r\n <Tbody>\r\n {extractedData.courses.map((course, index) => (\r\n <Tr key={index}>\r\n <Td>{course.course_code}</Td>\r\n <Td>{course.course_name}</Td>\r\n <Td>{course.course_type}</Td>\r\n <Td isNumeric>{course.credit}</Td>\r\n <Td>\r\n <Badge \r\n colorScheme={course.grade === 'F' ? 'red' : \r\n (course.grade_point >= 8 ? 'green' : \r\n course.grade_point >= 6 ? 'blue' : \r\n course.grade_point >= 4 ? 'orange' : 'red')}\r\n >\r\n {course.grade}\r\n </Badge>\r\n </Td>\r\n <Td isNumeric>{course.grade_point}</Td>\r\n </Tr>\r\n ))}\r\n </Tbody>\r\n </Table>\r\n )}\r\n </ModalBody>\r\n <ModalFooter>\r\n <Button colorScheme=\"blue\" mr={3} onClick={closePreview}>\r\n Close\r\n </Button>\r\n </ModalFooter>\r\n </ModalContent>\r\n </Modal>\r\n </Modal>\r\n );\r\n};\r\n\r\n// Enhanced Semester Tile Component with Hover Effects\r\ninterface EnhancedSemesterTileProps {\r\n record: AcademicRecord;\r\n onDelete: (semesterNumber: number) => void;\r\n onEdit: (record: AcademicRecord) => void;\r\n isLoading: boolean;\r\n}\r\n\r\nconst EnhancedSemesterTile: React.FC<EnhancedSemesterTileProps> = ({ \r\n record, \r\n onDelete, \r\n onEdit, \r\n isLoading \r\n}) => {\r\n const [isHovered, setIsHovered] = useState(false);\r\n const isMobile = useBreakpointValue({ base: true, md: false });\r\n const toast = useToast();\r\n\r\n const handleMouseEnter = () => {\r\n if (!isMobile) {\r\n setIsHovered(true);\r\n }\r\n };\r\n\r\n const handleMouseLeave = () => {\r\n if (!isMobile) {\r\n setIsHovered(false);\r\n }\r\n };\r\n\r\n const toggleCourses = () => {\r\n if (isMobile) {\r\n setIsHovered(!isHovered);\r\n }\r\n };\r\n\r\n const getGradeColor = (grade: string) => {\r\n const gradeColors: { [key: string]: string } = {\r\n 'A+': 'green', 'A': 'green', 'A-': 'green',\r\n 'B+': 'blue', 'B': 'blue', 'B-': 'blue',\r\n 'C+': 'yellow', 'C': 'yellow', 'C-': 'yellow',\r\n 'D': 'orange', 'F': 'red'\r\n };\r\n return gradeColors[grade] || 'gray';\r\n };\r\n \r\n // Helper function to get completed courses count (status completed + not F grade)\r\n const getCompletedCoursesCount = () => {\r\n return record.courses.filter(course => \r\n course.status === 'completed' && course.grade !== 'F'\r\n ).length;\r\n };\r\n\r\n // Helper function to get current semester courses count\r\n const getCurrentSemesterCoursesCount = () => {\r\n // Count courses in this specific semester record\r\n return record.courses.filter(course => course.semester_number === record.semester_number).length;\r\n };\r\n\r\n const handleDownloadTile = async (format: 'pdf' | 'image') => {\r\n try {\r\n if (format === 'pdf') {\r\n // Generate structured PDF content\r\n const pdf = new jsPDF('p', 'mm', 'a4');\r\n const pageWidth = pdf.internal.pageSize.getWidth();\r\n const margin = 20;\r\n let yPosition = margin;\r\n\r\n // Title\r\n pdf.setFontSize(20);\r\n pdf.setFont('helvetica', 'bold');\r\n pdf.text(`Semester ${record.semester_number} - ${record.academic_year}`, margin, yPosition);\r\n yPosition += 15;\r\n\r\n // SGPA and Credits\r\n pdf.setFontSize(12);\r\n pdf.setFont('helvetica', 'normal');\r\n pdf.text(`SGPA: ${record.gpa.toFixed(2)}`, margin, yPosition);\r\n pdf.text(`Credits: ${record.completed_credits}`, margin + 60, yPosition);\r\n yPosition += 10;\r\n\r\n // Summary\r\n const completedCount = getCompletedCoursesCount();\r\n const failedCount = record.courses.filter(course => course.grade === 'F').length;\r\n pdf.text(`Completed: ${completedCount} | Failed: ${failedCount} | Total: ${record.courses.length}`, margin, yPosition);\r\n yPosition += 15;\r\n\r\n // Course Details Header\r\n pdf.setFont('helvetica', 'bold');\r\n pdf.text('Course Details:', margin, yPosition);\r\n yPosition += 10;\r\n\r\n // Table Headers\r\n pdf.setFontSize(10);\r\n pdf.text('Course Code', margin, yPosition);\r\n pdf.text('Course Name', margin + 30, yPosition);\r\n pdf.text('Credits', margin + 100, yPosition);\r\n pdf.text('Grade', margin + 130, yPosition);\r\n pdf.text('Status', margin + 150, yPosition);\r\n yPosition += 5;\r\n\r\n // Draw line under headers\r\n pdf.line(margin, yPosition, pageWidth - margin, yPosition);\r\n yPosition += 5;\r\n\r\n // Course Data\r\n pdf.setFont('helvetica', 'normal');\r\n record.courses.forEach((course, index) => {\r\n if (yPosition > 270) { // New page if needed\r\n pdf.addPage();\r\n yPosition = margin;\r\n }\r\n\r\n pdf.text(course.course?.course_code || 'N/A', margin, yPosition);\r\n pdf.text(course.course?.course_name || 'N/A', margin + 30, yPosition, { maxWidth: 65 });\r\n pdf.text((course.course?.credits || 0).toString(), margin + 100, yPosition);\r\n pdf.text(course.grade || 'N/A', margin + 130, yPosition);\r\n pdf.text(course.status || 'N/A', margin + 150, yPosition);\r\n yPosition += 8;\r\n });\r\n\r\n // Footer\r\n yPosition += 10;\r\n pdf.setFontSize(8);\r\n pdf.setFont('helvetica', 'italic');\r\n pdf.text(`Generated on ${new Date().toLocaleDateString()}`, margin, yPosition);\r\n\r\n pdf.save(`semester-${record.semester_number}-${record.academic_year}.pdf`);\r\n } else {\r\n // For image format, temporarily hide hover state and capture clean tile\r\n const originalHovered = isHovered;\r\n setIsHovered(false);\r\n \r\n // Wait for state to update\r\n await new Promise(resolve => setTimeout(resolve, 100));\r\n \r\n const tileElement = document.getElementById(`semester-tile-${record.id}`);\r\n if (!tileElement) {\r\n throw new Error('Could not find semester tile');\r\n }\r\n\r\n const canvas = await html2canvas(tileElement, {\r\n backgroundColor: '#ffffff',\r\n scale: 2,\r\n useCORS: true,\r\n allowTaint: true,\r\n });\r\n\r\n // Restore original hover state\r\n setIsHovered(originalHovered);\r\n\r\n const link = document.createElement('a');\r\n link.download = `semester-${record.semester_number}-${record.academic_year}.png`;\r\n link.href = canvas.toDataURL();\r\n link.click();\r\n }\r\n\r\n toast({\r\n title: 'Download successful',\r\n description: `Semester ${record.semester_number} downloaded as ${format.toUpperCase()}`,\r\n status: 'success',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n } catch (error) {\r\n console.error('Download error:', error);\r\n toast({\r\n title: 'Download failed',\r\n description: 'An error occurred while downloading',\r\n status: 'error',\r\n duration: 3000,\r\n isClosable: true,\r\n });\r\n }\r\n };\r\n\r\n return (\r\n <Box\r\n id={`semester-tile-${record.id}`}\r\n onMouseEnter={handleMouseEnter}\r\n onMouseLeave={handleMouseLeave}\r\n onClick={isMobile ? toggleCourses : undefined}\r\n cursor={isMobile ? 'pointer' : 'default'}\r\n position=\"relative\"\r\n transition=\"all 0.4s cubic-bezier(0.4, 0, 0.2, 1)\"\r\n transform={isHovered ? 'translateY(-8px)' : 'translateY(0)'}\r\n _hover={{ zIndex: 10 }}\r\n >\r\n <Box\r\n bg=\"white\"\r\n borderRadius=\"2xl\"\r\n border=\"2px solid\"\r\n borderColor={isHovered ? \"purple.300\" : \"gray.200\"}\r\n shadow={isHovered ? \"2xl\" : \"lg\"}\r\n overflow=\"hidden\"\r\n position=\"relative\"\r\n height=\"320px\"\r\n transition=\"all 0.2s ease\"\r\n background={isHovered ? \r\n \"linear-gradient(135deg, #8b9cf7 0%, #a78bfa 100%)\" : \r\n \"white\"\r\n }\r\n color={isHovered ? \"white\" : \"inherit\"}\r\n >\r\n\r\n {/* Action Buttons */}\r\n <Flex\r\n position=\"absolute\"\r\n top={4}\r\n right={4}\r\n gap={2}\r\n zIndex={20}\r\n opacity={isHovered ? 1 : 0}\r\n transition=\"opacity 0.3s ease\"\r\n >\r\n <Menu>\r\n <Tooltip label=\"Download\">\r\n <MenuButton\r\n as={IconButton}\r\n aria-label=\"Download\"\r\n icon={<Download size={14} />}\r\n size=\"sm\"\r\n variant=\"solid\"\r\n colorScheme=\"whiteAlpha\"\r\n bg=\"whiteAlpha.300\"\r\n color=\"white\"\r\n _hover={{ bg: 'whiteAlpha.400' }}\r\n />\r\n </Tooltip>\r\n <MenuList \r\n bg=\"white\" \r\n border=\"1px solid\" \r\n borderColor=\"gray.300\" \r\n shadow=\"xl\"\r\n zIndex={1000}\r\n minW=\"160px\"\r\n >\r\n <MenuItem \r\n icon={<FileDown size={14} />}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n handleDownloadTile('pdf');\r\n }}\r\n color=\"gray.700\"\r\n _hover={{ bg: 'gray.100', color: 'gray.900' }}\r\n _focus={{ bg: 'gray.100', color: 'gray.900' }}\r\n >\r\n Download as PDF\r\n </MenuItem>\r\n <MenuItem \r\n icon={<Camera size={14} />}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n handleDownloadTile('image');\r\n }}\r\n color=\"gray.700\"\r\n _hover={{ bg: 'gray.100', color: 'gray.900' }}\r\n _focus={{ bg: 'gray.100', color: 'gray.900' }}\r\n >\r\n Download as Image\r\n </MenuItem>\r\n </MenuList>\r\n </Menu>\r\n \r\n <Tooltip label=\"Edit Record\">\r\n <IconButton\r\n aria-label=\"Edit Record\"\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n colorScheme=\"whiteAlpha\"\r\n color=\"white\"\r\n icon={<Edit2 size={14} />}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n onEdit(record);\r\n }}\r\n _hover={{ bg: 'whiteAlpha.200' }}\r\n />\r\n </Tooltip>\r\n {record.is_transcript_verified && (\r\n <Tooltip label=\"Delete Transcript\">\r\n <IconButton\r\n aria-label=\"Delete Transcript\"\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n colorScheme=\"red\"\r\n color=\"white\"\r\n icon={<Trash2 size={14} />}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n onDelete(record.semester_number);\r\n }}\r\n isLoading={isLoading}\r\n _hover={{ bg: 'red.500' }}\r\n />\r\n </Tooltip>\r\n )}\r\n </Flex>\r\n\r\n <Box p={6} position=\"relative\" zIndex={2} height=\"100%\">\r\n {!isHovered ? (\r\n // Default State - Creative Layout\r\n <VStack spacing={4} height=\"100%\" justify=\"space-between\">\r\n {/* Header Section */}\r\n <VStack spacing={3} width=\"100%\">\r\n <Flex justify=\"space-between\" align=\"center\" width=\"100%\">\r\n <VStack align=\"start\" spacing={1}>\r\n <Heading \r\n size=\"2xl\" \r\n color={isHovered ? \"white\" : \"purple.700\"}\r\n fontWeight=\"900\"\r\n letterSpacing=\"-1px\"\r\n >\r\n Semester {record.semester_number}\r\n </Heading>\r\n <HStack spacing={2}>\r\n <Circle size=\"8px\" bg={isHovered ? \"purple.200\" : \"purple.400\"} />\r\n <Text \r\n fontSize=\"sm\" \r\n color={isHovered ? \"purple.100\" : \"gray.600\"}\r\n fontWeight=\"medium\"\r\n >\r\n {record.academic_year}\r\n </Text>\r\n </HStack>\r\n </VStack>\r\n \r\n {record.is_transcript_verified && (\r\n <Badge \r\n colorScheme={isHovered ? \"green\" : \"green\"} \r\n variant={isHovered ? \"solid\" : \"subtle\"}\r\n fontSize=\"xs\" \r\n px={3} \r\n py={1}\r\n borderRadius=\"full\"\r\n >\r\n <Check size={12} style={{ marginRight: '4px' }} />\r\n Verified\r\n </Badge>\r\n )}\r\n </Flex>\r\n\r\n {/* Stats Grid */}\r\n <SimpleGrid columns={2} spacing={4} width=\"100%\">\r\n <Box \r\n textAlign=\"center\" \r\n p={4} \r\n bg={isHovered ? \"whiteAlpha.200\" : \"purple.50\"}\r\n borderRadius=\"xl\" \r\n border=\"1px solid\"\r\n borderColor={isHovered ? \"whiteAlpha.300\" : \"purple.100\"}\r\n >\r\n <Text \r\n fontSize=\"3xl\" \r\n fontWeight=\"bold\" \r\n color={isHovered ? \"white\" : \"purple.600\"}\r\n >\r\n {record.gpa.toFixed(2)}\r\n </Text>\r\n <Text \r\n fontSize=\"sm\" \r\n color={isHovered ? \"purple.100\" : \"purple.500\"} \r\n fontWeight=\"medium\"\r\n >\r\n SGPA\r\n </Text>\r\n </Box>\r\n\r\n <Box \r\n textAlign=\"center\" \r\n p={4} \r\n bg={isHovered ? \"whiteAlpha.200\" : \"blue.50\"}\r\n borderRadius=\"xl\"\r\n border=\"1px solid\"\r\n borderColor={isHovered ? \"whiteAlpha.300\" : \"blue.100\"}\r\n >\r\n <Text \r\n fontSize=\"3xl\" \r\n fontWeight=\"bold\" \r\n color={isHovered ? \"white\" : \"blue.600\"}\r\n >\r\n {record.completed_credits}\r\n </Text>\r\n <Text \r\n fontSize=\"sm\" \r\n color={isHovered ? \"blue.100\" : \"blue.500\"} \r\n fontWeight=\"medium\"\r\n >\r\n Credits\r\n </Text>\r\n </Box>\r\n </SimpleGrid>\r\n </VStack>\r\n\r\n {/* Bottom Section */}\r\n <VStack spacing={3} width=\"100%\">\r\n <HStack justify=\"space-between\" width=\"100%\">\r\n <HStack spacing={2}>\r\n <BookOpen size={16} color={isHovered ? \"white\" : \"gray\"} />\r\n <Text \r\n fontSize=\"sm\" \r\n color={isHovered ? \"white\" : \"gray.600\"} \r\n fontWeight=\"medium\"\r\n >\r\n {getCompletedCoursesCount()} Completed\r\n </Text>\r\n </HStack>\r\n \r\n <HStack spacing={2}>\r\n <TrendingUp size={16} color={isHovered ? \"white\" : \"gray\"} />\r\n <Text \r\n fontSize=\"sm\" \r\n color={isHovered ? \"white\" : \"gray.600\"} \r\n fontWeight=\"medium\"\r\n >\r\n {getCurrentSemesterCoursesCount()} Current\r\n </Text>\r\n </HStack>\r\n </HStack>\r\n\r\n {record.backlogs > 0 && (\r\n <Badge \r\n colorScheme=\"red\" \r\n fontSize=\"sm\" \r\n px={3} \r\n py={1}\r\n borderRadius=\"full\"\r\n >\r\n <AlertTriangle size={12} style={{ marginRight: '4px' }} />\r\n {record.backlogs} Backlog{record.backlogs > 1 ? 's' : ''}\r\n </Badge>\r\n )}\r\n\r\n <Text \r\n fontSize=\"xs\" \r\n color={isHovered ? \"purple.200\" : \"gray.400\"}\r\n textAlign=\"center\"\r\n fontStyle=\"italic\"\r\n >\r\n {isMobile ? \"Tap to view courses\" : \"Hover to view courses\"}\r\n </Text>\r\n </VStack>\r\n </VStack>\r\n ) : (\r\n // Expanded State - Course Details\r\n <VStack spacing={3} height=\"100%\" align=\"stretch\">\r\n {/* Header */}\r\n <VStack spacing={2} align=\"stretch\">\r\n <HStack spacing={2} align=\"center\">\r\n <Heading size=\"md\" color=\"white\">\r\n Semester {record.semester_number}\r\n </Heading>\r\n <Badge colorScheme=\"purple\" variant=\"solid\" fontSize=\"xs\" px={2}>\r\n {record.gpa.toFixed(2)} SGPA\r\n </Badge>\r\n </HStack>\r\n <Text fontSize=\"xs\" color=\"purple.100\">\r\n {record.academic_year} • {getCompletedCoursesCount()} Completed • {record.courses.filter(course => course.grade === 'F').length} Failed\r\n </Text>\r\n </VStack>\r\n\r\n {/* Course List */}\r\n <VStack \r\n spacing={1} \r\n flex={1}\r\n overflowY=\"auto\" \r\n width=\"100%\"\r\n css={{\r\n '&::-webkit-scrollbar': {\r\n width: '3px',\r\n },\r\n '&::-webkit-scrollbar-thumb': {\r\n background: 'rgba(255,255,255,0.3)',\r\n borderRadius: '12px',\r\n },\r\n }}\r\n >\r\n {record.courses.length > 0 ? (\r\n record.courses.map((course, index) => (\r\n <Box\r\n key={course.id || index}\r\n bg=\"whiteAlpha.200\"\r\n p={2}\r\n borderRadius=\"md\"\r\n width=\"100%\"\r\n border=\"1px solid\"\r\n borderColor=\"whiteAlpha.300\"\r\n >\r\n <Flex justify=\"space-between\" align=\"center\">\r\n <VStack align=\"start\" spacing={0} flex={1}>\r\n <Text \r\n fontSize=\"xs\" \r\n fontWeight=\"bold\" \r\n color=\"white\"\r\n noOfLines={1}\r\n >\r\n {course.course?.course_name || course.course_acronym || 'Unknown Course'}\r\n </Text>\r\n <Text \r\n fontSize=\"10px\" \r\n color=\"purple.100\"\r\n fontFamily=\"mono\"\r\n >\r\n {course.course?.course_code || course.course_acronym || 'CODE'}\r\n </Text>\r\n </VStack>\r\n \r\n <VStack spacing={0} align=\"end\">\r\n <HStack spacing={1}>\r\n <Badge \r\n colorScheme={getGradeColor(course.grade)}\r\n variant=\"solid\"\r\n fontSize=\"xs\"\r\n px={2}\r\n >\r\n {course.grade}\r\n {course.grade_point !== null && !['S', 'X'].includes(course.grade) && ` (${course.grade_point})`}\r\n </Badge>\r\n </HStack>\r\n <Text fontSize=\"9px\" color=\"purple.100\" fontWeight=\"medium\">\r\n {course.course?.credits || 'N/A'} credits\r\n </Text>\r\n </VStack>\r\n </Flex>\r\n </Box>\r\n ))\r\n ) : (\r\n <Center flex={1}>\r\n <VStack spacing={1}>\r\n <BookOpen size={20} color=\"rgba(255,255,255,0.5)\" />\r\n <Text fontSize=\"xs\" color=\"whiteAlpha.700\">\r\n No courses\r\n </Text>\r\n </VStack>\r\n </Center>\r\n )}\r\n </VStack>\r\n\r\n {isMobile && (\r\n <Button\r\n size=\"xs\"\r\n variant=\"ghost\"\r\n colorScheme=\"whiteAlpha\"\r\n color=\"white\"\r\n onClick={toggleCourses}\r\n width=\"100%\"\r\n >\r\n Show Less\r\n </Button>\r\n )}\r\n </VStack>\r\n )}\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default AcademicRecordsPanel; ","import React from 'react';\r\nimport { \r\n Box, \r\n Text, \r\n Flex, \r\n useColorModeValue, \r\n Avatar, \r\n Icon,\r\n Badge,\r\n HStack,\r\n Tooltip,\r\n keyframes,\r\n Button,\r\n VStack\r\n} from '@chakra-ui/react';\r\nimport { ChatMessage as ChatMessageType } from '../../../types/chat';\r\nimport { Bot, User, Clock, Sparkles, Star, Brain, Eye, RefreshCw } from 'lucide-react';\r\nimport { format } from 'date-fns';\r\nimport { motion } from 'framer-motion';\r\n\r\nconst MotionBox = motion(Box);\r\nconst MotionFlex = motion(Flex);\r\n\r\ninterface ChatMessageProps {\r\n message: ChatMessageType;\r\n onOptionSelect?: (option: string) => void;\r\n}\r\n\r\nconst ChatMessage: React.FC<ChatMessageProps> = ({ message, onOptionSelect }) => {\r\n if (!message) return null;\r\n \r\n const { sender, text, timestamp, options } = message;\r\n const isAssistant = sender === 'assistant';\r\n \r\n // Animations\r\n const pulse = keyframes`\r\n 0% { box-shadow: 0 0 0 0 rgba(159, 122, 234, 0.4) }\r\n 70% { box-shadow: 0 0 0 10px rgba(159, 122, 234, 0) }\r\n 100% { box-shadow: 0 0 0 0 rgba(159, 122, 234, 0) }\r\n `;\r\n \r\n // Colors\r\n const assistantBgColor = useColorModeValue('gray.100', 'gray.700');\r\n const userBgColor = useColorModeValue('purple.50', 'purple.900');\r\n const assistantTextColor = useColorModeValue('gray.800', 'white');\r\n const userTextColor = useColorModeValue('gray.800', 'white');\r\n const assistantAvatarBg = useColorModeValue('purple.100', 'purple.900');\r\n const userAvatarBg = useColorModeValue('blue.100', 'blue.900');\r\n const timeColor = useColorModeValue('gray.500', 'gray.400');\r\n const assistantNameColor = useColorModeValue('purple.600', 'purple.300');\r\n const userNameColor = useColorModeValue('blue.600', 'blue.300');\r\n const userGradient = useColorModeValue(\r\n 'linear-gradient(135deg, purple.50, blue.50)', \r\n 'linear-gradient(135deg, purple.900, blue.900)'\r\n );\r\n const bubbleShadow = useColorModeValue('md', 'dark-lg');\r\n const brainIconColor = useColorModeValue('purple.500', 'purple.200');\r\n const userIconColor = useColorModeValue('blue.500', 'blue.200');\r\n const assistantBorderColor = useColorModeValue('gray.200', 'gray.600');\r\n \r\n const formatTime = (date?: Date) => {\r\n if (!date) return '';\r\n try {\r\n return format(date, 'h:mm a');\r\n } catch (error) {\r\n console.error('Error formatting date:', error);\r\n return '';\r\n }\r\n };\r\n \r\n const formattedContent = (content: string | undefined | null) => {\r\n if (!content) return '';\r\n \r\n try {\r\n // Add emoji support\r\n let formattedText = content;\r\n \r\n // Common emoji replacements (expanded)\r\n const emojiMap: {[key: string]: string} = {\r\n ':)': '😊',\r\n ':D': '😃',\r\n ':(': '😔',\r\n ':|': '😐',\r\n ';)': '😉',\r\n '<3': '❤️',\r\n ':+1:': '👍',\r\n ':thumbsup:': '👍',\r\n ':star:': '⭐',\r\n ':bulb:': '💡',\r\n ':book:': '📚',\r\n ':computer:': '💻',\r\n ':rocket:': '🚀',\r\n ':sparkles:': '✨',\r\n ':fire:': '🔥',\r\n ':heart:': '❤️',\r\n ':check:': '✅',\r\n ':x:': '❌',\r\n ':thinking:': '🤔',\r\n ':tada:': '🎉',\r\n ':clap:': '👏',\r\n ':wave:': '👋',\r\n ':eyes:': '👀',\r\n ':question:': '❓',\r\n ':warning:': '⚠️',\r\n ':time:': '⏰',\r\n ':idea:': '💡',\r\n ':trophy:': '🏆',\r\n ':brain:': '🧠',\r\n ':target:': '🎯',\r\n ':graduation:': '🎓',\r\n ':zap:': '⚡',\r\n ':key:': '🔑',\r\n ':point:': '👉',\r\n ':calendar:': '📅',\r\n ':light:': '💡',\r\n };\r\n \r\n // Replace emoji codes with actual emojis\r\n Object.keys(emojiMap).forEach(code => {\r\n formattedText = formattedText.replace(\r\n new RegExp(code.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'g'), \r\n emojiMap[code]\r\n );\r\n });\r\n \r\n // Handle markdown-style formatting\r\n // Bold text\r\n formattedText = formattedText.replace(/\\*\\*(.*?)\\*\\*/g, '<strong>$1</strong>');\r\n \r\n // Highlight important keywords and terms\r\n const highlightTerms = [\r\n { term: /\\b(important|critical|essential|key|vital)\\b/gi, color: 'red.500' },\r\n { term: /\\b(good|great|excellent|amazing|awesome)\\b/gi, color: 'green.500' },\r\n { term: /\\b(recommend|suggestion|advise|propose)\\b/gi, color: 'blue.500' },\r\n { term: /\\b(course|courses|learning|education|study|studies)\\b/gi, color: 'purple.500' },\r\n { term: /\\b(goal|goals|objective|objectives|target|targets)\\b/gi, color: 'orange.500' },\r\n ];\r\n \r\n // Apply text highlighting for special terms\r\n let processedContent = formattedText.split('\\n').map((line, lineIndex) => {\r\n highlightTerms.forEach(({ term, color }) => {\r\n line = line.replace(term, (match) => `<span style=\"color: var(--chakra-colors-${color}); font-weight: 600;\">${match}</span>`);\r\n });\r\n \r\n return (\r\n <React.Fragment key={`line-${lineIndex}`}>\r\n <span dangerouslySetInnerHTML={{ __html: line }} />\r\n {lineIndex < formattedText.split('\\n').length - 1 && <br />}\r\n </React.Fragment>\r\n );\r\n });\r\n \r\n return processedContent;\r\n } catch (error) {\r\n console.error('Error formatting content:', error);\r\n return content;\r\n }\r\n };\r\n \r\n // Determine if the message is a welcome message\r\n const isWelcomeMessage = isAssistant && message.id.includes('welcome');\r\n const isSuccessMessage = isAssistant && (message.id.includes('success') || text.includes('have been saved'));\r\n const isQuestionMessage = isAssistant && message.id.includes('q-');\r\n const isOptionsMessage = isAssistant && options && options.length > 0;\r\n \r\n // Handle option selection\r\n const handleOptionClick = (optionValue: string) => {\r\n if (onOptionSelect) {\r\n onOptionSelect(optionValue);\r\n }\r\n };\r\n \r\n return (\r\n <MotionFlex\r\n direction={isAssistant ? 'row' : 'row-reverse'}\r\n align=\"flex-start\"\r\n mb={4}\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3 }}\r\n >\r\n <MotionBox\r\n initial={{ scale: 0.8 }}\r\n animate={{ scale: 1 }}\r\n transition={{ duration: 0.2 }}\r\n >\r\n <Avatar \r\n size=\"sm\" \r\n bg={isAssistant ? assistantAvatarBg : userAvatarBg}\r\n icon={\r\n isAssistant \r\n ? <Brain size={16} color={brainIconColor} /> \r\n : <User size={16} color={userIconColor} />\r\n }\r\n mr={isAssistant ? 2 : 0}\r\n ml={isAssistant ? 0 : 2}\r\n sx={isWelcomeMessage || isSuccessMessage ? {\r\n animation: `${pulse} 2s infinite`\r\n } : {}}\r\n />\r\n </MotionBox>\r\n \r\n <Flex \r\n direction=\"column\" \r\n maxW={{ base: \"75%\", md: \"70%\" }}\r\n align={isAssistant ? \"flex-start\" : \"flex-end\"}\r\n >\r\n <HStack spacing={2} mb={1} ml={isAssistant ? 1 : 0} mr={isAssistant ? 0 : 1}>\r\n <Text \r\n fontSize=\"xs\" \r\n fontWeight=\"medium\" \r\n color={isAssistant ? assistantNameColor : userNameColor}\r\n >\r\n {isAssistant ? 'AI Assistant 🤖' : 'You 👤'}\r\n </Text>\r\n \r\n <Tooltip label={timestamp instanceof Date ? format(timestamp, 'MMM d, yyyy h:mm a') : ''}>\r\n <Box display=\"inline-block\">\r\n <Flex align=\"center\">\r\n <Icon as={Clock} boxSize={3} color={timeColor} mr={1} />\r\n <Text fontSize=\"xs\" color={timeColor}>\r\n {formatTime(timestamp instanceof Date ? timestamp : new Date(timestamp))}\r\n </Text>\r\n </Flex>\r\n </Box>\r\n </Tooltip>\r\n </HStack>\r\n \r\n <MotionBox\r\n whileHover={{ scale: 1.02 }}\r\n transition={{ duration: 0.2 }}\r\n width=\"100%\"\r\n >\r\n <Box\r\n bg={isAssistant ? assistantBgColor : userBgColor}\r\n bgGradient={!isAssistant ? userGradient : undefined}\r\n color={isAssistant ? assistantTextColor : userTextColor}\r\n px={4}\r\n py={3}\r\n borderRadius=\"lg\"\r\n borderTopLeftRadius={isAssistant ? 0 : undefined}\r\n borderTopRightRadius={!isAssistant ? 0 : undefined}\r\n boxShadow={bubbleShadow}\r\n position=\"relative\"\r\n _after={isAssistant ? {\r\n content: '\"\"',\r\n position: 'absolute',\r\n top: 0,\r\n left: '-8px',\r\n borderWidth: '8px',\r\n borderStyle: 'solid',\r\n borderColor: `transparent ${assistantBgColor} transparent transparent`\r\n } : undefined}\r\n _before={!isAssistant ? {\r\n content: '\"\"',\r\n position: 'absolute',\r\n top: 0,\r\n right: '-8px',\r\n borderWidth: '8px',\r\n borderStyle: 'solid',\r\n borderColor: `transparent transparent transparent ${userBgColor}`\r\n } : undefined}\r\n backdropFilter=\"blur(8px)\"\r\n border={isAssistant ? '1px solid' : undefined}\r\n borderColor={isAssistant ? assistantBorderColor : undefined}\r\n className={isSuccessMessage ? 'success-message' : ''}\r\n >\r\n <Box fontSize=\"sm\" lineHeight=\"tall\">\r\n {formattedContent(text)}\r\n </Box>\r\n \r\n {/* Render options if present */}\r\n {isOptionsMessage && (\r\n <VStack mt={5} spacing={4} align=\"stretch\">\r\n <Text fontWeight=\"bold\" mb={2} fontSize=\"md\" color={assistantNameColor}>\r\n Please select an option:\r\n </Text>\r\n {options.map((option, index) => (\r\n <Button\r\n key={`option-${index}`}\r\n size=\"lg\"\r\n height=\"60px\"\r\n colorScheme={index === 0 ? \"blue\" : \"purple\"}\r\n variant={index === 0 ? \"solid\" : \"outline\"}\r\n leftIcon={index === 0 ? <Eye size={20} /> : <RefreshCw size={20} />}\r\n onClick={() => handleOptionClick(option.value)}\r\n borderRadius=\"md\"\r\n boxShadow=\"md\"\r\n _hover={{ \r\n transform: 'translateY(-3px)', \r\n boxShadow: 'lg',\r\n bg: index === 0 ? 'blue.500' : 'rgba(128, 90, 213, 0.1)'\r\n }}\r\n transition=\"all 0.3s ease\"\r\n position=\"relative\"\r\n overflow=\"hidden\"\r\n _after={{\r\n content: '\"\"',\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%',\r\n background: index === 0 \r\n ? 'linear-gradient(135deg, rgba(66, 153, 225, 0.4) 0%, rgba(66, 153, 225, 0) 50%)'\r\n : 'linear-gradient(135deg, rgba(128, 90, 213, 0.2) 0%, rgba(128, 90, 213, 0) 50%)',\r\n zIndex: 0\r\n }}\r\n >\r\n <Text zIndex={1} fontWeight=\"bold\">\r\n {option.label}\r\n </Text>\r\n </Button>\r\n ))}\r\n </VStack>\r\n )}\r\n </Box>\r\n </MotionBox>\r\n </Flex>\r\n </MotionFlex>\r\n );\r\n};\r\n\r\nexport default ChatMessage; ","import React, { useState, useEffect, useRef } from 'react';\r\nimport { \r\n Box, \r\n Button, \r\n VStack, \r\n HStack, \r\n Text, \r\n Checkbox, \r\n CheckboxGroup,\r\n SimpleGrid,\r\n Flex,\r\n Tag,\r\n TagLabel,\r\n useColorModeValue,\r\n Wrap,\r\n WrapItem,\r\n Radio,\r\n RadioGroup,\r\n Heading,\r\n Badge,\r\n Icon,\r\n Tooltip,\r\n Grid,\r\n Divider,\r\n ScaleFade,\r\n SlideFade,\r\n useTheme,\r\n Progress,\r\n IconButton,\r\n Collapse,\r\n Card,\r\n CardBody,\r\n useBreakpointValue,\r\n keyframes\r\n} from '@chakra-ui/react';\r\nimport { \r\n Check, \r\n AlertCircle, \r\n ChevronRight, \r\n Send, \r\n X, \r\n CheckCircle2, \r\n Square, \r\n CheckSquare,\r\n Filter,\r\n Sparkles,\r\n Star,\r\n Zap,\r\n ThumbsUp,\r\n CheckCircle\r\n} from 'lucide-react';\r\nimport { motion } from 'framer-motion';\r\n\r\nconst MotionBox = motion(Box);\r\nconst MotionButton = motion(Button);\r\nconst MotionFlex = motion(Flex);\r\n\r\nexport interface Option {\r\n id: string;\r\n label: string;\r\n value: string;\r\n description?: string;\r\n icon?: React.ReactNode;\r\n}\r\n\r\ninterface OptionsSelectorProps {\r\n question?: string;\r\n options?: Option[] | string[];\r\n selectedOptions?: string[];\r\n isMultiSelect?: boolean;\r\n multiSelect?: boolean;\r\n onSelect?: (selectedValues: string[]) => void;\r\n onContinue?: () => void;\r\n subtitle?: string;\r\n isDisabled?: boolean;\r\n}\r\n\r\n// Define animations\r\nconst shimmer = keyframes`\r\n 0% { background-position: -80vw 0; }\r\n 100% { background-position: 80vw 0; }\r\n`;\r\n\r\nconst pulse = keyframes`\r\n 0% { transform: scale(1); opacity: 1; }\r\n 50% { transform: scale(1.05); opacity: 0.8; }\r\n 100% { transform: scale(1); opacity: 1; }\r\n`;\r\n\r\nconst float = keyframes`\r\n 0% { transform: translateY(0px); }\r\n 50% { transform: translateY(-10px); }\r\n 100% { transform: translateY(0px); }\r\n`;\r\n\r\nconst confetti = keyframes`\r\n 0% { transform: translateY(0) rotate(0deg); opacity: 1; }\r\n 100% { transform: translateY(-100px) rotate(720deg); opacity: 0; }\r\n`;\r\n\r\n// Confetti component for celebration effects\r\ninterface ConfettiProps {\r\n visible: boolean;\r\n}\r\n\r\nconst Confetti: React.FC<ConfettiProps> = ({ visible }) => {\r\n const colors = ['#FFC107', '#2196F3', '#E91E63', '#8BC34A', '#9C27B0'];\r\n \r\n return visible ? (\r\n <Box position=\"absolute\" top=\"0\" left=\"0\" right=\"0\" height=\"0\" overflow=\"visible\" pointerEvents=\"none\">\r\n {Array.from({ length: 50 }).map((_, i) => {\r\n const size = Math.random() * 8 + 4;\r\n const color = colors[Math.floor(Math.random() * colors.length)];\r\n const left = `${Math.random() * 100}%`;\r\n const animationDuration = `${Math.random() * 2 + 1}s`;\r\n const animationDelay = `${Math.random() * 0.5}s`;\r\n \r\n return (\r\n <Box\r\n key={`confetti-${i}-${Math.random().toString(36).substr(2, 9)}`}\r\n position=\"absolute\"\r\n top=\"0\"\r\n left={left}\r\n width={`${size}px`}\r\n height={`${size}px`}\r\n bg={color}\r\n borderRadius=\"full\"\r\n sx={{\r\n animation: `${confetti} ${animationDuration} ${animationDelay} forwards ease-out`,\r\n }}\r\n />\r\n );\r\n })}\r\n </Box>\r\n ) : null;\r\n};\r\n\r\nconst OptionsSelector: React.FC<OptionsSelectorProps> = ({\r\n question = \"Select an option\",\r\n options = [],\r\n selectedOptions = [],\r\n isMultiSelect = false,\r\n multiSelect,\r\n onSelect = () => {},\r\n onContinue = () => {},\r\n subtitle,\r\n isDisabled = false\r\n}) => {\r\n const [showConfetti, setShowConfetti] = useState(false);\r\n const [localSelectedOptions, setLocalSelectedOptions] = useState<string[]>(selectedOptions);\r\n const bgColor = useColorModeValue('white', 'gray.800');\r\n const borderColor = useColorModeValue('gray.200', 'gray.600');\r\n const selectedBgColor = useColorModeValue('blue.50', 'blue.900');\r\n const hoverBgColor = useColorModeValue('gray.50', 'gray.700');\r\n const accentColor = useColorModeValue('blue.500', 'blue.300');\r\n const textColor = useColorModeValue('gray.800', 'white');\r\n const subtitleColor = useColorModeValue('gray.600', 'gray.400');\r\n const disabledBgColor = useColorModeValue('gray.100', 'gray.700');\r\n const disabledTextColor = useColorModeValue('gray.400', 'gray.500');\r\n\r\n // Fix the useEffect to properly handle selectedOptions initialization\r\n // Using a ref to prevent infinite loops - remove dependency on localSelectedOptions\r\n const isFirstRender = useRef(true);\r\n\r\n useEffect(() => {\r\n // Initialize local state with the prop value\r\n if (isFirstRender.current) {\r\n isFirstRender.current = false;\r\n setLocalSelectedOptions(selectedOptions);\r\n return;\r\n }\r\n \r\n // When selectedOptions prop changes (e.g., reset from parent), update local state\r\n // This is critical for resetting between questions\r\n setLocalSelectedOptions(selectedOptions);\r\n }, [selectedOptions]);\r\n\r\n // Use either prop for backward compatibility\r\n const isMultiSelection = isMultiSelect || multiSelect || false;\r\n\r\n const handleOptionClick = (optionValue: string) => {\r\n if (isDisabled) return;\r\n \r\n let newSelectedOptions: string[];\r\n\r\n if (isMultiSelection) {\r\n // For multi-select, toggle the selection\r\n if (localSelectedOptions.includes(optionValue)) {\r\n newSelectedOptions = localSelectedOptions.filter(value => value !== optionValue);\r\n } else {\r\n newSelectedOptions = [...localSelectedOptions, optionValue];\r\n }\r\n } else {\r\n // For single-select, replace the selection and show confetti\r\n newSelectedOptions = [optionValue];\r\n setShowConfetti(true);\r\n setTimeout(() => setShowConfetti(false), 2000);\r\n }\r\n\r\n // Just update the local state, wait for Continue button click to submit\r\n setLocalSelectedOptions(newSelectedOptions);\r\n };\r\n\r\n // Ensure each option has a valid ID\r\n const processedOptions = options.map((option: string | Option, index) => {\r\n if (typeof option === 'string') {\r\n return {\r\n id: `option-${index}-${option.replace(/\\s+/g, '-').toLowerCase()}`,\r\n label: option,\r\n value: option\r\n };\r\n } else if (!option.id) {\r\n return {\r\n ...option,\r\n id: `option-${index}-${option.value.replace(/\\s+/g, '-').toLowerCase()}`\r\n };\r\n }\r\n return option;\r\n });\r\n\r\n // Handle the Continue button click\r\n const handleSubmit = () => {\r\n // Only submit if we have options selected and the component is enabled\r\n if (isDisabled || localSelectedOptions.length === 0) return;\r\n \r\n // Call the onSelect callback with the selected options\r\n onSelect(localSelectedOptions);\r\n };\r\n\r\n return (\r\n <Box \r\n position=\"relative\" \r\n borderRadius=\"xl\"\r\n opacity={isDisabled ? 0.7 : 1}\r\n transition=\"opacity 0.3s ease\"\r\n width=\"100%\"\r\n display=\"flex\"\r\n flexDirection=\"column\"\r\n maxHeight=\"60vh\"\r\n >\r\n <Confetti visible={showConfetti} />\r\n \r\n {/* Header Area */}\r\n <Box \r\n px={4} \r\n pt={4} \r\n bg={useColorModeValue('white', 'gray.800')}\r\n borderTopRadius=\"xl\"\r\n backgroundImage=\"radial-gradient(circle at 50% 0%, rgba(150, 100, 255, 0.1) 0%, rgba(100, 100, 255, 0.05) 25%, rgba(255, 255, 255, 0) 50%)\"\r\n >\r\n <Heading \r\n as=\"h3\" \r\n size=\"md\" \r\n mb={2}\r\n bgGradient=\"linear(to-r, blue.400, purple.500)\"\r\n bgClip=\"text\"\r\n fontWeight=\"bold\"\r\n >\r\n {question} ✨\r\n </Heading>\r\n {subtitle && (\r\n <Text color={subtitleColor} mb={2}>\r\n {subtitle}\r\n </Text>\r\n )}\r\n <Divider my={2} />\r\n </Box>\r\n \r\n {/* Scrollable Options Area */}\r\n <Box \r\n flex=\"1\" \r\n overflowY=\"auto\" \r\n px={4} \r\n py={2}\r\n css={{\r\n '&::-webkit-scrollbar': {\r\n width: '6px',\r\n },\r\n '&::-webkit-scrollbar-track': {\r\n width: '8px',\r\n background: useColorModeValue('rgba(0,0,0,0.05)', 'rgba(255,255,255,0.05)'),\r\n borderRadius: '24px',\r\n },\r\n '&::-webkit-scrollbar-thumb': {\r\n background: useColorModeValue('rgba(0,0,0,0.2)', 'rgba(255,255,255,0.2)'),\r\n borderRadius: '24px',\r\n },\r\n }}\r\n >\r\n <SimpleGrid \r\n columns={{ base: 1, md: 2 }} \r\n spacing={4}\r\n mb={2}\r\n >\r\n {processedOptions.map((option: Option) => (\r\n <MotionBox\r\n key={option.id}\r\n whileHover={!isDisabled ? { scale: 1.02 } : {}}\r\n whileTap={!isDisabled ? { scale: 0.98 } : {}}\r\n onClick={() => handleOptionClick(option.value)}\r\n bg={localSelectedOptions.includes(option.value) ? selectedBgColor : bgColor}\r\n borderWidth=\"1px\"\r\n borderColor={localSelectedOptions.includes(option.value) ? accentColor : borderColor}\r\n borderRadius=\"lg\"\r\n p={4}\r\n cursor={isDisabled ? \"not-allowed\" : \"pointer\"}\r\n _hover={!isDisabled ? { bg: localSelectedOptions.includes(option.value) ? selectedBgColor : hoverBgColor } : {}}\r\n position=\"relative\"\r\n overflow=\"hidden\"\r\n boxShadow={localSelectedOptions.includes(option.value) ? \"md\" : \"sm\"}\r\n transition=\"all 0.2s ease\"\r\n role={isMultiSelection ? \"checkbox\" : \"radio\"}\r\n aria-checked={localSelectedOptions.includes(option.value)}\r\n >\r\n <HStack spacing={3} align=\"center\">\r\n {isMultiSelection ? (\r\n <Box \r\n borderWidth=\"2px\" \r\n borderColor={localSelectedOptions.includes(option.value) ? accentColor : borderColor}\r\n borderRadius=\"md\" \r\n p={1}\r\n color={localSelectedOptions.includes(option.value) ? accentColor : \"gray.500\"}\r\n flexShrink={0}\r\n width=\"20px\"\r\n height=\"20px\"\r\n display=\"flex\"\r\n alignItems=\"center\"\r\n justifyContent=\"center\"\r\n >\r\n {localSelectedOptions.includes(option.value) ? (\r\n <Icon as={CheckSquare} boxSize={4} />\r\n ) : (\r\n <Icon as={Square} boxSize={4} />\r\n )}\r\n </Box>\r\n ) : (\r\n <Box\r\n borderWidth=\"2px\" \r\n borderRadius=\"full\" \r\n borderColor={localSelectedOptions.includes(option.value) ? accentColor : borderColor}\r\n width=\"20px\"\r\n height=\"20px\"\r\n position=\"relative\"\r\n flexShrink={0}\r\n >\r\n {localSelectedOptions.includes(option.value) && (\r\n <Box \r\n position=\"absolute\"\r\n top=\"3px\"\r\n left=\"3px\"\r\n width=\"10px\"\r\n height=\"10px\"\r\n borderRadius=\"full\"\r\n bg={accentColor}\r\n />\r\n )}\r\n </Box>\r\n )}\r\n <Text \r\n fontWeight={localSelectedOptions.includes(option.value) ? \"bold\" : \"normal\"}\r\n color={isDisabled ? disabledTextColor : textColor}\r\n fontSize=\"md\"\r\n >\r\n {option.label}\r\n </Text>\r\n </HStack>\r\n </MotionBox>\r\n ))}\r\n </SimpleGrid>\r\n </Box>\r\n \r\n {/* Fixed Footer with Continue Button */}\r\n <Box \r\n p={4} \r\n borderTop=\"1px solid\" \r\n borderColor={borderColor}\r\n bg={useColorModeValue('white', 'gray.800')}\r\n borderBottomRadius=\"xl\"\r\n position=\"sticky\"\r\n bottom={0}\r\n width=\"100%\"\r\n zIndex={5}\r\n boxShadow=\"0 -2px 10px rgba(0, 0, 0, 0.05)\"\r\n backgroundImage=\"radial-gradient(circle at 50% 100%, rgba(150, 100, 255, 0.1) 0%, rgba(100, 100, 255, 0.05) 25%, rgba(255, 255, 255, 0) 50%)\"\r\n >\r\n <Flex justify=\"space-between\" align=\"center\">\r\n <Badge colorScheme=\"purple\" fontSize=\"sm\" p={2} borderRadius=\"md\">\r\n {isMultiSelection \r\n ? `Selected ${localSelectedOptions.length} option${localSelectedOptions.length !== 1 ? 's' : ''}`\r\n : localSelectedOptions.length > 0 \r\n ? 'Selected 1 option'\r\n : 'Select an option'\r\n }\r\n </Badge>\r\n \r\n <MotionButton\r\n colorScheme=\"purple\"\r\n size=\"md\"\r\n rightIcon={<ChevronRight />}\r\n onClick={handleSubmit}\r\n isDisabled={isDisabled || localSelectedOptions.length === 0}\r\n whileHover={{ scale: 1.05 }}\r\n whileTap={{ scale: 0.95 }}\r\n px={6}\r\n fontWeight=\"bold\"\r\n borderRadius=\"full\"\r\n boxShadow=\"md\"\r\n _hover={{\r\n transform: \"translateY(-2px)\",\r\n boxShadow: \"lg\",\r\n }}\r\n >\r\n Continue\r\n </MotionButton>\r\n </Flex>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default OptionsSelector; ","import React, { useEffect, useState } from 'react';\r\nimport {\r\n Box, Heading, Text, Button, VStack, HStack, Badge, \r\n SimpleGrid, Card, CardBody, Flex, Icon, Divider,\r\n Progress, Tag, useColorModeValue, List, ListItem, ListIcon,\r\n Center, Spinner\r\n} from '@chakra-ui/react';\r\nimport { \r\n CheckCircle2, MessageSquare, BookOpen, RefreshCw, \r\n Zap, Target, User, Briefcase, Calendar, Clock, \r\n ChevronRight\r\n} from 'lucide-react';\r\nimport { useCourseRecommendation } from '../../../context/CourseRecommendationContext';\r\n\r\ninterface Course {\r\n id: string;\r\n title: string;\r\n department?: string;\r\n code?: string;\r\n credits?: number;\r\n description?: string;\r\n matchScore?: number;\r\n skills?: string[];\r\n reasons?: string[];\r\n}\r\n\r\ninterface UserPreferences {\r\n interests?: string[];\r\n goals?: string[];\r\n courseDifficulty?: string;\r\n learningStyle?: string;\r\n timeCommitment?: string;\r\n completion?: number;\r\n [key: string]: any; // Add index signature to accept any additional properties\r\n}\r\n\r\ninterface RecommendationResultsProps {\r\n recommendations?: Course[];\r\n preferences?: UserPreferences;\r\n onRestartChat?: () => void;\r\n loading?: boolean;\r\n}\r\n\r\nconst RecommendationResults: React.FC<RecommendationResultsProps> = ({\r\n recommendations = [],\r\n preferences = {\r\n interests: [],\r\n goals: [],\r\n completion: 0\r\n },\r\n onRestartChat,\r\n loading: externalLoading\r\n}) => {\r\n // Component state\r\n const [loading, setLoading] = useState(externalLoading !== undefined ? externalLoading : true);\r\n const [error, setError] = useState(null);\r\n const { restartChat, setTabIndex } = useCourseRecommendation();\r\n\r\n // Colors - IMPORTANT: Keep all color hooks here at the top\r\n const bgColor = useColorModeValue('white', 'gray.800');\r\n const cardBg = useColorModeValue('white', 'gray.700');\r\n const borderColor = useColorModeValue('gray.200', 'gray.600');\r\n const accentColor = useColorModeValue('blue.500', 'blue.300');\r\n const headerBg = useColorModeValue('blue.50', 'blue.900');\r\n const courseCardBg = useColorModeValue('white', 'gray.700');\r\n const highlightColor = useColorModeValue('purple.50', 'purple.900');\r\n const tagBg = useColorModeValue('blue.50', 'blue.800');\r\n const headerGradient = useColorModeValue('rgba(66, 153, 225, 0.15)', 'rgba(66, 153, 225, 0.25)');\r\n \r\n // Process chatbot preferences to display format\r\n const processedPreferences = React.useMemo(() => {\r\n // Default empty structure\r\n const defaultPrefs = {\r\n interests: [],\r\n goals: [],\r\n skills: {\r\n technical: [],\r\n soft: []\r\n },\r\n certifications: [],\r\n courseDifficulty: '',\r\n learningStyle: '',\r\n timeCommitment: '',\r\n workEnvironment: '',\r\n preparationType: '',\r\n timeline: '',\r\n completion: 100 // Assume complete if we got here\r\n };\r\n \r\n // If no preferences provided, return default\r\n if (!preferences || Object.keys(preferences).length === 0) {\r\n return defaultPrefs;\r\n }\r\n \r\n // Map chatbot answers to display format\r\n return {\r\n interests: [\r\n preferences.primary_interest, \r\n preferences.secondary_interest\r\n ].filter(Boolean),\r\n goals: [\r\n preferences.career_goal,\r\n preferences.future_goal,\r\n ...(Array.isArray(preferences.improvement_areas) ? preferences.improvement_areas : [])\r\n ].filter(Boolean),\r\n skills: {\r\n technical: Array.isArray(preferences.technical_skills) ? preferences.technical_skills : [],\r\n soft: Array.isArray(preferences.soft_skills) ? preferences.soft_skills : []\r\n },\r\n certifications: Array.isArray(preferences.certifications) ? preferences.certifications : [],\r\n courseDifficulty: preferences.experience_level || '',\r\n learningStyle: preferences.course_style || '',\r\n timeCommitment: preferences.time_commitment || '',\r\n workEnvironment: preferences.work_environment || '',\r\n preparationType: preferences.preparation_type || '',\r\n timeline: preferences.preparation_timeline || '',\r\n completion: 100 // Complete since we're showing results\r\n };\r\n }, [preferences]);\r\n \r\n useEffect(() => {\r\n // Update loading state if externalLoading changes\r\n if (externalLoading !== undefined) {\r\n setLoading(externalLoading);\r\n } else {\r\n // Simulate loading if not externally controlled\r\n const timer = setTimeout(() => {\r\n setLoading(false);\r\n }, 1000);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [externalLoading]);\r\n \r\n const handleRestartChat = () => {\r\n if (onRestartChat) {\r\n onRestartChat();\r\n } else {\r\n restartChat();\r\n setTabIndex(1); // Switch to the chat tab\r\n }\r\n };\r\n \r\n if (loading) {\r\n return (\r\n <Center py={10}>\r\n <VStack spacing={4}>\r\n <Spinner\r\n thickness=\"4px\"\r\n speed=\"0.65s\"\r\n emptyColor=\"gray.200\"\r\n color=\"blue.500\"\r\n size=\"xl\"\r\n />\r\n <Text>Loading your personalized recommendations...</Text>\r\n </VStack>\r\n </Center>\r\n );\r\n }\r\n\r\n // If we have no recommendations, show a message with the user preferences\r\n if (recommendations.length === 0) {\r\n return (\r\n <Box>\r\n <Flex \r\n direction={{ base: 'column', md: 'row' }} \r\n justify=\"space-between\" \r\n align=\"center\" \r\n mb={6}\r\n bg={headerBg}\r\n p={5}\r\n borderRadius=\"xl\"\r\n boxShadow=\"sm\"\r\n backgroundImage={`radial-gradient(circle at 80% 20%, ${headerGradient}, transparent 40%)`}\r\n >\r\n <VStack align=\"start\" spacing={2} mb={{ base: 4, md: 0 }}>\r\n <Badge colorScheme=\"green\" variant=\"solid\" px={2} py={1}>\r\n PREFERENCES SAVED ✓\r\n </Badge>\r\n <Heading size=\"lg\">Your Profile Information</Heading>\r\n <Text>We've saved your preferences for future recommendations 🎯</Text>\r\n </VStack>\r\n\r\n <Box>\r\n <Button\r\n colorScheme=\"blue\"\r\n variant=\"outline\"\r\n leftIcon={<Icon as={RefreshCw} />}\r\n onClick={handleRestartChat}\r\n size=\"sm\"\r\n >\r\n Update Preferences\r\n </Button>\r\n </Box>\r\n </Flex>\r\n \r\n {/* Primary Info Cards */}\r\n <SimpleGrid columns={{ base: 1, md: 3 }} spacing={4} mb={8}>\r\n <Card \r\n bg={cardBg} \r\n borderRadius=\"lg\" \r\n boxShadow=\"md\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg', transition: 'all 0.3s ease' }}\r\n >\r\n <CardBody>\r\n <HStack mb={2}>\r\n <Icon as={Target} color={accentColor} />\r\n <Heading size=\"sm\">Your Interests</Heading>\r\n </HStack>\r\n <Divider mb={3} />\r\n <Flex wrap=\"wrap\" gap={2}>\r\n {processedPreferences.interests.map((interest, idx) => (\r\n <Tag \r\n key={`interest-${idx}`} \r\n colorScheme=\"blue\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {interest}\r\n </Tag>\r\n ))}\r\n {processedPreferences.interests.length === 0 && (\r\n <Text fontSize=\"sm\" color=\"gray.500\">No interests specified</Text>\r\n )}\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n\r\n <Card \r\n bg={cardBg} \r\n borderRadius=\"lg\" \r\n boxShadow=\"md\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg', transition: 'all 0.3s ease' }}\r\n >\r\n <CardBody>\r\n <HStack mb={2}>\r\n <Icon as={Briefcase} color={accentColor} />\r\n <Heading size=\"sm\">Career Goals</Heading>\r\n </HStack>\r\n <Divider mb={3} />\r\n <Flex wrap=\"wrap\" gap={2}>\r\n {processedPreferences.goals.map((goal, idx) => (\r\n <Tag \r\n key={`goal-${idx}`} \r\n colorScheme=\"purple\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {goal}\r\n </Tag>\r\n ))}\r\n {processedPreferences.goals.length === 0 && (\r\n <Text fontSize=\"sm\" color=\"gray.500\">No goals specified</Text>\r\n )}\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n\r\n <Card \r\n bg={cardBg} \r\n borderRadius=\"lg\" \r\n boxShadow=\"md\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg', transition: 'all 0.3s ease' }}\r\n >\r\n <CardBody>\r\n <HStack mb={2}>\r\n <Icon as={Clock} color={accentColor} />\r\n <Heading size=\"sm\">Learning Details</Heading>\r\n </HStack>\r\n <Divider mb={3} />\r\n <Flex wrap=\"wrap\" gap={2}>\r\n {processedPreferences.courseDifficulty && (\r\n <Tag \r\n colorScheme=\"cyan\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {processedPreferences.courseDifficulty}\r\n </Tag>\r\n )}\r\n {processedPreferences.learningStyle && (\r\n <Tag \r\n colorScheme=\"cyan\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {processedPreferences.learningStyle}\r\n </Tag>\r\n )}\r\n {processedPreferences.timeCommitment && (\r\n <Tag \r\n colorScheme=\"cyan\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {processedPreferences.timeCommitment}\r\n </Tag>\r\n )}\r\n {processedPreferences.timeline && (\r\n <Tag \r\n colorScheme=\"cyan\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {processedPreferences.timeline}\r\n </Tag>\r\n )}\r\n {!processedPreferences.courseDifficulty && \r\n !processedPreferences.learningStyle && \r\n !processedPreferences.timeCommitment && \r\n !processedPreferences.timeline && (\r\n <Text fontSize=\"sm\" color=\"gray.500\">No learning details specified</Text>\r\n )}\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n </SimpleGrid>\r\n \r\n {/* Secondary Info Cards */}\r\n <SimpleGrid columns={{ base: 1, md: 2 }} spacing={4} mb={8}>\r\n {/* Technical Skills Card */}\r\n <Card \r\n bg={cardBg} \r\n borderRadius=\"lg\" \r\n boxShadow=\"md\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg', transition: 'all 0.3s ease' }}\r\n >\r\n <CardBody>\r\n <HStack mb={2}>\r\n <Icon as={Zap} color={accentColor} />\r\n <Heading size=\"sm\">Technical Skills</Heading>\r\n </HStack>\r\n <Divider mb={3} />\r\n <Flex wrap=\"wrap\" gap={2}>\r\n {processedPreferences.skills.technical.map((skill, idx) => (\r\n <Tag \r\n key={`tech-${idx}`} \r\n colorScheme=\"green\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {skill}\r\n </Tag>\r\n ))}\r\n {processedPreferences.skills.technical.length === 0 && (\r\n <Text fontSize=\"sm\" color=\"gray.500\">No technical skills specified</Text>\r\n )}\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n \r\n {/* Soft Skills Card */}\r\n <Card \r\n bg={cardBg} \r\n borderRadius=\"lg\" \r\n boxShadow=\"md\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg', transition: 'all 0.3s ease' }}\r\n >\r\n <CardBody>\r\n <HStack mb={2}>\r\n <Icon as={User} color={accentColor} />\r\n <Heading size=\"sm\">Soft Skills</Heading>\r\n </HStack>\r\n <Divider mb={3} />\r\n <Flex wrap=\"wrap\" gap={2}>\r\n {processedPreferences.skills.soft.map((skill, idx) => (\r\n <Tag \r\n key={`soft-${idx}`} \r\n colorScheme=\"orange\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {skill}\r\n </Tag>\r\n ))}\r\n {processedPreferences.skills.soft.length === 0 && (\r\n <Text fontSize=\"sm\" color=\"gray.500\">No soft skills specified</Text>\r\n )}\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n </SimpleGrid>\r\n \r\n {/* Additional Info Cards */}\r\n <SimpleGrid columns={{ base: 1, md: 2 }} spacing={4} mb={8}>\r\n {/* Certifications Card */}\r\n <Card \r\n bg={cardBg} \r\n borderRadius=\"lg\" \r\n boxShadow=\"md\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg', transition: 'all 0.3s ease' }}\r\n >\r\n <CardBody>\r\n <HStack mb={2}>\r\n <Icon as={CheckCircle2} color={accentColor} />\r\n <Heading size=\"sm\">Certifications</Heading>\r\n </HStack>\r\n <Divider mb={3} />\r\n <Flex wrap=\"wrap\" gap={2}>\r\n {processedPreferences.certifications.map((cert, idx) => (\r\n <Tag \r\n key={`cert-${idx}`} \r\n colorScheme=\"teal\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {cert}\r\n </Tag>\r\n ))}\r\n {processedPreferences.certifications.length === 0 && (\r\n <Text fontSize=\"sm\" color=\"gray.500\">No certifications specified</Text>\r\n )}\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n \r\n {/* Work Details Card */}\r\n <Card \r\n bg={cardBg} \r\n borderRadius=\"lg\" \r\n boxShadow=\"md\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg', transition: 'all 0.3s ease' }}\r\n >\r\n <CardBody>\r\n <HStack mb={2}>\r\n <Icon as={Briefcase} color={accentColor} />\r\n <Heading size=\"sm\">Work Details</Heading>\r\n </HStack>\r\n <Divider mb={3} />\r\n <Flex wrap=\"wrap\" gap={2}>\r\n {processedPreferences.workEnvironment && (\r\n <Tag \r\n colorScheme=\"purple\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {processedPreferences.workEnvironment}\r\n </Tag>\r\n )}\r\n {processedPreferences.preparationType && (\r\n <Tag \r\n colorScheme=\"purple\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {processedPreferences.preparationType}\r\n </Tag>\r\n )}\r\n {!processedPreferences.workEnvironment && !processedPreferences.preparationType && (\r\n <Text fontSize=\"sm\" color=\"gray.500\">No work details specified</Text>\r\n )}\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n </SimpleGrid>\r\n \r\n <Card bg={cardBg} borderRadius=\"lg\" boxShadow=\"md\" mb={6}>\r\n <CardBody>\r\n <VStack spacing={4} align=\"center\" py={4}>\r\n <Icon as={MessageSquare} boxSize={10} color=\"blue.400\" />\r\n <Heading size=\"md\" textAlign=\"center\">Course Recommendations Coming Soon</Heading>\r\n <Text textAlign=\"center\">\r\n We're working on personalizing course recommendations based on your profile.\r\n Check back soon to see what courses we recommend for your career goals and interests.\r\n </Text>\r\n <Button\r\n colorScheme=\"blue\"\r\n rightIcon={<Icon as={ChevronRight} />}\r\n onClick={() => setTabIndex(0)} // Navigate to courses tab\r\n mt={2}\r\n >\r\n Browse Courses\r\n </Button>\r\n </VStack>\r\n </CardBody>\r\n </Card>\r\n </Box>\r\n );\r\n }\r\n\r\n return (\r\n <Box>\r\n {/* Header */}\r\n <Flex \r\n direction={{ base: 'column', md: 'row' }} \r\n justify=\"space-between\" \r\n align=\"center\" \r\n mb={6}\r\n bg={headerBg}\r\n p={5}\r\n borderRadius=\"xl\"\r\n boxShadow=\"sm\"\r\n backgroundImage={`radial-gradient(circle at 80% 20%, ${headerGradient}, transparent 40%)`}\r\n >\r\n <VStack align=\"start\" spacing={2} mb={{ base: 4, md: 0 }}>\r\n <Badge colorScheme=\"green\" variant=\"solid\" px={2} py={1}>\r\n AI Analysis Complete ✅\r\n </Badge>\r\n <Heading size=\"lg\">Your Course Recommendations</Heading>\r\n <Text>Based on your profile and academic goals 🎯</Text>\r\n </VStack>\r\n\r\n <Box>\r\n <Button\r\n colorScheme=\"blue\"\r\n variant=\"outline\"\r\n leftIcon={<Icon as={RefreshCw} />}\r\n onClick={handleRestartChat}\r\n size=\"sm\"\r\n >\r\n Update Preferences\r\n </Button>\r\n </Box>\r\n </Flex>\r\n\r\n {/* Primary Info Cards */}\r\n <SimpleGrid columns={{ base: 1, md: 3 }} spacing={4} mb={8}>\r\n <Card \r\n bg={cardBg} \r\n borderRadius=\"lg\" \r\n boxShadow=\"md\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg', transition: 'all 0.3s ease' }}\r\n >\r\n <CardBody>\r\n <HStack mb={2}>\r\n <Icon as={Target} color={accentColor} />\r\n <Heading size=\"sm\">Your Interests</Heading>\r\n </HStack>\r\n <Divider mb={3} />\r\n <Flex wrap=\"wrap\" gap={2}>\r\n {processedPreferences.interests.map((interest, idx) => (\r\n <Tag \r\n key={`interest-${idx}`} \r\n colorScheme=\"blue\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {interest}\r\n </Tag>\r\n ))}\r\n {processedPreferences.interests.length === 0 && (\r\n <Text fontSize=\"sm\" color=\"gray.500\">No interests specified</Text>\r\n )}\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n\r\n <Card \r\n bg={cardBg} \r\n borderRadius=\"lg\" \r\n boxShadow=\"md\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg', transition: 'all 0.3s ease' }}\r\n >\r\n <CardBody>\r\n <HStack mb={2}>\r\n <Icon as={Briefcase} color={accentColor} />\r\n <Heading size=\"sm\">Career Goals</Heading>\r\n </HStack>\r\n <Divider mb={3} />\r\n <Flex wrap=\"wrap\" gap={2}>\r\n {processedPreferences.goals.map((goal, idx) => (\r\n <Tag \r\n key={`goal-${idx}`} \r\n colorScheme=\"purple\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {goal}\r\n </Tag>\r\n ))}\r\n {processedPreferences.goals.length === 0 && (\r\n <Text fontSize=\"sm\" color=\"gray.500\">No goals specified</Text>\r\n )}\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n\r\n <Card \r\n bg={cardBg} \r\n borderRadius=\"lg\" \r\n boxShadow=\"md\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg', transition: 'all 0.3s ease' }}\r\n >\r\n <CardBody>\r\n <HStack mb={2}>\r\n <Icon as={Clock} color={accentColor} />\r\n <Heading size=\"sm\">Learning Details</Heading>\r\n </HStack>\r\n <Divider mb={3} />\r\n <Flex wrap=\"wrap\" gap={2}>\r\n {processedPreferences.courseDifficulty && (\r\n <Tag \r\n colorScheme=\"cyan\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {processedPreferences.courseDifficulty}\r\n </Tag>\r\n )}\r\n {processedPreferences.learningStyle && (\r\n <Tag \r\n colorScheme=\"cyan\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {processedPreferences.learningStyle}\r\n </Tag>\r\n )}\r\n {processedPreferences.timeCommitment && (\r\n <Tag \r\n colorScheme=\"cyan\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {processedPreferences.timeCommitment}\r\n </Tag>\r\n )}\r\n {processedPreferences.timeline && (\r\n <Tag \r\n colorScheme=\"cyan\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {processedPreferences.timeline}\r\n </Tag>\r\n )}\r\n {!processedPreferences.courseDifficulty && \r\n !processedPreferences.learningStyle && \r\n !processedPreferences.timeCommitment && \r\n !processedPreferences.timeline && (\r\n <Text fontSize=\"sm\" color=\"gray.500\">No learning details specified</Text>\r\n )}\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n </SimpleGrid>\r\n\r\n {/* Skills Cards */}\r\n <SimpleGrid columns={{ base: 1, md: 2 }} spacing={4} mb={8}>\r\n {/* Technical Skills Card */}\r\n <Card \r\n bg={cardBg} \r\n borderRadius=\"lg\" \r\n boxShadow=\"md\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg', transition: 'all 0.3s ease' }}\r\n >\r\n <CardBody>\r\n <HStack mb={2}>\r\n <Icon as={Zap} color={accentColor} />\r\n <Heading size=\"sm\">Technical Skills</Heading>\r\n </HStack>\r\n <Divider mb={3} />\r\n <Flex wrap=\"wrap\" gap={2}>\r\n {processedPreferences.skills.technical.map((skill, idx) => (\r\n <Tag \r\n key={`tech-${idx}`} \r\n colorScheme=\"green\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {skill}\r\n </Tag>\r\n ))}\r\n {processedPreferences.skills.technical.length === 0 && (\r\n <Text fontSize=\"sm\" color=\"gray.500\">No technical skills specified</Text>\r\n )}\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n \r\n {/* Soft Skills Card */}\r\n <Card \r\n bg={cardBg} \r\n borderRadius=\"lg\" \r\n boxShadow=\"md\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg', transition: 'all 0.3s ease' }}\r\n >\r\n <CardBody>\r\n <HStack mb={2}>\r\n <Icon as={User} color={accentColor} />\r\n <Heading size=\"sm\">Soft Skills</Heading>\r\n </HStack>\r\n <Divider mb={3} />\r\n <Flex wrap=\"wrap\" gap={2}>\r\n {processedPreferences.skills.soft.map((skill, idx) => (\r\n <Tag \r\n key={`soft-${idx}`} \r\n colorScheme=\"orange\" \r\n size=\"md\"\r\n variant=\"subtle\"\r\n boxShadow=\"sm\"\r\n >\r\n {skill}\r\n </Tag>\r\n ))}\r\n {processedPreferences.skills.soft.length === 0 && (\r\n <Text fontSize=\"sm\" color=\"gray.500\">No soft skills specified</Text>\r\n )}\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n </SimpleGrid>\r\n\r\n {/* Course Recommendations */}\r\n <Heading size=\"md\" mb={4}>Recommended Courses</Heading>\r\n <SimpleGrid columns={{ base: 1, lg: 1 }} spacing={6} mb={8}>\r\n {recommendations.map((course) => (\r\n <Card \r\n key={`course-${course.id}`}\r\n bg={courseCardBg} \r\n borderRadius=\"lg\" \r\n borderWidth=\"1px\"\r\n borderColor={borderColor}\r\n boxShadow=\"md\"\r\n overflow=\"hidden\"\r\n transition=\"all 0.3s ease\"\r\n _hover={{ transform: 'translateY(-4px)', boxShadow: 'lg' }}\r\n >\r\n <CardBody>\r\n <Flex justify=\"space-between\" mb={3}>\r\n <VStack align=\"start\" spacing={1}>\r\n <Badge colorScheme=\"blue\">{course.code}</Badge>\r\n <Heading size=\"md\">{course.title}</Heading>\r\n <Text fontSize=\"sm\" color=\"gray.500\">{course.department}</Text>\r\n </VStack>\r\n <Badge \r\n colorScheme={(course.matchScore ?? 0) >= 90 ? \"green\" : \"blue\"} \r\n fontSize=\"sm\" \r\n px={2} \r\n height=\"fit-content\"\r\n >\r\n {course.matchScore ?? 0}% Match\r\n </Badge>\r\n </Flex>\r\n \r\n <Text noOfLines={2} mb={3}>{course.description}</Text>\r\n \r\n <SimpleGrid columns={{ base: 1, md: 3 }} spacing={3} mb={3}>\r\n <HStack>\r\n <Icon as={BookOpen} size={14} color={accentColor} />\r\n <Text fontSize=\"sm\">{course.credits} Credits</Text>\r\n </HStack>\r\n <HStack>\r\n <Icon as={Zap} size={14} color={accentColor} />\r\n <Text fontSize=\"sm\">{course.skills?.[0] ?? 'N/A'}</Text>\r\n </HStack>\r\n <HStack>\r\n <Icon as={Calendar} size={14} color={accentColor} />\r\n <Text fontSize=\"sm\">Fall 2023</Text>\r\n </HStack>\r\n </SimpleGrid>\r\n \r\n <Box mb={3}>\r\n <Text fontWeight=\"bold\" fontSize=\"sm\" mb={1}>Why we recommend this:</Text>\r\n <List spacing={1}>\r\n {course.reasons?.map((reason, idx) => (\r\n <ListItem key={`reason-${idx}`} fontSize=\"sm\">\r\n <ListIcon as={CheckCircle2} color=\"green.500\" />\r\n {reason}\r\n </ListItem>\r\n )) ?? 'No specific reasons provided'}\r\n </List>\r\n </Box>\r\n \r\n <Flex justify=\"flex-end\">\r\n <Button \r\n rightIcon={<ChevronRight />} \r\n colorScheme=\"blue\" \r\n size=\"sm\"\r\n variant=\"outline\"\r\n >\r\n View Details\r\n </Button>\r\n </Flex>\r\n </CardBody>\r\n </Card>\r\n ))}\r\n </SimpleGrid>\r\n \r\n <Button\r\n mt={8}\r\n leftIcon={<MessageSquare />}\r\n colorScheme=\"blue\"\r\n onClick={handleRestartChat}\r\n size=\"lg\"\r\n width=\"full\"\r\n >\r\n Start a New Chat\r\n </Button>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default RecommendationResults; ","import { supabase } from '../lib/supabase';\r\nimport { \r\n UserCoursePreferences, \r\n ChatbotQuestion, \r\n QuestionType, \r\n CourseRecommendation \r\n} from '../types/courseRecommendation';\r\n\r\n// Helper function to create an empty preferences object \r\nexport function createEmptyPreferences(userId: string): UserCoursePreferences {\r\n return {\r\n user_id: userId,\r\n career_goal: undefined,\r\n preparation_type: undefined,\r\n certifications: [],\r\n technical_skills: [],\r\n improvement_areas: [],\r\n course_format: undefined,\r\n time_commitment: undefined,\r\n course_style: undefined,\r\n primary_interest: undefined,\r\n secondary_interest: undefined,\r\n experience_level: undefined,\r\n work_environment: undefined,\r\n future_goal: undefined,\r\n preparation_timeline: undefined,\r\n soft_skills: []\r\n };\r\n}\r\n\r\nexport async function getUserPreferences(userId?: string): Promise<UserCoursePreferences | null> {\r\n if (!userId) {\r\n console.log('No user ID provided to getUserPreferences');\r\n return createEmptyPreferences('');\r\n }\r\n \r\n try {\r\n const { data, error } = await supabase\r\n .from('user_course_preferences')\r\n .select('*')\r\n .eq('user_id', userId)\r\n .single();\r\n \r\n if (error) {\r\n if (error.code === 'PGRST116') {\r\n // No preferences found for this user, return an empty object\r\n console.log('No preferences found for user, returning empty preferences');\r\n return createEmptyPreferences(userId);\r\n }\r\n console.error('Error fetching user preferences:', error);\r\n throw error;\r\n }\r\n \r\n // Ensure arrays are not null\r\n const preferences: UserCoursePreferences = {\r\n ...data,\r\n certifications: data.certifications || [],\r\n technical_skills: data.technical_skills || [],\r\n improvement_areas: data.improvement_areas || [],\r\n soft_skills: data.soft_skills || []\r\n };\r\n \r\n return preferences;\r\n } catch (error) {\r\n console.error('Error in getUserPreferences:', error);\r\n throw error;\r\n }\r\n}\r\n\r\nexport async function saveUserPreferences(userId: string, preferences: Record<string, any>): Promise<boolean> {\r\n if (!userId) {\r\n console.error('No user ID provided to saveUserPreferences');\r\n return false;\r\n }\r\n \r\n try {\r\n // Ensure supabase is correctly initialized\r\n if (!supabase) {\r\n console.error('Supabase client not initialized');\r\n return false;\r\n }\r\n \r\n console.log(\"Original preferences being saved:\", preferences);\r\n \r\n // Clean and validate data before saving to ensure each field only contains relevant data\r\n // This is critical to prevent data from different questions being mixed together\r\n const cleanedPreferences: UserCoursePreferences = {\r\n user_id: userId,\r\n career_goal: preferences.career_goal || null,\r\n preparation_type: preferences.preparation_type || null,\r\n certifications: Array.isArray(preferences.certifications) \r\n ? preferences.certifications.filter(item => typeof item === 'string') \r\n : (preferences.certifications ? [preferences.certifications] : []),\r\n technical_skills: Array.isArray(preferences.technical_skills) \r\n ? preferences.technical_skills.filter(item => typeof item === 'string') \r\n : (preferences.technical_skills ? [preferences.technical_skills] : []),\r\n improvement_areas: Array.isArray(preferences.improvement_areas) \r\n ? preferences.improvement_areas.filter(item => typeof item === 'string') \r\n : (preferences.improvement_areas ? [preferences.improvement_areas] : []),\r\n course_format: preferences.course_format || null,\r\n time_commitment: preferences.time_commitment || null,\r\n course_style: preferences.course_style || null,\r\n primary_interest: preferences.primary_interest || null,\r\n secondary_interest: preferences.secondary_interest || null, \r\n experience_level: preferences.experience_level || null,\r\n work_environment: preferences.work_environment || null,\r\n future_goal: preferences.future_goal || null,\r\n preparation_timeline: preferences.preparation_timeline || null,\r\n soft_skills: Array.isArray(preferences.soft_skills) \r\n ? preferences.soft_skills.filter(item => typeof item === 'string') \r\n : (preferences.soft_skills ? [preferences.soft_skills] : [])\r\n };\r\n \r\n console.log(\"Cleaned preferences to save to Supabase:\", cleanedPreferences);\r\n \r\n // First, check if user preferences already exist\r\n const { data: existingData, error: checkError } = await supabase\r\n .from('user_course_preferences')\r\n .select('user_id')\r\n .eq('user_id', userId);\r\n \r\n if (checkError) {\r\n console.error('Error checking existing preferences:', checkError);\r\n return false;\r\n }\r\n \r\n let success = false;\r\n \r\n if (existingData && existingData.length > 0) {\r\n // Update existing preferences\r\n const { error: updateError } = await supabase\r\n .from('user_course_preferences')\r\n .update(cleanedPreferences)\r\n .eq('user_id', userId);\r\n \r\n if (updateError) {\r\n console.error('Error updating user preferences:', updateError);\r\n return false;\r\n }\r\n \r\n success = true;\r\n } else {\r\n // Insert new preferences\r\n const { error: insertError } = await supabase\r\n .from('user_course_preferences')\r\n .insert(cleanedPreferences);\r\n \r\n if (insertError) {\r\n console.error('Error saving user preferences:', insertError);\r\n return false;\r\n }\r\n \r\n success = true;\r\n }\r\n \r\n return success;\r\n } catch (error) {\r\n console.error('Error saving user preferences:', error);\r\n return false;\r\n }\r\n}\r\n\r\nexport function getChatbotQuestions() {\r\n // Questions for the chatbot to ask the user\r\n return [\r\n {\r\n key: 'career_goal',\r\n question: 'What is your primary career goal?',\r\n options: [\r\n 'Web Developer',\r\n 'Data Scientist',\r\n 'Mobile App Developer',\r\n 'Cloud Engineer',\r\n 'DevOps Engineer',\r\n 'Machine Learning Engineer',\r\n 'Cybersecurity Specialist',\r\n 'Game Developer',\r\n 'UI/UX Designer',\r\n 'Full Stack Developer',\r\n 'Blockchain Developer',\r\n 'Software Architect'\r\n ]\r\n },\r\n {\r\n key: 'preparation_type',\r\n question: 'What are you preparing for?',\r\n options: [\r\n 'New Career',\r\n 'Career Advancement',\r\n 'Specific Project',\r\n 'Skill Enhancement',\r\n 'Academic Requirement',\r\n 'Personal Interest',\r\n 'Certification Exam'\r\n ]\r\n },\r\n {\r\n key: 'certifications',\r\n question: 'Are you interested in any specific certifications? (Select all that apply)',\r\n options: [\r\n 'AWS Certified Solutions Architect',\r\n 'Microsoft Azure Certifications',\r\n 'Google Cloud Certifications',\r\n 'CompTIA Certifications',\r\n 'Cisco Certifications',\r\n 'Project Management (PMP/PRINCE2)',\r\n 'Scrum/Agile Certifications',\r\n 'Cybersecurity Certifications',\r\n 'Data Science Certifications',\r\n 'None/Not Interested'\r\n ],\r\n multiSelect: true\r\n },\r\n {\r\n key: 'technical_skills',\r\n question: 'What technical skills do you already have? (Select all that apply)',\r\n options: [\r\n 'JavaScript',\r\n 'Python',\r\n 'Java',\r\n 'C#',\r\n 'C++',\r\n 'PHP',\r\n 'Ruby',\r\n 'Swift',\r\n 'TypeScript',\r\n 'SQL',\r\n 'NoSQL',\r\n 'HTML/CSS',\r\n 'React',\r\n 'Angular',\r\n 'Vue',\r\n 'Node.js',\r\n 'Django',\r\n 'Flask',\r\n 'Spring Boot',\r\n '.NET',\r\n 'Docker',\r\n 'Kubernetes',\r\n 'AWS',\r\n 'Azure',\r\n 'Google Cloud',\r\n 'Machine Learning',\r\n 'Data Analysis',\r\n 'API Design',\r\n 'Testing',\r\n 'DevOps'\r\n ],\r\n multiSelect: true\r\n },\r\n {\r\n key: 'improvement_areas',\r\n question: 'Which areas would you like to improve? (Select all that apply)',\r\n options: [\r\n 'Frontend Development',\r\n 'Backend Development',\r\n 'Full Stack Development',\r\n 'Mobile Development',\r\n 'Cloud Computing',\r\n 'DevOps',\r\n 'Database Management',\r\n 'API Development',\r\n 'Machine Learning',\r\n 'Data Analysis',\r\n 'Cybersecurity',\r\n 'UI/UX Design',\r\n 'Game Development',\r\n 'Blockchain Development',\r\n 'Testing & QA',\r\n 'Project Management',\r\n 'Agile Methodologies',\r\n 'System Architecture',\r\n 'Performance Optimization',\r\n 'Microservices'\r\n ],\r\n multiSelect: true\r\n },\r\n {\r\n key: 'course_format',\r\n question: 'What learning format do you prefer?',\r\n options: [\r\n 'Video Courses',\r\n 'Interactive Coding',\r\n 'Reading Materials',\r\n 'Project-based',\r\n 'Instructor-led',\r\n 'Self-paced',\r\n 'Mixed Formats'\r\n ]\r\n },\r\n {\r\n key: 'time_commitment',\r\n question: 'How much time can you commit weekly?',\r\n options: [\r\n '1-3 hours',\r\n '4-6 hours',\r\n '7-10 hours',\r\n '10+ hours',\r\n 'Flexible'\r\n ]\r\n },\r\n {\r\n key: 'course_style',\r\n question: 'What learning style do you prefer?',\r\n options: [\r\n 'Beginner-friendly (step-by-step)',\r\n 'Comprehensive (deep dives)',\r\n 'Project-based (building real applications)',\r\n 'Problem-solving (challenges)',\r\n 'Quick & Practical (just the essentials)',\r\n 'Academic & Theoretical'\r\n ]\r\n },\r\n {\r\n key: 'primary_interest',\r\n question: 'What is your primary area of interest?',\r\n options: [\r\n 'Web Development',\r\n 'Mobile Development',\r\n 'Data Science & Analytics',\r\n 'Machine Learning & AI',\r\n 'Game Development',\r\n 'Cybersecurity',\r\n 'Cloud Computing',\r\n 'DevOps & Infrastructure',\r\n 'UI/UX Design',\r\n 'Blockchain & Cryptocurrency',\r\n 'Internet of Things (IoT)',\r\n 'Augmented/Virtual Reality',\r\n 'Software Architecture',\r\n 'Database Administration'\r\n ]\r\n },\r\n {\r\n key: 'secondary_interest',\r\n question: 'Any secondary areas of interest?',\r\n options: [\r\n 'Web Development',\r\n 'Mobile Development',\r\n 'Data Science & Analytics',\r\n 'Machine Learning & AI',\r\n 'Game Development',\r\n 'Cybersecurity',\r\n 'Cloud Computing',\r\n 'DevOps & Infrastructure',\r\n 'UI/UX Design',\r\n 'Blockchain & Cryptocurrency',\r\n 'Internet of Things (IoT)',\r\n 'Augmented/Virtual Reality',\r\n 'Software Architecture',\r\n 'Database Administration',\r\n 'None'\r\n ]\r\n },\r\n {\r\n key: 'experience_level',\r\n question: 'What is your current experience level?',\r\n options: [\r\n 'Beginner (< 1 year)',\r\n 'Intermediate (1-3 years)',\r\n 'Advanced (3-5 years)',\r\n 'Expert (5+ years)'\r\n ]\r\n },\r\n {\r\n key: 'work_environment',\r\n question: 'What work environment do you prefer or are currently in?',\r\n options: [\r\n 'Startup',\r\n 'Small/Medium Business',\r\n 'Large Tech Company',\r\n 'Enterprise/Corporate',\r\n 'Freelance/Independent',\r\n 'Agency',\r\n 'Remote Work',\r\n 'Academia/Research',\r\n 'Government',\r\n 'Non-profit'\r\n ]\r\n },\r\n {\r\n key: 'future_goal',\r\n question: 'Where do you see yourself in 5 years?',\r\n options: [\r\n 'Senior Developer',\r\n 'Team Lead',\r\n 'Technical Architect',\r\n 'Project Manager',\r\n 'CTO/Technical Director',\r\n 'Entrepreneur/Founder',\r\n 'Specialized Expert',\r\n 'Consultant',\r\n 'Educator/Trainer',\r\n 'Researcher',\r\n 'Not Sure Yet'\r\n ]\r\n },\r\n {\r\n key: 'preparation_timeline',\r\n question: 'When do you want to achieve your goal?',\r\n options: [\r\n 'As soon as possible (< 3 months)',\r\n 'Short-term (3-6 months)',\r\n 'Medium-term (6-12 months)',\r\n 'Long-term (1-2 years)',\r\n 'Extended timeline (2+ years)'\r\n ]\r\n },\r\n {\r\n key: 'soft_skills',\r\n question: 'Which soft skills would you like to develop? (Select all that apply)',\r\n options: [\r\n 'Communication',\r\n 'Problem Solving',\r\n 'Teamwork',\r\n 'Time Management',\r\n 'Leadership',\r\n 'Critical Thinking',\r\n 'Adaptability',\r\n 'Creativity',\r\n 'Presentation Skills',\r\n 'Conflict Resolution'\r\n ],\r\n multiSelect: true\r\n },\r\n ];\r\n}\r\n\r\n// Mock function that should be replaced with an actual API call in the future\r\nexport const getCourseRecommendations = async (userId: string) => {\r\n try {\r\n // In production, this would call an API to get personalized recommendations\r\n // For now, we'll simply return the user's preferences to display\r\n const preferences = await getUserPreferences(userId);\r\n return preferences;\r\n } catch (error) {\r\n console.error(\"Error getting course recommendations:\", error);\r\n throw error;\r\n }\r\n}; ","import React, { useState, useRef, useEffect } from 'react';\r\nimport {\r\n Box,\r\n VStack,\r\n Input,\r\n Button,\r\n Flex,\r\n Text,\r\n useColorModeValue,\r\n useColorMode,\r\n IconButton,\r\n Spinner,\r\n Tooltip,\r\n Heading,\r\n Progress,\r\n Badge,\r\n HStack,\r\n Alert,\r\n AlertIcon,\r\n AlertTitle,\r\n AlertDescription,\r\n Avatar,\r\n AvatarBadge,\r\n InputGroup,\r\n InputRightElement,\r\n Divider,\r\n Menu,\r\n MenuButton,\r\n MenuList,\r\n MenuItem,\r\n MenuDivider,\r\n Icon,\r\n useDisclosure,\r\n Modal,\r\n ModalOverlay,\r\n ModalContent,\r\n ModalHeader,\r\n ModalFooter,\r\n ModalBody,\r\n ModalCloseButton,\r\n List,\r\n ListItem,\r\n ListIcon,\r\n UnorderedList\r\n} from '@chakra-ui/react';\r\nimport { \r\n Send, \r\n RefreshCw, \r\n User, \r\n Bot, \r\n ArrowLeft, \r\n MoreVertical, \r\n RotateCcw, \r\n Save, \r\n Download, \r\n HelpCircle, \r\n Settings, \r\n Info,\r\n Trash2,\r\n CheckCircle2,\r\n Sparkles,\r\n Brain\r\n} from 'lucide-react';\r\nimport ChatMessage from './ChatMessage';\r\nimport OptionsSelector from './OptionsSelector';\r\nimport RecommendationResults from './RecommendationResults';\r\nimport { ChatMessage as ChatMessageType } from '../../../types/chat';\r\nimport { getChatbotQuestions, saveUserPreferences } from '../../../services/courseRecommendation';\r\nimport { useAuth } from '../../../lib/contexts/AuthContext';\r\nimport { UserCoursePreferences } from '../../../types/courseRecommendation';\r\nimport { useCourseRecommendation } from '../../../context/CourseRecommendationContext';\r\nimport { keyframes } from '@chakra-ui/react';\r\nimport { motion } from 'framer-motion';\r\nconst MotionBox = motion(Box);\r\nconst MotionFlex = motion(Flex);\r\n\r\ninterface ChatbotInterfaceProps {\r\n onComplete?: () => void;\r\n initialPreferences?: UserCoursePreferences;\r\n onBack?: () => void;\r\n onViewPreferences?: () => void;\r\n}\r\n\r\nconst ChatbotInterface: React.FC<ChatbotInterfaceProps> = ({ \r\n onComplete,\r\n initialPreferences,\r\n onBack,\r\n onViewPreferences\r\n}) => {\r\n // Context hooks\r\n const { user } = useAuth();\r\n const { isRestarting, setTabIndex } = useCourseRecommendation();\r\n \r\n // Add a ref to track component mounted state\r\n const isMountedRef = useRef<boolean>(false);\r\n \r\n // Color mode hooks\r\n const { colorMode } = useColorMode();\r\n \r\n // State hooks first - moved here to ensure consistent ordering of hooks\r\n const [messages, setMessages] = useState<ChatMessageType[]>([]);\r\n const [currentMessage, setCurrentMessage] = useState('');\r\n const [currentQuestion, setCurrentQuestion] = useState(0);\r\n const [loading, setLoading] = useState(false);\r\n const [chatFinished, setChatFinished] = useState(false);\r\n const [showResults, setShowResults] = useState(false);\r\n const [selectedOptions, setSelectedOptions] = useState<string[]>([]);\r\n const [isMultiSelect, setIsMultiSelect] = useState(false);\r\n const [userAnswers, setUserAnswers] = useState<Record<string, any>>(initialPreferences || {});\r\n const [processedQuestions, setProcessedQuestions] = useState<Set<string>>(new Set());\r\n const [progress, setProgress] = useState(0);\r\n const [error, setError] = useState<string | null>(null);\r\n const [isTyping, setIsTyping] = useState(false);\r\n const [isReadyForInput, setIsReadyForInput] = useState(false);\r\n \r\n // Help modal\r\n const helpDisclosure = useDisclosure();\r\n \r\n // Ref hooks\r\n const messageEndRef = useRef<HTMLDivElement>(null);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const hasInitializedRef = useRef<boolean>(false);\r\n \r\n // Color values - not hooks, just calculated values\r\n const bgColor = useColorModeValue('white', 'gray.800');\r\n const borderColor = useColorModeValue('gray.200', 'gray.700');\r\n const inputBgColor = useColorModeValue('gray.50', 'gray.700');\r\n const accentColor = useColorModeValue('purple.500', 'purple.400');\r\n const progressTrackColor = useColorModeValue('purple.100', 'purple.900');\r\n const headerBgColor = useColorModeValue('purple.500', 'purple.600');\r\n const headerTextColor = useColorModeValue('white', 'white');\r\n const aiAvatarBg = useColorModeValue('purple.100', 'purple.900');\r\n const userAvatarBg = useColorModeValue('blue.100', 'blue.900');\r\n const typingColor = useColorModeValue('gray.500', 'gray.400');\r\n const hintColor = useColorModeValue('gray.400', 'gray.500');\r\n const patternBgLight = 'url(\"data:image/svg+xml,%3Csvg xmlns=\\'http://www.w3.org/2000/svg\\' width=\\'40\\' height=\\'40\\' viewBox=\\'0 0 40 40\\'%3E%3Cg fill-rule=\\'evenodd\\'%3E%3Cg fill=\\'%239C92AC\\' fill-opacity=\\'0.08\\'%3E%3Cpath d=\\'M0 38.59l2.83-2.83 1.41 1.41L1.41 40H0v-1.41zM0 20.83l2.83-2.83 1.41 1.41L1.41 22.24H0v-1.41zM0 3.07l2.83-2.83 1.41 1.41L1.41 4.48H0V3.07zM17.76 40l2.83-2.83 1.41 1.41L19.17 40h-1.41zM17.76 22.24l2.83-2.83 1.41 1.41L19.17 22.24h-1.41zM17.76 4.48l2.83-2.83 1.41 1.41L19.17 4.48h-1.41zM35.52 40l2.83-2.83 1.41 1.41L36.93 40h-1.41zM35.52 22.24l2.83-2.83 1.41 1.41L36.93 22.24h-1.41zM35.52 4.48l2.83-2.83 1.41 1.41L36.93 4.48h-1.41zM1.41 40l2.83-2.83 1.41 1.41L2.83 40H1.41zM1.41 22.24l2.83-2.83 1.41 1.41L2.83 22.24H1.41zM1.41 4.48l2.83-2.83 1.41 1.41L2.83 4.48H1.41zM19.17 40l2.83-2.83 1.41 1.41L20.59 40h-1.42zM19.17 22.24l2.83-2.83 1.41 1.41L20.59 22.24h-1.42zM19.17 4.48l2.83-2.83 1.41 1.41L20.59 4.48h-1.42zM36.93 40l2.83-2.83 1.41 1.41L38.34 40h-1.41zM36.93 22.24l2.83-2.83 1.41 1.41L38.34 22.24h-1.41zM36.93 4.48l2.83-2.83 1.41 1.41L38.34 4.48h-1.41z\\'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\")';\r\n const patternBgDark = 'url(\"data:image/svg+xml,%3Csvg xmlns=\\'http://www.w3.org/2000/svg\\' width=\\'40\\' height=\\'40\\' viewBox=\\'0 0 40 40\\'%3E%3Cg fill-rule=\\'evenodd\\'%3E%3Cg fill=\\'%239C92AC\\' fill-opacity=\\'0.15\\'%3E%3Cpath d=\\'M0 38.59l2.83-2.83 1.41 1.41L1.41 40H0v-1.41zM0 20.83l2.83-2.83 1.41 1.41L1.41 22.24H0v-1.41zM0 3.07l2.83-2.83 1.41 1.41L1.41 4.48H0V3.07zM17.76 40l2.83-2.83 1.41 1.41L19.17 40h-1.41zM17.76 22.24l2.83-2.83 1.41 1.41L19.17 22.24h-1.41zM17.76 4.48l2.83-2.83 1.41 1.41L19.17 4.48h-1.41zM35.52 40l2.83-2.83 1.41 1.41L36.93 40h-1.41zM35.52 22.24l2.83-2.83 1.41 1.41L36.93 22.24h-1.41zM35.52 4.48l2.83-2.83 1.41 1.41L36.93 4.48h-1.41zM1.41 40l2.83-2.83 1.41 1.41L2.83 40H1.41zM1.41 22.24l2.83-2.83 1.41 1.41L2.83 22.24H1.41zM1.41 4.48l2.83-2.83 1.41 1.41L2.83 4.48H1.41zM19.17 40l2.83-2.83 1.41 1.41L20.59 40h-1.42zM19.17 22.24l2.83-2.83 1.41 1.41L20.59 22.24h-1.42zM19.17 4.48l2.83-2.83 1.41 1.41L20.59 4.48h-1.42zM36.93 40l2.83-2.83 1.41 1.41L38.34 40h-1.41zM36.93 22.24l2.83-2.83 1.41 1.41L38.34 22.24h-1.41zM36.93 4.48l2.83-2.83 1.41 1.41L38.34 4.48h-1.41z\\'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\")';\r\n const patternOpacity = useColorModeValue(0.08, 0.15);\r\n const gradientBgLight = 'radial-gradient(circle at center, rgba(159, 122, 234, 0.1) 0%, rgba(255, 255, 255, 0) 60%)';\r\n const gradientBgDark = 'radial-gradient(circle at center, rgba(159, 122, 234, 0.15) 0%, rgba(0, 0, 0, 0) 60%)';\r\n const scrollbarTrackBg = useColorModeValue('rgba(0,0,0,0.05)', 'rgba(255,255,255,0.05)');\r\n const scrollbarThumbBg = useColorModeValue('rgba(0,0,0,0.2)', 'rgba(255,255,255,0.2)');\r\n const typingBubbleBg = useColorModeValue('gray.100', 'gray.700');\r\n const inputAreaBg = useColorModeValue('gray.50', 'gray.900');\r\n const brainIconColorLight = 'purple.500';\r\n const brainIconColorDark = 'purple.200';\r\n const userIconColorLight = 'blue.500';\r\n const userIconColorDark = 'blue.200';\r\n \r\n // Load questions on component mount\r\n const questions = getChatbotQuestions();\r\n \r\n // Define animations\r\n const fadeIn = keyframes`\r\n from { opacity: 0; transform: translateY(10px); }\r\n to { opacity: 1; transform: translateY(0); }\r\n `;\r\n const pulse = keyframes`\r\n 0% { transform: scale(1); }\r\n 50% { transform: scale(1.05); }\r\n 100% { transform: scale(1); }\r\n `;\r\n const float = keyframes`\r\n 0% { transform: translateY(0px); }\r\n 50% { transform: translateY(-10px); }\r\n 100% { transform: translateY(0px); }\r\n `;\r\n const typing = keyframes`\r\n 0% { opacity: 0.3; }\r\n 50% { opacity: 1; }\r\n 100% { opacity: 0.3; }\r\n `;\r\n const gradientAnimation = keyframes`\r\n 0% { background-position: 0% 50%; }\r\n 50% { background-position: 100% 50%; }\r\n 100% { background-position: 0% 50%; }\r\n `;\r\n\r\n // Enhanced colors and styling\r\n const aiGradient = useColorModeValue(\r\n 'linear-gradient(135deg, purple.400, blue.400)',\r\n 'linear-gradient(135deg, purple.600, blue.800)'\r\n );\r\n const cardGlow = useColorModeValue(\r\n '0 0 15px rgba(128, 90, 213, 0.2)',\r\n '0 0 15px rgba(128, 90, 213, 0.4)'\r\n );\r\n const pulseBg = useColorModeValue('purple.50', 'purple.900');\r\n const bubbleBg = useColorModeValue('gray.50', 'gray.800');\r\n \r\n // Add better debugging right at component initialization\r\n console.log('ChatbotInterface received initialPreferences:', initialPreferences);\r\n \r\n // Effect hooks last\r\n useEffect(() => {\r\n // Start the chatbot with a welcome message only if mounted and not initialized\r\n if (isMountedRef.current && messages.length === 0 && !hasInitializedRef.current) {\r\n console.log('Initializing chat for the first time');\r\n initializeChat();\r\n }\r\n \r\n // Cleanup function to reset flag on unmount\r\n return () => {\r\n console.log('ChatbotInterface initialization effect cleanup');\r\n // Don't reset here - only on full unmount\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n \r\n // Add a separate effect to handle preference changes that doesn't re-initialize the chat\r\n useEffect(() => {\r\n // Only update userAnswers when initialPreferences changes, without re-initializing the chat\r\n if (initialPreferences && Object.keys(initialPreferences).length > 0) {\r\n setUserAnswers(initialPreferences);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [initialPreferences?.user_id]); // Only depend on user_id to prevent extra renders\r\n \r\n useEffect(() => {\r\n scrollToBottom();\r\n }, [messages, isTyping]);\r\n \r\n useEffect(() => {\r\n if (currentQuestion < questions.length && questions[currentQuestion]) {\r\n setIsMultiSelect(!!questions[currentQuestion].multiSelect);\r\n \r\n // Update progress\r\n setProgress(Math.min(100, Math.round((currentQuestion / questions.length) * 100)));\r\n }\r\n }, [currentQuestion, questions]);\r\n \r\n useEffect(() => {\r\n if (isRestarting) {\r\n resetChat();\r\n }\r\n }, [isRestarting]);\r\n \r\n useEffect(() => {\r\n // Set ready for input when AI has finished typing and we're not loading\r\n if (!isTyping && !loading && currentQuestion < questions.length) {\r\n setIsReadyForInput(true);\r\n } else {\r\n setIsReadyForInput(false);\r\n }\r\n }, [isTyping, loading, currentQuestion, questions.length]);\r\n \r\n const initializeChat = () => {\r\n // Prevent initialization if not mounted\r\n if (!isMountedRef.current) {\r\n console.log('Component not mounted, skipping initialization');\r\n return;\r\n }\r\n \r\n // Prevent multiple initializations\r\n if (hasInitializedRef.current) {\r\n console.log('Chat already initialized, skipping');\r\n return;\r\n }\r\n \r\n hasInitializedRef.current = true;\r\n console.log('Initializing chat...');\r\n \r\n // Reset all states\r\n setMessages([]);\r\n setCurrentQuestion(0);\r\n setChatFinished(false);\r\n setShowResults(false);\r\n setProcessedQuestions(new Set());\r\n setProgress(0);\r\n setError(null);\r\n \r\n // Use initial preferences if provided, otherwise empty object\r\n const startingPreferences = initialPreferences || {};\r\n console.log('initializeChat using startingPreferences:', startingPreferences);\r\n \r\n // Only set userAnswers if it's different from current value\r\n if (JSON.stringify(userAnswers) !== JSON.stringify(startingPreferences)) {\r\n setUserAnswers(startingPreferences);\r\n }\r\n \r\n // Simulate AI is typing\r\n setIsTyping(true);\r\n \r\n // Check if user already has preferences saved\r\n // More thorough check for valid preferences\r\n const hasExistingPreferences = initialPreferences && \r\n typeof initialPreferences === 'object' && \r\n Object.entries(initialPreferences).some(([key, value]) => {\r\n // Skip user_id field\r\n if (key === 'user_id') return false;\r\n \r\n // Check arrays for actual content\r\n if (Array.isArray(value)) {\r\n return value.length > 0;\r\n }\r\n \r\n // Check other fields for valid values\r\n return value !== null && \r\n value !== undefined && \r\n value !== '' &&\r\n typeof value !== 'object';\r\n });\r\n\r\n console.log('Initial preferences in initializeChat:', initialPreferences);\r\n console.log('Has existing preferences in initializeChat:', hasExistingPreferences);\r\n \r\n if (hasExistingPreferences) {\r\n // Generate a summary of existing preferences\r\n let preferenceSummary = '';\r\n \r\n // Add career goal if available\r\n if (initialPreferences?.career_goal) {\r\n preferenceSummary += `• Career goal: ${initialPreferences.career_goal}\\n`;\r\n }\r\n \r\n // Add technical skills if available\r\n if (initialPreferences?.technical_skills && initialPreferences.technical_skills.length > 0) {\r\n preferenceSummary += `• Technical skills: ${initialPreferences.technical_skills.join(', ')}\\n`;\r\n }\r\n \r\n // Add primary interest if available\r\n if (initialPreferences?.primary_interest) {\r\n preferenceSummary += `• Primary interest: ${initialPreferences.primary_interest}\\n`;\r\n }\r\n\r\n // Add experience level if available\r\n if (initialPreferences?.experience_level) {\r\n preferenceSummary += `• Experience level: ${initialPreferences.experience_level}\\n`;\r\n }\r\n \r\n // Add welcome message acknowledging existing preferences\r\n setTimeout(() => {\r\n addMessage({\r\n id: `welcome-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: `Welcome back! 👋 I see you've already completed the course preference questionnaire before. Here's a summary of your existing preferences:\\n\\n${preferenceSummary}\\nWould you like to view your complete existing preferences or start a new questionnaire to update them?`,\r\n timestamp: new Date(),\r\n });\r\n setIsTyping(false);\r\n \r\n // After a short delay, show option buttons\r\n setTimeout(() => {\r\n addMessage({\r\n id: `options-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: '**Please select an option:**',\r\n timestamp: new Date(),\r\n options: [\r\n { value: 'view_preferences', label: 'View my existing preferences' },\r\n { value: 'new_questionnaire', label: 'Start a new questionnaire' }\r\n ]\r\n });\r\n \r\n // Special handling for this options selection\r\n setIsReadyForInput(true);\r\n setIsMultiSelect(false);\r\n }, 1000);\r\n }, 1500);\r\n } else {\r\n // Standard welcome for new users\r\n setTimeout(() => {\r\n addMessage({\r\n id: `welcome-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: 'Hello! 👋 I\\'m your AI course recommendation assistant. I\\'ll ask you a series of questions to understand your learning goals and preferences. Let\\'s get started with the questionnaire!',\r\n timestamp: new Date(),\r\n });\r\n setIsTyping(false);\r\n \r\n // Ask the first question after a short delay\r\n setTimeout(() => {\r\n if (questions.length > 0) {\r\n askQuestion(0);\r\n }\r\n }, 1000);\r\n }, 1500);\r\n }\r\n };\r\n \r\n const scrollToBottom = () => {\r\n messageEndRef.current?.scrollIntoView({ behavior: 'smooth' });\r\n };\r\n \r\n const addMessage = (message: ChatMessageType) => {\r\n const messageWithDateTimestamp = {\r\n ...message,\r\n timestamp: message.timestamp instanceof Date ? message.timestamp : new Date(message.timestamp)\r\n };\r\n setMessages(prev => [...prev, messageWithDateTimestamp]);\r\n };\r\n \r\n const askQuestion = (questionIndex: number) => {\r\n if (questionIndex >= questions.length) {\r\n finishChat();\r\n return;\r\n }\r\n \r\n const question = questions[questionIndex];\r\n \r\n // Skip if we've already processed this question\r\n if (processedQuestions.has(question.key)) {\r\n console.log(`Skipping duplicate question: ${question.key}`);\r\n setCurrentQuestion(questionIndex + 1);\r\n askQuestion(questionIndex + 1);\r\n return;\r\n }\r\n \r\n // Mark this question as processed\r\n setProcessedQuestions(prev => new Set(prev).add(question.key));\r\n \r\n // IMPORTANT: Reset states for the new question\r\n // 1. Set not ready for input while AI is \"typing\"\r\n setIsReadyForInput(false);\r\n \r\n // 2. Reset selectedOptions array to empty BEFORE setting multiSelect\r\n // This ensures a clean slate for the new question\r\n setSelectedOptions([]);\r\n \r\n // 3. Set the multi-select flag based on the current question\r\n // Do this AFTER resetting selectedOptions\r\n setIsMultiSelect(!!question.multiSelect);\r\n \r\n // Simulate AI is typing\r\n setIsTyping(true);\r\n \r\n // Display the question with a delay to simulate typing\r\n setTimeout(() => {\r\n addMessage({\r\n id: `q-${questionIndex}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: question.question,\r\n timestamp: new Date(),\r\n });\r\n setIsTyping(false);\r\n \r\n // For input questions, focus the input field\r\n if (!question.options || !question.options.length) {\r\n setTimeout(() => {\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n }, 100);\r\n }\r\n \r\n // Now ready for input\r\n setIsReadyForInput(true);\r\n }, 1000);\r\n };\r\n \r\n const finishChat = () => {\r\n // Simulate AI is typing\r\n setIsTyping(true);\r\n \r\n // All questions are answered\r\n setTimeout(() => {\r\n addMessage({\r\n id: `final-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: 'Thanks for providing all the information! Here\\'s a summary of your answers:',\r\n timestamp: new Date(),\r\n });\r\n setIsTyping(false);\r\n \r\n // Show answer summary after a brief delay\r\n setTimeout(() => {\r\n // Create a summary of all answers for verification with better formatting\r\n const summaryText = questions.map(question => {\r\n const answer = userAnswers[question.key];\r\n let displayAnswer = '';\r\n \r\n // Format array answers with bullet points for better readability\r\n if (Array.isArray(answer) && answer.length > 0) {\r\n displayAnswer = '\\n• ' + answer.join('\\n• ');\r\n } else if (answer) {\r\n displayAnswer = answer;\r\n } else {\r\n displayAnswer = 'Not provided';\r\n }\r\n \r\n return `**${question.question}**\\n${displayAnswer}`;\r\n }).join('\\n\\n');\r\n \r\n // Add summary message\r\n addMessage({\r\n id: `summary-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: summaryText,\r\n timestamp: new Date(),\r\n });\r\n \r\n // After showing the summary, start saving process\r\n addMessage({\r\n id: `saving-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: 'Saving your preferences and generating recommendations...',\r\n timestamp: new Date(),\r\n });\r\n \r\n setLoading(true);\r\n setError(null);\r\n \r\n // Save user preferences to database if user is logged in\r\n if (user) {\r\n console.log(\"Saving user preferences:\", userAnswers);\r\n \r\n // Ensure all array fields are properly formatted before saving\r\n const answersToSave = {\r\n ...userAnswers,\r\n certifications: Array.isArray(userAnswers.certifications) \r\n ? userAnswers.certifications \r\n : (userAnswers.certifications ? [userAnswers.certifications] : []),\r\n technical_skills: Array.isArray(userAnswers.technical_skills) \r\n ? userAnswers.technical_skills \r\n : (userAnswers.technical_skills ? [userAnswers.technical_skills] : []),\r\n improvement_areas: Array.isArray(userAnswers.improvement_areas) \r\n ? userAnswers.improvement_areas \r\n : (userAnswers.improvement_areas ? [userAnswers.improvement_areas] : []),\r\n soft_skills: Array.isArray(userAnswers.soft_skills) \r\n ? userAnswers.soft_skills \r\n : (userAnswers.soft_skills ? [userAnswers.soft_skills] : [])\r\n };\r\n \r\n console.log(\"Processed answers to save:\", answersToSave);\r\n \r\n // Save the processed answers to Supabase\r\n saveUserPreferences(user.id, answersToSave)\r\n .then(success => {\r\n setLoading(false);\r\n if (success) {\r\n addMessage({\r\n id: `success-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: 'Your preferences have been saved! Here are your course recommendations based on your answers.',\r\n timestamp: new Date(),\r\n });\r\n setChatFinished(true);\r\n setShowResults(true);\r\n if (onComplete) {\r\n onComplete();\r\n }\r\n } else {\r\n setError('There was an issue saving your preferences');\r\n addMessage({\r\n id: `error-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: 'There was an issue saving your preferences. Please try again later.',\r\n timestamp: new Date(),\r\n });\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error saving preferences:', error);\r\n setLoading(false);\r\n setError('There was an error processing your request');\r\n addMessage({\r\n id: `error-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: 'There was an error processing your request. Please try again later.',\r\n timestamp: new Date(),\r\n });\r\n });\r\n } else {\r\n setLoading(false);\r\n addMessage({\r\n id: `no-user-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: 'To save your preferences and get personalized recommendations, please sign in first.',\r\n timestamp: new Date(),\r\n });\r\n }\r\n }, 1000);\r\n }, 1500);\r\n };\r\n \r\n const handleSendMessage = () => {\r\n if (currentMessage.trim() === '' || !isReadyForInput) return;\r\n \r\n // Add user message\r\n addMessage({\r\n id: `a-${currentQuestion}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'user',\r\n text: currentMessage.trim(),\r\n timestamp: new Date(),\r\n });\r\n \r\n // Store user's answer\r\n const question = questions[currentQuestion];\r\n if (question && question.key) {\r\n setUserAnswers(prev => ({\r\n ...prev,\r\n [question.key]: currentMessage.trim()\r\n }));\r\n \r\n // Mark that we're processing input\r\n setIsReadyForInput(false);\r\n } else {\r\n console.error('Cannot access question or question key is missing');\r\n }\r\n \r\n // Clear input and move to next question\r\n setCurrentMessage('');\r\n setTimeout(() => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n setCurrentQuestion(nextQuestionIndex);\r\n \r\n // Only ask the next question if we haven't reached the end\r\n if (nextQuestionIndex < questions.length) {\r\n askQuestion(nextQuestionIndex);\r\n } else {\r\n finishChat();\r\n }\r\n }, 800);\r\n };\r\n \r\n const handleOptionSelect = (options: string[]) => {\r\n if (currentQuestion >= questions.length || !isReadyForInput) return;\r\n \r\n // Special handling for the initial options when user already has preferences\r\n if (options.length === 1 && (options[0] === 'view_preferences' || options[0] === 'new_questionnaire')) {\r\n // Set ready for input to false during processing\r\n setIsReadyForInput(false);\r\n \r\n // Show the user's selection in the chat\r\n const selectedOption = options[0];\r\n const displayText = selectedOption === 'view_preferences' \r\n ? 'View my existing preferences' \r\n : 'Start a new questionnaire';\r\n \r\n // Add user message showing the selection\r\n addMessage({\r\n id: `a-special-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'user',\r\n text: displayText,\r\n timestamp: new Date(),\r\n });\r\n \r\n // Process the special option\r\n if (selectedOption === 'view_preferences') {\r\n // User wants to view their existing preferences\r\n setTimeout(() => {\r\n addMessage({\r\n id: `view-prefs-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: 'Great! Redirecting you to the recommendations tab where you can see your full preferences and course recommendations.',\r\n timestamp: new Date(),\r\n });\r\n \r\n // Navigate to recommendations tab with a delay to allow message to be seen\r\n setTimeout(() => {\r\n // Use consistent navigation method\r\n navigateToRecommendations();\r\n }, 1500);\r\n }, 1000);\r\n } else {\r\n // User wants to start a new questionnaire\r\n setTimeout(() => {\r\n addMessage({\r\n id: `new-quest-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: 'Great! I\\'ll help you create a new profile with updated preferences. Your previous preferences will be replaced once you complete this questionnaire. Let\\'s begin!',\r\n timestamp: new Date(),\r\n });\r\n \r\n // Clear existing preferences to start fresh\r\n setUserAnswers({});\r\n \r\n // Start with the first question after a short delay\r\n setTimeout(() => {\r\n setCurrentQuestion(0);\r\n askQuestion(0);\r\n }, 1500);\r\n }, 1000);\r\n }\r\n \r\n return;\r\n }\r\n \r\n // Regular question handling from here (existing code)\r\n const question = questions[currentQuestion];\r\n if (!question || !question.key) {\r\n console.error('Question or key is missing');\r\n return;\r\n }\r\n \r\n // Set ready for input to false during processing\r\n setIsReadyForInput(false);\r\n \r\n // Important: Only use the options passed from the current selection\r\n // Do not mix with selectedOptions state to avoid accumulation\r\n \r\n // Determine the selected value(s) based on whether it's multi-select\r\n const selectedValue = question.multiSelect ? options : options[0];\r\n \r\n // Show the user's selection in the chat\r\n let displayText = '';\r\n if (Array.isArray(selectedValue)) {\r\n displayText = selectedValue.join(', ');\r\n } else {\r\n displayText = selectedValue;\r\n }\r\n \r\n // Add user message showing the selection\r\n addMessage({\r\n id: `a-${currentQuestion}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'user',\r\n text: displayText,\r\n timestamp: new Date(),\r\n });\r\n \r\n // Store user's answer in the userAnswers state - IMPORTANT: Don't mix with previous data\r\n setUserAnswers(prev => {\r\n const newAnswers = { ...prev };\r\n \r\n // Special handling for soft_skills to ensure they're always stored as an array\r\n if (question.key === 'soft_skills') {\r\n newAnswers[question.key] = options.filter(option => option !== 'None/Not Interested');\r\n console.log(`Saving soft skills: ${newAnswers[question.key]}`);\r\n }\r\n // Handle other multi-select questions correctly\r\n else if (question.multiSelect) {\r\n // Always use the current selection for this question, filter out \"None\" options\r\n newAnswers[question.key] = options.filter(option => option !== 'None' && option !== 'None/Not Interested');\r\n } else {\r\n // For single-select, just use the first option\r\n newAnswers[question.key] = options[0];\r\n }\r\n \r\n return newAnswers;\r\n });\r\n \r\n // Move to next question after a short delay\r\n setTimeout(() => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n setCurrentQuestion(nextQuestionIndex);\r\n \r\n // Clear the selectedOptions before moving to the next question\r\n // This is critical to avoid leaking selections between questions\r\n setSelectedOptions([]);\r\n \r\n // Ask the next question if there is one\r\n if (nextQuestionIndex < questions.length) {\r\n askQuestion(nextQuestionIndex);\r\n } else {\r\n finishChat();\r\n }\r\n }, 1000);\r\n };\r\n \r\n const handleRestart = () => {\r\n initializeChat();\r\n };\r\n \r\n const handleKeyPress = (e: React.KeyboardEvent) => {\r\n if (e.key === 'Enter') {\r\n handleSendMessage();\r\n }\r\n };\r\n \r\n // Determine if we should show options selector for the current question\r\n const currentQuestionHasOptions = \r\n currentQuestion < questions.length && \r\n questions[currentQuestion] && \r\n questions[currentQuestion].options && \r\n Array.isArray(questions[currentQuestion].options) &&\r\n questions[currentQuestion].options.length > 0;\r\n \r\n const resetChat = () => {\r\n // Skip if not mounted\r\n if (!isMountedRef.current) {\r\n console.log('Component not mounted, skipping reset');\r\n return;\r\n }\r\n \r\n console.log('Resetting chat completely');\r\n \r\n // Reset initialization state\r\n hasInitializedRef.current = false;\r\n \r\n // Clear all states\r\n setMessages([]);\r\n setCurrentQuestion(0);\r\n setChatFinished(false);\r\n setShowResults(false);\r\n setProcessedQuestions(new Set());\r\n setProgress(0);\r\n setError(null);\r\n setIsTyping(false);\r\n \r\n // Reset user answers to initial preferences or empty object\r\n const startingPreferences = initialPreferences || {};\r\n setUserAnswers(startingPreferences);\r\n \r\n // Start fresh after a short delay to ensure all state updates have completed\r\n setTimeout(() => {\r\n if (isMountedRef.current) {\r\n initializeChat();\r\n }\r\n }, 100);\r\n };\r\n \r\n const renderHelpModal = () => (\r\n <Modal isOpen={helpDisclosure.isOpen} onClose={helpDisclosure.onClose} size=\"lg\">\r\n <ModalOverlay bg=\"blackAlpha.300\" backdropFilter=\"blur(5px)\" />\r\n <ModalContent borderRadius=\"xl\">\r\n <ModalHeader \r\n bg={headerBgColor} \r\n color=\"white\" \r\n borderTopRadius=\"xl\"\r\n display=\"flex\"\r\n alignItems=\"center\"\r\n >\r\n <Icon as={HelpCircle} mr={2} />\r\n AI Chat Assistant Help\r\n </ModalHeader>\r\n <ModalCloseButton color=\"white\" />\r\n <ModalBody py={6}>\r\n <VStack spacing={5} align=\"stretch\">\r\n <Box>\r\n <Heading size=\"sm\" mb={2}>How It Works</Heading>\r\n <Text>\r\n Our AI assistant will ask you a series of questions to understand your learning goals, \r\n interests, and preferences. Based on your answers, we'll provide personalized course recommendations.\r\n </Text>\r\n </Box>\r\n \r\n <Divider />\r\n \r\n <Box>\r\n <Heading size=\"sm\" mb={2}>Tips for Best Results</Heading>\r\n <UnorderedList spacing={2} pl={4}>\r\n <ListItem>\r\n <ListIcon as={CheckCircle2} color=\"green.500\" />\r\n Answer questions as accurately as possible\r\n </ListItem>\r\n <ListItem>\r\n <ListIcon as={CheckCircle2} color=\"green.500\" />\r\n For multiple choice questions, select all that apply\r\n </ListItem>\r\n <ListItem>\r\n <ListIcon as={CheckCircle2} color=\"green.500\" />\r\n You can restart the chat at any time using the restart button\r\n </ListItem>\r\n <ListItem>\r\n <ListIcon as={CheckCircle2} color=\"green.500\" />\r\n Your preferences will be saved for future sessions\r\n </ListItem>\r\n </UnorderedList>\r\n </Box>\r\n \r\n <Divider />\r\n \r\n <Box>\r\n <Heading size=\"sm\" mb={2}>About Our AI</Heading>\r\n <Text>\r\n Our course recommendation system uses advanced AI to analyze your preferences and match them with \r\n the most suitable learning resources. Your data is kept private and secure.\r\n </Text>\r\n </Box>\r\n </VStack>\r\n </ModalBody>\r\n <ModalFooter>\r\n <Button colorScheme=\"purple\" onClick={helpDisclosure.onClose}>\r\n Got it\r\n </Button>\r\n </ModalFooter>\r\n </ModalContent>\r\n </Modal>\r\n );\r\n \r\n // Add helper method for navigation to recommendations tab\r\n const navigateToRecommendations = () => {\r\n console.log('Navigating to recommendations tab');\r\n \r\n // Check if we have a specific handler from parent\r\n if (typeof onViewPreferences === 'function') {\r\n onViewPreferences();\r\n } else if (setTabIndex) {\r\n // Use context method if available\r\n setTabIndex(2);\r\n } else {\r\n // No navigation method available\r\n console.error('No method available to navigate to recommendations tab');\r\n \r\n // Show message to user instead\r\n addMessage({\r\n id: `nav-error-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\r\n sender: 'assistant',\r\n text: 'I apologize, but I cannot redirect you to the recommendations page. Please click on the \"Recommendations\" tab at the top of the page to view your saved preferences.',\r\n timestamp: new Date(),\r\n });\r\n }\r\n };\r\n \r\n // Update the menu handler to use the navigation helper\r\n const renderChatMenu = () => {\r\n return (\r\n <Menu>\r\n <Tooltip label=\"Options\">\r\n <MenuButton\r\n as={IconButton}\r\n aria-label=\"Options\"\r\n icon={<MoreVertical size={20} />}\r\n variant=\"ghost\"\r\n />\r\n </Tooltip>\r\n <MenuList zIndex={10}>\r\n <MenuItem icon={<RefreshCw size={16} />} onClick={resetChat}>\r\n Restart Chat\r\n </MenuItem>\r\n <MenuItem \r\n icon={<Settings size={16} />} \r\n onClick={navigateToRecommendations}\r\n >\r\n View Preferences\r\n </MenuItem>\r\n <MenuItem icon={<HelpCircle size={16} />} onClick={helpDisclosure.onOpen}>\r\n Help\r\n </MenuItem>\r\n </MenuList>\r\n </Menu>\r\n );\r\n };\r\n \r\n // Set mounted flag when component mounts\r\n useEffect(() => {\r\n console.log('ChatbotInterface mounted');\r\n isMountedRef.current = true;\r\n \r\n return () => {\r\n console.log('ChatbotInterface unmounted');\r\n isMountedRef.current = false;\r\n };\r\n }, []);\r\n \r\n return (\r\n <Box \r\n h=\"100%\" \r\n borderWidth=\"1px\" \r\n borderRadius=\"xl\" \r\n bg={bgColor}\r\n borderColor={borderColor}\r\n overflow=\"hidden\"\r\n position=\"relative\"\r\n display=\"flex\"\r\n flexDirection=\"column\"\r\n boxShadow=\"lg\"\r\n sx={{\r\n '&::before': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n height: '100%',\r\n backgroundImage: colorMode === 'light' ? patternBgLight : patternBgDark,\r\n opacity: patternOpacity,\r\n zIndex: 0,\r\n },\r\n overflow: 'hidden',\r\n '&::after': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n top: '-50%',\r\n left: '-50%',\r\n width: '200%',\r\n height: '200%',\r\n background: colorMode === 'light' ? gradientBgLight : gradientBgDark,\r\n zIndex: 0,\r\n opacity: 0.7,\r\n }\r\n }}\r\n >\r\n {renderHelpModal()}\r\n \r\n {/* Chat header with enhanced styling */}\r\n <Flex \r\n py={4}\r\n px={6}\r\n bgGradient=\"linear(to-r, purple.600, blue.500)\"\r\n color=\"white\"\r\n alignItems=\"center\"\r\n justifyContent=\"space-between\"\r\n boxShadow=\"sm\"\r\n position=\"relative\"\r\n overflow=\"hidden\"\r\n zIndex={1}\r\n sx={{\r\n '&::after': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0,\r\n backgroundImage: \r\n 'url(\"data:image/svg+xml,%3Csvg width=\\'20\\' height=\\'20\\' viewBox=\\'0 0 20 20\\' xmlns=\\'http://www.w3.org/2000/svg\\'%3E%3Cg fill=\\'%23ffffff\\' fill-opacity=\\'0.1\\' fill-rule=\\'evenodd\\'%3E%3Ccircle cx=\\'3\\' cy=\\'3\\' r=\\'1\\'/%3E%3Ccircle cx=\\'13\\' cy=\\'13\\' r=\\'1\\'/%3E%3C/g%3E%3C/svg%3E\")',\r\n zIndex: 1,\r\n }\r\n }}\r\n >\r\n <Flex align=\"center\" zIndex={2}>\r\n {onBack && (\r\n <IconButton\r\n aria-label=\"Go back\"\r\n icon={<ArrowLeft size={18} />}\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n color=\"white\"\r\n mr={2}\r\n onClick={onBack}\r\n _hover={{ bg: 'rgba(255,255,255,0.2)' }}\r\n />\r\n )}\r\n \r\n <MotionBox\r\n animate={{ \r\n y: [0, -5, 0],\r\n rotate: [0, 5, 0] \r\n }}\r\n transition={{ \r\n duration: 2,\r\n repeat: Infinity,\r\n ease: \"easeInOut\"\r\n }}\r\n mr={3}\r\n >\r\n <Avatar \r\n size=\"sm\" \r\n bg={aiAvatarBg} \r\n icon={<Icon as={Sparkles} boxSize={4} color={colorMode === 'light' ? brainIconColorLight : brainIconColorDark} />} \r\n >\r\n <AvatarBadge boxSize='1.0em' bg='green.500' />\r\n </Avatar>\r\n </MotionBox>\r\n \r\n <Box>\r\n <Heading size=\"md\" fontWeight=\"600\">CourseWise AI</Heading>\r\n <Text fontSize=\"xs\" opacity={0.8}>\r\n Your Smart Learning Assistant ✨\r\n </Text>\r\n </Box>\r\n </Flex>\r\n \r\n <HStack spacing={2} zIndex={2}>\r\n {renderChatMenu()}\r\n </HStack>\r\n </Flex>\r\n \r\n {/* Progress bar with enhanced styling */}\r\n <Box px={6} pt={4} zIndex={1}>\r\n <Flex justify=\"space-between\" align=\"center\" mb={1}>\r\n <HStack>\r\n <Badge \r\n colorScheme=\"purple\" \r\n variant=\"subtle\" \r\n fontSize=\"xs\" \r\n borderRadius=\"full\" \r\n px={2}\r\n sx={{\r\n animation: `${fadeIn} 0.5s ease-out`\r\n }}\r\n >\r\n Question {currentQuestion + 1} of {questions.length} 📝\r\n </Badge>\r\n \r\n {questions[currentQuestion] && (\r\n <Badge \r\n colorScheme={questions[currentQuestion].multiSelect ? \"blue\" : \"green\"} \r\n variant=\"subtle\" \r\n fontSize=\"xs\" \r\n borderRadius=\"full\" \r\n px={2}\r\n sx={{\r\n animation: `${fadeIn} 0.5s ease-out`\r\n }}\r\n >\r\n {questions[currentQuestion].multiSelect ? \"Multiple Choice 🔄\" : \"Single Choice ☝️\"}\r\n </Badge>\r\n )}\r\n </HStack>\r\n \r\n <Box\r\n css={{\r\n opacity: 0,\r\n transform: 'translateY(10px)',\r\n animation: 'fadeIn 0.5s forwards',\r\n '@keyframes fadeIn': {\r\n to: {\r\n opacity: 1,\r\n transform: 'translateY(0)'\r\n }\r\n }\r\n }}\r\n >\r\n <Text fontSize=\"xs\" fontWeight=\"medium\" color={accentColor}>\r\n {progress}% Complete 🚀\r\n </Text>\r\n </Box>\r\n </Flex>\r\n <Progress \r\n value={progress} \r\n size=\"sm\" \r\n colorScheme=\"purple\" \r\n borderRadius=\"full\"\r\n bg={progressTrackColor}\r\n hasStripe\r\n isAnimated\r\n sx={{\r\n '& > div': {\r\n transition: 'width 0.5s ease-in-out'\r\n }\r\n }}\r\n />\r\n </Box>\r\n \r\n {/* Chat messages with enhanced styling */}\r\n <Box \r\n flex=\"1\"\r\n display=\"flex\"\r\n flexDirection=\"column\"\r\n position=\"relative\"\r\n zIndex={1}\r\n >\r\n <VStack \r\n flex=\"1\"\r\n p={6} \r\n spacing={4} \r\n align=\"stretch\" \r\n overflowY=\"auto\"\r\n maxH=\"calc(100vh - 300px)\"\r\n css={{\r\n '&::-webkit-scrollbar': {\r\n width: '8px',\r\n },\r\n '&::-webkit-scrollbar-track': {\r\n width: '10px',\r\n background: scrollbarTrackBg,\r\n borderRadius: '24px',\r\n },\r\n '&::-webkit-scrollbar-thumb': {\r\n background: scrollbarThumbBg,\r\n borderRadius: '24px',\r\n },\r\n }}\r\n >\r\n {error && (\r\n <MotionBox\r\n initial={{ opacity: 0, y: 20 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3 }}\r\n >\r\n <Alert status=\"error\" borderRadius=\"lg\" mb={4} boxShadow=\"md\">\r\n <AlertIcon />\r\n <Box flex=\"1\">\r\n <AlertTitle>Error ❌</AlertTitle>\r\n <AlertDescription display=\"block\">{error}</AlertDescription>\r\n </Box>\r\n <Button size=\"sm\" colorScheme=\"red\" onClick={handleRestart}>\r\n Restart\r\n </Button>\r\n </Alert>\r\n </MotionBox>\r\n )}\r\n \r\n {messages.map((msg, index) => (\r\n <MotionBox\r\n key={msg.id}\r\n initial={{ opacity: 0, y: 20 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, delay: index * 0.1 }}\r\n >\r\n <ChatMessage \r\n message={msg} \r\n onOptionSelect={(option) => {\r\n // Handle special option selection directly\r\n if (option === 'view_preferences' || option === 'new_questionnaire') {\r\n handleOptionSelect([option]);\r\n }\r\n }}\r\n />\r\n </MotionBox>\r\n ))}\r\n \r\n {isTyping && (\r\n <MotionFlex \r\n align=\"flex-start\" \r\n opacity={0.8}\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3 }}\r\n >\r\n <Avatar \r\n size=\"sm\" \r\n bg={aiAvatarBg} \r\n icon={<Bot size={16} color={colorMode === 'light' ? brainIconColorLight : brainIconColorDark} />} \r\n mr={2}\r\n />\r\n <Box \r\n bg={typingBubbleBg} \r\n py={2} \r\n px={4} \r\n borderRadius=\"lg\" \r\n borderTopLeftRadius=\"0\"\r\n maxW=\"80%\"\r\n boxShadow=\"sm\"\r\n >\r\n <Text color={typingColor} fontStyle=\"italic\" fontSize=\"sm\">\r\n AI is thinking\r\n <Box as=\"span\" sx={{ \r\n display: \"inline-flex\",\r\n '& > span': {\r\n width: \"5px\",\r\n height: \"5px\",\r\n marginLeft: \"1px\",\r\n marginRight: \"1px\",\r\n borderRadius: \"50%\",\r\n display: \"inline-block\",\r\n backgroundColor: typingColor,\r\n animation: `${typing} 1.4s infinite both`,\r\n },\r\n '& > span:nth-of-type(2)': {\r\n animationDelay: \"0.2s\"\r\n },\r\n '& > span:nth-of-type(3)': {\r\n animationDelay: \"0.4s\"\r\n }\r\n }}>\r\n <Box as=\"span\"></Box>\r\n <Box as=\"span\"></Box>\r\n <Box as=\"span\"></Box>\r\n </Box>\r\n </Text>\r\n </Box>\r\n </MotionFlex>\r\n )}\r\n \r\n {loading && (\r\n <Flex justify=\"center\" py={4}>\r\n <MotionBox\r\n animate={{ \r\n rotate: 360\r\n }}\r\n transition={{\r\n duration: 2,\r\n repeat: Infinity,\r\n ease: \"linear\"\r\n }}\r\n >\r\n <Spinner color=\"purple.500\" size=\"md\" thickness=\"3px\" />\r\n </MotionBox>\r\n </Flex>\r\n )}\r\n \r\n <div ref={messageEndRef} />\r\n </VStack>\r\n \r\n {/* Results Section */}\r\n {showResults && (\r\n <MotionBox \r\n p={6} \r\n borderTopWidth=\"1px\" \r\n borderColor={borderColor}\r\n initial={{ opacity: 0, y: 20 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.5 }}\r\n width=\"100%\"\r\n bg={useColorModeValue('white', 'gray.800')}\r\n >\r\n <RecommendationResults \r\n onRestartChat={handleRestart} \r\n preferences={userAnswers}\r\n loading={loading}\r\n />\r\n </MotionBox>\r\n )}\r\n </Box>\r\n \r\n {/* Input Area - Fixed at bottom */}\r\n <Box\r\n position=\"relative\"\r\n borderTop=\"1px solid\" \r\n borderColor={borderColor} \r\n bg={inputAreaBg}\r\n zIndex={3}\r\n >\r\n {currentQuestionHasOptions ? (\r\n <OptionsSelector \r\n question={questions[currentQuestion]?.question}\r\n options={questions[currentQuestion]?.options || []}\r\n selectedOptions={selectedOptions}\r\n multiSelect={isMultiSelect}\r\n isDisabled={!isReadyForInput}\r\n onSelect={handleOptionSelect}\r\n subtitle={isMultiSelect ? \"Select all that apply\" : \"Select one option\"}\r\n />\r\n ) : (\r\n <Flex p={4}>\r\n <InputGroup size=\"lg\">\r\n <Input\r\n ref={inputRef}\r\n placeholder={isReadyForInput ? \"Type your answer here...\" : \"Waiting for AI...\"}\r\n value={currentMessage}\r\n onChange={(e) => setCurrentMessage(e.target.value)}\r\n onKeyPress={handleKeyPress}\r\n bg={inputBgColor}\r\n borderRadius=\"lg\"\r\n _placeholder={{ opacity: 0.7 }}\r\n isDisabled={!isReadyForInput || loading || chatFinished}\r\n />\r\n <InputRightElement>\r\n <Tooltip label={isReadyForInput ? \"Send\" : \"Please wait\"} placement=\"top\">\r\n <IconButton\r\n aria-label=\"Send message\"\r\n icon={<Send size={20} />}\r\n isRound\r\n colorScheme=\"blue\"\r\n size=\"sm\"\r\n onClick={handleSendMessage}\r\n isDisabled={!isReadyForInput || currentMessage.trim() === '' || loading || chatFinished}\r\n _hover={{ transform: 'scale(1.1)' }}\r\n transition=\"all 0.2s ease\"\r\n />\r\n </Tooltip>\r\n </InputRightElement>\r\n </InputGroup>\r\n </Flex>\r\n )}\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default ChatbotInterface; ","import React, { useState, useEffect, useMemo, useRef } from 'react';\r\nimport { \r\n Box, Heading, Text, Button, VStack, HStack, Badge, \r\n SimpleGrid, Card, CardBody, Tab, TabList, TabPanel, \r\n TabPanels, Tabs, useColorModeValue, Flex, Icon,\r\n IconButton\r\n} from '@chakra-ui/react';\r\nimport { \r\n ChevronLeft, MessageSquare, ListChecks, BookOpen, \r\n School, ArrowRight, ArrowLeft\r\n} from 'lucide-react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport NavBar from '../shared/NavBar';\r\nimport { motion } from 'framer-motion';\r\n\r\n// Create motion components from Chakra components\r\nconst MotionBox = motion(Box);\r\nconst MotionFlex = motion(Flex);\r\nconst MotionVStack = motion(VStack);\r\nconst MotionSimpleGrid = motion(SimpleGrid);\r\n\r\nimport ChatbotInterface from './components/ChatbotInterface';\r\nimport RecommendationResults from './components/RecommendationResults';\r\nimport { ErrorBoundaryComponent } from '../../components/ErrorBoundary';\r\nimport { getUserPreferences } from '../../services/courseRecommendation';\r\nimport { useAuth } from '../../lib/contexts/AuthContext';\r\nimport { useCourseRecommendation } from '../../context/CourseRecommendationContext';\r\nimport { UserCoursePreferences } from '../../types/courseRecommendation';\r\n\r\ninterface CourseRecommendationContentProps {\r\n tabIndex: number;\r\n setTabIndex: (index: number) => void;\r\n userPreferences?: UserCoursePreferences | null;\r\n isLoading?: boolean;\r\n preferencesLoaded?: boolean;\r\n}\r\n\r\nconst CourseRecommendationContent: React.FC<CourseRecommendationContentProps> = ({ \r\n tabIndex, \r\n setTabIndex, \r\n userPreferences, \r\n isLoading,\r\n preferencesLoaded\r\n}) => {\r\n const navigate = useNavigate();\r\n // Colors for light/dark mode\r\n const bgColor = useColorModeValue('white', 'gray.800');\r\n const cardBg = useColorModeValue('white', 'gray.700');\r\n const accentColor = useColorModeValue('blue.500', 'blue.300');\r\n \r\n const handleStartChat = () => {\r\n setTabIndex(1);\r\n };\r\n\r\n const handleViewRecommendations = () => {\r\n setTabIndex(2);\r\n };\r\n\r\n const handleGoBack = () => {\r\n navigate('/academic-tools');\r\n };\r\n\r\n return (\r\n <Box\r\n bg={bgColor}\r\n borderRadius=\"xl\"\r\n boxShadow=\"lg\"\r\n p={6}\r\n minH=\"90vh\"\r\n position=\"relative\"\r\n overflow=\"hidden\"\r\n _before={{\r\n content: '\"\"',\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0,\r\n bgGradient: useColorModeValue(\r\n 'linear(to-br, rgba(240,249,255,0.8), rgba(230,245,255,0.9))',\r\n 'linear(to-br, rgba(20,30,48,0.8), rgba(15,22,36,0.9))'\r\n ),\r\n zIndex: 0,\r\n backgroundImage: useColorModeValue(\r\n 'url(\"data:image/svg+xml,%3Csvg width=\\'60\\' height=\\'60\\' viewBox=\\'0 0 60 60\\' xmlns=\\'http://www.w3.org/2000/svg\\'%3E%3Cg fill=\\'none\\' fill-rule=\\'evenodd\\'%3E%3Cg fill=\\'%239C92AC\\' fill-opacity=\\'0.05\\'%3E%3Cpath d=\\'M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z\\'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\")',\r\n 'url(\"data:image/svg+xml,%3Csvg width=\\'60\\' height=\\'60\\' viewBox=\\'0 0 60 60\\' xmlns=\\'http://www.w3.org/2000/svg\\'%3E%3Cg fill=\\'none\\' fill-rule=\\'evenodd\\'%3E%3Cg fill=\\'%239C92AC\\' fill-opacity=\\'0.1\\'%3E%3Cpath d=\\'M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z\\'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\")'\r\n ),\r\n }}\r\n >\r\n <Box position=\"relative\" zIndex={1}>\r\n {/* Back button styled like first image */}\r\n <Flex justify=\"flex-end\" mb={4}>\r\n <Button \r\n leftIcon={<ArrowLeft size={16} />} \r\n onClick={handleGoBack}\r\n size=\"md\"\r\n variant=\"outline\"\r\n colorScheme=\"purple\"\r\n borderRadius=\"full\"\r\n px={6}\r\n py={2}\r\n fontWeight=\"medium\"\r\n >\r\n Back to Tools\r\n </Button>\r\n </Flex>\r\n \r\n <Tabs index={tabIndex} onChange={setTabIndex} variant=\"soft-rounded\" colorScheme=\"blue\">\r\n <TabList mb={4} justifyContent=\"center\">\r\n <Tab>\r\n <HStack>\r\n <Icon as={School} />\r\n <Text>Start</Text>\r\n </HStack>\r\n </Tab>\r\n <Tab>\r\n <HStack>\r\n <Icon as={MessageSquare} />\r\n <Text>AI Chat</Text>\r\n </HStack>\r\n </Tab>\r\n <Tab>\r\n <HStack>\r\n <Icon as={ListChecks} />\r\n <Text>Recommendations</Text>\r\n </HStack>\r\n </Tab>\r\n </TabList>\r\n\r\n <TabPanels>\r\n {/* Landing Page */}\r\n <TabPanel>\r\n <MotionVStack \r\n spacing={8} \r\n align=\"stretch\"\r\n initial={{ opacity: 0 }}\r\n animate={{ opacity: 1 }}\r\n transition={{ duration: 0.5 }}\r\n >\r\n {/* Header Section */}\r\n <MotionFlex \r\n direction=\"column\" \r\n align=\"center\" \r\n textAlign=\"center\" \r\n mb={8}\r\n initial={{ opacity: 0, y: 20 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.5 }}\r\n >\r\n <Badge\r\n colorScheme=\"purple\"\r\n variant=\"solid\"\r\n px={4}\r\n py={2}\r\n borderRadius=\"full\"\r\n mb={6}\r\n fontSize=\"md\"\r\n boxShadow=\"0 4px 12px rgba(128, 90, 213, 0.2)\"\r\n >\r\n <HStack spacing={2}>\r\n <Icon as={School} size={18} />\r\n <Text fontWeight=\"bold\">AI-POWERED LEARNING</Text>\r\n </HStack>\r\n </Badge>\r\n \r\n <Heading\r\n size=\"2xl\"\r\n mb={6}\r\n bgGradient={`linear(to-r, purple.400, blue.500)`}\r\n bgClip=\"text\"\r\n fontWeight=\"extrabold\"\r\n letterSpacing=\"tight\"\r\n >\r\n Find Your Perfect Courses <span role=\"img\" aria-label=\"sparkle\">✨</span>\r\n </Heading>\r\n \r\n <Text\r\n fontSize=\"xl\"\r\n maxW=\"container.md\"\r\n opacity={0.9}\r\n lineHeight=\"1.8\"\r\n mb={8}\r\n >\r\n Our AI-powered recommendation system helps you discover courses \r\n perfectly aligned with your goals, interests, and learning style <span role=\"img\" aria-label=\"target\">🎯</span>\r\n </Text>\r\n\r\n <Button\r\n onClick={handleStartChat}\r\n size=\"lg\"\r\n colorScheme=\"purple\"\r\n px={10}\r\n py={7}\r\n fontSize=\"lg\"\r\n fontWeight=\"bold\"\r\n borderRadius=\"full\"\r\n boxShadow=\"0 10px 20px rgba(128, 90, 213, 0.3)\"\r\n _hover={{\r\n transform: \"translateY(-3px)\",\r\n boxShadow: \"0 15px 30px rgba(128, 90, 213, 0.4)\",\r\n }}\r\n rightIcon={<ArrowRight />}\r\n >\r\n Start Your Personalized Journey\r\n </Button>\r\n </MotionFlex>\r\n\r\n {/* Feature Highlights */}\r\n <MotionSimpleGrid \r\n columns={{ base: 1, md: 3 }} \r\n spacing={10} \r\n mb={12}\r\n initial={{ opacity: 0, y: 20 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.5, delay: 0.2 }}\r\n >\r\n <Card\r\n bg={cardBg}\r\n borderRadius=\"xl\"\r\n boxShadow=\"md\"\r\n _hover={{\r\n transform: \"translateY(-5px)\",\r\n boxShadow: \"xl\",\r\n transition: \"all 0.3s ease\"\r\n }}\r\n borderWidth=\"1px\"\r\n borderColor={useColorModeValue(\"gray.100\", \"gray.700\")}\r\n overflow=\"hidden\"\r\n >\r\n <CardBody>\r\n <Box\r\n bg={useColorModeValue('purple.50', 'purple.900')}\r\n borderRadius=\"full\"\r\n p={4}\r\n width=\"fit-content\"\r\n mb={5}\r\n >\r\n <Icon as={School} color={useColorModeValue('purple.500', 'purple.300')} boxSize={8} />\r\n </Box>\r\n <Heading size=\"md\" mb={3} fontWeight=\"bold\">\r\n Personalized Analysis\r\n </Heading>\r\n <Text lineHeight=\"1.7\">\r\n Our AI analyzes your profile, preferences, and academic history \r\n to find courses that match your unique learning journey.\r\n </Text>\r\n </CardBody>\r\n </Card>\r\n\r\n <Card\r\n bg={cardBg}\r\n borderRadius=\"xl\"\r\n boxShadow=\"md\"\r\n _hover={{\r\n transform: \"translateY(-5px)\",\r\n boxShadow: \"xl\",\r\n transition: \"all 0.3s ease\"\r\n }}\r\n borderWidth=\"1px\"\r\n borderColor={useColorModeValue(\"gray.100\", \"gray.700\")}\r\n overflow=\"hidden\"\r\n >\r\n <CardBody>\r\n <Box\r\n bg={useColorModeValue('purple.50', 'purple.900')}\r\n borderRadius=\"full\"\r\n p={4}\r\n width=\"fit-content\"\r\n mb={5}\r\n >\r\n <Icon as={MessageSquare} color={useColorModeValue('purple.500', 'purple.300')} boxSize={8} />\r\n </Box>\r\n <Heading size=\"md\" mb={3} fontWeight=\"bold\">\r\n Interactive AI Chat\r\n </Heading>\r\n <Text lineHeight=\"1.7\">\r\n Chat with our friendly AI assistant to refine your preferences \r\n and get personalized course suggestions through conversation.\r\n </Text>\r\n </CardBody>\r\n </Card>\r\n\r\n <Card\r\n bg={cardBg}\r\n borderRadius=\"xl\"\r\n boxShadow=\"md\"\r\n _hover={{\r\n transform: \"translateY(-5px)\",\r\n boxShadow: \"xl\",\r\n transition: \"all 0.3s ease\"\r\n }}\r\n borderWidth=\"1px\"\r\n borderColor={useColorModeValue(\"gray.100\", \"gray.700\")}\r\n overflow=\"hidden\"\r\n >\r\n <CardBody>\r\n <Box\r\n bg={useColorModeValue('purple.50', 'purple.900')}\r\n borderRadius=\"full\"\r\n p={4}\r\n width=\"fit-content\"\r\n mb={5}\r\n >\r\n <Icon as={ListChecks} color={useColorModeValue('purple.500', 'purple.300')} boxSize={8} />\r\n </Box>\r\n <Heading size=\"md\" mb={3} fontWeight=\"bold\">\r\n Curated Recommendations\r\n </Heading>\r\n <Text lineHeight=\"1.7\">\r\n Get a carefully curated list of courses with detailed explanations \r\n of why each course is recommended specifically for you.\r\n </Text>\r\n </CardBody>\r\n </Card>\r\n </MotionSimpleGrid>\r\n\r\n {/* Call to Action Section */}\r\n <SimpleGrid columns={{ base: 1, md: 2 }} spacing={8} mt={8}>\r\n <Card\r\n direction={{ base: 'column', md: 'row' }}\r\n overflow='hidden'\r\n variant='outline'\r\n bg={cardBg}\r\n borderRadius=\"xl\"\r\n boxShadow=\"lg\"\r\n _hover={{\r\n transform: \"translateY(-5px)\",\r\n boxShadow: \"xl\",\r\n transition: \"all 0.3s ease\"\r\n }}\r\n >\r\n <Box p={5}>\r\n <Heading size=\"lg\" mb={2}>\r\n Start AI Chat\r\n </Heading>\r\n <Text mb={4}>\r\n Chat with our AI assistant to discuss your academic interests,\r\n goals, and preferences for personalized course recommendations.\r\n </Text>\r\n <Button\r\n onClick={handleStartChat}\r\n colorScheme=\"blue\"\r\n rightIcon={<ArrowRight />}\r\n size=\"lg\"\r\n mt={2}\r\n >\r\n Start Chatting\r\n </Button>\r\n </Box>\r\n </Card>\r\n\r\n <Card\r\n direction={{ base: 'column', md: 'row' }}\r\n overflow='hidden'\r\n variant='outline'\r\n bg={cardBg}\r\n borderRadius=\"xl\"\r\n boxShadow=\"lg\"\r\n _hover={{\r\n transform: \"translateY(-5px)\",\r\n boxShadow: \"xl\",\r\n transition: \"all 0.3s ease\"\r\n }}\r\n >\r\n <Box p={5}>\r\n <Heading size=\"lg\" mb={2}>\r\n View Recommendations\r\n </Heading>\r\n <Text mb={4}>\r\n See your personalized course recommendations based on your\r\n profile data and previous academic history.\r\n </Text>\r\n <Button\r\n onClick={handleViewRecommendations}\r\n colorScheme=\"purple\"\r\n rightIcon={<ArrowRight />}\r\n size=\"lg\"\r\n mt={2}\r\n >\r\n View Courses\r\n </Button>\r\n </Box>\r\n </Card>\r\n </SimpleGrid>\r\n </MotionVStack>\r\n </TabPanel>\r\n\r\n {/* AI Chat */}\r\n <TabPanel>\r\n <Card\r\n bg={cardBg}\r\n borderRadius=\"xl\"\r\n boxShadow=\"xl\"\r\n overflow=\"hidden\"\r\n height=\"75vh\"\r\n >\r\n <CardBody p={0}>\r\n {/* Only render ChatbotInterface when preferences are fully loaded to avoid re-renders */}\r\n {(preferencesLoaded !== false) && (\r\n <ChatbotInterface \r\n key={`chat-interface-${userPreferences?.user_id || 'new'}-${tabIndex}`}\r\n initialPreferences={userPreferences !== null ? userPreferences : null}\r\n onViewPreferences={() => setTabIndex(2)} // Add handler to navigate to recommendations\r\n />\r\n )}\r\n </CardBody>\r\n </Card>\r\n </TabPanel>\r\n\r\n {/* Recommendation Results */}\r\n <TabPanel>\r\n <Card\r\n bg={cardBg}\r\n borderRadius=\"xl\"\r\n boxShadow=\"xl\"\r\n overflow=\"hidden\"\r\n >\r\n <CardBody>\r\n <RecommendationResults \r\n preferences={userPreferences ? {\r\n interests: [],\r\n goals: [],\r\n ...userPreferences\r\n } : undefined} \r\n loading={isLoading} \r\n />\r\n </CardBody>\r\n </Card>\r\n </TabPanel>\r\n </TabPanels>\r\n </Tabs>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\n// This is the main export that will be lazy-loaded\r\nconst CourseRecommendation = () => {\r\n const [tabIndex, setTabIndex] = useState(0);\r\n const { setTabIndex: setContextTabIndex, isRestarting, setIsRestarting } = useCourseRecommendation();\r\n const { user } = useAuth();\r\n const [userPreferences, setUserPreferences] = useState<UserCoursePreferences | null>(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [preferencesLoaded, setPreferencesLoaded] = useState(false);\r\n \r\n // Add a ref to prevent multiple fetches\r\n const hasFetchedRef = useRef<boolean>(false);\r\n\r\n // Fetch user preferences on component mount if user is logged in\r\n useEffect(() => {\r\n // Skip if already fetched during this session\r\n if (hasFetchedRef.current) {\r\n console.log('Preferences already fetched during this session, skipping duplicate fetch');\r\n return;\r\n }\r\n \r\n if (!user) {\r\n console.log('No user logged in, skipping preference fetch');\r\n setUserPreferences(null);\r\n setIsLoading(false);\r\n setPreferencesLoaded(true);\r\n return;\r\n }\r\n\r\n // Mark as fetched to prevent duplicate requests\r\n hasFetchedRef.current = true;\r\n \r\n // Fetch user preferences from API\r\n console.log('Fetching preferences for user:', user.id);\r\n setIsLoading(true);\r\n getUserPreferences(user.id)\r\n .then(preferences => {\r\n // Check if we actually have preferences or if it's just an empty shell\r\n const hasActualPreferences = preferences && Object.entries(preferences).some(([key, value]) => {\r\n if (key === 'user_id') return false;\r\n \r\n // Check if arrays have content\r\n if (Array.isArray(value)) {\r\n return value.length > 0;\r\n }\r\n \r\n // Check if other fields have values\r\n return value !== null && \r\n value !== undefined && \r\n value !== '' &&\r\n typeof value !== 'object';\r\n });\r\n \r\n console.log('Fetched user preferences:', preferences);\r\n console.log('Has actual preferences:', hasActualPreferences);\r\n \r\n // Only set preferences if there's actual data\r\n if (hasActualPreferences) {\r\n setUserPreferences(preferences);\r\n console.log('Set userPreferences to:', preferences);\r\n } else {\r\n setUserPreferences(null);\r\n console.log('Set userPreferences to null - no actual data found');\r\n }\r\n setIsLoading(false);\r\n setPreferencesLoaded(true);\r\n })\r\n .catch(error => {\r\n console.error('Error fetching user preferences:', error);\r\n setUserPreferences(null);\r\n setIsLoading(false);\r\n setPreferencesLoaded(true);\r\n });\r\n }, [user]);\r\n\r\n // Reset fetch status when user changes\r\n useEffect(() => {\r\n // If user changes, reset the fetch status\r\n hasFetchedRef.current = false;\r\n }, [user?.id]);\r\n \r\n // Handle tab changes properly\r\n const handleTabChange = (newIndex: number) => {\r\n console.log(`Changing tab from ${tabIndex} to ${newIndex}`);\r\n \r\n // If moving to tab 1 (Chat) and we're restarting\r\n if (newIndex === 1 && isRestarting) {\r\n // Reset restarting flag\r\n setIsRestarting(false);\r\n }\r\n \r\n setTabIndex(newIndex);\r\n };\r\n \r\n // Keep context tab index in sync with local component state\r\n useEffect(() => {\r\n setContextTabIndex(tabIndex);\r\n }, [tabIndex, setContextTabIndex]);\r\n\r\n return (\r\n <>\r\n <NavBar />\r\n <CourseRecommendationContent \r\n tabIndex={tabIndex} \r\n setTabIndex={handleTabChange}\r\n userPreferences={userPreferences}\r\n isLoading={isLoading}\r\n preferencesLoaded={preferencesLoaded}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nexport default CourseRecommendation; "],"file":"assets/academic-components-DF0R8Z3x.js"}
Close