Form builder to get in touch with visitors, grow your email list and collect payments — Happyforms - Version 1.0

Version Description

Download this release

Release Info

Developer thethemefoundry
Plugin Icon 128x128 Form builder to get in touch with visitors, grow your email list and collect payments — Happyforms
Version 1.0
Comparing to
See all releases

Version 1.0

Files changed (63) hide show
  1. assets/css/admin.css +179 -0
  2. assets/css/customize.css +659 -0
  3. assets/css/font-awesome.min.css +4 -0
  4. assets/css/frontend.css +448 -0
  5. assets/fonts/FontAwesome.otf +0 -0
  6. assets/fonts/fontawesome-webfont.eot +0 -0
  7. assets/fonts/fontawesome-webfont.svg +2671 -0
  8. assets/fonts/fontawesome-webfont.ttf +0 -0
  9. assets/fonts/fontawesome-webfont.woff +0 -0
  10. assets/fonts/fontawesome-webfont.woff2 +0 -0
  11. assets/js/customize.js +1275 -0
  12. assets/js/frontend.js +123 -0
  13. assets/js/happyforms.js +26 -0
  14. assets/js/lib/cleave-phone.i18n.js +58 -0
  15. assets/js/lib/cleave.min.js +8 -0
  16. assets/js/parts/part-checkbox.js +277 -0
  17. assets/js/parts/part-country.js +68 -0
  18. assets/js/parts/part-date.js +57 -0
  19. assets/js/parts/part-email.js +99 -0
  20. assets/js/parts/part-multi-line-text.js +58 -0
  21. assets/js/parts/part-number.js +182 -0
  22. assets/js/parts/part-placeholder.js +98 -0
  23. assets/js/parts/part-radio.js +279 -0
  24. assets/js/parts/part-rating.js +33 -0
  25. assets/js/parts/part-select.js +258 -0
  26. assets/js/parts/part-single-line-text.js +33 -0
  27. assets/js/parts/part-website-url.js +33 -0
  28. assets/js/preview.js +385 -0
  29. assets/js/tinymce/form-picker.js +124 -0
  30. assets/js/tracking.js +56 -0
  31. assets/svg/happyforms-logo.svg +1 -0
  32. assets/svg/icons/country.svg +1 -0
  33. assets/svg/icons/date.svg +1 -0
  34. assets/svg/icons/dropdown.svg +1 -0
  35. assets/svg/icons/email.svg +1 -0
  36. assets/svg/icons/legal.svg +1 -0
  37. assets/svg/icons/long-text.svg +1 -0
  38. assets/svg/icons/multiple-choice.svg +1 -0
  39. assets/svg/icons/number.svg +1 -0
  40. assets/svg/icons/placeholder.svg +1 -0
  41. assets/svg/icons/rating.svg +1 -0
  42. assets/svg/icons/short-text.svg +1 -0
  43. assets/svg/icons/single-choice.svg +1 -0
  44. assets/svg/icons/title.svg +1 -0
  45. assets/svg/icons/website-link.svg +1 -0
  46. assets/svg/welcome.svg +1 -0
  47. happyforms.php +106 -0
  48. inc/admin/page-tracking.php +32 -0
  49. inc/classes/class-admin-notices.php +293 -0
  50. inc/classes/class-form-admin.php +460 -0
  51. inc/classes/class-form-controller.php +578 -0
  52. inc/classes/class-form-part-library.php +185 -0
  53. inc/classes/class-form-part.php +45 -0
  54. inc/classes/class-form-styles.php +900 -0
  55. inc/classes/class-happyforms-plugin.php +491 -0
  56. inc/classes/class-happyforms-widget.php +104 -0
  57. inc/classes/class-message-admin.php +669 -0
  58. inc/classes/class-message-controller.php +537 -0
  59. inc/classes/class-message-notices.php +189 -0
  60. inc/classes/class-tracking.php +253 -0
  61. inc/classes/class-wp-customize-form-manager.php +331 -0
  62. inc/classes/parts/class-part-checkbox.php +357 -0
  63. inc/classes/parts/class-part-country.php +129 -0
assets/css/admin.css ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ *
3
+ * Admin menus
4
+ *
5
+ */
6
+
7
+ /*
8
+ #toplevel_page_happyforms ul.wp-submenu li:nth-child(5) a,
9
+ #wp-admin-bar-happyforms-upgrade a {
10
+ color: #f56e28 !important;
11
+ }
12
+
13
+ #toplevel_page_happyforms ul.wp-submenu li:nth-child(5) a:after,
14
+ #wp-admin-bar-happyforms-upgrade a:after {
15
+ content: '\f504';
16
+ font-family: dashicons;
17
+ font-size: 16px;
18
+ vertical-align: bottom;
19
+ display: inline-block;
20
+ margin-left: 3px;
21
+ -webkit-font-smoothing: antialiased;
22
+ }
23
+ */
24
+
25
+ #toplevel_page_happyforms ul.wp-submenu li:nth-child(5) {
26
+ display: none;
27
+ }
28
+
29
+ #wp-admin-bar-happyforms .ab-icon svg {
30
+ width: 20px;
31
+ margin-top: 2px;
32
+ }
33
+
34
+ #wp-admin-bar-happyforms:hover .ab-icon .cls-2 {
35
+ fill: #00b9eb;
36
+ }
37
+
38
+ i.mce-i-happyforms-form-picker:before, i.mce-i-happyforms-form-picker:before {
39
+ content: ' ';
40
+ display: block;
41
+ width: 20px;
42
+ height: 20px;
43
+ background: url(../svg/happyforms-logo.svg);
44
+ background-size: cover;
45
+ background-position: center;
46
+ }
47
+
48
+ /**
49
+ *
50
+ * Form admin screen
51
+ *
52
+ */
53
+ .fixed .column-messages {
54
+ width: 5.5em;
55
+ padding: 8px 0;
56
+ text-align: left;
57
+ }
58
+
59
+ .post-type-happyform .column-shortcode {
60
+ overflow: hidden;
61
+ }
62
+
63
+ .happyforms-shortcode-col span {
64
+ display: block;
65
+ margin-bottom: .2em;
66
+ line-height: 1.5em;
67
+ }
68
+
69
+ .happyforms-shortcode-col input {
70
+ position: absolute;
71
+ left: -999px;
72
+ }
73
+
74
+ .happyforms-shortcode-col a.happyforms-shortcode-clipboard {
75
+ display: none;
76
+ font-size: 13px;
77
+ line-height: 1.5em;
78
+ padding: 2px 0 0;
79
+ }
80
+
81
+ tr.type-happyform:hover .happyforms-shortcode-col a.happyforms-shortcode-clipboard {
82
+ display: inline-block;
83
+ }
84
+
85
+ /**
86
+ *
87
+ * Messages admin screen
88
+ *
89
+ */
90
+ tr.happyforms-message-unread {
91
+ background-color: #e6f6fb !important;
92
+ }
93
+
94
+ .post-type-happyforms-message .page-title-action {
95
+ display: none;
96
+ }
97
+
98
+ /**
99
+ *
100
+ * Automatic updates notice
101
+ *
102
+ */
103
+ .notice form#automatic-updates {
104
+ padding-bottom: 10px;
105
+ }
106
+
107
+ .notice-success #automatic-updates {
108
+ display: none;
109
+ }
110
+
111
+ .notice form#automatic-updates input {
112
+ display: inline-block;
113
+ }
114
+
115
+ .notice form#automatic-updates input[type="email"],
116
+ .notice form#automatic-updates input[type="password"] {
117
+ display: inline-block;
118
+ padding: 5px 7px;
119
+ margin: 0 1px;
120
+ }
121
+
122
+ /**
123
+ *
124
+ * Tracking page
125
+ *
126
+ */
127
+ .happyforms-welcome-panel {
128
+ max-width: 760px;
129
+ box-sizing: border-box;
130
+ position: relative;
131
+ }
132
+
133
+ .happyforms-welcome-panel .welcome-panel-content {
134
+ width: 460px;
135
+ margin-right: 33px;
136
+ padding-bottom: 25px;
137
+ }
138
+
139
+ .happyforms-welcome-panel .welcome-panel-content input[type="email"] {
140
+ width: 96%;
141
+ padding: 10px;
142
+ }
143
+
144
+ .happyforms-welcome-panel .welcome-panel-content .button-hero {
145
+ width: 96%;
146
+ text-align: center;
147
+ }
148
+
149
+ .happyforms-welcome-panel .welcome-panel-theme {
150
+ position: absolute;
151
+ top: 20px;
152
+ right: 20px;
153
+ bottom: 20px;
154
+ width: 250px;
155
+ background-image: url(../svg/welcome.svg);
156
+ background-position: center center;
157
+ background-repeat: no-repeat;
158
+ background-size: contain;
159
+ }
160
+
161
+ p.welcome-panel-footer {
162
+ max-width: 760px;
163
+ text-align: right;
164
+ color: #72777c;
165
+ }
166
+
167
+ p.welcome-panel-footer a {
168
+ color: inherit;
169
+ }
170
+
171
+ p.welcome-panel-footer a:hover,
172
+ p.welcome-panel-footer a:active {
173
+ color: #0073aa;
174
+ }
175
+
176
+ #available-widgets-list div[id*='widget-tpl-happpyforms_widget-'] .widget-title:before {
177
+ content: '';
178
+ background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMzM2IDMzNiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtpc29sYXRpb246aXNvbGF0ZTt9LmNscy0ye2ZpbGw6IzU1NWQ2Njt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmhhcHB5Zm9ybXMtbG9nbzwvdGl0bGU+PGltYWdlIGlkPSJMYXllcl8wIiBkYXRhLW5hbWU9IkxheWVyIDAiIGNsYXNzPSJjbHMtMSIgd2lkdGg9Ijk0IiBoZWlnaHQ9IjkwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAgMTIyKSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFGNEFBQUJhQ0FZQUFBQXhRK0Y0QUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEza2xFUVZSNFh1M1FvUUhBSUJEQXdOTDlkMzVHUUVITW5ZN0ttcG1QOS81VHdCM0dSNHlQR0I4eFBtSjh4UGlJOFJIakk4WkhqSThZSHpFK1luekUrSWp4RWVNanhrZU1qeGdmTVQ1aWZNVDRpUEVSNHlQR1I0eVBHQjh4UG1KOHhQaUk4UkhqSThaSGpJOFlIekUrWW56RStJanhFZU1qeGtlTWp4Z2ZNVDVpZk1UNGlQRVI0eVBHUjR5UEdCOHhQbUo4eFBpSThSSGpJOFpIakk4WUh6RStZbnpFK0lqeEVlTWp4a2VNanhnZk1UNWlmTVQ0aVBFUjR5UEdSNHlQR0I4eFBtSjh4UGlJOFJIakk4WkhqSThZSHpFK1luekUrSWp4RWVNakcwRnJBN0cxVVRReEFBQUFBRWxGVGtTdVFtQ0MiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik05OC43OCwyMTdsMCwwLS4yMS0uMTZaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNOTkuMTMsMjE3LjQ2Yy45MSwxLC42LjU1LjExLDBsLS4zLS4zMS0uMDctLjA2LS4wOS0uMDdDOTguOSwyMTcuMTcsOTksMjE3LjMyLDk5LjEzLDIxNy40NloiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xNTMuNTQsMjM3LjhoMFoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0yMjkuMjQsMjEwLjEybDAsMEMyMjguNTUsMjEwLjc4LDIyNy45NCwyMTEuNDIsMjI5LjI0LDIxMC4xMloiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0zMzIuNjEsMTgyLjI3LDMwMy40Miw3My4zNGgwQTk4LjkxLDk4LjkxLDAsMCwwLDE4Mi4yNywzLjRMNzMuMzQsMzIuNThoMEE5OC45Miw5OC45MiwwLDAsMCwzLjQsMTUzLjc0TDMyLjU4LDI2Mi42NmgwYTk4LjkyLDk4LjkyLDAsMCwwLDEyMS4xNSw2OS45NWwxMDguOTMtMjkuMTloMEE5OC45Miw5OC45MiwwLDAsMCwzMzIuNjEsMTgyLjI3Wk0xODIuOCwxMDYuODFhMTkuOCwxOS44LDAsMCwxLDYuNy05LjA5LDI1LjM3LDI1LjM3LDAsMCwxLDQtNC4yOGMxMC4xOC04LjcsMjcuNjItNS41NSwzNC4zMyw2YTI3LjYyLDI3LjYyLDAsMCwxLDIuNjEsMjFBMjYsMjYsMCwwLDEsMjE2LjIyLDEzOGMtMTIuMzYsNS45Mi0yOS42MSwxLjU4LTM1LjA4LTExLjczQTIxLjM1LDIxLjM1LDAsMCwxLDE4Mi44LDEwNi44MVpNMTA2LjM5LDk1YTI1LjM3LDI1LjM3LDAsMCwxLDQtNC4yOGMxMC4xOC04LjcsMjcuNjMtNS41NSwzNC4zMyw2YTI3LjU4LDI3LjU4LDAsMCwxLDIuNjEsMjFjLTIuMDksNy44OC02Ljc4LDE0LTE0LjE5LDE3LjUtMTIuMzYsNS45My0yOS42MSwxLjU5LTM1LjA4LTExLjcyYTIxLjM1LDIxLjM1LDAsMCwxLDEuNjYtMTkuNDVBMTkuOCwxOS44LDAsMCwxLDEwNi4zOSw5NVptMTgyLjc1LDU2LjQ2Yy0yLjE2LDIzLjIyLTExLjUsNDUuNjMtMjUuNDEsNjQuMjVBMTI5LjY4LDEyOS42OCwwLDAsMSwyMTQsMjU1LjY1Yy0yMC40OCw5LjQ1LTQzLjIzLDEyLjgtNjUuNjIsMTEuNDRhMTM0LjUyLDEzNC41MiwwLDAsMS0zMy02LjU5Yy0xMS4xMi0zLjU3LTIyLjA5LTguODgtMzEuMDgtMTYuNDJDNjMuOTQsMjI3LDUyLjM1LDIwMC44NCw0Ny43NiwxNzUuMTcsNDYuMjksMTY3LDUzLjczLDE2MCw2MS4xNiwxNTlhMTUuMTcsMTUuMTcsMCwwLDEsMTAuNzMsMy4yM2MzLjI1LDIuNjIsNC43Niw2LjE4LDUuNDgsMTAuMThhNDcuMzQsNDcuMzQsMCwwLDEsMSw1bC41NCwycTEuMjMsNC4zNywyLjc5LDguNjMsMS42Niw0LjUxLDMuNzEsOC44N2MuNjYsMS40MSwxLjM4LDIuNzksMi4wNyw0LjE5LjM0LjU4LjY3LDEuMTcsMSwxLjc0QTkzLjk0LDkzLjk0LDAsMCwwLDk4Ljc1LDIxN2wuMTIuMS4wNy4wNi4zLjMxYy4yNi4yNy41MS41Ny43My43NywxLjA5LDEsMi4yMSwyLDMuMzgsM3MyLjMxLDEuODQsMy41MiwyLjdsMS44NCwxLjI0YTk5LjA5LDk5LjA5LDAsMCwwLDEzLjE0LDYuMmMxLjQ2LjU1LDIuOTMsMS4wNyw0LjQxLDEuNTcuNTYuMTgsNCwxLjQyLDEuNjUuNTRzMS41OS40MiwyLjExLjU2YzEsLjI3LDIuMDYuNTIsMy4wOS43NmExMjEuNjgsMTIxLjY4LDAsMCwwLDE0LjMyLDIuNDVjMi4yOC4yNSw0LjU2LjQsNi44NS41NWwxLjA4LDBjMS4yMSwwLDIuNDIsMCwzLjYzLDBhMTIyLjExLDEyMi4xMSwwLDAsMCwxNC0xYzIuNTUtLjMzLDUuMDktLjc1LDcuNjEtMS4yNC44Mi0uMTYsMS42My0uMzQsMi40NC0uNTJsMS4yLS4zQTExOS4wOSwxMTkuMDksMCwwLDAsMTk4LDIzMC4xOXEzLjM4LTEuMzUsNi42NS0yLjkxYzEuMDktLjUyLDIuMTgtMS4wNSwzLjI1LTEuNjFsLjI0LS4xMmExMzkuNzIsMTM5LjcyLDAsMCwwLDIxLjM1LTE1LjcxYy4yLS4yMS40LS40MS42MS0uNjEuNzgtLjgsMS41Ni0xLjYxLDIuMzMtMi40NCwxLjQ0LTEuNTQsMi44My0zLjEzLDQuMTgtNC43NGExMTcuNjQsMTE3LjY0LDAsMCwwLDgtMTAuODRjLjY4LTEsMi40Mi00LjczLjQ5LS42OS40Ny0xLDEuMTUtMS45NCwxLjY5LTIuOTFxMS41Ni0yLjc2LDIuOTUtNS41OWExMTUsMTE1LDAsMCwwLDUuMS0xMmMuNDItMS4xOS44My0yLjM4LDEuMjEtMy41NywwLS4xMi4wNy0uMjUuMTItLjQxcS44NC0zLDEuNTItNi4xM2ExMTAuNTQsMTEwLjU0LDAsMCwwLDIuMDUtMTMuMzFjLjc2LTguMjcsOS42LTEzLjE0LDE3LjExLTEyLjIyQzI4NS4yOSwxMzUuNCwyODkuODYsMTQzLjc2LDI4OS4xNCwxNTEuNDlaIi8+PC9zdmc+);
179
+ }
assets/css/customize.css ADDED
@@ -0,0 +1,659 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ *
3
+ * Header actions
4
+ *
5
+ */
6
+ #happyforms-save-button-wrapper {
7
+ transition: .18s margin ease-in-out;
8
+ float: right;
9
+ margin-top: 8px;
10
+ }
11
+
12
+ #happyforms-sidebar-controls {
13
+ display: relative;
14
+ }
15
+
16
+ #happyforms-close-link {
17
+ display: block;
18
+ position: absolute;
19
+ top: 0;
20
+ left: 0;
21
+ width: 45px;
22
+ height: 41px;
23
+ padding: 0 2px 0 0;
24
+ background: #eee;
25
+ border: none;
26
+ border-top: 4px solid #eee;
27
+ border-right: 1px solid #ddd;
28
+ color: #444;
29
+ text-align: left;
30
+ cursor: pointer;
31
+ transition: color .15s ease-in-out, border-color .15s ease-in-out, background .15s ease-in-out;
32
+ box-sizing: content-box;
33
+ text-decoration: none;
34
+ outline: 0;
35
+ line-height: 45px;
36
+ }
37
+
38
+ #happyforms-close-link:before {
39
+ font: normal 22px/45px dashicons;
40
+ content: "\f335";
41
+ position: relative;
42
+ top: -3px;
43
+ left: 13px;
44
+ }
45
+
46
+ #happyforms-close-link:hover,
47
+ #happyforms-close-link:focus {
48
+ background: #fff;
49
+ color: #0073aa;
50
+ border-top-color: #0073aa;
51
+ outline: none;
52
+ box-shadow: none;
53
+ }
54
+
55
+ /**
56
+ *
57
+ * Sidebar stacked view
58
+ *
59
+ */
60
+ #customize-controls .wp-full-overlay-sidebar-content {
61
+ bottom: 130px;
62
+ }
63
+
64
+ .happyforms-stack-view {
65
+ position: absolute;
66
+ width: 100%;
67
+ box-sizing: border-box;
68
+ border: 0;
69
+ padding: 12px;
70
+ }
71
+
72
+ .happyforms-step-description h1 {
73
+ font-size: 21px;
74
+ font-weight: 400;
75
+ line-height: 1.2;
76
+ text-align: center;
77
+ padding: 0;
78
+ margin: 15px 0;
79
+ }
80
+
81
+ .happyforms-step-description p {
82
+ font-size: 14px;
83
+ line-height: 1.5;
84
+ font-style: normal;
85
+ text-align: center;
86
+ margin: 0;
87
+ }
88
+
89
+ .happyforms-step-description p.description {
90
+ margin: 0 0 30px;
91
+ }
92
+
93
+ .happyforms-step-description ol {
94
+ font-size: 14px;
95
+ line-height: 1.5;
96
+ margin-bottom: 20px;
97
+ }
98
+
99
+ .happyforms-stack-view h2.group-title {
100
+ font-weight: 700;
101
+ font-size: 1.5em;
102
+ margin: 30px 0;
103
+ }
104
+
105
+ .happyforms-stack-view .customize-control:first-child h2.group-title {
106
+ margin: 5px 0 30px 0;
107
+ }
108
+
109
+ .customize-control {
110
+ float: none;
111
+ }
112
+
113
+ #customize-controls span.description {
114
+ display: block;
115
+ margin-bottom: 10px;
116
+ color: #999;
117
+ font-style: normal;
118
+ line-height: 18px;
119
+ }
120
+
121
+ .customize-control textarea {
122
+ width: 100%;
123
+ }
124
+
125
+ .happyforms-help-pointer {
126
+ z-index: 999999 !important;
127
+ }
128
+
129
+ .happyforms-help-pointer .wp-pointer-content {
130
+ padding: 10px 15px;
131
+ }
132
+
133
+ /**
134
+ *
135
+ * Footer steps
136
+ *
137
+ */
138
+ #customize-footer-actions {
139
+ height: 120px;
140
+ padding: 12px;
141
+ box-sizing: border-box;
142
+ display: none;
143
+ }
144
+
145
+ .happyforms-action-buttons {
146
+ margin-bottom: 15px;
147
+ }
148
+
149
+ .happyforms-action-buttons button.button-primary.button-hero,
150
+ .happyforms-action-buttons button.button-secondary.button-hero {
151
+ width: 48%;
152
+ margin: 0 1%;
153
+ padding: 0;
154
+ text-align: center;
155
+ }
156
+
157
+ .happyforms-action-buttons button.button-primary.button-hero:only-child,
158
+ .happyforms-action-buttons button.button-secondary.button-hero:only-child {
159
+ width: 100%;
160
+ }
161
+
162
+ .button-wide {
163
+ width: 100%;
164
+ text-align: center;
165
+ }
166
+
167
+ .happyforms-step-progress {
168
+ margin: 0 1%;
169
+ }
170
+
171
+ .happyforms-step-progress,
172
+ .happyforms-step-progress-bar {
173
+ height: 6px;
174
+ margin-bottom: 10px;
175
+ }
176
+
177
+ .happyforms-step-progress {
178
+ background-color: #cccccc;
179
+ }
180
+
181
+ .happyforms-step-progress-bar {
182
+ background-color: #0185ba;
183
+ }
184
+
185
+ p.happyforms-step-progress-counter {
186
+ text-align: center;
187
+ margin-bottom: 0;
188
+ }
189
+
190
+ /**
191
+ *
192
+ * Common form widget elements
193
+ *
194
+ */
195
+ .happyforms-widget {
196
+ margin: 0 auto 10px;
197
+ box-sizing: border-box;
198
+ box-shadow: 0 1px 1px rgba(0,0,0,0.04);
199
+ }
200
+
201
+ .happyforms-widget-top {
202
+ position: relative;
203
+ background: #fff;
204
+ color: #23282d;
205
+ border: 1px solid #e5e5e5;
206
+ line-height: 1.4em;
207
+ -webkit-transition: opacity 0.5s;
208
+ transition: opacity 0.5s;
209
+ z-index: 1;
210
+ }
211
+
212
+ .happyforms-widget-title h3 {
213
+ margin: 0;
214
+ padding: 13px 15px;
215
+ font-size: 13px !important;
216
+ line-height: 1;
217
+ overflow: hidden;
218
+ white-space: nowrap;
219
+ text-overflow: ellipsis;
220
+ user-select: none;
221
+ }
222
+
223
+ .happyforms-widget-content {
224
+ padding: 1px 10px 10px 10px;
225
+ line-height: 16px;
226
+ background: #fff;
227
+ border: 1px solid #e5e5e5;
228
+ border-top: 0;
229
+ }
230
+
231
+ .happyforms-widget-actions {
232
+ padding-bottom: 5px;
233
+ }
234
+
235
+ a.happyforms-form-remove,
236
+ a.happyforms-form-part-remove {
237
+ color: #a00;
238
+ }
239
+
240
+ a.happyforms-form-remove:hover,
241
+ a.happyforms-form-part-remove:hover {
242
+ color: #dc3232;
243
+ }
244
+
245
+ .happyforms-form-date {
246
+ color: #72777c;
247
+ }
248
+
249
+ /**
250
+ *
251
+ * Form edit
252
+ *
253
+ */
254
+ #happyforms-captcha-settings {
255
+ display: none;
256
+ }
257
+
258
+ /**
259
+ *
260
+ * Form build
261
+ *
262
+ */
263
+ .happyforms-parts-placeholder {
264
+ display: block;
265
+ border: 2px dashed #a1a1a1;
266
+ padding: 30px;
267
+ box-sizing: border-box;
268
+ }
269
+
270
+ .happyforms-stack-view.has-parts .happyforms-parts-placeholder {
271
+ display: none;
272
+ }
273
+
274
+ .happyforms-parts-placeholder img {
275
+ margin-bottom: 20px;
276
+ }
277
+
278
+ .happyforms-parts-placeholder p {
279
+ display: table-cell;
280
+ vertical-align: middle;
281
+ font-size: 14px;
282
+ color: #7a7a7a;
283
+ text-align: center;
284
+ }
285
+
286
+ ul.happyforms-form-widgets {
287
+ margin-top: 0;
288
+ }
289
+
290
+ body.adding-happyforms-parts button.happyforms-open-parts-drawer:before {
291
+ -webkit-transform: rotate(45deg);
292
+ -ms-transform: rotate(45deg);
293
+ transform: rotate(45deg);
294
+ }
295
+
296
+ body.adding-happyforms-parts #customize-preview iframe {
297
+ width: calc(100% - 301px);
298
+ }
299
+
300
+ .happyforms-part-widget-top {
301
+ cursor: move;
302
+ }
303
+
304
+ .happyforms-part-widget-top:hover {
305
+ border-color: #999;
306
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
307
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
308
+ }
309
+
310
+ .happyforms-part-widget-title-action {
311
+ float: right;
312
+ cursor: pointer;
313
+ }
314
+
315
+ .happyforms-widget-action {
316
+ display: inline-block;
317
+ padding: 8px 10px;
318
+ margin: 0;
319
+ color: #72777c;
320
+ border: 0;
321
+ cursor: pointer;
322
+ outline: none;
323
+ border-radius: 0;
324
+ background-color: transparent;
325
+ }
326
+
327
+ .happyforms-widget-action .toggle-indicator {
328
+ display: inline-block;
329
+ font-size: 20px;
330
+ line-height: 1;
331
+ }
332
+
333
+ .happyforms-widget-action .toggle-indicator:before {
334
+ display: block;
335
+ content: '\f140';
336
+ font: normal 20px/1 dashicons;
337
+ padding: 1px 2px 1px 0px;
338
+ border-radius: 50%;
339
+ -webkit-font-smoothing: antialiased;
340
+ -moz-osx-font-smoothing: grayscale;
341
+ text-decoration: none !important;
342
+ }
343
+
344
+ .happyforms-widget-expanded .toggle-indicator:before {
345
+ content: '\f142';
346
+ }
347
+
348
+ .happyforms-widget-action:focus .toggle-indicator:before {
349
+ box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, .8);
350
+ }
351
+
352
+ .happyforms-part-widget .links {
353
+ text-align: right;
354
+ }
355
+
356
+ .happyforms-part-widget .options {
357
+ border: 1px solid #eee;
358
+ padding: 5px 10px 10px;
359
+ }
360
+
361
+ .happyforms-part-widget .options h3 {
362
+ margin-bottom: 0;
363
+ }
364
+
365
+ .happyforms-part-widget .options li {
366
+ padding: 10px 0 15px;
367
+ border-bottom: 1px solid #eee;
368
+ }
369
+
370
+ .happyforms-part-widget .options li:last-child {
371
+ border-bottom: 0;
372
+ }
373
+
374
+ .happyforms-part-widget .options .option-actions {
375
+ margin: 0;
376
+ text-align: right;
377
+ }
378
+
379
+ .happyforms-part-widget .options .delete-option {
380
+ position: relative;
381
+ top: 5px;
382
+ color: #a00;
383
+ }
384
+
385
+ .happyforms-part-widget .options .delete-option:hover {
386
+ color: #dc3232;
387
+ }
388
+
389
+ .happyforms-part-widget .options .delete-option::after {
390
+ content: '';
391
+ display: table;
392
+ clear: both;
393
+ }
394
+
395
+ .happyforms-part-widget--sub label {
396
+ font-size: 13px;
397
+ }
398
+
399
+ .customize-control .happyforms-part-widget--sub input {
400
+ margin: 2px 0 5px;
401
+ }
402
+
403
+ /**
404
+ *
405
+ * Form parts drawer
406
+ *
407
+ */
408
+ body.adding-happyforms-parts .wp-full-overlay-main {
409
+ left: 300px;
410
+ }
411
+
412
+ #happyforms-parts-drawer {
413
+ position: absolute;
414
+ top: 0;
415
+ bottom: 0;
416
+ left: -301px;
417
+ overflow-x: hidden;
418
+ overflow-y: auto;
419
+ width: 300px;
420
+ margin: 0;
421
+ z-index: 4;
422
+ background: #eee;
423
+ border-right: 1px solid #ddd;
424
+ }
425
+
426
+ .happyforms-parts-drawer-header {
427
+ border-bottom: 1px solid #ddd;
428
+ }
429
+
430
+ .happyforms-parts-drawer-header-search {
431
+ padding: 13px 15px;
432
+ }
433
+
434
+ .happyforms-parts-drawer-header-search input {
435
+ width: 100%;
436
+ height: 32px;
437
+ margin: 1px 0;
438
+ padding: 6px 30px;
439
+ }
440
+
441
+ .happyforms-parts-drawer-header-search-icon {
442
+ display: block;
443
+ position: absolute;
444
+ top: 15px;
445
+ left: 16px;
446
+ width: 30px;
447
+ height: 30px;
448
+ line-height: 28px;
449
+ text-align: center;
450
+ color: #72777c;
451
+ }
452
+
453
+ .happyforms-parts-drawer-header-search-icon:after {
454
+ content: '\f179';
455
+ font: normal 20px/1 dashicons;
456
+ line-height: 30px;
457
+ vertical-align: middle;
458
+ -webkit-font-smoothing: antialiased;
459
+ }
460
+
461
+ input#part-search::placeholder {
462
+ color: #aaa;
463
+ }
464
+
465
+ ul.happyforms-parts-list {
466
+ margin: 0;
467
+ padding: 0;
468
+ list-style-type: none;
469
+ }
470
+
471
+ ul.happyforms-parts-list li.happyforms-parts-list-item {
472
+ position: relative;
473
+ margin-bottom: 0;
474
+ padding: 20px 15px 20px 60px;
475
+ background: #fff;
476
+ border-bottom: 1px solid #ddd;
477
+ border-left: 4px solid #fff;
478
+ -webkit-transition: .15s color ease-in-out, .15s background-color ease-in-out, .15s border-color ease-in-out;
479
+ transition: .15s color ease-in-out, .15s background-color ease-in-out, .15s border-color ease-in-out;
480
+ cursor: pointer;
481
+ }
482
+
483
+ ul.happyforms-parts-list li.happyforms-parts-list-item:hover {
484
+ background: #f3f3f5;
485
+ border-bottom-color: #ccc;
486
+ color: #0073aa;
487
+ border-left: 4px solid #0073aa;
488
+ }
489
+
490
+ ul.happyforms-parts-list li .happyforms-parts-list-item-title {
491
+ position: relative;
492
+ }
493
+
494
+ ul.happyforms-parts-list li .happyforms-parts-list-item-title:before {
495
+ content: "";
496
+ position: absolute;
497
+ top: 0;
498
+ right: 100%;
499
+ margin-right: 20px;
500
+ width: 20px;
501
+ height: 20px;
502
+ color: #32373c;
503
+ text-align: center;
504
+ box-sizing: border-box;
505
+ }
506
+
507
+ ul.happyforms-parts-list li[data-part-type="single_line_text"] .happyforms-parts-list-item-title:before {
508
+ background-image: url(../svg/icons/short-text.svg);
509
+ }
510
+
511
+ ul.happyforms-parts-list li[data-part-type="multi_line_text"] .happyforms-parts-list-item-title:before {
512
+ background-image: url(../svg/icons/long-text.svg);
513
+ }
514
+
515
+ ul.happyforms-parts-list li[data-part-type="email"] .happyforms-parts-list-item-title:before {
516
+ background-image: url(../svg/icons/email.svg);
517
+ }
518
+
519
+ ul.happyforms-parts-list li[data-part-type="website_url"] .happyforms-parts-list-item-title:before {
520
+ background-image: url(../svg/icons/website-link.svg);
521
+ }
522
+
523
+ ul.happyforms-parts-list li[data-part-type="number"] .happyforms-parts-list-item-title:before {
524
+ background-image: url(../svg/icons/number.svg);
525
+ }
526
+
527
+ ul.happyforms-parts-list li[data-part-type="date"] .happyforms-parts-list-item-title:before {
528
+ background-image: url(../svg/icons/date.svg);
529
+ }
530
+
531
+ ul.happyforms-parts-list li[data-part-type="checkbox"] .happyforms-parts-list-item-title:before {
532
+ background-image: url(../svg/icons/multiple-choice.svg);
533
+ }
534
+
535
+ ul.happyforms-parts-list li[data-part-type="radio"] .happyforms-parts-list-item-title:before {
536
+ background-image: url(../svg/icons/single-choice.svg);
537
+ }
538
+
539
+ ul.happyforms-parts-list li[data-part-type="select"] .happyforms-parts-list-item-title:before {
540
+ background-image: url(../svg/icons/dropdown.svg);
541
+ }
542
+
543
+ ul.happyforms-parts-list li[data-part-type="country"] .happyforms-parts-list-item-title:before {
544
+ background-image: url(../svg/icons/country.svg);
545
+ }
546
+
547
+ ul.happyforms-parts-list li[data-part-type="placeholder"] .happyforms-parts-list-item-title:before {
548
+ background-image: url(../svg/icons/placeholder.svg);
549
+ }
550
+
551
+ ul.happyforms-parts-list li[data-part-type="rating"] .happyforms-parts-list-item-title:before {
552
+ background-image: url(../svg/icons/rating.svg);
553
+ }
554
+
555
+ ul.happyforms-parts-list .happyforms-parts-list-item-title h3 {
556
+ margin: 0;
557
+ padding: 0 0 5px;
558
+ font-size: 14px;
559
+ line-height: 1;
560
+ overflow: hidden;
561
+ white-space: nowrap;
562
+ text-overflow: ellipsis;
563
+ }
564
+
565
+ ul.happyforms-parts-list .happyforms-parts-list-item-description {
566
+ padding: 0;
567
+ color: #72777c;
568
+ font-size: 12px;
569
+ }
570
+
571
+ .happyforms-part-widget .happyforms-widget-content {
572
+ display: none;
573
+ }
574
+
575
+ .happyforms-widget-expanded .happyforms-widget-content {
576
+ display: block;
577
+ }
578
+
579
+ .happyforms-style-controls .customize-control {
580
+ margin-bottom: 20px;
581
+ }
582
+
583
+ /* Tinymce control styles */
584
+ .customize-control .mce-tinymce {
585
+ border: 1px solid #ddd;
586
+ box-sizing: border-box;
587
+ }
588
+
589
+ /* Range control styles */
590
+ li.customize-control.happyforms-range-control:after {
591
+ content: '';
592
+ display: table;
593
+ clear: both;
594
+ }
595
+
596
+ li.customize-control.happyforms-range-control label {
597
+ display: block;
598
+ }
599
+
600
+ li.customize-control.happyforms-range-control input {
601
+ float: left;
602
+ width: 20%;
603
+ }
604
+
605
+ li.customize-control.happyforms-range-control .happyforms-range-slider {
606
+ float: left;
607
+ width: 70%;
608
+ margin-left: 5%;
609
+ margin-top: 9px;
610
+ }
611
+
612
+ li.customize-control.happyforms-range-control .ui-slider-handle {
613
+ position: absolute;
614
+ z-index: 2;
615
+ top: -.3em;
616
+ border-color: #777;
617
+ background: #777;
618
+ }
619
+
620
+ li.customize-control.happyforms-range-control .ui-slider-horizontal {
621
+ position: relative;
622
+ height: .6em;
623
+ border-color: #fff;
624
+ background: #fff;
625
+ }
626
+
627
+ li.customize-control.happyforms-range-control .ui-slider-handle {
628
+ width: 1.2em;
629
+ height: 1.2em;
630
+ border-radius: 100%;
631
+ }
632
+
633
+ li.customize-control.happyforms-range-control .ui-slider-handle:hover {
634
+ cursor: pointer;
635
+ }
636
+
637
+ /* Button set */
638
+ li.customize-control .happyforms-buttonset-container {
639
+ margin-top: 10px;
640
+ }
641
+
642
+ li.customize-control .happyforms-buttonset-container label {
643
+ padding: 7px 10px;
644
+ border: 1px solid #fff;
645
+ border-right-width: 0px;
646
+ }
647
+
648
+ li.customize-control .happyforms-buttonset-container label:last-child {
649
+ border-right-width: 1px;
650
+ }
651
+
652
+ li.customize-control .happyforms-buttonset-container .ui-state-hover {
653
+ background-color: #dedede;
654
+ }
655
+
656
+ li.customize-control .happyforms-buttonset-container .ui-state-active,
657
+ li.customize-control .happyforms-buttonset-container .ui-state-active.ui-state-hover {
658
+ background-color: #fff;
659
+ }
assets/css/font-awesome.min.css ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ /*!
2
+ * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
assets/css/frontend.css ADDED
@@ -0,0 +1,448 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* admin bar */
2
+
3
+ /*
4
+ #toplevel_page_happyforms ul.wp-submenu li:nth-child(5) a,
5
+ #wp-admin-bar-happyforms-upgrade a {
6
+ color: #f56e28 !important;
7
+ }
8
+
9
+ #toplevel_page_happyforms ul.wp-submenu li:nth-child(5) a:after,
10
+ #wp-admin-bar-happyforms-upgrade a:after {
11
+ content: '\f504';
12
+ font-family: dashicons;
13
+ font-size: 16px;
14
+ vertical-align: bottom;
15
+ display: inline-block;
16
+ margin-left: 3px;
17
+ -webkit-font-smoothing: antialiased;
18
+ }
19
+ */
20
+
21
+ #wp-admin-bar-happyforms .ab-icon svg {
22
+ width: 20px;
23
+ margin-top: 2px;
24
+ }
25
+
26
+ #wp-admin-bar-happyforms:hover .ab-icon .cls-2 {
27
+ fill: #00b9eb;
28
+ }
29
+
30
+ /* happyforms */
31
+ .happyforms-container form,
32
+ .happyforms-form form {
33
+ max-width: 100%;
34
+ border-style: solid;
35
+ border-width: 0;
36
+ }
37
+
38
+ .happyforms-flex {
39
+ display: flex;
40
+ flex-flow: row wrap;
41
+ align-items: flex-start;
42
+ max-width: 100%;
43
+ padding: 2.5% 0;
44
+ overflow: hidden;
45
+ }
46
+
47
+ .happyforms-form h3.happyforms-form__title {
48
+ margin: 0;
49
+ padding: 0 1%;
50
+ font-weight: bold;
51
+ font-size: 32px;
52
+ color: #000;
53
+ }
54
+
55
+ .happyforms-form h3.happyforms-form__title + .happyforms-message-notices {
56
+ margin-top: 25px;
57
+ }
58
+
59
+ .happyforms-part__label {
60
+ cursor: pointer;
61
+ }
62
+
63
+ .happyforms-part--label-above .happyforms-part__label--confirmation {
64
+ margin-top: 10px;
65
+ }
66
+
67
+ .happyforms-required {
68
+ color: #c00;
69
+ }
70
+
71
+ .happyforms-part {
72
+ position: relative;
73
+ display: block;
74
+ width: 100%;
75
+ margin-bottom: 20px;
76
+ padding: 0 1%;
77
+ }
78
+
79
+ @media screen and (min-width: 800px) {
80
+ .happyforms-part--width-half {
81
+ width: 50%;
82
+ }
83
+ .happyforms-part--width-third {
84
+ width: 33.333%;
85
+ }
86
+ }
87
+
88
+ .happyforms-part__description {
89
+ display: block;
90
+ margin-bottom: 5px;
91
+ font-size: 14px;
92
+ font-style: italic;
93
+ }
94
+
95
+ .happyforms-part .widget .customize-partial-edit-shortcut, .customize-partial-edit-shortcut {
96
+ top: 0;
97
+ }
98
+
99
+ .happyforms-part__label {
100
+ display: block;
101
+ margin-bottom: 3px;
102
+ font-size: 16px;
103
+ }
104
+
105
+ .happyforms-part__label .label {
106
+ font-weight: normal;
107
+ color: #000;
108
+ }
109
+
110
+ .happyforms-part input[type=text],
111
+ .happyforms-part input[type=email],
112
+ .happyforms-part input[type=tel],
113
+ .happyforms-part input[type=number],
114
+ .happyforms-part textarea {
115
+ width: 100%;
116
+ padding: inherit 5px;
117
+ border-width: 2px;
118
+ border-style: solid;
119
+ border-color: #000;
120
+ font-size: 16px;
121
+ background-color: #fff;
122
+ color: #000;
123
+ transition-property: none;
124
+ transition-duration: 0.1s;
125
+ transition-timing-function: ease-in;
126
+ }
127
+
128
+ .happyforms-part input[type=text]:focus,
129
+ .happyforms-part input[type=email]:focus,
130
+ .happyforms-part input[type=tel]:focus,
131
+ .happyforms-part input[type=number]:focus,
132
+ .happyforms-part textarea:focus {
133
+ border-width: 2px;
134
+ border-style: solid;
135
+ border-color: #000;
136
+ }
137
+
138
+ .happyforms-part ::-webkit-input-placeholder {
139
+ font-weight: normal;
140
+ font-style: normal;
141
+ color: #aaa;
142
+ }
143
+
144
+ .happyforms-part ::-moz-placeholder {
145
+ font-weight: normal;
146
+ font-style: normal;
147
+ color: #aaa;
148
+ }
149
+
150
+ .happyforms-part ::-ms-placeholder {
151
+ font-weight: normal;
152
+ font-style: normal;
153
+ color: #aaa;
154
+ }
155
+
156
+ .happyforms-part ::placeholder {
157
+ font-weight: normal;
158
+ font-style: normal;
159
+ color: #aaa;
160
+ }
161
+
162
+ .happyforms-part--label-below .happyforms-part__wrap {
163
+ display: flex;
164
+ flex-flow: row wrap-reverse;
165
+ align-content: flex-end;
166
+ }
167
+
168
+ .happyforms-part--label-below .happyforms-part__label {
169
+ width: 100%;
170
+ }
171
+
172
+ .happyforms-part--label-left .happyforms-part__label {
173
+ float: left;
174
+ width: 25%;
175
+ }
176
+
177
+ .happyforms-part--label-left .happyforms-part__el,
178
+ .happyforms-part--label-left input.happyforms-part__el,
179
+ .happyforms-part--label-left select.happyforms-part__el,
180
+ .happyforms-part--label-left textarea.happyforms-part__el {
181
+ float: right;
182
+ width: 75%;
183
+ }
184
+
185
+ .happyforms-part--label-below .happyforms-part__el,
186
+ .happyforms-part--label-below input.happyforms-part__el,
187
+ .happyforms-part--label-below select.happyforms-part__el,
188
+ .happyforms-part--label-below textarea.happyforms-part__el {
189
+ position: relative;
190
+ top: 5px;
191
+ margin-bottom: 10px;
192
+ }
193
+
194
+ .happyforms-part__wrap--confirmation {
195
+ margin-top: 10px;
196
+ }
197
+
198
+ .happyforms-part--placeholder p {
199
+ font-size: 16px;
200
+ color: #000;
201
+ }
202
+
203
+ .happyforms-part--placeholder p:first-child {
204
+ margin-top: 0;
205
+ }
206
+
207
+ .happyforms-part--placeholder p:last-child {
208
+ margin-bottom: 0;
209
+ }
210
+
211
+ .happyforms-part--select select {
212
+ width: 100%;
213
+ height: 42px;
214
+ border-width: 2px;
215
+ border-style: solid;
216
+ border-color: #000;
217
+ font-size: 16px;
218
+ }
219
+
220
+ .happyforms-part .option-label {
221
+ display: inline;
222
+ padding: 0 5px 5px 0;
223
+ font-size: 16px;
224
+ }
225
+
226
+ .happyforms-part.display-type--block .option-label {
227
+ display: block;
228
+ }
229
+
230
+ .happyforms-part .happyforms-message-notices {
231
+ padding: 0;
232
+ }
233
+
234
+ .happyforms-part .happyforms-message-notices h2 {
235
+ font-size: 14px;
236
+ }
237
+
238
+ .happyforms-part--rating .happyforms-rating-item-wrap {
239
+ float: left;
240
+ margin-right: 5px;
241
+ }
242
+
243
+ .happyforms-part--rating .happyforms-rating-item-wrap:last-child {
244
+ margin-right: 0;
245
+ }
246
+
247
+ .happyforms-part--rating .happyforms-star {
248
+ width: 25px;
249
+ }
250
+
251
+ .happyforms-part--rating .happyforms-star__label {
252
+ cursor: pointer;
253
+ float: left;
254
+ margin-right: 5px;
255
+ color: #f39c00;
256
+ }
257
+
258
+ .happyforms-part--rating .happyforms-star__star {
259
+ fill: currentColor;
260
+ stroke: currentColor;
261
+ stroke-width: 35px;
262
+ }
263
+
264
+ .happyforms-part--rating {
265
+ fill: #ccc;
266
+ color: transparent;
267
+ stroke: #ccc;
268
+ }
269
+
270
+ .happyforms-part--rating:hover {
271
+ color: #ccc;
272
+ fill: #f39c00;
273
+ stroke: #f39c00;
274
+ }
275
+
276
+ .happyforms-part--rating label {
277
+ fill: inherit;
278
+ color: inherit;
279
+ stroke: inherit;
280
+ }
281
+
282
+ .happyforms-part--rating .happyforms-star__label {
283
+ cursor: pointer;
284
+ float: left;
285
+ margin-right: 5px;
286
+ }
287
+
288
+ .happyforms-part--rating .happyforms-star__label {
289
+ color: #f39c00;
290
+ }
291
+
292
+ .happyforms-part--rating:not(:hover) input:first-child:checked~label,
293
+ .happyforms-part--rating input:hover+label~label:not(:hover),
294
+ .happyforms-part--rating:hover input:checked+label:hover~label,
295
+ .happyforms-part--rating:not(:hover) input:checked+label~label {
296
+ color: #ccc;
297
+ }
298
+
299
+ .happyforms-part--submit {
300
+ width: 100%;
301
+ margin-bottom: 0;
302
+ }
303
+
304
+ button[type=submit].happyforms-button--submit,
305
+ button[type=submit][disabled].happyforms-button--submit,
306
+ button[type=submit][disabled].happyforms-button--submit:hover,
307
+ input[type=submit].happyforms-button--submit,
308
+ input[type=submit][disabled].happyforms-button--submit,
309
+ input[type=submit][disabled].happyforms-button--submit:hover {
310
+ padding: 16px 40px;
311
+ border-radius: 2px;
312
+ border-style: solid;
313
+ font-weight: normal;
314
+ font-style: normal;
315
+ font-size: 18px;
316
+ color: #fff;
317
+ background-color: #000;
318
+ text-transform: none;
319
+ transition-property: none;
320
+ transition-duration: 0.1s;
321
+ transition-timing-function: ease-in;
322
+ }
323
+
324
+ button[type=submit].happyforms-button--submit:hover,
325
+ input[type=submit].happyforms-button--submit:hover {
326
+ background-color: #999;
327
+ text-transform: none;
328
+ }
329
+
330
+ .happyforms-date-picker {
331
+ font-size: 12px;
332
+ background-color: #fff;
333
+ }
334
+
335
+ .happyforms-date-picker .ui-datepicker-header {
336
+ position: relative;
337
+ padding: 10px 0;
338
+ border: 2px solid #000;
339
+ border-bottom: 0;
340
+ background-color: #efefef;
341
+ }
342
+
343
+ .happyforms-date-picker .ui-datepicker-header .ui-datepicker-prev,
344
+ .happyforms-date-picker .ui-datepicker-header .ui-datepicker-next {
345
+ cursor: pointer;
346
+ position: absolute;
347
+ top: 0;
348
+ left: 3px;
349
+ padding: 12px 10px;
350
+ display: block;
351
+ font-weight: bold;
352
+ color: #000;
353
+ }
354
+
355
+ .happyforms-date-picker .ui-datepicker-header .ui-datepicker-next {
356
+ left: auto;
357
+ right: 3px;
358
+ }
359
+
360
+ .happyforms-date-picker .ui-datepicker-title {
361
+ font-weight: bold;
362
+ font-size: 14px;
363
+ text-align: center;
364
+ }
365
+
366
+ #ui-datepicker-div.happyforms-date-picker {
367
+ max-width: 250px;
368
+ }
369
+
370
+ .happyforms-date-picker table.ui-datepicker-calendar {
371
+ margin-top: 0;
372
+ margin-bottom: 0;
373
+ border: 2px solid #000;
374
+ }
375
+
376
+ .happyforms-date-picker .ui-datepicker-calendar a {
377
+ display: block;
378
+ width: 100%;
379
+ height: 100%;
380
+ text-align: center;
381
+ color: #3070d1;
382
+ text-decoration: none;
383
+ }
384
+
385
+ .happyforms-message-notices {
386
+ padding: 0 1%;
387
+ }
388
+
389
+ .happyforms-message-notice h2 {
390
+ margin-bottom: 0;
391
+ font-weight: bold;
392
+ font-size: 14px !important;
393
+ padding: 20px;
394
+ }
395
+
396
+ .happyforms-message-notice.error h2 {
397
+ margin-bottom: 5px;
398
+ padding: 0;
399
+ color: #d3422c;
400
+ font-weight: normal;
401
+ }
402
+
403
+ .happyforms-message-notice.success h2,
404
+ .happyforms-message-notice.error-submission h2 {
405
+ margin-top: 0 !important;
406
+ margin-bottom: 0 !important;
407
+ padding-top: 0 !important;
408
+ padding-bottom: 0 !important;
409
+ font-size: 16px !important;
410
+ }
411
+
412
+ .happyforms-message-notice.success,
413
+ .happyforms-message-notice.error-submission {
414
+ padding: 25px 0;
415
+ border: 3px solid;
416
+ border-width: 3px;
417
+ border-color: #000;
418
+ background-color: #fff;
419
+ }
420
+
421
+ .happyforms-message-notice.success h2 {
422
+ color: #39b54a;
423
+ }
424
+
425
+ .happyforms-message-notice.error-submission {
426
+ border-color: #d3422c;
427
+ }
428
+
429
+ .happyforms-credits {
430
+ margin: 0 1% 25px;
431
+ }
432
+
433
+ .happyforms-credits:after {
434
+ content: '';
435
+ display: table;
436
+ clear: both;
437
+ }
438
+
439
+ .happyforms-visuallyhidden {
440
+ position: absolute;
441
+ border: 0;
442
+ clip: rect(0 0 0 0);
443
+ width: 1px;
444
+ height: 1px;
445
+ margin: -1px;
446
+ padding: 0;
447
+ overflow: hidden;
448
+ }
assets/fonts/FontAwesome.otf ADDED
Binary file
assets/fonts/fontawesome-webfont.eot ADDED
Binary file
assets/fonts/fontawesome-webfont.svg ADDED
@@ -0,0 +1,2671 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg>
4
+ <metadata>
5
+ Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016
6
+ By ,,,
7
+ Copyright Dave Gandy 2016. All rights reserved.
8
+ </metadata>
9
+ <defs>
10
+ <font id="FontAwesome" horiz-adv-x="1536" >
11
+ <font-face
12
+ font-family="FontAwesome"
13
+ font-weight="400"
14
+ font-stretch="normal"
15
+ units-per-em="1792"
16
+ panose-1="0 0 0 0 0 0 0 0 0 0"
17
+ ascent="1536"
18
+ descent="-256"
19
+ bbox="-1.02083 -256.962 2304.6 1537.02"
20
+ underline-thickness="0"
21
+ underline-position="0"
22
+ unicode-range="U+0020-F500"
23
+ />
24
+ <missing-glyph horiz-adv-x="896"
25
+ d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
26
+ <glyph glyph-name=".notdef" horiz-adv-x="896"
27
+ d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
28
+ <glyph glyph-name=".null" horiz-adv-x="0"
29
+ />
30
+ <glyph glyph-name="nonmarkingreturn" horiz-adv-x="597"
31
+ />
32
+ <glyph glyph-name="space" unicode=" " horiz-adv-x="448"
33
+ />
34
+ <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1792"
35
+ />
36
+ <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1792"
37
+ />
38
+ <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1792"
39
+ />
40
+ <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1792"
41
+ />
42
+ <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1792"
43
+ />
44
+ <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1792"
45
+ />
46
+ <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1792"
47
+ />
48
+ <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1792"
49
+ />
50
+ <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1792"
51
+ />
52
+ <glyph glyph-name="glass" unicode="&#xf000;" horiz-adv-x="1792"
53
+ d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
54
+ <glyph glyph-name="music" unicode="&#xf001;"
55
+ d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89
56
+ t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
57
+ <glyph glyph-name="search" unicode="&#xf002;" horiz-adv-x="1664"
58
+ d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5
59
+ t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
60
+ <glyph glyph-name="envelope" unicode="&#xf003;" horiz-adv-x="1792"
61
+ d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13
62
+ t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z
63
+ M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
64
+ <glyph glyph-name="heart" unicode="&#xf004;" horiz-adv-x="1792"
65
+ d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600
66
+ q-18 -18 -44 -18z" />
67
+ <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="1664"
68
+ d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455
69
+ l502 -73q56 -9 56 -46z" />
70
+ <glyph glyph-name="star_empty" unicode="&#xf006;" horiz-adv-x="1664"
71
+ d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500
72
+ l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
73
+ <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="1280"
74
+ d="M1280 137q0 -109 -62.5 -187t-150.5 -78h-854q-88 0 -150.5 78t-62.5 187q0 85 8.5 160.5t31.5 152t58.5 131t94 89t134.5 34.5q131 -128 313 -128t313 128q76 0 134.5 -34.5t94 -89t58.5 -131t31.5 -152t8.5 -160.5zM1024 1024q0 -159 -112.5 -271.5t-271.5 -112.5
75
+ t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
76
+ <glyph glyph-name="film" unicode="&#xf008;" horiz-adv-x="1920"
77
+ d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128
78
+ q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45
79
+ t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128
80
+ q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19
81
+ t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
82
+ <glyph glyph-name="th_large" unicode="&#xf009;" horiz-adv-x="1664"
83
+ d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38
84
+ h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
85
+ <glyph glyph-name="th" unicode="&#xf00a;" horiz-adv-x="1792"
86
+ d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320
87
+ q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
88
+ h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192
89
+ q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
90
+ <glyph glyph-name="th_list" unicode="&#xf00b;" horiz-adv-x="1792"
91
+ d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960
92
+ q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
93
+ h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
94
+ <glyph glyph-name="ok" unicode="&#xf00c;" horiz-adv-x="1792"
95
+ d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
96
+ <glyph glyph-name="remove" unicode="&#xf00d;" horiz-adv-x="1408"
97
+ d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68
98
+ t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
99
+ <glyph glyph-name="zoom_in" unicode="&#xf00e;" horiz-adv-x="1664"
100
+ d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224
101
+ q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5
102
+ t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
103
+ <glyph glyph-name="zoom_out" unicode="&#xf010;" horiz-adv-x="1664"
104
+ d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z
105
+ M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z
106
+ " />
107
+ <glyph glyph-name="off" unicode="&#xf011;"
108
+ d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5
109
+ t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
110
+ <glyph glyph-name="signal" unicode="&#xf012;" horiz-adv-x="1792"
111
+ d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
112
+ v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
113
+ <glyph glyph-name="cog" unicode="&#xf013;"
114
+ d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38
115
+ q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13
116
+ l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22
117
+ q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
118
+ <glyph glyph-name="trash" unicode="&#xf014;" horiz-adv-x="1408"
119
+ d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576
120
+ q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832
121
+ q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
122
+ <glyph glyph-name="home" unicode="&#xf015;" horiz-adv-x="1664"
123
+ d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5
124
+ l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
125
+ <glyph glyph-name="file_alt" unicode="&#xf016;"
126
+ d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
127
+ " />
128
+ <glyph glyph-name="time" unicode="&#xf017;"
129
+ d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
130
+ q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
131
+ <glyph glyph-name="road" unicode="&#xf018;" horiz-adv-x="1920"
132
+ d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256
133
+ q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
134
+ <glyph glyph-name="download_alt" unicode="&#xf019;" horiz-adv-x="1664"
135
+ d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136
136
+ q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
137
+ <glyph glyph-name="download" unicode="&#xf01a;"
138
+ d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273
139
+ t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
140
+ <glyph glyph-name="upload" unicode="&#xf01b;"
141
+ d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198
142
+ t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
143
+ <glyph glyph-name="inbox" unicode="&#xf01c;"
144
+ d="M1023 576h316q-1 3 -2.5 8.5t-2.5 7.5l-212 496h-708l-212 -496q-1 -3 -2.5 -8.5t-2.5 -7.5h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552
145
+ q25 -61 25 -123z" />
146
+ <glyph glyph-name="play_circle" unicode="&#xf01d;"
147
+ d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
148
+ q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
149
+ <glyph glyph-name="repeat" unicode="&#xf01e;"
150
+ d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q15 0 25 -9
151
+ l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
152
+ <glyph glyph-name="refresh" unicode="&#xf021;"
153
+ d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117
154
+ q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5
155
+ q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
156
+ <glyph glyph-name="list_alt" unicode="&#xf022;" horiz-adv-x="1792"
157
+ d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
158
+ M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z
159
+ M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5
160
+ t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47
161
+ t47 -113z" />
162
+ <glyph glyph-name="lock" unicode="&#xf023;" horiz-adv-x="1152"
163
+ d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
164
+ <glyph glyph-name="flag" unicode="&#xf024;" horiz-adv-x="1792"
165
+ d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48
166
+ t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
167
+ <glyph glyph-name="headphones" unicode="&#xf025;" horiz-adv-x="1664"
168
+ d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78
169
+ t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5
170
+ t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
171
+ <glyph glyph-name="volume_off" unicode="&#xf026;" horiz-adv-x="768"
172
+ d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
173
+ <glyph glyph-name="volume_down" unicode="&#xf027;" horiz-adv-x="1152"
174
+ d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
175
+ t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
176
+ <glyph glyph-name="volume_up" unicode="&#xf028;" horiz-adv-x="1664"
177
+ d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
178
+ t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5
179
+ t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289
180
+ t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
181
+ <glyph glyph-name="qrcode" unicode="&#xf029;" horiz-adv-x="1408"
182
+ d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z
183
+ M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
184
+ <glyph glyph-name="barcode" unicode="&#xf02a;" horiz-adv-x="1792"
185
+ d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z
186
+ M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
187
+ <glyph glyph-name="tag" unicode="&#xf02b;"
188
+ d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
189
+ l715 -714q37 -39 37 -91z" />
190
+ <glyph glyph-name="tags" unicode="&#xf02c;" horiz-adv-x="1920"
191
+ d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
192
+ l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
193
+ <glyph glyph-name="book" unicode="&#xf02d;" horiz-adv-x="1664"
194
+ d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23
195
+ q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906
196
+ q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5
197
+ t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
198
+ <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="1280"
199
+ d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
200
+ <glyph glyph-name="print" unicode="&#xf02f;" horiz-adv-x="1664"
201
+ d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68
202
+ v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
203
+ <glyph glyph-name="camera" unicode="&#xf030;" horiz-adv-x="1920"
204
+ d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136
205
+ q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
206
+ <glyph glyph-name="font" unicode="&#xf031;" horiz-adv-x="1664"
207
+ d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57
208
+ q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -5 -0.5 -13.5t-0.5 -12.5q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5
209
+ q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
210
+ <glyph glyph-name="bold" unicode="&#xf032;" horiz-adv-x="1408"
211
+ d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142
212
+ q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5
213
+ t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68 -0.5t68 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5
214
+ t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
215
+ <glyph glyph-name="italic" unicode="&#xf033;" horiz-adv-x="1024"
216
+ d="M0 -126l17 85q22 7 61.5 16.5t72 19t59.5 23.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5
217
+ q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
218
+ <glyph glyph-name="text_height" unicode="&#xf034;" horiz-adv-x="1792"
219
+ d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2
220
+ t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5
221
+ q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
222
+ q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
223
+ <glyph glyph-name="text_width" unicode="&#xf035;"
224
+ d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1
225
+ t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
226
+ q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5
227
+ t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49
228
+ t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
229
+ <glyph glyph-name="align_left" unicode="&#xf036;" horiz-adv-x="1792"
230
+ d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45
231
+ t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
232
+ <glyph glyph-name="align_center" unicode="&#xf037;" horiz-adv-x="1792"
233
+ d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19
234
+ h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
235
+ <glyph glyph-name="align_right" unicode="&#xf038;" horiz-adv-x="1792"
236
+ d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
237
+ t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
238
+ <glyph glyph-name="align_justify" unicode="&#xf039;" horiz-adv-x="1792"
239
+ d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
240
+ t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
241
+ <glyph glyph-name="list" unicode="&#xf03a;" horiz-adv-x="1792"
242
+ d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5
243
+ t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344
244
+ q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
245
+ t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192
246
+ q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
247
+ <glyph glyph-name="indent_left" unicode="&#xf03b;" horiz-adv-x="1792"
248
+ d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
249
+ t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
250
+ q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
251
+ <glyph glyph-name="indent_right" unicode="&#xf03c;" horiz-adv-x="1792"
252
+ d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
253
+ t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
254
+ q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
255
+ <glyph glyph-name="facetime_video" unicode="&#xf03d;" horiz-adv-x="1792"
256
+ d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5
257
+ q39 -17 39 -59z" />
258
+ <glyph glyph-name="picture" unicode="&#xf03e;" horiz-adv-x="1920"
259
+ d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216
260
+ q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
261
+ <glyph glyph-name="pencil" unicode="&#xf040;"
262
+ d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38
263
+ q53 0 91 -38l235 -234q37 -39 37 -91z" />
264
+ <glyph glyph-name="map_marker" unicode="&#xf041;" horiz-adv-x="1024"
265
+ d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
266
+ <glyph glyph-name="adjust" unicode="&#xf042;"
267
+ d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
268
+ <glyph glyph-name="tint" unicode="&#xf043;" horiz-adv-x="1024"
269
+ d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362
270
+ q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
271
+ <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="1792"
272
+ d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
273
+ q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92
274
+ l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
275
+ <glyph glyph-name="share" unicode="&#xf045;" horiz-adv-x="1664"
276
+ d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832
277
+ q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5
278
+ t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
279
+ <glyph glyph-name="check" unicode="&#xf046;" horiz-adv-x="1664"
280
+ d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832
281
+ q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110
282
+ q24 -24 24 -57t-24 -57z" />
283
+ <glyph glyph-name="move" unicode="&#xf047;" horiz-adv-x="1792"
284
+ d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45
285
+ t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
286
+ <glyph glyph-name="step_backward" unicode="&#xf048;" horiz-adv-x="1024"
287
+ d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19z" />
288
+ <glyph glyph-name="fast_backward" unicode="&#xf049;" horiz-adv-x="1792"
289
+ d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19l710 710
290
+ q19 19 32 13t13 -32v-710q4 10 13 19z" />
291
+ <glyph glyph-name="backward" unicode="&#xf04a;" horiz-adv-x="1664"
292
+ d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q4 10 13 19z" />
293
+ <glyph glyph-name="play" unicode="&#xf04b;" horiz-adv-x="1408"
294
+ d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
295
+ <glyph glyph-name="pause" unicode="&#xf04c;"
296
+ d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
297
+ <glyph glyph-name="stop" unicode="&#xf04d;"
298
+ d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
299
+ <glyph glyph-name="forward" unicode="&#xf04e;" horiz-adv-x="1664"
300
+ d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
301
+ <glyph glyph-name="fast_forward" unicode="&#xf050;" horiz-adv-x="1792"
302
+ d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19l-710 -710
303
+ q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
304
+ <glyph glyph-name="step_forward" unicode="&#xf051;" horiz-adv-x="1024"
305
+ d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19z" />
306
+ <glyph glyph-name="eject" unicode="&#xf052;" horiz-adv-x="1538"
307
+ d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
308
+ <glyph glyph-name="chevron_left" unicode="&#xf053;" horiz-adv-x="1280"
309
+ d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
310
+ <glyph glyph-name="chevron_right" unicode="&#xf054;" horiz-adv-x="1280"
311
+ d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
312
+ <glyph glyph-name="plus_sign" unicode="&#xf055;"
313
+ d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5
314
+ t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
315
+ <glyph glyph-name="minus_sign" unicode="&#xf056;"
316
+ d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
317
+ t103 -385.5z" />
318
+ <glyph glyph-name="remove_sign" unicode="&#xf057;"
319
+ d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19
320
+ q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
321
+ <glyph glyph-name="ok_sign" unicode="&#xf058;"
322
+ d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
323
+ t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
324
+ <glyph glyph-name="question_sign" unicode="&#xf059;"
325
+ d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59
326
+ q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
327
+ t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
328
+ <glyph glyph-name="info_sign" unicode="&#xf05a;"
329
+ d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23
330
+ t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
331
+ <glyph glyph-name="screenshot" unicode="&#xf05b;"
332
+ d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109
333
+ q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143
334
+ q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
335
+ <glyph glyph-name="remove_circle" unicode="&#xf05c;"
336
+ d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
337
+ l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5
338
+ t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
339
+ <glyph glyph-name="ok_circle" unicode="&#xf05d;"
340
+ d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198
341
+ t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
342
+ <glyph glyph-name="ban_circle" unicode="&#xf05e;"
343
+ d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61
344
+ t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
345
+ <glyph glyph-name="arrow_left" unicode="&#xf060;"
346
+ d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5
347
+ t32.5 -90.5z" />
348
+ <glyph glyph-name="arrow_right" unicode="&#xf061;"
349
+ d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
350
+ <glyph glyph-name="arrow_up" unicode="&#xf062;" horiz-adv-x="1664"
351
+ d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651
352
+ q37 -39 37 -91z" />
353
+ <glyph glyph-name="arrow_down" unicode="&#xf063;" horiz-adv-x="1664"
354
+ d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
355
+ <glyph glyph-name="share_alt" unicode="&#xf064;" horiz-adv-x="1792"
356
+ d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22
357
+ t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
358
+ <glyph glyph-name="resize_full" unicode="&#xf065;"
359
+ d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332
360
+ q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
361
+ <glyph glyph-name="resize_small" unicode="&#xf066;"
362
+ d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45
363
+ t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
364
+ <glyph glyph-name="plus" unicode="&#xf067;" horiz-adv-x="1408"
365
+ d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
366
+ <glyph glyph-name="minus" unicode="&#xf068;" horiz-adv-x="1408"
367
+ d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
368
+ <glyph glyph-name="asterisk" unicode="&#xf069;" horiz-adv-x="1664"
369
+ d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154
370
+ q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
371
+ <glyph glyph-name="exclamation_sign" unicode="&#xf06a;"
372
+ d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192
373
+ q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
374
+ <glyph glyph-name="gift" unicode="&#xf06b;"
375
+ d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320
376
+ q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5
377
+ t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
378
+ <glyph glyph-name="leaf" unicode="&#xf06c;" horiz-adv-x="1792"
379
+ d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268
380
+ q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-43 0 -63.5 17.5t-45.5 59.5q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5
381
+ t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
382
+ <glyph glyph-name="fire" unicode="&#xf06d;" horiz-adv-x="1408"
383
+ d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1
384
+ q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
385
+ <glyph glyph-name="eye_open" unicode="&#xf06e;" horiz-adv-x="1792"
386
+ d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5
387
+ t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
388
+ <glyph glyph-name="eye_close" unicode="&#xf070;" horiz-adv-x="1792"
389
+ d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9
390
+ q-106 -189 -316 -567t-315 -566l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5
391
+ q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z
392
+ " />
393
+ <glyph glyph-name="warning_sign" unicode="&#xf071;" horiz-adv-x="1792"
394
+ d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185
395
+ q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
396
+ <glyph glyph-name="plane" unicode="&#xf072;" horiz-adv-x="1408"
397
+ d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9
398
+ q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
399
+ <glyph glyph-name="calendar" unicode="&#xf073;" horiz-adv-x="1664"
400
+ d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z
401
+ M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64
402
+ q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47
403
+ h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
404
+ <glyph glyph-name="random" unicode="&#xf074;" horiz-adv-x="1792"
405
+ d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1
406
+ t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5
407
+ v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111
408
+ t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
409
+ <glyph glyph-name="comment" unicode="&#xf075;" horiz-adv-x="1792"
410
+ d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281
411
+ q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
412
+ <glyph glyph-name="magnet" unicode="&#xf076;"
413
+ d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384
414
+ q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
415
+ <glyph glyph-name="chevron_up" unicode="&#xf077;" horiz-adv-x="1792"
416
+ d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
417
+ <glyph glyph-name="chevron_down" unicode="&#xf078;" horiz-adv-x="1792"
418
+ d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
419
+ <glyph glyph-name="retweet" unicode="&#xf079;" horiz-adv-x="1920"
420
+ d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -10 7 -21
421
+ zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z
422
+ " />
423
+ <glyph glyph-name="shopping_cart" unicode="&#xf07a;" horiz-adv-x="1664"
424
+ d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45
425
+ t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
426
+ <glyph glyph-name="folder_close" unicode="&#xf07b;" horiz-adv-x="1664"
427
+ d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
428
+ <glyph glyph-name="folder_open" unicode="&#xf07c;" horiz-adv-x="1920"
429
+ d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5
430
+ t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
431
+ <glyph glyph-name="resize_vertical" unicode="&#xf07d;" horiz-adv-x="768"
432
+ d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
433
+ <glyph glyph-name="resize_horizontal" unicode="&#xf07e;" horiz-adv-x="1792"
434
+ d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
435
+ <glyph glyph-name="bar_chart" unicode="&#xf080;" horiz-adv-x="2048"
436
+ d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
437
+ <glyph glyph-name="twitter_sign" unicode="&#xf081;"
438
+ d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4
439
+ q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5
440
+ t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
441
+ <glyph glyph-name="facebook_sign" unicode="&#xf082;"
442
+ d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960
443
+ q0 119 84.5 203.5t203.5 84.5h960z" />
444
+ <glyph glyph-name="camera_retro" unicode="&#xf083;" horiz-adv-x="1792"
445
+ d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5
446
+ t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280
447
+ q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
448
+ <glyph glyph-name="key" unicode="&#xf084;" horiz-adv-x="1792"
449
+ d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26
450
+ l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5
451
+ t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
452
+ <glyph glyph-name="cogs" unicode="&#xf085;" horiz-adv-x="1920"
453
+ d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5
454
+ t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -11 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5
455
+ l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7
456
+ l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -8 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31
457
+ q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20
458
+ t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68
459
+ q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70
460
+ q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
461
+ <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="1792"
462
+ d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224
463
+ q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7
464
+ q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
465
+ <glyph glyph-name="thumbs_up_alt" unicode="&#xf087;"
466
+ d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5
467
+ t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769
468
+ q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128
469
+ q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
470
+ <glyph glyph-name="thumbs_down_alt" unicode="&#xf088;"
471
+ d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 31 18 69q0 37 -17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5
472
+ t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z
473
+ M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5
474
+ h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -73 49 -163z" />
475
+ <glyph glyph-name="star_half" unicode="&#xf089;" horiz-adv-x="896"
476
+ d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
477
+ <glyph glyph-name="heart_empty" unicode="&#xf08a;" horiz-adv-x="1792"
478
+ d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559
479
+ q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5
480
+ q224 0 351 -124t127 -344z" />
481
+ <glyph glyph-name="signout" unicode="&#xf08b;" horiz-adv-x="1664"
482
+ d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704
483
+ q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
484
+ <glyph glyph-name="linkedin_sign" unicode="&#xf08c;"
485
+ d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5
486
+ q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
487
+ <glyph glyph-name="pushpin" unicode="&#xf08d;" horiz-adv-x="1152"
488
+ d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38
489
+ t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
490
+ <glyph glyph-name="external_link" unicode="&#xf08e;" horiz-adv-x="1792"
491
+ d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320
492
+ q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
493
+ <glyph glyph-name="signin" unicode="&#xf090;"
494
+ d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5
495
+ q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
496
+ <glyph glyph-name="trophy" unicode="&#xf091;" horiz-adv-x="1664"
497
+ d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91
498
+ t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96
499
+ q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
500
+ <glyph glyph-name="github_sign" unicode="&#xf092;"
501
+ d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4
502
+ q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4
503
+ t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16
504
+ q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960
505
+ q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
506
+ <glyph glyph-name="upload_alt" unicode="&#xf093;" horiz-adv-x="1664"
507
+ d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92
508
+ t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
509
+ <glyph glyph-name="lemon" unicode="&#xf094;"
510
+ d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5
511
+ q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44
512
+ q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5
513
+ q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -13 2 -25t3.5 -16.5t7.5 -20.5t8 -20q16 -40 25 -118.5t9 -136.5z" />
514
+ <glyph glyph-name="phone" unicode="&#xf095;" horiz-adv-x="1408"
515
+ d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -53 3.5t-57.5 12.5t-47 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-127 79 -264 216t-216 264q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47t-12.5 57.5t-3.5 53q0 92 51 186
516
+ q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174q2 -1 19 -11.5t24 -14
517
+ t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
518
+ <glyph glyph-name="check_empty" unicode="&#xf096;" horiz-adv-x="1408"
519
+ d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
520
+ q119 0 203.5 -84.5t84.5 -203.5z" />
521
+ <glyph glyph-name="bookmark_empty" unicode="&#xf097;" horiz-adv-x="1280"
522
+ d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289
523
+ q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
524
+ <glyph glyph-name="phone_sign" unicode="&#xf098;"
525
+ d="M1280 343q0 11 -2 16t-18 16.5t-40.5 25t-47.5 26.5t-45.5 25t-28.5 15q-5 3 -19 13t-25 15t-21 5q-15 0 -36.5 -20.5t-39.5 -45t-38.5 -45t-33.5 -20.5q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170 126.5t-127 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5
526
+ t-3.5 16.5q0 13 20.5 33.5t45 38.5t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5
527
+ t320.5 -216.5q6 -2 30 -11t33 -12.5t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z
528
+ " />
529
+ <glyph glyph-name="twitter" unicode="&#xf099;" horiz-adv-x="1664"
530
+ d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41
531
+ q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
532
+ <glyph glyph-name="facebook" unicode="&#xf09a;" horiz-adv-x="1024"
533
+ d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
534
+ <glyph glyph-name="github" unicode="&#xf09b;"
535
+ d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24
536
+ q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5
537
+ t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12
538
+ q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z
539
+ M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
540
+ <glyph glyph-name="unlock" unicode="&#xf09c;" horiz-adv-x="1664"
541
+ d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5
542
+ t316.5 -131.5t131.5 -316.5z" />
543
+ <glyph glyph-name="credit_card" unicode="&#xf09d;" horiz-adv-x="1920"
544
+ d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608
545
+ q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
546
+ <glyph glyph-name="rss" unicode="&#xf09e;" horiz-adv-x="1408"
547
+ d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5
548
+ t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294
549
+ q187 -186 294 -425.5t120 -501.5z" />
550
+ <glyph glyph-name="hdd" unicode="&#xf0a0;"
551
+ d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5
552
+ h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75
553
+ l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
554
+ <glyph glyph-name="bullhorn" unicode="&#xf0a1;" horiz-adv-x="1792"
555
+ d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5
556
+ t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
557
+ <glyph glyph-name="bell" unicode="&#xf0a2;" horiz-adv-x="1792"
558
+ d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z
559
+ M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5
560
+ t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
561
+ <glyph glyph-name="certificate" unicode="&#xf0a3;"
562
+ d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70
563
+ l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70
564
+ l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
565
+ <glyph glyph-name="hand_right" unicode="&#xf0a4;" horiz-adv-x="1792"
566
+ d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106
567
+ q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43
568
+ q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5
569
+ t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
570
+ <glyph glyph-name="hand_left" unicode="&#xf0a5;" horiz-adv-x="1792"
571
+ d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-8 9 -12 14q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576q-50 0 -89 -38.5
572
+ t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45z
573
+ M1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128q0 122 81.5 189t206.5 67
574
+ q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
575
+ <glyph glyph-name="hand_up" unicode="&#xf0a6;"
576
+ d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576
577
+ q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5
578
+ t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76
579
+ q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
580
+ <glyph glyph-name="hand_down" unicode="&#xf0a7;"
581
+ d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33
582
+ t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580
583
+ q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100
584
+ q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
585
+ <glyph glyph-name="circle_arrow_left" unicode="&#xf0a8;"
586
+ d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640
587
+ q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
588
+ <glyph glyph-name="circle_arrow_right" unicode="&#xf0a9;"
589
+ d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640
590
+ q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
591
+ <glyph glyph-name="circle_arrow_up" unicode="&#xf0aa;"
592
+ d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640
593
+ q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
594
+ <glyph glyph-name="circle_arrow_down" unicode="&#xf0ab;"
595
+ d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640
596
+ q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
597
+ <glyph glyph-name="globe" unicode="&#xf0ac;"
598
+ d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11
599
+ q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 11t-9.5 10q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5
600
+ q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5
601
+ q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5
602
+ t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-4 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3
603
+ q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25
604
+ q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5
605
+ t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5
606
+ t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10.5t17 -19.5q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21
607
+ q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5
608
+ q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3
609
+ q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5
610
+ t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q8 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5
611
+ q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7
612
+ q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
613
+ <glyph glyph-name="wrench" unicode="&#xf0ad;" horiz-adv-x="1664"
614
+ d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5
615
+ t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
616
+ <glyph glyph-name="tasks" unicode="&#xf0ae;" horiz-adv-x="1792"
617
+ d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19
618
+ t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
619
+ <glyph glyph-name="filter" unicode="&#xf0b0;" horiz-adv-x="1408"
620
+ d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
621
+ <glyph glyph-name="briefcase" unicode="&#xf0b1;" horiz-adv-x="1792"
622
+ d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68
623
+ t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
624
+ <glyph glyph-name="fullscreen" unicode="&#xf0b2;"
625
+ d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144
626
+ l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z
627
+ " />
628
+ <glyph glyph-name="group" unicode="&#xf0c0;" horiz-adv-x="1920"
629
+ d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5
630
+ t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75
631
+ t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5
632
+ t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
633
+ <glyph glyph-name="link" unicode="&#xf0c1;" horiz-adv-x="1664"
634
+ d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26
635
+ l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15
636
+ t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207
637
+ q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
638
+ <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="1920"
639
+ d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z
640
+ " />
641
+ <glyph glyph-name="beaker" unicode="&#xf0c3;" horiz-adv-x="1664"
642
+ d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
643
+ <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="1792"
644
+ d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84
645
+ q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148
646
+ q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108
647
+ q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6
648
+ q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
649
+ <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="1792"
650
+ d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299
651
+ h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
652
+ <glyph glyph-name="paper_clip" unicode="&#xf0c6;" horiz-adv-x="1408"
653
+ d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181
654
+ l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235
655
+ z" />
656
+ <glyph glyph-name="save" unicode="&#xf0c7;"
657
+ d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5
658
+ h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
659
+ <glyph glyph-name="sign_blank" unicode="&#xf0c8;"
660
+ d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
661
+ <glyph glyph-name="reorder" unicode="&#xf0c9;"
662
+ d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45
663
+ t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
664
+ <glyph glyph-name="ul" unicode="&#xf0ca;" horiz-adv-x="1792"
665
+ d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
666
+ t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z
667
+ M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
668
+ <glyph glyph-name="ol" unicode="&#xf0cb;" horiz-adv-x="1792"
669
+ d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362
670
+ q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5
671
+ t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 121.5t0.5 121.5v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216
672
+ q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
673
+ <glyph glyph-name="strikethrough" unicode="&#xf0cc;" horiz-adv-x="1792"
674
+ d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 98 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6
675
+ l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -56 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23
676
+ l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
677
+ <glyph glyph-name="underline" unicode="&#xf0cd;"
678
+ d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47
679
+ q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41
680
+ q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472
681
+ q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
682
+ <glyph glyph-name="table" unicode="&#xf0ce;" horiz-adv-x="1664"
683
+ d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23
684
+ v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192
685
+ q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192
686
+ q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113
687
+ z" />
688
+ <glyph glyph-name="magic" unicode="&#xf0d0;" horiz-adv-x="1664"
689
+ d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276
690
+ l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
691
+ <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="1792"
692
+ d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5
693
+ t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38
694
+ t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
695
+ <glyph glyph-name="pinterest" unicode="&#xf0d2;"
696
+ d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134
697
+ q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33
698
+ q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
699
+ <glyph glyph-name="pinterest_sign" unicode="&#xf0d3;"
700
+ d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5
701
+ t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5
702
+ t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
703
+ <glyph glyph-name="google_plus_sign" unicode="&#xf0d4;"
704
+ d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585
705
+ h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
706
+ <glyph glyph-name="google_plus" unicode="&#xf0d5;" horiz-adv-x="2304"
707
+ d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62
708
+ q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
709
+ <glyph glyph-name="money" unicode="&#xf0d6;" horiz-adv-x="1920"
710
+ d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384
711
+ v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
712
+ <glyph glyph-name="caret_down" unicode="&#xf0d7;" horiz-adv-x="1024"
713
+ d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
714
+ <glyph glyph-name="caret_up" unicode="&#xf0d8;" horiz-adv-x="1024"
715
+ d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
716
+ <glyph glyph-name="caret_left" unicode="&#xf0d9;" horiz-adv-x="640"
717
+ d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
718
+ <glyph glyph-name="caret_right" unicode="&#xf0da;" horiz-adv-x="640"
719
+ d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
720
+ <glyph glyph-name="columns" unicode="&#xf0db;" horiz-adv-x="1664"
721
+ d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
722
+ <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="1024"
723
+ d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
724
+ <glyph glyph-name="sort_down" unicode="&#xf0dd;" horiz-adv-x="1024"
725
+ d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
726
+ <glyph glyph-name="sort_up" unicode="&#xf0de;" horiz-adv-x="1024"
727
+ d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
728
+ <glyph glyph-name="envelope_alt" unicode="&#xf0e0;" horiz-adv-x="1792"
729
+ d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123
730
+ q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
731
+ <glyph glyph-name="linkedin" unicode="&#xf0e1;"
732
+ d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329
733
+ q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
734
+ <glyph glyph-name="undo" unicode="&#xf0e2;"
735
+ d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
736
+ t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
737
+ <glyph glyph-name="legal" unicode="&#xf0e3;" horiz-adv-x="1792"
738
+ d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5
739
+ t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14
740
+ q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28
741
+ q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
742
+ <glyph glyph-name="dashboard" unicode="&#xf0e4;" horiz-adv-x="1792"
743
+ d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5
744
+ t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5
745
+ t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29
746
+ q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
747
+ <glyph glyph-name="comment_alt" unicode="&#xf0e5;" horiz-adv-x="1792"
748
+ d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640
749
+ q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5
750
+ t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
751
+ <glyph glyph-name="comments_alt" unicode="&#xf0e6;" horiz-adv-x="1792"
752
+ d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257
753
+ t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5
754
+ t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129
755
+ q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
756
+ <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="896"
757
+ d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
758
+ <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="1792"
759
+ d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320
760
+ q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68
761
+ z" />
762
+ <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="1664"
763
+ d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97
764
+ q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69
765
+ q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
766
+ <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="1792"
767
+ d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28
768
+ h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
769
+ <glyph glyph-name="light_bulb" unicode="&#xf0eb;" horiz-adv-x="1024"
770
+ d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134
771
+ q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47
772
+ q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5
773
+ t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
774
+ <glyph glyph-name="exchange" unicode="&#xf0ec;" horiz-adv-x="1792"
775
+ d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9
776
+ q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
777
+ <glyph glyph-name="cloud_download" unicode="&#xf0ed;" horiz-adv-x="1920"
778
+ d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
779
+ q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
780
+ <glyph glyph-name="cloud_upload" unicode="&#xf0ee;" horiz-adv-x="1920"
781
+ d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
782
+ q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
783
+ <glyph glyph-name="user_md" unicode="&#xf0f0;" horiz-adv-x="1408"
784
+ d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56
785
+ t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68
786
+ t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
787
+ t271.5 -112.5t112.5 -271.5z" />
788
+ <glyph glyph-name="stethoscope" unicode="&#xf0f1;" horiz-adv-x="1408"
789
+ d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48
790
+ t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252
791
+ t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
792
+ <glyph glyph-name="suitcase" unicode="&#xf0f2;" horiz-adv-x="1792"
793
+ d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66
794
+ t66 -158z" />
795
+ <glyph glyph-name="bell_alt" unicode="&#xf0f3;" horiz-adv-x="1792"
796
+ d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5
797
+ t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
798
+ <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="1920"
799
+ d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45
800
+ t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
801
+ <glyph glyph-name="food" unicode="&#xf0f5;" horiz-adv-x="1408"
802
+ d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45
803
+ t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
804
+ <glyph glyph-name="file_text_alt" unicode="&#xf0f6;"
805
+ d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
806
+ M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704
807
+ q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
808
+ <glyph glyph-name="building" unicode="&#xf0f7;" horiz-adv-x="1408"
809
+ d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
810
+ M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
811
+ M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
812
+ M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
813
+ M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
814
+ M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
815
+ M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
816
+ M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
817
+ M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
818
+ M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
819
+ <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="1408"
820
+ d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
821
+ M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
822
+ M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
823
+ M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
824
+ M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
825
+ M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5
826
+ t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320
827
+ v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
828
+ <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="1920"
829
+ d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5
830
+ t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152
831
+ q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
832
+ <glyph glyph-name="medkit" unicode="&#xf0fa;" horiz-adv-x="1792"
833
+ d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32
834
+ q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
835
+ <glyph glyph-name="fighter_jet" unicode="&#xf0fb;" horiz-adv-x="1920"
836
+ d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96
837
+ q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q128 -28 200 -52t80 -34z" />
838
+ <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="1664"
839
+ d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
840
+ <glyph glyph-name="h_sign" unicode="&#xf0fd;"
841
+ d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960
842
+ q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
843
+ <glyph glyph-name="f0fe" unicode="&#xf0fe;"
844
+ d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960
845
+ q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
846
+ <glyph glyph-name="double_angle_left" unicode="&#xf100;" horiz-adv-x="1024"
847
+ d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
848
+ t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
849
+ <glyph glyph-name="double_angle_right" unicode="&#xf101;" horiz-adv-x="1024"
850
+ d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23
851
+ l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
852
+ <glyph glyph-name="double_angle_up" unicode="&#xf102;" horiz-adv-x="1152"
853
+ d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393
854
+ q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
855
+ <glyph glyph-name="double_angle_down" unicode="&#xf103;" horiz-adv-x="1152"
856
+ d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
857
+ t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
858
+ <glyph glyph-name="angle_left" unicode="&#xf104;" horiz-adv-x="640"
859
+ d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
860
+ <glyph glyph-name="angle_right" unicode="&#xf105;" horiz-adv-x="640"
861
+ d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
862
+ <glyph glyph-name="angle_up" unicode="&#xf106;" horiz-adv-x="1152"
863
+ d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
864
+ <glyph glyph-name="angle_down" unicode="&#xf107;" horiz-adv-x="1152"
865
+ d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
866
+ <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="1920"
867
+ d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19
868
+ t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
869
+ <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="1920"
870
+ d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z
871
+ M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
872
+ <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="1152"
873
+ d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832
874
+ q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
875
+ <glyph glyph-name="mobile_phone" unicode="&#xf10b;" horiz-adv-x="768"
876
+ d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136
877
+ q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
878
+ <glyph glyph-name="circle_blank" unicode="&#xf10c;"
879
+ d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103
880
+ t279.5 -279.5t103 -385.5z" />
881
+ <glyph glyph-name="quote_left" unicode="&#xf10d;" horiz-adv-x="1664"
882
+ d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z
883
+ M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
884
+ <glyph glyph-name="quote_right" unicode="&#xf10e;" horiz-adv-x="1664"
885
+ d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216
886
+ v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
887
+ <glyph glyph-name="spinner" unicode="&#xf110;" horiz-adv-x="1792"
888
+ d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5
889
+ t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z
890
+ M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5
891
+ q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
892
+ <glyph glyph-name="circle" unicode="&#xf111;"
893
+ d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
894
+ <glyph glyph-name="reply" unicode="&#xf112;" horiz-adv-x="1792"
895
+ d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19
896
+ l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
897
+ <glyph glyph-name="github_alt" unicode="&#xf113;" horiz-adv-x="1664"
898
+ d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320
899
+ q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86
900
+ t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218
901
+ q0 -87 -27 -168q136 -160 136 -398z" />
902
+ <glyph glyph-name="folder_close_alt" unicode="&#xf114;" horiz-adv-x="1664"
903
+ d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320
904
+ q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
905
+ <glyph glyph-name="folder_open_alt" unicode="&#xf115;" horiz-adv-x="1920"
906
+ d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68
907
+ v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z
908
+ " />
909
+ <glyph glyph-name="expand_alt" unicode="&#xf116;" horiz-adv-x="1792"
910
+ />
911
+ <glyph glyph-name="collapse_alt" unicode="&#xf117;" horiz-adv-x="1792"
912
+ />
913
+ <glyph glyph-name="smile" unicode="&#xf118;"
914
+ d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
915
+ t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5
916
+ t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
917
+ <glyph glyph-name="frown" unicode="&#xf119;"
918
+ d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
919
+ t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204
920
+ t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
921
+ <glyph glyph-name="meh" unicode="&#xf11a;"
922
+ d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
923
+ t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
924
+ q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
925
+ <glyph glyph-name="gamepad" unicode="&#xf11b;" horiz-adv-x="1920"
926
+ d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
927
+ t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150
928
+ t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
929
+ <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="1920"
930
+ d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16
931
+ h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16
932
+ h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96
933
+ q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896
934
+ h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
935
+ <glyph glyph-name="flag_alt" unicode="&#xf11d;" horiz-adv-x="1792"
936
+ d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9
937
+ h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102
938
+ q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
939
+ <glyph glyph-name="flag_checkered" unicode="&#xf11e;" horiz-adv-x="1792"
940
+ d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2
941
+ q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266
942
+ q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8
943
+ q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
944
+ <glyph glyph-name="terminal" unicode="&#xf120;" horiz-adv-x="1664"
945
+ d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9
946
+ t9 -23z" />
947
+ <glyph glyph-name="code" unicode="&#xf121;" horiz-adv-x="1920"
948
+ d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5
949
+ l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
950
+ <glyph glyph-name="reply_all" unicode="&#xf122;" horiz-adv-x="1792"
951
+ d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1
952
+ q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
953
+ <glyph glyph-name="star_half_empty" unicode="&#xf123;" horiz-adv-x="1664"
954
+ d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5
955
+ l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
956
+ <glyph glyph-name="location_arrow" unicode="&#xf124;" horiz-adv-x="1408"
957
+ d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
958
+ <glyph glyph-name="crop" unicode="&#xf125;" horiz-adv-x="1664"
959
+ d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23
960
+ v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
961
+ <glyph glyph-name="code_fork" unicode="&#xf126;" horiz-adv-x="1024"
962
+ d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5
963
+ q-2 -287 -226 -414q-67 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497
964
+ q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
965
+ <glyph glyph-name="unlink" unicode="&#xf127;" horiz-adv-x="1664"
966
+ d="M439 265l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320
967
+ q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18
968
+ l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9
969
+ t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
970
+ <glyph glyph-name="question" unicode="&#xf128;" horiz-adv-x="1024"
971
+ d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5
972
+ t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
973
+ <glyph glyph-name="_279" unicode="&#xf129;" horiz-adv-x="640"
974
+ d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192
975
+ q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
976
+ <glyph glyph-name="exclamation" unicode="&#xf12a;" horiz-adv-x="640"
977
+ d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
978
+ <glyph glyph-name="superscript" unicode="&#xf12b;"
979
+ d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
980
+ M1534 846v-206h-514l-3 27q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5
981
+ t-65.5 -51.5t-30.5 -63h232v80h126z" />
982
+ <glyph glyph-name="subscript" unicode="&#xf12c;"
983
+ d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
984
+ M1536 -50v-206h-514l-4 27q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73
985
+ h232v80h126z" />
986
+ <glyph glyph-name="_283" unicode="&#xf12d;" horiz-adv-x="1920"
987
+ d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
988
+ <glyph glyph-name="puzzle_piece" unicode="&#xf12e;" horiz-adv-x="1664"
989
+ d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5
990
+ t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89
991
+ q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117
992
+ q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
993
+ <glyph glyph-name="microphone" unicode="&#xf130;" horiz-adv-x="1152"
994
+ d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5
995
+ t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
996
+ <glyph glyph-name="microphone_off" unicode="&#xf131;" horiz-adv-x="1408"
997
+ d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128
998
+ q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23
999
+ t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
1000
+ <glyph glyph-name="shield" unicode="&#xf132;" horiz-adv-x="1280"
1001
+ d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150
1002
+ t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
1003
+ <glyph glyph-name="calendar_empty" unicode="&#xf133;" horiz-adv-x="1664"
1004
+ d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
1005
+ q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
1006
+ <glyph glyph-name="fire_extinguisher" unicode="&#xf134;" horiz-adv-x="1408"
1007
+ d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800
1008
+ q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113
1009
+ q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
1010
+ <glyph glyph-name="rocket" unicode="&#xf135;" horiz-adv-x="1664"
1011
+ d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1
1012
+ q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
1013
+ <glyph glyph-name="maxcdn" unicode="&#xf136;" horiz-adv-x="1792"
1014
+ d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
1015
+ <glyph glyph-name="chevron_sign_left" unicode="&#xf137;"
1016
+ d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
1017
+ t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1018
+ <glyph glyph-name="chevron_sign_right" unicode="&#xf138;"
1019
+ d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
1020
+ t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1021
+ <glyph glyph-name="chevron_sign_up" unicode="&#xf139;"
1022
+ d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
1023
+ t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1024
+ <glyph glyph-name="chevron_sign_down" unicode="&#xf13a;"
1025
+ d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
1026
+ t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1027
+ <glyph glyph-name="html5" unicode="&#xf13b;" horiz-adv-x="1408"
1028
+ d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
1029
+ <glyph glyph-name="css3" unicode="&#xf13c;" horiz-adv-x="1792"
1030
+ d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
1031
+ <glyph glyph-name="anchor" unicode="&#xf13d;" horiz-adv-x="1792"
1032
+ d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352
1033
+ q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19
1034
+ t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
1035
+ <glyph glyph-name="unlock_alt" unicode="&#xf13e;" horiz-adv-x="1152"
1036
+ d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181
1037
+ v-320h736z" />
1038
+ <glyph glyph-name="bullseye" unicode="&#xf140;"
1039
+ d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150
1040
+ t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
1041
+ q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1042
+ <glyph glyph-name="ellipsis_horizontal" unicode="&#xf141;" horiz-adv-x="1408"
1043
+ d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192
1044
+ q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
1045
+ <glyph glyph-name="ellipsis_vertical" unicode="&#xf142;" horiz-adv-x="384"
1046
+ d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192
1047
+ q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
1048
+ <glyph glyph-name="_303" unicode="&#xf143;"
1049
+ d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 233 -176.5 396.5t-396.5 176.5q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128
1050
+ q13 0 23 10t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960
1051
+ q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1052
+ <glyph glyph-name="play_sign" unicode="&#xf144;"
1053
+ d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56
1054
+ q16 -8 32 -8q17 0 32 9z" />
1055
+ <glyph glyph-name="ticket" unicode="&#xf145;" horiz-adv-x="1792"
1056
+ d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136
1057
+ t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
1058
+ <glyph glyph-name="minus_sign_alt" unicode="&#xf146;"
1059
+ d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
1060
+ t84.5 -203.5z" />
1061
+ <glyph glyph-name="check_minus" unicode="&#xf147;" horiz-adv-x="1408"
1062
+ d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5
1063
+ t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
1064
+ <glyph glyph-name="level_up" unicode="&#xf148;" horiz-adv-x="1024"
1065
+ d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
1066
+ <glyph glyph-name="level_down" unicode="&#xf149;" horiz-adv-x="1024"
1067
+ d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
1068
+ <glyph glyph-name="check_sign" unicode="&#xf14a;"
1069
+ d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5
1070
+ t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1071
+ <glyph glyph-name="edit_sign" unicode="&#xf14b;"
1072
+ d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120
1073
+ v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1074
+ <glyph glyph-name="_312" unicode="&#xf14c;"
1075
+ d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960
1076
+ q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1077
+ <glyph glyph-name="share_sign" unicode="&#xf14d;"
1078
+ d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q11 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5
1079
+ t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1080
+ <glyph glyph-name="compass" unicode="&#xf14e;"
1081
+ d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
1082
+ t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1083
+ <glyph glyph-name="collapse" unicode="&#xf150;"
1084
+ d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120
1085
+ v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1086
+ <glyph glyph-name="collapse_top" unicode="&#xf151;"
1087
+ d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960
1088
+ q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1089
+ <glyph glyph-name="_317" unicode="&#xf152;"
1090
+ d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5
1091
+ t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1092
+ <glyph glyph-name="eur" unicode="&#xf153;" horiz-adv-x="1024"
1093
+ d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9
1094
+ t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26
1095
+ l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
1096
+ <glyph glyph-name="gbp" unicode="&#xf154;" horiz-adv-x="1024"
1097
+ d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7
1098
+ q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
1099
+ <glyph glyph-name="usd" unicode="&#xf155;" horiz-adv-x="1024"
1100
+ d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43
1101
+ t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5
1102
+ t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50
1103
+ t53 -63.5t31.5 -76.5t13 -94z" />
1104
+ <glyph glyph-name="inr" unicode="&#xf156;" horiz-adv-x="898"
1105
+ d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102
1106
+ q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
1107
+ <glyph glyph-name="jpy" unicode="&#xf157;" horiz-adv-x="1027"
1108
+ d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61
1109
+ l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
1110
+ <glyph glyph-name="rub" unicode="&#xf158;" horiz-adv-x="1280"
1111
+ d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128
1112
+ q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
1113
+ <glyph glyph-name="krw" unicode="&#xf159;" horiz-adv-x="1792"
1114
+ d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23
1115
+ t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28
1116
+ q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
1117
+ <glyph glyph-name="btc" unicode="&#xf15a;" horiz-adv-x="1280"
1118
+ d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164
1119
+ l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30
1120
+ t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
1121
+ <glyph glyph-name="file" unicode="&#xf15b;"
1122
+ d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
1123
+ <glyph glyph-name="file_text" unicode="&#xf15c;"
1124
+ d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704
1125
+ q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
1126
+ <glyph glyph-name="sort_by_alphabet" unicode="&#xf15d;" horiz-adv-x="1664"
1127
+ d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23
1128
+ v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162
1129
+ l230 -662h70z" />
1130
+ <glyph glyph-name="_329" unicode="&#xf15e;" horiz-adv-x="1664"
1131
+ d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150
1132
+ v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248
1133
+ v119h121z" />
1134
+ <glyph glyph-name="sort_by_attributes" unicode="&#xf160;" horiz-adv-x="1792"
1135
+ d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832
1136
+ q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256
1137
+ q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
1138
+ <glyph glyph-name="sort_by_attributes_alt" unicode="&#xf161;" horiz-adv-x="1792"
1139
+ d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192
1140
+ q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832
1141
+ q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
1142
+ <glyph glyph-name="sort_by_order" unicode="&#xf162;"
1143
+ d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23
1144
+ zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5
1145
+ t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
1146
+ <glyph glyph-name="sort_by_order_alt" unicode="&#xf163;"
1147
+ d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9
1148
+ t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13
1149
+ q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
1150
+ <glyph glyph-name="_334" unicode="&#xf164;" horiz-adv-x="1664"
1151
+ d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76
1152
+ q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5
1153
+ t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
1154
+ <glyph glyph-name="_335" unicode="&#xf165;" horiz-adv-x="1664"
1155
+ d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135
1156
+ t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121
1157
+ t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
1158
+ <glyph glyph-name="youtube_sign" unicode="&#xf166;"
1159
+ d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 17 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15
1160
+ q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38
1161
+ q21 -29 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5
1162
+ q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78q7 -23 23 -69l24 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38
1163
+ q-51 0 -78 -38q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5
1164
+ h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1165
+ <glyph glyph-name="youtube" unicode="&#xf167;"
1166
+ d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73
1167
+ q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51
1168
+ q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99
1169
+ q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-38 -51 -106 -51q-67 0 -105 51
1170
+ q-28 38 -28 118v175q0 80 28 117q38 51 105 51q68 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
1171
+ <glyph glyph-name="xing" unicode="&#xf168;" horiz-adv-x="1408"
1172
+ d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942
1173
+ q25 45 64 45h241q22 0 31 -15z" />
1174
+ <glyph glyph-name="xing_sign" unicode="&#xf169;"
1175
+ d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1
1176
+ l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1177
+ <glyph glyph-name="youtube_play" unicode="&#xf16a;" horiz-adv-x="1792"
1178
+ d="M711 408l484 250l-484 253v-503zM896 1270q168 0 324.5 -4.5t229.5 -9.5l73 -4q1 0 17 -1.5t23 -3t23.5 -4.5t28.5 -8t28 -13t31 -19.5t29 -26.5q6 -6 15.5 -18.5t29 -58.5t26.5 -101q8 -64 12.5 -136.5t5.5 -113.5v-40v-136q1 -145 -18 -290q-7 -55 -25 -99.5t-32 -61.5
1179
+ l-14 -17q-14 -15 -29 -26.5t-31 -19t-28 -12.5t-28.5 -8t-24 -4.5t-23 -3t-16.5 -1.5q-251 -19 -627 -19q-207 2 -359.5 6.5t-200.5 7.5l-49 4l-36 4q-36 5 -54.5 10t-51 21t-56.5 41q-6 6 -15.5 18.5t-29 58.5t-26.5 101q-8 64 -12.5 136.5t-5.5 113.5v40v136
1180
+ q-1 145 18 290q7 55 25 99.5t32 61.5l14 17q14 15 29 26.5t31 19.5t28 13t28.5 8t23.5 4.5t23 3t17 1.5q251 18 627 18z" />
1181
+ <glyph glyph-name="dropbox" unicode="&#xf16b;" horiz-adv-x="1792"
1182
+ d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
1183
+ <glyph glyph-name="stackexchange" unicode="&#xf16c;"
1184
+ d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
1185
+ <glyph glyph-name="instagram" unicode="&#xf16d;"
1186
+ d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270
1187
+ q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5
1188
+ t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317
1189
+ q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" />
1190
+ <glyph glyph-name="flickr" unicode="&#xf16e;"
1191
+ d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150
1192
+ t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
1193
+ <glyph glyph-name="adn" unicode="&#xf170;"
1194
+ d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1195
+ <glyph glyph-name="f171" unicode="&#xf171;" horiz-adv-x="1408"
1196
+ d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22
1197
+ t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18
1198
+ t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5
1199
+ t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
1200
+ <glyph glyph-name="bitbucket_sign" unicode="&#xf172;"
1201
+ d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5
1202
+ t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z
1203
+ M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120
1204
+ v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1205
+ <glyph glyph-name="tumblr" unicode="&#xf173;" horiz-adv-x="1024"
1206
+ d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14
1207
+ q78 2 134 29z" />
1208
+ <glyph glyph-name="tumblr_sign" unicode="&#xf174;"
1209
+ d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z
1210
+ M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1211
+ <glyph glyph-name="long_arrow_down" unicode="&#xf175;" horiz-adv-x="768"
1212
+ d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
1213
+ <glyph glyph-name="long_arrow_up" unicode="&#xf176;" horiz-adv-x="768"
1214
+ d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
1215
+ <glyph glyph-name="long_arrow_left" unicode="&#xf177;" horiz-adv-x="1792"
1216
+ d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
1217
+ <glyph glyph-name="long_arrow_right" unicode="&#xf178;" horiz-adv-x="1792"
1218
+ d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
1219
+ <glyph glyph-name="apple" unicode="&#xf179;" horiz-adv-x="1408"
1220
+ d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q113 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65
1221
+ q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
1222
+ <glyph glyph-name="windows" unicode="&#xf17a;" horiz-adv-x="1664"
1223
+ d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
1224
+ <glyph glyph-name="android" unicode="&#xf17b;" horiz-adv-x="1408"
1225
+ d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30
1226
+ t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5
1227
+ h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
1228
+ <glyph glyph-name="linux" unicode="&#xf17c;"
1229
+ d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-10 -11 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z
1230
+ M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7
1231
+ q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15
1232
+ q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5
1233
+ t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19
1234
+ q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63
1235
+ q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18q-2 -1 -4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92
1236
+ q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152
1237
+ q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-6 0 -8 -2t0 -4
1238
+ t5 -3q14 -4 18 -31q0 -3 8 2q2 2 2 3zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5
1239
+ t-30 -18.5t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43
1240
+ q-19 4 -51 9.5t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49
1241
+ t-14 -48q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54
1242
+ q110 143 124 195q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5
1243
+ t-40.5 -33.5t-61 -14q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5
1244
+ t15.5 47.5q1 -31 8 -56.5t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
1245
+ <glyph glyph-name="dribble" unicode="&#xf17d;"
1246
+ d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81
1247
+ t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19
1248
+ q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -5 6.5 -17t7.5 -17q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6
1249
+ t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1250
+ <glyph glyph-name="skype" unicode="&#xf17e;"
1251
+ d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5
1252
+ t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5
1253
+ q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80
1254
+ q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
1255
+ <glyph glyph-name="foursquare" unicode="&#xf180;" horiz-adv-x="1280"
1256
+ d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z
1257
+ M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324
1258
+ l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
1259
+ <glyph glyph-name="trello" unicode="&#xf181;"
1260
+ d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408
1261
+ q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
1262
+ <glyph glyph-name="female" unicode="&#xf182;" horiz-adv-x="1280"
1263
+ d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43
1264
+ q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
1265
+ <glyph glyph-name="male" unicode="&#xf183;" horiz-adv-x="1024"
1266
+ d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z
1267
+ M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
1268
+ <glyph glyph-name="gittip" unicode="&#xf184;"
1269
+ d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
1270
+ t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1271
+ <glyph glyph-name="sun" unicode="&#xf185;" horiz-adv-x="1792"
1272
+ d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4
1273
+ l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94
1274
+ q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
1275
+ <glyph glyph-name="_366" unicode="&#xf186;"
1276
+ d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61
1277
+ t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
1278
+ <glyph glyph-name="archive" unicode="&#xf187;" horiz-adv-x="1792"
1279
+ d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536
1280
+ q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
1281
+ <glyph glyph-name="bug" unicode="&#xf188;" horiz-adv-x="1664"
1282
+ d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207
1283
+ q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19
1284
+ t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
1285
+ <glyph glyph-name="vk" unicode="&#xf189;" horiz-adv-x="1920"
1286
+ d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-40 -51 -55 -72t-30.5 -49.5t-12 -42t13 -34.5t32.5 -43t57 -53q4 -2 5 -4q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58
1287
+ t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6
1288
+ q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q16 19 38 30q53 26 239 24
1289
+ q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2
1290
+ q39 5 64 -2.5t31 -16.5z" />
1291
+ <glyph glyph-name="weibo" unicode="&#xf18a;" horiz-adv-x="1792"
1292
+ d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12
1293
+ q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422
1294
+ q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178
1295
+ q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z
1296
+ M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
1297
+ <glyph glyph-name="renren" unicode="&#xf18b;"
1298
+ d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495
1299
+ q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
1300
+ <glyph glyph-name="_372" unicode="&#xf18c;" horiz-adv-x="1408"
1301
+ d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5
1302
+ t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56
1303
+ t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -4 1 -50t-1 -72q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5
1304
+ t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
1305
+ <glyph glyph-name="stack_exchange" unicode="&#xf18d;" horiz-adv-x="1280"
1306
+ d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z
1307
+ " />
1308
+ <glyph glyph-name="_374" unicode="&#xf18e;"
1309
+ d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
1310
+ t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1311
+ <glyph glyph-name="arrow_circle_alt_left" unicode="&#xf190;"
1312
+ d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
1313
+ t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1314
+ <glyph glyph-name="_376" unicode="&#xf191;"
1315
+ d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z
1316
+ M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1317
+ <glyph glyph-name="dot_circle_alt" unicode="&#xf192;"
1318
+ d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5
1319
+ t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1320
+ <glyph glyph-name="_378" unicode="&#xf193;" horiz-adv-x="1664"
1321
+ d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128
1322
+ q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 17 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
1323
+ <glyph glyph-name="vimeo_square" unicode="&#xf194;"
1324
+ d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179
1325
+ q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1326
+ <glyph glyph-name="_380" unicode="&#xf195;" horiz-adv-x="1152"
1327
+ d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160
1328
+ q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
1329
+ <glyph glyph-name="plus_square_o" unicode="&#xf196;" horiz-adv-x="1408"
1330
+ d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832
1331
+ q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
1332
+ <glyph glyph-name="_382" unicode="&#xf197;" horiz-adv-x="2176"
1333
+ d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40
1334
+ t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29
1335
+ q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
1336
+ <glyph glyph-name="_383" unicode="&#xf198;" horiz-adv-x="1664"
1337
+ d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9
1338
+ q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102
1339
+ t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
1340
+ <glyph glyph-name="_384" unicode="&#xf199;"
1341
+ d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69
1342
+ q-47 32 -142 92.5t-142 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13
1343
+ t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
1344
+ <glyph glyph-name="_385" unicode="&#xf19a;" horiz-adv-x="1792"
1345
+ d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5
1346
+ t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21
1347
+ t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286
1348
+ t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273
1349
+ t273 -182.5t331.5 -68z" />
1350
+ <glyph glyph-name="_386" unicode="&#xf19b;" horiz-adv-x="1792"
1351
+ d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
1352
+ <glyph glyph-name="_387" unicode="&#xf19c;" horiz-adv-x="2048"
1353
+ d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64
1354
+ q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
1355
+ <glyph glyph-name="_388" unicode="&#xf19d;" horiz-adv-x="2304"
1356
+ d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433
1357
+ q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
1358
+ <glyph glyph-name="_389" unicode="&#xf19e;"
1359
+ d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q44 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0
1360
+ q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
1361
+ <glyph glyph-name="uniF1A0" unicode="&#xf1a0;"
1362
+ d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5
1363
+ t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
1364
+ <glyph glyph-name="f1a1" unicode="&#xf1a1;" horiz-adv-x="1792"
1365
+ d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26
1366
+ t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37
1367
+ q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191
1368
+ t348 71t348 -71t286 -191t191 -286t71 -348z" />
1369
+ <glyph glyph-name="_392" unicode="&#xf1a2;"
1370
+ d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54
1371
+ q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83
1372
+ q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
1373
+ q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1374
+ <glyph glyph-name="_393" unicode="&#xf1a3;"
1375
+ d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150
1376
+ v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103
1377
+ t385.5 -103t279.5 -279.5t103 -385.5z" />
1378
+ <glyph glyph-name="f1a4" unicode="&#xf1a4;" horiz-adv-x="1920"
1379
+ d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328
1380
+ v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
1381
+ <glyph glyph-name="_395" unicode="&#xf1a5;"
1382
+ d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
1383
+ t84.5 -203.5z" />
1384
+ <glyph glyph-name="_396" unicode="&#xf1a6;" horiz-adv-x="2048"
1385
+ d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123
1386
+ v-369h123z" />
1387
+ <glyph glyph-name="_397" unicode="&#xf1a7;"
1388
+ d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101
1389
+ v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
1390
+ q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1391
+ <glyph glyph-name="_398" unicode="&#xf1a8;" horiz-adv-x="2038"
1392
+ d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14
1393
+ q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24
1394
+ q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33
1395
+ q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5
1396
+ t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43
1397
+ q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5
1398
+ t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13
1399
+ t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
1400
+ <glyph glyph-name="_399" unicode="&#xf1a9;"
1401
+ d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10
1402
+ q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14
1403
+ q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14
1404
+ t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44
1405
+ q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
1406
+ <glyph glyph-name="_400" unicode="&#xf1aa;"
1407
+ d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z
1408
+ M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5
1409
+ t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5
1410
+ q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126
1411
+ t135.5 51q85 0 145 -60.5t60 -145.5z" />
1412
+ <glyph glyph-name="f1ab" unicode="&#xf1ab;"
1413
+ d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5
1414
+ q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28
1415
+ q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z
1416
+ M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11
1417
+ q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q107 36 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5
1418
+ q20 0 20 -21v-418z" />
1419
+ <glyph glyph-name="_402" unicode="&#xf1ac;" horiz-adv-x="1792"
1420
+ d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48
1421
+ l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23
1422
+ t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128
1423
+ q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128
1424
+ q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
1425
+ <glyph glyph-name="_403" unicode="&#xf1ad;"
1426
+ d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9
1427
+ t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64
1428
+ q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
1429
+ q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9
1430
+ t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64
1431
+ q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
1432
+ q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9
1433
+ t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
1434
+ <glyph glyph-name="_404" unicode="&#xf1ae;" horiz-adv-x="1280"
1435
+ d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68q29 28 68.5 28t67.5 -28l228 -228h368l228 228q28 28 68 28t68 -28q28 -29 28 -68.5t-28 -67.5zM864 1152
1436
+ q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
1437
+ <glyph glyph-name="uniF1B1" unicode="&#xf1b0;" horiz-adv-x="1664"
1438
+ d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5
1439
+ q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819
1440
+ q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5
1441
+ t100.5 134t141.5 55.5z" />
1442
+ <glyph glyph-name="_406" unicode="&#xf1b1;" horiz-adv-x="768"
1443
+ d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
1444
+ <glyph glyph-name="_407" unicode="&#xf1b2;" horiz-adv-x="1792"
1445
+ d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z
1446
+ " />
1447
+ <glyph glyph-name="_408" unicode="&#xf1b3;" horiz-adv-x="2304"
1448
+ d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67
1449
+ t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-4 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70
1450
+ v-400l434 -186q36 -16 57 -48t21 -70z" />
1451
+ <glyph glyph-name="_409" unicode="&#xf1b4;" horiz-adv-x="2048"
1452
+ d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658
1453
+ q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204
1454
+ q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
1455
+ <glyph glyph-name="_410" unicode="&#xf1b5;"
1456
+ d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5
1457
+ t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217
1458
+ t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
1459
+ <glyph glyph-name="_411" unicode="&#xf1b6;" horiz-adv-x="1792"
1460
+ d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5
1461
+ q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89
1462
+ q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
1463
+ <glyph glyph-name="_412" unicode="&#xf1b7;"
1464
+ d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5
1465
+ q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5
1466
+ q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z
1467
+ " />
1468
+ <glyph glyph-name="_413" unicode="&#xf1b8;" horiz-adv-x="1792"
1469
+ d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188
1470
+ l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5
1471
+ t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1
1472
+ q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
1473
+ <glyph glyph-name="_414" unicode="&#xf1b9;" horiz-adv-x="2048"
1474
+ d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384
1475
+ q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5
1476
+ l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
1477
+ <glyph glyph-name="_415" unicode="&#xf1ba;" horiz-adv-x="2048"
1478
+ d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5
1479
+ t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z
1480
+ M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
1481
+ <glyph glyph-name="_416" unicode="&#xf1bb;"
1482
+ d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384
1483
+ q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
1484
+ <glyph glyph-name="_417" unicode="&#xf1bc;"
1485
+ d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64
1486
+ q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37
1487
+ q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1488
+ <glyph glyph-name="_418" unicode="&#xf1bd;" horiz-adv-x="1024"
1489
+ d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
1490
+ <glyph glyph-name="_419" unicode="&#xf1be;" horiz-adv-x="2304"
1491
+ d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11
1492
+ q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245
1493
+ q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785
1494
+ l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242
1495
+ q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236
1496
+ q0 -11 -8 -19t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786
1497
+ q-13 2 -22 11t-9 22v899q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
1498
+ <glyph glyph-name="uniF1C0" unicode="&#xf1c0;"
1499
+ d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127
1500
+ t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5
1501
+ t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
1502
+ <glyph glyph-name="uniF1C1" unicode="&#xf1c1;"
1503
+ d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
1504
+ M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197
1505
+ q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8
1506
+ q-1 1 -1 2q-1 2 -1 3q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
1507
+ <glyph glyph-name="_422" unicode="&#xf1c2;"
1508
+ d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
1509
+ M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4q0 3 -0.5 6.5t-1.5 8t-1 6.5q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5
1510
+ t-3.5 -21.5l-4 -21h-4l-2 21q-2 26 -7 46l-99 438h90v107h-300z" />
1511
+ <glyph glyph-name="_423" unicode="&#xf1c3;"
1512
+ d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
1513
+ M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107
1514
+ h-290v-107h68l189 -272l-194 -283h-68z" />
1515
+ <glyph glyph-name="_424" unicode="&#xf1c4;"
1516
+ d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
1517
+ M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
1518
+ <glyph glyph-name="_425" unicode="&#xf1c5;"
1519
+ d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
1520
+ M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
1521
+ <glyph glyph-name="_426" unicode="&#xf1c6;"
1522
+ d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400
1523
+ v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79
1524
+ q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
1525
+ <glyph glyph-name="_427" unicode="&#xf1c7;"
1526
+ d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
1527
+ M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5
1528
+ q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
1529
+ <glyph glyph-name="_428" unicode="&#xf1c8;"
1530
+ d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
1531
+ M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
1532
+ <glyph glyph-name="_429" unicode="&#xf1c9;"
1533
+ d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
1534
+ M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243
1535
+ l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
1536
+ <glyph glyph-name="_430" unicode="&#xf1ca;"
1537
+ d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406
1538
+ q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
1539
+ <glyph glyph-name="_431" unicode="&#xf1cb;" horiz-adv-x="1792"
1540
+ d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546
1541
+ q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
1542
+ <glyph glyph-name="_432" unicode="&#xf1cc;" horiz-adv-x="2048"
1543
+ d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94
1544
+ q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55
1545
+ t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97l93 -108q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5t-85 -189.5z" />
1546
+ <glyph glyph-name="_433" unicode="&#xf1cd;" horiz-adv-x="1792"
1547
+ d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194
1548
+ q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5
1549
+ t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
1550
+ <glyph glyph-name="_434" unicode="&#xf1ce;" horiz-adv-x="1792"
1551
+ d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5
1552
+ t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
1553
+ <glyph glyph-name="uniF1D0" unicode="&#xf1d0;" horiz-adv-x="1792"
1554
+ d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41
1555
+ t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170
1556
+ t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136
1557
+ q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
1558
+ <glyph glyph-name="uniF1D1" unicode="&#xf1d1;" horiz-adv-x="1792"
1559
+ d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251
1560
+ l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162
1561
+ q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33
1562
+ q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5
1563
+ t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
1564
+ t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
1565
+ <glyph glyph-name="uniF1D2" unicode="&#xf1d2;"
1566
+ d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85
1567
+ q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392
1568
+ q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072
1569
+ q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1570
+ <glyph glyph-name="_438" unicode="&#xf1d3;" horiz-adv-x="1792"
1571
+ d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58
1572
+ q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47
1573
+ q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171
1574
+ v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
1575
+ <glyph glyph-name="_439" unicode="&#xf1d4;"
1576
+ d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1577
+ <glyph glyph-name="uniF1D5" unicode="&#xf1d5;" horiz-adv-x="1280"
1578
+ d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5
1579
+ t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153
1580
+ t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
1581
+ <glyph glyph-name="uniF1D6" unicode="&#xf1d6;" horiz-adv-x="1792"
1582
+ d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5
1583
+ q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20
1584
+ t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5
1585
+ t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
1586
+ <glyph glyph-name="uniF1D7" unicode="&#xf1d7;" horiz-adv-x="2048"
1587
+ d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25
1588
+ q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5
1589
+ q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109
1590
+ q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
1591
+ <glyph glyph-name="_443" unicode="&#xf1d8;" horiz-adv-x="1792"
1592
+ d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
1593
+ <glyph glyph-name="_444" unicode="&#xf1d9;" horiz-adv-x="1792"
1594
+ d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137
1595
+ l863 639l-478 -797z" />
1596
+ <glyph glyph-name="_445" unicode="&#xf1da;"
1597
+ d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
1598
+ t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23
1599
+ t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
1600
+ <glyph glyph-name="_446" unicode="&#xf1db;"
1601
+ d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
1602
+ t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1603
+ <glyph glyph-name="_447" unicode="&#xf1dc;" horiz-adv-x="1792"
1604
+ d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15
1605
+ t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2
1606
+ t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160
1607
+ q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5
1608
+ q0 -26 -12 -48t-36 -22z" />
1609
+ <glyph glyph-name="_448" unicode="&#xf1dd;" horiz-adv-x="1280"
1610
+ d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179
1611
+ q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
1612
+ <glyph glyph-name="_449" unicode="&#xf1de;"
1613
+ d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256
1614
+ q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
1615
+ <glyph glyph-name="uniF1E0" unicode="&#xf1e0;"
1616
+ d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5
1617
+ t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
1618
+ <glyph glyph-name="_451" unicode="&#xf1e1;"
1619
+ d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5
1620
+ t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1621
+ <glyph glyph-name="_452" unicode="&#xf1e2;" horiz-adv-x="1792"
1622
+ d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5
1623
+ t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91
1624
+ q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9
1625
+ t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
1626
+ <glyph glyph-name="_453" unicode="&#xf1e3;" horiz-adv-x="1792"
1627
+ d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323
1628
+ l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
1629
+ <glyph glyph-name="_454" unicode="&#xf1e4;" horiz-adv-x="1792"
1630
+ d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
1631
+ v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192
1632
+ q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23
1633
+ zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5
1634
+ t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
1635
+ <glyph glyph-name="_455" unicode="&#xf1e5;" horiz-adv-x="1792"
1636
+ d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z
1637
+ M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
1638
+ <glyph glyph-name="_456" unicode="&#xf1e6;" horiz-adv-x="1792"
1639
+ d="M1755 1083q37 -38 37 -90.5t-37 -90.5l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234
1640
+ l401 400q38 37 91 37t90 -37z" />
1641
+ <glyph glyph-name="_457" unicode="&#xf1e7;" horiz-adv-x="1792"
1642
+ d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5
1643
+ t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z
1644
+ M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q4 -2 11.5 -7
1645
+ t10.5 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
1646
+ <glyph glyph-name="_458" unicode="&#xf1e8;" horiz-adv-x="1792"
1647
+ d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
1648
+ <glyph glyph-name="_459" unicode="&#xf1e9;"
1649
+ d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36
1650
+ q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q71 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5
1651
+ t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87
1652
+ q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
1653
+ <glyph glyph-name="_460" unicode="&#xf1ea;" horiz-adv-x="2048"
1654
+ d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19
1655
+ t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
1656
+ <glyph glyph-name="_461" unicode="&#xf1eb;" horiz-adv-x="2048"
1657
+ d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121
1658
+ q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z
1659
+ M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
1660
+ <glyph glyph-name="_462" unicode="&#xf1ec;" horiz-adv-x="1792"
1661
+ d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
1662
+ t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5
1663
+ t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5
1664
+ t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
1665
+ M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38
1666
+ h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
1667
+ <glyph glyph-name="_463" unicode="&#xf1ed;"
1668
+ d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246
1669
+ q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598
1670
+ q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" />
1671
+ <glyph glyph-name="_464" unicode="&#xf1ee;" horiz-adv-x="1792"
1672
+ d="M441 864q33 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640
1673
+ q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />
1674
+ <glyph glyph-name="uniF1F0" unicode="&#xf1f0;" horiz-adv-x="2304"
1675
+ d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27
1676
+ q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128
1677
+ q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
1678
+ <glyph glyph-name="_466" unicode="&#xf1f1;" horiz-adv-x="2304"
1679
+ d="M1119 1195q-128 85 -281 85q-103 0 -197.5 -40.5t-162.5 -108.5t-108.5 -162t-40.5 -197q0 -104 40.5 -198t108.5 -162t162 -108.5t198 -40.5q153 0 281 85q-131 107 -178 265.5t0.5 316.5t177.5 265zM1152 1171q-126 -99 -172 -249.5t-0.5 -300.5t172.5 -249
1680
+ q127 99 172.5 249t-0.5 300.5t-172 249.5zM1185 1195q130 -107 177.5 -265.5t0.5 -317t-178 -264.5q128 -85 281 -85q104 0 198 40.5t162 108.5t108.5 162t40.5 198q0 103 -40.5 197t-108.5 162t-162.5 108.5t-197.5 40.5q-153 0 -281 -85zM1926 473h7v3h-17v-3h7v-17h3v17z
1681
+ M1955 456h4v20h-5l-6 -13l-6 13h-5v-20h3v15l6 -13h4l5 13v-15zM1947 16v-2h-2h-3v3h3h2v-1zM1947 7h3l-4 5h2l1 1q1 1 1 3t-1 3l-1 1h-3h-6v-13h3v5h1zM685 75q0 19 11 31t30 12q18 0 29 -12.5t11 -30.5q0 -19 -11 -31t-29 -12q-19 0 -30 12t-11 31zM1158 119q30 0 35 -32
1682
+ h-70q5 32 35 32zM1514 75q0 19 11 31t29 12t29.5 -12.5t11.5 -30.5q0 -19 -11 -31t-30 -12q-18 0 -29 12t-11 31zM1786 75q0 18 11.5 30.5t29.5 12.5t29.5 -12.5t11.5 -30.5q0 -19 -11.5 -31t-29.5 -12t-29.5 12.5t-11.5 30.5zM1944 3q-2 0 -4 1q-1 0 -3 2t-2 3q-1 2 -1 4
1683
+ q0 3 1 4q0 2 2 4l1 1q2 0 2 1q2 1 4 1q3 0 4 -1l4 -2l2 -4v-1q1 -2 1 -3l-1 -1v-3t-1 -1l-1 -2q-2 -2 -4 -2q-1 -1 -4 -1zM599 7h30v85q0 24 -14.5 38.5t-39.5 15.5q-32 0 -47 -24q-14 24 -45 24q-24 0 -39 -20v16h-30v-135h30v75q0 36 33 36q30 0 30 -36v-75h29v75
1684
+ q0 36 33 36q30 0 30 -36v-75zM765 7h29v68v67h-29v-16q-17 20 -43 20q-29 0 -48 -20t-19 -51t19 -51t48 -20q28 0 43 20v-17zM943 48q0 34 -47 40l-14 2q-23 4 -23 14q0 15 25 15q23 0 43 -11l12 24q-22 14 -55 14q-26 0 -41 -12t-15 -32q0 -33 47 -39l13 -2q24 -4 24 -14
1685
+ q0 -17 -31 -17q-25 0 -45 14l-13 -23q25 -17 58 -17q29 0 45.5 12t16.5 32zM1073 14l-8 25q-13 -7 -26 -7q-19 0 -19 22v61h48v27h-48v41h-30v-41h-28v-27h28v-61q0 -50 47 -50q21 0 36 10zM1159 146q-29 0 -48 -20t-19 -51q0 -32 19.5 -51.5t49.5 -19.5q33 0 55 19l-14 22
1686
+ q-18 -15 -39 -15q-34 0 -41 33h101v12q0 32 -18 51.5t-46 19.5zM1318 146q-23 0 -35 -20v16h-30v-135h30v76q0 35 29 35q10 0 18 -4l9 28q-9 4 -21 4zM1348 75q0 -31 19.5 -51t52.5 -20q29 0 48 16l-14 24q-18 -13 -35 -12q-18 0 -29.5 12t-11.5 31t11.5 31t29.5 12
1687
+ q19 0 35 -12l14 24q-20 16 -48 16q-33 0 -52.5 -20t-19.5 -51zM1593 7h30v68v67h-30v-16q-15 20 -42 20q-29 0 -48.5 -20t-19.5 -51t19.5 -51t48.5 -20q28 0 42 20v-17zM1726 146q-23 0 -35 -20v16h-29v-135h29v76q0 35 29 35q10 0 18 -4l9 28q-8 4 -21 4zM1866 7h29v68v122
1688
+ h-29v-71q-15 20 -43 20t-47.5 -20.5t-19.5 -50.5t19.5 -50.5t47.5 -20.5q29 0 43 20v-17zM1944 27l-2 -1h-3q-2 -1 -4 -3q-3 -1 -3 -4q-1 -2 -1 -6q0 -3 1 -5q0 -2 3 -4q2 -2 4 -3t5 -1q4 0 6 1q0 1 2 2l2 1q1 1 3 4q1 2 1 5q0 4 -1 6q-1 1 -3 4q0 1 -2 2l-2 1q-1 0 -3 0.5
1689
+ t-3 0.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
1690
+ <glyph glyph-name="_467" unicode="&#xf1f2;" horiz-adv-x="2304"
1691
+ d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42
1692
+ q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604
1693
+ v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569
1694
+ q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73
1695
+ t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
1696
+ <glyph glyph-name="f1f3" unicode="&#xf1f3;" horiz-adv-x="2304"
1697
+ d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z
1698
+ M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260
1699
+ l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279
1700
+ v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040
1701
+ q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168
1702
+ q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5
1703
+ t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21
1704
+ h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5
1705
+ t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
1706
+ <glyph glyph-name="_469" unicode="&#xf1f4;" horiz-adv-x="2304"
1707
+ d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16
1708
+ t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76
1709
+ q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59
1710
+ t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489
1711
+ l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66
1712
+ q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
1713
+ <glyph glyph-name="_470" unicode="&#xf1f5;" horiz-adv-x="2304"
1714
+ d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109
1715
+ q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118
1716
+ q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151
1717
+ q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31
1718
+ q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
1719
+ <glyph glyph-name="_471" unicode="&#xf1f6;" horiz-adv-x="2048"
1720
+ d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5
1721
+ l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5
1722
+ l418 363q10 8 23.5 7t21.5 -11z" />
1723
+ <glyph glyph-name="_472" unicode="&#xf1f7;" horiz-adv-x="2048"
1724
+ d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128
1725
+ q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161
1726
+ q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
1727
+ <glyph glyph-name="_473" unicode="&#xf1f8;" horiz-adv-x="1408"
1728
+ d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704
1729
+ q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167
1730
+ q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
1731
+ <glyph glyph-name="_474" unicode="&#xf1f9;"
1732
+ d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5
1733
+ t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5
1734
+ t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
1735
+ <glyph glyph-name="_475" unicode="&#xf1fa;"
1736
+ d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53
1737
+ q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24
1738
+ t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61
1739
+ t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
1740
+ <glyph glyph-name="_476" unicode="&#xf1fb;" horiz-adv-x="1792"
1741
+ d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10
1742
+ t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
1743
+ <glyph glyph-name="f1fc" unicode="&#xf1fc;" horiz-adv-x="1792"
1744
+ d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5
1745
+ t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
1746
+ <glyph glyph-name="_478" unicode="&#xf1fd;" horiz-adv-x="1792"
1747
+ d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11q24 0 44 -7t31 -15t33 -27q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5
1748
+ t47 37.5q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-24 0 -44 7t-31 15t-33 27q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38
1749
+ t-58 27t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448
1750
+ h256v448h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5
1751
+ q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
1752
+ <glyph glyph-name="_479" unicode="&#xf1fe;" horiz-adv-x="2048"
1753
+ d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
1754
+ <glyph glyph-name="_480" unicode="&#xf200;" horiz-adv-x="1792"
1755
+ d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
1756
+ <glyph glyph-name="_481" unicode="&#xf201;" horiz-adv-x="2048"
1757
+ d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9
1758
+ t9 -23z" />
1759
+ <glyph glyph-name="_482" unicode="&#xf202;" horiz-adv-x="1792"
1760
+ d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20
1761
+ q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50
1762
+ t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1
1763
+ q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
1764
+ <glyph glyph-name="_483" unicode="&#xf203;"
1765
+ d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73
1766
+ q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110
1767
+ q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960
1768
+ q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
1769
+ <glyph glyph-name="_484" unicode="&#xf204;" horiz-adv-x="2048"
1770
+ d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5
1771
+ t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5
1772
+ t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
1773
+ <glyph glyph-name="_485" unicode="&#xf205;" horiz-adv-x="2048"
1774
+ d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5
1775
+ t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" />
1776
+ <glyph glyph-name="_486" unicode="&#xf206;" horiz-adv-x="2304"
1777
+ d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94
1778
+ q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469
1779
+ q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400
1780
+ q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
1781
+ <glyph glyph-name="_487" unicode="&#xf207;"
1782
+ d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5
1783
+ h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
1784
+ t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
1785
+ <glyph glyph-name="_488" unicode="&#xf208;" horiz-adv-x="2048"
1786
+ d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327
1787
+ q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5
1788
+ q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
1789
+ <glyph glyph-name="_489" unicode="&#xf209;" horiz-adv-x="1280"
1790
+ d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q17 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119
1791
+ t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5
1792
+ t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14
1793
+ q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88
1794
+ q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5
1795
+ t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
1796
+ <glyph glyph-name="_490" unicode="&#xf20a;" horiz-adv-x="2048"
1797
+ d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206
1798
+ q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307
1799
+ t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14
1800
+ t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
1801
+ <glyph glyph-name="_491" unicode="&#xf20b;"
1802
+ d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5
1803
+ t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
1804
+ <glyph glyph-name="_492" unicode="&#xf20c;"
1805
+ d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55
1806
+ q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410
1807
+ q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
1808
+ <glyph glyph-name="_493" unicode="&#xf20d;"
1809
+ d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
1810
+ <glyph glyph-name="_494" unicode="&#xf20e;" horiz-adv-x="2048"
1811
+ d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335
1812
+ q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5
1813
+ q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360l15 -6l188 199v347l-187 194q-13 -8 -29 -10zM986 1438
1814
+ h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13zM552 226h402l64 66
1815
+ l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224l213 -225zM1023 946
1816
+ l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196l-48 -227l130 227h-82
1817
+ zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />
1818
+ <glyph glyph-name="f210" unicode="&#xf210;"
1819
+ d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
1820
+ <glyph glyph-name="_496" unicode="&#xf211;"
1821
+ d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384
1822
+ q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
1823
+ <glyph glyph-name="f212" unicode="&#xf212;" horiz-adv-x="2048"
1824
+ d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021
1825
+ q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25
1826
+ q209 0 374 -102q172 107 374 102z" />
1827
+ <glyph glyph-name="_498" unicode="&#xf213;" horiz-adv-x="2048"
1828
+ d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101
1829
+ q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284
1830
+ q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />
1831
+ <glyph glyph-name="_499" unicode="&#xf214;"
1832
+ d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34
1833
+ l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114
1834
+ v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z
1835
+ M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378
1836
+ v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51
1837
+ h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5
1838
+ t-43 -34t-16.5 -53.5z" />
1839
+ <glyph glyph-name="_500" unicode="&#xf215;" horiz-adv-x="2048"
1840
+ d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832
1841
+ q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
1842
+ <glyph glyph-name="_501" unicode="&#xf216;" horiz-adv-x="2048"
1843
+ d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126t-103.5 132.5t-108.5 126.5t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5
1844
+ t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113
1845
+ t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5
1846
+ q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />
1847
+ <glyph glyph-name="_502" unicode="&#xf217;" horiz-adv-x="1664"
1848
+ d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
1849
+ t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
1850
+ q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
1851
+ <glyph glyph-name="_503" unicode="&#xf218;" horiz-adv-x="1664"
1852
+ d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
1853
+ t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
1854
+ q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
1855
+ <glyph glyph-name="_504" unicode="&#xf219;" horiz-adv-x="2048"
1856
+ d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20
1857
+ l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
1858
+ <glyph glyph-name="_505" unicode="&#xf21a;" horiz-adv-x="2048"
1859
+ d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
1860
+ q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83
1861
+ q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314
1862
+ v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
1863
+ q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />
1864
+ <glyph glyph-name="_506" unicode="&#xf21b;"
1865
+ d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14
1866
+ t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5
1867
+ q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31
1868
+ t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />
1869
+ <glyph glyph-name="_507" unicode="&#xf21c;" horiz-adv-x="2304"
1870
+ d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5
1871
+ t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105
1872
+ l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226
1873
+ t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />
1874
+ <glyph glyph-name="_508" unicode="&#xf21d;"
1875
+ d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12
1876
+ q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384
1877
+ q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5
1878
+ t158.5 -65.5t65.5 -158.5z" />
1879
+ <glyph glyph-name="_509" unicode="&#xf21e;" horiz-adv-x="1792"
1880
+ d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221
1881
+ q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124
1882
+ t127 -344z" />
1883
+ <glyph glyph-name="venus" unicode="&#xf221;" horiz-adv-x="1280"
1884
+ d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292
1885
+ q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
1886
+ <glyph glyph-name="_511" unicode="&#xf222;"
1887
+ d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5
1888
+ q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
1889
+ <glyph glyph-name="_512" unicode="&#xf223;" horiz-adv-x="1280"
1890
+ d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5
1891
+ t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
1892
+ t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
1893
+ <glyph glyph-name="_513" unicode="&#xf224;"
1894
+ d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
1895
+ q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
1896
+ t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
1897
+ <glyph glyph-name="_514" unicode="&#xf225;" horiz-adv-x="1792"
1898
+ d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
1899
+ q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9
1900
+ t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5
1901
+ t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
1902
+ <glyph glyph-name="_515" unicode="&#xf226;" horiz-adv-x="1792"
1903
+ d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23
1904
+ t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391
1905
+ q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391
1906
+ q0 -226 -154 -391q103 -57 218 -57z" />
1907
+ <glyph glyph-name="_516" unicode="&#xf227;" horiz-adv-x="1920"
1908
+ d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230
1909
+ q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9
1910
+ t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128
1911
+ q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -28 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />
1912
+ <glyph glyph-name="_517" unicode="&#xf228;" horiz-adv-x="2048"
1913
+ d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23
1914
+ t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9
1915
+ t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5
1916
+ t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />
1917
+ <glyph glyph-name="_518" unicode="&#xf229;"
1918
+ d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5
1919
+ t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
1920
+ t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
1921
+ <glyph glyph-name="_519" unicode="&#xf22a;" horiz-adv-x="1280"
1922
+ d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22
1923
+ t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5
1924
+ t131.5 -316.5t316.5 -131.5z" />
1925
+ <glyph glyph-name="_520" unicode="&#xf22b;" horiz-adv-x="2048"
1926
+ d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5
1927
+ t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5
1928
+ t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
1929
+ <glyph glyph-name="_521" unicode="&#xf22c;" horiz-adv-x="1280"
1930
+ d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5
1931
+ t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
1932
+ <glyph glyph-name="_522" unicode="&#xf22d;" horiz-adv-x="1280"
1933
+ d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123
1934
+ t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
1935
+ <glyph glyph-name="_523" unicode="&#xf22e;" horiz-adv-x="1792"
1936
+ />
1937
+ <glyph glyph-name="_524" unicode="&#xf22f;" horiz-adv-x="1792"
1938
+ />
1939
+ <glyph glyph-name="_525" unicode="&#xf230;"
1940
+ d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
1941
+ <glyph glyph-name="_526" unicode="&#xf231;" horiz-adv-x="1280"
1942
+ d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5
1943
+ l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5
1944
+ q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />
1945
+ <glyph glyph-name="_527" unicode="&#xf232;"
1946
+ d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5
1947
+ t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233
1948
+ l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />
1949
+ <glyph glyph-name="_528" unicode="&#xf233;" horiz-adv-x="1792"
1950
+ d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216
1951
+ q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
1952
+ <glyph glyph-name="_529" unicode="&#xf234;" horiz-adv-x="2048"
1953
+ d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5
1954
+ t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5
1955
+ t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />
1956
+ <glyph glyph-name="_530" unicode="&#xf235;" horiz-adv-x="2048"
1957
+ d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136
1958
+ q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69
1959
+ t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />
1960
+ <glyph glyph-name="_531" unicode="&#xf236;" horiz-adv-x="2048"
1961
+ d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704
1962
+ q-26 0 -45 -19t-19 -45v-384h1152z" />
1963
+ <glyph glyph-name="_532" unicode="&#xf237;"
1964
+ d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
1965
+ <glyph glyph-name="_533" unicode="&#xf238;"
1966
+ d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56
1967
+ t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
1968
+ <glyph glyph-name="_534" unicode="&#xf239;"
1969
+ d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47
1970
+ t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
1971
+ <glyph glyph-name="_535" unicode="&#xf23a;" horiz-adv-x="1792"
1972
+ d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116
1973
+ q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
1974
+ <glyph glyph-name="_536" unicode="&#xf23b;"
1975
+ d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
1976
+ <glyph glyph-name="_537" unicode="&#xf23c;" horiz-adv-x="2296"
1977
+ d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5
1978
+ q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5
1979
+ q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42
1980
+ q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37
1981
+ q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5
1982
+ q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139
1983
+ q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 5 5 8q16 18 60 23h13q5 18 19 30t33 8
1984
+ t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132
1985
+ q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132
1986
+ q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z
1987
+ M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-105 2 -211 0v1q-1 -27 2.5 -86
1988
+ t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103
1989
+ q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34q0 2 0.5 3.5t1.5 3t1 2.5v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4
1990
+ l-10 -2.5t-12 -2l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-6 -1 -9 -1q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130
1991
+ t-73 70q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -1 -1 -4t-1 -5q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150
1992
+ q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12
1993
+ q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />
1994
+ <glyph glyph-name="_538" unicode="&#xf23d;" horiz-adv-x="2304"
1995
+ d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5
1996
+ t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5
1997
+ t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />
1998
+ <glyph glyph-name="_539" unicode="&#xf23e;" horiz-adv-x="1792"
1999
+ d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348
2000
+ t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23
2001
+ t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96
2002
+ q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512
2003
+ q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />
2004
+ <glyph glyph-name="_540" unicode="&#xf240;" horiz-adv-x="2304"
2005
+ d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113
2006
+ v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
2007
+ <glyph glyph-name="_541" unicode="&#xf241;" horiz-adv-x="2304"
2008
+ d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
2009
+ h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
2010
+ <glyph glyph-name="_542" unicode="&#xf242;" horiz-adv-x="2304"
2011
+ d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
2012
+ h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
2013
+ <glyph glyph-name="_543" unicode="&#xf243;" horiz-adv-x="2304"
2014
+ d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
2015
+ h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
2016
+ <glyph glyph-name="_544" unicode="&#xf244;" horiz-adv-x="2304"
2017
+ d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23
2018
+ v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
2019
+ <glyph glyph-name="_545" unicode="&#xf245;" horiz-adv-x="1280"
2020
+ d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
2021
+ <glyph glyph-name="_546" unicode="&#xf246;" horiz-adv-x="1024"
2022
+ d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
2023
+ <glyph glyph-name="_547" unicode="&#xf247;" horiz-adv-x="2048"
2024
+ d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128
2025
+ h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
2026
+ <glyph glyph-name="_548" unicode="&#xf248;" horiz-adv-x="2304"
2027
+ d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256
2028
+ v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />
2029
+ <glyph glyph-name="_549" unicode="&#xf249;"
2030
+ d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
2031
+ <glyph glyph-name="_550" unicode="&#xf24a;"
2032
+ d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68
2033
+ z" />
2034
+ <glyph glyph-name="_551" unicode="&#xf24b;" horiz-adv-x="2304"
2035
+ d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5
2036
+ t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88
2037
+ t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90
2038
+ t90 38h2048q52 0 90 -38t38 -90z" />
2039
+ <glyph glyph-name="_552" unicode="&#xf24c;" horiz-adv-x="2304"
2040
+ d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294
2041
+ t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z
2042
+ M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
2043
+ <glyph glyph-name="_553" unicode="&#xf24d;" horiz-adv-x="1792"
2044
+ d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113
2045
+ zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />
2046
+ <glyph glyph-name="_554" unicode="&#xf24e;" horiz-adv-x="2304"
2047
+ d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64
2048
+ q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91
2049
+ t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5
2050
+ t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />
2051
+ <glyph glyph-name="_555" unicode="&#xf250;"
2052
+ d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
2053
+ t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5
2054
+ t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
2055
+ <glyph glyph-name="_556" unicode="&#xf251;"
2056
+ d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
2057
+ t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />
2058
+ <glyph glyph-name="_557" unicode="&#xf252;"
2059
+ d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
2060
+ t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
2061
+ <glyph glyph-name="_558" unicode="&#xf253;"
2062
+ d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
2063
+ t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196
2064
+ h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
2065
+ <glyph glyph-name="_559" unicode="&#xf254;"
2066
+ d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87
2067
+ t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9
2068
+ h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />
2069
+ <glyph glyph-name="_560" unicode="&#xf255;"
2070
+ d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25
2071
+ q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27
2072
+ t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21
2073
+ q72 69 174 69z" />
2074
+ <glyph glyph-name="_561" unicode="&#xf256;" horiz-adv-x="1792"
2075
+ d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33
2076
+ t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52
2077
+ h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />
2078
+ <glyph glyph-name="_562" unicode="&#xf257;" horiz-adv-x="1792"
2079
+ d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668
2080
+ q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17
2081
+ t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5
2082
+ t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5
2083
+ q0 -42 -23 -78t-61 -53l-310 -141h91z" />
2084
+ <glyph glyph-name="_563" unicode="&#xf258;" horiz-adv-x="2048"
2085
+ d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32
2086
+ q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68
2087
+ q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />
2088
+ <glyph glyph-name="_564" unicode="&#xf259;" horiz-adv-x="2048"
2089
+ d="M459 -256q-77 0 -137.5 47.5t-79.5 122.5l-101 401q-13 57 -13 108q0 45 -5 67l-116 477q-7 27 -7 57q0 93 62 161t155 78q17 85 82.5 139t152.5 54q83 0 148 -51.5t85 -132.5l83 -348l103 428q20 81 85 132.5t148 51.5q89 0 155.5 -57.5t80.5 -144.5q92 -10 152 -79
2090
+ t60 -162q0 -24 -7 -59l-123 -512q10 7 37.5 28.5t38.5 29.5t35 23t41 20.5t41.5 11t49.5 5.5q105 0 180 -74t75 -179q0 -62 -28.5 -118t-78.5 -94l-507 -380q-68 -51 -153 -51h-694zM1104 1408q-38 0 -68.5 -24t-39.5 -62l-164 -682h-127l-145 602q-9 38 -39.5 62t-68.5 24
2091
+ q-48 0 -80 -33t-32 -80q0 -15 3 -28l132 -547h-26l-99 408q-9 37 -40 62.5t-69 25.5q-47 0 -80 -33t-33 -79q0 -14 3 -26l116 -478q7 -28 9 -86t10 -88l100 -401q8 -32 34 -52.5t59 -20.5h694q42 0 76 26l507 379q56 43 56 110q0 52 -37.5 88.5t-89.5 36.5q-43 0 -77 -26
2092
+ l-307 -230v227q0 4 32 138t68 282t39 161q4 18 4 29q0 47 -32 81t-79 34q-39 0 -69.5 -24t-39.5 -62l-116 -482h-26l150 624q3 14 3 28q0 48 -31.5 82t-79.5 34z" />
2093
+ <glyph glyph-name="_565" unicode="&#xf25a;" horiz-adv-x="1792"
2094
+ d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5
2095
+ q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5
2096
+ v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32
2097
+ v-384h32z" />
2098
+ <glyph glyph-name="_566" unicode="&#xf25b;"
2099
+ d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181
2100
+ v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46
2101
+ q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5
2102
+ q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308
2103
+ q0 -53 37.5 -90.5t90.5 -37.5h668z" />
2104
+ <glyph glyph-name="_567" unicode="&#xf25c;" horiz-adv-x="1973"
2105
+ d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5
2106
+ t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141
2107
+ q13 0 22 -8.5t10 -20.5z" />
2108
+ <glyph glyph-name="_568" unicode="&#xf25d;" horiz-adv-x="1792"
2109
+ d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109
2110
+ t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640
2111
+ q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
2112
+ <glyph glyph-name="_569" unicode="&#xf25e;" horiz-adv-x="1792"
2113
+ d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78
2114
+ q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5
2115
+ t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376
2116
+ q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191
2117
+ t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />
2118
+ <glyph glyph-name="f260" unicode="&#xf260;" horiz-adv-x="2048"
2119
+ d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
2120
+ <glyph glyph-name="f261" unicode="&#xf261;" horiz-adv-x="1792"
2121
+ d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191
2122
+ t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
2123
+ <glyph glyph-name="_572" unicode="&#xf262;" horiz-adv-x="2304"
2124
+ d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57
2125
+ t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197
2126
+ t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5
2127
+ t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5
2128
+ t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5
2129
+ q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />
2130
+ <glyph glyph-name="f263" unicode="&#xf263;" horiz-adv-x="1280"
2131
+ d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5
2132
+ t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94
2133
+ q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />
2134
+ <glyph glyph-name="_574" unicode="&#xf264;"
2135
+ d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32
2136
+ q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5
2137
+ zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
2138
+ <glyph glyph-name="_575" unicode="&#xf265;" horiz-adv-x="1720"
2139
+ d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33
2140
+ l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
2141
+ <glyph glyph-name="_576" unicode="&#xf266;" horiz-adv-x="2304"
2142
+ d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540
2143
+ q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81
2144
+ l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />
2145
+ <glyph glyph-name="_577" unicode="&#xf267;" horiz-adv-x="1792"
2146
+ d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640
2147
+ q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5
2148
+ t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5
2149
+ t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5
2150
+ t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191
2151
+ t191 -286t71 -348z" />
2152
+ <glyph glyph-name="_578" unicode="&#xf268;" horiz-adv-x="1792"
2153
+ d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962
2154
+ q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />
2155
+ <glyph glyph-name="_579" unicode="&#xf269;" horiz-adv-x="1792"
2156
+ d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5
2157
+ q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5
2158
+ q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />
2159
+ <glyph glyph-name="_580" unicode="&#xf26a;" horiz-adv-x="1792"
2160
+ d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339
2161
+ q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z
2162
+ " />
2163
+ <glyph glyph-name="_581" unicode="&#xf26b;" horiz-adv-x="1792"
2164
+ d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606
2165
+ q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z
2166
+ M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />
2167
+ <glyph glyph-name="_582" unicode="&#xf26c;" horiz-adv-x="2048"
2168
+ d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23
2169
+ v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
2170
+ <glyph glyph-name="_583" unicode="&#xf26d;" horiz-adv-x="1792"
2171
+ d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34
2172
+ h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100
2173
+ q-68 175 -180 287z" />
2174
+ <glyph glyph-name="_584" unicode="&#xf26e;"
2175
+ d="M1401 -11l-6 -6q-113 -113 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6
2176
+ q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13
2177
+ q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 33 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249
2178
+ q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 33 -6t30 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183
2179
+ q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46
2180
+ t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />
2181
+ <glyph glyph-name="_585" unicode="&#xf270;" horiz-adv-x="1792"
2182
+ d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z
2183
+ M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30
2184
+ q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57
2185
+ t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133
2186
+ q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />
2187
+ <glyph glyph-name="_586" unicode="&#xf271;" horiz-adv-x="1792"
2188
+ d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9
2189
+ h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224
2190
+ v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />
2191
+ <glyph glyph-name="_587" unicode="&#xf272;" horiz-adv-x="1792"
2192
+ d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23
2193
+ t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47
2194
+ t47 -113v-96h128q52 0 90 -38t38 -90z" />
2195
+ <glyph glyph-name="_588" unicode="&#xf273;" horiz-adv-x="1792"
2196
+ d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z
2197
+ M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
2198
+ q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
2199
+ <glyph glyph-name="_589" unicode="&#xf274;" horiz-adv-x="1792"
2200
+ d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23
2201
+ t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47
2202
+ t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
2203
+ <glyph glyph-name="_590" unicode="&#xf275;" horiz-adv-x="1792"
2204
+ d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
2205
+ <glyph glyph-name="_591" unicode="&#xf276;" horiz-adv-x="1024"
2206
+ d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q62 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249
2207
+ q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
2208
+ <glyph glyph-name="_592" unicode="&#xf277;" horiz-adv-x="1792"
2209
+ d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768
2210
+ q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
2211
+ <glyph glyph-name="_593" unicode="&#xf278;" horiz-adv-x="2048"
2212
+ d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173
2213
+ v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
2214
+ <glyph glyph-name="_594" unicode="&#xf279;" horiz-adv-x="1792"
2215
+ d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472
2216
+ q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
2217
+ <glyph glyph-name="_595" unicode="&#xf27a;" horiz-adv-x="1792"
2218
+ d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5
2219
+ t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37
2220
+ t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
2221
+ <glyph glyph-name="_596" unicode="&#xf27b;" horiz-adv-x="1792"
2222
+ d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5
2223
+ t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5
2224
+ t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51
2225
+ t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />
2226
+ <glyph glyph-name="_597" unicode="&#xf27c;" horiz-adv-x="1024"
2227
+ d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
2228
+ <glyph glyph-name="_598" unicode="&#xf27d;" horiz-adv-x="1792"
2229
+ d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246
2230
+ q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
2231
+ <glyph glyph-name="f27e" unicode="&#xf27e;"
2232
+ d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
2233
+ <glyph glyph-name="uniF280" unicode="&#xf280;"
2234
+ d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72
2235
+ h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275
2236
+ l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />
2237
+ <glyph glyph-name="uniF281" unicode="&#xf281;" horiz-adv-x="1792"
2238
+ d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5
2239
+ l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44
2240
+ t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106
2241
+ q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />
2242
+ <glyph glyph-name="_602" unicode="&#xf282;" horiz-adv-x="1792"
2243
+ d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53
2244
+ q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />
2245
+ <glyph glyph-name="_603" unicode="&#xf283;" horiz-adv-x="2304"
2246
+ d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
2247
+ <glyph glyph-name="_604" unicode="&#xf284;" horiz-adv-x="1792"
2248
+ d="M1584 246l-218 111q-74 -120 -196.5 -189t-263.5 -69q-147 0 -271 72t-196 196t-72 270q0 110 42.5 209.5t115 172t172 115t209.5 42.5q131 0 247.5 -60.5t192.5 -168.5l215 125q-110 169 -286.5 265t-378.5 96q-161 0 -308 -63t-253 -169t-169 -253t-63 -308t63 -308
2249
+ t169 -253t253 -169t308 -63q213 0 397.5 107t290.5 292zM1030 643l693 -352q-116 -253 -334.5 -400t-492.5 -147q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q260 0 470.5 -133.5t335.5 -366.5zM1543 640h-39v-160h-96v352h136q32 0 54.5 -20
2250
+ t28.5 -48t1 -56t-27.5 -48t-57.5 -20z" />
2251
+ <glyph glyph-name="uniF285" unicode="&#xf285;" horiz-adv-x="1792"
2252
+ d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
2253
+ <glyph glyph-name="uniF286" unicode="&#xf286;" horiz-adv-x="1792"
2254
+ d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96
2255
+ q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5
2256
+ q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96
2257
+ q16 0 16 -16z" />
2258
+ <glyph glyph-name="_607" unicode="&#xf287;" horiz-adv-x="2304"
2259
+ d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96
2260
+ q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5
2261
+ t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />
2262
+ <glyph glyph-name="_608" unicode="&#xf288;" horiz-adv-x="1792"
2263
+ d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348
2264
+ t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
2265
+ <glyph glyph-name="_609" unicode="&#xf289;" horiz-adv-x="2304"
2266
+ d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22
2267
+ q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5
2268
+ q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13
2269
+ q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />
2270
+ <glyph glyph-name="_610" unicode="&#xf28a;"
2271
+ d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83
2272
+ t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20
2273
+ q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5
2274
+ t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />
2275
+ <glyph glyph-name="_611" unicode="&#xf28b;"
2276
+ d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103
2277
+ t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
2278
+ <glyph glyph-name="_612" unicode="&#xf28c;"
2279
+ d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
2280
+ t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
2281
+ <glyph glyph-name="_613" unicode="&#xf28d;"
2282
+ d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
2283
+ t103 -385.5z" />
2284
+ <glyph glyph-name="_614" unicode="&#xf28e;"
2285
+ d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
2286
+ t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
2287
+ <glyph glyph-name="_615" unicode="&#xf290;" horiz-adv-x="1792"
2288
+ d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5
2289
+ t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
2290
+ <glyph glyph-name="_616" unicode="&#xf291;" horiz-adv-x="2048"
2291
+ d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5
2292
+ t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416
2293
+ q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441
2294
+ h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />
2295
+ <glyph glyph-name="_617" unicode="&#xf292;" horiz-adv-x="1792"
2296
+ d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12
2297
+ q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311
2298
+ q15 0 25 -12q9 -12 6 -28z" />
2299
+ <glyph glyph-name="_618" unicode="&#xf293;"
2300
+ d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5
2301
+ t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
2302
+ <glyph glyph-name="_619" unicode="&#xf294;" horiz-adv-x="1024"
2303
+ d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
2304
+ <glyph glyph-name="_620" unicode="&#xf295;"
2305
+ d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5
2306
+ t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
2307
+ t271.5 -112.5t112.5 -271.5z" />
2308
+ <glyph glyph-name="_621" unicode="&#xf296;" horiz-adv-x="1792"
2309
+ d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
2310
+ <glyph glyph-name="_622" unicode="&#xf297;" horiz-adv-x="1792"
2311
+ d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111
2312
+ q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />
2313
+ <glyph glyph-name="_623" unicode="&#xf298;"
2314
+ d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14
2315
+ t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
2316
+ <glyph glyph-name="_624" unicode="&#xf299;" horiz-adv-x="1792"
2317
+ d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57
2318
+ q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285
2319
+ q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />
2320
+ <glyph glyph-name="_625" unicode="&#xf29a;" horiz-adv-x="1792"
2321
+ d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42
2322
+ q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
2323
+ M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298
2324
+ t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
2325
+ <glyph glyph-name="_626" unicode="&#xf29b;"
2326
+ d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300
2327
+ l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z
2328
+ M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />
2329
+ <glyph glyph-name="_627" unicode="&#xf29c;"
2330
+ d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5
2331
+ t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5
2332
+ t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5
2333
+ t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
2334
+ <glyph glyph-name="_628" unicode="&#xf29d;" horiz-adv-x="1408"
2335
+ d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457
2336
+ q-67 -192 -92 -234q-15 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521
2337
+ q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661
2338
+ q3 -1 7 1t7 4l3 2q11 9 11 17z" />
2339
+ <glyph glyph-name="_629" unicode="&#xf29e;" horiz-adv-x="2304"
2340
+ d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10
2341
+ t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5
2342
+ t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5
2343
+ h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96
2344
+ t9.5 -70.5z" />
2345
+ <glyph glyph-name="uniF2A0" unicode="&#xf2a0;" horiz-adv-x="1408"
2346
+ d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5
2347
+ q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127
2348
+ l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272
2349
+ t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249
2350
+ q-18 -19 -45 -19z" />
2351
+ <glyph glyph-name="uniF2A1" unicode="&#xf2a1;" horiz-adv-x="2176"
2352
+ d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352
2353
+ q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864
2354
+ q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136
2355
+ t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56
2356
+ t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56
2357
+ t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136
2358
+ t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />
2359
+ <glyph glyph-name="uniF2A2" unicode="&#xf2a2;" horiz-adv-x="1792"
2360
+ d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z
2361
+ M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72
2362
+ t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45
2363
+ t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4
2364
+ q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />
2365
+ <glyph glyph-name="uniF2A3" unicode="&#xf2a3;" horiz-adv-x="2304"
2366
+ d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55
2367
+ q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5
2368
+ q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101
2369
+ q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35
2370
+ q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5
2371
+ q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />
2372
+ <glyph glyph-name="uniF2A4" unicode="&#xf2a4;" horiz-adv-x="1792"
2373
+ d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19
2374
+ t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74
2375
+ t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233
2376
+ l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />
2377
+ <glyph glyph-name="uniF2A5" unicode="&#xf2a5;"
2378
+ d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2
2379
+ q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10
2380
+ q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5
2381
+ t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
2382
+ <glyph glyph-name="uniF2A6" unicode="&#xf2a6;" horiz-adv-x="1535"
2383
+ d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5
2384
+ l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5
2385
+ q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9
2386
+ q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />
2387
+ <glyph glyph-name="uniF2A7" unicode="&#xf2a7;" horiz-adv-x="1664"
2388
+ d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37
2389
+ t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38
2390
+ l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147q-2 -1 -5 -3.5t-4 -4.5q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148
2391
+ q-34 23 -76 23q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26
2392
+ l-12 224q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />
2393
+ <glyph glyph-name="uniF2A8" unicode="&#xf2a8;" horiz-adv-x="1792"
2394
+ d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5
2395
+ q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841
2396
+ q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5
2397
+ q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />
2398
+ <glyph glyph-name="uniF2A9" unicode="&#xf2a9;" horiz-adv-x="1280"
2399
+ d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5
2400
+ q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z
2401
+ M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />
2402
+ <glyph glyph-name="uniF2AA" unicode="&#xf2aa;"
2403
+ d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z
2404
+ M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5
2405
+ q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 42 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
2406
+ t84.5 -203.5z" />
2407
+ <glyph glyph-name="uniF2AB" unicode="&#xf2ab;"
2408
+ d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114
2409
+ q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5
2410
+ t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
2411
+ t103 -385.5z" />
2412
+ <glyph glyph-name="uniF2AC" unicode="&#xf2ac;" horiz-adv-x="1664"
2413
+ d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35
2414
+ q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5
2415
+ t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />
2416
+ <glyph glyph-name="uniF2AD" unicode="&#xf2ad;"
2417
+ d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115
2418
+ q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15
2419
+ t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960
2420
+ q119 0 203.5 -84.5t84.5 -203.5z" />
2421
+ <glyph glyph-name="uniF2AE" unicode="&#xf2ae;" horiz-adv-x="2304"
2422
+ d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7
2423
+ q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158
2424
+ q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" />
2425
+ <glyph glyph-name="uniF2B0" unicode="&#xf2b0;"
2426
+ d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104
2427
+ q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108
2428
+ l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z
2429
+ M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" />
2430
+ <glyph glyph-name="uniF2B1" unicode="&#xf2b1;" horiz-adv-x="1664"
2431
+ d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5
2432
+ t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" />
2433
+ <glyph glyph-name="uniF2B2" unicode="&#xf2b2;" horiz-adv-x="1792"
2434
+ d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5
2435
+ t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114
2436
+ q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50
2437
+ q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5
2438
+ t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46
2439
+ q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5
2440
+ q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177
2441
+ t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" />
2442
+ <glyph glyph-name="uniF2B3" unicode="&#xf2b3;"
2443
+ d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110
2444
+ h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
2445
+ <glyph glyph-name="uniF2B4" unicode="&#xf2b4;"
2446
+ d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5
2447
+ q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />
2448
+ <glyph glyph-name="uniF2B5" unicode="&#xf2b5;" horiz-adv-x="2304"
2449
+ d="M192 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32zM1665 442q-10 13 -38.5 50t-41.5 54t-38 49t-42.5 53t-40.5 47t-45 49l-125 -140q-83 -94 -208.5 -92t-205.5 98q-57 69 -56.5 158t58.5 157l177 206q-22 11 -51 16.5t-47.5 6t-56.5 -0.5t-49 -1q-92 0 -158 -66
2450
+ l-158 -158h-155v-544q5 0 21 0.5t22 0t19.5 -2t20.5 -4.5t17.5 -8.5t18.5 -13.5l297 -292q115 -111 227 -111q78 0 125 47q57 -20 112.5 8t72.5 85q74 -6 127 44q20 18 36 45.5t14 50.5q10 -10 43 -10q43 0 77 21t49.5 53t12 71.5t-30.5 73.5zM1824 384h96v512h-93l-157 180
2451
+ q-66 76 -169 76h-167q-89 0 -146 -67l-209 -243q-28 -33 -28 -75t27 -75q43 -51 110 -52t111 49l193 218q25 23 53.5 21.5t47 -27t8.5 -56.5q16 -19 56 -63t60 -68q29 -36 82.5 -105.5t64.5 -84.5q52 -66 60 -140zM2112 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32z
2452
+ M2304 960v-640q0 -26 -19 -45t-45 -19h-434q-27 -65 -82 -106.5t-125 -51.5q-33 -48 -80.5 -81.5t-102.5 -45.5q-42 -53 -104.5 -81.5t-128.5 -24.5q-60 -34 -126 -39.5t-127.5 14t-117 53.5t-103.5 81l-287 282h-358q-26 0 -45 19t-19 45v672q0 26 19 45t45 19h421
2453
+ q14 14 47 48t47.5 48t44 40t50.5 37.5t51 25.5t62 19.5t68 5.5h117q99 0 181 -56q82 56 181 56h167q35 0 67 -6t56.5 -14.5t51.5 -26.5t44.5 -31t43 -39.5t39 -42t41 -48t41.5 -48.5h355q26 0 45 -19t19 -45z" />
2454
+ <glyph glyph-name="uniF2B6" unicode="&#xf2b6;" horiz-adv-x="1792"
2455
+ d="M1792 882v-978q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v978q0 15 11 24q8 7 39 34.5t41.5 36t45.5 37.5t70 55.5t96 73t143.5 107t192.5 140.5q5 4 52.5 40t71.5 52.5t64 35t69 18.5t69 -18.5t65 -35.5t71 -52t52 -40q110 -80 192.5 -140.5t143.5 -107
2456
+ t96 -73t70 -55.5t45.5 -37.5t41.5 -36t39 -34.5q11 -9 11 -24zM1228 297q263 191 345 252q11 8 12.5 20.5t-6.5 23.5l-38 52q-8 11 -21 12.5t-24 -6.5q-231 -169 -343 -250q-5 -3 -52 -39t-71.5 -52.5t-64.5 -35t-69 -18.5t-69 18.5t-64.5 35t-71.5 52.5t-52 39
2457
+ q-186 134 -343 250q-11 8 -24 6.5t-21 -12.5l-38 -52q-8 -11 -6.5 -23.5t12.5 -20.5q82 -61 345 -252q10 -8 50 -38t65 -47t64 -39.5t77.5 -33.5t75.5 -11t75.5 11t79 34.5t64.5 39.5t65 47.5t48 36.5z" />
2458
+ <glyph glyph-name="uniF2B7" unicode="&#xf2b7;" horiz-adv-x="1792"
2459
+ d="M1474 623l39 -51q8 -11 6.5 -23.5t-11.5 -20.5q-43 -34 -126.5 -98.5t-146.5 -113t-67 -51.5q-39 -32 -60 -48t-60.5 -41t-76.5 -36.5t-74 -11.5h-1h-1q-37 0 -74 11.5t-76 36.5t-61 41.5t-60 47.5q-5 4 -65 50.5t-143.5 111t-122.5 94.5q-11 8 -12.5 20.5t6.5 23.5
2460
+ l37 52q8 11 21.5 13t24.5 -7q94 -73 306 -236q5 -4 43.5 -35t60.5 -46.5t56.5 -32.5t58.5 -17h1h1q24 0 58.5 17t56.5 32.5t60.5 46.5t43.5 35q258 198 313 242q11 8 24 6.5t21 -12.5zM1664 -96v928q-90 83 -159 139q-91 74 -389 304q-3 2 -43 35t-61 48t-56 32.5t-59 17.5
2461
+ h-1h-1q-24 0 -59 -17.5t-56 -32.5t-61 -48t-43 -35q-215 -166 -315.5 -245.5t-129.5 -104t-82 -74.5q-14 -12 -21 -19v-928q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 832v-928q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v928q0 56 41 94
2462
+ q123 114 350 290.5t233 181.5q36 30 59 47.5t61.5 42t76 36.5t74.5 12h1h1q37 0 74.5 -12t76 -36.5t61.5 -42t59 -47.5q43 -36 156 -122t226 -177t201 -173q41 -38 41 -94z" />
2463
+ <glyph glyph-name="uniF2B8" unicode="&#xf2b8;"
2464
+ d="M330 1l202 -214l-34 236l-216 213zM556 -225l274 218l-11 245l-300 -215zM245 413l227 -213l-48 327l-245 204zM495 189l317 214l-14 324l-352 -200zM843 178l95 -80l-2 239l-103 79q0 -1 1 -8.5t0 -12t-5 -7.5l-78 -52l85 -70q7 -6 7 -88zM138 930l256 -200l-68 465
2465
+ l-279 173zM1173 267l15 234l-230 -164l2 -240zM417 722l373 194l-19 441l-423 -163zM1270 357l20 233l-226 142l-2 -105l144 -95q6 -4 4 -9l-7 -119zM1461 496l30 222l-179 -128l-20 -228zM1273 329l-71 49l-8 -117q0 -5 -4 -8l-234 -187q-7 -5 -14 0l-98 83l7 -161
2466
+ q0 -5 -4 -8l-293 -234q-4 -2 -6 -2q-8 2 -8 3l-228 242q-4 4 -59 277q-2 7 5 11l61 37q-94 86 -95 92l-72 351q-2 7 6 12l94 45q-133 100 -135 108l-96 466q-2 10 7 13l433 135q5 0 8 -1l317 -153q6 -4 6 -9l20 -463q0 -7 -6 -10l-118 -61l126 -85q5 -2 5 -8l5 -123l121 74
2467
+ q5 4 11 0l84 -56l3 110q0 6 5 9l206 126q6 3 11 0l245 -135q4 -4 5 -7t-6.5 -60t-17.5 -124.5t-10 -70.5q0 -5 -4 -7l-191 -153q-6 -5 -13 0z" />
2468
+ <glyph glyph-name="uniF2B9" unicode="&#xf2b9;" horiz-adv-x="1664"
2469
+ d="M1201 298q0 57 -5.5 107t-21 100.5t-39.5 86t-64 58t-91 22.5q-6 -4 -33.5 -20.5t-42.5 -24.5t-40.5 -20t-49 -17t-46.5 -5t-46.5 5t-49 17t-40.5 20t-42.5 24.5t-33.5 20.5q-51 0 -91 -22.5t-64 -58t-39.5 -86t-21 -100.5t-5.5 -107q0 -73 42 -121.5t103 -48.5h576
2470
+ q61 0 103 48.5t42 121.5zM1028 892q0 108 -76.5 184t-183.5 76t-183.5 -76t-76.5 -184q0 -107 76.5 -183t183.5 -76t183.5 76t76.5 183zM1664 352v-192q0 -14 -9 -23t-23 -9h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216
2471
+ q66 0 113 -47t47 -113v-224h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23z" />
2472
+ <glyph glyph-name="uniF2BA" unicode="&#xf2ba;" horiz-adv-x="1664"
2473
+ d="M1028 892q0 -107 -76.5 -183t-183.5 -76t-183.5 76t-76.5 183q0 108 76.5 184t183.5 76t183.5 -76t76.5 -184zM980 672q46 0 82.5 -17t60 -47.5t39.5 -67t24 -81t11.5 -82.5t3.5 -79q0 -67 -39.5 -118.5t-105.5 -51.5h-576q-66 0 -105.5 51.5t-39.5 118.5q0 48 4.5 93.5
2474
+ t18.5 98.5t36.5 91.5t63 64.5t93.5 26h5q7 -4 32 -19.5t35.5 -21t33 -17t37 -16t35 -9t39.5 -4.5t39.5 4.5t35 9t37 16t33 17t35.5 21t32 19.5zM1664 928q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96
2475
+ q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216q66 0 113 -47t47 -113v-224h96q13 0 22.5 -9.5t9.5 -22.5v-192zM1408 -96v1472q0 13 -9.5 22.5t-22.5 9.5h-1216
2476
+ q-13 0 -22.5 -9.5t-9.5 -22.5v-1472q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5z" />
2477
+ <glyph glyph-name="uniF2BB" unicode="&#xf2bb;" horiz-adv-x="2048"
2478
+ d="M1024 405q0 64 -9 117.5t-29.5 103t-60.5 78t-97 28.5q-6 -4 -30 -18t-37.5 -21.5t-35.5 -17.5t-43 -14.5t-42 -4.5t-42 4.5t-43 14.5t-35.5 17.5t-37.5 21.5t-30 18q-57 0 -97 -28.5t-60.5 -78t-29.5 -103t-9 -117.5t37 -106.5t91 -42.5h512q54 0 91 42.5t37 106.5z
2479
+ M867 925q0 94 -66.5 160.5t-160.5 66.5t-160.5 -66.5t-66.5 -160.5t66.5 -160.5t160.5 -66.5t160.5 66.5t66.5 160.5zM1792 416v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1792 676v56q0 15 -10.5 25.5t-25.5 10.5h-568
2480
+ q-15 0 -25.5 -10.5t-10.5 -25.5v-56q0 -15 10.5 -25.5t25.5 -10.5h568q15 0 25.5 10.5t10.5 25.5zM1792 928v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-352v96q0 14 -9 23t-23 9
2481
+ h-64q-14 0 -23 -9t-9 -23v-96h-768v96q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-96h-352q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
2482
+ <glyph glyph-name="uniF2BC" unicode="&#xf2bc;" horiz-adv-x="2048"
2483
+ d="M1024 405q0 -64 -37 -106.5t-91 -42.5h-512q-54 0 -91 42.5t-37 106.5t9 117.5t29.5 103t60.5 78t97 28.5q6 -4 30 -18t37.5 -21.5t35.5 -17.5t43 -14.5t42 -4.5t42 4.5t43 14.5t35.5 17.5t37.5 21.5t30 18q57 0 97 -28.5t60.5 -78t29.5 -103t9 -117.5zM867 925
2484
+ q0 -94 -66.5 -160.5t-160.5 -66.5t-160.5 66.5t-66.5 160.5t66.5 160.5t160.5 66.5t160.5 -66.5t66.5 -160.5zM1792 480v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1792 732v-56q0 -15 -10.5 -25.5t-25.5 -10.5h-568
2485
+ q-15 0 -25.5 10.5t-10.5 25.5v56q0 15 10.5 25.5t25.5 10.5h568q15 0 25.5 -10.5t10.5 -25.5zM1792 992v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1920 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1728q-13 0 -22.5 -9.5
2486
+ t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h352v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h768v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h352q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113
2487
+ t113 47h1728q66 0 113 -47t47 -113z" />
2488
+ <glyph glyph-name="uniF2BD" unicode="&#xf2bd;" horiz-adv-x="1792"
2489
+ d="M1523 197q-22 155 -87.5 257.5t-184.5 118.5q-67 -74 -159.5 -115.5t-195.5 -41.5t-195.5 41.5t-159.5 115.5q-119 -16 -184.5 -118.5t-87.5 -257.5q106 -150 271 -237.5t356 -87.5t356 87.5t271 237.5zM1280 896q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5
2490
+ t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1792 640q0 -182 -71 -347.5t-190.5 -286t-285.5 -191.5t-349 -71q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
2491
+ <glyph glyph-name="uniF2BE" unicode="&#xf2be;" horiz-adv-x="1792"
2492
+ d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348q0 -181 -70.5 -347t-190.5 -286t-286 -191.5t-349 -71.5t-349 71t-285.5 191.5t-190.5 286t-71 347.5t71 348t191 286t286 191t348 71zM1515 185q149 205 149 455q0 156 -61 298t-164 245t-245 164t-298 61t-298 -61
2493
+ t-245 -164t-164 -245t-61 -298q0 -250 149 -455q66 327 306 327q131 -128 313 -128t313 128q240 0 306 -327zM1280 832q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5z" />
2494
+ <glyph glyph-name="uniF2C0" unicode="&#xf2c0;"
2495
+ d="M1201 752q47 -14 89.5 -38t89 -73t79.5 -115.5t55 -172t22 -236.5q0 -154 -100 -263.5t-241 -109.5h-854q-141 0 -241 109.5t-100 263.5q0 131 22 236.5t55 172t79.5 115.5t89 73t89.5 38q-79 125 -79 272q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5
2496
+ t198.5 -40.5t163.5 -109.5t109.5 -163.5t40.5 -198.5q0 -147 -79 -272zM768 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1195 -128q88 0 150.5 71.5t62.5 173.5q0 239 -78.5 377t-225.5 145
2497
+ q-145 -127 -336 -127t-336 127q-147 -7 -225.5 -145t-78.5 -377q0 -102 62.5 -173.5t150.5 -71.5h854z" />
2498
+ <glyph glyph-name="uniF2C1" unicode="&#xf2c1;" horiz-adv-x="1280"
2499
+ d="M1024 278q0 -64 -37 -107t-91 -43h-512q-54 0 -91 43t-37 107t9 118t29.5 104t61 78.5t96.5 28.5q80 -75 188 -75t188 75q56 0 96.5 -28.5t61 -78.5t29.5 -104t9 -118zM870 797q0 -94 -67.5 -160.5t-162.5 -66.5t-162.5 66.5t-67.5 160.5t67.5 160.5t162.5 66.5
2500
+ t162.5 -66.5t67.5 -160.5zM1152 -96v1376h-1024v-1376q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1280 1376v-1472q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h352v-96q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v96h352
2501
+ q66 0 113 -47t47 -113z" />
2502
+ <glyph glyph-name="uniF2C2" unicode="&#xf2c2;" horiz-adv-x="2048"
2503
+ d="M896 324q0 54 -7.5 100.5t-24.5 90t-51 68.5t-81 25q-64 -64 -156 -64t-156 64q-47 0 -81 -25t-51 -68.5t-24.5 -90t-7.5 -100.5q0 -55 31.5 -93.5t75.5 -38.5h426q44 0 75.5 38.5t31.5 93.5zM768 768q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56
2504
+ t56 136zM1792 288v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1408 544v64q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1792 544v64q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23
2505
+ v-64q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1792 800v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM128 1152h1792v96q0 14 -9 23t-23 9h-1728q-14 0 -23 -9t-9 -23v-96zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728
2506
+ q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
2507
+ <glyph glyph-name="uniF2C3" unicode="&#xf2c3;" horiz-adv-x="2048"
2508
+ d="M896 324q0 -55 -31.5 -93.5t-75.5 -38.5h-426q-44 0 -75.5 38.5t-31.5 93.5q0 54 7.5 100.5t24.5 90t51 68.5t81 25q64 -64 156 -64t156 64q47 0 81 -25t51 -68.5t24.5 -90t7.5 -100.5zM768 768q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z
2509
+ M1792 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1408 608v-64q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h320q14 0 23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v64
2510
+ q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 864v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1920 32v1120h-1792v-1120q0 -13 9.5 -22.5t22.5 -9.5h1728q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47
2511
+ h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
2512
+ <glyph glyph-name="uniF2C4" unicode="&#xf2c4;" horiz-adv-x="1792"
2513
+ d="M1255 749q0 318 -105 474.5t-330 156.5q-222 0 -326 -157t-104 -474q0 -316 104 -471.5t326 -155.5q74 0 131 17q-22 43 -39 73t-44 65t-53.5 56.5t-63 36t-77.5 14.5q-46 0 -79 -16l-49 97q105 91 276 91q132 0 215.5 -54t150.5 -155q67 149 67 402zM1645 117h117
2514
+ q3 -27 -2 -67t-26.5 -95t-58 -100.5t-107 -78t-162.5 -32.5q-71 0 -130.5 19t-105.5 56t-79 78t-66 96q-97 -27 -205 -27q-150 0 -292.5 58t-253 158.5t-178 249t-67.5 317.5q0 170 67.5 319.5t178.5 250.5t253.5 159t291.5 58q121 0 238.5 -36t217 -106t176 -164.5
2515
+ t119.5 -219t43 -261.5q0 -190 -80.5 -347.5t-218.5 -264.5q47 -70 93.5 -106.5t104.5 -36.5q61 0 94 37.5t38 85.5z" />
2516
+ <glyph glyph-name="uniF2C5" unicode="&#xf2c5;" horiz-adv-x="2304"
2517
+ d="M453 -101q0 -21 -16 -37.5t-37 -16.5q-1 0 -13 3q-63 15 -162 140q-225 284 -225 676q0 341 213 614q39 51 95 103.5t94 52.5q19 0 35 -13.5t16 -32.5q0 -27 -63 -90q-98 -102 -147 -184q-119 -199 -119 -449q0 -281 123 -491q50 -85 136 -173q2 -3 14.5 -16t19.5 -21
2518
+ t17 -20.5t14.5 -23.5t4.5 -21zM1796 33q0 -29 -17.5 -48.5t-46.5 -19.5h-1081q-26 0 -45 19t-19 45q0 29 17.5 48.5t46.5 19.5h1081q26 0 45 -19t19 -45zM1581 644q0 -134 -67 -233q-25 -38 -69.5 -78.5t-83.5 -60.5q-16 -10 -27 -10q-7 0 -15 6t-8 12q0 9 19 30t42 46
2519
+ t42 67.5t19 88.5q0 76 -35 130q-29 42 -46 42q-3 0 -3 -5q0 -12 7.5 -35.5t7.5 -36.5q0 -22 -21.5 -35t-44.5 -13q-66 0 -66 76q0 15 1.5 44t1.5 44q0 25 -10 46q-13 25 -42 53.5t-51 28.5q-5 0 -7 -0.5t-3.5 -2.5t-1.5 -6q0 -2 16 -26t16 -54q0 -37 -19 -68t-46 -54
2520
+ t-53.5 -46t-45.5 -54t-19 -68q0 -98 42 -160q29 -43 79 -63q16 -5 17 -10q1 -2 1 -5q0 -16 -18 -16q-6 0 -33 11q-119 43 -195 139.5t-76 218.5q0 55 24.5 115.5t60 115t70.5 108.5t59.5 113.5t24.5 111.5q0 53 -25 94q-29 48 -56 64q-19 9 -19 21q0 20 41 20q50 0 110 -29
2521
+ q41 -19 71 -44.5t49.5 -51t33.5 -62.5t22 -69t16 -80q0 -1 3 -17.5t4.5 -25t5.5 -25t9 -27t11 -21.5t14.5 -16.5t18.5 -5.5q23 0 37 14t14 37q0 25 -20 67t-20 52t10 10q27 0 93 -70q72 -76 102.5 -156t30.5 -186zM2304 615q0 -274 -138 -503q-19 -32 -48 -72t-68 -86.5
2522
+ t-81 -77t-74 -30.5q-16 0 -31 15.5t-15 31.5q0 15 29 50.5t68.5 77t48.5 52.5q183 230 183 531q0 131 -20.5 235t-72.5 211q-58 119 -163 228q-2 3 -13 13.5t-16.5 16.5t-15 17.5t-15 20t-9.5 18.5t-4 19q0 19 16 35.5t35 16.5q70 0 196 -169q98 -131 146 -273t60 -314
2523
+ q2 -42 2 -64z" />
2524
+ <glyph glyph-name="uniF2C6" unicode="&#xf2c6;" horiz-adv-x="1792"
2525
+ d="M1189 229l147 693q9 44 -10.5 63t-51.5 7l-864 -333q-29 -11 -39.5 -25t-2.5 -26.5t32 -19.5l221 -69l513 323q21 14 32 6q7 -5 -4 -15l-415 -375v0v0l-16 -228q23 0 45 22l108 104l224 -165q64 -36 81 38zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
2526
+ t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
2527
+ <glyph glyph-name="uniF2C7" unicode="&#xf2c7;" horiz-adv-x="1024"
2528
+ d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v907h128v-907q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
2529
+ t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
2530
+ v128h192z" />
2531
+ <glyph glyph-name="uniF2C8" unicode="&#xf2c8;" horiz-adv-x="1024"
2532
+ d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v651h128v-651q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
2533
+ t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
2534
+ v128h192z" />
2535
+ <glyph glyph-name="uniF2C9" unicode="&#xf2c9;" horiz-adv-x="1024"
2536
+ d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v395h128v-395q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
2537
+ t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
2538
+ v128h192z" />
2539
+ <glyph glyph-name="uniF2CA" unicode="&#xf2ca;" horiz-adv-x="1024"
2540
+ d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v139h128v-139q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
2541
+ t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
2542
+ v128h192z" />
2543
+ <glyph glyph-name="uniF2CB" unicode="&#xf2cb;" horiz-adv-x="1024"
2544
+ d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 79 56 135.5t136 56.5t136 -56.5t56 -135.5zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5z
2545
+ M896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192v128h192z" />
2546
+ <glyph glyph-name="uniF2CC" unicode="&#xf2cc;" horiz-adv-x="1920"
2547
+ d="M1433 1287q10 -10 10 -23t-10 -23l-626 -626q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l44 44q-72 91 -81.5 207t46.5 215q-74 71 -176 71q-106 0 -181 -75t-75 -181v-1280h-256v1280q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5q106 0 201 -41
2548
+ t166 -115q94 39 197 24.5t185 -79.5l44 44q10 10 23 10t23 -10zM1344 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1600 896q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1856 1024q26 0 45 -19t19 -45t-19 -45t-45 -19
2549
+ t-45 19t-19 45t19 45t45 19zM1216 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1408 832q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM1728 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 768
2550
+ q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 640q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1600 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 512q-26 0 -45 19t-19 45t19 45t45 19t45 -19
2551
+ t19 -45t-19 -45t-45 -19zM1472 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 384
2552
+ q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 256q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z" />
2553
+ <glyph glyph-name="uniF2CD" unicode="&#xf2cd;" horiz-adv-x="1792"
2554
+ d="M1664 448v-192q0 -169 -128 -286v-194q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v118q-63 -22 -128 -22h-768q-65 0 -128 22v-110q0 -17 -9.5 -28.5t-22.5 -11.5h-64q-13 0 -22.5 11.5t-9.5 28.5v186q-128 117 -128 286v192h1536zM704 864q0 -14 -9 -23t-23 -9t-23 9
2555
+ t-9 23t9 23t23 9t23 -9t9 -23zM768 928q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM704 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1056q0 -14 -9 -23t-23 -9t-23 9
2556
+ t-9 23t9 23t23 9t23 -9t9 -23zM704 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v640q0 106 75 181t181 75q108 0 184 -78q46 19 98 12t93 -39l22 22q11 11 22 0l42 -42
2557
+ q11 -11 0 -22l-314 -314q-11 -11 -22 0l-42 42q-11 11 0 22l22 22q-36 46 -40.5 104t23.5 108q-37 35 -88 35q-53 0 -90.5 -37.5t-37.5 -90.5v-640h1504q14 0 23 -9t9 -23zM896 1056q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1120q0 -14 -9 -23t-23 -9
2558
+ t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM896 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1248q0 -14 -9 -23
2559
+ t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1024 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1088 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23z" />
2560
+ <glyph glyph-name="uniF2CE" unicode="&#xf2ce;"
2561
+ d="M994 344q0 -86 -17 -197q-31 -215 -55 -313q-22 -90 -152 -90t-152 90q-24 98 -55 313q-17 110 -17 197q0 168 224 168t224 -168zM1536 768q0 -240 -134 -434t-350 -280q-8 -3 -15 3t-6 15q7 48 10 66q4 32 6 47q1 9 9 12q159 81 255.5 234t96.5 337q0 180 -91 330.5
2562
+ t-247 234.5t-337 74q-124 -7 -237 -61t-193.5 -140.5t-128 -202t-46.5 -240.5q1 -184 99 -336.5t257 -231.5q7 -3 9 -12q3 -21 6 -45q1 -9 5 -32.5t6 -35.5q1 -9 -6.5 -15t-15.5 -2q-148 58 -261 169.5t-173.5 264t-52.5 319.5q7 143 66 273.5t154.5 227t225 157.5t272.5 70
2563
+ q164 10 315.5 -46.5t261 -160.5t175 -250.5t65.5 -308.5zM994 800q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5zM1282 768q0 -122 -53.5 -228.5t-146.5 -177.5q-8 -6 -16 -2t-10 14q-6 52 -29 92q-7 10 3 20
2564
+ q58 54 91 127t33 155q0 111 -58.5 204t-157.5 141.5t-212 36.5q-133 -15 -229 -113t-109 -231q-10 -92 23.5 -176t98.5 -144q10 -10 3 -20q-24 -41 -29 -93q-2 -9 -10 -13t-16 2q-95 74 -148.5 183t-51.5 234q3 131 69 244t177 181.5t241 74.5q144 7 268 -60t196.5 -187.5
2565
+ t72.5 -263.5z" />
2566
+ <glyph glyph-name="uniF2D0" unicode="&#xf2d0;" horiz-adv-x="1792"
2567
+ d="M256 128h1280v768h-1280v-768zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
2568
+ <glyph glyph-name="uniF2D1" unicode="&#xf2d1;" horiz-adv-x="1792"
2569
+ d="M1792 224v-192q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
2570
+ <glyph glyph-name="uniF2D2" unicode="&#xf2d2;" horiz-adv-x="2048"
2571
+ d="M256 0h768v512h-768v-512zM1280 512h512v768h-768v-256h96q66 0 113 -47t47 -113v-352zM2048 1376v-960q0 -66 -47 -113t-113 -47h-608v-352q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h608v352q0 66 47 113t113 47h960q66 0 113 -47
2572
+ t47 -113z" />
2573
+ <glyph glyph-name="uniF2D3" unicode="&#xf2d3;" horiz-adv-x="1792"
2574
+ d="M1175 215l146 146q10 10 10 23t-10 23l-233 233l233 233q10 10 10 23t-10 23l-146 146q-10 10 -23 10t-23 -10l-233 -233l-233 233q-10 10 -23 10t-23 -10l-146 -146q-10 -10 -10 -23t10 -23l233 -233l-233 -233q-10 -10 -10 -23t10 -23l146 -146q10 -10 23 -10t23 10
2575
+ l233 233l233 -233q10 -10 23 -10t23 10zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
2576
+ <glyph glyph-name="uniF2D4" unicode="&#xf2d4;" horiz-adv-x="1792"
2577
+ d="M1257 425l-146 -146q-10 -10 -23 -10t-23 10l-169 169l-169 -169q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l169 169l-169 169q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l169 -169l169 169q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
2578
+ l-169 -169l169 -169q10 -10 10 -23t-10 -23zM256 128h1280v1024h-1280v-1024zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
2579
+ <glyph glyph-name="uniF2D5" unicode="&#xf2d5;" horiz-adv-x="1792"
2580
+ d="M1070 358l306 564h-654l-306 -564h654zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
2581
+ <glyph glyph-name="uniF2D6" unicode="&#xf2d6;" horiz-adv-x="1794"
2582
+ d="M1291 1060q-15 17 -35 8.5t-26 -28.5t5 -38q14 -17 40 -14.5t34 20.5t-18 52zM895 814q-8 -8 -19.5 -8t-18.5 8q-8 8 -8 19t8 18q7 8 18.5 8t19.5 -8q7 -7 7 -18t-7 -19zM1060 740l-35 -35q-12 -13 -29.5 -13t-30.5 13l-38 38q-12 13 -12 30t12 30l35 35q12 12 29.5 12
2583
+ t30.5 -12l38 -39q12 -12 12 -29.5t-12 -29.5zM951 870q-7 -8 -18.5 -8t-19.5 8q-7 8 -7 19t7 19q8 8 19 8t19 -8t8 -19t-8 -19zM1354 968q-34 -64 -107.5 -85.5t-127.5 16.5q-38 28 -61 66.5t-21 87.5t39 92t75.5 53t70.5 -5t70 -51q2 -2 13 -12.5t14.5 -13.5t13 -13.5
2584
+ t12.5 -15.5t10 -15.5t8.5 -18t4 -18.5t1 -21t-5 -22t-9.5 -24zM1555 486q3 20 -8.5 34.5t-27.5 21.5t-33 17t-23 20q-40 71 -84 98.5t-113 11.5q19 13 40 18.5t33 4.5l12 -1q2 45 -34 90q6 20 6.5 40.5t-2.5 30.5l-3 10q43 24 71 65t34 91q10 84 -43 150.5t-137 76.5
2585
+ q-60 7 -114 -18.5t-82 -74.5q-30 -51 -33.5 -101t14.5 -87t43.5 -64t56.5 -42q-45 4 -88 36t-57 88q-28 108 32 222q-16 21 -29 32q-50 0 -89 -19q19 24 42 37t36 14l13 1q0 50 -13 78q-10 21 -32.5 28.5t-47 -3.5t-37.5 -40q2 4 4 7q-7 -28 -6.5 -75.5t19 -117t48.5 -122.5
2586
+ q-25 -14 -47 -36q-35 -16 -85.5 -70.5t-84.5 -101.5l-33 -46q-90 -34 -181 -125.5t-75 -162.5q1 -16 11 -27q-15 -12 -30 -30q-21 -25 -21 -54t21.5 -40t63.5 6q41 19 77 49.5t55 60.5q-2 2 -6.5 5t-20.5 7.5t-33 3.5q23 5 51 12.5t40 10t27.5 6t26 4t23.5 0.5q14 -7 22 34
2587
+ q7 37 7 90q0 102 -40 150q106 -103 101 -219q-1 -29 -15 -50t-27 -27l-13 -6q-4 -7 -19 -32t-26 -45.5t-26.5 -52t-25 -61t-17 -63t-6.5 -66.5t10 -63q-35 54 -37 80q-22 -24 -34.5 -39t-33.5 -42t-30.5 -46t-16.5 -41t-0.5 -38t25.5 -27q45 -25 144 64t190.5 221.5
2588
+ t122.5 228.5q86 52 145 115.5t86 119.5q47 -93 154 -178q104 -83 167 -80q39 2 46 43zM1794 640q0 -182 -71 -348t-191 -286t-286.5 -191t-348.5 -71t-348.5 71t-286.5 191t-191 286t-71 348t71 348t191 286t286.5 191t348.5 71t348.5 -71t286.5 -191t191 -286t71 -348z" />
2589
+ <glyph glyph-name="uniF2D7" unicode="&#xf2d7;"
2590
+ d="M518 1353v-655q103 -1 191.5 1.5t125.5 5.5l37 3q68 2 90.5 24.5t39.5 94.5l33 142h103l-14 -322l7 -319h-103l-29 127q-15 68 -45 93t-84 26q-87 8 -352 8v-556q0 -78 43.5 -115.5t133.5 -37.5h357q35 0 59.5 2t55 7.5t54 18t48.5 32t46 50.5t39 73l93 216h89
2591
+ q-6 -37 -31.5 -252t-30.5 -276q-146 5 -263.5 8t-162.5 4h-44h-628l-376 -12v102l127 25q67 13 91.5 37t25.5 79l8 643q3 402 -8 645q-2 61 -25.5 84t-91.5 36l-127 24v102l376 -12h702q139 0 374 27q-6 -68 -14 -194.5t-12 -219.5l-5 -92h-93l-32 124q-31 121 -74 179.5
2592
+ t-113 58.5h-548q-28 0 -35.5 -8.5t-7.5 -30.5z" />
2593
+ <glyph glyph-name="uniF2D8" unicode="&#xf2d8;"
2594
+ d="M922 739v-182q0 -4 0.5 -15t0 -15l-1.5 -12t-3.5 -11.5t-6.5 -7.5t-11 -5.5t-16 -1.5v309q9 0 16 -1t11 -5t6.5 -5.5t3.5 -9.5t1 -10.5v-13.5v-14zM1238 643v-121q0 -1 0.5 -12.5t0 -15.5t-2.5 -11.5t-7.5 -10.5t-13.5 -3q-9 0 -14 9q-4 10 -4 165v7v8.5v9t1.5 8.5l3.5 7
2595
+ t5 5.5t8 1.5q6 0 10 -1.5t6.5 -4.5t4 -6t2 -8.5t0.5 -8v-9.5v-9zM180 407h122v472h-122v-472zM614 407h106v472h-159l-28 -221q-20 148 -32 221h-158v-472h107v312l45 -312h76l43 319v-319zM1039 712q0 67 -5 90q-3 16 -11 28.5t-17 20.5t-25 14t-26.5 8.5t-31 4t-29 1.5
2596
+ h-29.5h-12h-91v-472h56q169 -1 197 24.5t25 180.5q-1 62 -1 100zM1356 515v133q0 29 -2 45t-9.5 33.5t-24.5 25t-46 7.5q-46 0 -77 -34v154h-117v-472h110l7 30q30 -36 77 -36q50 0 66 30.5t16 83.5zM1536 1248v-1216q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113
2597
+ v1216q0 66 47 113t113 47h1216q66 0 113 -47t47 -113z" />
2598
+ <glyph glyph-name="uniF2D9" unicode="&#xf2d9;" horiz-adv-x="2176"
2599
+ d="M1143 -197q-6 1 -11 4q-13 8 -36 23t-86 65t-116.5 104.5t-112 140t-89.5 172.5q-17 3 -175 37q66 -213 235 -362t391 -184zM502 409l168 -28q-25 76 -41 167.5t-19 145.5l-4 53q-84 -82 -121 -224q5 -65 17 -114zM612 1018q-43 -64 -77 -148q44 46 74 68zM2049 584
2600
+ q0 161 -62 307t-167.5 252t-250.5 168.5t-304 62.5q-147 0 -281 -52.5t-240 -148.5q-30 -58 -45 -160q60 51 143 83.5t158.5 43t143 13.5t108.5 -1l40 -3q33 -1 53 -15.5t24.5 -33t6.5 -37t-1 -28.5q-126 11 -227.5 0.5t-183 -43.5t-142.5 -71.5t-131 -98.5
2601
+ q4 -36 11.5 -92.5t35.5 -178t62 -179.5q123 -6 247.5 14.5t214.5 53.5t162.5 67t109.5 59l37 24q22 16 39.5 20.5t30.5 -5t17 -34.5q14 -97 -39 -121q-208 -97 -467 -134q-135 -20 -317 -16q41 -96 110 -176.5t137 -127t130.5 -79t101.5 -43.5l39 -12q143 -23 263 15
2602
+ q195 99 314 289t119 418zM2123 621q-14 -135 -40 -212q-70 -208 -181.5 -346.5t-318.5 -253.5q-48 -33 -82 -44q-72 -26 -163 -16q-36 -3 -73 -3q-283 0 -504.5 173t-295.5 442q-1 0 -4 0.5t-5 0.5q-6 -50 2.5 -112.5t26 -115t36 -98t31.5 -71.5l14 -26q8 -12 54 -82
2603
+ q-71 38 -124.5 106.5t-78.5 140t-39.5 137t-17.5 107.5l-2 42q-5 2 -33.5 12.5t-48.5 18t-53 20.5t-57.5 25t-50 25.5t-42.5 27t-25 25.5q19 -10 50.5 -25.5t113 -45.5t145.5 -38l2 32q11 149 94 290q41 202 176 365q28 115 81 214q15 28 32 45t49 32q158 74 303.5 104
2604
+ t302 11t306.5 -97q220 -115 333 -336t87 -474z" />
2605
+ <glyph glyph-name="uniF2DA" unicode="&#xf2da;" horiz-adv-x="1792"
2606
+ d="M1341 752q29 44 -6.5 129.5t-121.5 142.5q-58 39 -125.5 53.5t-118 4.5t-68.5 -37q-12 -23 -4.5 -28t42.5 -10q23 -3 38.5 -5t44.5 -9.5t56 -17.5q36 -13 67.5 -31.5t53 -37t40 -38.5t30.5 -38t22 -34.5t16.5 -28.5t12 -18.5t10.5 -6t11 9.5zM1704 178
2607
+ q-52 -127 -148.5 -220t-214.5 -141.5t-253 -60.5t-266 13.5t-251 91t-210 161.5t-141.5 235.5t-46.5 303.5q1 41 8.5 84.5t12.5 64t24 80.5t23 73q-51 -208 1 -397t173 -318t291 -206t346 -83t349 74.5t289 244.5q20 27 18 14q0 -4 -4 -14zM1465 627q0 -104 -40.5 -199
2608
+ t-108.5 -164t-162 -109.5t-198 -40.5t-198 40.5t-162 109.5t-108.5 164t-40.5 199t40.5 199t108.5 164t162 109.5t198 40.5t198 -40.5t162 -109.5t108.5 -164t40.5 -199zM1752 915q-65 147 -180.5 251t-253 153.5t-292 53.5t-301 -36.5t-275.5 -129t-220 -211.5t-131 -297
2609
+ t-10 -373q-49 161 -51.5 311.5t35.5 272.5t109 227t165.5 180.5t207 126t232 71t242.5 9t236 -54t216 -124.5t178 -197q33 -50 62 -121t31 -112zM1690 573q12 244 -136.5 416t-396.5 240q-8 0 -10 5t24 8q125 -4 230 -50t173 -120t116 -168.5t58.5 -199t-1 -208
2610
+ t-61.5 -197.5t-122.5 -167t-185 -117.5t-248.5 -46.5q108 30 201.5 80t174 123t129.5 176.5t55 225.5z" />
2611
+ <glyph glyph-name="uniF2DB" unicode="&#xf2db;"
2612
+ d="M192 256v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 512v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 768v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16
2613
+ q0 16 16 16h112zM192 1024v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 1280v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM1280 1440v-1472q0 -40 -28 -68t-68 -28h-832q-40 0 -68 28
2614
+ t-28 68v1472q0 40 28 68t68 28h832q40 0 68 -28t28 -68zM1536 208v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 464v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 720v-32
2615
+ q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 976v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 1232v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16
2616
+ h48q16 0 16 -16z" />
2617
+ <glyph glyph-name="uniF2DC" unicode="&#xf2dc;" horiz-adv-x="1664"
2618
+ d="M1566 419l-167 -33l186 -107q23 -13 29.5 -38.5t-6.5 -48.5q-14 -23 -39 -29.5t-48 6.5l-186 106l55 -160q13 -38 -12 -63.5t-60.5 -20.5t-48.5 42l-102 300l-271 156v-313l208 -238q16 -18 17 -39t-11 -36.5t-28.5 -25t-37 -5.5t-36.5 22l-112 128v-214q0 -26 -19 -45
2619
+ t-45 -19t-45 19t-19 45v214l-112 -128q-16 -18 -36.5 -22t-37 5.5t-28.5 25t-11 36.5t17 39l208 238v313l-271 -156l-102 -300q-13 -37 -48.5 -42t-60.5 20.5t-12 63.5l55 160l-186 -106q-23 -13 -48 -6.5t-39 29.5q-13 23 -6.5 48.5t29.5 38.5l186 107l-167 33
2620
+ q-29 6 -42 29t-8.5 46.5t25.5 40t50 10.5l310 -62l271 157l-271 157l-310 -62q-4 -1 -13 -1q-27 0 -44 18t-19 40t11 43t40 26l167 33l-186 107q-23 13 -29.5 38.5t6.5 48.5t39 30t48 -7l186 -106l-55 160q-13 38 12 63.5t60.5 20.5t48.5 -42l102 -300l271 -156v313
2621
+ l-208 238q-16 18 -17 39t11 36.5t28.5 25t37 5.5t36.5 -22l112 -128v214q0 26 19 45t45 19t45 -19t19 -45v-214l112 128q16 18 36.5 22t37 -5.5t28.5 -25t11 -36.5t-17 -39l-208 -238v-313l271 156l102 300q13 37 48.5 42t60.5 -20.5t12 -63.5l-55 -160l186 106
2622
+ q23 13 48 6.5t39 -29.5q13 -23 6.5 -48.5t-29.5 -38.5l-186 -107l167 -33q27 -5 40 -26t11 -43t-19 -40t-44 -18q-9 0 -13 1l-310 62l-271 -157l271 -157l310 62q29 6 50 -10.5t25.5 -40t-8.5 -46.5t-42 -29z" />
2623
+ <glyph glyph-name="uniF2DD" unicode="&#xf2dd;" horiz-adv-x="1792"
2624
+ d="M1473 607q7 118 -33 226.5t-113 189t-177 131t-221 57.5q-116 7 -225.5 -32t-192 -110.5t-135 -175t-59.5 -220.5q-7 -118 33 -226.5t113 -189t177.5 -131t221.5 -57.5q155 -9 293 59t224 195.5t94 283.5zM1792 1536l-349 -348q120 -117 180.5 -272t50.5 -321
2625
+ q-11 -183 -102 -339t-241 -255.5t-332 -124.5l-999 -132l347 347q-120 116 -180.5 271.5t-50.5 321.5q11 184 102 340t241.5 255.5t332.5 124.5q167 22 500 66t500 66z" />
2626
+ <glyph glyph-name="uniF2DE" unicode="&#xf2de;" horiz-adv-x="1792"
2627
+ d="M948 508l163 -329h-51l-175 350l-171 -350h-49l179 374l-78 33l21 49l240 -102l-21 -50zM563 1100l304 -130l-130 -304l-304 130zM907 915l240 -103l-103 -239l-239 102zM1188 765l191 -81l-82 -190l-190 81zM1680 640q0 159 -62 304t-167.5 250.5t-250.5 167.5t-304 62
2628
+ t-304 -62t-250.5 -167.5t-167.5 -250.5t-62 -304t62 -304t167.5 -250.5t250.5 -167.5t304 -62t304 62t250.5 167.5t167.5 250.5t62 304zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71
2629
+ t286 -191t191 -286t71 -348z" />
2630
+ <glyph glyph-name="uniF2E0" unicode="&#xf2e0;" horiz-adv-x="1920"
2631
+ d="M1334 302q-4 24 -27.5 34t-49.5 10.5t-48.5 12.5t-25.5 38q-5 47 33 139.5t75 181t32 127.5q-14 101 -117 103q-45 1 -75 -16l-3 -2l-5 -2.5t-4.5 -2t-5 -2t-5 -0.5t-6 1.5t-6 3.5t-6.5 5q-3 2 -9 8.5t-9 9t-8.5 7.5t-9.5 7.5t-9.5 5.5t-11 4.5t-11.5 2.5q-30 5 -48 -3
2632
+ t-45 -31q-1 -1 -9 -8.5t-12.5 -11t-15 -10t-16.5 -5.5t-17 3q-54 27 -84 40q-41 18 -94 -5t-76 -65q-16 -28 -41 -98.5t-43.5 -132.5t-40 -134t-21.5 -73q-22 -69 18.5 -119t110.5 -46q30 2 50.5 15t38.5 46q7 13 79 199.5t77 194.5q6 11 21.5 18t29.5 0q27 -15 21 -53
2633
+ q-2 -18 -51 -139.5t-50 -132.5q-6 -38 19.5 -56.5t60.5 -7t55 49.5q4 8 45.5 92t81.5 163.5t46 88.5q20 29 41 28q29 0 25 -38q-2 -16 -65.5 -147.5t-70.5 -159.5q-12 -53 13 -103t74 -74q17 -9 51 -15.5t71.5 -8t62.5 14t20 48.5zM383 86q3 -15 -5 -27.5t-23 -15.5
2634
+ q-14 -3 -26.5 5t-15.5 23q-3 14 5 27t22 16t27 -5t16 -23zM953 -177q12 -17 8.5 -37.5t-20.5 -32.5t-37.5 -8t-32.5 21q-11 17 -7.5 37.5t20.5 32.5t37.5 8t31.5 -21zM177 635q-18 -27 -49.5 -33t-57.5 13q-26 18 -32 50t12 58q18 27 49.5 33t57.5 -12q26 -19 32 -50.5
2635
+ t-12 -58.5zM1467 -42q19 -28 13 -61.5t-34 -52.5t-60.5 -13t-51.5 34t-13 61t33 53q28 19 60.5 13t52.5 -34zM1579 562q69 -113 42.5 -244.5t-134.5 -207.5q-90 -63 -199 -60q-20 -80 -84.5 -127t-143.5 -44.5t-140 57.5q-12 -9 -13 -10q-103 -71 -225 -48.5t-193 126.5
2636
+ q-50 73 -53 164q-83 14 -142.5 70.5t-80.5 128t-2 152t81 138.5q-36 60 -38 128t24.5 125t79.5 98.5t121 50.5q32 85 99 148t146.5 91.5t168 17t159.5 -66.5q72 21 140 17.5t128.5 -36t104.5 -80t67.5 -115t17.5 -140.5q52 -16 87 -57t45.5 -89t-5.5 -99.5t-58 -87.5z
2637
+ M455 1222q14 -20 9.5 -44.5t-24.5 -38.5q-19 -14 -43.5 -9.5t-37.5 24.5q-14 20 -9.5 44.5t24.5 38.5q19 14 43.5 9.5t37.5 -24.5zM614 1503q4 -16 -5 -30.5t-26 -18.5t-31 5.5t-18 26.5q-3 17 6.5 31t25.5 18q17 4 31 -5.5t17 -26.5zM1800 555q4 -20 -6.5 -37t-30.5 -21
2638
+ q-19 -4 -36 6.5t-21 30.5t6.5 37t30.5 22q20 4 36.5 -7.5t20.5 -30.5zM1136 1448q16 -27 8.5 -58.5t-35.5 -47.5q-27 -16 -57.5 -8.5t-46.5 34.5q-16 28 -8.5 59t34.5 48t58 9t47 -36zM1882 792q4 -15 -4 -27.5t-23 -16.5q-15 -3 -27.5 5.5t-15.5 22.5q-3 15 5 28t23 16
2639
+ q14 3 26.5 -5t15.5 -23zM1691 1033q15 -22 10.5 -49t-26.5 -43q-22 -15 -49 -10t-42 27t-10 49t27 43t48.5 11t41.5 -28z" />
2640
+ <glyph glyph-name="uniF2E1" unicode="&#xf2e1;" horiz-adv-x="1792"
2641
+ />
2642
+ <glyph glyph-name="uniF2E2" unicode="&#xf2e2;" horiz-adv-x="1792"
2643
+ />
2644
+ <glyph glyph-name="uniF2E3" unicode="&#xf2e3;" horiz-adv-x="1792"
2645
+ />
2646
+ <glyph glyph-name="uniF2E4" unicode="&#xf2e4;" horiz-adv-x="1792"
2647
+ />
2648
+ <glyph glyph-name="uniF2E5" unicode="&#xf2e5;" horiz-adv-x="1792"
2649
+ />
2650
+ <glyph glyph-name="uniF2E6" unicode="&#xf2e6;" horiz-adv-x="1792"
2651
+ />
2652
+ <glyph glyph-name="uniF2E7" unicode="&#xf2e7;" horiz-adv-x="1792"
2653
+ />
2654
+ <glyph glyph-name="_698" unicode="&#xf2e8;" horiz-adv-x="1792"
2655
+ />
2656
+ <glyph glyph-name="uniF2E9" unicode="&#xf2e9;" horiz-adv-x="1792"
2657
+ />
2658
+ <glyph glyph-name="uniF2EA" unicode="&#xf2ea;" horiz-adv-x="1792"
2659
+ />
2660
+ <glyph glyph-name="uniF2EB" unicode="&#xf2eb;" horiz-adv-x="1792"
2661
+ />
2662
+ <glyph glyph-name="uniF2EC" unicode="&#xf2ec;" horiz-adv-x="1792"
2663
+ />
2664
+ <glyph glyph-name="uniF2ED" unicode="&#xf2ed;" horiz-adv-x="1792"
2665
+ />
2666
+ <glyph glyph-name="uniF2EE" unicode="&#xf2ee;" horiz-adv-x="1792"
2667
+ />
2668
+ <glyph glyph-name="lessequal" unicode="&#xf500;" horiz-adv-x="1792"
2669
+ />
2670
+ </font>
2671
+ </defs></svg>
assets/fonts/fontawesome-webfont.ttf ADDED
Binary file
assets/fonts/fontawesome-webfont.woff ADDED
Binary file
assets/fonts/fontawesome-webfont.woff2 ADDED
Binary file
assets/js/customize.js ADDED
@@ -0,0 +1,1275 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var happyForms;
4
+ var classes = {};
5
+ classes.models = {};
6
+ classes.collections = {};
7
+ classes.views = {};
8
+ classes.routers = {};
9
+
10
+ classes.models.Form = Backbone.Model.extend( {
11
+ idAttribute: 'ID',
12
+
13
+ defaults: settings.form,
14
+
15
+ getPreviewUrl: function() {
16
+ var previewUrl;
17
+
18
+ if (parseInt(this.id, 10) !== 0) {
19
+ previewUrl = settings.baseUrl +
20
+ '?post_type=' + this.get( 'post_type' ) +
21
+ '&p=' + this.id +
22
+ '&preview=true';
23
+ } else {
24
+ previewUrl = settings.baseUrl + '?happyformsNewForm'
25
+ }
26
+
27
+ return previewUrl;
28
+ },
29
+
30
+ isNew: function() {
31
+ return '0' === this.id;
32
+ },
33
+
34
+ initialize: function( attrs, options ) {
35
+ Backbone.Model.prototype.initialize.apply( this, arguments );
36
+
37
+ this.attributes.parts = new classes.collections.Parts( this.get( 'parts' ), options );
38
+ },
39
+
40
+ toJSON: function() {
41
+ var json = Backbone.Model.prototype.toJSON.apply( this, arguments );
42
+ json.parts = json.parts.toJSON();
43
+
44
+ return json;
45
+ },
46
+
47
+ save: function( options ) {
48
+ var self = this;
49
+ options = options || {};
50
+
51
+ var request = wp.ajax.post( 'happyforms-update-form', _.extend( {
52
+ 'happyforms-nonce': api.settings.nonce.happyforms,
53
+ happyforms: 1,
54
+ form_id: this.id,
55
+ wp_customize: 'on',
56
+ }, { form: this.toJSON() } ) );
57
+
58
+ request.done( function( response ) {
59
+ self.set( response.data );
60
+
61
+ if ( happyForms.previewLoaded ) {
62
+ api.previewer.refresh();
63
+ }
64
+
65
+ if ( options.success ) {
66
+ options.success( response );
67
+ }
68
+ } );
69
+
70
+ request.fail( function( response ) {
71
+ // noop
72
+ } );
73
+ }
74
+ } );
75
+
76
+ classes.models.Part = Backbone.Model.extend( {
77
+ initialize: function( attributes ) {
78
+ Backbone.Model.prototype.initialize.apply( this, arguments );
79
+
80
+ if ( ! this.id ) {
81
+ this.set( 'id', _.uniqueId( this.get( 'type' ) + '_' ) );
82
+ }
83
+ }
84
+ } );
85
+
86
+ classes.collections.Parts = Backbone.Collection.extend( {
87
+ model: function( attrs, options ) {
88
+ var model = PartFactory.model( attrs, options );
89
+ return model;
90
+ }
91
+ } );
92
+
93
+ var PartFactory = {
94
+ model: function( attrs, options, BaseClass ) {
95
+ BaseClass = BaseClass || classes.models.Part;
96
+ return new BaseClass( attrs, options );
97
+ },
98
+
99
+ view: function( attrs, BaseClass ) {
100
+ BaseClass = BaseClass || classes.views.Part;
101
+ return new BaseClass( attrs );
102
+ },
103
+ };
104
+
105
+ HappyForms = Backbone.Router.extend( {
106
+ routes: {
107
+ 'build': 'build',
108
+ 'setup': 'setup',
109
+ 'style': 'style',
110
+ },
111
+
112
+ steps: [ 'build', 'setup', 'style' ],
113
+ currentRoute: 'setup',
114
+ form: false,
115
+ previewLoaded: false,
116
+ buffer: [],
117
+
118
+ initialize: function( options ) {
119
+ Backbone.Router.prototype.initialize( this, arguments );
120
+
121
+ this.parts = new Backbone.Collection();
122
+ this.parts.reset( _( settings.formParts ).values() );
123
+ this.form = new classes.models.Form( options.form, { silent: true } );
124
+ this.actions = new classes.views.Actions( { model: this.form } ).render();
125
+ this.sidebar = new classes.views.Sidebar( { model: this.form } ).render();
126
+
127
+ this.listenTo( this, 'route', this.onRoute );
128
+ this.listenTo( this, 'happyforms-pencil-click', this.onPreviewPencilClick );
129
+ },
130
+
131
+ flushBuffer: function() {
132
+ if ( this.buffer.length > 0 ) {
133
+ _.each( this.buffer, function( response ) {
134
+ api.previewer.trigger( 'happyforms-form-part-added', response );
135
+ } );
136
+
137
+ this.buffer = [];
138
+ }
139
+ },
140
+
141
+ onRoute: function( segment ) {
142
+ this.sidebar.steps.disable();
143
+
144
+ var previousStepIndex = this.steps.indexOf( this.currentRoute ) + 1;
145
+ var stepIndex = this.steps.indexOf( segment ) + 1;
146
+ var direction = previousStepIndex < stepIndex ? 1: -1;
147
+ var stepProgress = Math.round( stepIndex / ( this.steps.length ) * 100 );
148
+ var childView;
149
+
150
+ switch( segment ) {
151
+ case 'setup':
152
+ childView = new classes.views.FormSetup( { model: this.form } );
153
+ break;
154
+ case 'build':
155
+ childView = new classes.views.FormBuild( { model: this.form } );
156
+ break;
157
+ case 'style':
158
+ childView = new classes.views.FormStyle( { model: this.form } );
159
+ break;
160
+ }
161
+
162
+ this.currentRoute = segment;
163
+
164
+ this.sidebar.doStep( {
165
+ step: {
166
+ slug: segment,
167
+ index: stepIndex,
168
+ progress: stepProgress,
169
+ count: this.steps.length,
170
+ },
171
+ direction: direction,
172
+ child: childView,
173
+ } );
174
+ },
175
+
176
+ forward: function() {
177
+ var nextStepIndex = this.steps.indexOf( this.currentRoute ) + 1;
178
+ nextStepIndex = Math.min( nextStepIndex, this.steps.length - 1 );
179
+ var nextStep = this.steps[nextStepIndex];
180
+
181
+ this.navigate( nextStep, { trigger: true } );
182
+ },
183
+
184
+ back: function() {
185
+ var previousStepIndex = this.steps.indexOf( this.currentRoute ) - 1;
186
+ previousStepIndex = Math.max( previousStepIndex, 0 );
187
+
188
+ var previousStep = this.steps[previousStepIndex];
189
+ this.navigate( previousStep, { trigger: true } );
190
+ },
191
+
192
+ setup: function() {
193
+ // noop
194
+ },
195
+
196
+ build: function() {
197
+ // noop
198
+ },
199
+
200
+ style: function() {
201
+ // noop
202
+ },
203
+
204
+ onPreviewPencilClick: function( data ) {
205
+ if ( ! data.step || data.step !== 'build' ) {
206
+ happyForms.navigate( 'setup', { trigger: true } );
207
+
208
+ var $input = $( '[data-attribute='+ data.field_name + ']' );
209
+
210
+ $input.focus();
211
+ } else {
212
+ happyForms.navigate( 'build', { trigger: true } );
213
+
214
+ if (data.part_id) {
215
+ var $partWidget = $( '[data-part-id="' + data.part_id + '"]' );
216
+
217
+ if ( ! $partWidget.hasClass( 'happyforms-widget-expanded' ) ) {
218
+ $partWidget.find( '.toggle-indicator' ).click();
219
+ }
220
+
221
+ $partWidget.find( 'input[data-bind="' + data.field_name + '"]' ).focus();
222
+ } else {
223
+ var $input = $('[name='+ data.field_name +']');
224
+
225
+ $input.focus();
226
+ }
227
+ }
228
+ },
229
+
230
+ } );
231
+
232
+ classes.views.Base = Backbone.View.extend( {
233
+ initialize: function() {
234
+ if ( this.template ) {
235
+ this.template = _.template( $( this.template ).text() );
236
+ }
237
+
238
+ this.listenTo( this, 'ready', this.ready );
239
+ },
240
+
241
+ ready: function() {
242
+ // Noop
243
+ },
244
+
245
+ unbindEvents: function() {
246
+ // Unbind any listenTo handlers
247
+ this.stopListening();
248
+ // Unbind any delegated DOM handlers
249
+ this.undelegateEvents()
250
+ // Unbind any direct view handlers
251
+ this.off();
252
+ },
253
+
254
+ remove: function() {
255
+ this.unbindEvents();
256
+ Backbone.View.prototype.remove.apply( this, arguments );
257
+ },
258
+ } );
259
+
260
+ classes.views.Actions = classes.views.Base.extend( {
261
+ el: '#customize-header-actions',
262
+ template: '#happyforms-customize-header-actions',
263
+
264
+ events: {
265
+ 'click #happyforms-save-button': 'onSaveClick',
266
+ 'click #happyforms-close-link': 'onCloseClick',
267
+ 'onbeforeunload': 'onWindowClose',
268
+ },
269
+
270
+ initialize: function() {
271
+ classes.views.Base.prototype.initialize.apply( this, arguments );
272
+
273
+ this.listenTo( this.model, 'change', this.onFormChange );
274
+ $( window ).bind( 'beforeunload', this.onWindowClose.bind( this ) );
275
+ },
276
+
277
+ render: function() {
278
+ this.$el.html( this.template( {} ) );
279
+
280
+ if ( this.model.isNew() ) {
281
+ this.enableSave();
282
+ }
283
+
284
+ return this;
285
+ },
286
+
287
+ enableSave: function() {
288
+ $( '#happyforms-save-button', this.$el ).removeAttr( 'disabled' );
289
+ },
290
+
291
+ disableSave: function() {
292
+ $( '#happyforms-save-button', this.$el ).attr( 'disabled', 'disabled' );
293
+ },
294
+
295
+ isDirty: function() {
296
+ return $( '#happyforms-save-button', this.$el ).is( ':enabled' );
297
+ },
298
+
299
+ onFormChange: function() {
300
+ this.enableSave();
301
+ },
302
+
303
+ onCloseClick: function( e ) {
304
+ if ( this.isDirty() ) {
305
+ var message = $( e.currentTarget ).data( 'message' );
306
+
307
+ if ( ! confirm( message ) ) {
308
+ e.preventDefault();
309
+ e.stopPropagation();
310
+
311
+ return false;
312
+ } else {
313
+ $( window ).unbind( 'beforeunload' );
314
+ }
315
+ }
316
+ },
317
+
318
+ onWindowClose: function() {
319
+ if ( this.isDirty() ) {
320
+ return '';
321
+ }
322
+ },
323
+
324
+ onSaveClick: function( e ) {
325
+ e.preventDefault();
326
+
327
+ var self = this;
328
+
329
+ this.disableSave();
330
+
331
+ this.model.save( {
332
+ success: function() {
333
+ window.location.href = $( '#happyforms-close-link' ).attr( 'href' );
334
+ }
335
+ } );
336
+ },
337
+ } );
338
+
339
+ classes.views.Sidebar = classes.views.Base.extend( {
340
+ el: '.wp-full-overlay-sidebar-content',
341
+
342
+ steps: null,
343
+ current: null,
344
+ previous: null,
345
+
346
+ render: function( options ) {
347
+ this.$el.empty();
348
+ this.steps = new classes.views.Steps( { model: this.model } );
349
+
350
+ return this;
351
+ },
352
+
353
+ doStep: function( options ) {
354
+ var child = options.child.render();
355
+ this.$el.append( child.$el );
356
+ child.trigger( 'ready' );
357
+
358
+ if ( this.current ) {
359
+ this.previous = this.current;
360
+ this.current = child;
361
+
362
+ this.current.$el.css( 'left', options.direction > 0 ? '300px': '-300px' );
363
+ this.current.$el.animate( {
364
+ left: '0px',
365
+ }, 200 );
366
+
367
+ this.previous.$el.animate( {
368
+ left: options.direction > 0 ? '-300px': '300px',
369
+ }, 200, $.proxy( this.onStepComplete, this, options ) );
370
+ } else {
371
+ this.current = child;
372
+ this.current.$el.css( 'left', '0px' );
373
+ this.steps.render( options );
374
+ }
375
+ },
376
+
377
+ onStepComplete: function( options ) {
378
+ this.previous.remove();
379
+ $( '.wp-full-overlay-sidebar-content' ).scrollTop( 0 );
380
+ this.steps.render( options );
381
+ }
382
+ } );
383
+
384
+ classes.views.Steps = classes.views.Base.extend( {
385
+ el: '#customize-footer-actions',
386
+ template: '#happyforms-form-steps-template',
387
+
388
+ events: {
389
+ 'click .happyforms-step-previous': 'onPreviousStepClick',
390
+ 'click .happyforms-step-next': 'onNextStepClick',
391
+ 'click .happyforms-step-save': 'onSaveStepClick',
392
+ },
393
+
394
+ render: function( options ) {
395
+ var data = _.extend( {}, options, { form: this.model.toJSON() } );
396
+ this.$el.html( this.template( data ) );
397
+ this.$el.show();
398
+ },
399
+
400
+ enable: function() {
401
+ $( 'button', this.$el ).removeAttr( 'disabled' );
402
+ },
403
+
404
+ disable: function() {
405
+ $( 'button', this.$el ).attr( 'disabled', 'disabled' );
406
+ },
407
+
408
+ onNextStepClick: function( e ) {
409
+ e.preventDefault();
410
+ happyForms.forward();
411
+ },
412
+
413
+ onPreviousStepClick: function( e ) {
414
+ e.preventDefault();
415
+ happyForms.back();
416
+ },
417
+
418
+ onSaveStepClick: function( e ) {
419
+ e.preventDefault();
420
+
421
+ this.model.save( {
422
+ success: function() {
423
+ happyForms.actions.disableSave();
424
+ window.location.href = $( '#happyforms-close-link' ).attr( 'href' );
425
+ }
426
+ } );
427
+ },
428
+
429
+ } );
430
+
431
+ classes.views.FormBuild = classes.views.Base.extend( {
432
+ template: '#happyforms-form-build-template',
433
+
434
+ events: {
435
+ 'keyup #happyforms-form-name': 'onNameChange',
436
+ 'change #happyforms-form-name': 'onNameChange',
437
+ },
438
+
439
+ drawer: null,
440
+
441
+ initialize: function() {
442
+ classes.views.Base.prototype.initialize.apply( this, arguments );
443
+
444
+ this.partViews = new Backbone.Collection();
445
+
446
+ this.listenTo( happyForms, 'part-add', this.onPartAdd );
447
+ this.listenTo( this.model.get( 'parts' ), 'add', this.onPartModelAdd );
448
+ this.listenTo( this.model.get( 'parts' ), 'remove', this.onPartModelRemove );
449
+ this.listenTo( this.model.get( 'parts' ), 'change', this.onPartModelChange );
450
+ this.listenTo( this.model.get( 'parts' ), 'reset', this.onPartModelsSorted );
451
+ this.listenTo( this.partViews, 'add', this.onPartViewAdd );
452
+ this.listenTo( this.partViews, 'remove', this.onPartViewRemove );
453
+ this.listenTo( this.partViews, 'reset', this.onPartViewsSorted );
454
+ this.listenTo( this.partViews, 'add remove reset', this.onPartViewsChanged );
455
+ this.listenTo( this, 'sort-stop', this.onPartSortStop );
456
+ },
457
+
458
+ render: function() {
459
+ this.setElement( this.template( this.model.toJSON() ) );
460
+ return this;
461
+ },
462
+
463
+ ready: function() {
464
+ this.model.get( 'parts' ).each( function( partModel ) {
465
+ this.addViewPart( partModel );
466
+ }, this );
467
+
468
+ $( '.happyforms-form-widgets', this.$el ).sortable( {
469
+ handle: '.happyforms-part-widget-top',
470
+
471
+ stop: function ( e, ui ) {
472
+ this.trigger( 'sort-stop', e, ui );
473
+ }.bind( this ),
474
+ } );
475
+
476
+ this.drawer = new classes.views.PartsDrawer();
477
+ $( '.wp-full-overlay' ).append( this.drawer.render().$el );
478
+ $( 'body' ).addClass( 'adding-happyforms-parts' );
479
+
480
+ this.drawer.$el.animate( {
481
+ 'left': '0px',
482
+ }, 200 );
483
+
484
+ $( '#happyforms-form-name', this.$el ).focus();
485
+ },
486
+
487
+ onNameChange: function( e ) {
488
+ e.preventDefault();
489
+
490
+ var $el = $( e.target );
491
+ var value = $el.val();
492
+
493
+ this.model.set( 'post_title', value );
494
+
495
+ if (happyForms.previewLoaded) {
496
+ api.previewer.trigger( 'happyforms-part-dom-update', {
497
+ selector: '.happyforms-form__title .title',
498
+ text: value
499
+ } );
500
+ }
501
+ },
502
+
503
+ onPartAdd: function( type ) {
504
+ var self = this;
505
+ var partModel = PartFactory.model(
506
+ { type: type },
507
+ { collection: this.model.get( 'parts' ) },
508
+ );
509
+
510
+ this.model.get( 'parts' ).add( partModel );
511
+ this.model.trigger( 'change', this.model );
512
+
513
+ var request = wp.ajax.post( 'happyforms-form-part-added', {
514
+ 'happyforms-nonce': api.settings.nonce.happyforms,
515
+ happyforms: 1,
516
+ wp_customize: 'on',
517
+ form_id: this.model.id,
518
+ part: partModel.toJSON(),
519
+ } );
520
+
521
+ request.done( function( response ) {
522
+ var template = _.template( response.template );
523
+ var html = template( self.model.toJSON() );
524
+ response.html = html;
525
+
526
+ if (happyForms.previewLoaded) {
527
+ api.previewer.trigger( 'happyforms-form-part-added', response );
528
+ } else {
529
+ happyForms.buffer.push( response );
530
+ }
531
+ } );
532
+
533
+ request.fail( function( response ) {
534
+ // noop
535
+ } );
536
+ },
537
+
538
+ onPartModelAdd: function( partModel ) {
539
+ this.addViewPart( partModel, true );
540
+ },
541
+
542
+ onPartModelRemove: function( partModel ) {
543
+ this.model.trigger( 'change', this.model );
544
+
545
+ var partViewModel = this.partViews.find( function( viewModel ) {
546
+ return viewModel.get( 'view' ).model.id === partModel.id;
547
+ }, this );
548
+
549
+ this.partViews.remove( partViewModel );
550
+
551
+ if (happyForms.previewLoaded) {
552
+ api.previewer.trigger( 'happyforms-form-part-removed', {
553
+ form_id: this.model.id,
554
+ part_id: partModel.id,
555
+ } );
556
+ }
557
+ },
558
+
559
+ onPartModelChange: function( partModel ) {
560
+ this.model.trigger( 'change' );
561
+ },
562
+
563
+ onPartModelsSorted: function() {
564
+ this.partViews.reset( _.map( this.model.get( 'parts' ).pluck( 'id' ), function( id ) {
565
+ return this.partViews.get( id );
566
+ }, this ) );
567
+
568
+ this.model.trigger( 'change' );
569
+
570
+ if (happyForms.previewLoaded) {
571
+ api.previewer.trigger( 'happyforms-form-parts-sorted', {
572
+ form_id: this.model.id,
573
+ part_ids: this.model.get( 'parts' ).pluck( 'id' ),
574
+ } );
575
+ }
576
+ },
577
+
578
+ addViewPart: function( partModel, click ) {
579
+ if (typeof click === 'undefined') {
580
+ click = false;
581
+ }
582
+
583
+ var settings = happyForms.parts.findWhere( { type: partModel.get( 'type' ) } );
584
+
585
+ settings.click = click;
586
+
587
+ var partView = PartFactory.view( {
588
+ type: settings.get( 'type' ),
589
+ model: partModel,
590
+ settings: settings
591
+ } );
592
+
593
+ var partViewModel = new Backbone.Model( {
594
+ id: partModel.id,
595
+ view: partView,
596
+ } );
597
+
598
+ this.partViews.add( partViewModel );
599
+ },
600
+
601
+ onPartViewAdd: function( viewModel ) {
602
+ var partView = viewModel.get( 'view' );
603
+ $( '.happyforms-form-widgets', this.$el ).append( partView.render().$el );
604
+ partView.trigger( 'ready' );
605
+ },
606
+
607
+ onPartViewRemove: function( viewModel ) {
608
+ var partView = viewModel.get( 'view' );
609
+ partView.remove();
610
+ },
611
+
612
+ onPartSortStop: function( e, ui ) {
613
+ var $sortable = $( '.happyforms-form-widgets', this.$el );
614
+ var ids = $sortable.sortable( 'toArray', { attribute: 'data-part-id' } );
615
+
616
+ this.model.get( 'parts' ).reset( _.map( ids, function( id ) {
617
+ return this.model.get( 'parts' ).get( id );
618
+ }, this ) );
619
+ },
620
+
621
+ onPartViewsSorted: function( partViews ) {
622
+ var $stage = $( '.happyforms-form-widgets', this.$el );
623
+
624
+ partViews.forEach( function( partViewModel ) {
625
+ var partView = partViewModel.get( 'view' );
626
+ var $partViewEl = partView.$el;
627
+ $partViewEl.detach();
628
+ $stage.append( $partViewEl );
629
+ partView.trigger( 'refresh' );
630
+ }, this );
631
+ },
632
+
633
+ onPartViewsChanged: function( partViews ) {
634
+ if ( this.partViews.length > 0 ) {
635
+ this.$el.addClass( 'has-parts' );
636
+ } else {
637
+ this.$el.removeClass( 'has-parts' );
638
+ }
639
+ },
640
+
641
+ remove: function() {
642
+ while ( partView = this.partViews.first() ) {
643
+ this.partViews.remove( partView );
644
+ };
645
+
646
+ var drawer = this.drawer;
647
+ this.drawer.$el.animate( {
648
+ 'left': '-300px',
649
+ }, 200, function() {
650
+ drawer.remove();
651
+ } );
652
+
653
+ $( 'body' ).removeClass( 'adding-happyforms-parts' );
654
+
655
+ classes.views.Base.prototype.remove.apply( this, arguments );
656
+ }
657
+ } );
658
+
659
+ classes.views.PartsDrawer = classes.views.Base.extend( {
660
+ template: '#happyforms-form-parts-drawer-template',
661
+
662
+ events: {
663
+ 'click .happyforms-parts-list-item': 'onListItemClick',
664
+ 'keyup #part-search': 'onPartSearch',
665
+ },
666
+
667
+ render: function() {
668
+ this.setElement( this.template( { parts: happyForms.parts.toJSON() } ) );
669
+ return this;
670
+ },
671
+
672
+ onListItemClick: function( e ) {
673
+ var type = $( e.currentTarget ).data( 'part-type' );
674
+ happyForms.trigger( 'part-add', type );
675
+ },
676
+
677
+ onPartSearch: function( e ) {
678
+ var search = $( e.target ).val().toLowerCase();
679
+ var $partEls = $( '.happyforms-parts-list-item', this.$el );
680
+
681
+ if ( '' === search ) {
682
+ $partEls.show();
683
+ }
684
+
685
+ var results = happyForms.parts.filter( function( part ) {
686
+ var label = part.get( 'label' ).toLowerCase();
687
+ var description = part.get( 'description' ).toLowerCase();
688
+
689
+ return label.indexOf( search ) >= 0 || description.indexOf( search ) >= 0;
690
+ } );
691
+
692
+ $partEls.hide();
693
+
694
+ results.forEach( function( part ) {
695
+ $( '.happyforms-parts-list-item[data-part-type="' + part.get( 'type' ) + '"]', this.$el ).show();
696
+ } );
697
+
698
+ }
699
+ } );
700
+
701
+ classes.views.Part = classes.views.Base.extend( {
702
+ events: {
703
+ 'click .toggle-indicator': 'onWidgetToggle',
704
+ 'click .happyforms-form-part-close': 'onWidgetToggle',
705
+ 'click .happyforms-form-part-remove': 'onPartRemoveClick',
706
+ 'keyup [data-bind]': 'onInputChange',
707
+ 'change [data-bind]': 'onInputChange',
708
+ 'mouseover': 'onMouseOver',
709
+ 'mouseout': 'onMouseOut'
710
+ },
711
+
712
+ initialize: function( options ) {
713
+ classes.views.Base.prototype.initialize.apply( this, arguments );
714
+ this.settings = options.settings;
715
+
716
+ // listen to changes in common settings
717
+ this.listenTo(this.model, 'change:label', this.onPartLabelChange);
718
+ this.listenTo(this.model, 'change:width', this.onPartWidthChange);
719
+ this.listenTo(this.model, 'change:required', this.onRequiredCheckboxChange);
720
+ this.listenTo(this.model, 'change:placeholder', this.onPlaceholderChange);
721
+ this.listenTo(this.model, 'change:description', this.onDescriptionChange);
722
+ this.listenTo(this.model, 'change:label_placement', this.onLabelPlacementChange);
723
+ },
724
+
725
+ render: function() {
726
+ this.setElement( this.template( {
727
+ settings: this.settings.toJSON(),
728
+ instance: this.model.toJSON(),
729
+ } ) );
730
+
731
+ return this;
732
+ },
733
+
734
+ ready: function() {
735
+ if (typeof this.settings.click !== 'undefined' && this.settings.click) {
736
+ this.expandToggle();
737
+ }
738
+ },
739
+
740
+ /**
741
+ * Trigger a previewer event on mouse over.
742
+ *
743
+ * @since 1.0.0.
744
+ *
745
+ * @return void
746
+ */
747
+ onMouseOver: function() {
748
+ if (happyForms.previewLoaded) {
749
+ api.previewer.trigger( 'happyforms-part-mouseover', this.model.get( 'id' ) );
750
+ }
751
+ },
752
+
753
+ /**
754
+ * Trigger a previewer event on mouse out.
755
+ *
756
+ * @since 1.0.0.
757
+ *
758
+ * @return void
759
+ */
760
+ onMouseOut: function() {
761
+ if (happyForms.previewLoaded) {
762
+ api.previewer.trigger( 'happyforms-part-mouseout', this.model.get( 'id' ) );
763
+ }
764
+ },
765
+
766
+ /**
767
+ * Send changed label value to previewer.
768
+ *
769
+ * @since 1.0.0.
770
+ *
771
+ * @return void
772
+ */
773
+ onPartLabelChange: function() {
774
+ var eventData = {
775
+ part_id: this.model.id,
776
+ selector: '.happyforms-part__label .label',
777
+ text: this.model.get( 'label' )
778
+ };
779
+
780
+ api.previewer.trigger( 'happyforms-part-dom-update', eventData );
781
+ },
782
+
783
+ /**
784
+ * Send data about changed part width to previewer.
785
+ *
786
+ * @since 1.0.0.
787
+ *
788
+ * @return void
789
+ */
790
+ onPartWidthChange: function() {
791
+ var width = this.model.get( 'width' );
792
+
793
+ var eventData = {
794
+ part_id: this.model.id,
795
+ selector: 'self',
796
+ width: width
797
+ };
798
+
799
+ api.previewer.trigger( 'happyforms-part-width-change', eventData );
800
+ },
801
+
802
+ /**
803
+ * Trigger a previewer event on change of the "This is a required field" checkbox.
804
+ *
805
+ * @since 1.0.0.
806
+ *
807
+ * @return void
808
+ */
809
+ onRequiredCheckboxChange: function() {
810
+ var required = this.model.get( 'required' );
811
+
812
+ var eventData = {
813
+ part_id: this.model.id,
814
+ selector: '.happyforms-required',
815
+ attributes: {}
816
+ };
817
+
818
+ if ( parseInt(required, 10 ) === 1) {
819
+ eventData.attributes.style = 'display: inline';
820
+ } else {
821
+ eventData.attributes.style = 'display: none';
822
+ }
823
+
824
+ api.previewer.trigger( 'happyforms-part-dom-update', eventData );
825
+ },
826
+
827
+ /**
828
+ * Slide toggle part view in the customize pane.
829
+ *
830
+ * @since 1.0.0.
831
+ *
832
+ * @return void
833
+ */
834
+ expandToggle: function() {
835
+ var $el = this.$el;
836
+
837
+ $( '.happyforms-widget-content', this.$el ).slideToggle( function() {
838
+ $el.toggleClass( 'happyforms-widget-expanded' );
839
+ } );
840
+ },
841
+
842
+ /**
843
+ * Call expandToggle method on toggle indicator click or 'Close' button click of the part view in Customize pane.
844
+ *
845
+ * @since 1.0.0.
846
+ *
847
+ * @return void
848
+ */
849
+ onWidgetToggle: function( e ) {
850
+ e.preventDefault();
851
+ this.expandToggle();
852
+ },
853
+
854
+ /**
855
+ * Remove part model from collection on "Delete" button click.
856
+ *
857
+ * @since 1.0.0.
858
+ *
859
+ * @return void
860
+ */
861
+ onPartRemoveClick: function( e ) {
862
+ e.preventDefault();
863
+
864
+ this.model.collection.remove( this.model );
865
+ },
866
+
867
+ /**
868
+ * Update model with the changed data. Triggered on change event of inputs in the part view.
869
+ *
870
+ * @since 1.0.0.
871
+ *
872
+ * @return void
873
+ */
874
+ onInputChange: function( e ) {
875
+ var $el = $( e.target );
876
+ var value = $el.val();
877
+ var attribute = $el.data( 'bind' );
878
+
879
+ if ($el.is(':checkbox')) {
880
+ if ($el.is(':checked')) {
881
+ value = 1;
882
+ } else {
883
+ value = 0;
884
+ }
885
+ }
886
+
887
+ this.model.set( attribute, value );
888
+ },
889
+
890
+ /**
891
+ * Send changed placeholder value to previewer.
892
+ *
893
+ * @since 1.0.0.
894
+ *
895
+ * @return void
896
+ */
897
+ onPlaceholderChange: function() {
898
+ var eventData = {
899
+ part_id: this.model.id,
900
+ selector: 'input',
901
+ attributes: {
902
+ 'placeholder': this.model.get('placeholder')
903
+ }
904
+ };
905
+
906
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
907
+ },
908
+
909
+ /**
910
+ * Send changed description value to previewer.
911
+ *
912
+ * @since 1.0.0.
913
+ *
914
+ * @return void
915
+ */
916
+ onDescriptionChange: function() {
917
+ var eventData = {
918
+ part_id: this.model.id,
919
+ selector: '.happyforms-part__description',
920
+ text: this.model.get('description')
921
+ };
922
+
923
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
924
+ },
925
+
926
+ /**
927
+ * Send data about changed label placement value to previewer.
928
+ *
929
+ * @since 1.0.0.
930
+ *
931
+ * @return void
932
+ */
933
+ onLabelPlacementChange: function() {
934
+ var eventData = {
935
+ part_id: this.model.id,
936
+ selector: 'self',
937
+ };
938
+
939
+ var removalData = _.extend(eventData, {
940
+ classes: 'happyforms-part--label-above happyforms-part--label-below happyforms-part--label-left happyforms-part--label-right',
941
+ classMethod: 'remove'
942
+ });
943
+
944
+ api.previewer.trigger('happyforms-part-dom-update', removalData);
945
+
946
+ var addData = _.extend(eventData, {
947
+ classes: 'happyforms-part--label-' + this.model.get('label_placement'),
948
+ classMethod: 'add'
949
+ });
950
+
951
+ api.previewer.trigger('happyforms-part-dom-update', addData);
952
+ }
953
+ } );
954
+
955
+ classes.views.FormSetup = classes.views.Base.extend( {
956
+ template: '#happyforms-form-setup-template',
957
+
958
+ events: {
959
+ 'keyup [data-attribute]': 'onInputChange',
960
+ 'change [data-attribute]': 'onInputChange',
961
+ 'mouseover [data-pointer]': 'onHelpMouseOver',
962
+ 'mouseout [data-pointer]': 'onHelpMouseOut',
963
+ },
964
+
965
+ pointers: {},
966
+ editorIds: [
967
+ 'happyforms-confirmation-message',
968
+ 'happyforms-confirmation-email-content'
969
+ ],
970
+
971
+ initialize: function() {
972
+ classes.views.Base.prototype.initialize.apply( this, arguments );
973
+ },
974
+
975
+ render: function() {
976
+ this.setElement( this.template( this.model.toJSON() ) );
977
+ return this;
978
+ },
979
+
980
+ ready: function() {
981
+ this.setupHelpPointers();
982
+
983
+ var editorSettings = {
984
+ tinymce: {
985
+ toolbar1: 'bold,italic,bullist,numlist,hr',
986
+ setup: this.onEditorInit.bind( this ),
987
+ },
988
+ };
989
+
990
+ _.each( this.editorIds, function( editorId ) {
991
+ var $textarea = $( '#' + editorId, this.$el );
992
+ wp.editor.initialize( editorId, editorSettings );
993
+ } );
994
+ },
995
+
996
+ setupHelpPointers: function() {
997
+ var $helpTriggers = $( '[data-pointer]', this.$el );
998
+ var self = this;
999
+
1000
+ $helpTriggers.each( function() {
1001
+ var $trigger = $( this );
1002
+ var pointerId = $trigger.data( 'pointer' );
1003
+ var $target = $trigger.parents( '.customize-control' ).find( '[data-pointer-target]' );
1004
+ var $pointerTemplate = $( '#happyforms-pointer-' + pointerId );
1005
+
1006
+ var $pointer = $target.pointer( {
1007
+ pointerClass: 'wp-pointer happyforms-help-pointer',
1008
+ content: $pointerTemplate.html(),
1009
+ position: {
1010
+ edge: 'left',
1011
+ align: 'center',
1012
+ },
1013
+ open: function( e, ui ) {
1014
+ ui.pointer.css( 'margin-left', '-1px' );
1015
+
1016
+ },
1017
+ close: function( e, ui ) {
1018
+ ui.pointer.css( 'margin-left', '0' );
1019
+ },
1020
+ buttons: function() {},
1021
+ } );
1022
+
1023
+ self.pointers[pointerId] = $pointer;
1024
+ } );
1025
+ },
1026
+
1027
+ onEditorInit: function( editor ) {
1028
+ var $textarea = $( '#' + editor.id, this.$el );
1029
+ var attribute = $textarea.data( 'attribute' );
1030
+ var self = this;
1031
+
1032
+ editor.on( 'keyup change', function() {
1033
+ self.model.set( attribute, editor.getContent() );
1034
+ } );
1035
+ },
1036
+
1037
+ onInputChange: function( e ) {
1038
+ e.preventDefault();
1039
+
1040
+ var $el = $( e.target );
1041
+ var attribute = $el.data( 'attribute' );
1042
+ var value = $el.val();
1043
+
1044
+ if ( $el.is( ':checkbox' ) ) {
1045
+ value = $el.is( ':checked' ) ? value: 0;
1046
+ }
1047
+
1048
+ this.model.set( attribute, value );
1049
+
1050
+ if ( $el.data( 'preview-selector' ) && happyForms.previewLoaded ) {
1051
+ api.previewer.trigger( 'happyforms-part-dom-update', {
1052
+ selector: $el.data( 'preview-selector' ),
1053
+ text: value,
1054
+ } );
1055
+ }
1056
+ },
1057
+
1058
+ onHelpMouseOver: function( e ) {
1059
+ var $target = $( e.target );
1060
+ var pointerId = $target.data( 'pointer' );
1061
+ var $pointer = this.pointers[pointerId];
1062
+
1063
+ if ( $pointer ) {
1064
+ $pointer.pointer( 'open' );
1065
+ }
1066
+ },
1067
+
1068
+ onHelpMouseOut: function( e ) {
1069
+ var $target = $( e.target );
1070
+ var pointerId = $target.data( 'pointer' );
1071
+ var $pointer = this.pointers[pointerId];
1072
+
1073
+ if ( $pointer ) {
1074
+ $pointer.pointer( 'close' );
1075
+ }
1076
+ },
1077
+
1078
+ remove: function() {
1079
+ _.each( this.editorIds, function( editorId ) {
1080
+ wp.editor.remove( editorId );
1081
+ } );
1082
+
1083
+ classes.views.Base.prototype.remove.apply( this, arguments );
1084
+ }
1085
+ } );
1086
+
1087
+ classes.views.FormStyle = classes.views.Base.extend( {
1088
+ template: '#happyforms-form-style-template',
1089
+
1090
+ events: {
1091
+ 'change input[type=checkbox]': 'onCheckboxChange',
1092
+ 'keyup #hf_style_required_text': 'onRequiredTextChange',
1093
+ 'change #hf_style_disable_button_until_required_filled': 'onDisableButtonChange',
1094
+ 'change .happyforms-buttonset-container input': 'onInputChange',
1095
+ 'change input[type=number]': 'onInputChange',
1096
+ 'change select': 'onInputChange'
1097
+ },
1098
+
1099
+ initialize: function() {
1100
+ classes.views.Base.prototype.initialize.apply( this, arguments );
1101
+
1102
+ this.styles = new Backbone.Collection();
1103
+ },
1104
+
1105
+ render: function() {
1106
+ this.setElement( this.template( this.model.toJSON() ) );
1107
+ return this;
1108
+ },
1109
+
1110
+ ready: function() {
1111
+ this.initColorPickers();
1112
+ this.initUISliders();
1113
+ this.initButtonSet();
1114
+ },
1115
+
1116
+ initButtonSet: function() {
1117
+ $('.happyforms-buttonset-container').buttonset();
1118
+ },
1119
+
1120
+ initColorPickers: function() {
1121
+ var self = this;
1122
+ var $colorInputs = $( '.happyforms-color-input', this.$el );
1123
+
1124
+ $colorInputs.each( function( index, el ) {
1125
+ $( el ).wpColorPicker( {
1126
+ change: function( e, ui ) {
1127
+ var $this = $( this );
1128
+
1129
+ self.model.set( $this.attr( 'data-attribute' ), ui.color.toString() );
1130
+
1131
+ if (happyForms.previewLoaded) {
1132
+ api.previewer.trigger( 'happyforms-style-update', self.model );
1133
+ }
1134
+ }
1135
+ } );
1136
+
1137
+ var $wpPickerContainer = $( el ).parent().parent();
1138
+
1139
+ $wpPickerContainer.find( '.wp-picker-clear' ).on( 'click', function() {
1140
+ var attribute = $( el ).attr( 'data-attribute' );
1141
+ var value = $( el ).attr( 'data-default' );
1142
+
1143
+ self.model.set( attribute, value );
1144
+
1145
+ if (happyForms.previewLoaded) {
1146
+ api.previewer.trigger( 'happyforms-style-update', self.model );
1147
+ }
1148
+ } );
1149
+ } );
1150
+ },
1151
+
1152
+ initUISliders: function() {
1153
+ var self = this;
1154
+ var $container = this.$el.find( '.happyforms-range-control' );
1155
+
1156
+ $container.each( function( el, index ) {
1157
+ var $this = $( this );
1158
+ var $slider = $( '.happyforms-range-slider', $this );
1159
+ var $sliderInput = $( 'input', $this );
1160
+
1161
+ var min = parseFloat( $sliderInput.attr( 'min' ) );
1162
+ var max = parseFloat( $sliderInput.attr( 'max' ) );
1163
+ var step = parseFloat( $sliderInput.attr( 'step' ) );
1164
+ var value = parseFloat( $sliderInput.val() );
1165
+
1166
+ $slider.slider( {
1167
+ value: value,
1168
+ min: min,
1169
+ max: max,
1170
+ step: step,
1171
+
1172
+ stop: function( e, ui ) {
1173
+ $sliderInput.val( ui.value );
1174
+ self.model.set( $sliderInput.attr( 'data-attribute' ), ui.value );
1175
+
1176
+ if (happyForms.previewLoaded) {
1177
+ api.previewer.trigger( 'happyforms-style-update', self.model );
1178
+ }
1179
+ }
1180
+ } );
1181
+ } );
1182
+ },
1183
+
1184
+ onCheckboxChange: function( e ) {
1185
+ var $el = $( e.target );
1186
+ var value = $el.is(':checked') ? 1 : 0;
1187
+
1188
+ this.model.set( $el.attr('data-attribute'), value );
1189
+
1190
+ if (happyForms.previewLoaded) {
1191
+ api.previewer.trigger('happyforms-style-update', this.model);
1192
+ }
1193
+ },
1194
+
1195
+ onDisableButtonChange: function(e) {
1196
+ var $el = $(e.target);
1197
+ var value = $el.is(':checked') ? 1 : 0;
1198
+
1199
+ this.model.set($el.attr('data-attribute'), value);
1200
+
1201
+ if (happyForms.previewLoaded) {
1202
+ var eventData = {
1203
+ selector: '.happyforms-button--submit',
1204
+ attributes: {
1205
+ 'disabled': true
1206
+ }
1207
+ };
1208
+
1209
+ if (value === 0) {
1210
+ eventData.attributeMethod = 'remove';
1211
+ eventData.attributes = 'disabled';
1212
+ }
1213
+
1214
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
1215
+ }
1216
+ },
1217
+
1218
+ onRequiredTextChange: function( e ) {
1219
+ var $el = $(e.target);
1220
+ var value = $el.val();
1221
+ var eventData = {
1222
+ 'selector': '.happyforms-required',
1223
+ 'text': value
1224
+ };
1225
+
1226
+ this.model.set( $el.attr( 'data-attribute' ), value );
1227
+ api.previewer.trigger( 'happyforms-part-dom-update', eventData );
1228
+ },
1229
+
1230
+ onInputChange: function(e) {
1231
+ var $el = $(e.target);
1232
+ var value = $el.val();
1233
+
1234
+ this.model.set( $el.attr('data-attribute'), value );
1235
+
1236
+ if ( happyForms.previewLoaded ) {
1237
+ api.previewer.trigger('happyforms-style-update', this.model);
1238
+ }
1239
+ }
1240
+ } );
1241
+
1242
+ classes.views.FormDone = classes.views.Base.extend( {
1243
+ template: '#happyforms-form-done-template',
1244
+
1245
+ events: _.extend( {}, classes.views.Base.prototype.events, {
1246
+ 'click .happyforms-step-index': 'onStepIndexClick'
1247
+ } ),
1248
+
1249
+ render: function( options ) {
1250
+ this.setElement( this.template() );
1251
+ return this;
1252
+ },
1253
+
1254
+ onStepIndexClick: function( e ) {
1255
+ e.preventDefault();
1256
+
1257
+ happyForms.navigate( 'forms', -1 );
1258
+ },
1259
+ } );
1260
+
1261
+ happyForms = window.happyForms = new HappyForms( { form: _happyFormsSettings.form } );
1262
+ happyForms.classes = classes;
1263
+ happyForms.factory = PartFactory;
1264
+
1265
+ api.bind( 'ready', function() {
1266
+ Backbone.history.start();
1267
+ api.previewer.previewUrl( happyForms.form.getPreviewUrl() );
1268
+
1269
+ api.previewer.bind( 'happyforms-preview-ready', function() {
1270
+ happyForms.previewLoaded = true;
1271
+ happyForms.flushBuffer();
1272
+ } );
1273
+ } );
1274
+
1275
+ } ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
assets/js/frontend.js ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(function($) {
2
+ $('.happyforms-masked-input').each(function() {
3
+ var $this = $(this);
4
+ var maskType = $this.data('mask-type');
5
+
6
+ if (maskType === 'numeric') {
7
+ var cleave = new Cleave($this, {
8
+ numeral: true,
9
+ numeralDecimalMark: ($this.data('mask-decimal-mark')) ? $this.data('mask-decimal-mark') : '.',
10
+ delimiter: ($this.data('mask-thousands-delimiter')) ? $this.data('mask-thousands-delimiter') : ',',
11
+ prefix: ($this.data('mask-prefix')) ? $this.data('mask-prefix') : '',
12
+ });
13
+ }
14
+
15
+ if (maskType === 'phone') {
16
+ var cleave = new Cleave($this, {
17
+ phone: true
18
+ });
19
+
20
+ var phoneRegionCode;
21
+
22
+ if ($this.data('mask-phone-country')) {
23
+ phoneRegionCode = '+'+$this.data('mask-phone-country');
24
+
25
+ cleave.setPhoneRegionCode(phoneRegionCode);
26
+ $this.val(phoneRegionCode);
27
+ }
28
+
29
+ $this.on('keyup', function() {
30
+ if (!$this.val()) {
31
+ $this.val(phoneRegionCode);
32
+ }
33
+ });
34
+ }
35
+
36
+ if (maskType === 'date') {
37
+ var datePattern = $this.data('format').split('/');
38
+
39
+ for (var i = 0; i < datePattern.length; i++) {
40
+ datePattern[i] = datePattern[i].replace(/(.)(?=\1)/g, "");
41
+
42
+ if (datePattern[i] === 'y') {
43
+ datePattern[i] = 'Y';
44
+ }
45
+ }
46
+
47
+ var cleave = new Cleave($this, {
48
+ date: true,
49
+ datePattern: datePattern,
50
+ delimiter: '/'
51
+ });
52
+ }
53
+ });
54
+
55
+ $('.happyforms-datepicker').each(function() {
56
+ var $this = $(this);
57
+
58
+ $this.datepicker({
59
+ dateFormat: $this.data('format'),
60
+ changeYear: ($this.data('change-year') === 1),
61
+ changeMonth: ($this.data('change-month') === 1),
62
+ nextText: '>',
63
+ prevText: '<',
64
+ beforeShow: function() {
65
+ $('#ui-datepicker-div').addClass('happyforms-date-picker');
66
+ }
67
+ });
68
+ });
69
+
70
+ $('.happyforms-form').each(function() {
71
+ var $this = $(this);
72
+ var $submitButton = $this.find('.happyforms-button--submit');
73
+
74
+ if ($submitButton.is(':disabled')) {
75
+ $this.find('*[required]').on('keyup change', function() {
76
+ var valid = true;
77
+
78
+ $this.find('*[required]').each(function() {
79
+ if (!$(this).val()) {
80
+ valid = false;
81
+ }
82
+ });
83
+
84
+ if (valid) {
85
+ $submitButton.removeAttr('disabled');
86
+ } else {
87
+ $submitButton.attr('disabled', 'disabled');
88
+ }
89
+ });
90
+ }
91
+ });
92
+
93
+ $('.happyforms-part').each(function() {
94
+ var $this = $(this);
95
+ if ($this.find('input[type=checkbox][required]')) {
96
+ $this.find('input[type=checkbox]').on('change', function(e) {
97
+ if ($(this).is(':checked')) {
98
+ $this.find('input[type=checkbox]').removeAttr('required');
99
+ $(this).attr('required', 'required');
100
+ }
101
+ });
102
+ }
103
+ });
104
+
105
+ $('.happyforms-confirmation-input').on('keyup', function() {
106
+ var $this = $(this);
107
+ var $validatedInput = $('[name='+ $this.data('confirmation-of') + ']');
108
+
109
+ $validatedInput.on('keyup', function() {
110
+ if ($(this).val() !== $this.val()) {
111
+ $this.parent().find('.happyforms-message-notices').show();
112
+ } else {
113
+ $this.parent().find('.happyforms-message-notices').hide();
114
+ }
115
+ });
116
+
117
+ if ($validatedInput.val() !== $this.val()) {
118
+ $this.parent().find('.happyforms-message-notices').show();
119
+ } else {
120
+ $this.parent().find('.happyforms-message-notices').hide();
121
+ }
122
+ });
123
+ });
assets/js/happyforms.js ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $ ) {
2
+ $( '#automatic-updates input[type="submit"]' ).click( function( e ) {
3
+ e.preventDefault();
4
+
5
+ var $form = $( '#automatic-updates' );
6
+ $( '[name="_wpnonce"]' ).remove();
7
+ $( '[name="automatic-updates-nonce"]' ).attr( 'name', '_wpnonce' );
8
+ $form.submit();
9
+ } );
10
+
11
+ $( '.notice:not(.one-time)' ).on( 'click', '.notice-dismiss', function( e ) {
12
+ e.preventDefault();
13
+
14
+ var $target = $( e.target );
15
+ var $parent = $target.parents( '.notice' ).first();
16
+ var id = $parent.attr( 'id' ).replace( 'happyforms-notice-', '' );
17
+ var nonce = $parent.data( 'nonce' );
18
+
19
+ $.post( ajaxurl, {
20
+ action: 'happyforms_hide_notice',
21
+ nid: id,
22
+ nonce: nonce
23
+ }
24
+ );
25
+ });
26
+ } )( jQuery );
assets/js/lib/cleave-phone.i18n.js ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ !function(){function l(l,n){var u=l.split("."),d=Z;u[0]in d||!d.execScript||d.execScript("var "+u[0]);for(var A;u.length&&(A=u.shift());)u.length||void 0===n?d=d[A]?d[A]:d[A]={}:d[A]=n}function n(l,n){function u(){}u.prototype=n.prototype,l.M=n.prototype,l.prototype=new u,l.prototype.constructor=l,l.N=function(l,u,d){for(var A=Array(arguments.length-2),N=2;N<arguments.length;N++)A[N-2]=arguments[N];return n.prototype[u].apply(l,A)}}function u(l,n){null!=l&&this.a.apply(this,arguments)}function d(l){l.b=""}function A(l,n){l.sort(n||N)}function N(l,n){return l>n?1:n>l?-1:0}function $(l){var n,u=[],d=0;for(n in l)u[d++]=l[n];return u}function t(l,n){this.b=l,this.a={};for(var u=0;u<n.length;u++){var d=n[u];this.a[d.b]=d}}function e(l){return l=$(l.a),A(l,function(l,n){return l.b-n.b}),l}function r(l,n){switch(this.b=l,this.g=!!n.G,this.a=n.c,this.j=n.type,this.h=!1,this.a){case Y:case w:case x:case J:case Q:case W:case V:this.h=!0}this.f=n.defaultValue}function i(){this.a={},this.f=this.i().a,this.b=this.g=null}function a(l,n){for(var u=e(l.i()),d=0;d<u.length;d++){var A=u[d],N=A.b;if(null!=n.a[N]){l.b&&delete l.b[A.b];var $=11==A.a||10==A.a;if(A.g)for(var A=o(n,N)||[],t=0;t<A.length;t++){var r=l,i=N,C=$?A[t].clone():A[t];r.a[i]||(r.a[i]=[]),r.a[i].push(C),r.b&&delete r.b[i]}else A=o(n,N),$?($=o(l,N))?a($,A):p(l,N,A.clone()):p(l,N,A)}}}function o(l,n){var u=l.a[n];if(null==u)return null;if(l.g){if(!(n in l.b)){var d=l.g,A=l.f[n];if(null!=u)if(A.g){for(var N=[],$=0;$<u.length;$++)N[$]=d.b(A,u[$]);u=N}else u=d.b(A,u);return l.b[n]=u}return l.b[n]}return u}function C(l,n,u){var d=o(l,n);return l.f[n].g?d[u||0]:d}function s(l,n){var u;if(null!=l.a[n])u=C(l,n,void 0);else l:{if(u=l.f[n],void 0===u.f){var d=u.j;if(d===Boolean)u.f=!1;else if(d===Number)u.f=0;else{if(d!==String){u=new d;break l}u.f=u.h?"0":""}}u=u.f}return u}function f(l,n){return l.f[n].g?null!=l.a[n]?l.a[n].length:0:null!=l.a[n]?1:0}function p(l,n,u){l.a[n]=u,l.b&&(l.b[n]=u)}function c(l,n){var u,d=[];for(u in n)0!=u&&d.push(new r(u,n[u]));return new t(l,d)}/*
2
+
3
+ Protocol Buffer 2 Copyright 2008 Google Inc.
4
+ All other code copyright its respective owners.
5
+ Copyright (C) 2010 The Libphonenumber Authors
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ */
19
+ function h(){i.call(this)}function g(){i.call(this)}function S(){i.call(this)}function M(){}function b(){}function m(){}/*
20
+
21
+ Copyright (C) 2010 The Libphonenumber Authors.
22
+
23
+ Licensed under the Apache License, Version 2.0 (the "License");
24
+ you may not use this file except in compliance with the License.
25
+ You may obtain a copy of the License at
26
+
27
+ http://www.apache.org/licenses/LICENSE-2.0
28
+
29
+ Unless required by applicable law or agreed to in writing, software
30
+ distributed under the License is distributed on an "AS IS" BASIS,
31
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32
+ See the License for the specific language governing permissions and
33
+ limitations under the License.
34
+ */
35
+ function G(){this.a={}}function T(l,n){if(null==n)return null;n=n.toUpperCase();var u=l.a[n];if(null==u){if(u=ll[n],null==u)return null;u=(new m).a(S.i(),u),l.a[n]=u}return u}function y(l){return l=z[l],null==l?"ZZ":l[0]}function B(l){this.H=RegExp(" "),this.B="",this.m=new u,this.v="",this.h=new u,this.u=new u,this.j=!0,this.w=this.o=this.D=!1,this.F=G.b(),this.s=0,this.b=new u,this.A=!1,this.l="",this.a=new u,this.f=[],this.C=l,this.J=this.g=E(this,this.C)}function E(l,n){var u;if(null!=n&&isNaN(n)&&n.toUpperCase()in ll){if(u=T(l.F,n),null==u)throw"Invalid region code: "+n;u=s(u,10)}else u=0;return u=T(l.F,y(u)),null!=u?u:Nl}function v(l){for(var n=l.f.length,u=0;n>u;++u){var A=l.f[u],N=s(A,1);if(l.v==N)return!1;var $;$=l;var t=A,e=s(t,1);if(-1!=e.indexOf("|"))$=!1;else{e=e.replace($l,"\\d"),e=e.replace(tl,"\\d"),d($.m);var r;r=$;var t=s(t,2),i="999999999999999".match(e)[0];i.length<r.a.b.length?r="":(r=i.replace(new RegExp(e,"g"),t),r=r.replace(RegExp("9","g")," ")),0<r.length?($.m.a(r),$=!0):$=!1}if($)return l.v=N,l.A=rl.test(C(A,4)),l.s=0,!0}return l.j=!1}function R(l,n){for(var u=[],d=n.length-3,A=l.f.length,N=0;A>N;++N){var $=l.f[N];0==f($,3)?u.push(l.f[N]):($=C($,3,Math.min(d,f($,3)-1)),0==n.search($)&&u.push(l.f[N]))}l.f=u}function I(l,n){l.h.a(n);var u=n;if(dl.test(u)||1==l.h.b.length&&ul.test(u)){var A,u=n;"+"==u?(A=u,l.u.a(u)):(A=nl[u],l.u.a(A),l.a.a(A)),n=A}else l.j=!1,l.D=!0;if(!l.j){if(!l.D)if(H(l)){if(U(l))return L(l)}else if(0<l.l.length&&(u=l.a.toString(),d(l.a),l.a.a(l.l),l.a.a(u),u=l.b.toString(),A=u.lastIndexOf(l.l),d(l.b),l.b.a(u.substring(0,A))),l.l!=D(l))return l.b.a(" "),L(l);return l.h.toString()}switch(l.u.b.length){case 0:case 1:case 2:return l.h.toString();case 3:if(!H(l))return l.l=D(l),P(l);l.w=!0;default:return l.w?(U(l)&&(l.w=!1),l.b.toString()+l.a.toString()):0<l.f.length?(u=O(l,n),A=K(l),0<A.length?A:(R(l,l.a.toString()),v(l)?F(l):l.j?_(l,u):l.h.toString())):P(l)}}function L(l){return l.j=!0,l.w=!1,l.f=[],l.s=0,d(l.m),l.v="",P(l)}function K(l){for(var n=l.a.toString(),u=l.f.length,d=0;u>d;++d){var A=l.f[d],N=s(A,1);if(new RegExp("^(?:"+N+")$").test(n))return l.A=rl.test(C(A,4)),n=n.replace(new RegExp(N,"g"),C(A,2)),_(l,n)}return""}function _(l,n){var u=l.b.b.length;return l.A&&u>0&&" "!=l.b.toString().charAt(u-1)?l.b+" "+n:l.b+n}function P(l){var n=l.a.toString();if(3<=n.length){for(var u=l.o&&0<f(l.g,20)?o(l.g,20)||[]:o(l.g,19)||[],d=u.length,A=0;d>A;++A){var N,$=u[A];(N=null==l.g.a[12]||l.o||C($,6))||(N=s($,4),N=0==N.length||Al.test(N)),N&&el.test(s($,2))&&l.f.push($)}return R(l,n),n=K(l),0<n.length?n:v(l)?F(l):l.h.toString()}return _(l,n)}function F(l){var n=l.a.toString(),u=n.length;if(u>0){for(var d="",A=0;u>A;A++)d=O(l,n.charAt(A));return l.j?_(l,d):l.h.toString()}return l.b.toString()}function D(l){var n,u=l.a.toString(),A=0;return 1!=C(l.g,10)?n=!1:(n=l.a.toString(),n="1"==n.charAt(0)&&"0"!=n.charAt(1)&&"1"!=n.charAt(1)),n?(A=1,l.b.a("1").a(" "),l.o=!0):null!=l.g.a[15]&&(n=new RegExp("^(?:"+C(l.g,15)+")"),n=u.match(n),null!=n&&null!=n[0]&&0<n[0].length&&(l.o=!0,A=n[0].length,l.b.a(u.substring(0,A)))),d(l.a),l.a.a(u.substring(A)),u.substring(0,A)}function H(l){var n=l.u.toString(),u=new RegExp("^(?:\\+|"+C(l.g,11)+")"),u=n.match(u);return null!=u&&null!=u[0]&&0<u[0].length?(l.o=!0,u=u[0].length,d(l.a),l.a.a(n.substring(u)),d(l.b),l.b.a(n.substring(0,u)),"+"!=n.charAt(0)&&l.b.a(" "),!0):!1}function U(l){if(0==l.a.b.length)return!1;var n,A=new u;l:{if(n=l.a.toString(),0!=n.length&&"0"!=n.charAt(0))for(var N,$=n.length,t=1;3>=t&&$>=t;++t)if(N=parseInt(n.substring(0,t),10),N in z){A.a(n.substring(t)),n=N;break l}n=0}return 0==n?!1:(d(l.a),l.a.a(A.toString()),A=y(n),"001"==A?l.g=T(l.F,""+n):A!=l.C&&(l.g=E(l,A)),l.b.a(""+n).a(" "),l.l="",!0)}function O(l,n){var u=l.m.toString();if(0<=u.substring(l.s).search(l.H)){var A=u.search(l.H),u=u.replace(l.H,n);return d(l.m),l.m.a(u),l.s=A,u.substring(0,l.s+1)}return 1==l.f.length&&(l.j=!1),l.v="",l.h.toString()}var Z=this;u.prototype.b="",u.prototype.set=function(l){this.b=""+l},u.prototype.a=function(l,n,u){if(this.b+=String(l),null!=n)for(var d=1;d<arguments.length;d++)this.b+=arguments[d];return this},u.prototype.toString=function(){return this.b};var V=1,W=2,Y=3,w=4,x=6,J=16,Q=18;i.prototype.set=function(l,n){p(this,l.b,n)},i.prototype.clone=function(){var l=new this.constructor;return l!=this&&(l.a={},l.b&&(l.b={}),a(l,this)),l};var j;n(h,i);var X;n(g,i);var q;n(S,i),h.prototype.i=function(){return j||(j=c(h,{0:{name:"NumberFormat",I:"i18n.phonenumbers.NumberFormat"},1:{name:"pattern",required:!0,c:9,type:String},2:{name:"format",required:!0,c:9,type:String},3:{name:"leading_digits_pattern",G:!0,c:9,type:String},4:{name:"national_prefix_formatting_rule",c:9,type:String},6:{name:"national_prefix_optional_when_formatting",c:8,type:Boolean},5:{name:"domestic_carrier_code_formatting_rule",c:9,type:String}})),j},h.ctor=h,h.ctor.i=h.prototype.i,g.prototype.i=function(){return X||(X=c(g,{0:{name:"PhoneNumberDesc",I:"i18n.phonenumbers.PhoneNumberDesc"},2:{name:"national_number_pattern",c:9,type:String},3:{name:"possible_number_pattern",c:9,type:String},6:{name:"example_number",c:9,type:String},7:{name:"national_number_matcher_data",c:12,type:String},8:{name:"possible_number_matcher_data",c:12,type:String}})),X},g.ctor=g,g.ctor.i=g.prototype.i,S.prototype.i=function(){return q||(q=c(S,{0:{name:"PhoneMetadata",I:"i18n.phonenumbers.PhoneMetadata"},1:{name:"general_desc",c:11,type:g},2:{name:"fixed_line",c:11,type:g},3:{name:"mobile",c:11,type:g},4:{name:"toll_free",c:11,type:g},5:{name:"premium_rate",c:11,type:g},6:{name:"shared_cost",c:11,type:g},7:{name:"personal_number",c:11,type:g},8:{name:"voip",c:11,type:g},21:{name:"pager",c:11,type:g},25:{name:"uan",c:11,type:g},27:{name:"emergency",c:11,type:g},28:{name:"voicemail",c:11,type:g},24:{name:"no_international_dialling",c:11,type:g},9:{name:"id",required:!0,c:9,type:String},10:{name:"country_code",c:5,type:Number},11:{name:"international_prefix",c:9,type:String},17:{name:"preferred_international_prefix",c:9,type:String},12:{name:"national_prefix",c:9,type:String},13:{name:"preferred_extn_prefix",c:9,type:String},15:{name:"national_prefix_for_parsing",c:9,type:String},16:{name:"national_prefix_transform_rule",c:9,type:String},18:{name:"same_mobile_and_fixed_line_pattern",c:8,defaultValue:!1,type:Boolean},19:{name:"number_format",G:!0,c:11,type:h},20:{name:"intl_number_format",G:!0,c:11,type:h},22:{name:"main_country_for_code",c:8,defaultValue:!1,type:Boolean},23:{name:"leading_digits",c:9,type:String},26:{name:"leading_zero_possible",c:8,defaultValue:!1,type:Boolean}})),q},S.ctor=S,S.ctor.i=S.prototype.i,M.prototype.a=function(l){throw new l.b,Error("Unimplemented")},M.prototype.b=function(l,n){if(11==l.a||10==l.a)return n instanceof i?n:this.a(l.j.prototype.i(),n);if(14==l.a){if("string"==typeof n&&k.test(n)){var u=Number(n);if(u>0)return u}return n}if(!l.h)return n;if(u=l.j,u===String){if("number"==typeof n)return String(n)}else if(u===Number&&"string"==typeof n&&("Infinity"===n||"-Infinity"===n||"NaN"===n||k.test(n)))return Number(n);return n};var k=/^-?[0-9]+$/;n(b,M),b.prototype.a=function(l,n){var u=new l.b;return u.g=this,u.a=n,u.b={},u},n(m,b),m.prototype.b=function(l,n){return 8==l.a?!!n:M.prototype.b.apply(this,arguments)},m.prototype.a=function(l,n){return m.M.a.call(this,l,n)};/*
36
+
37
+ Copyright (C) 2010 The Libphonenumber Authors
38
+
39
+ Licensed under the Apache License, Version 2.0 (the "License");
40
+ you may not use this file except in compliance with the License.
41
+ You may obtain a copy of the License at
42
+
43
+ http://www.apache.org/licenses/LICENSE-2.0
44
+
45
+ Unless required by applicable law or agreed to in writing, software
46
+ distributed under the License is distributed on an "AS IS" BASIS,
47
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
48
+ See the License for the specific language governing permissions and
49
+ limitations under the License.
50
+ */
51
+ var z={1:"US AG AI AS BB BM BS CA DM DO GD GU JM KN KY LC MP MS PR SX TC TT VC VG VI".split(" "),7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],800:["001"],808:["001"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],870:["001"],878:["001"],880:["BD"],881:["001"],882:["001"],883:["001"],886:["TW"],888:["001"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],979:["001"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},ll={800:[null,[null,null,"\\d{8}","\\d{8}",null,null,"12345678"],[null,null,"NA","NA",null,null,"12345678"],[null,null,"NA","NA",null,null,"12345678"],[null,null,"\\d{8}","\\d{8}",null,null,"12345678"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"001",800,null,null,null,null,null,null,null,1,[[null,"(\\d{4})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],808:[null,[null,null,"\\d{8}","\\d{8}",null,null,"12345678"],[null,null,"NA","NA",null,null,"12345678"],[null,null,"NA","NA",null,null,"12345678"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"\\d{8}","\\d{8}",null,null,"12345678"],[null,null,"NA","NA"],[null,null,"NA","NA"],"001",808,null,null,null,null,null,null,null,1,[[null,"(\\d{4})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],870:[null,[null,null,"[35-7]\\d{8}","\\d{9}",null,null,"301234567"],[null,null,"NA","NA",null,null,"301234567"],[null,null,"(?:[356]\\d|7[6-8])\\d{7}","\\d{9}",null,null,"301234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"001",870,null,null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],878:[null,[null,null,"1\\d{11}","\\d{12}",null,null,"101234567890"],[null,null,"NA","NA",null,null,"101234567890"],[null,null,"NA","NA",null,null,"101234567890"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"10\\d{10}","\\d{12}",null,null,"101234567890"],"001",878,null,null,null,null,null,null,null,1,[[null,"(\\d{2})(\\d{5})(\\d{5})","$1 $2 $3"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],881:[null,[null,null,"[67]\\d{8}","\\d{9}",null,null,"612345678"],[null,null,"NA","NA",null,null,"612345678"],[null,null,"[67]\\d{8}","\\d{9}",null,null,"612345678"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"001",881,null,null,null,null,null,null,null,null,[[null,"(\\d)(\\d{3})(\\d{5})","$1 $2 $3",["[67]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],882:[null,[null,null,"[13]\\d{6,11}","\\d{7,12}",null,null,"3451234567"],[null,null,"NA","NA",null,null,"3451234567"],[null,null,"3(?:2\\d{3}|37\\d{2}|4(?:2|7\\d{3}))\\d{4}","\\d{7,10}",null,null,"3451234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15678]|9[0689])\\d{4}|6\\d{5,10})|345\\d{7}","\\d{7,12}",null,null,"3451234567"],"001",882,null,null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{4})(\\d{3})","$1 $2 $3",["3[23]"]],[null,"(\\d{2})(\\d{5})","$1 $2",["16|342"]],[null,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["34[57]"]],[null,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["348"]],[null,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["1"]],[null,"(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["16"]],[null,"(\\d{2})(\\d{4,5})(\\d{5})","$1 $2 $3",["16"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"348[57]\\d{7}","\\d{11}",null,null,"3451234567"]],883:[null,[null,null,"51\\d{7}(?:\\d{3})?","\\d{9}(?:\\d{3})?",null,null,"510012345"],[null,null,"NA","NA",null,null,"510012345"],[null,null,"NA","NA",null,null,"510012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"51(?:00\\d{5}(?:\\d{3})?|[13]0\\d{8})","\\d{9}(?:\\d{3})?",null,null,"510012345"],"001",883,null,null,null,null,null,null,null,1,[[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["510"]],[null,"(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["510"]],[null,"(\\d{4})(\\d{4})(\\d{4})","$1 $2 $3",["51[13]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],888:[null,[null,null,"\\d{11}","\\d{11}",null,null,"12345678901"],[null,null,"NA","NA",null,null,"12345678901"],[null,null,"NA","NA",null,null,"12345678901"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"001",888,null,null,null,null,null,null,null,1,[[null,"(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"\\d{11}","\\d{11}",null,null,"12345678901"],1,null,[null,null,"NA","NA"]],979:[null,[null,null,"\\d{9}","\\d{9}",null,null,"123456789"],[null,null,"NA","NA",null,null,"123456789"],[null,null,"NA","NA",null,null,"123456789"],[null,null,"NA","NA"],[null,null,"\\d{9}","\\d{9}",null,null,"123456789"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"001",979,null,null,null,null,null,null,null,1,[[null,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],AC:[null,[null,null,"[46]\\d{4}|[01589]\\d{5}","\\d{5,6}"],[null,null,"6[2-467]\\d{3}","\\d{5}",null,null,"62889"],[null,null,"4\\d{4}","\\d{5}",null,null,"40123"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"AC",247,"00",null,null,null,null,null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"[01589]\\d{5}","\\d{6}",null,null,"542011"],null,null,[null,null,"NA","NA"]],AD:[null,[null,null,"(?:[346-9]|180)\\d{5}","\\d{6,8}"],[null,null,"[78]\\d{5}","\\d{6}",null,null,"712345"],[null,null,"[346]\\d{5}","\\d{6}",null,null,"312345"],[null,null,"180[02]\\d{4}","\\d{8}",null,null,"18001234"],[null,null,"9\\d{5}","\\d{6}",null,null,"912345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"AD",376,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{3})","$1 $2",["[346-9]"]],[null,"(180[02])(\\d{4})","$1 $2",["1"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],AE:[null,[null,null,"[2-79]\\d{7,8}|800\\d{2,9}","\\d{5,12}"],[null,null,"[2-4679][2-8]\\d{6}","\\d{7,8}",null,null,"22345678"],[null,null,"5[0256]\\d{7}","\\d{9}",null,null,"501234567"],[null,null,"400\\d{6}|800\\d{2,9}","\\d{5,12}",null,null,"800123456"],[null,null,"900[02]\\d{5}","\\d{9}",null,null,"900234567"],[null,null,"700[05]\\d{5}","\\d{9}",null,null,"700012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],"AE",971,"00","0",null,null,"0",null,null,null,[[null,"([2-4679])(\\d{3})(\\d{4})","$1 $2 $3",["[2-4679][2-8]"],"0$1"],[null,"(5[0256])(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],[null,"([479]00)(\\d)(\\d{5})","$1 $2 $3",["[479]0"],"$1"],[null,"([68]00)(\\d{2,9})","$1 $2",["60|8"],"$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"600[25]\\d{5}","\\d{9}",null,null,"600212345"],null,null,[null,null,"NA","NA"]],AF:[null,[null,null,"[2-7]\\d{8}","\\d{7,9}"],[null,null,"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}","\\d{7,9}",null,null,"234567890"],[null,null,"7(?:[014-9]\\d{7}|2[89]\\d{6})","\\d{9}",null,null,"701234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"AF",93,"00","0",null,null,"0",null,null,null,[[null,"([2-7]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],AG:[null,[null,null,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}","\\d{7}(?:\\d{3})?",null,null,"2684601234"],[null,null,"268(?:464|7(?:2[0-9]|64|7[0-689]|8[02-68]))\\d{4}","\\d{10}",null,null,"2684641234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"26848[01]\\d{4}","\\d{10}",null,null,"2684801234"],"AG",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"26840[69]\\d{4}","\\d{10}",null,null,"2684061234"],null,"268",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],AI:[null,[null,null,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"2644(?:6[12]|9[78])\\d{4}","\\d{7}(?:\\d{3})?",null,null,"2644612345"],[null,null,"264(?:235|476|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}","\\d{10}",null,null,"2642351234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"AI",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"264",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],AL:[null,[null,null,"[2-57]\\d{7}|6\\d{8}|8\\d{5,7}|9\\d{5}","\\d{5,9}"],[null,null,"(?:2(?:[168][1-9]|[247]\\d|9[1-7])|3(?:1[1-3]|[2-6]\\d|[79][1-8]|8[1-9])|4\\d{2}|5(?:1[1-4]|[2-578]\\d|6[1-5]|9[1-7])|8(?:[19][1-5]|[2-6]\\d|[78][1-7]))\\d{5}","\\d{5,8}",null,null,"22345678"],[null,null,"6[6-9]\\d{7}","\\d{9}",null,null,"661234567"],[null,null,"800\\d{4}","\\d{7}",null,null,"8001234"],[null,null,"900\\d{3}","\\d{6}",null,null,"900123"],[null,null,"808\\d{3}","\\d{6}",null,null,"808123"],[null,null,"700\\d{5}","\\d{8}",null,null,"70012345"],[null,null,"NA","NA"],"AL",355,"00","0",null,null,"0",null,null,null,[[null,"(4)(\\d{3})(\\d{4})","$1 $2 $3",["4[0-6]"],"0$1"],[null,"(6[6-9])(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4[7-9]"],"0$1"],[null,"(\\d{3})(\\d{3,5})","$1 $2",["[235][16-9]|8[016-9]|[79]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],AM:[null,[null,null,"[1-9]\\d{7}","\\d{5,8}"],[null,null,"(?:1[01]\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2|47\\d)\\d{5}","\\d{5,8}",null,null,"10123456"],[null,null,"(?:4[139]|55|77|9[1-9])\\d{6}","\\d{8}",null,null,"77123456"],[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"90[016]\\d{5}","\\d{8}",null,null,"90012345"],[null,null,"80[1-4]\\d{5}","\\d{8}",null,null,"80112345"],[null,null,"NA","NA"],[null,null,"60[2-6]\\d{5}","\\d{8}",null,null,"60271234"],"AM",374,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],[null,"(\\d{2})(\\d{6})","$1 $2",["4[139]|[5-7]|9[1-9]"],"0$1"],[null,"(\\d{3})(\\d{5})","$1 $2",["[23]"],"(0$1)"],[null,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["8|90"],"0 $1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],AO:[null,[null,null,"[29]\\d{8}","\\d{9}"],[null,null,"2\\d(?:[26-9]\\d|\\d[26-9])\\d{5}","\\d{9}",null,null,"222123456"],[null,null,"9[1-49]\\d{7}","\\d{9}",null,null,"923123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"AO",244,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],AR:[null,[null,null,"11\\d{8}|[2368]\\d{9}|9\\d{10}","\\d{6,11}"],[null,null,"11\\d{8}|(?:2(?:2(?:[013]\\d|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[067]\\d)|4(?:7[3-8]|9\\d)|6(?:[01346]\\d|2[24-6]|5[15-8])|80\\d|9(?:[0124789]\\d|3[1-6]|5[234]|6[2-46]))|3(?:3(?:2[79]|6\\d|8[2578])|4(?:[78]\\d|0[0124-9]|[1-35]\\d|4[24-7]|6[02-9]|9[123678])|5(?:[138]\\d|2[1245]|4[1-9]|6[2-4]|7[1-6])|6[24]\\d|7(?:[0469]\\d|1[1568]|2[013-9]|3[145]|5[14-8]|7[2-57]|8[0-24-9])|8(?:[013578]\\d|2[15-7]|4[13-6]|6[1-357-9]|9[124]))|670\\d)\\d{6}","\\d{6,10}",null,null,"1123456789"],[null,null,"675\\d{7}|9(?:11[2-9]\\d{7}|(?:2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[12358]|5[138]|6[24]|7[069]|8[013578]))[2-9]\\d{6}|\\d{4}[2-9]\\d{5})","\\d{6,11}",null,null,"91123456789"],[null,null,"800\\d{7}","\\d{10}",null,null,"8001234567"],[null,null,"60[04579]\\d{7}","\\d{10}",null,null,"6001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"AR",54,"00","0",null,null,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))?15)?","9$1",null,null,[[null,"([68]\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],[null,"(\\d{2})(\\d{4})","$1-$2",["[2-9]"],"$1"],[null,"(\\d{3})(\\d{4})","$1-$2",["[2-9]"],"$1"],[null,"(\\d{4})(\\d{4})","$1-$2",["[2-9]"],"$1"],[null,"(9)(11)(\\d{4})(\\d{4})","$2 15-$3-$4",["911"],"0$1"],[null,"(9)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9(?:2[234689]|3[3-8])","9(?:2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[1-358]|5[138]|6[24]|7[069]|8[013578]))","9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[456]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))","9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1239])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))"],"0$1"],[null,"(9)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9[23]"],"0$1"],[null,"(11)(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",null,1],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[1-358]|5[138]|6[24]|7[069]|8[013578])","2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[456]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45]))","2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1239])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45]))"],"0$1",null,1],[null,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["[23]"],"0$1",null,1],[null,"(\\d{3})","$1",["1[012]|911"],"$1"]],[[null,"([68]\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],[null,"(9)(11)(\\d{4})(\\d{4})","$1 $2 $3-$4",["911"]],[null,"(9)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3-$4",["9(?:2[234689]|3[3-8])","9(?:2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[1-358]|5[138]|6[24]|7[069]|8[013578]))","9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[456]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))","9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1239])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))"]],[null,"(9)(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3-$4",["9[23]"]],[null,"(11)(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",null,1],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[1-358]|5[138]|6[24]|7[069]|8[013578])","2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[456]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45]))","2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1239])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45]))"],"0$1",null,1],[null,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["[23]"],"0$1",null,1]],[null,null,"NA","NA"],null,null,[null,null,"810\\d{7}","\\d{10}",null,null,"8101234567"],[null,null,"810\\d{7}","\\d{10}",null,null,"8101234567"],null,null,[null,null,"NA","NA"]],AS:[null,[null,null,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"6846(?:22|33|44|55|77|88|9[19])\\d{4}","\\d{7}(?:\\d{3})?",null,null,"6846221234"],[null,null,"684(?:2(?:5[2468]|72)|7(?:3[13]|70))\\d{4}","\\d{10}",null,null,"6847331234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"AS",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"684",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],AT:[null,[null,null,"[1-9]\\d{3,12}","\\d{3,13}"],[null,null,"1\\d{3,12}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-8]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|63|7[1368]|8[2457])|5(?:12|2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[1-35-8]|5[468]|62)|7(?:2[1-8]|3[25]|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{3,10}","\\d{3,13}",null,null,"1234567890"],[null,null,"6(?:5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}","\\d{7,13}",null,null,"664123456"],[null,null,"800\\d{6,10}","\\d{9,13}",null,null,"800123456"],[null,null,"(?:9(?:0[01]|3[019]))\\d{6,10}","\\d{9,13}",null,null,"900123456"],[null,null,"8(?:10\\d|2(?:[01]\\d|8\\d?))\\d{5,9}","\\d{8,13}",null,null,"810123456"],[null,null,"NA","NA"],[null,null,"780\\d{6,10}","\\d{9,13}",null,null,"780123456"],"AT",43,"00","0",null,null,"0",null,null,null,[[null,"(116\\d{3})","$1",["116"],"$1"],[null,"(1)(\\d{3,12})","$1 $2",["1"],"0$1"],[null,"(5\\d)(\\d{3,5})","$1 $2",["5[079]"],"0$1"],[null,"(5\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["5[079]"],"0$1"],[null,"(5\\d)(\\d{4})(\\d{4,7})","$1 $2 $3",["5[079]"],"0$1"],[null,"(\\d{3})(\\d{3,10})","$1 $2",["316|46|51|732|6(?:5[0-3579]|[6-9])|7(?:[28]0)|[89]"],"0$1"],[null,"(\\d{4})(\\d{3,9})","$1 $2",["2|3(?:1[1-578]|[3-8])|4[2378]|5[2-6]|6(?:[12]|4[1-9]|5[468])|7(?:2[1-8]|35|4[1-8]|[5-79])"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"5(?:(?:0[1-9]|17)\\d{2,10}|[79]\\d{3,11})|720\\d{6,10}","\\d{5,13}",null,null,"50123"],null,null,[null,null,"NA","NA"]],AU:[null,[null,null,"[1-578]\\d{5,9}","\\d{6,10}"],[null,null,"[237]\\d{8}|8(?:[6-8]\\d{3}|9(?:[02-9]\\d{2}|1(?:[0-57-9]\\d|6[0135-9])))\\d{4}","\\d{8,9}",null,null,"212345678"],[null,null,"14(?:5\\d|71)\\d{5}|4(?:[0-3]\\d|4[47-9]|5[0-25-9]|6[6-9]|7[02-9]|8[147-9]|9[017-9])\\d{6}","\\d{9}",null,null,"412345678"],[null,null,"180(?:0\\d{3}|2)\\d{3}","\\d{7,10}",null,null,"1800123456"],[null,null,"19(?:0[0126]\\d|[679])\\d{5}","\\d{8,10}",null,null,"1900123456"],[null,null,"13(?:00\\d{3}|45[0-4]|\\d)\\d{3}","\\d{6,10}",null,null,"1300123456"],[null,null,"500\\d{6}","\\d{9}",null,null,"500123456"],[null,null,"550\\d{6}","\\d{9}",null,null,"550123456"],"AU",61,"(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]","0",null,null,"0",null,"0011",null,[[null,"([2378])(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[45]|14"],"0$1"],[null,"(16)(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],[null,"(1[389]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[38]0|90)","1(?:[38]00|90)"],"$1"],[null,"(180)(2\\d{3})","$1 $2",["180","1802"],"$1"],[null,"(19\\d)(\\d{3})","$1 $2",["19[13]"],"$1"],[null,"(19\\d{2})(\\d{4})","$1 $2",["19[679]"],"$1"],[null,"(13)(\\d{2})(\\d{2})","$1 $2 $3",["13[1-9]"],"$1"]],null,[null,null,"16\\d{3,7}","\\d{5,9}",null,null,"1612345"],1,null,[null,null,"1(?:3(?:00\\d{3}|45[0-4]|\\d)\\d{3}|80(?:0\\d{6}|2\\d{3}))","\\d{6,10}",null,null,"1300123456"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],AW:[null,[null,null,"[25-9]\\d{6}","\\d{7}"],[null,null,"5(?:2\\d|8[1-9])\\d{4}","\\d{7}",null,null,"5212345"],[null,null,"(?:5(?:6\\d|9[2-478])|6(?:[039]0|22|4[01]|6[0-2])|7[34]\\d|9(?:6[45]|9[4-8]))\\d{4}","\\d{7}",null,null,"5601234"],[null,null,"800\\d{4}","\\d{7}",null,null,"8001234"],[null,null,"900\\d{4}","\\d{7}",null,null,"9001234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"28\\d{5}|501\\d{4}","\\d{7}",null,null,"5011234"],"AW",297,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],AX:[null,[null,null,"[135]\\d{5,9}|[27]\\d{4,9}|4\\d{5,10}|6\\d{7,8}|8\\d{6,9}","\\d{5,12}"],[null,null,"18[1-8]\\d{3,9}","\\d{6,12}",null,null,"1812345678"],[null,null,"4\\d{5,10}|50\\d{4,8}","\\d{6,11}",null,null,"412345678"],[null,null,"800\\d{4,7}","\\d{7,10}",null,null,"8001234567"],[null,null,"[67]00\\d{5,6}","\\d{8,9}",null,null,"600123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"AX",358,"00|99[049]","0",null,null,"0",null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"[13]00\\d{3,7}|2(?:0(?:0\\d{3,7}|2[023]\\d{1,6}|9[89]\\d{1,6}))|60(?:[12]\\d{5,6}|6\\d{7})|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{2,7})","\\d{5,10}",null,null,"100123"],[null,null,"[13]0\\d{4,8}|2(?:0(?:[016-8]\\d{3,7}|[2-59]\\d{2,7})|9\\d{4,8})|60(?:[12]\\d{5,6}|6\\d{7})|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{2,7})","\\d{5,10}",null,null,"10112345"],null,null,[null,null,"NA","NA"]],AZ:[null,[null,null,"[1-9]\\d{8}","\\d{7,9}"],[null,null,"(?:1[28]\\d|2(?:02|1[24]|2[2-4]|33|[45]2|6[23])|365)\\d{6}","\\d{7,9}",null,null,"123123456"],[null,null,"(?:4[04]|5[015]|60|7[07])\\d{7}","\\d{9}",null,null,"401234567"],[null,null,"88\\d{7}","\\d{9}",null,null,"881234567"],[null,null,"900200\\d{3}","\\d{9}",null,null,"900200123"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"AZ",994,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["(?:1[28]|2(?:[45]2|[0-36])|365)"],"(0$1)"],[null,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[4-8]"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BA:[null,[null,null,"[3-9]\\d{7,8}","\\d{6,9}"],[null,null,"(?:[35]\\d|49)\\d{6}","\\d{6,8}",null,null,"30123456"],[null,null,"6(?:03|44|71|[1-356])\\d{6}","\\d{8,9}",null,null,"61123456"],[null,null,"8[08]\\d{6}","\\d{8}",null,null,"80123456"],[null,null,"9[0246]\\d{6}","\\d{8}",null,null,"90123456"],[null,null,"8[12]\\d{6}","\\d{8}",null,null,"82123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],"BA",387,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-356]|[7-9]"],"0$1"],[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6[047]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"70[23]\\d{5}","\\d{8}",null,null,"70223456"],null,null,[null,null,"NA","NA"]],BB:[null,[null,null,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7(?:37|57)|9(?:1[89]|63))\\d{4}","\\d{7}(?:\\d{3})?",null,null,"2464123456"],[null,null,"246(?:2(?:[356]\\d|4[0-57-9]|8[0-79])|45\\d|8(?:[2-5]\\d|83))\\d{4}","\\d{10}",null,null,"2462501234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900\\d{7}|246976\\d{4}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"24631\\d{5}","\\d{10}",null,null,"2463101234"],"BB",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"246",[null,null,"NA","NA"],[null,null,"246(?:292|41[7-9]|43[01])\\d{4}","\\d{10}",null,null,"2464301234"],null,null,[null,null,"NA","NA"]],BD:[null,[null,null,"[2-79]\\d{5,9}|1\\d{9}|8[0-7]\\d{4,8}","\\d{6,10}"],[null,null,"2(?:550\\d|7(?:1[0-267]|2[0-289]|3[0-29]|[46][01]|5[1-3]|7[017]|91)|8(?:0[125]|[139][1-6]|2[0157-9]|6[1-35]|7[1-5]|8[1-8]|90)|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0167]|7[15]|8[0146-8]))\\d{4}|3(?:12?[5-7]\\d{2}|0(?:2(?:[025-79]\\d|[348]\\d{1,2})|3(?:[2-4]\\d|[56]\\d?))|2(?:1\\d{2}|2(?:[12]\\d|[35]\\d{1,2}|4\\d?))|3(?:1\\d{2}|2(?:[2356]\\d|4\\d{1,2}))|4(?:1\\d{2}|2(?:2\\d{1,2}|[47]|5\\d{2}))|5(?:1\\d{2}|29)|[67]1\\d{2}|8(?:1\\d{2}|2(?:2\\d{2}|3|4\\d)))\\d{3}|4(?:0(?:2(?:[09]\\d|7)|33\\d{2})|1\\d{3}|2(?:1\\d{2}|2(?:[25]\\d?|[348]\\d|[67]\\d{1,2}))|3(?:1\\d{2}(?:\\d{2})?|2(?:[045]\\d|[236-9]\\d{1,2})|32\\d{2})|4(?:[18]\\d{2}|2(?:[2-46]\\d{2}|3)|5[25]\\d{2})|5(?:1\\d{2}|2(?:3\\d|5))|6(?:[18]\\d{2}|2(?:3(?:\\d{2})?|[46]\\d{1,2}|5\\d{2}|7\\d)|5(?:3\\d?|4\\d|[57]\\d{1,2}|6\\d{2}|8))|71\\d{2}|8(?:[18]\\d{2}|23\\d{2}|54\\d{2})|9(?:[18]\\d{2}|2[2-5]\\d{2}|53\\d{1,2}))\\d{3}|5(?:02[03489]\\d{2}|1\\d{2}|2(?:1\\d{2}|2(?:2(?:\\d{2})?|[457]\\d{2}))|3(?:1\\d{2}|2(?:[37](?:\\d{2})?|[569]\\d{2}))|4(?:1\\d{2}|2[46]\\d{2})|5(?:1\\d{2}|26\\d{1,2})|6(?:[18]\\d{2}|2|53\\d{2})|7(?:1|24)\\d{2}|8(?:1|26)\\d{2}|91\\d{2})\\d{3}|6(?:0(?:1\\d{2}|2(?:3\\d{2}|4\\d{1,2}))|2(?:2[2-5]\\d{2}|5(?:[3-5]\\d{2}|7)|8\\d{2})|3(?:1|2[3478])\\d{2}|4(?:1|2[34])\\d{2}|5(?:1|2[47])\\d{2}|6(?:[18]\\d{2}|6(?:2(?:2\\d|[34]\\d{2})|5(?:[24]\\d{2}|3\\d|5\\d{1,2})))|72[2-5]\\d{2}|8(?:1\\d{2}|2[2-5]\\d{2})|9(?:1\\d{2}|2[2-6]\\d{2}))\\d{3}|7(?:(?:02|[3-589]1|6[12]|72[24])\\d{2}|21\\d{3}|32)\\d{3}|8(?:(?:4[12]|[5-7]2|1\\d?)|(?:0|3[12]|[5-7]1|217)\\d)\\d{4}|9(?:[35]1|(?:[024]2|81)\\d|(?:1|[24]1)\\d{2})\\d{3}","\\d{6,9}",null,null,"27111234"],[null,null,"(?:1[13-9]\\d|(?:3[78]|44)[02-9]|6(?:44|6[02-9]))\\d{7}","\\d{10}",null,null,"1812345678"],[null,null,"80[03]\\d{7}","\\d{10}",null,null,"8001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"96(?:0[49]|1[0-4]|6[69])\\d{6}","\\d{10}",null,null,"9604123456"],"BD",880,"00[12]?","0",null,null,"0",null,"00",null,[[null,"(2)(\\d{7,8})","$1-$2",["2"],"0$1"],[null,"(\\d{2})(\\d{4,6})","$1-$2",["[3-79]1"],"0$1"],[null,"(\\d{4})(\\d{3,6})","$1-$2",["1|3(?:0|[2-58]2)|4(?:0|[25]2|3[23]|[4689][25])|5(?:[02-578]2|6[25])|6(?:[0347-9]2|[26][25])|7[02-9]2|8(?:[023][23]|[4-7]2)|9(?:[02][23]|[458]2|6[016])"],"0$1"],[null,"(\\d{3})(\\d{3,7})","$1-$2",["[3-79][2-9]|8"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BE:[null,[null,null,"[1-9]\\d{7,8}","\\d{8,9}"],[null,null,"(?:1[0-69]|[23][2-8]|4[23]|5\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\d{6}|80[2-8]\\d{5}","\\d{8}",null,null,"12345678"],[null,null,"4(?:6[0135-8]|[79]\\d|8[3-9])\\d{6}","\\d{9}",null,null,"470123456"],[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"(?:70[2-467]|90[0-79])\\d{5}","\\d{8}",null,null,"90123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"BE",32,"00","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4[6-9]"],"0$1"],[null,"(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[23]|4[23]|9[2-4]"],"0$1"],[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[156]|7[018]|8(?:0[1-9]|[1-79])"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"78\\d{6}","\\d{8}",null,null,"78123456"],null,null,[null,null,"NA","NA"]],BF:[null,[null,null,"[267]\\d{7}","\\d{8}"],[null,null,"2(?:0(?:49|5[23]|9[016-9])|4(?:4[569]|5[4-6]|7[0179])|5(?:[34]\\d|50))\\d{4}","\\d{8}",null,null,"20491234"],[null,null,"6(?:[0-689]\\d|7[0-5])\\d{5}|7\\d{7}","\\d{8}",null,null,"70123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"BF",226,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BG:[null,[null,null,"[23567]\\d{5,7}|[489]\\d{6,8}","\\d{5,9}"],[null,null,"2(?:[0-8]\\d{5,6}|9\\d{4,6})|(?:[36]\\d|5[1-9]|8[1-6]|9[1-7])\\d{5,6}|(?:4(?:[124-7]\\d|3[1-6])|7(?:0[1-9]|[1-9]\\d))\\d{4,5}","\\d{5,8}",null,null,"2123456"],[null,null,"(?:8[7-9]\\d|9(?:8\\d|99))\\d{6}|4(?:3[0789]|8\\d)\\d{5}","\\d{8,9}",null,null,"48123456"],[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"90\\d{6}","\\d{8}",null,null,"90123456"],[null,null,"NA","NA"],[null,null,"700\\d{5}","\\d{5,9}",null,null,"70012345"],[null,null,"NA","NA"],"BG",359,"00","0",null,null,"0",null,null,null,[[null,"(2)(\\d{5})","$1 $2",["29"],"0$1"],[null,"(2)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],[null,"(\\d{3})(\\d{4})","$1 $2",["43[124-7]|70[1-9]"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[124-7]|70[1-9]"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[78]00"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["999"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["48|8[7-9]|9[08]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BH:[null,[null,null,"[136-9]\\d{7}","\\d{8}"],[null,null,"(?:1(?:3[1356]|6[0156]|7\\d)\\d|6(?:1[16]\\d|500|6(?:0\\d|3[12]|44|7[7-9])|9[69][69])|7(?:1(?:11|78)|7\\d{2}))\\d{4}","\\d{8}",null,null,"17001234"],[null,null,"(?:3(?:[1-4679]\\d|5[013569]|8[0-47-9])\\d|6(?:3(?:00|33|6[16])|6(?:[69]\\d|3[03-9]|7[0-6])))\\d{4}","\\d{8}",null,null,"36001234"],[null,null,"80\\d{6}","\\d{8}",null,null,"80123456"],[null,null,"(?:87|9[014578])\\d{6}","\\d{8}",null,null,"90123456"],[null,null,"84\\d{6}","\\d{8}",null,null,"84123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],"BH",973,"00",null,null,null,null,null,null,null,[[null,"(\\d{4})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],
52
+ BI:[null,[null,null,"[267]\\d{7}","\\d{8}"],[null,null,"22\\d{6}","\\d{8}",null,null,"22201234"],[null,null,"(?:29|6[189]|7[124-9])\\d{6}","\\d{8}",null,null,"79561234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"BI",257,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BJ:[null,[null,null,"[2689]\\d{7}|7\\d{3}","\\d{4,8}"],[null,null,"2(?:02|1[037]|2[45]|3[68])\\d{5}","\\d{8}",null,null,"20211234"],[null,null,"(?:6[1-8]|9[03-9])\\d{6}","\\d{8}",null,null,"90011234"],[null,null,"7[3-5]\\d{2}","\\d{4}",null,null,"7312"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"857[58]\\d{4}","\\d{8}",null,null,"85751234"],"BJ",229,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"81\\d{6}","\\d{8}",null,null,"81123456"],null,null,[null,null,"NA","NA"]],BL:[null,[null,null,"[56]\\d{8}","\\d{9}"],[null,null,"590(?:2[7-9]|5[12]|87)\\d{4}","\\d{9}",null,null,"590271234"],[null,null,"690(?:0[0-7]|[1-9]\\d)\\d{4}","\\d{9}",null,null,"690301234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"BL",590,"00","0",null,null,"0",null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BM:[null,[null,null,"[4589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"441(?:2(?:02|23|61|[3479]\\d)|[46]\\d{2}|5(?:4\\d|60|89)|824)\\d{4}","\\d{7}(?:\\d{3})?",null,null,"4412345678"],[null,null,"441(?:[37]\\d|5[0-39])\\d{5}","\\d{10}",null,null,"4413701234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"BM",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"441",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BN:[null,[null,null,"[2-578]\\d{6}","\\d{7}"],[null,null,"2(?:[013-9]\\d|2[0-7])\\d{4}|[3-5]\\d{6}","\\d{7}",null,null,"2345678"],[null,null,"22[89]\\d{4}|[78]\\d{6}","\\d{7}",null,null,"7123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"BN",673,"00",null,null,null,null,null,null,null,[[null,"([2-578]\\d{2})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BO:[null,[null,null,"[23467]\\d{7}","\\d{7,8}"],[null,null,"(?:2(?:2\\d{2}|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d{2}|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:2\\d|3[234]|4[248]|5[24]|6[2-6]|7\\d))|4(?:4\\d{2}|6(?:11|[24689]\\d|72)))\\d{4}","\\d{7,8}",null,null,"22123456"],[null,null,"[67]\\d{7}","\\d{8}",null,null,"71234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"BO",591,"00(1\\d)?","0",null,null,"0(1\\d)?",null,null,null,[[null,"([234])(\\d{7})","$1 $2",["[234]"],null,"0$CC $1"],[null,"([67]\\d{7})","$1",["[67]"],null,"0$CC $1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BQ:[null,[null,null,"[347]\\d{6}","\\d{7}"],[null,null,"(?:318[023]|416[023]|7(?:1[578]|50)\\d)\\d{3}","\\d{7}",null,null,"7151234"],[null,null,"(?:318[14-68]|416[15-9]|7(?:0[01]|7[07]|[89]\\d)\\d)\\d{3}","\\d{7}",null,null,"3181234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"BQ",599,"00",null,null,null,null,null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BR:[null,[null,null,"[1-46-9]\\d{7,10}|5\\d{8,9}","\\d{8,11}"],[null,null,"(?:[14689][1-9]|2[12478]|3[1-578]|5[1-5]|7[13-579])[2-5]\\d{7}","\\d{8,11}",null,null,"1123456789"],[null,null,"1[1-9](?:7|9\\d)\\d{7}|(?:2[12478]|3[1-578]|[689][1-9]|7[13-579])(?:[6-8]|9\\d?)\\d{7}|(?:4[1-9]|5[1-5])[6-9]\\d{7}","\\d{10,11}",null,null,"11961234567"],[null,null,"800\\d{6,7}","\\d{8,11}",null,null,"800123456"],[null,null,"(?:300|[59]00\\d?)\\d{6}","\\d{8,11}",null,null,"300123456"],[null,null,"(?:300\\d(?:\\d{2})?|40(?:0\\d|20))\\d{4}","\\d{8,10}",null,null,"40041234"],[null,null,"NA","NA"],[null,null,"NA","NA"],"BR",55,"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","0",null,null,"0(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2",null,null,[[null,"(\\d{4})(\\d{4})","$1-$2",["[2-9](?:[1-9]|0[1-9])"],"$1"],[null,"(\\d{5})(\\d{4})","$1-$2",["9(?:[1-9]|0[1-9])"],"$1"],[null,"(\\d{3,5})","$1",["1[125689]"],"$1"],[null,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["(?:[1689][1-9]|2[12478]|3[1-578]|7[13-579])9"],"($1)","0 $CC ($1)"],[null,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["[1-9][1-9]"],"($1)","0 $CC ($1)"],[null,"(\\d{4})(\\d{4})","$1-$2",["(?:300|40(?:0|20))"]],[null,"([3589]00)(\\d{2,3})(\\d{4})","$1 $2 $3",["[3589]00"],"0$1"]],[[null,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["(?:[1689][1-9]|2[12478]|3[1-578]|7[13-579])9"],"($1)","0 $CC ($1)"],[null,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["[1-9][1-9]"],"($1)","0 $CC ($1)"],[null,"(\\d{4})(\\d{4})","$1-$2",["(?:300|40(?:0|20))"]],[null,"([3589]00)(\\d{2,3})(\\d{4})","$1 $2 $3",["[3589]00"],"0$1"]],[null,null,"NA","NA"],null,null,[null,null,"(?:300\\d|40(?:0\\d|20))\\d{4}","\\d{8}",null,null,"40041234"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BS:[null,[null,null,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:0[1-3]|12|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}","\\d{7}(?:\\d{3})?",null,null,"2423456789"],[null,null,"242(?:3(?:5[79]|[79]5)|4(?:[2-4][1-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[45]|3[35]|44|5[1-9]|65|77)|6[34]6|727)\\d{4}","\\d{10}",null,null,"2423591234"],[null,null,"242300\\d{4}|8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"BS",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"242",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BT:[null,[null,null,"[1-8]\\d{6,7}","\\d{6,8}"],[null,null,"(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}","\\d{6,7}",null,null,"2345678"],[null,null,"(?:1[67]|77)\\d{6}","\\d{8}",null,null,"17123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"BT",975,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1|77"]],[null,"([2-8])(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BW:[null,[null,null,"[2-79]\\d{6,7}","\\d{7,8}"],[null,null,"(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0235-9]|55|[69]\\d|7[01])|4(?:6[03]|7[1267]|9[0-5])|5(?:3[0389]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\d{4}","\\d{7}",null,null,"2401234"],[null,null,"7(?:[1-6]\\d|7[014-8])\\d{5}","\\d{8}",null,null,"71123456"],[null,null,"NA","NA"],[null,null,"90\\d{5}","\\d{7}",null,null,"9012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"79[12][01]\\d{4}","\\d{8}",null,null,"79101234"],"BW",267,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2",["[2-6]"]],[null,"(7\\d)(\\d{3})(\\d{3})","$1 $2 $3",["7"]],[null,"(90)(\\d{5})","$1 $2",["9"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BY:[null,[null,null,"[1-4]\\d{8}|800\\d{3,7}|[89]\\d{9,10}","\\d{6,11}"],[null,null,"(?:1(?:5(?:1[1-5]|[24]\\d|6[2-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d{2})|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:[26]\\d|3[02-79]|4[024-7]|5[03-7])))\\d{5}","\\d{6,11}",null,null,"152450911"],[null,null,"(?:2(?:5[5679]|9[1-9])|33\\d|44\\d)\\d{6}","\\d{9}",null,null,"294911911"],[null,null,"8(?:0[13]|20\\d)\\d{7}|800\\d{3,7}","\\d{6,11}",null,null,"8011234567"],[null,null,"(?:810|902)\\d{7}","\\d{10}",null,null,"9021234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"249\\d{6}","\\d{9}",null,null,"249123456"],"BY",375,"810","8",null,null,"8?0?",null,"8~10",null,[[null,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["17[0-3589]|2[4-9]|[34]","17(?:[02358]|1[0-2]|9[0189])|2[4-9]|[34]"],"8 0$1"],[null,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:5[24]|6[235]|7[467])|2(?:1[246]|2[25]|3[26])","1(?:5[24]|6(?:2|3[04-9]|5[0346-9])|7(?:[46]|7[37-9]))|2(?:1[246]|2[25]|3[26])"],"8 0$1"],[null,"(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],[null,"([89]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8[01]|9"],"8 $1"],[null,"(82\\d)(\\d{4})(\\d{4})","$1 $2 $3",["82"],"8 $1"],[null,"(800)(\\d{3})","$1 $2",["800"],"8 $1"],[null,"(800)(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"]],null,[null,null,"NA","NA"],null,null,[null,null,"8(?:[013]|[12]0)\\d{8}|800\\d{3,7}|902\\d{7}","\\d{6,11}",null,null,"82012345678"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],BZ:[null,[null,null,"[2-8]\\d{6}|0\\d{10}","\\d{7}(?:\\d{4})?"],[null,null,"[234578][02]\\d{5}","\\d{7}",null,null,"2221234"],[null,null,"6[0-35-7]\\d{5}","\\d{7}",null,null,"6221234"],[null,null,"0800\\d{7}","\\d{11}",null,null,"08001234123"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"BZ",501,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],[null,"(0)(800)(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],CA:[null,[null,null,"[2-9]\\d{9}|3\\d{6}","\\d{7}(?:\\d{3})?"],[null,null,"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:0[04]|13|22|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}|310\\d{4}","\\d{7}(?:\\d{3})?",null,null,"2042345678"],[null,null,"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:0[04]|13|22|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}","\\d{7}(?:\\d{3})?",null,null,"2042345678"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}|310\\d{4}","\\d{7}(?:\\d{3})?",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"CA",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CC:[null,[null,null,"[1458]\\d{5,9}","\\d{6,10}"],[null,null,"89162\\d{4}","\\d{8,9}",null,null,"891621234"],[null,null,"14(?:5\\d|71)\\d{5}|4(?:[0-2]\\d|3[0-57-9]|4[47-9]|5[0-25-9]|6[6-9]|7[02-9]|8[147-9]|9[017-9])\\d{6}","\\d{9}",null,null,"412345678"],[null,null,"180(?:0\\d{3}|2)\\d{3}","\\d{7,10}",null,null,"1800123456"],[null,null,"190[0126]\\d{6}","\\d{10}",null,null,"1900123456"],[null,null,"13(?:00\\d{2})?\\d{4}","\\d{6,10}",null,null,"1300123456"],[null,null,"500\\d{6}","\\d{9}",null,null,"500123456"],[null,null,"550\\d{6}","\\d{9}",null,null,"550123456"],"CC",61,"(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]","0",null,null,"0",null,"0011",null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CD:[null,[null,null,"[2-6]\\d{6}|[18]\\d{6,8}|9\\d{8}","\\d{7,9}"],[null,null,"1(?:2\\d{7}|\\d{6})|[2-6]\\d{6}","\\d{7,9}",null,null,"1234567"],[null,null,"8(?:[0-2459]\\d{2}|8)\\d{5}|9[7-9]\\d{7}","\\d{7,9}",null,null,"991234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"CD",243,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["12"],"0$1"],[null,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8[0-2459]|9"],"0$1"],[null,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],[null,"(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CF:[null,[null,null,"[278]\\d{7}","\\d{8}"],[null,null,"2[12]\\d{6}","\\d{8}",null,null,"21612345"],[null,null,"7[0257]\\d{6}","\\d{8}",null,null,"70012345"],[null,null,"NA","NA"],[null,null,"8776\\d{4}","\\d{8}",null,null,"87761234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"CF",236,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CG:[null,[null,null,"[028]\\d{8}","\\d{9}"],[null,null,"222[1-589]\\d{5}","\\d{9}",null,null,"222123456"],[null,null,"0[14-6]\\d{7}","\\d{9}",null,null,"061234567"],[null,null,"NA","NA"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"CG",242,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]],[null,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],CH:[null,[null,null,"[2-9]\\d{8}|860\\d{9}","\\d{9}(?:\\d{3})?"],[null,null,"(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\d{7}","\\d{9}",null,null,"212345678"],[null,null,"7[5-9]\\d{7}","\\d{9}",null,null,"781234567"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"90[016]\\d{6}","\\d{9}",null,null,"900123456"],[null,null,"84[0248]\\d{6}","\\d{9}",null,null,"840123456"],[null,null,"878\\d{6}","\\d{9}",null,null,"878123456"],[null,null,"NA","NA"],"CH",41,"00","0",null,null,"0",null,null,null,[[null,"([2-9]\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]|[89]1"],"0$1"],[null,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["860"],"0$1"]],null,[null,null,"74[0248]\\d{6}","\\d{9}",null,null,"740123456"],null,null,[null,null,"NA","NA"],[null,null,"5[18]\\d{7}","\\d{9}",null,null,"581234567"],null,null,[null,null,"860\\d{9}","\\d{12}",null,null,"860123456789"]],CI:[null,[null,null,"[02-8]\\d{7}","\\d{8}"],[null,null,"(?:2(?:0[023]|1[02357]|[23][045]|4[03-5])|3(?:0[06]|1[069]|[2-4][07]|5[09]|6[08]))\\d{5}","\\d{8}",null,null,"21234567"],[null,null,"(?:0[1-9]|4\\d|5[14-9]|6[015-79]|7[578]|87)\\d{6}","\\d{8}",null,null,"01234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"CI",225,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],CK:[null,[null,null,"[2-8]\\d{4}","\\d{5}"],[null,null,"(?:2\\d|3[13-7]|4[1-5])\\d{3}","\\d{5}",null,null,"21234"],[null,null,"[5-8]\\d{4}","\\d{5}",null,null,"71234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"CK",682,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{3})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CL:[null,[null,null,"(?:[2-9]|600|123)\\d{7,8}","\\d{7,11}"],[null,null,"2(?:1962\\d{4}|2\\d{7}|32[0-2]\\d{5})|(?:3[2-5]|[47][1-35]|5[1-3578]|6[13-57])\\d{7}","\\d{7,9}",null,null,"221234567"],[null,null,"9[4-9]\\d{7}","\\d{8,9}",null,null,"961234567"],[null,null,"800\\d{6}|1230\\d{7}","\\d{9,11}",null,null,"800123456"],[null,null,"NA","NA"],[null,null,"600\\d{7,8}","\\d{10,11}",null,null,"6001234567"],[null,null,"NA","NA"],[null,null,"44\\d{7}","\\d{9}",null,null,"441234567"],"CL",56,"(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0","0",null,null,"0|(1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))",null,null,null,[[null,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[23]"],"($1)","$CC ($1)"],[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[357]|4[1-35]|6[13-57]"],"($1)","$CC ($1)"],[null,"(9)(\\d{4})(\\d{4})","$1 $2 $3",["9"],"0$1"],[null,"(44)(\\d{3})(\\d{4})","$1 $2 $3",["44"],"0$1"],[null,"([68]00)(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"],"$1"],[null,"(600)(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"],"$1"],[null,"(1230)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"$1"],[null,"(\\d{5})(\\d{4})","$1 $2",["219"],"($1)","$CC ($1)"],[null,"(\\d{4,5})","$1",["[1-9]"],"$1"]],[[null,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[23]"],"($1)","$CC ($1)"],[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[357]|4[1-35]|6[13-57]"],"($1)","$CC ($1)"],[null,"(9)(\\d{4})(\\d{4})","$1 $2 $3",["9"],"0$1"],[null,"(44)(\\d{3})(\\d{4})","$1 $2 $3",["44"],"0$1"],[null,"([68]00)(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"],"$1"],[null,"(600)(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"],"$1"],[null,"(1230)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"$1"],[null,"(\\d{5})(\\d{4})","$1 $2",["219"],"($1)","$CC ($1)"]],[null,null,"NA","NA"],null,null,[null,null,"600\\d{7,8}","\\d{10,11}",null,null,"6001234567"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CM:[null,[null,null,"[2368]\\d{7,8}","\\d{8,9}"],[null,null,"2(?:22|33|4[23])\\d{6}","\\d{9}",null,null,"222123456"],[null,null,"6[5-9]\\d{7}","\\d{9}",null,null,"671234567"],[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"88\\d{6}","\\d{8}",null,null,"88012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"CM",237,"00",null,null,null,null,null,null,null,[[null,"([26])(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]"]],[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[23]|88"]],[null,"(800)(\\d{2})(\\d{3})","$1 $2 $3",["80"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CN:[null,[null,null,"[1-7]\\d{6,11}|8[0-357-9]\\d{6,9}|9\\d{7,10}","\\d{4,12}"],[null,null,"21(?:100\\d{2}|95\\d{3,4}|\\d{8,10})|(?:10|2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[1-35])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:31|5[457]|6[09]|91)|8(?:[57]1|98))(?:100\\d{2}|95\\d{3,4}|\\d{8})|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[3-9]|5[2-9]|6[4789]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-4689]|6[2368]|9[02-9])|8(?:078|1[236-8]|2[5-7]|3\\d|5[1-9]|7[02-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100\\d{2}|95\\d{3,4}|\\d{7})|80(?:29|6[03578]|7[018]|81)\\d{4}","\\d{4,12}",null,null,"1012345678"],[null,null,"1(?:[38]\\d|4[57]|5[0-35-9]|7[036-8])\\d{8}","\\d{11}",null,null,"13123456789"],[null,null,"(?:10)?800\\d{7}","\\d{10,12}",null,null,"8001234567"],[null,null,"16[08]\\d{5}","\\d{8}",null,null,"16812345"],[null,null,"400\\d{7}|950\\d{7,8}|(?:10|2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[4789]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[3678]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))96\\d{3,4}","\\d{7,11}",null,null,"4001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],"CN",86,"(1(?:[129]\\d{3}|79\\d{2}))?00","0",null,null,"(1(?:[129]\\d{3}|79\\d{2}))|0",null,"00",null,[[null,"(80\\d{2})(\\d{4})","$1 $2",["80[2678]"],"0$1","$CC $1",1],[null,"([48]00)(\\d{3})(\\d{4})","$1 $2 $3",["[48]00"]],[null,"(\\d{5,6})","$1",["100|95"]],[null,"(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2\\d)[19]","(?:10|2\\d)(?:10|9[56])","(?:10|2\\d)(?:100|9[56])"],"0$1","$CC $1"],[null,"(\\d{3})(\\d{5,6})","$1 $2",["[3-9]","[3-9]\\d{2}[19]","[3-9]\\d{2}(?:10|9[56])"],"0$1","$CC $1"],[null,"(\\d{3,4})(\\d{4})","$1 $2",["[2-9]"]],[null,"(21)(\\d{4})(\\d{4,6})","$1 $2 $3",["21"],"0$1","$CC $1",1],[null,"([12]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["10[1-9]|2[02-9]","10[1-9]|2[02-9]","10(?:[1-79]|8(?:[1-9]|0[1-9]))|2[02-9]"],"0$1","$CC $1",1],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:1[02-9]|35|49|5|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|[35][2-9]|6[4789]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|3|5[1-9]|7[02-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])"],"0$1","$CC $1",1],[null,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["3(?:11|7[179])|4(?:[15]1|3[1-35])|5(?:1|2[37]|3[12]|51|7[13-79]|9[15])|7(?:31|5[457]|6[09]|91)|8(?:[57]1|98)"],"0$1","$CC $1",1],[null,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["807","8078"],"0$1","$CC $1",1],[null,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-578]"],null,"$CC $1"],[null,"(10800)(\\d{3})(\\d{4})","$1 $2 $3",["108","1080","10800"]],[null,"(\\d{3})(\\d{7,8})","$1 $2",["950"]]],[[null,"(80\\d{2})(\\d{4})","$1 $2",["80[2678]"],"0$1","$CC $1",1],[null,"([48]00)(\\d{3})(\\d{4})","$1 $2 $3",["[48]00"]],[null,"(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2\\d)[19]","(?:10|2\\d)(?:10|9[56])","(?:10|2\\d)(?:100|9[56])"],"0$1","$CC $1"],[null,"(\\d{3})(\\d{5,6})","$1 $2",["[3-9]","[3-9]\\d{2}[19]","[3-9]\\d{2}(?:10|9[56])"],"0$1","$CC $1"],[null,"(21)(\\d{4})(\\d{4,6})","$1 $2 $3",["21"],"0$1","$CC $1",1],[null,"([12]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["10[1-9]|2[02-9]","10[1-9]|2[02-9]","10(?:[1-79]|8(?:[1-9]|0[1-9]))|2[02-9]"],"0$1","$CC $1",1],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:1[02-9]|35|49|5|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|[35][2-9]|6[4789]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|3|5[1-9]|7[02-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])"],"0$1","$CC $1",1],[null,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["3(?:11|7[179])|4(?:[15]1|3[1-35])|5(?:1|2[37]|3[12]|51|7[13-79]|9[15])|7(?:31|5[457]|6[09]|91)|8(?:[57]1|98)"],"0$1","$CC $1",1],[null,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["807","8078"],"0$1","$CC $1",1],[null,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-578]"],null,"$CC $1"],[null,"(10800)(\\d{3})(\\d{4})","$1 $2 $3",["108","1080","10800"]],[null,"(\\d{3})(\\d{7,8})","$1 $2",["950"]]],[null,null,"NA","NA"],null,null,[null,null,"(?:4|(?:10)?8)00\\d{7}|950\\d{7,8}","\\d{10,12}",null,null,"4001234567"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CO:[null,[null,null,"(?:[13]\\d{0,3}|[24-8])\\d{7}","\\d{7,11}"],[null,null,"[124-8][2-9]\\d{6}","\\d{8}",null,null,"12345678"],[null,null,"3(?:0[0-5]|1\\d|2[0-2]|5[01])\\d{7}","\\d{10}",null,null,"3211234567"],[null,null,"1800\\d{7}","\\d{11}",null,null,"18001234567"],[null,null,"19(?:0[01]|4[78])\\d{7}","\\d{11}",null,null,"19001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"CO",57,"00(?:4(?:[14]4|56)|[579])","0",null,null,"0([3579]|4(?:44|56))?",null,null,null,[[null,"(\\d)(\\d{7})","$1 $2",["1(?:8[2-9]|9[0-3]|[2-7])|[24-8]","1(?:8[2-9]|9(?:09|[1-3])|[2-7])|[24-8]"],"($1)","0$CC $1"],[null,"(\\d{3})(\\d{7})","$1 $2",["3"],null,"0$CC $1"],[null,"(1)(\\d{3})(\\d{7})","$1-$2-$3",["1(?:80|9[04])","1(?:800|9(?:0[01]|4[78]))"],"0$1"]],[[null,"(\\d)(\\d{7})","$1 $2",["1(?:8[2-9]|9[0-3]|[2-7])|[24-8]","1(?:8[2-9]|9(?:09|[1-3])|[2-7])|[24-8]"],"($1)","0$CC $1"],[null,"(\\d{3})(\\d{7})","$1 $2",["3"],null,"0$CC $1"],[null,"(1)(\\d{3})(\\d{7})","$1 $2 $3",["1(?:80|9[04])","1(?:800|9(?:0[01]|4[78]))"]]],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CR:[null,[null,null,"[24-9]\\d{7,9}","\\d{8,10}"],[null,null,"2[0-24-7]\\d{6}","\\d{8}",null,null,"22123456"],[null,null,"5(?:0[01]|7[0-3])\\d{5}|(?:[67][0-3]|8[3-9])\\d{6}","\\d{8}",null,null,"83123456"],[null,null,"800\\d{7}","\\d{10}",null,null,"8001234567"],[null,null,"90[059]\\d{7}","\\d{10}",null,null,"9001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"210[0-6]\\d{4}|4\\d{7}|5100\\d{4}","\\d{8}",null,null,"40001234"],"CR",506,"00",null,null,null,"(19(?:0[012468]|1[09]|20|66|77|99))",null,null,null,[[null,"(\\d{4})(\\d{4})","$1 $2",["[24-7]|8[3-9]"],null,"$CC $1"],[null,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]0"],null,"$CC $1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CU:[null,[null,null,"[2-57]\\d{5,7}","\\d{4,8}"],[null,null,"2[1-4]\\d{5,6}|3(?:1\\d{6}|[23]\\d{4,6})|4(?:[125]\\d{5,6}|[36]\\d{6}|[78]\\d{4,6})|7\\d{6,7}","\\d{4,8}",null,null,"71234567"],[null,null,"5\\d{7}","\\d{8}",null,null,"51234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"CU",53,"119","0",null,null,"0",null,null,null,[[null,"(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],[null,"(\\d{2})(\\d{4,6})","$1 $2",["[2-4]"],"(0$1)"],[null,"(\\d)(\\d{7})","$1 $2",["5"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CV:[null,[null,null,"[259]\\d{6}","\\d{7}"],[null,null,"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}","\\d{7}",null,null,"2211234"],[null,null,"(?:9\\d|59)\\d{5}","\\d{7}",null,null,"9911234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"CV",238,"0",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CW:[null,[null,null,"[169]\\d{6,7}","\\d{7,8}"],[null,null,"9(?:[48]\\d{2}|50\\d|7(?:2[0-24]|[34]\\d|6[35-7]|77|8[7-9]))\\d{4}","\\d{7,8}",null,null,"94151234"],[null,null,"9(?:5(?:[12467]\\d|3[01])|6(?:[15-9]\\d|3[01]))\\d{4}","\\d{7,8}",null,null,"95181234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"60[0-2]\\d{4}","\\d{7}",null,null,"6001234"],[null,null,"NA","NA"],[null,null,"NA","NA"],"CW",599,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2",["[13-7]"]],[null,"(9)(\\d{3})(\\d{4})","$1 $2 $3",["9"]]],null,[null,null,"955\\d{5}","\\d{7,8}",null,null,"95581234"],1,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CX:[null,[null,null,"[1458]\\d{5,9}","\\d{6,10}"],[null,null,"89164\\d{4}","\\d{8,9}",null,null,"891641234"],[null,null,"14(?:5\\d|71)\\d{5}|4(?:[0-2]\\d|3[0-57-9]|4[47-9]|5[0-25-9]|6[6-9]|7[02-9]|8[147-9]|9[017-9])\\d{6}","\\d{9}",null,null,"412345678"],[null,null,"180(?:0\\d{3}|2)\\d{3}","\\d{7,10}",null,null,"1800123456"],[null,null,"190[0126]\\d{6}","\\d{10}",null,null,"1900123456"],[null,null,"13(?:00\\d{2})?\\d{4}","\\d{6,10}",null,null,"1300123456"],[null,null,"500\\d{6}","\\d{9}",null,null,"500123456"],[null,null,"550\\d{6}","\\d{9}",null,null,"550123456"],"CX",61,"(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]","0",null,null,"0",null,"0011",null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],CY:[null,[null,null,"[257-9]\\d{7}","\\d{8}"],[null,null,"2[2-6]\\d{6}","\\d{8}",null,null,"22345678"],[null,null,"9[4-79]\\d{6}","\\d{8}",null,null,"96123456"],[null,null,"800\\d{5}","\\d{8}",null,null,"80001234"],[null,null,"90[09]\\d{5}","\\d{8}",null,null,"90012345"],[null,null,"80[1-9]\\d{5}","\\d{8}",null,null,"80112345"],[null,null,"700\\d{5}","\\d{8}",null,null,"70012345"],[null,null,"NA","NA"],"CY",357,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{6})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"(?:50|77)\\d{6}","\\d{8}",null,null,"77123456"],null,null,[null,null,"NA","NA"]],CZ:[null,[null,null,"[2-8]\\d{8}|9\\d{8,11}","\\d{9,12}"],[null,null,"2\\d{8}|(?:3[1257-9]|4[16-9]|5[13-9])\\d{7}","\\d{9,12}",null,null,"212345678"],[null,null,"(?:60[1-8]|7(?:0[2-5]|[2379]\\d))\\d{6}","\\d{9,12}",null,null,"601123456"],[null,null,"800\\d{6}","\\d{9,12}",null,null,"800123456"],[null,null,"9(?:0[05689]|76)\\d{6}","\\d{9,12}",null,null,"900123456"],[null,null,"8[134]\\d{7}","\\d{9,12}",null,null,"811234567"],[null,null,"70[01]\\d{6}","\\d{9,12}",null,null,"700123456"],[null,null,"9[17]0\\d{6}","\\d{9,12}",null,null,"910123456"],"CZ",420,"00",null,null,null,null,null,null,null,[[null,"([2-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],[null,"(96\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["96"]],[null,"(9\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9[36]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"9(?:5\\d|7[234])\\d{6}","\\d{9,12}",null,null,"972123456"],null,null,[null,null,"9(?:3\\d{9}|6\\d{7,10})","\\d{9,12}",null,null,"93123456789"]],DE:[null,[null,null,"[1-35-9]\\d{3,14}|4(?:[0-8]\\d{4,12}|9(?:[0-37]\\d|4(?:[1-35-8]|4\\d?)|5\\d{1,2}|6[1-8]\\d?)\\d{2,8})","\\d{2,15}"],[null,null,"[246]\\d{5,13}|3(?:0\\d{3,13}|2\\d{9}|[3-9]\\d{4,13})|5(?:0[2-8]|[1256]\\d|[38][0-8]|4\\d{0,2}|[79][0-7])\\d{3,11}|7(?:0[2-8]|[1-9]\\d)\\d{3,10}|8(?:0[2-9]|[1-9]\\d)\\d{3,10}|9(?:0[6-9]\\d{3,10}|1\\d{4,12}|[2-9]\\d{4,11})","\\d{2,15}",null,null,"30123456"],[null,null,"1(?:5[0-25-9]\\d{8}|6[023]\\d{7,8}|7(?:[0-57-9]\\d?|6\\d)\\d{7})","\\d{10,11}",null,null,"15123456789"],[null,null,"800\\d{7,12}","\\d{10,15}",null,null,"8001234567890"],[null,null,"137[7-9]\\d{6}|900(?:[135]\\d{6}|9\\d{7})","\\d{10,11}",null,null,"9001234567"],[null,null,"1(?:3(?:7[1-6]\\d{6}|8\\d{4})|80\\d{5,11})","\\d{7,14}",null,null,"18012345"],[null,null,"700\\d{8}","\\d{11}",null,null,"70012345678"],[null,null,"NA","NA"],"DE",49,"00","0",null,null,"0",null,null,null,[[null,"(1\\d{2})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],[null,"(15\\d{3})(\\d{6})","$1 $2",["15[0568]"],"0$1"],[null,"(1\\d{3})(\\d{7})","$1 $2",["15"],"0$1"],[null,"(\\d{2})(\\d{3,11})","$1 $2",["3[02]|40|[68]9"],"0$1"],[null,"(\\d{3})(\\d{3,11})","$1 $2",["2(?:\\d1|0[2389]|1[24]|28|34)|3(?:[3-9][15]|40)|[4-8][1-9]1|9(?:06|[1-9]1)"],"0$1"],[null,"(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|[7-9](?:\\d[1-9]|[1-9]\\d)|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])","[24-6]|[7-9](?:\\d[1-9]|[1-9]\\d)|3(?:3(?:0[1-467]|2[127-9]|3[124578]|[46][1246]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|3[1357]|4[13578]|6[1246]|7[1356]|9[1346])|5(?:0[14]|2[1-3589]|3[1357]|4[1246]|6[1-4]|7[1346]|8[13568]|9[1246])|6(?:0[356]|2[1-489]|3[124-6]|4[1347]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|3[1357]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|4[1347]|6[0135-9]|7[1467]|8[136])|9(?:0[12479]|2[1358]|3[1357]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))"],"0$1"],[null,"(3\\d{4})(\\d{1,10})","$1 $2",["3"],"0$1"],[null,"(800)(\\d{7,12})","$1 $2",["800"],"0$1"],[null,"(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["(?:18|90)0|137","1(?:37|80)|900[1359]"],"0$1"],[null,"(1\\d{2})(\\d{5,11})","$1 $2",["181"],"0$1"],[null,"(18\\d{3})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],[null,"(18\\d{2})(\\d{7})","$1 $2",["18[68]"],"0$1"],[null,"(18\\d)(\\d{8})","$1 $2",["18[2-579]"],"0$1"],[null,"(700)(\\d{4})(\\d{4})","$1 $2 $3",["700"],"0$1"],[null,"(138)(\\d{4})","$1 $2",["138"],"0$1"],[null,"(15[013-68])(\\d{2})(\\d{8})","$1 $2 $3",["15[013-68]"],"0$1"],[null,"(15[279]\\d)(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],[null,"(1[67]\\d)(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"]],null,[null,null,"16(?:4\\d{1,10}|[89]\\d{1,11})","\\d{4,14}",null,null,"16412345"],null,null,[null,null,"NA","NA"],[null,null,"18(?:1\\d{5,11}|[2-9]\\d{8})","\\d{8,14}",null,null,"18500123456"],null,null,[null,null,"1(?:5(?:(?:2\\d55|7\\d99|9\\d33)\\d{7}|(?:[034568]00|113)\\d{8})|6(?:013|255|399)\\d{7,8}|7(?:[015]13|[234]55|[69]33|[78]99)\\d{7,8})","\\d{12,13}",null,null,"177991234567"]],
53
+ DJ:[null,[null,null,"[27]\\d{7}","\\d{8}"],[null,null,"2(?:1[2-5]|7[45])\\d{5}","\\d{8}",null,null,"21360003"],[null,null,"77[0-26-8]\\d{5}","\\d{8}",null,null,"77831001"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"DJ",253,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],DK:[null,[null,null,"[2-9]\\d{7}","\\d{8}"],[null,null,"(?:[2-7]\\d|8[126-9]|9[1-36-9])\\d{6}","\\d{8}",null,null,"32123456"],[null,null,"(?:[2-7]\\d|8[126-9]|9[1-36-9])\\d{6}","\\d{8}",null,null,"20123456"],[null,null,"80\\d{6}","\\d{8}",null,null,"80123456"],[null,null,"90\\d{6}","\\d{8}",null,null,"90123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"DK",45,"00",null,null,null,null,null,null,1,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],DM:[null,[null,null,"[57-9]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4]|70[1-3])\\d{4}","\\d{7}(?:\\d{3})?",null,null,"7674201234"],[null,null,"767(?:2(?:[234689]5|7[5-7])|31[5-7]|61[2-7])\\d{4}","\\d{10}",null,null,"7672251234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"DM",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"767",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],DO:[null,[null,null,"[589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"8(?:[04]9[2-9]\\d{6}|29(?:2(?:[0-59]\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\d|4[7-9])|[45]\\d{2}|6(?:[0-27-9]\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9]))\\d{4})","\\d{7}(?:\\d{3})?",null,null,"8092345678"],[null,null,"8[024]9[2-9]\\d{6}","\\d{7}(?:\\d{3})?",null,null,"8092345678"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"DO",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"8[024]9",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],DZ:[null,[null,null,"(?:[1-4]|[5-9]\\d)\\d{7}","\\d{8,9}"],[null,null,"(?:1\\d|2[013-79]|3[0-8]|4[0135689])\\d{6}|9619\\d{5}","\\d{8,9}",null,null,"12345678"],[null,null,"(?:5[4-6]|7[7-9])\\d{7}|6(?:[569]\\d|7[0-6])\\d{6}","\\d{9}",null,null,"551234567"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"80[3-689]1\\d{5}","\\d{9}",null,null,"808123456"],[null,null,"80[12]1\\d{5}","\\d{9}",null,null,"801123456"],[null,null,"NA","NA"],[null,null,"98[23]\\d{6}","\\d{9}",null,null,"983123456"],"DZ",213,"00","0",null,null,"0",null,null,null,[[null,"([1-4]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],[null,"([5-8]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"],[null,"(9\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],EC:[null,[null,null,"1\\d{9,10}|[2-8]\\d{7}|9\\d{8}","\\d{7,11}"],[null,null,"[2-7][2-7]\\d{6}","\\d{7,8}",null,null,"22123456"],[null,null,"9(?:39|[45][89]|[67][7-9]|[89]\\d)\\d{6}","\\d{9}",null,null,"991234567"],[null,null,"1800\\d{6,7}","\\d{10,11}",null,null,"18001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"[2-7]890\\d{4}","\\d{8}",null,null,"28901234"],"EC",593,"00","0",null,null,"0",null,null,null,[[null,"(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[247]|[356][2-8]"],"(0$1)"],[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],[null,"(1800)(\\d{3})(\\d{3,4})","$1 $2 $3",["1"],"$1"]],[[null,"(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[247]|[356][2-8]"]],[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],[null,"(1800)(\\d{3})(\\d{3,4})","$1 $2 $3",["1"],"$1"]],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],EE:[null,[null,null,"1\\d{3,4}|[3-9]\\d{6,7}|800\\d{6,7}","\\d{4,10}"],[null,null,"(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}","\\d{7}",null,null,"3212345"],[null,null,"(?:5\\d|8[1-5])\\d{6}|5(?:[02]\\d{2}|1(?:[0-8]\\d|95)|5[0-478]\\d|64[0-4]|65[1-589])\\d{3}","\\d{7,8}",null,null,"51234567"],[null,null,"800(?:0\\d{3}|1\\d|[2-9])\\d{3}","\\d{7,10}",null,null,"80012345"],[null,null,"(?:40\\d{2}|900)\\d{4}","\\d{7,8}",null,null,"9001234"],[null,null,"NA","NA"],[null,null,"70[0-2]\\d{5}","\\d{8}",null,null,"70012345"],[null,null,"NA","NA"],"EE",372,"00",null,null,null,null,null,null,null,[[null,"([3-79]\\d{2})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]"]],[null,"(70)(\\d{2})(\\d{4})","$1 $2 $3",["70"]],[null,"(8000)(\\d{3})(\\d{3})","$1 $2 $3",["800","8000"]],[null,"([458]\\d{3})(\\d{3,4})","$1 $2",["40|5|8(?:00|[1-5])","40|5|8(?:00[1-9]|[1-5])"]]],null,[null,null,"NA","NA"],null,null,[null,null,"1\\d{3,4}|800[2-9]\\d{3}","\\d{4,7}",null,null,"8002123"],[null,null,"1(?:2[01245]|3[0-6]|4[1-489]|5[0-59]|6[1-46-9]|7[0-27-9]|8[189]|9[012])\\d{1,2}","\\d{4,5}",null,null,"12123"],null,null,[null,null,"NA","NA"]],EG:[null,[null,null,"1\\d{4,9}|[2456]\\d{8}|3\\d{7}|[89]\\d{8,9}","\\d{5,10}"],[null,null,"(?:1(?:3[23]\\d|5(?:[23]|9\\d))|2[2-4]\\d{2}|3\\d{2}|4(?:0[2-5]|[578][23]|64)\\d|5(?:0[2-7]|[57][23])\\d|6[24-689]3\\d|8(?:2[2-57]|4[26]|6[237]|8[2-4])\\d|9(?:2[27]|3[24]|52|6[2356]|7[2-4])\\d)\\d{5}|1[69]\\d{3}","\\d{5,9}",null,null,"234567890"],[null,null,"1(?:0[0-269]|1[0-245]|2[0-278])\\d{7}","\\d{10}",null,null,"1001234567"],[null,null,"800\\d{7}","\\d{10}",null,null,"8001234567"],[null,null,"900\\d{7}","\\d{10}",null,null,"9001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"EG",20,"00","0",null,null,"0",null,null,null,[[null,"(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1[012]|[89]00"],"0$1"],[null,"(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|[89][2-9]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],EH:[null,[null,null,"[5689]\\d{8}","\\d{9}"],[null,null,"528[89]\\d{5}","\\d{9}",null,null,"528812345"],[null,null,"6(?:0[0-8]|[12-79]\\d|8[017])\\d{6}","\\d{9}",null,null,"650123456"],[null,null,"80\\d{7}","\\d{9}",null,null,"801234567"],[null,null,"89\\d{7}","\\d{9}",null,null,"891234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"EH",212,"00","0",null,null,"0",null,null,null,null,null,[null,null,"NA","NA"],null,"528[89]",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],ER:[null,[null,null,"[178]\\d{6}","\\d{6,7}"],[null,null,"1(?:1[12568]|20|40|55|6[146])\\d{4}|8\\d{6}","\\d{6,7}",null,null,"8370362"],[null,null,"17[1-3]\\d{4}|7\\d{6}","\\d{7}",null,null,"7123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"ER",291,"00","0",null,null,"0",null,null,null,[[null,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",null,"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],ES:[null,[null,null,"[5-9]\\d{8}","\\d{9}"],[null,null,"8(?:[13]0|[28][0-8]|[47][1-9]|5[01346-9]|6[0457-9])\\d{6}|9(?:[1238][0-8]\\d{6}|4[1-9]\\d{6}|5\\d{7}|6(?:[0-8]\\d{6}|9(?:0(?:[0-57-9]\\d{4}|6(?:0[0-8]|1[1-9]|[2-9]\\d)\\d{2})|[1-9]\\d{5}))|7(?:[124-9]\\d{2}|3(?:[0-8]\\d|9[1-9]))\\d{4})","\\d{9}",null,null,"810123456"],[null,null,"(?:6\\d{6}|7[1-4]\\d{5}|9(?:6906(?:09|10)|7390\\d{2}))\\d{2}","\\d{9}",null,null,"612345678"],[null,null,"[89]00\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"80[367]\\d{6}","\\d{9}",null,null,"803123456"],[null,null,"90[12]\\d{6}","\\d{9}",null,null,"901123456"],[null,null,"70\\d{7}","\\d{9}",null,null,"701234567"],[null,null,"NA","NA"],"ES",34,"00",null,null,null,null,null,null,null,[[null,"([89]00)(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],[null,"([5-9]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[568]|[79][0-8]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"51\\d{7}","\\d{9}",null,null,"511234567"],null,null,[null,null,"NA","NA"]],ET:[null,[null,null,"[1-59]\\d{8}","\\d{7,9}"],[null,null,"(?:11(?:1(?:1[124]|2[2-57]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8])|5(?:1[578]|44|5[0-4])|6(?:18|2[69]|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|22[0-6]|33[0134689]|44[04]|55[0-6]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:11[1-9]|22[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}","\\d{7,9}",null,null,"111112345"],[null,null,"9(?:[1-46]\\d|5[89])\\d{6}","\\d{9}",null,null,"911234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"ET",251,"00","0",null,null,"0",null,null,null,[[null,"([1-59]\\d)(\\d{3})(\\d{4})","$1 $2 $3",null,"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],FI:[null,[null,null,"1\\d{4,11}|[2-9]\\d{4,10}","\\d{5,12}"],[null,null,"1(?:[3569][1-8]\\d{3,9}|[47]\\d{5,10})|2[1-8]\\d{3,9}|3(?:[1-8]\\d{3,9}|9\\d{4,8})|[5689][1-8]\\d{3,9}","\\d{5,12}",null,null,"1312345678"],[null,null,"4\\d{5,10}|50\\d{4,8}","\\d{6,11}",null,null,"412345678"],[null,null,"800\\d{4,7}","\\d{7,10}",null,null,"8001234567"],[null,null,"[67]00\\d{5,6}","\\d{8,9}",null,null,"600123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"FI",358,"00|99[049]","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{3,7})","$1 $2",["(?:[1-3]00|[6-8]0)"],"0$1"],[null,"(116\\d{3})","$1",["116"],"$1"],[null,"(\\d{2})(\\d{4,10})","$1 $2",["[14]|2[09]|50|7[135]"],"0$1"],[null,"(\\d)(\\d{4,11})","$1 $2",["[25689][1-8]|3"],"0$1"]],null,[null,null,"NA","NA"],1,null,[null,null,"[13]00\\d{3,7}|2(?:0(?:0\\d{3,7}|2[023]\\d{1,6}|9[89]\\d{1,6}))|60(?:[12]\\d{5,6}|6\\d{7})|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{2,7})","\\d{5,10}",null,null,"100123"],[null,null,"[13]0\\d{4,8}|2(?:0(?:[016-8]\\d{3,7}|[2-59]\\d{2,7})|9\\d{4,8})|60(?:[12]\\d{5,6}|6\\d{7})|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{2,7})","\\d{5,10}",null,null,"10112345"],null,null,[null,null,"NA","NA"]],FJ:[null,[null,null,"[36-9]\\d{6}|0\\d{10}","\\d{7}(?:\\d{4})?"],[null,null,"(?:3[0-5]|6[25-7]|8[58])\\d{5}","\\d{7}",null,null,"3212345"],[null,null,"(?:7[0-8]|8[034679]|9\\d)\\d{5}","\\d{7}",null,null,"7012345"],[null,null,"0800\\d{7}","\\d{11}",null,null,"08001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"FJ",679,"0(?:0|52)",null,null,null,null,null,"00",null,[[null,"(\\d{3})(\\d{4})","$1 $2",["[36-9]"]],[null,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],FK:[null,[null,null,"[2-7]\\d{4}","\\d{5}"],[null,null,"[2-47]\\d{4}","\\d{5}",null,null,"31234"],[null,null,"[56]\\d{4}","\\d{5}",null,null,"51234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"FK",500,"00",null,null,null,null,null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],FM:[null,[null,null,"[39]\\d{6}","\\d{7}"],[null,null,"3[2357]0[1-9]\\d{3}|9[2-6]\\d{5}","\\d{7}",null,null,"3201234"],[null,null,"3[2357]0[1-9]\\d{3}|9[2-7]\\d{5}","\\d{7}",null,null,"3501234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"FM",691,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],FO:[null,[null,null,"[2-9]\\d{5}","\\d{6}"],[null,null,"(?:20|[3-4]\\d|8[19])\\d{4}","\\d{6}",null,null,"201234"],[null,null,"(?:[27][1-9]|5\\d)\\d{4}","\\d{6}",null,null,"211234"],[null,null,"80[257-9]\\d{3}","\\d{6}",null,null,"802123"],[null,null,"90(?:[1345][15-7]|2[125-7]|99)\\d{2}","\\d{6}",null,null,"901123"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"(?:6[0-36]|88)\\d{4}","\\d{6}",null,null,"601234"],"FO",298,"00",null,null,null,"(10(?:01|[12]0|88))",null,null,null,[[null,"(\\d{6})","$1",null,null,"$CC $1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],FR:[null,[null,null,"[1-9]\\d{8}","\\d{9}"],[null,null,"[1-5]\\d{8}","\\d{9}",null,null,"123456789"],[null,null,"6\\d{8}|7(?:00\\d{6}|[3-9]\\d{7})","\\d{9}",null,null,"612345678"],[null,null,"80[0-5]\\d{6}","\\d{9}",null,null,"801234567"],[null,null,"89[1-37-9]\\d{6}","\\d{9}",null,null,"891123456"],[null,null,"8(?:1[019]|2[0156]|84|90)\\d{6}","\\d{9}",null,null,"810123456"],[null,null,"NA","NA"],[null,null,"9\\d{8}","\\d{9}",null,null,"912345678"],"FR",33,"00","0",null,null,"0",null,null,null,[[null,"([1-79])(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"],[null,"(1\\d{2})(\\d{3})","$1 $2",["11"],"$1"],[null,"(8\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"]],[[null,"([1-79])(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"],[null,"(8\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"]],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"80[6-9]\\d{6}","\\d{9}",null,null,"806123456"],null,null,[null,null,"NA","NA"]],GA:[null,[null,null,"0?\\d{7}","\\d{7,8}"],[null,null,"01\\d{6}","\\d{8}",null,null,"01441234"],[null,null,"0?[2-7]\\d{6}","\\d{7,8}",null,null,"06031234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"GA",241,"00",null,null,null,null,null,null,null,[[null,"(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],GB:[null,[null,null,"\\d{7,10}","\\d{4,10}"],[null,null,"2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[012])\\d{7}|1(?:(?:1(?:3[0-48]|[46][0-4]|5[012789]|7[0-49]|8[01349])|21[0-7]|31[0-8]|[459]1\\d|61[0-46-9]))\\d{6}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-4789]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1235679]|9[24578])|4(?:0[03-9]|[28][02-5789]|[37]\\d|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1235-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-5789])|6(?:0[034689]|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0124578])|7(?:0[0246-9]|2\\d|3[023678]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-5789]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-5789]|4[2-9]|5[0-579]|6[234789]|7[0124578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-4789]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[015789]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[234678]\\d{2}|16977[23]\\d{3}","\\d{4,10}",null,null,"1212345678"],[null,null,"7(?:[1-4]\\d\\d|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[04-9]\\d|1[02-9]|2[0-35-9]|3[0-689]))\\d{6}","\\d{10}",null,null,"7400123456"],[null,null,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?",null,null,"8001234567"],[null,null,"(?:87[123]|9(?:[01]\\d|8[2349]))\\d{7}","\\d{10}",null,null,"9012345678"],[null,null,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?",null,null,"8431234567"],[null,null,"70\\d{8}","\\d{10}",null,null,"7012345678"],[null,null,"56\\d{8}","\\d{10}",null,null,"5612345678"],"GB",44,"00","0"," x",null,"0",null,null,null,[[null,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2|5[56]|7(?:0|6[013-9])","2|5[56]|7(?:0|6(?:[013-9]|2[0-35-9]))"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:1|\\d1)|3|9[018]"],"0$1"],[null,"(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:387|5(?:24|39)|697|768|946)","1(?:3873|5(?:242|39[456])|697[347]|768[347]|9467)"],"0$1"],[null,"(1\\d{3})(\\d{5,6})","$1 $2",["1"],"0$1"],[null,"(7\\d{3})(\\d{6})","$1 $2",["7(?:[1-5789]|62)","7(?:[1-5789]|624)"],"0$1"],[null,"(800)(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],[null,"(845)(46)(4\\d)","$1 $2 $3",["845","8454","84546","845464"],"0$1"],[null,"(8\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8(?:4[2-5]|7[0-3])"],"0$1"],[null,"(80\\d)(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1"],[null,"([58]00)(\\d{6})","$1 $2",["[58]00"],"0$1"]],null,[null,null,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}",null,null,"7640123456"],1,null,[null,null,"NA","NA"],[null,null,"(?:3[0347]|55)\\d{8}","\\d{10}",null,null,"5512345678"],null,null,[null,null,"NA","NA"]],GD:[null,[null,null,"[4589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|68|73|90)|63[68]|7(?:58|84)|800|938)\\d{4}","\\d{7}(?:\\d{3})?",null,null,"4732691234"],[null,null,"473(?:4(?:0[2-79]|1[04-9]|20|58)|5(?:2[01]|3[3-8])|901)\\d{4}","\\d{10}",null,null,"4734031234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"GD",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"473",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GE:[null,[null,null,"[34578]\\d{8}","\\d{6,9}"],[null,null,"(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{6}","\\d{6,9}",null,null,"322123456"],[null,null,"5(?:14|5[01578]|68|7[0147-9]|9[0-35-9])\\d{6}","\\d{9}",null,null,"555123456"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"706\\d{6}","\\d{9}",null,null,"706123456"],"GE",995,"00","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5"],"$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"706\\d{6}","\\d{9}",null,null,"706123456"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GF:[null,[null,null,"[56]\\d{8}","\\d{9}"],[null,null,"594(?:10|2[012457-9]|3[0-57-9]|4[3-9]|5[7-9]|6[0-3]|9[014])\\d{4}","\\d{9}",null,null,"594101234"],[null,null,"694(?:[04][0-7]|1[0-5]|3[018]|[29]\\d)\\d{4}","\\d{9}",null,null,"694201234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"GF",594,"00","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",null,"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GG:[null,[null,null,"[135789]\\d{6,9}","\\d{6,10}"],[null,null,"1481\\d{6}","\\d{6,10}",null,null,"1481456789"],[null,null,"7(?:781|839|911)\\d{6}","\\d{10}",null,null,"7781123456"],[null,null,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?",null,null,"8001234567"],[null,null,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}",null,null,"9012345678"],[null,null,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?",null,null,"8431234567"],[null,null,"70\\d{8}","\\d{10}",null,null,"7012345678"],[null,null,"56\\d{8}","\\d{10}",null,null,"5612345678"],"GG",44,"00","0"," x",null,"0",null,null,null,null,null,[null,null,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}",null,null,"7640123456"],null,null,[null,null,"NA","NA"],[null,null,"(?:3[0347]|55)\\d{8}","\\d{10}",null,null,"5512345678"],null,null,[null,null,"NA","NA"]],GH:[null,[null,null,"[235]\\d{8}|8\\d{7}","\\d{7,9}"],[null,null,"3(?:0[237]\\d|[167](?:2[0-6]|7\\d)|2(?:2[0-5]|7\\d)|3(?:2[0-3]|7\\d)|4(?:2[013-9]|3[01]|7\\d)|5(?:2[0-7]|7\\d)|8(?:2[0-2]|7\\d)|9(?:20|7\\d))\\d{5}","\\d{7,9}",null,null,"302345678"],[null,null,"(?:2[034678]\\d|5(?:[047]\\d|5[3-6]|6[01]))\\d{6}","\\d{9}",null,null,"231234567"],[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"GH",233,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"],[null,"(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GI:[null,[null,null,"[2568]\\d{7}","\\d{8}"],[null,null,"2(?:00\\d|1(?:6[24-7]|9\\d)|2(?:00|2[2457]))\\d{4}","\\d{8}",null,null,"20012345"],[null,null,"(?:5[46-8]|62)\\d{6}","\\d{8}",null,null,"57123456"],[null,null,"80\\d{6}","\\d{8}",null,null,"80123456"],[null,null,"8[1-689]\\d{6}","\\d{8}",null,null,"88123456"],[null,null,"87\\d{6}","\\d{8}",null,null,"87123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],"GI",350,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{5})","$1 $2",["2"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GL:[null,[null,null,"[1-689]\\d{5}","\\d{6}"],[null,null,"(?:19|3[1-6]|6[14689]|8[14-79]|9\\d)\\d{4}","\\d{6}",null,null,"321000"],[null,null,"[245][2-9]\\d{4}","\\d{6}",null,null,"221234"],[null,null,"80\\d{4}","\\d{6}",null,null,"801234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"3[89]\\d{4}","\\d{6}",null,null,"381234"],"GL",299,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GM:[null,[null,null,"[2-9]\\d{6}","\\d{7}"],[null,null,"(?:4(?:[23]\\d{2}|4(?:1[024679]|[6-9]\\d))|5(?:54[0-7]|6(?:[67]\\d)|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}","\\d{7}",null,null,"5661234"],[null,null,"[23679]\\d{6}","\\d{7}",null,null,"3012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"GM",220,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GN:[null,[null,null,"[367]\\d{7,8}","\\d{8,9}"],[null,null,"30(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])\\d{4}","\\d{8}",null,null,"30241234"],[null,null,"6[02356]\\d{7}","\\d{9}",null,null,"601123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"722\\d{6}","\\d{9}",null,null,"722123456"],"GN",224,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],[null,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GP:[null,[null,null,"[56]\\d{8}","\\d{9}"],[null,null,"590(?:0[13468]|1[012]|2[0-68]|3[28]|4[0-8]|5[579]|6[0189]|70|8[0-689]|9\\d)\\d{4}","\\d{9}",null,null,"590201234"],[null,null,"690(?:0[0-7]|[1-9]\\d)\\d{4}","\\d{9}",null,null,"690301234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"GP",590,"00","0",null,null,"0",null,null,null,[[null,"([56]90)(\\d{2})(\\d{4})","$1 $2-$3",null,"0$1"]],null,[null,null,"NA","NA"],1,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GQ:[null,[null,null,"[23589]\\d{8}","\\d{9}"],[null,null,"3(?:3(?:3\\d[7-9]|[0-24-9]\\d[46])|5\\d{2}[7-9])\\d{4}","\\d{9}",null,null,"333091234"],[null,null,"(?:222|55[15])\\d{6}","\\d{9}",null,null,"222123456"],[null,null,"80\\d[1-9]\\d{5}","\\d{9}",null,null,"800123456"],[null,null,"90\\d[1-9]\\d{5}","\\d{9}",null,null,"900123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"GQ",240,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],[null,"(\\d{3})(\\d{6})","$1 $2",["[89]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GR:[null,[null,null,"[26-9]\\d{9}","\\d{10}"],[null,null,"2(?:1\\d{2}|2(?:2[1-46-9]|3[1-8]|4[1-7]|5[1-4]|6[1-8]|7[1-5]|[89][1-9])|3(?:1\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\d|3[1245]|4[1-7]|5[13-9]|[269][1-6]|7[14]|8[1-5])|7(?:1\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-57]))\\d{6}","\\d{10}",null,null,"2123456789"],[null,null,"69\\d{8}","\\d{10}",null,null,"6912345678"],[null,null,"800\\d{7}","\\d{10}",null,null,"8001234567"],[null,null,"90[19]\\d{7}","\\d{10}",null,null,"9091234567"],[null,null,"8(?:0[16]|12|25)\\d{7}","\\d{10}",null,null,"8011234567"],[null,null,"70\\d{8}","\\d{10}",null,null,"7012345678"],[null,null,"NA","NA"],"GR",30,"00",null,null,null,null,null,null,null,[[null,"([27]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["2[2-9]1|[689]"]],[null,"(2\\d{3})(\\d{6})","$1 $2",["2[2-9][02-9]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GT:[null,[null,null,"[2-7]\\d{7}|1[89]\\d{9}","\\d{8}(?:\\d{3})?"],[null,null,"[267][2-9]\\d{6}","\\d{8}",null,null,"22456789"],[null,null,"[345]\\d{7}","\\d{8}",null,null,"51234567"],[null,null,"18[01]\\d{8}","\\d{11}",null,null,"18001112222"],[null,null,"19\\d{9}","\\d{11}",null,null,"19001112222"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"GT",502,"00",null,null,null,null,null,null,null,[[null,"(\\d{4})(\\d{4})","$1 $2",["[2-7]"]],[null,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GU:[null,[null,null,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:56|7[1-9]|8[236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[5-9])|7(?:[079]7|2[0167]|3[45]|8[789])|8(?:[2-5789]8|6[48])|9(?:2[29]|6[79]|7[179]|8[789]|9[78]))\\d{4}","\\d{7}(?:\\d{3})?",null,null,"6713001234"],[null,null,"671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:56|7[1-9]|8[236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[5-9])|7(?:[079]7|2[0167]|3[45]|8[789])|8(?:[2-5789]8|6[48])|9(?:2[29]|6[79]|7[179]|8[789]|9[78]))\\d{4}","\\d{7}(?:\\d{3})?",null,null,"6713001234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"GU",1,"011","1",null,null,"1",null,null,1,null,null,[null,null,"NA","NA"],null,"671",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GW:[null,[null,null,"(?:4(?:0\\d{5}|4\\d{7})|9\\d{8})","\\d{7,9}"],[null,null,"443(?:2[0125]|3[1245]|4[12]|5[1-4]|70|9[1-467])\\d{4}","\\d{7,9}",null,null,"443201234"],[null,null,"9(?:55\\d|6(?:6\\d|9[012])|77\\d)\\d{5}","\\d{7,9}",null,null,"955012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"40\\d{5}","\\d{7,9}",null,null,"4012345"],"GW",245,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["44|9[567]"]],[null,"(\\d{3})(\\d{4})","$1 $2",["40"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],GY:[null,[null,null,"[2-4679]\\d{6}","\\d{7}"],[null,null,"(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\d|7[0-24-79])|3(?:2[25-9]|3\\d)|4(?:4[0-24]|5[56])|77[1-57])\\d{4}","\\d{7}",null,null,"2201234"],[null,null,"6\\d{6}","\\d{7}",null,null,"6091234"],[null,null,"(?:289|862)\\d{4}","\\d{7}",null,null,"2891234"],[null,null,"9008\\d{3}","\\d{7}",null,null,"9008123"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"GY",592,"001",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],HK:[null,[null,null,"[235-7]\\d{7}|8\\d{7,8}|9\\d{4,10}","\\d{5,11}"],[null,null,"(?:[23]\\d|58)\\d{6}","\\d{8}",null,null,"21234567"],[null,null,"(?:5[1-79]\\d|6\\d{2}|8[4-79]\\d|9(?:0[1-9]|[1-8]\\d))\\d{5}","\\d{8}",null,null,"51234567"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"900(?:[0-24-9]\\d{7}|3\\d{1,4})","\\d{5,11}",null,null,"90012345678"],[null,null,"NA","NA"],[null,null,"8[1-3]\\d{6}","\\d{8}",null,null,"81123456"],[null,null,"NA","NA"],"HK",852,"00",null,null,null,null,null,null,null,[[null,"(\\d{4})(\\d{4})","$1 $2",["[235-7]|[89](?:0[1-9]|[1-9])"]],[null,"(800)(\\d{3})(\\d{3})","$1 $2 $3",["800"]],[null,"(900)(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["900"]],[null,"(900)(\\d{2,5})","$1 $2",["900"]]],null,[null,null,"7\\d{7}","\\d{8}",null,null,"71234567"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],HN:[null,[null,null,"[237-9]\\d{7}","\\d{8}"],[null,null,"2(?:2(?:0[019]|1[1-36]|[23]\\d|4[056]|5[57]|7[01389]|8[0146-9]|9[012])|4(?:2[3-59]|3[13-689]|4[0-68]|5[1-35])|5(?:4[3-5]|5\\d|6[56]|74)|6(?:[056]\\d|3[04]|4[0-378]|[78][0-8]|9[01])|7(?:6[46-9]|7[02-9]|8[34])|8(?:79|8[0-35789]|9[1-57-9]))\\d{4}","\\d{8}",null,null,"22123456"],[null,null,"[37-9]\\d{7}","\\d{8}",null,null,"91234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"HN",504,"00",null,null,null,null,null,null,null,[[null,"(\\d{4})(\\d{4})","$1-$2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],HR:[null,[null,null,"[1-7]\\d{5,8}|[89]\\d{6,11}","\\d{6,12}"],[null,null,"1\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6,7}","\\d{6,9}",null,null,"12345678"],[null,null,"9(?:[1-9]\\d{6,10}|01\\d{6,9})","\\d{8,12}",null,null,"912345678"],[null,null,"80[01]\\d{4,7}","\\d{7,10}",null,null,"8001234567"],[null,null,"6(?:[01459]\\d{4,7})","\\d{6,9}",null,null,"611234"],[null,null,"NA","NA"],[null,null,"7[45]\\d{4,7}","\\d{6,9}",null,null,"741234567"],[null,null,"NA","NA"],"HR",385,"00","0",null,null,"0",null,null,null,[[null,"(1)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],[null,"(6[09])(\\d{4})(\\d{3})","$1 $2 $3",["6[09]"],"0$1"],[null,"([67]2)(\\d{3})(\\d{3,4})","$1 $2 $3",["[67]2"],"0$1"],[null,"([2-5]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-5]"],"0$1"],[null,"(9\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],[null,"(9\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9"],"0$1"],[null,"(9\\d)(\\d{3,4})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"],"0$1"],[null,"(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["6[0145]|7"],"0$1"],[null,"(\\d{2})(\\d{3,4})(\\d{3})","$1 $2 $3",["6[0145]|7"],"0$1"],[null,"(80[01])(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],[null,"(80[01])(\\d{3,4})(\\d{3})","$1 $2 $3",["8"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"[76]2\\d{6,7}","\\d{8,9}",null,null,"62123456"],null,null,[null,null,"NA","NA"]],
54
+ HT:[null,[null,null,"[2-489]\\d{7}","\\d{8}"],[null,null,"2(?:[248]\\d|5[1-5]|94)\\d{5}","\\d{8}",null,null,"22453300"],[null,null,"(?:3[1-9]\\d|4\\d{2}|9(?:8[0-35]|9[5-9]))\\d{5}","\\d{8}",null,null,"34101234"],[null,null,"8\\d{7}","\\d{8}",null,null,"80012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"98[89]\\d{5}","\\d{8}",null,null,"98901234"],"HT",509,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],HU:[null,[null,null,"[1-9]\\d{7,8}","\\d{6,9}"],[null,null,"(?:1\\d|2(?:1\\d|[2-9])|3(?:[2-7]|8\\d)|4[24-9]|5[2-79]|6[23689]|7(?:1\\d|[2-9])|8[2-57-9]|9[2-69])\\d{6}","\\d{6,9}",null,null,"12345678"],[null,null,"(?:[257]0|3[01])\\d{7}","\\d{9}",null,null,"201234567"],[null,null,"80\\d{6}","\\d{8}",null,null,"80123456"],[null,null,"9[01]\\d{6}","\\d{8}",null,null,"90123456"],[null,null,"40\\d{6}","\\d{8}",null,null,"40123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],"HU",36,"00","06",null,null,"06",null,null,null,[[null,"(1)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"($1)"],[null,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"($1)"]],null,[null,null,"NA","NA"],null,null,[null,null,"[48]0\\d{6}","\\d{8}",null,null,"80123456"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],ID:[null,[null,null,"(?:[1-79]\\d{6,10}|8\\d{7,11})","\\d{5,12}"],[null,null,"2(?:1(?:14\\d{3}|[0-8]\\d{6,7}|500\\d{3}|9\\d{6})|2\\d{6,8}|4\\d{7,8})|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:19?|[25]\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}","\\d{5,11}",null,null,"612345678"],[null,null,"(?:2(?:1(?:3[145]|4[01]|5[1-469]|60|8[0359]|9\\d)|2(?:88|9[1256])|3[1-4]9|4(?:36|91)|5(?:1[349]|[2-4]9)|6[0-7]9|7(?:[1-36]9|4[39])|8[1-5]9|9[1-48]9)|3(?:19[1-3]|2[12]9|3[13]9|4(?:1[69]|39)|5[14]9|6(?:1[69]|2[89])|709)|4[13]19|5(?:1(?:19|8[39])|4[129]9|6[12]9)|6(?:19[12]|2(?:[23]9|77))|7(?:1[13]9|2[15]9|419|5(?:1[89]|29)|6[15]9|7[178]9))\\d{5,6}|8[1-35-9]\\d{7,10}","\\d{9,12}",null,null,"812345678"],[null,null,"177\\d{6,8}|800\\d{5,7}","\\d{8,11}",null,null,"8001234567"],[null,null,"809\\d{7}","\\d{10}",null,null,"8091234567"],[null,null,"804\\d{7}","\\d{10}",null,null,"8041234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],"ID",62,"0(?:0[1789]|10(?:00|1[67]))","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{5,8})","$1 $2",["2[124]|[36]1"],"(0$1)"],[null,"(\\d{3})(\\d{5,8})","$1 $2",["[4579]|2[035-9]|[36][02-9]"],"(0$1)"],[null,"(8\\d{2})(\\d{3,4})(\\d{3,5})","$1-$2-$3",["8[1-35-9]"],"0$1"],[null,"(1)(500)(\\d{3})","$1 $2 $3",["15"],"$1"],[null,"(177)(\\d{6,8})","$1 $2",["17"],"0$1"],[null,"(800)(\\d{5,7})","$1 $2",["800"],"0$1"],[null,"(804)(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],[null,"(80\\d)(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80[79]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"8071\\d{6}","\\d{10}",null,null,"8071123456"],[null,null,"1500\\d{3}|8071\\d{6}","\\d{7,10}",null,null,"8071123456"],null,null,[null,null,"NA","NA"]],IE:[null,[null,null,"[124-9]\\d{6,9}","\\d{5,10}"],[null,null,"1\\d{7,8}|2(?:1\\d{6,7}|3\\d{7}|[24-9]\\d{5})|4(?:0[24]\\d{5}|[1-469]\\d{7}|5\\d{6}|7\\d{5}|8[0-46-9]\\d{7})|5(?:0[45]\\d{5}|1\\d{6}|[23679]\\d{7}|8\\d{5})|6(?:1\\d{6}|[237-9]\\d{5}|[4-6]\\d{7})|7[14]\\d{7}|9(?:1\\d{6}|[04]\\d{7}|[35-9]\\d{5})","\\d{5,10}",null,null,"2212345"],[null,null,"8(?:22\\d{6}|[35-9]\\d{7})","\\d{9}",null,null,"850123456"],[null,null,"1800\\d{6}","\\d{10}",null,null,"1800123456"],[null,null,"15(?:1[2-8]|[2-8]0|9[089])\\d{6}","\\d{10}",null,null,"1520123456"],[null,null,"18[59]0\\d{6}","\\d{10}",null,null,"1850123456"],[null,null,"700\\d{6}","\\d{9}",null,null,"700123456"],[null,null,"76\\d{7}","\\d{9}",null,null,"761234567"],"IE",353,"00","0",null,null,"0",null,null,null,[[null,"(1)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],[null,"(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],[null,"(\\d{3})(\\d{5})","$1 $2",["40[24]|50[45]"],"(0$1)"],[null,"(48)(\\d{4})(\\d{4})","$1 $2 $3",["48"],"(0$1)"],[null,"(818)(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],[null,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[24-69]|7[14]"],"(0$1)"],[null,"([78]\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["76|8[35-9]"],"0$1"],[null,"(700)(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],[null,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:8[059]|5)","1(?:8[059]0|5)"],"$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"18[59]0\\d{6}","\\d{10}",null,null,"1850123456"],[null,null,"818\\d{6}","\\d{9}",null,null,"818123456"],null,null,[null,null,"8[35-9]\\d{8}","\\d{10}",null,null,"8501234567"]],IL:[null,[null,null,"[17]\\d{6,9}|[2-589]\\d{3}(?:\\d{3,6})?|6\\d{3}","\\d{4,10}"],[null,null,"[2-489]\\d{7}","\\d{7,8}",null,null,"21234567"],[null,null,"5(?:[02-47-9]\\d{2}|5(?:01|2[23]|3[2-4]|4[45]|5[5689]|6[67]|7[0178]|8[6-9]|9[4-9])|6[2-9]\\d)\\d{5}","\\d{9}",null,null,"501234567"],[null,null,"1(?:80[019]\\d{3}|255)\\d{3}","\\d{7,10}",null,null,"1800123456"],[null,null,"1(?:212|(?:9(?:0[01]|19)|200)\\d{2})\\d{4}","\\d{8,10}",null,null,"1919123456"],[null,null,"1700\\d{6}","\\d{10}",null,null,"1700123456"],[null,null,"NA","NA"],[null,null,"7(?:18\\d|2[23]\\d|3[237]\\d|47\\d|6(?:5\\d|8[0168])|7\\d{2}|8(?:2\\d|33|55|77|81)|9[29]\\d)\\d{5}","\\d{9}",null,null,"771234567"],"IL",972,"0(?:0|1[2-9])","0",null,null,"0",null,null,null,[[null,"([2-489])(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],[null,"([57]\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],[null,"(1)([7-9]\\d{2})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"],"$1"],[null,"(1255)(\\d{3})","$1-$2",["125"],"$1"],[null,"(1200)(\\d{3})(\\d{3})","$1-$2-$3",["120"],"$1"],[null,"(1212)(\\d{2})(\\d{2})","$1-$2-$3",["121"],"$1"],[null,"(1599)(\\d{6})","$1-$2",["15"],"$1"],[null,"(\\d{4})","*$1",["[2-689]"],"$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"1700\\d{6}|[2-689]\\d{3}","\\d{4,10}",null,null,"1700123456"],[null,null,"[2-689]\\d{3}|1599\\d{6}","\\d{4}(?:\\d{6})?",null,null,"1599123456"],null,null,[null,null,"NA","NA"]],IM:[null,[null,null,"[135789]\\d{6,9}","\\d{6,10}"],[null,null,"1624\\d{6}","\\d{6,10}",null,null,"1624456789"],[null,null,"7[569]24\\d{6}","\\d{10}",null,null,"7924123456"],[null,null,"808162\\d{4}","\\d{10}",null,null,"8081624567"],[null,null,"(?:872299|90[0167]624)\\d{4}","\\d{10}",null,null,"9016247890"],[null,null,"8(?:4(?:40[49]06|5624\\d)|70624\\d)\\d{3}","\\d{10}",null,null,"8456247890"],[null,null,"70\\d{8}","\\d{10}",null,null,"7012345678"],[null,null,"56\\d{8}","\\d{10}",null,null,"5612345678"],"IM",44,"00","0"," x",null,"0",null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"3(?:08162\\d|3\\d{5}|4(?:40[49]06|5624\\d)|7(?:0624\\d|2299\\d))\\d{3}|55\\d{8}","\\d{10}",null,null,"5512345678"],null,null,[null,null,"NA","NA"]],IN:[null,[null,null,"1\\d{7,12}|[2-9]\\d{9,10}","\\d{6,13}"],[null,null,"(?:11|2[02]|33|4[04]|79)[2-7]\\d{7}|80[2-467]\\d{7}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|[36][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[13-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1-5]|4[25-8]|5[125689]|6[235-7]|7[157-9]|8[2-467])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|[57][2-689]|6[24-578]|8[1-6])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d|7(?:(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|9\\d)\\d|8(?:2[0-6]|[013-8]\\d)))[2-7]\\d{5}","\\d{6,10}",null,null,"1123456789"],[null,null,"(?:7(?:0\\d{3}|2(?:[0235679]\\d|[14][017-9]|8[0-59]|9[389])\\d|3(?:[05-8]\\d{2}|1(?:[089]\\d|7[5-8])|2(?:[5-8]\\d|[01][089])|3[17-9]\\d|4[789]\\d|9[01689]\\d)|4(?:0[1-9]\\d|1(?:[015-9]\\d|4[08])|[29][89]\\d|39\\d|8[389]\\d)|5(?:[034678]\\d|2[03-9]|5[017-9]|9[7-9])\\d|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589]|[6-9]\\d)\\d|7(?:0[2-9]|[1-79]\\d|8[1-9])\\d|8[0-79]\\d{2}|99[4-9]\\d)|8(?:0(?:[01589]\\d|6[67])|1(?:[02-57-9]\\d|1[0135-9])|2(?:[236-9]\\d|5[1-9])|3(?:[0357-9]\\d|4[1-9])|[45]\\d{2}|6[02457-9]\\d|7(?:07|[1-69]\\d)|8(?:[0-26-9]\\d|44|5[2-9])|9(?:[035-9]\\d|2[2-9]|4[0-8]))\\d|9\\d{4})\\d{5}","\\d{10}",null,null,"9123456789"],[null,null,"1(?:600\\d{6}|80(?:0\\d{4,9}|3\\d{9}))","\\d{8,13}",null,null,"1800123456"],[null,null,"186[12]\\d{9}","\\d{13}",null,null,"1861123456789"],[null,null,"1860\\d{7}","\\d{11}",null,null,"18603451234"],[null,null,"NA","NA"],[null,null,"NA","NA"],"IN",91,"00","0",null,null,"0",null,null,null,[[null,"(\\d{5})(\\d{5})","$1 $2",["7(?:[02357]|4[0-389]|6[0-35-9]|8[0-79]|99)|8(?:0[015689]|1[0-57-9]|2[2356-9]|3[0-57-9]|[45]|6[02457-9]|7[01-69]|8[0-24-9]|9[02-9])|9","7(?:0|2(?:[0235679]|[14][017-9]|8[0-59]|9[389])|3(?:[05-8]|1[07-9]|2[015-8]|3[17-9]|4[789]|9[01689])|4(?:0[1-9]|1[014-9]|[29][89]|39|8[389])|5(?:[034678]|2[03-9]|5[017-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589]|[6-9])|7(?:0[2-9]|[1-79]|8[1-9])|8[0-79]|99[4-9])|8(?:0(?:[01589]|6[67])|1(?:[02-57-9]|1[0135-9])|2(?:[236-9]|5[1-9])|3(?:[0357-9]|4[1-9])|[45]|6[02457-9]|7(?:07|[1-69])|8(?:[0-26-9]|44|5[2-9])|9(?:[035-9]|2[2-9]|4[0-8]))|9","7(?:0|2(?:[0235679]|[14][017-9]|8[0-59]|9[389])|3(?:[05-8]|1(?:[089]|7[5-9])|2(?:[5-8]|[01][089])|3[17-9]|4[789]|9[01689])|4(?:0[1-9]|1(?:[015-9]|4[08])|[29][89]|39|8[389])|5(?:[034678]|2[03-9]|5[017-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589]|[6-9])|7(?:0[2-9]|[1-79]|8[1-9])|8[0-79]|99[4-9])|8(?:0(?:[01589]|6[67])|1(?:[02-57-9]|1[0135-9])|2(?:[236-9]|5[1-9])|3(?:[0357-9]|4[1-9])|[45]|6[02457-9]|7(?:07|[1-69])|8(?:[0-26-9]|44|5[2-9])|9(?:[035-9]|2[2-9]|4[0-8]))|9"],"0$1",null,1],[null,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79|80[2-46]"],"0$1",null,1],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[569][14]|7[1257]|8[1346]|[68][1-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|[36][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)"],"0$1",null,1],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)","7(?:12|2[14]|3[134]|4[47]|5(?:1|5[2-6])|[67]1|88)"],"0$1",null,1],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)"],"0$1",null,1],[null,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[23579]|[468][1-9])|[2-8]"],"0$1",null,1],[null,"(1600)(\\d{2})(\\d{4})","$1 $2 $3",["160","1600"],"$1",null,1],[null,"(1800)(\\d{4,5})","$1 $2",["180","1800"],"$1",null,1],[null,"(18[06]0)(\\d{2,4})(\\d{4})","$1 $2 $3",["18[06]","18[06]0"],"$1",null,1],[null,"(140)(\\d{3})(\\d{4})","$1 $2 $3",["140"],"$1",null,1],[null,"(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18[06]","18(?:0[03]|6[12])"],"$1",null,1]],null,[null,null,"NA","NA"],null,null,[null,null,"1(?:600\\d{6}|8(?:0(?:0\\d{4,9}|3\\d{9})|6(?:0\\d{7}|[12]\\d{9})))","\\d{8,13}",null,null,"1800123456"],[null,null,"140\\d{7}","\\d{10}",null,null,"1409305260"],null,null,[null,null,"NA","NA"]],IO:[null,[null,null,"3\\d{6}","\\d{7}"],[null,null,"37\\d{5}","\\d{7}",null,null,"3709100"],[null,null,"38\\d{5}","\\d{7}",null,null,"3801234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"IO",246,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],IQ:[null,[null,null,"[1-7]\\d{7,9}","\\d{6,10}"],[null,null,"1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}","\\d{6,9}",null,null,"12345678"],[null,null,"7[3-9]\\d{8}","\\d{10}",null,null,"7912345678"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"IQ",964,"00","0",null,null,"0",null,null,null,[[null,"(1)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],[null,"([2-6]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],[null,"(7\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],IR:[null,[null,null,"[1-8]\\d{9}|9(?:[0-4]\\d{8}|9\\d{2,8})","\\d{4,10}"],[null,null,"(?:1[137]|2[13-68]|3[1458]|4[145]|5[146-8]|6[146]|7[1467]|8[13467])\\d{8}","\\d{10}",null,null,"2123456789"],[null,null,"9(?:0[1-3]|[13]\\d|2[0-2]|90)\\d{7}","\\d{10}",null,null,"9123456789"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"(?:[2-6]0\\d|993)\\d{7}","\\d{10}",null,null,"9932123456"],"IR",98,"00","0",null,null,"0",null,null,null,[[null,"(21)(\\d{3,5})","$1 $2",["21"],"0$1"],[null,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["9"],"0$1"],[null,"(\\d{3})(\\d{3})","$1 $2",["9"],"0$1"]],null,[null,null,"943\\d{7}","\\d{10}",null,null,"9432123456"],null,null,[null,null,"NA","NA"],[null,null,"9990\\d{0,6}","\\d{4,10}",null,null,"9990123456"],null,null,[null,null,"NA","NA"]],IS:[null,[null,null,"[4-9]\\d{6}|38\\d{7}","\\d{7,9}"],[null,null,"(?:4(?:1[0-24-6]|2[0-7]|[37][0-8]|4[0-245]|5[0-68]|6\\d|8[0-36-8])|5(?:05|[156]\\d|2[02578]|3[013-79]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|87[23])\\d{4}","\\d{7}",null,null,"4101234"],[null,null,"38[589]\\d{6}|(?:6(?:1[1-8]|2[056]|3[089]|4[0167]|5[0159]|[67][0-69]|9\\d)|7(?:5[057]|6[0-2]|[78]\\d)|8(?:2[0-59]|3[0-4]|[469]\\d|5[1-9]))\\d{4}","\\d{7,9}",null,null,"6111234"],[null,null,"800\\d{4}","\\d{7}",null,null,"8001234"],[null,null,"90\\d{5}","\\d{7}",null,null,"9011234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"49\\d{5}","\\d{7}",null,null,"4921234"],"IS",354,"1(?:0(?:01|10|20)|100)|00",null,null,null,null,null,"00",null,[[null,"(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],[null,"(3\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"809\\d{4}","\\d{7}",null,null,"8091234"],null,null,[null,null,"(?:6(?:2[1-478]|49|8\\d)|8(?:7[0189]|80)|95[48])\\d{4}","\\d{7}",null,null,"6211234"]],IT:[null,[null,null,"[01589]\\d{5,10}|3(?:[12457-9]\\d{8}|[36]\\d{7,9})","\\d{6,11}"],[null,null,"0(?:[26]\\d{4,9}|(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2346]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[34578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7})","\\d{6,11}",null,null,"0212345678"],[null,null,"3(?:[12457-9]\\d{8}|6\\d{7,8}|3\\d{7,9})","\\d{9,11}",null,null,"3123456789"],[null,null,"80(?:0\\d{6}|3\\d{3})","\\d{6,9}",null,null,"800123456"],[null,null,"0878\\d{5}|1(?:44|6[346])\\d{6}|89(?:2\\d{3}|4(?:[0-4]\\d{2}|[5-9]\\d{4})|5(?:[0-4]\\d{2}|[5-9]\\d{6})|9\\d{6})","\\d{6,10}",null,null,"899123456"],[null,null,"84(?:[08]\\d{6}|[17]\\d{3})","\\d{6,9}",null,null,"848123456"],[null,null,"1(?:78\\d|99)\\d{6}","\\d{9,10}",null,null,"1781234567"],[null,null,"55\\d{8}","\\d{10}",null,null,"5512345678"],"IT",39,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|55"]],[null,"(0[26])(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],[null,"(0[26])(\\d{4,6})","$1 $2",["0[26]"]],[null,"(0\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]"]],[null,"(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[245])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))"]],[null,"(0\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["0[13-57-9][2-46-8]"]],[null,"(0\\d{3})(\\d{2,6})","$1 $2",["0[13-57-9][2-46-8]"]],[null,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[13]|8(?:00|4[08]|9[59])","[13]|8(?:00|4[08]|9(?:5[5-9]|9))"]],[null,"(\\d{4})(\\d{4})","$1 $2",["894","894[5-9]"]],[null,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["3"]]],null,[null,null,"NA","NA"],1,null,[null,null,"848\\d{6}","\\d{9}",null,null,"848123456"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],JE:[null,[null,null,"[135789]\\d{6,9}","\\d{6,10}"],[null,null,"1534\\d{6}","\\d{6,10}",null,null,"1534456789"],[null,null,"7(?:509|7(?:00|97)|829|937)\\d{6}","\\d{10}",null,null,"7797123456"],[null,null,"80(?:07(?:35|81)|8901)\\d{4}","\\d{10}",null,null,"8007354567"],[null,null,"(?:871206|90(?:066[59]|1810|71(?:07|55)))\\d{4}","\\d{10}",null,null,"9018105678"],[null,null,"8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|70002)\\d{4}","\\d{10}",null,null,"8447034567"],[null,null,"701511\\d{4}","\\d{10}",null,null,"7015115678"],[null,null,"56\\d{8}","\\d{10}",null,null,"5612345678"],"JE",44,"00","0"," x",null,"0",null,null,null,null,null,[null,null,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}",null,null,"7640123456"],null,null,[null,null,"NA","NA"],[null,null,"3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))\\d{4}|55\\d{8}","\\d{10}",null,null,"5512345678"],null,null,[null,null,"NA","NA"]],JM:[null,[null,null,"[589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"876(?:5(?:0[12]|1[0-468]|2[35]|63)|6(?:0[1-3579]|1[027-9]|[23]\\d|40|5[06]|6[2-589]|7[05]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468]))\\d{4}","\\d{7}(?:\\d{3})?",null,null,"8765123456"],[null,null,"876(?:2[16-9]\\d|[348]\\d{2}|5(?:0[3-9]|27|6[0-24-9]|[3-578]\\d)|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}","\\d{10}",null,null,"8762101234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"JM",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"876",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],JO:[null,[null,null,"[235-9]\\d{7,8}","\\d{8,9}"],[null,null,"(?:2(?:6(?:2[0-35-9]|3[0-57-8]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|4[0-3]|[57][023]|6[03])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2[50]0|3(?:00|33)|4(?:0[0125]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[17-8]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[02-39]))|87(?:[02]0|7[08]|90))\\d{4}","\\d{8}",null,null,"62001234"],[null,null,"7(?:55|7[025-9]|8[015-9]|9[0-25-9])\\d{6}","\\d{9}",null,null,"790123456"],[null,null,"80\\d{6}","\\d{8}",null,null,"80012345"],[null,null,"900\\d{5}","\\d{8}",null,null,"90012345"],[null,null,"85\\d{6}","\\d{8}",null,null,"85012345"],[null,null,"70\\d{7}","\\d{9}",null,null,"700123456"],[null,null,"NA","NA"],"JO",962,"00","0",null,null,"0",null,null,null,[[null,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],[null,"(7)(\\d{4})(\\d{4})","$1 $2 $3",["7[457-9]"],"0$1"],[null,"(\\d{3})(\\d{5,6})","$1 $2",["70|8[0158]|9"],"0$1"]],null,[null,null,"74(?:66|77)\\d{5}","\\d{9}",null,null,"746612345"],null,null,[null,null,"NA","NA"],[null,null,"8(?:10|8\\d)\\d{5}","\\d{8}",null,null,"88101234"],null,null,[null,null,"NA","NA"]],JP:[null,[null,null,"[1-9]\\d{8,9}|00(?:[36]\\d{7,14}|7\\d{5,7}|8\\d{7})","\\d{8,17}"],[null,null,"(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|2[2-9]\\d|[36][1-9]\\d|4(?:6[02-8]|[2-578]\\d|9[2-59])|5(?:6[1-9]|7[2-8]|[2-589]\\d)|7(?:3[4-9]|4[02-9]|[25-9]\\d)|8(?:3[2-9]|4[5-9]|5[1-9]|8[03-9]|[2679]\\d)|9(?:[679][1-9]|[2-58]\\d))\\d{6}","\\d{9}",null,null,"312345678"],[null,null,"[7-9]0[1-9]\\d{7}","\\d{10}",null,null,"9012345678"],[null,null,"120\\d{6}|800\\d{7}|00(?:37\\d{6,13}|66\\d{6,13}|777(?:[01]\\d{2}|5\\d{3}|8\\d{4})|882[1245]\\d{4})","\\d{8,17}",null,null,"120123456"],[null,null,"990\\d{6}","\\d{9}",null,null,"990123456"],[null,null,"NA","NA"],[null,null,"60\\d{7}","\\d{9}",null,null,"601234567"],[null,null,"50[1-9]\\d{7}","\\d{10}",null,null,"5012345678"],"JP",81,"010","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],[null,"(\\d{4})(\\d{4})","$1-$2",["0077"],"$1"],[null,"(\\d{4})(\\d{2})(\\d{3,4})","$1-$2-$3",["0077"],"$1"],[null,"(\\d{4})(\\d{2})(\\d{4})","$1-$2-$3",["0088"],"$1"],[null,"(\\d{4})(\\d{3})(\\d{3,4})","$1-$2-$3",["00(?:37|66)"],"$1"],[null,"(\\d{4})(\\d{4})(\\d{4,5})","$1-$2-$3",["00(?:37|66)"],"$1"],[null,"(\\d{4})(\\d{5})(\\d{5,6})","$1-$2-$3",["00(?:37|66)"],"$1"],[null,"(\\d{4})(\\d{6})(\\d{6,7})","$1-$2-$3",["00(?:37|66)"],"$1"],[null,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[2579]0|80[1-9]"],"0$1"],[null,"(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|5(?:76|97)|499|746|8(?:3[89]|63|47|51)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:76|97)9|499[2468]|7468|8(?:3(?:8[78]|96)|636|477|51[24])|9(?:496|802|9(?:1[23]|69))","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|9(?:1[23]|69))"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[03-689]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:7[2-6]|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|[4-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6[56]))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6(?:5[25]|60)))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1|2(?:2[37]|5[5-9]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5(?:[2-589]|39)|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93)","1|2(?:2[37]|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93[34])","1|2(?:2[37]|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93(?:31|4))"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["2(?:9[14-79]|74|[34]7|[56]9)|82|993"],"0$1"],[null,"(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["3|4(?:2[09]|7[01])|6[1-9]"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[2479][1-9]"],"0$1"]],[[null,"(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],[null,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[2579]0|80[1-9]"],"0$1"],[null,"(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|5(?:76|97)|499|746|8(?:3[89]|63|47|51)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:76|97)9|499[2468]|7468|8(?:3(?:8[78]|96)|636|477|51[24])|9(?:496|802|9(?:1[23]|69))","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|9(?:1[23]|69))"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[03-689]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:7[2-6]|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|[4-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6[56]))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6(?:5[25]|60)))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1|2(?:2[37]|5[5-9]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5(?:[2-589]|39)|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93)","1|2(?:2[37]|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93[34])","1|2(?:2[37]|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93(?:31|4))"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["2(?:9[14-79]|74|[34]7|[56]9)|82|993"],"0$1"],[null,"(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["3|4(?:2[09]|7[01])|6[1-9]"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[2479][1-9]"],"0$1"]],[null,null,"20\\d{8}","\\d{10}",null,null,"2012345678"],null,null,[null,null,"00(?:37\\d{6,13}|66\\d{6,13}|777(?:[01]\\d{2}|5\\d{3}|8\\d{4})|882[1245]\\d{4})","\\d{8,17}",null,null,"00777012"],[null,null,"570\\d{6}","\\d{9}",null,null,"570123456"],1,null,[null,null,"NA","NA"]],KE:[null,[null,null,"20\\d{6,7}|[4-9]\\d{6,9}","\\d{7,10}"],[null,null,"20\\d{6,7}|4(?:[0136]\\d{7}|[245]\\d{5,7})|5(?:[08]\\d{7}|[1-79]\\d{5,7})|6(?:[01457-9]\\d{5,7}|[26]\\d{7})","\\d{7,9}",null,null,"202012345"],[null,null,"7(?:[0-36]\\d|5[0-6]|[79][0-7]|8[0-25-9])\\d{6}","\\d{9}",null,null,"712123456"],[null,null,"800[24-8]\\d{5,6}","\\d{9,10}",null,null,"800223456"],[null,null,"900[02-9]\\d{5}","\\d{9}",null,null,"900223456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"KE",254,"000","0",null,null,"005|0",null,null,null,[[null,"(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],[null,"(\\d{3})(\\d{6})","$1 $2",["7"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],KG:[null,[null,null,"[235-8]\\d{8,9}","\\d{5,10}"],[null,null,"(?:3(?:1(?:[256]\\d|3[1-9]|47)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\d)|5(?:22|3[4-7]|59|6\\d)|6(?:22|5[35-7]|6\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\d)|9(?:22|4[1-8]|6\\d))|6(?:09|12|2[2-4])\\d)\\d{5}","\\d{5,10}",null,null,"312123456"],[null,null,"(?:20[0-35]|5[124-7]\\d|7[07]\\d)\\d{6}","\\d{9}",null,null,"700123456"],[null,null,"800\\d{6,7}","\\d{9,10}",null,null,"800123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"KG",996,"00","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[25-7]|31[25]"],"0$1"],[null,"(\\d{4})(\\d{5})","$1 $2",["3(?:1[36]|[2-9])"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d)(\\d{3})","$1 $2 $3 $4",["8"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],KH:[null,[null,null,"[1-9]\\d{7,9}","\\d{6,10}"],[null,null,"(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:[237-9]|4[56]|5\\d|6\\d?)\\d{5}|23(?:4[234]|8\\d{2})\\d{4}","\\d{6,9}",null,null,"23756789"],[null,null,"(?:1(?:[013-79]\\d|[28]\\d{1,2})|2[3-6]48|3(?:[18]\\d{2}|[2-6]48)|4[2-4]48|5[2-5]48|6(?:[016-9]\\d|[2-5]48)|7(?:[07-9]\\d|[16]\\d{2}|[2-5]48)|8(?:[013-79]\\d|8\\d{2})|9(?:6\\d{2}|7\\d{1,2}|[0-589]\\d))\\d{5}","\\d{8,9}",null,null,"91234567"],[null,null,"1800(?:1\\d|2[019])\\d{4}","\\d{10}",null,null,"1800123456"],[null,null,"1900(?:1\\d|2[09])\\d{4}","\\d{10}",null,null,"1900123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"KH",855,"00[14-9]","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["1\\d[1-9]|[2-9]"],"0$1"],[null,"(1[89]00)(\\d{3})(\\d{3})","$1 $2 $3",["1[89]0"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],
55
+ KI:[null,[null,null,"[2458]\\d{4}|3\\d{4,7}|7\\d{7}","\\d{5,8}"],[null,null,"(?:[24]\\d|3[1-9]|50|8[0-5])\\d{3}","\\d{5}",null,null,"31234"],[null,null,"7\\d{7}","\\d{8}",null,null,"72012345"],[null,null,"NA","NA"],[null,null,"3001\\d{4}","\\d{5,8}",null,null,"30010000"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"KI",686,"00",null,null,null,"0",null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],KM:[null,[null,null,"[379]\\d{6}","\\d{7}"],[null,null,"7(?:6[0-37-9]|7[0-57-9])\\d{4}","\\d{7}",null,null,"7712345"],[null,null,"3[234]\\d{5}","\\d{7}",null,null,"3212345"],[null,null,"NA","NA"],[null,null,"(?:39[01]|9[01]0)\\d{4}","\\d{7}",null,null,"9001234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"KM",269,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],KN:[null,[null,null,"[589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"869(?:2(?:29|36)|302|4(?:6[015-9]|70))\\d{4}","\\d{7}(?:\\d{3})?",null,null,"8692361234"],[null,null,"869(?:5(?:5[6-8]|6[5-7])|66\\d|76[02-6])\\d{4}","\\d{10}",null,null,"8697652917"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"KN",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"869",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],KP:[null,[null,null,"1\\d{9}|[28]\\d{7}","\\d{6,8}|\\d{10}"],[null,null,"2\\d{7}|85\\d{6}","\\d{6,8}",null,null,"21234567"],[null,null,"19[123]\\d{7}","\\d{10}",null,null,"1921234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"KP",850,"00|99","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],[null,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"2(?:[0-24-9]\\d{2}|3(?:[0-79]\\d|8[02-9]))\\d{4}","\\d{8}",null,null,"23821234"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],KR:[null,[null,null,"007\\d{9,11}|[1-7]\\d{3,9}|8\\d{8}","\\d{4,14}"],[null,null,"(?:2|3[1-3]|[46][1-4]|5[1-5])(?:1\\d{2,3}|[1-9]\\d{6,7})","\\d{4,10}",null,null,"22123456"],[null,null,"1[0-26-9]\\d{7,8}","\\d{9,10}",null,null,"1000000000"],[null,null,"(?:00798\\d{0,2}|80)\\d{7}","\\d{9,14}",null,null,"801234567"],[null,null,"60[2-9]\\d{6}","\\d{9}",null,null,"602345678"],[null,null,"NA","NA"],[null,null,"50\\d{8}","\\d{10}",null,null,"5012345678"],[null,null,"70\\d{8}","\\d{10}",null,null,"7012345678"],"KR",82,"00(?:[124-68]|3\\d{2}|7(?:[0-8]\\d|9[0-79]))","0",null,null,"0(8[1-46-8]|85\\d{2})?",null,null,null,[[null,"(\\d{5})(\\d{3,4})(\\d{4})","$1 $2 $3",["00798"],"$1","0$CC-$1"],[null,"(\\d{5})(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["00798"],"$1","0$CC-$1"],[null,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["1(?:0|1[19]|[69]9|5[458])|[57]0","1(?:0|1[19]|[69]9|5(?:44|59|8))|[57]0"],"0$1","0$CC-$1"],[null,"(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["1(?:[01]|5[1-4]|6[2-8]|[7-9])|[68]0|[3-6][1-9][1-9]","1(?:[01]|5(?:[1-3]|4[56])|6[2-8]|[7-9])|[68]0|[3-6][1-9][1-9]"],"0$1","0$CC-$1"],[null,"(\\d{3})(\\d)(\\d{4})","$1-$2-$3",["131","1312"],"0$1","0$CC-$1"],[null,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["131","131[13-9]"],"0$1","0$CC-$1"],[null,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["13[2-9]"],"0$1","0$CC-$1"],[null,"(\\d{2})(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3-$4",["30"],"0$1","0$CC-$1"],[null,"(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2[1-9]"],"0$1","0$CC-$1"],[null,"(\\d)(\\d{3,4})","$1-$2",["21[0-46-9]"],"0$1","0$CC-$1"],[null,"(\\d{2})(\\d{3,4})","$1-$2",["[3-6][1-9]1","[3-6][1-9]1(?:[0-46-9])"],"0$1","0$CC-$1"],[null,"(\\d{4})(\\d{4})","$1-$2",["1(?:5[46-9]|6[04678]|8[0579])","1(?:5(?:44|66|77|88|99)|6(?:00|44|6[16]|70|88)|8(?:00|55|77|99))"],"$1","0$CC-$1"]],[[null,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["1(?:0|1[19]|[69]9|5[458])|[57]0","1(?:0|1[19]|[69]9|5(?:44|59|8))|[57]0"],"0$1","0$CC-$1"],[null,"(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["1(?:[01]|5[1-4]|6[2-8]|[7-9])|[68]0|[3-6][1-9][1-9]","1(?:[01]|5(?:[1-3]|4[56])|6[2-8]|[7-9])|[68]0|[3-6][1-9][1-9]"],"0$1","0$CC-$1"],[null,"(\\d{3})(\\d)(\\d{4})","$1-$2-$3",["131","1312"],"0$1","0$CC-$1"],[null,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["131","131[13-9]"],"0$1","0$CC-$1"],[null,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["13[2-9]"],"0$1","0$CC-$1"],[null,"(\\d{2})(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3-$4",["30"],"0$1","0$CC-$1"],[null,"(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2[1-9]"],"0$1","0$CC-$1"],[null,"(\\d)(\\d{3,4})","$1-$2",["21[0-46-9]"],"0$1","0$CC-$1"],[null,"(\\d{2})(\\d{3,4})","$1-$2",["[3-6][1-9]1","[3-6][1-9]1(?:[0-46-9])"],"0$1","0$CC-$1"],[null,"(\\d{4})(\\d{4})","$1-$2",["1(?:5[46-9]|6[04678]|8[0579])","1(?:5(?:44|66|77|88|99)|6(?:00|44|6[16]|70|88)|8(?:00|55|77|99))"],"$1","0$CC-$1"]],[null,null,"15\\d{7,8}","\\d{9,10}",null,null,"1523456789"],null,null,[null,null,"00798\\d{7,9}","\\d{12,14}",null,null,"007981234567"],[null,null,"1(?:5(?:44|66|77|88|99)|6(?:00|44|6[16]|70|88)|8(?:00|55|77|99))\\d{4}","\\d{8}",null,null,"15441234"],null,null,[null,null,"NA","NA"]],KW:[null,[null,null,"[12569]\\d{6,7}","\\d{7,8}"],[null,null,"(?:18\\d|2(?:[23]\\d{2}|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7])))\\d{4}","\\d{7,8}",null,null,"22345678"],[null,null,"(?:5(?:[05]\\d{2}|1[0-7]\\d|2(?:22|5[25]))|6(?:0[034679]\\d|5[015-9]\\d|6\\d{2}|7[067]\\d|9[0369]\\d)|9(?:0[09]\\d|22\\d|4[01479]\\d|55\\d|6[0679]\\d|[79]\\d{2}|8[057-9]\\d))\\d{4}","\\d{8}",null,null,"50012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"KW",965,"00",null,null,null,null,null,null,null,[[null,"(\\d{4})(\\d{3,4})","$1 $2",["[16]|2(?:[0-35-9]|4[0-35-9])|9[024-9]|52[25]"]],[null,"(\\d{3})(\\d{5})","$1 $2",["244|5[015]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],KY:[null,[null,null,"[3589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"345(?:2(?:22|44)|444|6(?:23|38|40)|7(?:4[35-79]|6[6-9]|77)|8(?:00|1[45]|25|[48]8)|9(?:14|4[035-9]))\\d{4}","\\d{7}(?:\\d{3})?",null,null,"3452221234"],[null,null,"345(?:32[1-9]|5(?:1[67]|2[5-7]|4[6-8]|76)|9(?:1[67]|2[2-9]|3[689]))\\d{4}","\\d{10}",null,null,"3453231234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002345678"],[null,null,"900[2-9]\\d{6}|345976\\d{4}","\\d{10}",null,null,"9002345678"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"KY",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"345849\\d{4}","\\d{10}",null,null,"3458491234"],null,"345",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],KZ:[null,[null,null,"(?:33\\d|7\\d{2}|80[09])\\d{7}","\\d{10}"],[null,null,"33622\\d{5}|7(?:1(?:0(?:[23]\\d|4[023]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[1-79]|4[0-35-9]|59)|4(?:2\\d|3[013-79]|4[0-8]|5[1-79])|5(?:2\\d|3[1-8]|4[1-7]|59)|6(?:[234]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[234]\\d|5[139])|4(?:2\\d|3[1235-9]|59)|5(?:[23]\\d|4[01246-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[237]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59)))\\d{5}","\\d{10}",null,null,"7123456789"],[null,null,"7(?:0[012578]|47|6[02-4]|7[15-8]|85)\\d{7}","\\d{10}",null,null,"7710009998"],[null,null,"800\\d{7}","\\d{10}",null,null,"8001234567"],[null,null,"809\\d{7}","\\d{10}",null,null,"8091234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"751\\d{7}","\\d{10}",null,null,"7511234567"],"KZ",7,"810","8",null,null,"8",null,"8~10",null,null,null,[null,null,"NA","NA"],null,null,[null,null,"751\\d{7}","\\d{10}",null,null,"7511234567"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],LA:[null,[null,null,"[2-8]\\d{7,9}","\\d{6,10}"],[null,null,"(?:2[13]|3(?:0\\d|[14])|[5-7][14]|41|8[1468])\\d{6}","\\d{6,9}",null,null,"21212862"],[null,null,"20(?:2[2389]|5[4-689]|7[6-8]|9[15-9])\\d{6}","\\d{10}",null,null,"2023123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"LA",856,"00","0",null,null,"0",null,null,null,[[null,"(20)(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["20"],"0$1"],[null,"([2-8]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],[null,"(30)(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["30"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],LB:[null,[null,null,"[13-9]\\d{6,7}","\\d{7,8}"],[null,null,"(?:[14-6]\\d{2}|7(?:[2-57]\\d|62|8[0-7]|9[04-9])|8[02-9]\\d|9\\d{2})\\d{4}","\\d{7}",null,null,"1123456"],[null,null,"(?:3\\d|7(?:[01]\\d|6[013-9]|8[89]|9[1-3])|81\\d)\\d{5}","\\d{7,8}",null,null,"71123456"],[null,null,"NA","NA"],[null,null,"9[01]\\d{6}","\\d{8}",null,null,"90123456"],[null,null,"80\\d{6}","\\d{8}",null,null,"80123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],"LB",961,"00","0",null,null,"0",null,null,null,[[null,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-6]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]|9"],"0$1"],[null,"([7-9]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[89][01]|7(?:[01]|6[013-9]|8[89]|9[1-3])"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],LC:[null,[null,null,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"758(?:4(?:30|5[0-9]|6[2-9]|8[0-2])|57[0-2]|638)\\d{4}","\\d{7}(?:\\d{3})?",null,null,"7584305678"],[null,null,"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2[0-8]))\\d{4}","\\d{10}",null,null,"7582845678"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"LC",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"758",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],LI:[null,[null,null,"6\\d{8}|[23789]\\d{6}","\\d{7,9}"],[null,null,"(?:2(?:01|1[27]|3\\d|6[02-578]|96)|3(?:7[0135-7]|8[048]|9[0269]))\\d{4}","\\d{7}",null,null,"2345678"],[null,null,"6(?:51[01]|6(?:0[0-6]|2[016-9]|39))\\d{5}|7(?:[37-9]\\d|42|56)\\d{4}","\\d{7,9}",null,null,"660234567"],[null,null,"80(?:02[28]|9\\d{2})\\d{2}","\\d{7}",null,null,"8002222"],[null,null,"90(?:02[258]|1(?:23|3[14])|66[136])\\d{2}","\\d{7}",null,null,"9002222"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"LI",423,"00","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[23789]"]],[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[56]"]],[null,"(69)(7\\d{2})(\\d{4})","$1 $2 $3",["697"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"870(?:28|87)\\d{2}","\\d{7}",null,null,"8702812"],null,null,[null,null,"697(?:42|56|[7-9]\\d)\\d{4}","\\d{9}",null,null,"697861234"]],LK:[null,[null,null,"[1-9]\\d{8}","\\d{7,9}"],[null,null,"(?:[189]1|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\d{6}","\\d{7,9}",null,null,"112345678"],[null,null,"7[0125-8]\\d{7}","\\d{9}",null,null,"712345678"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"LK",94,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{1})(\\d{6})","$1 $2 $3",["[1-689]"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],LR:[null,[null,null,"2\\d{7,8}|[37-9]\\d{8}|4\\d{6}|5\\d{6,8}","\\d{7,9}"],[null,null,"2\\d{7}","\\d{8}",null,null,"21234567"],[null,null,"(?:330\\d|4[67]|5\\d|77\\d{2}|88\\d{2}|994\\d)\\d{5}|(?:20\\d{3}|33(?:0\\d{2}|2(?:02|5\\d))|555\\d{2}|77[0567]\\d{2}|88[068]\\d{2}|994\\d{2})\\d{4}","\\d{7,9}",null,null,"770123456"],[null,null,"NA","NA"],[null,null,"90[03]\\d{6}","\\d{9}",null,null,"900123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"332(?:0[02]|5\\d)\\d{4}","\\d{9}",null,null,"332001234"],"LR",231,"00","0",null,null,"0",null,null,null,[[null,"(2\\d)(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2579]"],"0$1"],[null,"([4-6])(\\d{3})(\\d{3})","$1 $2 $3",["[4-6]"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[38]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],LS:[null,[null,null,"[2568]\\d{7}","\\d{8}"],[null,null,"2\\d{7}","\\d{8}",null,null,"22123456"],[null,null,"[56]\\d{7}","\\d{8}",null,null,"50123456"],[null,null,"800[256]\\d{4}","\\d{8}",null,null,"80021234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"LS",266,"00",null,null,null,null,null,null,null,[[null,"(\\d{4})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],LT:[null,[null,null,"[3-9]\\d{7}","\\d{8}"],[null,null,"(?:3[1478]|4[124-6]|52)\\d{6}","\\d{8}",null,null,"31234567"],[null,null,"6\\d{7}","\\d{8}",null,null,"61234567"],[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"9(?:0[0239]|10)\\d{5}","\\d{8}",null,null,"90012345"],[null,null,"808\\d{5}","\\d{8}",null,null,"80812345"],[null,null,"700\\d{5}","\\d{8}",null,null,"70012345"],[null,null,"NA","NA"],"LT",370,"00","8",null,null,"[08]",null,null,null,[[null,"([34]\\d)(\\d{6})","$1 $2",["37|4(?:1|5[45]|6[2-4])"],"(8-$1)",null,1],[null,"([3-6]\\d{2})(\\d{5})","$1 $2",["3[148]|4(?:[24]|6[09])|528|6"],"(8-$1)",null,1],[null,"([7-9]\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"8 $1",null,1],[null,"(5)(2\\d{2})(\\d{4})","$1 $2 $3",["52[0-79]"],"(8-$1)",null,1]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"70[67]\\d{5}","\\d{8}",null,null,"70712345"],null,null,[null,null,"NA","NA"]],LU:[null,[null,null,"[24-9]\\d{3,10}|3(?:[0-46-9]\\d{2,9}|5[013-9]\\d{1,8})","\\d{4,11}"],[null,null,"(?:2[2-9]\\d{2,9}|(?:[3457]\\d{2}|8(?:0[2-9]|[13-9]\\d)|9(?:0[89]|[2-579]\\d))\\d{1,8})","\\d{4,11}",null,null,"27123456"],[null,null,"6[2679][18]\\d{6}","\\d{9}",null,null,"628123456"],[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"90[015]\\d{5}","\\d{8}",null,null,"90012345"],[null,null,"801\\d{5}","\\d{8}",null,null,"80112345"],[null,null,"70\\d{6}","\\d{8}",null,null,"70123456"],[null,null,"20(?:1\\d{5}|[2-689]\\d{1,7})","\\d{4,10}",null,null,"20201234"],"LU",352,"00",null,null,null,"(15(?:0[06]|1[12]|35|4[04]|55|6[26]|77|88|99)\\d)",null,null,null,[[null,"(\\d{2})(\\d{3})","$1 $2",["[2-5]|7[1-9]|[89](?:[1-9]|0[2-9])"],null,"$CC $1"],[null,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[2-5]|7[1-9]|[89](?:[1-9]|0[2-9])"],null,"$CC $1"],[null,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20"],null,"$CC $1"],[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"],null,"$CC $1"],[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"],null,"$CC $1"],[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"],null,"$CC $1"],[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{1,4})","$1 $2 $3 $4",["2(?:[12589]|4[12])|[3-5]|7[1-9]|8(?:[1-9]|0[2-9])|9(?:[1-9]|0[2-46-9])"],null,"$CC $1"],[null,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["70|80[01]|90[015]"],null,"$CC $1"],[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"],null,"$CC $1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],LV:[null,[null,null,"[2689]\\d{7}","\\d{8}"],[null,null,"6[3-8]\\d{6}","\\d{8}",null,null,"63123456"],[null,null,"2\\d{7}","\\d{8}",null,null,"21234567"],[null,null,"80\\d{6}","\\d{8}",null,null,"80123456"],[null,null,"90\\d{6}","\\d{8}",null,null,"90123456"],[null,null,"81\\d{6}","\\d{8}",null,null,"81123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],"LV",371,"00",null,null,null,null,null,null,null,[[null,"([2689]\\d)(\\d{3})(\\d{3})","$1 $2 $3"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],LY:[null,[null,null,"[25679]\\d{8}","\\d{7,9}"],[null,null,"(?:2[1345]|5[1347]|6[123479]|71)\\d{7}","\\d{7,9}",null,null,"212345678"],[null,null,"9[1-6]\\d{7}","\\d{9}",null,null,"912345678"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"LY",218,"00","0",null,null,"0",null,null,null,[[null,"([25679]\\d)(\\d{7})","$1-$2",null,"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MA:[null,[null,null,"[5689]\\d{8}","\\d{9}"],[null,null,"5(?:2(?:(?:[015-7]\\d|2[02-9]|3[2-57]|4[2-8]|8[235-7])\\d|9(?:0\\d|[89]0))|3(?:(?:[0-4]\\d|[57][2-9]|6[235-8]|9[3-9])\\d|8(?:0\\d|[89]0)))\\d{4}","\\d{9}",null,null,"520123456"],[null,null,"6(?:0[0-8]|[12-79]\\d|8[017])\\d{6}","\\d{9}",null,null,"650123456"],[null,null,"80\\d{7}","\\d{9}",null,null,"801234567"],[null,null,"89\\d{7}","\\d{9}",null,null,"891234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"MA",212,"00","0",null,null,"0",null,null,null,[[null,"([56]\\d{2})(\\d{6})","$1-$2",["5(?:2[015-7]|3[0-4])|6"],"0$1"],[null,"([58]\\d{3})(\\d{5})","$1-$2",["5(?:2[2-489]|3[5-9])|892","5(?:2(?:[2-48]|90)|3(?:[5-79]|80))|892"],"0$1"],[null,"(5\\d{4})(\\d{4})","$1-$2",["5(?:29|38)","5(?:29|38)[89]"],"0$1"],[null,"(8[09])(\\d{7})","$1-$2",["8(?:0|9[013-9])"],"0$1"]],null,[null,null,"NA","NA"],1,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MC:[null,[null,null,"[4689]\\d{7,8}","\\d{8,9}"],[null,null,"870\\d{5}|9[2-47-9]\\d{6}","\\d{8}",null,null,"99123456"],[null,null,"6\\d{8}|4(?:4\\d|5[1-9])\\d{5}","\\d{8,9}",null,null,"612345678"],[null,null,"90\\d{6}","\\d{8}",null,null,"90123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"MC",377,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"$1"],[null,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],[null,"(6)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["8"],"$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"8\\d{7}","\\d{8}"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MD:[null,[null,null,"[235-9]\\d{7}","\\d{8}"],[null,null,"(?:2(?:1[0569]|2\\d|3[015-7]|4[1-46-9]|5[0-24689]|6[2-589]|7[1-37]|9[1347-9])|5(?:33|5[257]))\\d{5}","\\d{8}",null,null,"22212345"],[null,null,"(?:562\\d|6(?:[089]\\d{2}|[12][01]\\d|7(?:[1-6]\\d|7[0-4]))|7(?:6[07]|7[457-9]|[89]\\d)\\d)\\d{4}","\\d{8}",null,null,"62112345"],[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"90[056]\\d{5}","\\d{8}",null,null,"90012345"],[null,null,"808\\d{5}","\\d{8}",null,null,"80812345"],[null,null,"NA","NA"],[null,null,"3[08]\\d{6}","\\d{8}",null,null,"30123456"],"MD",373,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],[null,"([25-7]\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["2[13-79]|[5-7]"],"0$1"],[null,"([89]\\d{2})(\\d{5})","$1 $2",["[89]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"8(?:03|14)\\d{5}","\\d{8}",null,null,"80312345"],null,null,[null,null,"NA","NA"]],ME:[null,[null,null,"[2-9]\\d{7,8}","\\d{6,9}"],[null,null,"(?:20[2-8]|3(?:0[2-7]|[12][35-7]|3[4-7])|4(?:0[2367]|1[267])|5(?:0[467]|1[267]|2[367]))\\d{5}","\\d{6,8}",null,null,"30234567"],[null,null,"6(?:00\\d|32\\d|[89]\\d{2}|61\\d|7(?:[0-8]\\d|9(?:[3-9]|[0-2]\\d)))\\d{4}","\\d{8,9}",null,null,"67622901"],[null,null,"80\\d{6}","\\d{8}",null,null,"80080002"],[null,null,"(?:9(?:4[1568]|5[178]))\\d{5}","\\d{8}",null,null,"94515151"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"78[1-9]\\d{5}","\\d{8}",null,null,"78108780"],"ME",382,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]|6[036-9]","[2-57-9]|6(?:[03689]|7(?:[0-8]|9[3-9]))"],"0$1"],[null,"(67)(9)(\\d{3})(\\d{3})","$1 $2 $3 $4",["679","679[0-2]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"77\\d{6}","\\d{8}",null,null,"77273012"],null,null,[null,null,"NA","NA"]],MF:[null,[null,null,"[56]\\d{8}","\\d{9}"],[null,null,"590(?:[02][79]|13|5[0-268]|[78]7)\\d{4}","\\d{9}",null,null,"590271234"],[null,null,"690(?:0[0-7]|[1-9]\\d)\\d{4}","\\d{9}",null,null,"690301234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"MF",590,"00","0",null,null,"0",null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MG:[null,[null,null,"[23]\\d{8}","\\d{7,9}"],[null,null,"20(?:2\\d{2}|4[47]\\d|5[3467]\\d|6[279]\\d|7(?:2[29]|[35]\\d)|8[268]\\d|9[245]\\d)\\d{4}","\\d{7,9}",null,null,"202123456"],[null,null,"3[2-49]\\d{7}","\\d{9}",null,null,"321234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"22\\d{7}","\\d{9}",null,null,"221234567"],"MG",261,"00","0",null,null,"0",null,null,null,[[null,"([23]\\d)(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",null,"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MH:[null,[null,null,"[2-6]\\d{6}","\\d{7}"],[null,null,"(?:247|528|625)\\d{4}","\\d{7}",null,null,"2471234"],[null,null,"(?:235|329|45[56]|545)\\d{4}","\\d{7}",null,null,"2351234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"635\\d{4}","\\d{7}",null,null,"6351234"],"MH",692,"011","1",null,null,"1",null,null,null,[[null,"(\\d{3})(\\d{4})","$1-$2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MK:[null,[null,null,"[2-578]\\d{7}","\\d{8}"],[null,null,"(?:2(?:[23]\\d|5[124578]|6[01])|3(?:1[3-6]|[23][2-6]|4[2356])|4(?:[23][2-6]|4[3-6]|5[256]|6[25-8]|7[24-6]|8[4-6]))\\d{5}","\\d{6,8}",null,null,"22212345"],[null,null,"7(?:[0-25-8]\\d{2}|32\\d|421)\\d{4}","\\d{8}",null,null,"72345678"],[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"5[02-9]\\d{6}","\\d{8}",null,null,"50012345"],[null,null,"8(?:0[1-9]|[1-9]\\d)\\d{5}","\\d{8}",null,null,"80123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],"MK",389,"00","0",null,null,"0",null,null,null,[[null,"(2)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],[null,"([347]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],[null,"([58]\\d{2})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],ML:[null,[null,null,"[246-9]\\d{7}","\\d{8}"],[null,null,"(?:2(?:0(?:2\\d|7[0-8])|1(?:2[5-7]|[3-689]\\d))|44[1239]\\d)\\d{4}","\\d{8}",null,null,"20212345"],[null,null,"(?:2(?:079|17\\d)|[679]\\d{3}|8[239]\\d{2})\\d{4}","\\d{8}",null,null,"65012345"],[null,null,"80\\d{6}","\\d{8}",null,null,"80012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"ML",223,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[246-9]"]],[null,"(\\d{4})","$1",["67|74"]]],[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[246-9]"]]],[null,null,"NA","NA"],null,null,[null,null,"80\\d{6}","\\d{8}",null,null,"80012345"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MM:[null,[null,null,"[14578]\\d{5,7}|[26]\\d{5,8}|9(?:2\\d{0,2}|[58]|3\\d|4\\d{1,2}|6\\d?|[79]\\d{0,2})\\d{6}","\\d{5,10}"],[null,null,"1(?:2\\d{1,2}|[3-5]\\d|6\\d?|[89][0-6]\\d)\\d{4}|2(?:2(?:000\\d{3}|\\d{4})|3\\d{4}|4(?:0\\d{5}|\\d{4})|5(?:1\\d{3,6}|[02-9]\\d{3,5})|[6-9]\\d{4})|4(?:2[245-8]|[346][2-6]|5[3-5])\\d{4}|5(?:2(?:20?|[3-8])|3[2-68]|4(?:21?|[4-8])|5[23]|6[2-4]|7[2-8]|8[24-7]|9[2-7])\\d{4}|6(?:0[23]|1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7(?:[2367]|4\\d|5\\d?|8[145]\\d)|8[245]|9[24])\\d{4}|7(?:[04][24-8]|[15][2-7]|22|3[2-4])\\d{4}|8(?:1(?:2\\d{1,2}|[3-689]\\d)|2(?:2\\d|3(?:\\d|20)|[4-8]\\d)|3[24]\\d|4[24-7]\\d|5[245]\\d|6[23]\\d)\\d{3}","\\d{5,9}",null,null,"1234567"],[null,null,"17[01]\\d{4}|9(?:2(?:[0-4]|5\\d{2}|6[0-5]\\d)|3[0-36]\\d|4(?:0[0-4]\\d|[1379]\\d|2\\d{2}|4[0-589]\\d|5\\d{2}|88)|5[0-6]|61?\\d|7(?:3\\d|[789]\\d{2})|8\\d|9(?:1\\d|[67]\\d{2}|[089]))\\d{5}","\\d{7,10}",null,null,"92123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"1333\\d{4}","\\d{8}",null,null,"13331234"],"MM",95,"00","0",null,null,"0",null,null,null,[[null,"(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["1|2[245]"],"0$1"],[null,"(2)(\\d{4})(\\d{4})","$1 $2 $3",["251"],"0$1"],[null,"(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["67|81"],"0$1"],[null,"(\\d{2})(\\d{2})(\\d{3,4})","$1 $2 $3",["[4-8]"],"0$1"],[null,"(9)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],[null,"(9)([34]\\d{4})(\\d{4})","$1 $2 $3",["9(?:3[0-36]|4[0-57-9])"],"0$1"],[null,"(9)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92[56]"],"0$1"],[null,"(9)(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3 $4",["93"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MN:[null,[null,null,"[12]\\d{7,9}|[57-9]\\d{7}","\\d{6,10}"],[null,null,"[12](?:1\\d|2(?:[1-3]\\d?|7\\d)|3[2-8]\\d{1,2}|4[2-68]\\d{1,2}|5[1-4689]\\d{1,2})\\d{5}|5[0568]\\d{6}","\\d{6,10}",null,null,"50123456"],[null,null,"(?:8(?:[05689]\\d|3[01])|9[013-9]\\d)\\d{5}","\\d{8}",null,null,"88123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"7[05-8]\\d{6}","\\d{8}",null,null,"75123456"],"MN",976,"001","0",null,null,"0",null,null,null,[[null,"([12]\\d)(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],[null,"([12]2\\d)(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],[null,"([12]\\d{3})(\\d{5})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)2"],"0$1"],[null,"(\\d{4})(\\d{4})","$1 $2",["[57-9]"],"$1"],[null,"([12]\\d{4})(\\d{4,5})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)[4-9]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MO:[null,[null,null,"[268]\\d{7}","\\d{8}"],[null,null,"(?:28[2-57-9]|8[2-57-9]\\d)\\d{5}","\\d{8}",null,null,"28212345"],[null,null,"6(?:[2356]\\d|8[158])\\d{5}","\\d{8}",null,null,"66123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"MO",853,"00",null,null,null,null,null,null,null,[[null,"([268]\\d{3})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MP:[null,[null,null,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"670(?:2(?:3[3-7]|56|8[5-8])|32[1238]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[589]|8[3-9]8|989)\\d{4}","\\d{7}(?:\\d{3})?",null,null,"6702345678"],[null,null,"670(?:2(?:3[3-7]|56|8[5-8])|32[1238]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[589]|8[3-9]8|989)\\d{4}","\\d{7}(?:\\d{3})?",null,null,"6702345678"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"MP",1,"011","1",null,null,"1",null,null,1,null,null,[null,null,"NA","NA"],null,"670",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MQ:[null,[null,null,"[56]\\d{8}","\\d{9}"],[null,null,"596(?:0[2-5]|[12]0|3[05-9]|4[024-8]|[5-7]\\d|89|9[4-8])\\d{4}","\\d{9}",null,null,"596301234"],[null,null,"696(?:[0-479]\\d|5[01]|8[0-689])\\d{4}","\\d{9}",null,null,"696201234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"MQ",596,"00","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",null,"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MR:[null,[null,null,"[2-48]\\d{7}","\\d{8}"],[null,null,"25[08]\\d{5}|35\\d{6}|45[1-7]\\d{5}","\\d{8}",null,null,"35123456"],[null,null,"[234][0-46-9]\\d{6}","\\d{8}",null,null,"22123456"],[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"MR",222,"00",null,null,null,null,null,null,null,[[null,"([2-48]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MS:[null,[null,null,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"664491\\d{4}","\\d{7}(?:\\d{3})?",null,null,"6644912345"],[null,null,"66449[2-6]\\d{4}","\\d{10}",null,null,"6644923456"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"MS",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"664",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MT:[null,[null,null,"[2357-9]\\d{7}","\\d{8}"],[null,null,"2(?:0(?:1[0-6]|3[1-4]|[69]\\d)|[1-357]\\d{2})\\d{4}","\\d{8}",null,null,"21001234"],[null,null,"(?:7(?:210|[79]\\d{2})|9(?:2(?:1[01]|31)|696|8(?:1[1-3]|89|97)|9\\d{2}))\\d{4}","\\d{8}",null,null,"96961234"],[null,null,"800[3467]\\d{4}","\\d{8}",null,null,"80071234"],[null,null,"5(?:0(?:0(?:37|43)|6\\d{2}|70\\d|9[0168])|[12]\\d0[1-5])\\d{3}","\\d{8}",null,null,"50037123"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"3550\\d{4}","\\d{8}",null,null,"35501234"],"MT",356,"00",null,null,null,null,null,null,null,[[null,"(\\d{4})(\\d{4})","$1 $2"]],null,[null,null,"7117\\d{4}","\\d{8}",null,null,"71171234"],null,null,[null,null,"NA","NA"],[null,null,"501\\d{5}","\\d{8}",null,null,"50112345"],null,null,[null,null,"NA","NA"]],MU:[null,[null,null,"[2-9]\\d{6,7}","\\d{7,8}"],[null,null,"(?:2(?:[03478]\\d|1[0-7]|6[1-69])|4(?:[013568]\\d|2[4-7])|5(?:44\\d|471)|6\\d{2}|8(?:14|3[129]))\\d{4}","\\d{7,8}",null,null,"2012345"],[null,null,"5(?:2[59]\\d|4(?:2[1-389]|4\\d|7[1-9]|9\\d)|7\\d{2}|8(?:[0-2568]\\d|7[15-8])|9[0-8]\\d)\\d{4}","\\d{8}",null,null,"52512345"],[null,null,"80[012]\\d{4}","\\d{7}",null,null,"8001234"],[null,null,"30\\d{5}","\\d{7}",null,null,"3012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"3(?:20|9\\d)\\d{4}","\\d{7}",null,null,"3201234"],"MU",230,"0(?:0|[2-7]0|33)",null,null,null,null,null,"020",null,[[null,"([2-46-9]\\d{2})(\\d{4})","$1 $2",["[2-46-9]"]],[null,"(5\\d{3})(\\d{4})","$1 $2",["5"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MV:[null,[null,null,"[3467]\\d{6}|9(?:00\\d{7}|\\d{6})","\\d{7,10}"],[null,null,"(?:3(?:0[01]|3[0-59])|6(?:[567][02468]|8[024689]|90))\\d{4}","\\d{7}",null,null,"6701234"],[null,null,"(?:46[46]|7[3-9]\\d|9[15-9]\\d)\\d{4}","\\d{7}",null,null,"7712345"],[null,null,"NA","NA"],[null,null,"900\\d{7}","\\d{10}",null,null,"9001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"MV",960,"0(?:0|19)",null,null,null,null,null,"00",null,[[null,"(\\d{3})(\\d{4})","$1-$2",["[3467]|9(?:[1-9]|0[1-9])"]],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["900"]]],null,[null,null,"781\\d{4}","\\d{7}",null,null,"7812345"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],
56
+ MW:[null,[null,null,"(?:1(?:\\d{2})?|[2789]\\d{2})\\d{6}","\\d{7,9}"],[null,null,"(?:1[2-9]|21\\d{2})\\d{5}","\\d{7,9}",null,null,"1234567"],[null,null,"(?:111|77\\d|88\\d|99\\d)\\d{6}","\\d{9}",null,null,"991234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"MW",265,"00","0",null,null,"0",null,null,null,[[null,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1"],"0$1"],[null,"(2\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1789]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MX:[null,[null,null,"[1-9]\\d{9,10}","\\d{7,11}"],[null,null,"(?:33|55|81)\\d{8}|(?:2(?:0[01]|2[2-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-6][1-9]|[37][1-8]|8[1-35-9]|9[2-689])|5(?:88|9[1-79])|6(?:1[2-68]|[234][1-9]|5[1-3689]|6[12457-9]|7[1-7]|8[67]|9[4-8])|7(?:[13467][1-9]|2[1-8]|5[13-9]|8[1-69]|9[17])|8(?:2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))\\d{7}","\\d{7,10}",null,null,"2221234567"],[null,null,"1(?:(?:33|55|81)\\d{8}|(?:2(?:2[2-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-6][1-9]|[37][1-8]|8[1-35-9]|9[2-689])|5(?:88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[12457-9]|7[1-7]|8[67]|9[4-8])|7(?:[13467][1-9]|2[1-8]|5[13-9]|8[1-69]|9[17])|8(?:2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))\\d{7})","\\d{11}",null,null,"12221234567"],[null,null,"8(?:00|88)\\d{7}","\\d{10}",null,null,"8001234567"],[null,null,"900\\d{7}","\\d{10}",null,null,"9001234567"],[null,null,"300\\d{7}","\\d{10}",null,null,"3001234567"],[null,null,"500\\d{7}","\\d{10}",null,null,"5001234567"],[null,null,"NA","NA"],"MX",52,"0[09]","01",null,null,"0[12]|04[45](\\d{10})","1$1",null,null,[[null,"([358]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["33|55|81"],"01 $1",null,1],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2467]|3[0-2457-9]|5[089]|8[02-9]|9[0-35-9]"],"01 $1",null,1],[null,"(1)([358]\\d)(\\d{4})(\\d{4})","044 $2 $3 $4",["1(?:33|55|81)"],"$1",null,1],[null,"(1)(\\d{3})(\\d{3})(\\d{4})","044 $2 $3 $4",["1(?:[2467]|3[0-2457-9]|5[089]|8[2-9]|9[1-35-9])"],"$1",null,1]],[[null,"([358]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["33|55|81"],"01 $1",null,1],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2467]|3[0-2457-9]|5[089]|8[02-9]|9[0-35-9]"],"01 $1",null,1],[null,"(1)([358]\\d)(\\d{4})(\\d{4})","$1 $2 $3 $4",["1(?:33|55|81)"]],[null,"(1)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1(?:[2467]|3[0-2457-9]|5[089]|8[2-9]|9[1-35-9])"]]],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],MY:[null,[null,null,"[13-9]\\d{7,9}","\\d{6,10}"],[null,null,"(?:3[2-9]\\d|[4-9][2-9])\\d{6}","\\d{6,9}",null,null,"323456789"],[null,null,"1(?:1[1-5]\\d{2}|[02-4679][2-9]\\d|59\\d{2}|8(?:1[23]|[2-9]\\d))\\d{5}","\\d{9,10}",null,null,"123456789"],[null,null,"1[378]00\\d{6}","\\d{10}",null,null,"1300123456"],[null,null,"1600\\d{6}","\\d{10}",null,null,"1600123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"154\\d{7}","\\d{10}",null,null,"1541234567"],"MY",60,"00","0",null,null,"0",null,null,null,[[null,"([4-79])(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],[null,"(3)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],[null,"([18]\\d)(\\d{3})(\\d{3,4})","$1-$2 $3",["1[02-46-9][1-9]|8"],"0$1"],[null,"(1)([36-8]00)(\\d{2})(\\d{4})","$1-$2-$3-$4",["1[36-8]0"]],[null,"(11)(\\d{4})(\\d{4})","$1-$2 $3",["11"],"0$1"],[null,"(15[49])(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],MZ:[null,[null,null,"[28]\\d{7,8}","\\d{8,9}"],[null,null,"2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}","\\d{8}",null,null,"21123456"],[null,null,"8[23467]\\d{7}","\\d{9}",null,null,"821234567"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"MZ",258,"00",null,null,null,null,null,null,null,[[null,"([28]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-7]"]],[null,"(80\\d)(\\d{3})(\\d{3})","$1 $2 $3",["80"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],NA:[null,[null,null,"[68]\\d{7,8}","\\d{8,9}"],[null,null,"6(?:1(?:17|2(?:[0189]\\d|[2-6]|7\\d?)|3(?:[01378]|2\\d)|4(?:[024]|10?|3[15]?)|69|7[014])|2(?:17|5(?:[0-36-8]|4\\d?)|69|70)|3(?:17|2(?:[0237]\\d?|[14-689])|34|6[289]|7[01]|81)|4(?:17|2(?:[012]|7?)|4(?:[06]|1\\d?)|5(?:[01357]|[25]\\d?)|69|7[01])|5(?:17|2(?:[0459]|[23678]\\d?)|69|7[01])|6(?:17|2(?:5|6\\d?)|38|42|69|7[01])|7(?:17|2(?:[569]|[234]\\d?)|3(?:0\\d?|[13])|69|7[01]))\\d{4}","\\d{8,9}",null,null,"61221234"],[null,null,"(?:60|8[125])\\d{7}","\\d{9}",null,null,"811234567"],[null,null,"NA","NA"],[null,null,"8701\\d{5}","\\d{9}",null,null,"870123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"8(?:3\\d{2}|86)\\d{5}","\\d{8,9}",null,null,"88612345"],"NA",264,"00","0",null,null,"0",null,null,null,[[null,"(8\\d)(\\d{3})(\\d{4})","$1 $2 $3",["8[1235]"],"0$1"],[null,"(6\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],[null,"(88)(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],[null,"(870)(\\d{3})(\\d{3})","$1 $2 $3",["870"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],NC:[null,[null,null,"[2-57-9]\\d{5}","\\d{6}"],[null,null,"(?:2[03-9]|3[0-5]|4[1-7]|88)\\d{4}","\\d{6}",null,null,"201234"],[null,null,"(?:5[0-4]|[79]\\d|8[0-79])\\d{4}","\\d{6}",null,null,"751234"],[null,null,"NA","NA"],[null,null,"36\\d{4}","\\d{6}",null,null,"366711"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"NC",687,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[2-46-9]|5[0-4]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],NE:[null,[null,null,"[0289]\\d{7}","\\d{8}"],[null,null,"2(?:0(?:20|3[1-7]|4[134]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}","\\d{8}",null,null,"20201234"],[null,null,"(?:8[089]|9\\d)\\d{6}","\\d{8}",null,null,"93123456"],[null,null,"08\\d{6}","\\d{8}",null,null,"08123456"],[null,null,"09\\d{6}","\\d{8}",null,null,"09123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"NE",227,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[289]|09"]],[null,"(08)(\\d{3})(\\d{3})","$1 $2 $3",["08"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],NF:[null,[null,null,"[13]\\d{5}","\\d{5,6}"],[null,null,"(?:1(?:06|17|28|39)|3[012]\\d)\\d{3}","\\d{5,6}",null,null,"106609"],[null,null,"3[58]\\d{4}","\\d{5,6}",null,null,"381234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"NF",672,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{4})","$1 $2",["1"]],[null,"(\\d)(\\d{5})","$1 $2",["3"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],NG:[null,[null,null,"[1-6]\\d{5,8}|9\\d{5,9}|[78]\\d{5,13}","\\d{5,14}"],[null,null,"[12]\\d{6,7}|9(?:0[3-9]|[1-9]\\d)\\d{5}|(?:3\\d|4[023568]|5[02368]|6[02-469]|7[4-69]|8[2-9])\\d{6}|(?:4[47]|5[14579]|6[1578]|7[0-357])\\d{5,6}|(?:78|41)\\d{5}","\\d{5,9}",null,null,"12345678"],[null,null,"(?:1(?:7[34]\\d|8(?:04|[124579]\\d|8[0-3])|95\\d)|287[0-7]|3(?:18[1-8]|88[0-7]|9(?:8[5-9]|6[1-5]))|4(?:28[0-2]|6(?:7[1-9]|8[02-47])|88[0-2])|5(?:2(?:7[7-9]|8\\d)|38[1-79]|48[0-7]|68[4-7])|6(?:2(?:7[7-9]|8\\d)|4(?:3[7-9]|[68][129]|7[04-69]|9[1-8])|58[0-2]|98[7-9])|7(?:38[0-7]|69[1-8]|78[2-4])|8(?:28[3-9]|38[0-2]|4(?:2[12]|3[147-9]|5[346]|7[4-9]|8[014-689]|90)|58[1-8]|78[2-9]|88[5-7])|98[07]\\d)\\d{4}|(?:70[1-689]\\d|8(?:0(?:1[01]|[2-9]\\d)|1(?:[0-8]\\d|9[01]))|90[23589]\\d)\\d{6}","\\d{8,10}",null,null,"8021234567"],[null,null,"800\\d{7,11}","\\d{10,14}",null,null,"80017591759"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"NG",234,"009","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["70|8[01]|90[23589]"],"0$1"],[null,"(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|9(?:0[3-9]|[1-9])"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-6]|7(?:[1-79]|0[1-9])|8[2-9]"],"0$1"],[null,"([78]00)(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]00"],"0$1"],[null,"([78]00)(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]00"],"0$1"],[null,"(78)(\\d{2})(\\d{3})","$1 $2 $3",["78"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"700\\d{7,11}","\\d{10,14}",null,null,"7001234567"],null,null,[null,null,"NA","NA"]],NI:[null,[null,null,"[12578]\\d{7}","\\d{8}"],[null,null,"2\\d{7}","\\d{8}",null,null,"21234567"],[null,null,"5(?:5[0-7]\\d{5}|[78]\\d{6})|7[5-8]\\d{6}|8\\d{7}","\\d{8}",null,null,"81234567"],[null,null,"1800\\d{4}","\\d{8}",null,null,"18001234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"NI",505,"00",null,null,null,null,null,null,null,[[null,"(\\d{4})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],NL:[null,[null,null,"1\\d{4,8}|[2-7]\\d{8}|[89]\\d{6,9}","\\d{5,10}"],[null,null,"(?:1[0135-8]|2[02-69]|3[0-68]|4[0135-9]|[57]\\d|8[478])\\d{7}","\\d{9}",null,null,"101234567"],[null,null,"6[1-58]\\d{7}","\\d{9}",null,null,"612345678"],[null,null,"800\\d{4,7}","\\d{7,10}",null,null,"8001234"],[null,null,"90[069]\\d{4,7}","\\d{7,10}",null,null,"9061234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"85\\d{7}","\\d{9}",null,null,"851234567"],"NL",31,"00","0",null,null,"0",null,null,null,[[null,"([1-578]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1[035]|2[0346]|3[03568]|4[0356]|5[0358]|7|8[4578]"],"0$1"],[null,"([1-5]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],[null,"(6)(\\d{8})","$1 $2",["6[0-57-9]"],"0$1"],[null,"(66)(\\d{7})","$1 $2",["66"],"0$1"],[null,"(14)(\\d{3,4})","$1 $2",["14"],"$1"],[null,"([89]0\\d)(\\d{4,7})","$1 $2",["80|9"],"0$1"]],null,[null,null,"66\\d{7}","\\d{9}",null,null,"662345678"],null,null,[null,null,"14\\d{3,4}","\\d{5,6}"],[null,null,"140(?:1(?:[035]|[16-8]\\d)|2(?:[0346]|[259]\\d)|3(?:[03568]|[124]\\d)|4(?:[0356]|[17-9]\\d)|5(?:[0358]|[124679]\\d)|7\\d|8[458])","\\d{5,6}",null,null,"14020"],null,null,[null,null,"NA","NA"]],NO:[null,[null,null,"0\\d{4}|[2-9]\\d{7}","\\d{5}(?:\\d{3})?"],[null,null,"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\d{6}","\\d{8}",null,null,"21234567"],[null,null,"(?:4[015-8]|5[89]|87|9\\d)\\d{6}","\\d{8}",null,null,"40612345"],[null,null,"80[01]\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"82[09]\\d{5}","\\d{8}",null,null,"82012345"],[null,null,"810(?:0[0-6]|[2-8]\\d)\\d{3}","\\d{8}",null,null,"81021234"],[null,null,"880\\d{5}","\\d{8}",null,null,"88012345"],[null,null,"85[0-5]\\d{5}","\\d{8}",null,null,"85012345"],"NO",47,"00",null,null,null,null,null,null,null,[[null,"([489]\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[489]"]],[null,"([235-7]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-7]"]]],null,[null,null,"NA","NA"],1,null,[null,null,"NA","NA"],[null,null,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?",null,null,"01234"],1,null,[null,null,"81[23]\\d{5}","\\d{8}",null,null,"81212345"]],NP:[null,[null,null,"[1-8]\\d{7}|9(?:[1-69]\\d{6,8}|7[2-6]\\d{5,7}|8\\d{8})","\\d{6,10}"],[null,null,"(?:1[0-6]\\d|2[13-79][2-6]|3[135-8][2-6]|4[146-9][2-6]|5[135-7][2-6]|6[13-9][2-6]|7[15-9][2-6]|8[1-46-9][2-6]|9[1-79][2-6])\\d{5}","\\d{6,8}",null,null,"14567890"],[null,null,"9(?:6[013]|7[245]|8[0-24-6])\\d{7}","\\d{10}",null,null,"9841234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"NP",977,"00","0",null,null,"0",null,null,null,[[null,"(1)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],[null,"(\\d{2})(\\d{6})","$1-$2",["1[01]|[2-8]|9(?:[1-69]|7[15-9])"],"0$1"],[null,"(9\\d{2})(\\d{7})","$1-$2",["9(?:6[013]|7[245]|8)"],"$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],NR:[null,[null,null,"[458]\\d{6}","\\d{7}"],[null,null,"(?:444|888)\\d{4}","\\d{7}",null,null,"4441234"],[null,null,"55[5-9]\\d{4}","\\d{7}",null,null,"5551234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"NR",674,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],NU:[null,[null,null,"[1-5]\\d{3}","\\d{4}"],[null,null,"[34]\\d{3}","\\d{4}",null,null,"4002"],[null,null,"[125]\\d{3}","\\d{4}",null,null,"1234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"NU",683,"00",null,null,null,null,null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],NZ:[null,[null,null,"6[235-9]\\d{6}|[2-57-9]\\d{7,10}","\\d{7,11}"],[null,null,"(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\d{6}|24099\\d{3}","\\d{7,8}",null,null,"32345678"],[null,null,"2(?:[028]\\d{7,8}|1(?:[03]\\d{5,7}|[12457]\\d{5,6}|[689]\\d{5})|[79]\\d{7})","\\d{8,10}",null,null,"211234567"],[null,null,"508\\d{6,7}|80\\d{6,8}","\\d{8,10}",null,null,"800123456"],[null,null,"90\\d{7,9}","\\d{9,11}",null,null,"900123456"],[null,null,"NA","NA"],[null,null,"70\\d{7}","\\d{9}",null,null,"701234567"],[null,null,"NA","NA"],"NZ",64,"0(?:0|161)","0",null,null,"0",null,"00",null,[[null,"([34679])(\\d{3})(\\d{4})","$1-$2 $3",["[346]|7[2-57-9]|9[1-9]"],"0$1"],[null,"(24099)(\\d{3})","$1 $2",["240","2409","24099"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["21"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:1[1-9]|[69]|7[0-35-9])|70|86"],"0$1"],[null,"(2\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["2[028]"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|5|[89]0"],"0$1"]],null,[null,null,"[28]6\\d{6,7}","\\d{8,9}",null,null,"26123456"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],OM:[null,[null,null,"(?:5|[279]\\d)\\d{6}|800\\d{5,6}","\\d{7,9}"],[null,null,"2[2-6]\\d{6}","\\d{8}",null,null,"23123456"],[null,null,"7[19]\\d{6}|9(?:0[1-9]|[1-9]\\d)\\d{5}","\\d{8}",null,null,"92123456"],[null,null,"8007\\d{4,5}|500\\d{4}","\\d{7,9}",null,null,"80071234"],[null,null,"900\\d{5}","\\d{8}",null,null,"90012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"OM",968,"00",null,null,null,null,null,null,null,[[null,"(2\\d)(\\d{6})","$1 $2",["2"]],[null,"([79]\\d{3})(\\d{4})","$1 $2",["[79]"]],[null,"([58]00)(\\d{4,6})","$1 $2",["[58]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],PA:[null,[null,null,"[1-9]\\d{6,7}","\\d{7,8}"],[null,null,"(?:1(?:0[0-8]|1[49]|2[37]|3[0137]|4[147]|5[05]|6[58]|7[0167]|8[58]|9[139])|2(?:[0235679]\\d|1[0-7]|4[04-9]|8[028])|3(?:[09]\\d|1[014-7]|2[0-3]|3[03]|4[03-57]|55|6[068]|7[06-8]|8[06-9])|4(?:3[013-69]|4\\d|7[0-589])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-267]|3[06]|[469]0|5[06-9]|7[0-24-79]|8[7-9])|8(?:09|[34]\\d|5[0134]|8[02])|9(?:0[6-9]|1[016-8]|2[036-8]|3[3679]|40|5[0489]|6[06-9]|7[046-9]|8[36-8]|9[1-9]))\\d{4}","\\d{7}",null,null,"2001234"],[null,null,"(?:1[16]1|21[89]|8(?:1[01]|7[23]))\\d{4}|6(?:[024-9]\\d|1[0-5]|3[0-24-9])\\d{5}","\\d{7,8}",null,null,"60012345"],[null,null,"80[09]\\d{4}","\\d{7}",null,null,"8001234"],[null,null,"(?:779|8(?:55|60|7[78])|9(?:00|81))\\d{4}","\\d{7}",null,null,"8601234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"PA",507,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],[null,"(\\d{4})(\\d{4})","$1-$2",["6"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],PE:[null,[null,null,"[14-9]\\d{7,8}","\\d{6,9}"],[null,null,"(?:1\\d|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])\\d{6}","\\d{6,8}",null,null,"11234567"],[null,null,"9\\d{8}","\\d{9}",null,null,"912345678"],[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"805\\d{5}","\\d{8}",null,null,"80512345"],[null,null,"801\\d{5}","\\d{8}",null,null,"80112345"],[null,null,"80[24]\\d{5}","\\d{8}",null,null,"80212345"],[null,null,"NA","NA"],"PE",51,"19(?:1[124]|77|90)00","0"," Anexo ",null,"0",null,null,null,[[null,"(1)(\\d{7})","$1 $2",["1"],"(0$1)"],[null,"([4-8]\\d)(\\d{6})","$1 $2",["[4-7]|8[2-4]"],"(0$1)"],[null,"(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],[null,"(9\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],PF:[null,[null,null,"4\\d{5,7}|8\\d{7}","\\d{6}(?:\\d{2})?"],[null,null,"4(?:[09][45689]\\d|4)\\d{4}","\\d{6}(?:\\d{2})?",null,null,"40412345"],[null,null,"8[79]\\d{6}","\\d{8}",null,null,"87123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"PF",689,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4[09]|8[79]"]],[null,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]]],null,[null,null,"NA","NA"],null,null,[null,null,"44\\d{4}","\\d{6}",null,null,"441234"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],PG:[null,[null,null,"[1-9]\\d{6,7}","\\d{7,8}"],[null,null,"(?:3[0-2]\\d|4[25]\\d|5[34]\\d|64[1-9]|77(?:[0-24]\\d|30)|85[02-46-9]|9[78]\\d)\\d{4}","\\d{7}",null,null,"3123456"],[null,null,"(?:20150|68\\d{2}|7(?:[0-689]\\d|75)\\d{2})\\d{3}","\\d{7,8}",null,null,"6812345"],[null,null,"180\\d{4}","\\d{7}",null,null,"1801234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"275\\d{4}","\\d{7}",null,null,"2751234"],"PG",675,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2",["[13-689]|27"]],[null,"(\\d{4})(\\d{4})","$1 $2",["20|7"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],PH:[null,[null,null,"2\\d{5,7}|[3-9]\\d{7,9}|1800\\d{7,9}","\\d{5,13}"],[null,null,"2\\d{5}(?:\\d{2})?|(?:3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578]|8[2-8])\\d{7}|88(?:22\\d{6}|42\\d{4})","\\d{5,10}",null,null,"21234567"],[null,null,"(?:81[37]|9(?:0[5-9]|1[024-9]|2[0-35-9]|3[02-9]|4[236-9]|50|7[34-79]|89|9[4-9]))\\d{7}","\\d{10}",null,null,"9051234567"],[null,null,"1800\\d{7,9}","\\d{11,13}",null,null,"180012345678"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"PH",63,"00","0",null,null,"0",null,null,null,[[null,"(2)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],[null,"(2)(\\d{5})","$1 $2",["2"],"(0$1)"],[null,"(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|5(?:22|44)|642|8(?:62|8[245])","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],[null,"(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],[null,"([3-8]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[3-8]"],"(0$1)"],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["81|9"],"0$1"],[null,"(1800)(\\d{3})(\\d{4})","$1 $2 $3",["1"]],[null,"(1800)(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],PK:[null,[null,null,"1\\d{8}|[2-8]\\d{5,11}|9(?:[013-9]\\d{4,9}|2\\d(?:111\\d{6}|\\d{3,7}))","\\d{6,12}"],[null,null,"(?:21|42)[2-9]\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}|58[126]\\d{7}","\\d{6,10}",null,null,"2123456789"],[null,null,"3(?:0\\d|1[0-6]|2[0-5]|3[0-7]|4[0-8]|55|64)\\d{7}","\\d{10}",null,null,"3012345678"],[null,null,"800\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"900\\d{5}","\\d{8}",null,null,"90012345"],[null,null,"NA","NA"],[null,null,"122\\d{6}","\\d{9}",null,null,"122044444"],[null,null,"NA","NA"],"PK",92,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(111)(\\d{3})(\\d{3})","$1 $2 $3 $4",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)1","(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)11","(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)111"],"(0$1)"],[null,"(\\d{3})(111)(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[349]|45|54|60|72|8[2-5]|9[2-9]","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d1","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d11","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d111"],"(0$1)"],[null,"(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],[null,"(\\d{3})(\\d{6,7})","$1 $2",["2[349]|45|54|60|72|8[2-5]|9[2-9]","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d[2-9]"],"(0$1)"],[null,"(3\\d{2})(\\d{7})","$1 $2",["3"],"0$1"],[null,"([15]\\d{3})(\\d{5,6})","$1 $2",["58[12]|1"],"(0$1)"],[null,"(586\\d{2})(\\d{5})","$1 $2",["586"],"(0$1)"],[null,"([89]00)(\\d{3})(\\d{2})","$1 $2 $3",["[89]00"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:[1-8]|0[468])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}","\\d{11,12}",null,null,"21111825888"],null,null,[null,null,"NA","NA"]],PL:[null,[null,null,"[12]\\d{6,8}|[3-57-9]\\d{8}|6\\d{5,8}","\\d{6,9}"],[null,null,"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])\\d{7}|[12]2\\d{5}","\\d{6,9}",null,null,"123456789"],[null,null,"(?:5[0137]|6[069]|7[2389]|88)\\d{7}","\\d{9}",null,null,"512345678"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"70\\d{7}","\\d{9}",null,null,"701234567"],[null,null,"801\\d{6}","\\d{9}",null,null,"801234567"],[null,null,"NA","NA"],[null,null,"39\\d{7}","\\d{9}",null,null,"391234567"],"PL",48,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[14]|2[0-57-9]|3[2-4]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145]"]],[null,"(\\d{2})(\\d{1})(\\d{4})","$1 $2 $3",["[12]2"]],[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["26|39|5[0137]|6[0469]|7[02389]|8[08]"]],[null,"(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],[null,"(\\d{3})(\\d{3})","$1 $2",["64"]]],null,[null,null,"64\\d{4,7}","\\d{6,9}",null,null,"641234567"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],PM:[null,[null,null,"[45]\\d{5}","\\d{6}"],[null,null,"41\\d{4}","\\d{6}",null,null,"411234"],[null,null,"55\\d{4}","\\d{6}",null,null,"551234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"PM",508,"00","0",null,null,"0",null,null,null,[[null,"([45]\\d)(\\d{2})(\\d{2})","$1 $2 $3",null,"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],PR:[null,[null,null,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"(?:787|939)[2-9]\\d{6}","\\d{7}(?:\\d{3})?",null,null,"7872345678"],[null,null,"(?:787|939)[2-9]\\d{6}","\\d{7}(?:\\d{3})?",null,null,"7872345678"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002345678"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002345678"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"PR",1,"011","1",null,null,"1",null,null,1,null,null,[null,null,"NA","NA"],null,"787|939",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],PS:[null,[null,null,"[24589]\\d{7,8}|1(?:[78]\\d{8}|[49]\\d{2,3})","\\d{4,10}"],[null,null,"(?:22[234789]|42[45]|82[01458]|92[369])\\d{5}","\\d{7,8}",null,null,"22234567"],[null,null,"5[69]\\d{7}","\\d{9}",null,null,"599123456"],[null,null,"1800\\d{6}","\\d{10}",null,null,"1800123456"],[null,null,"1(?:4|9\\d)\\d{2}","\\d{4,5}",null,null,"19123"],[null,null,"1700\\d{6}","\\d{10}",null,null,"1700123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],"PS",970,"00","0",null,null,"0",null,null,null,[[null,"([2489])(2\\d{2})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],[null,"(5[69]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],[null,"(1[78]00)(\\d{3})(\\d{3})","$1 $2 $3",["1[78]"],"$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],PT:[null,[null,null,"[2-46-9]\\d{8}","\\d{9}"],[null,null,"2(?:[12]\\d|[35][1-689]|4[1-59]|6[1-35689]|7[1-9]|8[1-69]|9[1256])\\d{6}","\\d{9}",null,null,"212345678"],[null,null,"9(?:[1236]\\d{2}|480)\\d{5}","\\d{9}",null,null,"912345678"],[null,null,"80[02]\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"6(?:0[178]|4[68])\\d{6}|76(?:0[1-57]|1[2-47]|2[237])\\d{5}","\\d{9}",null,null,"760123456"],[null,null,"80(?:8\\d|9[1579])\\d{5}","\\d{9}",null,null,"808123456"],[null,null,"884[0-4689]\\d{5}","\\d{9}",null,null,"884123456"],[null,null,"30\\d{7}","\\d{9}",null,null,"301234567"],"PT",351,"00",null,null,null,null,null,null,null,[[null,"(2\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],[null,"([2-46-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[3-9]|[346-9]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"7(?:0(?:7\\d|8[17]))\\d{5}","\\d{9}",null,null,"707123456"],null,null,[null,null,"600\\d{6}","\\d{9}",null,null,"600110000"]],PW:[null,[null,null,"[2-8]\\d{6}","\\d{7}"],[null,null,"2552255|(?:277|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76))\\d{4}","\\d{7}",null,null,"2771234"],[null,null,"(?:6[234689]0|77[45789])\\d{4}","\\d{7}",null,null,"6201234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"PW",680,"01[12]",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],PY:[null,[null,null,"5[0-5]\\d{4,7}|[2-46-9]\\d{5,8}","\\d{5,9}"],[null,null,"(?:[26]1|3[289]|4[124678]|7[123]|8[1236])\\d{5,7}|(?:2(?:2[4568]|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51)|4(?:18|2[45]|3[12]|5[13]|64|71|9[1-47])|5(?:[1-4]\\d|5[0234])|6(?:3[1-3]|44|7[1-4678])|7(?:17|4[0-4]|6[1-578]|75|8[0-8])|858)\\d{5,6}","\\d{5,9}",null,null,"212345678"],[null,null,"9(?:6[12]|[78][1-6]|9[1-5])\\d{6}","\\d{9}",null,null,"961456789"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"8700[0-4]\\d{4}","\\d{9}",null,null,"870012345"],"PY",595,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{5,7})","$1 $2",["(?:[26]1|3[289]|4[124678]|7[123]|8[1236])"],"($1)"],[null,"(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],[null,"(\\d{3})(\\d{6})","$1 $2",["9[1-9]"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8700"]],[null,"(\\d{3})(\\d{4,6})","$1 $2",["[2-8][1-9]"],"($1)"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"[2-9]0\\d{4,7}","\\d{6,9}",null,null,"201234567"],null,null,[null,null,"NA","NA"]],QA:[null,[null,null,"[2-8]\\d{6,7}","\\d{7,8}"],[null,null,"4[04]\\d{6}","\\d{7,8}",null,null,"44123456"],[null,null,"[3567]\\d{7}","\\d{7,8}",null,null,"33123456"],[null,null,"800\\d{4}","\\d{7,8}",null,null,"8001234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"QA",974,"00",null,null,null,null,null,null,null,[[null,"([28]\\d{2})(\\d{4})","$1 $2",["[28]"]],[null,"([3-7]\\d{3})(\\d{4})","$1 $2",["[3-7]"]]],null,[null,null,"2(?:[12]\\d|61)\\d{4}","\\d{7}",null,null,"2123456"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],RE:[null,[null,null,"[268]\\d{8}","\\d{9}"],[null,null,"262\\d{6}","\\d{9}",null,null,"262161234"],[null,null,"6(?:9[23]|47)\\d{6}","\\d{9}",null,null,"692123456"],[null,null,"80\\d{7}","\\d{9}",null,null,"801234567"],[null,null,"89[1-37-9]\\d{6}","\\d{9}",null,null,"891123456"],[null,null,"8(?:1[019]|2[0156]|84|90)\\d{6}","\\d{9}",null,null,"810123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],"RE",262,"00","0",null,null,"0",null,null,null,[[null,"([268]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",null,"0$1"]],null,[null,null,"NA","NA"],1,"262|6[49]|8",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],RO:[null,[null,null,"2\\d{5,8}|[37-9]\\d{8}","\\d{6,9}"],[null,null,"2(?:1(?:\\d{7}|9\\d{3})|[3-6](?:\\d{7}|\\d9\\d{2}))|3[13-6]\\d{7}","\\d{6,9}",null,null,"211234567"],[null,null,"7(?:[0-8]\\d{2}|99\\d)\\d{5}","\\d{9}",null,null,"712345678"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"90[036]\\d{6}","\\d{9}",null,null,"900123456"],[null,null,"801\\d{6}","\\d{9}",null,null,"801123456"],[null,null,"802\\d{6}","\\d{9}",null,null,"802123456"],[null,null,"NA","NA"],"RO",40,"00","0"," int ",null,"0",null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],[null,"(21)(\\d{4})","$1 $2",["21"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[23][3-7]|[7-9]"],"0$1"],[null,"(2\\d{2})(\\d{3})","$1 $2",["2[3-6]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"37\\d{7}","\\d{9}",null,null,"372123456"],null,null,[null,null,"NA","NA"]],RS:[null,[null,null,"[126-9]\\d{4,11}|3(?:[0-79]\\d{3,10}|8[2-9]\\d{2,9})","\\d{5,12}"],[null,null,"(?:1(?:[02-9][2-9]|1[1-9])\\d|2(?:[0-24-7][2-9]\\d|[389](?:0[2-9]|[2-9]\\d))|3(?:[0-8][2-9]\\d|9(?:[2-9]\\d|0[2-9])))\\d{3,8}","\\d{5,12}",null,null,"10234567"],[null,null,"6(?:[0-689]|7\\d)\\d{6,7}","\\d{8,10}",null,null,"601234567"],[null,null,"800\\d{3,9}","\\d{6,12}",null,null,"80012345"],[null,null,"(?:90[0169]|78\\d)\\d{3,7}","\\d{6,12}",null,null,"90012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"RS",381,"00","0",null,null,"0",null,null,null,[[null,"([23]\\d{2})(\\d{4,9})","$1 $2",["(?:2[389]|39)0"],"0$1"],[null,"([1-3]\\d)(\\d{5,10})","$1 $2",["1|2(?:[0-24-7]|[389][1-9])|3(?:[0-8]|9[1-9])"],"0$1"],[null,"(6\\d)(\\d{6,8})","$1 $2",["6"],"0$1"],[null,"([89]\\d{2})(\\d{3,9})","$1 $2",["[89]"],"0$1"],[null,"(7[26])(\\d{4,9})","$1 $2",["7[26]"],"0$1"],[null,"(7[08]\\d)(\\d{4,9})","$1 $2",["7[08]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"7[06]\\d{4,10}","\\d{6,12}",null,null,"700123456"],null,null,[null,null,"NA","NA"]],RU:[null,[null,null,"[3489]\\d{9}","\\d{10}"],[null,null,"(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\d{7}","\\d{10}",null,null,"3011234567"],[null,null,"9\\d{9}","\\d{10}",null,null,"9123456789"],[null,null,"80[04]\\d{7}","\\d{10}",null,null,"8001234567"],[null,null,"80[39]\\d{7}","\\d{10}",null,null,"8091234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"RU",7,"810","8",null,null,"8",null,"8~10",null,[[null,"(\\d{3})(\\d{2})(\\d{2})","$1-$2-$3",["[1-79]"],"$1",null,1],[null,"([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[34689]"],"8 ($1)",null,1],[null,"(7\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",null,1]],[[null,"([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[34689]"],"8 ($1)",null,1],[null,"(7\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",null,1]],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],RW:[null,[null,null,"[027-9]\\d{7,8}","\\d{8,9}"],[null,null,"2[258]\\d{7}|06\\d{6}","\\d{8,9}",null,null,"250123456"],[null,null,"7[238]\\d{7}","\\d{9}",null,null,"720123456"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"900\\d{6}","\\d{9}",null,null,"900123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"RW",250,"00","0",null,null,"0",null,null,null,[[null,"(2\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"$1"],[null,"([7-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"],[null,"(0\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],
57
+ SA:[null,[null,null,"1\\d{7,8}|(?:[2-467]|92)\\d{7}|5\\d{8}|8\\d{9}","\\d{7,10}"],[null,null,"11\\d{7}|1?(?:2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\d{6}","\\d{7,9}",null,null,"112345678"],[null,null,"(?:5(?:[013-689]\\d|7[0-26-8])|811\\d)\\d{6}","\\d{9,10}",null,null,"512345678"],[null,null,"800\\d{7}","\\d{10}",null,null,"8001234567"],[null,null,"NA","NA"],[null,null,"92[05]\\d{6}","\\d{9}",null,null,"920012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],"SA",966,"00","0",null,null,"0",null,null,null,[[null,"([1-467])(\\d{3})(\\d{4})","$1 $2 $3",["[1-467]"],"0$1"],[null,"(1\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1[1-467]"],"0$1"],[null,"(5\\d)(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],[null,"(92\\d{2})(\\d{5})","$1 $2",["92"],"$1"],[null,"(800)(\\d{3})(\\d{4})","$1 $2 $3",["80"],"$1"],[null,"(811)(\\d{3})(\\d{3,4})","$1 $2 $3",["81"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SB:[null,[null,null,"[1-9]\\d{4,6}","\\d{5,7}"],[null,null,"(?:1[4-79]|[23]\\d|4[0-2]|5[03]|6[0-37])\\d{3}","\\d{5}",null,null,"40123"],[null,null,"48\\d{3}|7(?:30|[46-8]\\d|5[025-9]|9[0-5])\\d{4}|8[4-9]\\d{5}|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8])\\d{4}","\\d{5,7}",null,null,"7421234"],[null,null,"1[38]\\d{3}","\\d{5}",null,null,"18123"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"5[12]\\d{3}","\\d{5}",null,null,"51123"],"SB",677,"0[01]",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{5})","$1 $2",["[7-9]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SC:[null,[null,null,"[2468]\\d{5,6}","\\d{6,7}"],[null,null,"4[2-46]\\d{5}","\\d{7}",null,null,"4217123"],[null,null,"2[5-8]\\d{5}","\\d{7}",null,null,"2510123"],[null,null,"8000\\d{2}","\\d{6}",null,null,"800000"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"64\\d{5}","\\d{7}",null,null,"6412345"],"SC",248,"0[0-2]",null,null,null,null,null,"00",null,[[null,"(\\d{3})(\\d{3})","$1 $2",["8"]],[null,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SD:[null,[null,null,"[19]\\d{8}","\\d{9}"],[null,null,"1(?:[125]\\d|8[3567])\\d{6}","\\d{9}",null,null,"121231234"],[null,null,"9[0-3569]\\d{7}","\\d{9}",null,null,"911231234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"SD",249,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",null,"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SE:[null,[null,null,"[1-35-9]\\d{5,11}|4\\d{6,8}","\\d{6,12}"],[null,null,"1(?:0[1-8]\\d{6}|[136]\\d{5,7}|(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)\\d{5,6})|2(?:[136]\\d{5,7}|(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])\\d{5,6})|3(?:[356]\\d{5,7}|(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])\\d{5,6})|4(?:[0246]\\d{5,7}|(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])\\d{5,6})|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\d|6[03-5]|7[013]|8[0-79]|9[01])\\d{5,6}|6(?:[03]\\d{5,7}|(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])\\d{5,6})|8\\d{6,8}|9(?:0[1-9]\\d{4,6}|(?:1[0-68]|2\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8])\\d{5,6})","\\d{7,9}",null,null,"8123456"],[null,null,"7[02369]\\d{7}","\\d{9}",null,null,"701234567"],[null,null,"20\\d{4,7}","\\d{6,9}",null,null,"20123456"],[null,null,"649\\d{6}|9(?:00|39|44)[1-8]\\d{3,6}","\\d{7,10}",null,null,"9001234567"],[null,null,"77(?:0\\d{3}(?:\\d{3})?|[1-7]\\d{6})","\\d{6}(?:\\d{3})?",null,null,"771234567"],[null,null,"75[1-8]\\d{6}","\\d{9}",null,null,"751234567"],[null,null,"NA","NA"],"SE",46,"00","0",null,null,"0",null,null,null,[[null,"(8)(\\d{2,3})(\\d{2,3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1"],[null,"([1-69]\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90"],"0$1"],[null,"([1-469]\\d)(\\d{3})(\\d{2})","$1-$2 $3",["1[136]|2[136]|3[356]|4[0246]|6[03]|90"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])"],"0$1"],[null,"(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])"],"0$1"],[null,"(7\\d)(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["7"],"0$1"],[null,"(77)(\\d{2})(\\d{2})","$1-$2$3",["7"],"0$1"],[null,"(20)(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1"],[null,"(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9[034]"],"0$1"],[null,"(9[034]\\d)(\\d{4})","$1-$2",["9[034]"],"0$1"],[null,"(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["25[245]|67[3-6]"],"0$1"]],[[null,"(8)(\\d{2,3})(\\d{2,3})(\\d{2})","$1 $2 $3 $4",["8"]],[null,"([1-69]\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90"]],[null,"([1-469]\\d)(\\d{3})(\\d{2})","$1 $2 $3",["1[136]|2[136]|3[356]|4[0246]|6[03]|90"]],[null,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])"]],[null,"(\\d{3})(\\d{2,3})(\\d{2})","$1 $2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])"]],[null,"(7\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7"]],[null,"(77)(\\d{2})(\\d{2})","$1 $2 $3",["7"]],[null,"(20)(\\d{2,3})(\\d{2})","$1 $2 $3",["20"]],[null,"(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["9[034]"]],[null,"(9[034]\\d)(\\d{4})","$1 $2",["9[034]"]],[null,"(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["25[245]|67[3-6]"]]],[null,null,"74[02-9]\\d{6}","\\d{9}",null,null,"740123456"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"(?:25[245]|67[3-6])\\d{9}","\\d{12}",null,null,"254123456789"]],SG:[null,[null,null,"[36]\\d{7}|[17-9]\\d{7,10}","\\d{8,11}"],[null,null,"6[1-9]\\d{6}","\\d{8}",null,null,"61234567"],[null,null,"(?:8[1-8]|9[0-8])\\d{6}","\\d{8}",null,null,"81234567"],[null,null,"1?800\\d{7}","\\d{10,11}",null,null,"18001234567"],[null,null,"1900\\d{7}","\\d{11}",null,null,"19001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"3[12]\\d{6}","\\d{8}",null,null,"31234567"],"SG",65,"0[0-3]\\d",null,null,null,null,null,null,null,[[null,"([3689]\\d{3})(\\d{4})","$1 $2",["[369]|8[1-9]"]],[null,"(1[89]00)(\\d{3})(\\d{4})","$1 $2 $3",["1[89]"]],[null,"(7000)(\\d{4})(\\d{3})","$1 $2 $3",["70"]],[null,"(800)(\\d{3})(\\d{4})","$1 $2 $3",["80"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"7000\\d{7}","\\d{11}",null,null,"70001234567"],null,null,[null,null,"NA","NA"]],SH:[null,[null,null,"[256]\\d{4}","\\d{4,5}"],[null,null,"2(?:[0-57-9]\\d|6[4-9])\\d{2}","\\d{5}",null,null,"22158"],[null,null,"[56]\\d{4}","\\d{5}"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"262\\d{2}","\\d{5}"],"SH",290,"00",null,null,null,null,null,null,null,null,null,[null,null,"NA","NA"],1,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SI:[null,[null,null,"[1-7]\\d{6,7}|[89]\\d{4,7}","\\d{5,8}"],[null,null,"(?:1\\d|[25][2-8]|3[24-8]|4[24-8]|7[3-8])\\d{6}","\\d{7,8}",null,null,"11234567"],[null,null,"(?:[37][01]|4[0139]|51|6[48])\\d{6}","\\d{8}",null,null,"31234567"],[null,null,"80\\d{4,6}","\\d{6,8}",null,null,"80123456"],[null,null,"90\\d{4,6}|89[1-3]\\d{2,5}","\\d{5,8}",null,null,"90123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"(?:59|8[1-3])\\d{6}","\\d{8}",null,null,"59012345"],"SI",386,"00","0",null,null,"0",null,null,null,[[null,"(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[12]|3[24-8]|4[24-8]|5[2-8]|7[3-8]"],"(0$1)"],[null,"([3-7]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],[null,"([89][09])(\\d{3,6})","$1 $2",["[89][09]"],"0$1"],[null,"([58]\\d{2})(\\d{5})","$1 $2",["59|8[1-3]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SJ:[null,[null,null,"0\\d{4}|[4789]\\d{7}","\\d{5}(?:\\d{3})?"],[null,null,"79\\d{6}","\\d{8}",null,null,"79123456"],[null,null,"(?:4[015-8]|5[89]|9\\d)\\d{6}","\\d{8}",null,null,"41234567"],[null,null,"80[01]\\d{5}","\\d{8}",null,null,"80012345"],[null,null,"82[09]\\d{5}","\\d{8}",null,null,"82012345"],[null,null,"810(?:0[0-6]|[2-8]\\d)\\d{3}","\\d{8}",null,null,"81021234"],[null,null,"880\\d{5}","\\d{8}",null,null,"88012345"],[null,null,"85[0-5]\\d{5}","\\d{8}",null,null,"85012345"],"SJ",47,"00",null,null,null,null,null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?",null,null,"01234"],1,null,[null,null,"81[23]\\d{5}","\\d{8}",null,null,"81212345"]],SK:[null,[null,null,"(?:[2-68]\\d{5,8}|9\\d{6,8})","\\d{6,9}"],[null,null,"2(?:16\\d{3,4}|\\d{8})|[3-5](?:[1-8]16\\d{2,3}|\\d{8})","\\d{6,9}",null,null,"212345678"],[null,null,"9(?:0[1-8]|1[0-24-9]|4[0489]|50)\\d{6}","\\d{9}",null,null,"912123456"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"9(?:[78]\\d{7}|00\\d{6})","\\d{9}",null,null,"900123456"],[null,null,"8[5-9]\\d{7}","\\d{9}",null,null,"850123456"],[null,null,"NA","NA"],[null,null,"6(?:02|5[0-4]|9[0-6])\\d{6}","\\d{9}",null,null,"690123456"],"SK",421,"00","0",null,null,"0",null,null,null,[[null,"(2)(16)(\\d{3,4})","$1 $2 $3",["216"],"0$1"],[null,"([3-5]\\d)(16)(\\d{2,3})","$1 $2 $3",["[3-5]"],"0$1"],[null,"(2)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],[null,"([3-5]\\d)(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"],[null,"([689]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],[null,"(9090)(\\d{3})","$1 $2",["9090"],"0$1"]],null,[null,null,"9090\\d{3}","\\d{7}",null,null,"9090123"],null,null,[null,null,"(?:602|8(?:00|[5-9]\\d)|9(?:00|[78]\\d))\\d{6}|9090\\d{3}","\\d{7,9}",null,null,"800123456"],[null,null,"96\\d{7}","\\d{9}",null,null,"961234567"],null,null,[null,null,"NA","NA"]],SL:[null,[null,null,"[2-9]\\d{7}","\\d{6,8}"],[null,null,"[235]2[2-4][2-9]\\d{4}","\\d{6,8}",null,null,"22221234"],[null,null,"(?:2[15]|3[03-5]|4[04]|5[05]|66|7[6-9]|88|99)\\d{6}","\\d{6,8}",null,null,"25123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"SL",232,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{6})","$1 $2",null,"(0$1)"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SM:[null,[null,null,"[05-7]\\d{7,9}","\\d{6,10}"],[null,null,"0549(?:8[0157-9]|9\\d)\\d{4}","\\d{6,10}",null,null,"0549886377"],[null,null,"6[16]\\d{6}","\\d{8}",null,null,"66661212"],[null,null,"NA","NA"],[null,null,"7[178]\\d{6}","\\d{8}",null,null,"71123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"5[158]\\d{6}","\\d{8}",null,null,"58001110"],"SM",378,"00",null,null,null,"(?:0549)?([89]\\d{5})","0549$1",null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],[null,"(0549)(\\d{6})","$1 $2",["0"]],[null,"(\\d{6})","0549 $1",["[89]"]]],[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],[null,"(0549)(\\d{6})","($1) $2",["0"]],[null,"(\\d{6})","(0549) $1",["[89]"]]],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],SN:[null,[null,null,"[3789]\\d{8}","\\d{9}"],[null,null,"3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611|90[1-5])\\d{5}","\\d{9}",null,null,"301012345"],[null,null,"7(?:[067]\\d|21|8[0-26]|90)\\d{6}","\\d{9}",null,null,"701234567"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"88[4689]\\d{6}","\\d{9}",null,null,"884123456"],[null,null,"81[02468]\\d{6}","\\d{9}",null,null,"810123456"],[null,null,"NA","NA"],[null,null,"3392\\d{5}|93330\\d{4}","\\d{9}",null,null,"933301234"],"SN",221,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]],[null,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SO:[null,[null,null,"[1-79]\\d{6,8}","\\d{7,9}"],[null,null,"(?:1\\d|2[0-79]|3[0-46-8]|4[0-7]|59)\\d{5}","\\d{7}",null,null,"4012345"],[null,null,"(?:15\\d|2(?:4\\d|8)|6[1-35-9]?\\d{2}|7(?:[1-8]\\d|99?\\d)|9(?:0[67]|[2-9])\\d)\\d{5}","\\d{7,9}",null,null,"71123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"SO",252,"00","0",null,null,"0",null,null,null,[[null,"(\\d)(\\d{6})","$1 $2",["2[0-79]|[13-5]"]],[null,"(\\d)(\\d{7})","$1 $2",["24|[67]"]],[null,"(\\d{2})(\\d{5,7})","$1 $2",["15|28|6[1-35-9]|799|9[2-9]"]],[null,"(90\\d)(\\d{3})(\\d{3})","$1 $2 $3",["90"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SR:[null,[null,null,"[2-8]\\d{5,6}","\\d{6,7}"],[null,null,"(?:2[1-3]|3[0-7]|4\\d|5[2-58]|68\\d)\\d{4}","\\d{6,7}",null,null,"211234"],[null,null,"(?:7[124-7]|8[1-9])\\d{5}","\\d{7}",null,null,"7412345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"5(?:6\\d{4}|90[0-4]\\d{3})","\\d{6,7}",null,null,"561234"],"SR",597,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{3})","$1-$2",["[2-4]|5[2-58]"]],[null,"(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],[null,"(\\d{3})(\\d{4})","$1-$2",["59|[6-8]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SS:[null,[null,null,"[19]\\d{8}","\\d{9}"],[null,null,"18\\d{7}","\\d{9}",null,null,"181234567"],[null,null,"(?:12|9[1257])\\d{7}","\\d{9}",null,null,"977123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"SS",211,"00","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",null,"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],ST:[null,[null,null,"[29]\\d{6}","\\d{7}"],[null,null,"22\\d{5}","\\d{7}",null,null,"2221234"],[null,null,"9(?:0(?:0[5-9]|[1-9]\\d)|[89]\\d{2})\\d{3}","\\d{7}",null,null,"9812345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"ST",239,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SV:[null,[null,null,"[267]\\d{7}|[89]\\d{6}(?:\\d{4})?","\\d{7,8}|\\d{11}"],[null,null,"2[1-6]\\d{6}","\\d{8}",null,null,"21234567"],[null,null,"[67]\\d{7}","\\d{8}",null,null,"70123456"],[null,null,"800\\d{4}(?:\\d{4})?","\\d{7}(?:\\d{4})?",null,null,"8001234"],[null,null,"900\\d{4}(?:\\d{4})?","\\d{7}(?:\\d{4})?",null,null,"9001234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"SV",503,"00",null,null,null,null,null,null,null,[[null,"(\\d{4})(\\d{4})","$1 $2",["[267]"]],[null,"(\\d{3})(\\d{4})","$1 $2",["[89]"]],[null,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SX:[null,[null,null,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"7215(?:4[2-8]|8[239]|9[056])\\d{4}","\\d{7}(?:\\d{3})?",null,null,"7215425678"],[null,null,"7215(?:1[02]|2\\d|5[034679]|8[014-8])\\d{4}","\\d{10}",null,null,"7215205678"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002123456"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002123456"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"SX",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"721",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SY:[null,[null,null,"[1-59]\\d{7,8}","\\d{6,9}"],[null,null,"(?:1(?:1\\d?|4\\d|[2356])|2(?:1\\d?|[235])|3(?:[13]\\d|4)|4[13]|5[1-3])\\d{6}","\\d{6,9}",null,null,"112345678"],[null,null,"9(?:22|[35][0-8]|4\\d|6[024-9]|88|9[0-489])\\d{6}","\\d{9}",null,null,"944567890"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"SY",963,"00","0",null,null,"0",null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"],"0$1",null,1],[null,"(9\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1",null,1]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],SZ:[null,[null,null,"[027]\\d{7}","\\d{8}"],[null,null,"2[2-5]\\d{6}","\\d{8}",null,null,"22171234"],[null,null,"7[6-8]\\d{6}","\\d{8}",null,null,"76123456"],[null,null,"0800\\d{4}","\\d{8}",null,null,"08001234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"SZ",268,"00",null,null,null,null,null,null,null,[[null,"(\\d{4})(\\d{4})","$1 $2",["[027]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"0800\\d{4}","\\d{8}",null,null,"08001234"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],TA:[null,[null,null,"8\\d{3}","\\d{4}"],[null,null,"8\\d{3}","\\d{4}",null,null,"8999"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"TA",290,"00",null,null,null,null,null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],TC:[null,[null,null,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"649(?:712|9(?:4\\d|50))\\d{4}","\\d{7}(?:\\d{3})?",null,null,"6497121234"],[null,null,"649(?:2(?:3[129]|4[1-7])|3(?:3[1-389]|4[1-7])|4[34][1-3])\\d{4}","\\d{10}",null,null,"6492311234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002345678"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002345678"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"64971[01]\\d{4}","\\d{10}",null,null,"6497101234"],"TC",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"649",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],TD:[null,[null,null,"[2679]\\d{7}","\\d{8}"],[null,null,"22(?:[3789]0|5[0-5]|6[89])\\d{4}","\\d{8}",null,null,"22501234"],[null,null,"(?:6[023568]\\d|77\\d|9\\d{2})\\d{5}","\\d{8}",null,null,"63012345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"TD",235,"00|16",null,null,null,null,null,"00",null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],TG:[null,[null,null,"[29]\\d{7}","\\d{8}"],[null,null,"2(?:2[2-7]|3[23]|44|55|66|77)\\d{5}","\\d{8}",null,null,"22212345"],[null,null,"9[0-389]\\d{6}","\\d{8}",null,null,"90112345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"TG",228,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],TH:[null,[null,null,"[2-9]\\d{7,8}|1\\d{3}(?:\\d{5,6})?","\\d{4}|\\d{8,10}"],[null,null,"(?:2\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\d{6}","\\d{8}",null,null,"21234567"],[null,null,"(?:14|6[1-3]|[89]\\d)\\d{7}","\\d{9}",null,null,"812345678"],[null,null,"1800\\d{6}","\\d{10}",null,null,"1800123456"],[null,null,"1900\\d{6}","\\d{10}",null,null,"1900123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"6[08]\\d{7}","\\d{9}",null,null,"601234567"],"TH",66,"00","0",null,null,"0",null,null,null,[[null,"(2)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],[null,"([13-9]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["14|[3-9]"],"0$1"],[null,"(1[89]00)(\\d{3})(\\d{3})","$1 $2 $3",["1"],"$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"1\\d{3}","\\d{4}",null,null,"1100"],[null,null,"1\\d{3}","\\d{4}",null,null,"1100"],null,null,[null,null,"NA","NA"]],TJ:[null,[null,null,"[3-589]\\d{8}","\\d{3,9}"],[null,null,"(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}","\\d{3,9}",null,null,"372123456"],[null,null,"(?:41[18]|50[125]|88\\d|9[0-35-9]\\d)\\d{6}","\\d{9}",null,null,"917123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"TJ",992,"810","8",null,null,"8",null,"8~10",null,[[null,"([349]\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[34]7|91[78]"],"(8) $1",null,1],[null,"([4589]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[148]|[58]|9(?:1[59]|[0235-9])"],"(8) $1",null,1],[null,"(331700)(\\d)(\\d{2})","$1 $2 $3",["331","3317","33170","331700"],"(8) $1",null,1],[null,"(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3[1-5]","3(?:[1245]|3(?:[02-9]|1[0-589]))"],"(8) $1",null,1]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],TK:[null,[null,null,"[2-47]\\d{3,6}","\\d{4,7}"],[null,null,"(?:2[2-4]|[34]\\d)\\d{2,5}","\\d{4,7}",null,null,"3101"],[null,null,"7[2-4]\\d{2,5}","\\d{4,7}",null,null,"7290"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"TK",690,"00",null,null,null,null,null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],TL:[null,[null,null,"[2-489]\\d{6}|7\\d{6,7}","\\d{7,8}"],[null,null,"(?:2[1-5]|3[1-9]|4[1-4])\\d{5}","\\d{7}",null,null,"2112345"],[null,null,"7[3-8]\\d{6}","\\d{8}",null,null,"77212345"],[null,null,"80\\d{5}","\\d{7}",null,null,"8012345"],[null,null,"90\\d{5}","\\d{7}",null,null,"9012345"],[null,null,"NA","NA"],[null,null,"70\\d{5}","\\d{7}",null,null,"7012345"],[null,null,"NA","NA"],"TL",670,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2",["[2-489]"]],[null,"(\\d{4})(\\d{4})","$1 $2",["7"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],TM:[null,[null,null,"[1-6]\\d{7}","\\d{8}"],[null,null,"(?:1(?:2\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\d{5}","\\d{8}",null,null,"12345678"],[null,null,"6[1-9]\\d{6}","\\d{8}",null,null,"66123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"TM",993,"810","8",null,null,"8",null,"8~10",null,[[null,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],[null,"(\\d{2})(\\d{6})","$1 $2",["6"],"8 $1"],[null,"(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["13|[2-5]"],"(8 $1)"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],TN:[null,[null,null,"[2-57-9]\\d{7}","\\d{8}"],[null,null,"3(?:[012]\\d|6[0-4]|91)\\d{5}|7\\d{7}|81200\\d{3}","\\d{8}",null,null,"71234567"],[null,null,"(?:[259]\\d|4[0-6])\\d{6}","\\d{8}",null,null,"20123456"],[null,null,"8010\\d{4}","\\d{8}",null,null,"80101234"],[null,null,"88\\d{6}","\\d{8}",null,null,"88123456"],[null,null,"8[12]10\\d{4}","\\d{8}",null,null,"81101234"],[null,null,"NA","NA"],[null,null,"NA","NA"],"TN",216,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],TO:[null,[null,null,"[02-8]\\d{4,6}","\\d{5,7}"],[null,null,"(?:2\\d|3[1-8]|4[1-4]|[56]0|7[0149]|8[05])\\d{3}","\\d{5}",null,null,"20123"],[null,null,"(?:7[578]|8[47-9])\\d{5}","\\d{7}",null,null,"7715123"],[null,null,"0800\\d{3}","\\d{7}",null,null,"0800222"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"TO",676,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{3})","$1-$2",["[1-6]|7[0-4]|8[05]"]],[null,"(\\d{3})(\\d{4})","$1 $2",["7[5-9]|8[47-9]"]],[null,"(\\d{4})(\\d{3})","$1 $2",["0"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],TR:[null,[null,null,"[2-589]\\d{9}|444\\d{4}","\\d{7,10}"],[null,null,"(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\d{7}","\\d{10}",null,null,"2123456789"],[null,null,"5(?:0[1-7]|22|[34]\\d|5[1-59]|9[246])\\d{7}","\\d{10}",null,null,"5012345678"],[null,null,"800\\d{7}","\\d{10}",null,null,"8001234567"],[null,null,"900\\d{7}","\\d{10}",null,null,"9001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"TR",90,"00","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[23]|4(?:[0-35-9]|4[0-35-9])"],"(0$1)",null,1],[null,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[589]"],"0$1",null,1],[null,"(444)(\\d{1})(\\d{3})","$1 $2 $3",["444"]]],null,[null,null,"512\\d{7}","\\d{10}",null,null,"5123456789"],null,null,[null,null,"444\\d{4}","\\d{7}",null,null,"4441444"],[null,null,"444\\d{4}|850\\d{7}","\\d{7,10}",null,null,"4441444"],null,null,[null,null,"NA","NA"]],TT:[null,[null,null,"[589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"868(?:2(?:01|2[1-6]|3[1-5])|6(?:0[79]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}","\\d{7}(?:\\d{3})?",null,null,"8682211234"],[null,null,"868(?:2(?:[789]\\d)|3(?:0[1-9]|1[02-9]|[2-9]\\d)|4[6-9]\\d|6(?:20|78|8\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\d))\\d{4}","\\d{10}",null,null,"8682911234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002345678"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002345678"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"TT",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"868",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"868619\\d{4}","\\d{10}"]],TV:[null,[null,null,"[279]\\d{4,6}","\\d{5,7}"],[null,null,"2[02-9]\\d{3}","\\d{5}",null,null,"20123"],[null,null,"(?:70\\d|90)\\d{4}","\\d{6,7}",null,null,"901234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"TV",688,"00",null,null,null,null,null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],TW:[null,[null,null,"[2-689]\\d{7,8}|7\\d{7,9}","\\d{8,10}"],[null,null,"[2-8]\\d{7,8}","\\d{8,9}",null,null,"21234567"],[null,null,"9\\d{8}","\\d{9}",null,null,"912345678"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"900\\d{6}","\\d{9}",null,null,"900123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"70\\d{8}","\\d{10}",null,null,"7012345678"],"TW",886,"0(?:0[25679]|19)","0","#",null,"0",null,null,null,[[null,"([2-8])(\\d{3,4})(\\d{4})","$1 $2 $3",["[2-6]|[78][1-9]"],"0$1"],[null,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["80|9"],"0$1"],[null,"(70)(\\d{4})(\\d{4})","$1 $2 $3",["70"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],TZ:[null,[null,null,"\\d{9}","\\d{7,9}"],[null,null,"2[2-8]\\d{7}","\\d{7,9}",null,null,"222345678"],[null,null,"(?:6[25-8]|7[13-9])\\d{7}","\\d{9}",null,null,"621234567"],[null,null,"80[08]\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"90\\d{7}","\\d{9}",null,null,"900123456"],[null,null,"8(?:40|6[01])\\d{6}","\\d{9}",null,null,"840123456"],[null,null,"NA","NA"],[null,null,"41\\d{7}","\\d{9}",null,null,"412345678"],"TZ",255,"00[056]","0",null,null,"0",null,null,null,[[null,"([24]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],[null,"([67]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"],[null,"([89]\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],UA:[null,[null,null,"[3-9]\\d{8}","\\d{5,9}"],[null,null,"(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}","\\d{5,9}",null,null,"311234567"],[null,null,"(?:39|50|6[36-8]|73|9[1-9])\\d{7}","\\d{9}",null,null,"391234567"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"900\\d{6}","\\d{9}",null,null,"900123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"89\\d{7}","\\d{9}",null,null,"891234567"],"UA",380,"00","0",null,null,"0",null,"0~0",null,[[null,"([3-9]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[38]9|4(?:[45][0-5]|87)|5(?:0|6[37]|7[37])|6[36-8]|73|9[1-9]","[38]9|4(?:[45][0-5]|87)|5(?:0|6(?:3[14-7]|7)|7[37])|6[36-8]|73|9[1-9]"],"0$1"],[null,"([3-689]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["3[1-8]2|4[13678]2|5(?:[12457]2|6[24])|6(?:[49]2|[12][29]|5[24])|8[0-8]|90","3(?:[1-46-8]2[013-9]|52)|4(?:[1378]2|62[013-9])|5(?:[12457]2|6[24])|6(?:[49]2|[12][29]|5[24])|8[0-8]|90"],"0$1"],[null,"([3-6]\\d{3})(\\d{5})","$1 $2",["3(?:5[013-9]|[1-46-8])|4(?:[137][013-9]|6|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6[0135-9]|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])","3(?:5[013-9]|[1-46-8](?:22|[013-9]))|4(?:[137][013-9]|6(?:[013-9]|22)|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6(?:3[02389]|[015689])|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],UG:[null,[null,null,"\\d{9}","\\d{5,9}"],[null,null,"20(?:[0147]\\d{2}|2(?:40|[5-9]\\d)|3[23]\\d|5[0-4]\\d|6[03]\\d|8[0-2]\\d)\\d{4}|[34]\\d{8}","\\d{5,9}",null,null,"312345678"],[null,null,"2030\\d{5}|7(?:0[0-7]|[15789]\\d|2[03]|30|[46][0-4])\\d{6}","\\d{9}",null,null,"712345678"],[null,null,"800[123]\\d{5}","\\d{9}",null,null,"800123456"],[null,null,"90[123]\\d{6}","\\d{9}",null,null,"901123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"UG",256,"00[057]","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{6})","$1 $2",["[7-9]|20(?:[013-8]|2[5-9])|4(?:6[45]|[7-9])"],"0$1"],[null,"(\\d{2})(\\d{7})","$1 $2",["3|4(?:[1-5]|6[0-36-9])"],"0$1"],[null,"(2024)(\\d{5})","$1 $2",["2024"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],US:[null,[null,null,"[2-9]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"(?:2(?:0[1-35-9]|1[02-9]|2[04589]|3[149]|4[08]|5[1-46]|6[0279]|7[026]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[16]|5[017]|6[0-279]|78|8[12])|7(?:0[1-46-8]|1[02-9]|2[0457]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[01678]|4[0179]|5[12469]|7[0-3589]|8[0459]))[2-9]\\d{6}","\\d{7}(?:\\d{3})?",null,null,"2015555555"],[null,null,"(?:2(?:0[1-35-9]|1[02-9]|2[04589]|3[149]|4[08]|5[1-46]|6[0279]|7[026]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[16]|5[017]|6[0-279]|78|8[12])|7(?:0[1-46-8]|1[02-9]|2[0457]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[01678]|4[0179]|5[12469]|7[0-3589]|8[0459]))[2-9]\\d{6}","\\d{7}(?:\\d{3})?",null,null,"2015555555"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002345678"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002345678"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"US",1,"011","1",null,null,"1",null,null,1,[[null,"(\\d{3})(\\d{4})","$1-$2",null,null,null,1],[null,"(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",null,null,null,1]],[[null,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3"]],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],
58
+ UY:[null,[null,null,"[2489]\\d{6,7}","\\d{7,8}"],[null,null,"2\\d{7}|4[2-7]\\d{6}","\\d{7,8}",null,null,"21231234"],[null,null,"9[1-9]\\d{6}","\\d{8}",null,null,"94231234"],[null,null,"80[05]\\d{4}","\\d{7}",null,null,"8001234"],[null,null,"90[0-8]\\d{4}","\\d{7}",null,null,"9001234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"UY",598,"0(?:1[3-9]\\d|0)","0"," int. ",null,"0",null,"00",null,[[null,"(\\d{4})(\\d{4})","$1 $2",["[24]"]],[null,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9[1-9]"],"0$1"],[null,"(\\d{3})(\\d{4})","$1 $2",["[89]0"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],UZ:[null,[null,null,"[679]\\d{8}","\\d{7,9}"],[null,null,"(?:6(?:1(?:22|3[124]|4[1-4]|5[123578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\d{2}|7(?:[23]\\d|7[69])|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[12456]|9[135-8])|1[12]\\d|2(?:22|3[1345789]|4[123579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|6(?:22|3[12457]|4[13-8])|9(?:22|5[1-9])))\\d{5}","\\d{7,9}",null,null,"662345678"],[null,null,"6(?:1(?:2(?:98|2[01])|35[0-4]|50\\d|61[23]|7(?:[01][017]|4\\d|55|9[5-9]))|2(?:11\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4])|7\\d{2})|5(?:19[01]|2(?:27|9[26])|30\\d|59\\d|7\\d{2})|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|3[79]\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79])|9[0-3]\\d)|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079]))|9(?:2(?:1[1267]|5\\d|3[01]|7[0-4])|5[67]\\d|6(?:2[0-26]|8\\d)|7\\d{2}))\\d{4}|7(?:0\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|33\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078])|9[4-6]\\d)|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0127]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|6(?:2(?:2[1245]|4[2-4])|39\\d|41[179]|5(?:[349]\\d|5[0-2])|7(?:0[017]|[13]\\d|22|44|55|67|88))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[05629]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07])))\\d{4}|9[0-57-9]\\d{7}","\\d{7,9}",null,null,"912345678"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"UZ",998,"810","8",null,null,"8",null,"8~10",null,[[null,"([679]\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",null,"8 $1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],VA:[null,[null,null,"(?:0(?:878\\d{5}|6698\\d{5})|[1589]\\d{5,10}|3(?:[12457-9]\\d{8}|[36]\\d{7,9}))","\\d{6,11}"],[null,null,"06698\\d{5}","\\d{10}",null,null,"0669812345"],[null,null,"3(?:[12457-9]\\d{8}|6\\d{7,8}|3\\d{7,9})","\\d{9,11}",null,null,"3123456789"],[null,null,"80(?:0\\d{6}|3\\d{3})","\\d{6,9}",null,null,"800123456"],[null,null,"0878\\d{5}|1(?:44|6[346])\\d{6}|89(?:2\\d{3}|4(?:[0-4]\\d{2}|[5-9]\\d{4})|5(?:[0-4]\\d{2}|[5-9]\\d{6})|9\\d{6})","\\d{6,10}",null,null,"899123456"],[null,null,"84(?:[08]\\d{6}|[17]\\d{3})","\\d{6,9}",null,null,"848123456"],[null,null,"1(?:78\\d|99)\\d{6}","\\d{9,10}",null,null,"1781234567"],[null,null,"55\\d{8}","\\d{10}",null,null,"5512345678"],"VA",39,"00",null,null,null,null,null,null,null,null,null,[null,null,"NA","NA"],null,null,[null,null,"848\\d{6}","\\d{9}",null,null,"848123456"],[null,null,"NA","NA"],1,null,[null,null,"NA","NA"]],VC:[null,[null,null,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"784(?:266|3(?:6[6-9]|7\\d|8[0-24-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\d{4}","\\d{7}(?:\\d{3})?",null,null,"7842661234"],[null,null,"784(?:4(?:3[0-4]|5[45]|89|9[0-58])|5(?:2[6-9]|3[0-4]))\\d{4}","\\d{10}",null,null,"7844301234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002345678"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002345678"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"VC",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"784",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],VE:[null,[null,null,"[24589]\\d{9}","\\d{7,10}"],[null,null,"(?:2(?:12|3[457-9]|[58][1-9]|[467]\\d|9[1-6])|50[01])\\d{7}","\\d{7,10}",null,null,"2121234567"],[null,null,"4(?:1[24-8]|2[46])\\d{7}","\\d{10}",null,null,"4121234567"],[null,null,"800\\d{7}","\\d{10}",null,null,"8001234567"],[null,null,"900\\d{7}","\\d{10}",null,null,"9001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"VE",58,"00","0",null,null,"0",null,null,null,[[null,"(\\d{3})(\\d{7})","$1-$2",null,"0$1","$CC $1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],VG:[null,[null,null,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"284(?:(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\d{4}|496[0-5]\\d{3})","\\d{7}(?:\\d{3})?",null,null,"2842291234"],[null,null,"284(?:(?:3(?:0[0-3]|4[0-367]|94)|4(?:4[0-6]|68|99)|54[0-57])\\d{4}|496[6-9]\\d{3})","\\d{10}",null,null,"2843001234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002345678"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002345678"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"VG",1,"011","1",null,null,"1",null,null,null,null,null,[null,null,"NA","NA"],null,"284",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],VI:[null,[null,null,"[3589]\\d{9}","\\d{7}(?:\\d{3})?"],[null,null,"340(?:2(?:01|2[0678]|44|77)|3(?:32|44)|4(?:22|7[34])|5(?:1[34]|55)|6(?:26|4[23]|77|9[023])|7(?:1[2-589]|27|7\\d)|884|998)\\d{4}","\\d{7}(?:\\d{3})?",null,null,"3406421234"],[null,null,"340(?:2(?:01|2[0678]|44|77)|3(?:32|44)|4(?:22|7[34])|5(?:1[34]|55)|6(?:26|4[23]|77|9[023])|7(?:1[2-589]|27|7\\d)|884|998)\\d{4}","\\d{7}(?:\\d{3})?",null,null,"3406421234"],[null,null,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"8002345678"],[null,null,"900[2-9]\\d{6}","\\d{10}",null,null,"9002345678"],[null,null,"NA","NA"],[null,null,"5(?:00|33|44|66|77|88)[2-9]\\d{6}","\\d{10}",null,null,"5002345678"],[null,null,"NA","NA"],"VI",1,"011","1",null,null,"1",null,null,1,null,null,[null,null,"NA","NA"],null,"340",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],VN:[null,[null,null,"[17]\\d{6,9}|[2-69]\\d{7,9}|8\\d{6,8}","\\d{7,10}"],[null,null,"(?:2(?:[025-79]|1[0189]|[348][01])|3(?:[0136-9]|[25][01])|4\\d|5(?:[01][01]|[2-9])|6(?:[0-46-8]|5[01])|7(?:[02-79]|[18][01]))\\d{7}|8(?:[1-57]\\d|[689][0-79])\\d{6}","\\d{9,10}",null,null,"2101234567"],[null,null,"(?:9\\d|1(?:2\\d|6[2-9]|8[68]|99))\\d{7}|8[689]8\\d{6}","\\d{9,10}",null,null,"912345678"],[null,null,"1800\\d{4,6}","\\d{8,10}",null,null,"1800123456"],[null,null,"1900\\d{4,6}","\\d{8,10}",null,null,"1900123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"VN",84,"00","0",null,null,"0",null,null,null,[[null,"([17]99)(\\d{4})","$1 $2",["[17]99"],"0$1",null,1],[null,"([48])(\\d{4})(\\d{4})","$1 $2 $3",["4|8(?:[1-57]|[689][0-79])"],"0$1",null,1],[null,"([235-7]\\d)(\\d{4})(\\d{3})","$1 $2 $3",["2[025-79]|3[0136-9]|5[2-9]|6[0-46-8]|7[02-79]"],"0$1",null,1],[null,"(80)(\\d{5})","$1 $2",["80"],"0$1",null,1],[null,"(69\\d)(\\d{4,5})","$1 $2",["69"],"0$1",null,1],[null,"([235-7]\\d{2})(\\d{4})(\\d{3})","$1 $2 $3",["2[1348]|3[25]|5[01]|65|7[18]"],"0$1",null,1],[null,"([89]\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8[689]8|9"],"0$1",null,1],[null,"(1[2689]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1(?:[26]|8[68]|99)"],"0$1",null,1],[null,"(1[89]00)(\\d{4,6})","$1 $2",["1[89]0"],"$1",null,1]],null,[null,null,"NA","NA"],null,null,[null,null,"[17]99\\d{4}|69\\d{5,6}","\\d{7,8}",null,null,"1992000"],[null,null,"[17]99\\d{4}|69\\d{5,6}|80\\d{5}","\\d{7,8}",null,null,"1992000"],null,null,[null,null,"NA","NA"]],VU:[null,[null,null,"[2-57-9]\\d{4,6}","\\d{5,7}"],[null,null,"(?:2[02-9]\\d|3(?:[5-7]\\d|8[0-8])|48[4-9]|88\\d)\\d{2}","\\d{5}",null,null,"22123"],[null,null,"(?:5(?:7[2-5]|[0-689]\\d)|7[013-7]\\d)\\d{4}","\\d{7}",null,null,"5912345"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"VU",678,"00",null,null,null,null,null,null,null,[[null,"(\\d{3})(\\d{4})","$1 $2",["[579]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"3[03]\\d{3}|900\\d{4}","\\d{5,7}",null,null,"30123"],null,null,[null,null,"NA","NA"]],WF:[null,[null,null,"[4-8]\\d{5}","\\d{6}"],[null,null,"(?:50|68|72)\\d{4}","\\d{6}",null,null,"501234"],[null,null,"(?:50|68|72|8[23])\\d{4}","\\d{6}",null,null,"501234"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"WF",681,"00",null,null,null,null,null,null,null,[[null,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"[48]0\\d{4}","\\d{6}",null,null,"401234"]],WS:[null,[null,null,"[2-8]\\d{4,6}","\\d{5,7}"],[null,null,"(?:[2-5]\\d|6[1-9]|84\\d{2})\\d{3}","\\d{5,7}",null,null,"22123"],[null,null,"(?:60|7[25-7]\\d)\\d{4}","\\d{6,7}",null,null,"601234"],[null,null,"800\\d{3}","\\d{6}",null,null,"800123"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"WS",685,"0",null,null,null,null,null,null,null,[[null,"(8\\d{2})(\\d{3,4})","$1 $2",["8"]],[null,"(7\\d)(\\d{5})","$1 $2",["7"]],[null,"(\\d{5})","$1",["[2-6]"]]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],YE:[null,[null,null,"[1-7]\\d{6,8}","\\d{6,9}"],[null,null,"(?:1(?:7\\d|[2-68])|2[2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-68])\\d{5}","\\d{6,8}",null,null,"1234567"],[null,null,"7[0137]\\d{7}","\\d{9}",null,null,"712345678"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"YE",967,"00","0",null,null,"0",null,null,null,[[null,"([1-7])(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7[24-68]"],"0$1"],[null,"(7\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["7[0137]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],YT:[null,[null,null,"[268]\\d{8}","\\d{9}"],[null,null,"269(?:6[0-4]|50)\\d{4}","\\d{9}",null,null,"269601234"],[null,null,"639\\d{6}","\\d{9}",null,null,"639123456"],[null,null,"80\\d{7}","\\d{9}",null,null,"801234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"YT",262,"00","0",null,null,"0",null,null,null,null,null,[null,null,"NA","NA"],null,"269|63",[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],ZA:[null,[null,null,"[1-79]\\d{8}|8(?:[067]\\d{7}|[1-4]\\d{3,7})","\\d{5,9}"],[null,null,"(?:1[0-8]|2[0-378]|3[1-69]|4\\d|5[1346-8])\\d{7}","\\d{9}",null,null,"101234567"],[null,null,"(?:6[0-5]|7[0-46-9])\\d{7}|8[1-4]\\d{3,7}","\\d{5,9}",null,null,"711234567"],[null,null,"80\\d{7}","\\d{9}",null,null,"801234567"],[null,null,"86[2-9]\\d{6}|90\\d{7}","\\d{9}",null,null,"862345678"],[null,null,"860\\d{6}","\\d{9}",null,null,"860123456"],[null,null,"NA","NA"],[null,null,"87\\d{7}","\\d{9}",null,null,"871234567"],"ZA",27,"00","0",null,null,"0",null,null,null,[[null,"(860)(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-79]|8(?:[0-47]|6[1-9])"],"0$1"],[null,"(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],[null,"(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"861\\d{6}","\\d{9}",null,null,"861123456"],null,null,[null,null,"NA","NA"]],ZM:[null,[null,null,"[289]\\d{8}","\\d{9}"],[null,null,"21[1-8]\\d{6}","\\d{9}",null,null,"211234567"],[null,null,"9(?:5[05]|6\\d|7[1-9])\\d{6}","\\d{9}",null,null,"955123456"],[null,null,"800\\d{6}","\\d{9}",null,null,"800123456"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],"ZM",260,"00","0",null,null,"0",null,null,null,[[null,"([29]\\d)(\\d{7})","$1 $2",["[29]"],"0$1"],[null,"(800)(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]],ZW:[null,[null,null,"2(?:[012457-9]\\d{3,8}|6(?:[14]\\d{7}|\\d{4}))|[13-79]\\d{4,9}|8[06]\\d{8}","\\d{3,10}"],[null,null,"(?:2(?:0(?:4\\d|5\\d{2})|2[278]\\d|48\\d|7(?:[1-7]\\d|[089]\\d{2})|8(?:[2-57-9]|[146]\\d{2})|98)|3(?:08|17|3[78]|7(?:[19]|[56]\\d)|8[37]|98)|5[15][78]|6(?:28\\d{2}|[36]7|75\\d|[69]8|8(?:7\\d|8)))\\d{3}|(?:2(?:1[39]|2[0157]|6[14]|7[35]|84)|329)\\d{7}|(?:1(?:3\\d{2}|9\\d|[4-8])|2(?:0\\d{2}|[569]\\d)|3(?:[26]|[013459]\\d)|5(?:0|5\\d{2}|[689]\\d)|6(?:[39]|[01246]\\d|[78]\\d{2}))\\d{3}|(?:29\\d|39|54)\\d{6}|(?:(?:25|54)83|2582\\d)\\d{3}|(?:4\\d{6,7}|9[2-9]\\d{4,5})","\\d{3,10}",null,null,"1312345"],[null,null,"7[1378]\\d{7}","\\d{9}",null,null,"711234567"],[null,null,"800\\d{7}","\\d{10}",null,null,"8001234567"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"NA","NA"],[null,null,"86(?:1[12]|30|44|55|77|8[367]|99)\\d{6}","\\d{10}",null,null,"8686123456"],"ZW",263,"00","0",null,null,"0",null,null,null,[[null,"([49])(\\d{3})(\\d{2,4})","$1 $2 $3",["4|9[2-9]"],"0$1"],[null,"(7\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["7"],"0$1"],[null,"(86\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["86[24]"],"0$1"],[null,"([2356]\\d{2})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8|[78])|3(?:08|17|3[78]|7[1569]|8[37]|98)|5[15][78]|6(?:[29]8|[38]7|6[78]|75|[89]8)"],"0$1"],[null,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|6[14]|7[35]|84)|329"],"0$1"],[null,"([1-356]\\d)(\\d{3,5})","$1 $2",["1[3-9]|2[0569]|3[0-69]|5[05689]|6[0-46-9]"],"0$1"],[null,"([235]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[23]9|54"],"0$1"],[null,"([25]\\d{3})(\\d{3,5})","$1 $2",["(?:25|54)8","258[23]|5483"],"0$1"],[null,"(8\\d{3})(\\d{6})","$1 $2",["86"],"0$1"],[null,"(80\\d)(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1"]],null,[null,null,"NA","NA"],null,null,[null,null,"NA","NA"],[null,null,"NA","NA"],null,null,[null,null,"NA","NA"]]};G.b=function(){return G.a?G.a:G.a=new G};var nl={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9"},ul=RegExp("[++]+"),dl=RegExp("([0-90-9٠-٩۰-۹])"),Al=/^\(?\$1\)?$/,Nl=new S;p(Nl,11,"NA");var $l=/\[([^\[\]])*\]/g,tl=/\d(?=[^,}][^,}])/g,el=RegExp("^[-x‐-―−ー--/ ­​⁠ ()()[].\\[\\]/~⁓∼~]*(\\$\\d[-x‐-―−ー--/ ­​⁠ ()()[].\\[\\]/~⁓∼~]*)+$"),rl=/[- ]/;B.prototype.K=function(){this.B="",d(this.h),d(this.u),d(this.m),this.s=0,this.v="",d(this.b),this.l="",d(this.a),this.j=!0,this.w=this.o=this.D=!1,this.f=[],this.A=!1,this.g!=this.J&&(this.g=E(this,this.C))},B.prototype.L=function(l){return this.B=I(this,l)},l("Cleave.AsYouTypeFormatter",B),l("Cleave.AsYouTypeFormatter.prototype.inputDigit",B.prototype.L),l("Cleave.AsYouTypeFormatter.prototype.clear",B.prototype.K)}.call("object"==typeof global&&global?global:window);
assets/js/lib/cleave.min.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * cleave.js - 1.1.0
3
+ * https://github.com/nosir/cleave.js
4
+ * Apache License Version 2.0
5
+ *
6
+ * Copyright (C) 2012-2018 Max Huang https://github.com/nosir/
7
+ */
8
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Cleave=t():e.Cleave=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){(function(t){"use strict";var n=function(e,t){var r=this;if("string"==typeof e?r.element=document.querySelector(e):r.element="undefined"!=typeof e.length&&e.length>0?e[0]:e,!r.element)throw new Error("[cleave.js] Please check the element");t.initValue=r.element.value,r.properties=n.DefaultProperties.assign({},t),r.init()};n.prototype={init:function(){var e=this,t=e.properties;return t.numeral||t.phone||t.creditCard||t.date||0!==t.blocksLength||t.prefix?(t.maxLength=n.Util.getMaxLength(t.blocks),e.isAndroid=n.Util.isAndroid(),e.lastInputValue="",e.onChangeListener=e.onChange.bind(e),e.onKeyDownListener=e.onKeyDown.bind(e),e.onCutListener=e.onCut.bind(e),e.onCopyListener=e.onCopy.bind(e),e.element.addEventListener("input",e.onChangeListener),e.element.addEventListener("keydown",e.onKeyDownListener),e.element.addEventListener("cut",e.onCutListener),e.element.addEventListener("copy",e.onCopyListener),e.initPhoneFormatter(),e.initDateFormatter(),e.initNumeralFormatter(),void((t.initValue||t.prefix&&!t.noImmediatePrefix)&&e.onInput(t.initValue))):void e.onInput(t.initValue)},initNumeralFormatter:function(){var e=this,t=e.properties;t.numeral&&(t.numeralFormatter=new n.NumeralFormatter(t.numeralDecimalMark,t.numeralIntegerScale,t.numeralDecimalScale,t.numeralThousandsGroupStyle,t.numeralPositiveOnly,t.stripLeadingZeroes,t.delimiter))},initDateFormatter:function(){var e=this,t=e.properties;t.date&&(t.dateFormatter=new n.DateFormatter(t.datePattern),t.blocks=t.dateFormatter.getBlocks(),t.blocksLength=t.blocks.length,t.maxLength=n.Util.getMaxLength(t.blocks))},initPhoneFormatter:function(){var e=this,t=e.properties;if(t.phone)try{t.phoneFormatter=new n.PhoneFormatter(new t.root.Cleave.AsYouTypeFormatter(t.phoneRegionCode),t.delimiter)}catch(r){throw new Error("[cleave.js] Please include phone-type-formatter.{country}.js lib")}},onKeyDown:function(e){var t=this,r=t.properties,i=e.which||e.keyCode,a=n.Util,o=t.element.value;return a.isAndroidBackspaceKeydown(t.lastInputValue,o)&&(i=8),t.lastInputValue=o,8===i&&a.isDelimiter(o.slice(-r.delimiterLength),r.delimiter,r.delimiters)?void(r.backspace=!0):void(r.backspace=!1)},onChange:function(){this.onInput(this.element.value)},onCut:function(e){this.copyClipboardData(e),this.onInput("")},onCopy:function(e){this.copyClipboardData(e)},copyClipboardData:function(e){var t=this,r=t.properties,i=n.Util,a=t.element.value,o="";o=r.copyDelimiter?a:i.stripDelimiters(a,r.delimiter,r.delimiters);try{e.clipboardData?e.clipboardData.setData("Text",o):window.clipboardData.setData("Text",o),e.preventDefault()}catch(l){}},onInput:function(e){var t=this,r=t.properties,i=n.Util;return r.numeral||!r.backspace||i.isDelimiter(e.slice(-r.delimiterLength),r.delimiter,r.delimiters)||(e=i.headStr(e,e.length-r.delimiterLength)),r.phone?(!r.prefix||r.noImmediatePrefix&&!e.length?r.result=r.phoneFormatter.format(e):r.result=r.prefix+r.phoneFormatter.format(e).slice(r.prefix.length),void t.updateValueState()):r.numeral?(!r.prefix||r.noImmediatePrefix&&!e.length?r.result=r.numeralFormatter.format(e):r.result=r.prefix+r.numeralFormatter.format(e),void t.updateValueState()):(r.date&&(e=r.dateFormatter.getValidatedDate(e)),e=i.stripDelimiters(e,r.delimiter,r.delimiters),e=i.getPrefixStrippedValue(e,r.prefix,r.prefixLength),e=r.numericOnly?i.strip(e,/[^\d]/g):e,e=r.uppercase?e.toUpperCase():e,e=r.lowercase?e.toLowerCase():e,!r.prefix||r.noImmediatePrefix&&!e.length||(e=r.prefix+e,0!==r.blocksLength)?(r.creditCard&&t.updateCreditCardPropsByValue(e),e=i.headStr(e,r.maxLength),r.result=i.getFormattedValue(e,r.blocks,r.blocksLength,r.delimiter,r.delimiters,r.delimiterLazyShow),void t.updateValueState()):(r.result=e,void t.updateValueState()))},updateCreditCardPropsByValue:function(e){var t,r=this,i=r.properties,a=n.Util;a.headStr(i.result,4)!==a.headStr(e,4)&&(t=n.CreditCardDetector.getInfo(e,i.creditCardStrictMode),i.blocks=t.blocks,i.blocksLength=i.blocks.length,i.maxLength=a.getMaxLength(i.blocks),i.creditCardType!==t.type&&(i.creditCardType=t.type,i.onCreditCardTypeChanged.call(r,i.creditCardType)))},setCurrentSelection:function(e,t){var r=this.element;if(t.length!==e&&r===document.activeElement)if(r.createTextRange){var n=r.createTextRange();n.move("character",e),n.select()}else r.setSelectionRange(e,e)},updateValueState:function(){var e=this;if(e.element){var t=e.element.selectionEnd,r=e.element.value;if(e.isAndroid)return void window.setTimeout(function(){e.element.value=e.properties.result,e.setCurrentSelection(t,r)},1);e.element.value=e.properties.result,e.setCurrentSelection(t,r)}},setPhoneRegionCode:function(e){var t=this,r=t.properties;r.phoneRegionCode=e,t.initPhoneFormatter(),t.onChange()},setRawValue:function(e){var t=this,r=t.properties;e=void 0!==e&&null!==e?e.toString():"",r.numeral&&(e=e.replace(".",r.numeralDecimalMark)),r.backspace=!1,t.element.value=e,t.onInput(e)},getRawValue:function(){var e=this,t=e.properties,r=n.Util,i=e.element.value;return t.rawValueTrimPrefix&&(i=r.getPrefixStrippedValue(i,t.prefix,t.prefixLength)),i=t.numeral?t.numeralFormatter.getRawValue(i):r.stripDelimiters(i,t.delimiter,t.delimiters)},getISOFormatDate:function(){var e=this,t=e.properties;return t.date?t.dateFormatter.getISOFormatDate():""},getFormattedValue:function(){return this.element.value},destroy:function(){var e=this;e.element.removeEventListener("input",e.onChangeListener),e.element.removeEventListener("keydown",e.onKeyDownListener),e.element.removeEventListener("cut",e.onCutListener),e.element.removeEventListener("copy",e.onCopyListener)},toString:function(){return"[Cleave Object]"}},n.NumeralFormatter=r(1),n.DateFormatter=r(2),n.PhoneFormatter=r(3),n.CreditCardDetector=r(4),n.Util=r(5),n.DefaultProperties=r(6),("object"==typeof t&&t?t:window).Cleave=n,e.exports=n}).call(t,function(){return this}())},function(e,t){"use strict";var r=function(e,t,n,i,a,o,l){var s=this;s.numeralDecimalMark=e||".",s.numeralIntegerScale=t>0?t:0,s.numeralDecimalScale=n>=0?n:2,s.numeralThousandsGroupStyle=i||r.groupStyle.thousand,s.numeralPositiveOnly=!!a,s.stripLeadingZeroes=void 0==o||o,s.delimiter=l||""===l?l:",",s.delimiterRE=l?new RegExp("\\"+l,"g"):""};r.groupStyle={thousand:"thousand",lakh:"lakh",wan:"wan",none:"none"},r.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,"").replace(this.numeralDecimalMark,".")},format:function(e){var t,n,i=this,a="";switch(e=e.replace(/[A-Za-z]/g,"").replace(i.numeralDecimalMark,"M").replace(/[^\dM-]/g,"").replace(/^\-/,"N").replace(/\-/g,"").replace("N",i.numeralPositiveOnly?"":"-").replace("M",i.numeralDecimalMark),i.stripLeadingZeroes&&(e=e.replace(/^(-)?0+(?=\d)/,"$1")),n=e,e.indexOf(i.numeralDecimalMark)>=0&&(t=e.split(i.numeralDecimalMark),n=t[0],a=i.numeralDecimalMark+t[1].slice(0,i.numeralDecimalScale)),i.numeralIntegerScale>0&&(n=n.slice(0,i.numeralIntegerScale+("-"===e.slice(0,1)?1:0))),i.numeralThousandsGroupStyle){case r.groupStyle.lakh:n=n.replace(/(\d)(?=(\d\d)+\d$)/g,"$1"+i.delimiter);break;case r.groupStyle.wan:n=n.replace(/(\d)(?=(\d{4})+$)/g,"$1"+i.delimiter);break;case r.groupStyle.thousand:n=n.replace(/(\d)(?=(\d{3})+$)/g,"$1"+i.delimiter)}return n.toString()+(i.numeralDecimalScale>0?a.toString():"")}},e.exports=r},function(e,t){"use strict";var r=function(e){var t=this;t.date=[],t.blocks=[],t.datePattern=e,t.initBlocks()};r.prototype={initBlocks:function(){var e=this;e.datePattern.forEach(function(t){"Y"===t?e.blocks.push(4):e.blocks.push(2)})},getISOFormatDate:function(){var e=this,t=e.date;return t[2]?t[2]+"-"+e.addLeadingZero(t[1])+"-"+e.addLeadingZero(t[0]):""},getBlocks:function(){return this.blocks},getValidatedDate:function(e){var t=this,r="";return e=e.replace(/[^\d]/g,""),t.blocks.forEach(function(n,i){if(e.length>0){var a=e.slice(0,n),o=a.slice(0,1),l=e.slice(n);switch(t.datePattern[i]){case"d":"00"===a?a="01":parseInt(o,10)>3?a="0"+o:parseInt(a,10)>31&&(a="31");break;case"m":"00"===a?a="01":parseInt(o,10)>1?a="0"+o:parseInt(a,10)>12&&(a="12")}r+=a,e=l}}),this.getFixedDateString(r)},getFixedDateString:function(e){var t,r,n,i=this,a=i.datePattern,o=[],l=0,s=0,c=0,u=0,d=0,m=0;return 4===e.length&&"y"!==a[0].toLowerCase()&&"y"!==a[1].toLowerCase()&&(u="d"===a[0]?0:2,d=2-u,t=parseInt(e.slice(u,u+2),10),r=parseInt(e.slice(d,d+2),10),o=this.getFixedDate(t,r,0)),8===e.length&&(a.forEach(function(e,t){switch(e){case"d":l=t;break;case"m":s=t;break;default:c=t}}),m=2*c,u=l<=c?2*l:2*l+2,d=s<=c?2*s:2*s+2,t=parseInt(e.slice(u,u+2),10),r=parseInt(e.slice(d,d+2),10),n=parseInt(e.slice(m,m+4),10),o=this.getFixedDate(t,r,n)),i.date=o,0===o.length?e:a.reduce(function(e,t){switch(t){case"d":return e+i.addLeadingZero(o[0]);case"m":return e+i.addLeadingZero(o[1]);default:return e+""+(o[2]||"")}},"")},getFixedDate:function(e,t,r){return e=Math.min(e,31),t=Math.min(t,12),r=parseInt(r||0,10),(t<7&&t%2===0||t>8&&t%2===1)&&(e=Math.min(e,2===t?this.isLeapYear(r)?29:28:30)),[e,t,r]},isLeapYear:function(e){return e%4===0&&e%100!==0||e%400===0},addLeadingZero:function(e){return(e<10?"0":"")+e}},e.exports=r},function(e,t){"use strict";var r=function(e,t){var r=this;r.delimiter=t||""===t?t:" ",r.delimiterRE=t?new RegExp("\\"+t,"g"):"",r.formatter=e};r.prototype={setFormatter:function(e){this.formatter=e},format:function(e){var t=this;t.formatter.clear(),e=e.replace(/[^\d+]/g,""),e=e.replace(t.delimiterRE,"");for(var r,n="",i=!1,a=0,o=e.length;a<o;a++)r=t.formatter.inputDigit(e.charAt(a)),/[\s()-]/g.test(r)?(n=r,i=!0):i||(n=r);return n=n.replace(/[()]/g,""),n=n.replace(/[\s-]/g,t.delimiter)}},e.exports=r},function(e,t){"use strict";var r={blocks:{uatp:[4,5,6],amex:[4,6,5],diners:[4,6,4],discover:[4,4,4,4],mastercard:[4,4,4,4],dankort:[4,4,4,4],instapayment:[4,4,4,4],jcb:[4,4,4,4],maestro:[4,4,4,4],visa:[4,4,4,4],mir:[4,4,4,4],general:[4,4,4,4],unionPay:[4,4,4,4],generalStrict:[4,4,4,7]},re:{uatp:/^(?!1800)1\d{0,14}/,amex:/^3[47]\d{0,13}/,discover:/^(?:6011|65\d{0,2}|64[4-9]\d?)\d{0,12}/,diners:/^3(?:0([0-5]|9)|[689]\d?)\d{0,11}/,mastercard:/^(5[1-5]\d{0,2}|22[2-9]\d{0,1}|2[3-7]\d{0,2})\d{0,12}/,dankort:/^(5019|4175|4571)\d{0,12}/,instapayment:/^63[7-9]\d{0,13}/,jcb:/^(?:2131|1800|35\d{0,2})\d{0,12}/,maestro:/^(?:5[0678]\d{0,2}|6304|67\d{0,2})\d{0,12}/,mir:/^220[0-4]\d{0,12}/,visa:/^4\d{0,15}/,unionPay:/^62\d{0,14}/},getInfo:function(e,t){var n=r.blocks,i=r.re;t=!!t;for(var a in i)if(i[a].test(e)){var o;return o=("discover"===a||"maestro"===a||"visa"===a||"mir"===a||"unionPay"===a)&&t?n.generalStrict:n[a],{type:a,blocks:o}}return{type:"unknown",blocks:t?n.generalStrict:n.general}}};e.exports=r},function(e,t){"use strict";var r={noop:function(){},strip:function(e,t){return e.replace(t,"")},isDelimiter:function(e,t,r){return 0===r.length?e===t:r.some(function(t){if(e===t)return!0})},getDelimiterREByDelimiter:function(e){return new RegExp(e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),"g")},stripDelimiters:function(e,t,r){var n=this;if(0===r.length){var i=t?n.getDelimiterREByDelimiter(t):"";return e.replace(i,"")}return r.forEach(function(t){e=e.replace(n.getDelimiterREByDelimiter(t),"")}),e},headStr:function(e,t){return e.slice(0,t)},getMaxLength:function(e){return e.reduce(function(e,t){return e+t},0)},getPrefixStrippedValue:function(e,t,r){if(e.slice(0,r)!==t){var n=this.getFirstDiffIndex(t,e.slice(0,r));e=t+e.slice(n,n+1)+e.slice(r+1)}return e.slice(r)},getFirstDiffIndex:function(e,t){for(var r=0;e.charAt(r)===t.charAt(r);)if(""===e.charAt(r++))return-1;return r},getFormattedValue:function(e,t,r,n,i,a){var o,l="",s=i.length>0;return 0===r?e:(t.forEach(function(t,c){if(e.length>0){var u=e.slice(0,t),d=e.slice(t);o=s?i[a?c-1:c]||o:n,a?(c>0&&(l+=o),l+=u):(l+=u,u.length===t&&c<r-1&&(l+=o)),e=d}}),l)},isAndroid:function(){return navigator&&/android/i.test(navigator.userAgent)},isAndroidBackspaceKeydown:function(e,t){return!!(this.isAndroid()&&e&&t)&&t===e.slice(0,-1)}};e.exports=r},function(e,t){(function(t){"use strict";var r={assign:function(e,r){return e=e||{},r=r||{},e.creditCard=!!r.creditCard,e.creditCardStrictMode=!!r.creditCardStrictMode,e.creditCardType="",e.onCreditCardTypeChanged=r.onCreditCardTypeChanged||function(){},e.phone=!!r.phone,e.phoneRegionCode=r.phoneRegionCode||"AU",e.phoneFormatter={},e.date=!!r.date,e.datePattern=r.datePattern||["d","m","Y"],e.dateFormatter={},e.numeral=!!r.numeral,e.numeralIntegerScale=r.numeralIntegerScale>0?r.numeralIntegerScale:0,e.numeralDecimalScale=r.numeralDecimalScale>=0?r.numeralDecimalScale:2,e.numeralDecimalMark=r.numeralDecimalMark||".",e.numeralThousandsGroupStyle=r.numeralThousandsGroupStyle||"thousand",e.numeralPositiveOnly=!!r.numeralPositiveOnly,e.stripLeadingZeroes=void 0==r.stripLeadingZeroes||r.stripLeadingZeroes,e.numericOnly=e.creditCard||e.date||!!r.numericOnly,e.uppercase=!!r.uppercase,e.lowercase=!!r.lowercase,e.prefix=e.creditCard||e.date?"":r.prefix||"",e.noImmediatePrefix=!!r.noImmediatePrefix,e.prefixLength=e.prefix.length,e.rawValueTrimPrefix=!!r.rawValueTrimPrefix,e.copyDelimiter=!!r.copyDelimiter,e.initValue=void 0!==r.initValue&&null!==r.initValue?r.initValue.toString():"",e.delimiter=r.delimiter||""===r.delimiter?r.delimiter:r.date?"/":r.numeral?",":(r.phone," "),e.delimiterLength=e.delimiter.length,e.delimiterLazyShow=!!r.delimiterLazyShow,e.delimiters=r.delimiters||[],e.blocks=r.blocks||[],e.blocksLength=e.blocks.length,e.root="object"==typeof t&&t?t:window,e.maxLength=0,e.backspace=!1,e.result="",e}};e.exports=r}).call(t,function(){return this}())}])});
assets/js/parts/part-checkbox.js ADDED
@@ -0,0 +1,277 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var CheckboxModel = happyForms.classes.models.Part.extend( {
4
+ defaults: function() {
5
+ return _.extend(
6
+ {},
7
+ settings.formParts.checkbox.defaults,
8
+ _.result( happyForms.classes.models.Part.prototype, 'defaults' ),
9
+ );
10
+ }
11
+ } );
12
+
13
+ var CheckboxView = happyForms.classes.views.Part.extend( {
14
+ template: '#happyforms-checkbox-template',
15
+
16
+ initialize: function() {
17
+ happyForms.classes.views.Part.prototype.initialize.apply( this, arguments );
18
+
19
+ this.model.options = new Backbone.Collection();
20
+
21
+ this.listenTo(this.model.options, 'add', this.onOptionsChange);
22
+ this.listenTo(this.model.options, 'change', this.onOptionsChange);
23
+ this.listenTo(this.model.options, 'remove', this.onOptionsChange);
24
+ },
25
+
26
+ events: _.extend( {}, happyForms.classes.views.Part.prototype.events, {
27
+ 'click .add-option': 'onAddOptionClick',
28
+ 'change [name=display_type]': 'onDisplayTypeChange'
29
+ } ),
30
+
31
+ ready: function() {
32
+ happyForms.classes.views.Part.prototype.ready.apply( this, arguments );
33
+
34
+ _(this.model.get('options')).each(function(option) {
35
+ var optionModel = new Backbone.Model({
36
+ id: option.id,
37
+ is_default: option.is_default,
38
+ label: option.label
39
+ });
40
+
41
+ this.createNewOption(optionModel);
42
+ }, this);
43
+ },
44
+
45
+ /**
46
+ * Hide 'No options added yet' message and call `createNewOption` method on 'Add option' button click.
47
+ *
48
+ * @since 1.0.0.
49
+ *
50
+ * @return void
51
+ */
52
+ onAddOptionClick: function() {
53
+ this.$el.find('.no-options').hide();
54
+
55
+ this.createNewOption(false, false);
56
+ },
57
+
58
+ /**
59
+ * Creates new option model and view, adds to a collection.
60
+ *
61
+ * @since 1.0.0.
62
+ *
63
+ * @param {object} [optionModel=''] Existing option model.
64
+ * @param {bool} [skipPreviewTrigger=true] Boolean to tell if creation of new model should trigger preview event or not.
65
+ *
66
+ * @return void
67
+ */
68
+ createNewOption: function(optionModel, skipPreviewTrigger) {
69
+ var self = this;
70
+ var model = (optionModel) ? optionModel : '';
71
+
72
+ if ( typeof skipPreviewTrigger === 'undefined' ) {
73
+ skipPreviewTrigger = true;
74
+ }
75
+
76
+ if (model === '') {
77
+ var optionId = _.uniqueId(self.model.get('id') + '_option_');
78
+
79
+ model = new Backbone.Model({
80
+ id: optionId,
81
+ is_default: 0,
82
+ label: ''
83
+ });
84
+ }
85
+
86
+ this.model.options.add(model, { silent: true });
87
+
88
+ var view = new CheckboxOptionView({ model: model, parent: this });
89
+
90
+ $('.options', this.$el).append(view.$el);
91
+
92
+ if ( !skipPreviewTrigger ) {
93
+ var template = _.template($(view.frontendTemplate).html());
94
+ var html = template(view.model.toJSON());
95
+
96
+ var eventData = {
97
+ 'part_id': this.model.get('id'),
98
+ 'element': html,
99
+ 'appendTo': '.happyforms-part__el'
100
+ };
101
+
102
+ api.previewer.trigger('happyforms-sub-part-added', eventData);
103
+ }
104
+ },
105
+
106
+ /**
107
+ * Update options in the part model on options collection change.
108
+ *
109
+ * @since 1.0.0.
110
+ *
111
+ * @param {object} data Backbone collection of options.
112
+ *
113
+ * @return {object}
114
+ */
115
+ onOptionsChange: function(data) {
116
+ var options = this.model.options;
117
+ var optionsArray = [];
118
+
119
+ options.each(function(model, index) {
120
+ optionsArray.push(model.attributes);
121
+ });
122
+
123
+ this.model.set('options', optionsArray);
124
+
125
+ return data;
126
+ },
127
+
128
+ onDisplayTypeChange: function(e) {
129
+ var $input = $(e.target);
130
+ var attribute = $input.data('bind');
131
+
132
+ this.model.set(attribute, $input.val());
133
+
134
+ var eventData = {
135
+ part_id: this.model.id,
136
+ selector: 'self',
137
+ classes: 'display-type--block',
138
+ classMethod: 'add'
139
+ };
140
+
141
+ if (this.model.get(attribute) !== 'block') {
142
+ eventData.classMethod = 'remove';
143
+ }
144
+
145
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
146
+ }
147
+ } );
148
+
149
+ var CheckboxOptionView = Backbone.View.extend( {
150
+ template: '#happyforms-checkbox-option-customize-template',
151
+
152
+ initialize: function(options) {
153
+ this.parent = options.parent;
154
+ this.frontendTemplate = '#happyforms-checkbox-option-frontend-template';
155
+
156
+ this.render();
157
+ },
158
+
159
+ events: {
160
+ 'keyup input': 'onInputChange',
161
+ 'click .delete-option': 'deleteOption',
162
+ 'change .default-option-switch': 'onDefaultOptionCheck'
163
+ },
164
+
165
+ render: function() {
166
+ var template = _.template($(this.template).html());
167
+ var html = template(this.model.toJSON());
168
+
169
+ this.setElement(html);
170
+
171
+ return this;
172
+ },
173
+
174
+ /**
175
+ * Update model with the changed data. Triggered on change event of inputs in the part view.
176
+ *
177
+ * @since 1.0.0.
178
+ *
179
+ * @return void
180
+ */
181
+ onInputChange: function(e) {
182
+ var $input = $(e.target);
183
+ var previewSelector = $input.data('preview-selector');
184
+ var attribute = $input.attr('data-option-attribute');
185
+ var value = $input.val();
186
+
187
+ this.model.set(attribute, value);
188
+
189
+ if (previewSelector) {
190
+ var eventData = {
191
+ selector: '#' + this.model.get('id') + ' ' + previewSelector,
192
+ text: value
193
+ };
194
+
195
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
196
+ }
197
+ },
198
+
199
+ /**
200
+ * Triggered on 'Delete' button click in each option.
201
+ *
202
+ * @since 1.0.0.
203
+ *
204
+ * @param {object} e JS event.
205
+ *
206
+ * @return void
207
+ */
208
+ deleteOption: function(e) {
209
+ e.preventDefault();
210
+
211
+ var eventData = {
212
+ subpart_id: this.model.get('id')
213
+ };
214
+
215
+ api.previewer.trigger('happyforms-sub-part-removed', eventData);
216
+
217
+ this.parent.model.options.remove({ cid: this.model.cid }, { silent: true });
218
+
219
+ if ( !this.parent.model.options.length ) {
220
+ this.parent.$el.find('.no-options').show();
221
+ }
222
+
223
+ this.remove();
224
+ },
225
+
226
+ /**
227
+ * Adds 'selected' attribute to option that's selected as default.
228
+ * Triggered by 'Make this option default' checkbox.
229
+ * Triggers previewer event.
230
+ *
231
+ * @since 1.0.0.
232
+ *
233
+ * @param {object} e JS event.
234
+ *
235
+ * @return void
236
+ */
237
+ onDefaultOptionCheck: function(e) {
238
+ var $input = $(e.target);
239
+
240
+ if ($input.is(':checked')) {
241
+ this.model.set('is_default', 1);
242
+ } else {
243
+ this.model.set('is_default', 0);
244
+ }
245
+
246
+ var eventData = {
247
+ selector: '#' + this.model.get('id') + ' input',
248
+ props: {
249
+ checked: true
250
+ }
251
+ };
252
+
253
+ if (!$input.is(':checked')) {
254
+ eventData.props.checked = false;
255
+ }
256
+
257
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
258
+ }
259
+ } );
260
+
261
+ happyForms.factory.model = _.wrap( happyForms.factory.model, function( func, attrs, options, BaseClass ) {
262
+ if ( 'checkbox' === attrs.type ) {
263
+ BaseClass = CheckboxModel;
264
+ }
265
+
266
+ return func( attrs, options, BaseClass );
267
+ } );
268
+
269
+ happyForms.factory.view = _.wrap( happyForms.factory.view, function( func, options, BaseClass ) {
270
+ if ( 'checkbox' === options.type ) {
271
+ BaseClass = CheckboxView;
272
+ }
273
+
274
+ return func( options, BaseClass );
275
+ } );
276
+
277
+ } ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
assets/js/parts/part-country.js ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var CountryModel = happyForms.classes.models.Part.extend( {
4
+ defaults: function() {
5
+ return _.extend(
6
+ {},
7
+ settings.formParts.country.defaults,
8
+ _.result( happyForms.classes.models.Part.prototype, 'defaults' ),
9
+ );
10
+ },
11
+ } );
12
+
13
+ var CountryView = happyForms.classes.views.Part.extend( {
14
+ template: '#happyforms-country-template',
15
+
16
+ initialize: function() {
17
+ happyForms.classes.views.Part.prototype.initialize.apply(this, arguments);
18
+ },
19
+
20
+ events: _.extend( {}, happyForms.classes.views.Part.prototype.events, {
21
+ 'change [name=default_country]': 'onDefaultCountryChange'
22
+ } ),
23
+
24
+ /**
25
+ * Adds 'selected' attribute to a country dropdown value that was selected as default.
26
+ * Triggered by 'Make this option default' checkbox.
27
+ * Triggers previewer event.
28
+ *
29
+ * @since 1.0.0.
30
+ *
31
+ * @param {object} e JS event.
32
+ *
33
+ * @return void
34
+ */
35
+ onDefaultCountryChange: function(e) {
36
+ var $input = $(e.target);
37
+
38
+ this.model.set('default_country', $input.val());
39
+
40
+ var eventData = {
41
+ part_id: this.model.id,
42
+ selector: 'option[value='+ $input.val() +']',
43
+ attributes: {
44
+ 'selected': 'true'
45
+ }
46
+ };
47
+
48
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
49
+ }
50
+ } );
51
+
52
+ happyForms.factory.model = _.wrap( happyForms.factory.model, function( func, attrs, options, BaseClass ) {
53
+ if ( 'country' === attrs.type ) {
54
+ BaseClass = CountryModel;
55
+ }
56
+
57
+ return func( attrs, options, BaseClass );
58
+ } );
59
+
60
+ happyForms.factory.view = _.wrap( happyForms.factory.view, function( func, options, BaseClass ) {
61
+ if ( 'country' === options.type ) {
62
+ BaseClass = CountryView;
63
+ }
64
+
65
+ return func( options, BaseClass );
66
+ } );
67
+
68
+ } ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
assets/js/parts/part-date.js ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var DateModel = happyForms.classes.models.Part.extend( {
4
+ defaults: function() {
5
+ return _.extend(
6
+ {},
7
+ settings.formParts.date.defaults,
8
+ _.result( happyForms.classes.models.Part.prototype, 'defaults' ),
9
+ );
10
+ },
11
+ } );
12
+
13
+ var DateView = happyForms.classes.views.Part.extend( {
14
+ template: '#happyforms-date-template',
15
+
16
+ events: _.extend( {}, happyForms.classes.views.Part.prototype.events, {
17
+ 'change .datepicker-checkboxes': 'onDatePickerCheckboxChange'
18
+ } ),
19
+
20
+ /**
21
+ * Updates model with the current value of configuration checkboxes in the Date part view.
22
+ *
23
+ * @since 1.0.0.
24
+ *
25
+ * @param {object} e JS event.
26
+ *
27
+ * @return void
28
+ */
29
+ onDatePickerCheckboxChange: function(e) {
30
+ var $input = $(e.target);
31
+ var attribute = $input.data('bind');
32
+
33
+ if ($input.is(':checked')) {
34
+ this.model.set(attribute, 1);
35
+ } else {
36
+ this.model.set(attribute, 0);
37
+ }
38
+ }
39
+ } );
40
+
41
+ happyForms.factory.model = _.wrap( happyForms.factory.model, function( func, attrs, options, BaseClass ) {
42
+ if ( 'date' === attrs.type ) {
43
+ BaseClass = DateModel;
44
+ }
45
+
46
+ return func( attrs, options, BaseClass );
47
+ } );
48
+
49
+ happyForms.factory.view = _.wrap( happyForms.factory.view, function( func, options, BaseClass ) {
50
+ if ( 'date' === options.type ) {
51
+ BaseClass = DateView;
52
+ }
53
+
54
+ return func( options, BaseClass );
55
+ } );
56
+
57
+ } ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
assets/js/parts/part-email.js ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var EmailModel = happyForms.classes.models.Part.extend( {
4
+ defaults: function() {
5
+ return _.extend(
6
+ {},
7
+ settings.formParts.email.defaults,
8
+ _.result( happyForms.classes.models.Part.prototype, 'defaults' ),
9
+ );
10
+ },
11
+ } );
12
+
13
+ var EmailView = happyForms.classes.views.Part.extend( {
14
+ template: '#happyforms-email-template',
15
+ confirmationFieldTemplate: '#happyforms-email-confirmation-template',
16
+
17
+ events: _.extend({}, happyForms.classes.views.Part.prototype.events, {
18
+ 'change .confirmation-checkbox': 'onConfirmationCheckboxChange'
19
+ }),
20
+
21
+ initialize: function() {
22
+ happyForms.classes.views.Part.prototype.initialize.apply(this, arguments);
23
+
24
+ this.listenTo(this.model, 'change:confirmation_field_label', this.onConfirmationLabelChange);
25
+ },
26
+
27
+ /**
28
+ * Trigger previewer event on 'Require confirmation of the value' checkbox change.
29
+ * Adds a new confirmation field to preview.
30
+ *
31
+ * @since 1.0.0.
32
+ *
33
+ * @param {object} e JS event.
34
+ *
35
+ * @return void
36
+ */
37
+ onConfirmationCheckboxChange: function(e) {
38
+ if ($(e.target).is(':checked')) {
39
+ this.model.set('confirmation_field_id', this.model.get('id') + '_confirmation');
40
+
41
+ this.$el.find('.confirmation-field-setting').show();
42
+
43
+ var template = _.template($(this.confirmationFieldTemplate).html());
44
+ var html = template(this.model.toJSON());
45
+
46
+ var eventData = {
47
+ 'part_id': this.model.get('id'),
48
+ 'element': html
49
+ };
50
+
51
+ api.previewer.trigger('happyforms-sub-part-added', eventData);
52
+ } else {
53
+ this.$el.find('.confirmation-field-setting').hide();
54
+
55
+ var eventData = {
56
+ subpart_id: this.model.get('confirmation_field_id')
57
+ };
58
+
59
+ api.previewer.trigger('happyforms-sub-part-removed', eventData);
60
+ }
61
+ },
62
+
63
+ /**
64
+ * Send updated confirmation field label value to previewer.
65
+ *
66
+ * @since 1.0.0.
67
+ *
68
+ * @return void
69
+ */
70
+ onConfirmationLabelChange: function() {
71
+ var value = this.model.get('confirmation_field_label');
72
+
73
+ var eventData = {
74
+ 'part_id': this.model.get('id'),
75
+ 'selector': '.happyforms-part__label--confirmation .label',
76
+ 'text': value
77
+ };
78
+
79
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
80
+ }
81
+ } );
82
+
83
+ happyForms.factory.model = _.wrap( happyForms.factory.model, function( func, attrs, options, BaseClass ) {
84
+ if ( 'email' === attrs.type ) {
85
+ BaseClass = EmailModel;
86
+ }
87
+
88
+ return func( attrs, options, BaseClass );
89
+ } );
90
+
91
+ happyForms.factory.view = _.wrap( happyForms.factory.view, function( func, options, BaseClass ) {
92
+ if ( 'email' === options.type ) {
93
+ BaseClass = EmailView;
94
+ }
95
+
96
+ return func( options, BaseClass );
97
+ } );
98
+
99
+ } ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
assets/js/parts/part-multi-line-text.js ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var MultiLineTextModel = happyForms.classes.models.Part.extend( {
4
+ defaults: function() {
5
+ return _.extend(
6
+ {},
7
+ settings.formParts.multi_line_text.defaults,
8
+ _.result( happyForms.classes.models.Part.prototype, 'defaults' ),
9
+ );
10
+ },
11
+ } );
12
+
13
+ var MultiLineTextView = happyForms.classes.views.Part.extend( {
14
+ template: '#happyforms-multi-line-text-template',
15
+
16
+ initialize: function() {
17
+ happyForms.classes.views.Part.prototype.initialize.apply(this, arguments);
18
+
19
+ this.listenTo(this.model, 'change:placeholder', this.onPlaceholderChange)
20
+ },
21
+
22
+ /**
23
+ * Send updated placeholder value to previewer. Added as a special method because of 'textarea' selector used instead of 'input'.
24
+ *
25
+ * @since 1.0.0.
26
+ *
27
+ * @return void
28
+ */
29
+ onPlaceholderChange: function() {
30
+ var eventData = {
31
+ part_id: this.model.id,
32
+ selector: 'textarea',
33
+ attributes: {
34
+ 'placeholder': this.model.get('placeholder')
35
+ }
36
+ };
37
+
38
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
39
+ }
40
+ } );
41
+
42
+ happyForms.factory.model = _.wrap( happyForms.factory.model, function( func, attrs, options, BaseClass ) {
43
+ if ( 'multi_line_text' === attrs.type ) {
44
+ BaseClass = MultiLineTextModel;
45
+ }
46
+
47
+ return func( attrs, options, BaseClass );
48
+ } );
49
+
50
+ happyForms.factory.view = _.wrap( happyForms.factory.view, function( func, options, BaseClass ) {
51
+ if ( 'multi_line_text' === options.type ) {
52
+ BaseClass = MultiLineTextView;
53
+ }
54
+
55
+ return func( options, BaseClass );
56
+ } );
57
+
58
+ } ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
assets/js/parts/part-number.js ADDED
@@ -0,0 +1,182 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var NumberModel = happyForms.classes.models.Part.extend( {
4
+ defaults: function() {
5
+ return _.extend(
6
+ {},
7
+ settings.formParts.number.defaults,
8
+ _.result( happyForms.classes.models.Part.prototype, 'defaults' ),
9
+ );
10
+ },
11
+ } );
12
+
13
+ var NumberView = happyForms.classes.views.Part.extend( {
14
+ template: '#happyforms-number-template',
15
+ confirmationFieldTemplate: '#happyforms-number-confirmation-template',
16
+
17
+ events: _.extend( {}, happyForms.classes.views.Part.prototype.events, {
18
+ 'change [name=extra_type]': 'onExtraTypeChange',
19
+ 'change [name=masked]': 'onMaskedChange',
20
+ 'change [name=mask_type]': 'onMaskTypeChange',
21
+ 'change .confirmation-checkbox': 'onConfirmationCheckboxChange'
22
+ } ),
23
+
24
+ initialize: function () {
25
+ happyForms.classes.views.Part.prototype.initialize.apply(this, arguments);
26
+
27
+ this.listenTo(this.model, 'change:confirmation_field_label', this.onConfirmationLabelChange);
28
+ },
29
+
30
+ /**
31
+ * Send updated field type value to previewer.
32
+ *
33
+ * @since 1.0.0.
34
+ *
35
+ * @param {object} e JS event.
36
+ *
37
+ * @return void
38
+ */
39
+ onExtraTypeChange: function(e) {
40
+ var $select = $(e.target);
41
+
42
+ this.model.set('extra_type', $select.val());
43
+
44
+ var eventData = {
45
+ part_id: this.model.id,
46
+ selector: 'input',
47
+ attributes: {
48
+ 'type': this.model.get('extra_type')
49
+ }
50
+ };
51
+
52
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
53
+ },
54
+
55
+ /**
56
+ * Toggle masked input configuration on `Mask this input` checkbox change.
57
+ *
58
+ * @since 1.0.0.
59
+ *
60
+ * @param {object} e JS event.
61
+ *
62
+ * @return void
63
+ */
64
+ onMaskedChange: function(e) {
65
+ var $input = $(e.target);
66
+ var attribute = $input.data('bind');
67
+ var $maskWrapper = this.$el.find('.mask-wrapper');
68
+
69
+ if ($input.is(':checked')) {
70
+ this.model.set(attribute, 1);
71
+
72
+ // show actual mask input
73
+ $maskWrapper.show();
74
+ } else {
75
+ this.model.set(attribute, 0);
76
+
77
+ // empty mask input and hide
78
+ $maskWrapper.find('input').val('');
79
+ $maskWrapper.hide();
80
+ }
81
+ },
82
+
83
+ /**
84
+ * Show different configuration options for each mask type.
85
+ * Triggered by 'Field type' select change.
86
+ *
87
+ * @since 1.0.0.
88
+ *
89
+ * @param {object} e JS event.
90
+ *
91
+ * @return void
92
+ */
93
+ onMaskTypeChange: function(e) {
94
+ var $select = $(e.target);
95
+ var attribute = $select.data('bind');
96
+
97
+ this.model.set(attribute, $select.val());
98
+
99
+ this.$el.find('.number-options').hide();
100
+
101
+ if ($select.val() === 'numeric') {
102
+ this.$el.find('.number-options--numeric').show();
103
+ }
104
+
105
+ if ($select.val() === 'phone') {
106
+ this.$el.find('.number-options--phone').show();
107
+ }
108
+ },
109
+
110
+ /**
111
+ * Trigger previewer event on 'Require confirmation of the value' checkbox change.
112
+ * Adds a new confirmation field to preview.
113
+ *
114
+ * @since 1.0.0.
115
+ *
116
+ * @param {object} e JS event.
117
+ *
118
+ * @return void
119
+ */
120
+ onConfirmationCheckboxChange: function (e) {
121
+ if ($(e.target).is(':checked')) {
122
+ this.model.set('confirmation_field_id', this.model.get('id') + '_confirmation');
123
+
124
+ this.$el.find('.confirmation-field-setting').show();
125
+
126
+ var template = _.template($(this.confirmationFieldTemplate).html());
127
+ var html = template(this.model.toJSON());
128
+
129
+ var eventData = {
130
+ 'part_id': this.model.get('id'),
131
+ 'element': html
132
+ };
133
+
134
+ api.previewer.trigger('happyforms-sub-part-added', eventData);
135
+ } else {
136
+ this.$el.find('.confirmation-field-setting').hide();
137
+
138
+ var eventData = {
139
+ subpart_id: this.model.get('confirmation_field_id')
140
+ };
141
+
142
+ api.previewer.trigger('happyforms-sub-part-removed', eventData);
143
+ }
144
+ },
145
+
146
+ /**
147
+ * Send updated confirmation field label value to previewer.
148
+ *
149
+ * @since 1.0.0.
150
+ *
151
+ * @return void
152
+ */
153
+ onConfirmationLabelChange: function () {
154
+ var value = this.model.get('confirmation_field_label');
155
+
156
+ var eventData = {
157
+ 'part_id': this.model.get('id'),
158
+ 'selector': '.happyforms-part__label--confirmation .label',
159
+ 'text': value
160
+ };
161
+
162
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
163
+ }
164
+ } );
165
+
166
+ happyForms.factory.model = _.wrap( happyForms.factory.model, function( func, attrs, options, BaseClass ) {
167
+ if ( 'number' === attrs.type ) {
168
+ BaseClass = NumberModel;
169
+ }
170
+
171
+ return func( attrs, options, BaseClass );
172
+ } );
173
+
174
+ happyForms.factory.view = _.wrap( happyForms.factory.view, function( func, options, BaseClass ) {
175
+ if ( 'number' === options.type ) {
176
+ BaseClass = NumberView;
177
+ }
178
+
179
+ return func( options, BaseClass );
180
+ } );
181
+
182
+ } ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
assets/js/parts/part-placeholder.js ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var PlaceholderModel = happyForms.classes.models.Part.extend( {
4
+ defaults: function() {
5
+ return _.extend(
6
+ {},
7
+ settings.formParts.placeholder.defaults,
8
+ _.result( happyForms.classes.models.Part.prototype, 'defaults' ),
9
+ );
10
+ },
11
+ } );
12
+
13
+ var PlaceholderView = happyForms.classes.views.Part.extend( {
14
+ template: '#happyforms-placeholder-template',
15
+ editor: null,
16
+
17
+ ready: function() {
18
+ happyForms.classes.views.Part.prototype.ready.apply( this, arguments );
19
+
20
+ this.listenTo( this, 'refresh', this.onRefresh );
21
+
22
+ var $textarea = $( 'textarea', this.$el );
23
+ var editorId = $textarea.attr( 'id' );
24
+ var editorSettings = {
25
+ tinymce: {
26
+ toolbar1: 'bold,italic,bullist,numlist,hr',
27
+ setup: this.onEditorInit.bind( this ),
28
+ },
29
+ };
30
+
31
+ wp.editor.initialize( editorId, editorSettings );
32
+ },
33
+
34
+ onRefresh: function() {
35
+ var $textarea = $( 'textarea', this.$el );
36
+ var editorId = $textarea.attr( 'id' );
37
+
38
+ tinymce.execCommand( 'mceRemoveEditor', false, editorId );
39
+ tinymce.execCommand( 'mceAddEditor', false, editorId );
40
+ },
41
+
42
+ /**
43
+ * Triggere previewer event on each `keyup` and `change` event in the WP editor.
44
+ *
45
+ * @since 1.0.0.
46
+ *
47
+ * @param {object} editor TinyMCE editor JS object.
48
+ *
49
+ * @return void
50
+ */
51
+ onEditorInit: function( editor ) {
52
+ editor.on( 'keyup change', function() {
53
+ this.model.set( 'placeholder_text', editor.getContent() );
54
+
55
+ var eventData = {
56
+ part_id: this.model.id,
57
+ selector: '.happyforms-part__el',
58
+ html: editor.getContent()
59
+ };
60
+
61
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
62
+ }.bind( this ) );
63
+ },
64
+
65
+ /**
66
+ * Add a special treatment for removing WP editor when the part is removed.
67
+ *
68
+ * @since 1.0.0.
69
+ *
70
+ * @return void
71
+ */
72
+ remove: function() {
73
+ var $textarea = $( 'textarea', this.$el );
74
+ var editorId = $textarea.attr( 'id' );
75
+
76
+ wp.editor.remove( editorId );
77
+
78
+ happyForms.classes.views.Part.prototype.remove.apply( this, arguments );
79
+ }
80
+ } );
81
+
82
+ happyForms.factory.model = _.wrap( happyForms.factory.model, function( func, attrs, options, BaseClass ) {
83
+ if ( 'placeholder' === attrs.type ) {
84
+ BaseClass = PlaceholderModel;
85
+ }
86
+
87
+ return func( attrs, options, BaseClass );
88
+ } );
89
+
90
+ happyForms.factory.view = _.wrap( happyForms.factory.view, function( func, options, BaseClass ) {
91
+ if ( 'placeholder' === options.type ) {
92
+ BaseClass = PlaceholderView;
93
+ }
94
+
95
+ return func( options, BaseClass );
96
+ } );
97
+
98
+ } ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
assets/js/parts/part-radio.js ADDED
@@ -0,0 +1,279 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var RadioModel = happyForms.classes.models.Part.extend( {
4
+ defaults: function() {
5
+ return _.extend(
6
+ {},
7
+ settings.formParts.radio.defaults,
8
+ _.result( happyForms.classes.models.Part.prototype, 'defaults' ),
9
+ );
10
+ }
11
+ } );
12
+
13
+ var RadioView = happyForms.classes.views.Part.extend( {
14
+ template: '#happyforms-radio-template',
15
+
16
+ initialize: function() {
17
+ happyForms.classes.views.Part.prototype.initialize.apply( this, arguments );
18
+
19
+ this.model.options = new Backbone.Collection();
20
+
21
+ this.listenTo(this.model.options, 'add', this.onOptionsChange);
22
+ this.listenTo(this.model.options, 'change', this.onOptionsChange);
23
+ this.listenTo(this.model.options, 'remove', this.onOptionsChange);
24
+ },
25
+
26
+ events: _.extend( {}, happyForms.classes.views.Part.prototype.events, {
27
+ 'click .add-option': 'onAddOptionClick',
28
+ 'change [name=display_type]': 'onDisplayTypeChange'
29
+ } ),
30
+
31
+ ready: function() {
32
+ happyForms.classes.views.Part.prototype.ready.apply( this, arguments );
33
+
34
+ _(this.model.get('options')).each(function(option) {
35
+ var optionModel = new Backbone.Model({
36
+ id: option.id,
37
+ is_default: option.is_default,
38
+ label: option.label
39
+ });
40
+
41
+ this.createNewOption(optionModel);
42
+ }, this);
43
+ },
44
+
45
+ /**
46
+ * Hide 'No options added yet' message and call `createNewOption` method on 'Add option' button click.
47
+ *
48
+ * @since 1.0.0.
49
+ *
50
+ * @return void
51
+ */
52
+ onAddOptionClick: function() {
53
+ this.$el.find('.no-options').hide();
54
+
55
+ this.createNewOption(false, false);
56
+ },
57
+
58
+ /**
59
+ * Creates new option model and view, adds to a collection.
60
+ *
61
+ * @since 1.0.0.
62
+ *
63
+ * @param {object} [optionModel=''] Existing option model.
64
+ * @param {bool} [skipPreviewTrigger=true] Boolean to tell if creation of new model should trigger preview event or not.
65
+ *
66
+ * @return void
67
+ */
68
+ createNewOption: function(optionModel, skipPreviewTrigger) {
69
+ var self = this;
70
+ var model = (optionModel) ? optionModel : '';
71
+
72
+ if ( typeof skipPreviewTrigger === 'undefined' ) {
73
+ skipPreviewTrigger = true;
74
+ }
75
+
76
+ if (model === '') {
77
+ var optionId = _.uniqueId(self.model.get('id') + '_option_');
78
+
79
+ model = new Backbone.Model({
80
+ id: optionId,
81
+ is_default: 0,
82
+ label: ''
83
+ });
84
+ }
85
+
86
+ this.model.options.add(model, { silent: true });
87
+
88
+ var view = new RadioOptionView({ model: model, parent: this });
89
+
90
+ $('.options', this.$el).append(view.$el);
91
+
92
+ if ( !skipPreviewTrigger ) {
93
+ var template = _.template($(view.frontendTemplate).html());
94
+ var html = template(view.model.toJSON());
95
+
96
+ var eventData = {
97
+ 'part_id': this.model.get('id'),
98
+ 'element': html,
99
+ 'appendTo': '.happyforms-part__el'
100
+ };
101
+
102
+ api.previewer.trigger('happyforms-sub-part-added', eventData);
103
+ }
104
+ },
105
+
106
+ /**
107
+ * Update options in the part model on options collection change.
108
+ *
109
+ * @since 1.0.0.
110
+ *
111
+ * @param {object} data Backbone collection of options.
112
+ *
113
+ * @return {object}
114
+ */
115
+ onOptionsChange: function(data) {
116
+ var options = this.model.options;
117
+ var optionsArray = [];
118
+
119
+ options.each(function(model, index) {
120
+ optionsArray.push(model.attributes);
121
+ });
122
+
123
+ this.model.set('options', optionsArray);
124
+
125
+ return data;
126
+ },
127
+
128
+ onDisplayTypeChange: function(e) {
129
+ var $input = $(e.target);
130
+ var attribute = $input.data('bind');
131
+
132
+ this.model.set(attribute, $input.val());
133
+
134
+ var eventData = {
135
+ part_id: this.model.id,
136
+ selector: 'self',
137
+ classes: 'display-type--block',
138
+ classMethod: 'add'
139
+ };
140
+
141
+ if (this.model.get(attribute) !== 'block') {
142
+ eventData.classMethod = 'remove';
143
+ }
144
+
145
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
146
+ }
147
+ } );
148
+
149
+ var RadioOptionView = Backbone.View.extend( {
150
+ template: '#happyforms-radio-option-customize-template',
151
+
152
+ initialize: function(options) {
153
+ this.parent = options.parent;
154
+ this.frontendTemplate = '#happyforms-radio-option-frontend-template';
155
+
156
+ this.render();
157
+ },
158
+
159
+ events: {
160
+ 'keyup input': 'onInputChange',
161
+ 'click .delete-option': 'deleteOption',
162
+ 'change .default-option-switch': 'onDefaultOptionCheck'
163
+ },
164
+
165
+ render: function() {
166
+ var template = _.template($(this.template).html());
167
+ var html = template(this.model.toJSON());
168
+
169
+ this.setElement(html);
170
+
171
+ return this;
172
+ },
173
+
174
+ /**
175
+ * Update model with the changed data. Triggered on change event of inputs in the part view.
176
+ *
177
+ * @since 1.0.0.
178
+ *
179
+ * @return void
180
+ */
181
+ onInputChange: function(e) {
182
+ var $input = $(e.target);
183
+ var previewSelector = $input.data('preview-selector');
184
+ var attribute = $input.attr('data-option-attribute');
185
+ var value = $input.val();
186
+
187
+ this.model.set(attribute, value);
188
+
189
+ if (previewSelector) {
190
+ var eventData = {
191
+ selector: '#' + this.model.get('id') + ' ' + previewSelector,
192
+ text: value
193
+ };
194
+
195
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
196
+ }
197
+ },
198
+
199
+ /**
200
+ * Triggered on 'Delete' button click in each option.
201
+ *
202
+ * @since 1.0.0.
203
+ *
204
+ * @param {object} e JS event.
205
+ *
206
+ * @return void
207
+ */
208
+ deleteOption: function(e) {
209
+ e.preventDefault();
210
+
211
+ var eventData = {
212
+ subpart_id: this.model.get('id')
213
+ };
214
+
215
+ api.previewer.trigger('happyforms-sub-part-removed', eventData);
216
+
217
+ this.parent.model.options.remove({ cid: this.model.cid }, { silent: true });
218
+
219
+ if ( !this.parent.model.options.length ) {
220
+ this.parent.$el.find('.no-options').show();
221
+ }
222
+
223
+ this.remove();
224
+ },
225
+
226
+ /**
227
+ * Adds 'selected' attribute to option that's selected as default.
228
+ * Triggered by 'Make this option default' checkbox.
229
+ * Triggers previewer event.
230
+ *
231
+ * @since 1.0.0.
232
+ *
233
+ * @param {object} e JS event.
234
+ *
235
+ * @return void
236
+ */
237
+ onDefaultOptionCheck: function(e) {
238
+ var $input = $(e.target);
239
+
240
+ if ($input.is(':checked')) {
241
+ this.model.set('is_default', 1);
242
+ this.parent.$el.find('.default-option-switch').not($input).prop('checked', false).attr('disabled', true);
243
+ } else {
244
+ this.model.set('is_default', 0);
245
+ this.parent.$el.find('.default-option-switch').not($input).prop('checked', false).removeAttr('disabled');
246
+ }
247
+
248
+ var eventData = {
249
+ selector: '#' + this.model.get('id') + ' input',
250
+ props: {
251
+ checked: true
252
+ }
253
+ };
254
+
255
+ if (!$input.is(':checked')) {
256
+ eventData.props.checked = false;
257
+ }
258
+
259
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
260
+ }
261
+ } );
262
+
263
+ happyForms.factory.model = _.wrap( happyForms.factory.model, function( func, attrs, options, BaseClass ) {
264
+ if ( 'radio' === attrs.type ) {
265
+ BaseClass = RadioModel;
266
+ }
267
+
268
+ return func( attrs, options, BaseClass );
269
+ } );
270
+
271
+ happyForms.factory.view = _.wrap( happyForms.factory.view, function( func, options, BaseClass ) {
272
+ if ( 'radio' === options.type ) {
273
+ BaseClass = RadioView;
274
+ }
275
+
276
+ return func( options, BaseClass );
277
+ } );
278
+
279
+ } ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
assets/js/parts/part-rating.js ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($, _, Backbone, api, settings) {
2
+
3
+ var RatingModel = happyForms.classes.models.Part.extend({
4
+ defaults: function () {
5
+ return _.extend(
6
+ {},
7
+ settings.formParts.rating.defaults,
8
+ _.result(happyForms.classes.models.Part.prototype, 'defaults'),
9
+ );
10
+ },
11
+ });
12
+
13
+ var RatingView = happyForms.classes.views.Part.extend({
14
+ template: '#happyforms-rating-template'
15
+ });
16
+
17
+ happyForms.factory.model = _.wrap(happyForms.factory.model, function (func, attrs, options, BaseClass) {
18
+ if ('rating' === attrs.type) {
19
+ BaseClass = RatingModel;
20
+ }
21
+
22
+ return func(attrs, options, BaseClass);
23
+ });
24
+
25
+ happyForms.factory.view = _.wrap(happyForms.factory.view, function (func, options, BaseClass) {
26
+ if ('rating' === options.type) {
27
+ BaseClass = RatingView;
28
+ }
29
+
30
+ return func(options, BaseClass);
31
+ });
32
+
33
+ })(jQuery, _, Backbone, wp.customize, _happyFormsSettings);
assets/js/parts/part-select.js ADDED
@@ -0,0 +1,258 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var SelectModel = happyForms.classes.models.Part.extend( {
4
+ defaults: function() {
5
+ return _.extend(
6
+ {},
7
+ settings.formParts.select.defaults,
8
+ _.result( happyForms.classes.models.Part.prototype, 'defaults' ),
9
+ );
10
+ }
11
+ } );
12
+
13
+ var SelectView = happyForms.classes.views.Part.extend( {
14
+ template: '#happyforms-select-template',
15
+
16
+ initialize: function() {
17
+ happyForms.classes.views.Part.prototype.initialize.apply( this, arguments );
18
+
19
+ this.model.options = new Backbone.Collection();
20
+
21
+ this.listenTo(this.model.options, 'add', this.onOptionsChange);
22
+ this.listenTo(this.model.options, 'change', this.onOptionsChange);
23
+ this.listenTo(this.model.options, 'remove', this.onOptionsChange);
24
+ },
25
+
26
+ events: _.extend( {}, happyForms.classes.views.Part.prototype.events, {
27
+ 'click .add-option': 'onAddOptionClick'
28
+ } ),
29
+
30
+ ready: function() {
31
+ happyForms.classes.views.Part.prototype.ready.apply( this, arguments );
32
+
33
+ _(this.model.get('options')).each(function(option) {
34
+ var optionModel = new Backbone.Model({
35
+ id: option.id,
36
+ is_default: option.is_default,
37
+ label: option.label
38
+ });
39
+
40
+ this.createNewOption(optionModel);
41
+ }, this);
42
+ },
43
+
44
+ /**
45
+ * Hide 'No options added yet' message and call `createNewOption` method on 'Add option' button click.
46
+ *
47
+ * @since 1.0.0.
48
+ *
49
+ * @return void
50
+ */
51
+ onAddOptionClick: function() {
52
+ this.$el.find('.no-options').hide();
53
+
54
+ this.createNewOption(false, false);
55
+ },
56
+
57
+ /**
58
+ * Creates new option model and view, adds to a collection.
59
+ *
60
+ * @since 1.0.0.
61
+ *
62
+ * @param {object} [optionModel=''] Existing option model.
63
+ * @param {bool} [skipPreviewTrigger=true] Boolean to tell if creation of new model should trigger preview event or not.
64
+ *
65
+ * @return void
66
+ */
67
+ createNewOption: function(optionModel, skipPreviewTrigger) {
68
+ var self = this;
69
+ var model = (optionModel) ? optionModel : '';
70
+
71
+ if ( typeof skipPreviewTrigger === 'undefined' ) {
72
+ skipPreviewTrigger = true;
73
+ }
74
+
75
+ if (model === '') {
76
+ var optionId = _.uniqueId(self.model.get('id') + '_option_');
77
+
78
+ model = new Backbone.Model({
79
+ id: optionId,
80
+ is_default: 0,
81
+ label: ''
82
+ });
83
+ }
84
+
85
+ this.model.options.add(model, { silent: true });
86
+
87
+ var view = new SelectOptionView({ model: model, parent: this });
88
+
89
+ $('.options', this.$el).append(view.$el);
90
+
91
+ if ( !skipPreviewTrigger ) {
92
+ var template = _.template($(view.frontendTemplate).html());
93
+ var html = template(view.model.toJSON());
94
+
95
+ var eventData = {
96
+ 'part_id': this.model.get('id'),
97
+ 'element': html,
98
+ 'appendTo': 'select'
99
+ };
100
+
101
+ api.previewer.trigger('happyforms-sub-part-added', eventData);
102
+ }
103
+ },
104
+
105
+ /**
106
+ * Update options in the part model on options collection change.
107
+ *
108
+ * @since 1.0.0.
109
+ *
110
+ * @param {object} data Backbone collection of options.
111
+ *
112
+ * @return {object}
113
+ */
114
+ onOptionsChange: function(data) {
115
+ var options = this.model.options;
116
+ var optionsArray = [];
117
+
118
+ options.each(function(model, index) {
119
+ optionsArray.push(model.attributes);
120
+ });
121
+
122
+ this.model.set('options', optionsArray);
123
+
124
+ return data;
125
+ }
126
+ } );
127
+
128
+ var SelectOptionView = Backbone.View.extend( {
129
+ template: '#happyforms-select-option-customize-template',
130
+
131
+ initialize: function(options) {
132
+ this.parent = options.parent;
133
+ this.frontendTemplate = '#happyforms-select-option-frontend-template';
134
+
135
+ this.render();
136
+ },
137
+
138
+ events: {
139
+ 'keyup input': 'onInputChange',
140
+ 'click .delete-option': 'deleteOption',
141
+ 'change .default-option-switch': 'onDefaultOptionCheck'
142
+ },
143
+
144
+ render: function() {
145
+ var template = _.template($(this.template).html());
146
+ var html = template(this.model.toJSON());
147
+
148
+ this.setElement(html);
149
+
150
+ return this;
151
+ },
152
+
153
+ /**
154
+ * Update model with the changed data. Triggered on change event of inputs in the part view.
155
+ *
156
+ * @since 1.0.0.
157
+ *
158
+ * @return void
159
+ */
160
+ onInputChange: function(e) {
161
+ var $input = $(e.target);
162
+ var previewSelector = $input.data('preview-selector');
163
+ var attribute = $input.attr('data-option-attribute');
164
+ var value = $input.val();
165
+
166
+ this.model.set(attribute, value);
167
+
168
+ if (previewSelector) {
169
+ var eventData = {
170
+ selector: '#' + this.model.get('id'),
171
+ text: value
172
+ };
173
+
174
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
175
+ }
176
+ },
177
+
178
+ /**
179
+ * Triggered on 'Delete' button click in each option.
180
+ *
181
+ * @since 1.0.0.
182
+ *
183
+ * @param {object} e JS event.
184
+ *
185
+ * @return void
186
+ */
187
+ deleteOption: function(e) {
188
+ e.preventDefault();
189
+
190
+ var eventData = {
191
+ subpart_id: this.model.get('id')
192
+ };
193
+
194
+ api.previewer.trigger('happyforms-sub-part-removed', eventData);
195
+
196
+ this.parent.model.options.remove({ cid: this.model.cid }, { silent: true });
197
+
198
+ if ( !this.parent.model.options.length ) {
199
+ this.parent.$el.find('.no-options').show();
200
+ }
201
+
202
+ this.remove();
203
+ },
204
+
205
+ /**
206
+ * Adds 'selected' attribute to option that's selected as default.
207
+ * Triggered by 'Make this option default' checkbox.
208
+ * Triggers previewer event.
209
+ *
210
+ * @since 1.0.0.
211
+ *
212
+ * @param {object} e JS event.
213
+ *
214
+ * @return void
215
+ */
216
+ onDefaultOptionCheck: function(e) {
217
+ var $input = $(e.target);
218
+
219
+ if ($input.is(':checked')) {
220
+ this.model.set('is_default', 1);
221
+ this.parent.$el.find('.default-option-switch').not($input).prop('checked', false).attr('disabled', true);
222
+ } else {
223
+ this.model.set('is_default', 0);
224
+ this.parent.$el.find('.default-option-switch').not($input).prop('checked', false).removeAttr('disabled');
225
+ }
226
+
227
+ var eventData = {
228
+ selector: '#' + this.model.get('id'),
229
+ props: {
230
+ selected: true
231
+ }
232
+ };
233
+
234
+ if (!$input.is(':checked')) {
235
+ eventData.props.selected = false;
236
+ }
237
+
238
+ api.previewer.trigger('happyforms-part-dom-update', eventData);
239
+ }
240
+ } );
241
+
242
+ happyForms.factory.model = _.wrap( happyForms.factory.model, function( func, attrs, options, BaseClass ) {
243
+ if ( 'select' === attrs.type ) {
244
+ BaseClass = SelectModel;
245
+ }
246
+
247
+ return func( attrs, options, BaseClass );
248
+ } );
249
+
250
+ happyForms.factory.view = _.wrap( happyForms.factory.view, function( func, options, BaseClass ) {
251
+ if ( 'select' === options.type ) {
252
+ BaseClass = SelectView;
253
+ }
254
+
255
+ return func( options, BaseClass );
256
+ } );
257
+
258
+ } ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
assets/js/parts/part-single-line-text.js ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var SingleLineTextModel = happyForms.classes.models.Part.extend( {
4
+ defaults: function() {
5
+ return _.extend(
6
+ {},
7
+ settings.formParts.single_line_text.defaults,
8
+ _.result( happyForms.classes.models.Part.prototype, 'defaults' ),
9
+ );
10
+ },
11
+ } );
12
+
13
+ var SingleLineTextView = happyForms.classes.views.Part.extend( {
14
+ template: '#happyforms-single-line-text-template'
15
+ } );
16
+
17
+ happyForms.factory.model = _.wrap( happyForms.factory.model, function( func, attrs, options, BaseClass ) {
18
+ if ( 'single_line_text' === attrs.type ) {
19
+ BaseClass = SingleLineTextModel;
20
+ }
21
+
22
+ return func( attrs, options, BaseClass );
23
+ } );
24
+
25
+ happyForms.factory.view = _.wrap( happyForms.factory.view, function( func, options, BaseClass ) {
26
+ if ( 'single_line_text' === options.type ) {
27
+ BaseClass = SingleLineTextView;
28
+ }
29
+
30
+ return func( options, BaseClass );
31
+ } );
32
+
33
+ } ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
assets/js/parts/part-website-url.js ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var WebsiteUrlModel = happyForms.classes.models.Part.extend( {
4
+ defaults: function() {
5
+ return _.extend(
6
+ {},
7
+ settings.formParts.website_url.defaults,
8
+ _.result( happyForms.classes.models.Part.prototype, 'defaults' ),
9
+ );
10
+ },
11
+ } );
12
+
13
+ var WebsiteUrlView = happyForms.classes.views.Part.extend( {
14
+ template: '#happyforms-website-url-template'
15
+ } );
16
+
17
+ happyForms.factory.model = _.wrap( happyForms.factory.model, function( func, attrs, options, BaseClass ) {
18
+ if ( 'website_url' === attrs.type ) {
19
+ BaseClass = WebsiteUrlModel;
20
+ }
21
+
22
+ return func( attrs, options, BaseClass );
23
+ } );
24
+
25
+ happyForms.factory.view = _.wrap( happyForms.factory.view, function( func, options, BaseClass ) {
26
+ if ( 'website_url' === options.type ) {
27
+ BaseClass = WebsiteUrlView;
28
+ }
29
+
30
+ return func( options, BaseClass );
31
+ } );
32
+
33
+ } ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
assets/js/preview.js ADDED
@@ -0,0 +1,385 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, _, Backbone, api, settings ) {
2
+
3
+ var happyFormsPreview;
4
+ var classes = {};
5
+
6
+ classes.models = {};
7
+ classes.collections = {};
8
+ classes.views = {};
9
+
10
+ classes.models.Item = Backbone.Model.extend({
11
+ idAttribute: 'ID'
12
+ });
13
+
14
+ classes.collections.Elements = Backbone.Collection.extend({
15
+ initialize: function() {
16
+ this.on('add', this.onAdd, this);
17
+ this.listenTo(this, 'resort', this.onResort);
18
+ },
19
+
20
+ model: classes.models.Item,
21
+
22
+ onAdd: function(model) {
23
+ var view = new classes.views.Item({ model: model });
24
+
25
+ model.set('view', view);
26
+
27
+ var $previewCanvas = happyFormsPreview.$el.contents().find('#happyforms-app');
28
+
29
+ if ($previewCanvas.find('.happyforms-part--submit').length) {
30
+ $previewCanvas.find('.happyforms-part--submit').before(view.render().$el);
31
+ } else {
32
+ $previewCanvas.append(view.render().$el);
33
+ }
34
+ },
35
+
36
+ onResort: function(data) {
37
+ this.models = _(this.models).sortBy(function(model) {
38
+ if (model.get('elementID')) {
39
+ var newIndex = _.indexOf(data.part_ids, model.get('elementID'));
40
+
41
+ var $previewCanvas = happyFormsPreview.$el.contents().find('#happyforms-app');
42
+
43
+ model.get('view').$el.insertAfter($previewCanvas.find('.happyforms-part').eq(newIndex));
44
+ }
45
+
46
+ return _.indexOf(data.part_ids, model.get('elementID'));
47
+ });
48
+ }
49
+ });
50
+
51
+ var HappyFormsPreview = Backbone.View.extend({
52
+ elements: false,
53
+
54
+ initialize: function() {
55
+ this.elements = new classes.collections.Elements();
56
+ this.itemModel = new classes.models.Item();
57
+ this.wrapper = '#happyforms-app';
58
+
59
+ this.listenTo(this, 'update-part-dom', this.onDOMPartUpdate);
60
+ this.listenTo(this, 'update-part-width', this.onPartWidthUpdate);
61
+ this.listenTo(this, 'parts-sorted', this.onPartsSorted);
62
+ this.listenTo(this, 'highlight-item', this.highlightItem);
63
+ this.listenTo(this, 'unhighlight-item', this.unhighlightItem);
64
+ this.listenTo(this, 'update-style', this.updateStyle);
65
+ this.listenTo(this, 'load-styles', this.loadStyles);
66
+ this.listenTo(this, 'add-sub-part', this.addSubPart);
67
+ this.listenTo(this, 'remove-sub-part', this.removeSubPart);
68
+
69
+ var self = this;
70
+
71
+ setTimeout(function() {
72
+ self.load();
73
+ }, 200);
74
+ },
75
+
76
+ load: function() {
77
+ var $iframe = this.$el.contents();
78
+ var formID = $iframe.find('#happyforms-app').data('happyforms-form-id');
79
+ var $items = $iframe.find('.happyforms-part');
80
+ var self = this;
81
+
82
+ _.each($items, function(item) {
83
+ var itemModel = new classes.models.Item({
84
+ elementID: $(item).attr('data-happyforms-id'),
85
+ formID: formID,
86
+ fieldName: $(item).attr('data-happyforms-field-name'),
87
+ html: $(item).prop('outerHTML')
88
+ });
89
+
90
+ $(item).remove();
91
+
92
+ var item = new classes.views.Item({ el: item, model: itemModel });
93
+
94
+ self.elements.add(itemModel);
95
+ });
96
+
97
+ api.previewer.trigger( 'happyforms-preview-ready' );
98
+ },
99
+
100
+ addView: function(modelAttributes) {
101
+ var model = new classes.models.Item(modelAttributes);
102
+
103
+ this.elements.add(model);
104
+ },
105
+
106
+ onDOMPartUpdate: function(data) {
107
+ if (!data || !data.selector) {
108
+ return;
109
+ }
110
+
111
+ var selector = data.selector;
112
+
113
+ if (data.part_id) {
114
+ selector = '[data-happyforms-id="'+ data.part_id +'"]';
115
+
116
+ if (data.selector !== 'self') {
117
+ selector = '[data-happyforms-id="'+ data.part_id +'"] ' + data.selector;
118
+ }
119
+ }
120
+
121
+ var $element = this.$el.contents().find(selector);
122
+
123
+ if (data.text) {
124
+ $element.text(data.text);
125
+ }
126
+
127
+ if (typeof data.html !== 'undefined') {
128
+ $element.html(data.html);
129
+ }
130
+
131
+ if (data.css) {
132
+ $element.css(data.css);
133
+ }
134
+
135
+ if (data.attributes) {
136
+ $element.attr(data.attributes);
137
+
138
+ if (data.attributeMethod === 'remove') {
139
+ $element.removeAttr(data.attributes);
140
+ }
141
+ } else {
142
+ $element.text(data.text);
143
+ }
144
+
145
+ if (data.props) {
146
+ _.each(data.props, function(value, key) {
147
+ $element.prop(key, value);
148
+ });
149
+ }
150
+
151
+ if (!_.isEmpty(data.classes) && !_.isEmpty(data.classMethod)) {
152
+ if (data.classMethod === 'add') {
153
+ $element.addClass(data.classes);
154
+ } else {
155
+ $element.removeClass(data.classes);
156
+ }
157
+ }
158
+ },
159
+
160
+ onPartWidthUpdate: function(data) {
161
+ if (data.selector && data.width) {
162
+ var width = data.width;
163
+ var $part = this.$el.contents().find('[data-happyforms-id="'+ data.part_id +'"]');
164
+
165
+ $part.removeClass('happyforms-part--width-half happyforms-part--width-full happyforms-part--width-third');
166
+
167
+ $part.addClass('happyforms-part--width-'+ width);
168
+ }
169
+ },
170
+
171
+ onPartsSorted: function(data) {
172
+ this.elements.trigger('resort', data);
173
+ },
174
+
175
+ highlightItem: function(elementID) {
176
+ this.$el.contents().find('[data-happyforms-id="'+elementID+'"]').addClass('highlighted');
177
+ },
178
+
179
+ unhighlightItem: function(elementID) {
180
+ this.$el.contents().find('[data-happyforms-id="'+elementID+'"]').removeClass('highlighted');
181
+ },
182
+
183
+ updateStyle: function(data) {
184
+ var selector = data.selector;
185
+ var styles = data.style;
186
+
187
+ var $elements = this.$el.contents().find(selector);
188
+
189
+ $elements.attr('style', '');
190
+
191
+ $elements.css(styles);
192
+ },
193
+
194
+ loadStyles: function(data) {
195
+ var self = this;
196
+
197
+ var data = {
198
+ action: 'happyforms_load_styles',
199
+ form: data.toJSON()
200
+ };
201
+
202
+ $.post(ajaxurl, data, function(res) {
203
+ if (res) {
204
+ var $styleWrapper = self.$el.contents().find('#happyforms-preview-styles');
205
+ $styleWrapper.empty().html(res);
206
+ }
207
+ });
208
+ },
209
+
210
+ addSubPart: function(data) {
211
+ if (data) {
212
+ var $el = this.$el.contents().find('[data-happyforms-id='+data.part_id+']');
213
+ var $partEl = data.element;
214
+
215
+ if (data.appendTo) {
216
+ var $newEl = $el.find(data.appendTo);
217
+
218
+ if (!$newEl.length) {
219
+ $newEl.html($partEl);
220
+ return;
221
+ } else {
222
+ $el = $newEl;
223
+ }
224
+ }
225
+
226
+ $el.append($partEl);
227
+ }
228
+ },
229
+
230
+ removeSubPart: function(data) {
231
+ if (data) {
232
+ var $el = this.$el.contents().find('#' + data.subpart_id);
233
+
234
+ $el.remove();
235
+ }
236
+ }
237
+ });
238
+
239
+ classes.views.Item = Backbone.View.extend({
240
+ template: '#happyforms-partial-template',
241
+
242
+ events: {
243
+ 'click .happyforms-edit-pencil': 'onPencilClick'
244
+ },
245
+
246
+ initialize: function() {
247
+ this.pencilTemplate = '#happyforms-pencil-template';
248
+
249
+ this.model.on('change', this.onModelChange, this);
250
+ },
251
+
252
+ render: function() {
253
+ var template = _.template($(this.template).text());
254
+ var html = template(this.model.toJSON());
255
+ var partHtml = html;
256
+
257
+ if ($(html).hasClass('happyforms-part-editable')) {
258
+ partHtml = this.addPencil(html);
259
+ }
260
+
261
+ this.setElement(partHtml);
262
+
263
+ return this;
264
+ },
265
+
266
+ addPencil: function(html) {
267
+ var pencilHtml = $(this.pencilTemplate).html();
268
+
269
+ html = $(html).append(pencilHtml).prop('outerHTML');
270
+
271
+ return html;
272
+ },
273
+
274
+ onModelChange: function(model) {
275
+ if (this.model !== model) {
276
+ this.render();
277
+ }
278
+ },
279
+
280
+ onPencilClick: function(e) {
281
+ e.preventDefault();
282
+
283
+ var data = {
284
+ form_id: this.model.get('formID'),
285
+ part_id: this.model.get('elementID'),
286
+ field_name: this.model.get('fieldName'),
287
+ step: 'build'
288
+ };
289
+
290
+ happyForms.trigger('happyforms-pencil-click', data);
291
+ }
292
+ });
293
+
294
+ api.bind( 'ready', function() {
295
+ api.previewer.bind('ready', function() {
296
+ if (api.previewer.getFrontendPreviewUrl().indexOf('happyform') === -1) {
297
+ api.previewer.previewUrl('/?happyformsPlaceholder');
298
+ } else {
299
+ happyFormsPreview = window.happyFormsPreview = new HappyFormsPreview({
300
+ el: api.previewer.preview.iframe
301
+ });
302
+ }
303
+ });
304
+
305
+ api.previewer.bind('happyforms-form-part-added', function(data) {
306
+ if (data) {
307
+ var formID = data.form_id;
308
+ var partID = data.part_id;
309
+ var template = data.html;
310
+
311
+ var modelAttributes = {
312
+ elementID: partID,
313
+ formID: formID,
314
+ fieldName: $(template).attr('data-happyforms-field-name'),
315
+ html: template
316
+ };
317
+
318
+ happyFormsPreview.addView(modelAttributes);
319
+ }
320
+ });
321
+
322
+ api.previewer.bind('happyforms-form-part-removed', function(data) {
323
+ if (data) {
324
+ var formID = data.form_id;
325
+ var partID = data.part_id;
326
+
327
+ var element = _.find(happyFormsPreview.elements.models, function(model) {
328
+ return model.get('elementID') === partID;
329
+ });
330
+
331
+ if (element) {
332
+ element.get('view').remove();
333
+ happyFormsPreview.elements.remove(element);
334
+ }
335
+ }
336
+ });
337
+
338
+ api.previewer.bind('happyforms-part-dom-update', function(data) {
339
+ if (data.selector) {
340
+ happyFormsPreview.trigger('update-part-dom', data);
341
+ }
342
+ });
343
+
344
+ api.previewer.bind('happyforms-part-width-change', function(data) {
345
+ if (data.selector) {
346
+ happyFormsPreview.trigger('update-part-width', data);
347
+ }
348
+ });
349
+
350
+ api.previewer.bind('happyforms-form-parts-sorted', function(data) {
351
+ if (data) {
352
+ happyFormsPreview.trigger('parts-sorted', data);
353
+ }
354
+ });
355
+
356
+ api.previewer.bind('happyforms-part-mouseover', function(elementID) {
357
+ if (happyFormsPreview && elementID) {
358
+ happyFormsPreview.trigger('highlight-item', elementID);
359
+ }
360
+ });
361
+
362
+ api.previewer.bind('happyforms-part-mouseout', function(elementID) {
363
+ if (happyFormsPreview && elementID) {
364
+ happyFormsPreview.trigger('unhighlight-item', elementID);
365
+ }
366
+ });
367
+
368
+ api.previewer.bind('happyforms-style-change', function(data) {
369
+ happyFormsPreview.trigger('update-style', data);
370
+ });
371
+
372
+ api.previewer.bind('happyforms-style-update', function(data) {
373
+ happyFormsPreview.trigger('load-styles', data);
374
+ });
375
+
376
+ api.previewer.bind('happyforms-sub-part-added', function(data) {
377
+ happyFormsPreview.trigger('add-sub-part', data);
378
+ });
379
+
380
+ api.previewer.bind('happyforms-sub-part-removed', function(data) {
381
+ happyFormsPreview.trigger('remove-sub-part', data);
382
+ });
383
+ });
384
+
385
+ })(jQuery, _, Backbone, wp.customize, _happyFormsSettings);
assets/js/tinymce/form-picker.js ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global tinymce, jQuery, MakeFormatBuilder */
2
+ var HappyFormsFormPicker = HappyFormsFormPicker || {};
3
+
4
+ (function(tinymce, $, _, formPicker) {
5
+ tinymce.PluginManager.add('happyforms_form_picker', function (editor, url) {
6
+ editor.addCommand('HappyForms_Form_Picker', function () {
7
+ formPicker.open(editor);
8
+ });
9
+
10
+ editor.addButton('happyforms_form_picker', {
11
+ icon : 'happyforms-form-picker',
12
+ tooltip: 'HappyForms',
13
+ cmd : 'HappyForms_Form_Picker'
14
+ });
15
+
16
+ editor.on('init', function () {
17
+ $.each(formPicker.definitions, function (name, defs) {
18
+ editor.formatter.register(name, defs);
19
+ });
20
+ });
21
+ });
22
+
23
+ var formPickerWindow;
24
+
25
+ formPicker = $.extend(formPicker, {
26
+ editor: {},
27
+ definitions: {},
28
+ nodes: {},
29
+ choices: {},
30
+ forms: {},
31
+ currentSelection: {},
32
+
33
+ open: function(editor) {
34
+ this.editor = editor;
35
+ this.currentSelection = editor.selection;
36
+
37
+ var items = [
38
+ {
39
+ type: 'form',
40
+ name: 'listboxForm',
41
+ items: formPicker.getFormListBox()
42
+ }
43
+ ];
44
+
45
+ var args = {
46
+ title: 'HappyForms',
47
+ id: 'happyforms-form-picker',
48
+ autoScroll: true,
49
+ maxHeight: 500,
50
+ items: {
51
+ type: 'container',
52
+ name: 'formContainer',
53
+ layout: 'flex',
54
+ align: 'stretch',
55
+ direction: 'column',
56
+ items: items
57
+ },
58
+ buttons: [
59
+ this.getInsertButton()
60
+ ]
61
+ };
62
+
63
+ formPickerWindow = editor.windowManager.open(args);
64
+ },
65
+
66
+ getFormListBox: function() {
67
+ var listbox = {
68
+ type: 'listbox',
69
+ name: 'form',
70
+ id: 'happyforms-form-picker-list',
71
+ minWidth: 300,
72
+ values: this.getForms(),
73
+ onPostrender: function() {
74
+ happyFormsListBox = this;
75
+ },
76
+ onselect: function() {
77
+ var choice = this.value();
78
+ }
79
+ };
80
+
81
+ return listbox;
82
+ },
83
+
84
+ getInsertButton: function() {
85
+ var self = this;
86
+
87
+ var button = {
88
+ text: 'Insert',
89
+ id: 'happyforms-form-picker-insert',
90
+ name: 'formSubmit',
91
+ classes: 'button-primary',
92
+ onclick: function() {
93
+ var html = '[happyforms id="' + happyFormsListBox.value() + '" /]'
94
+
95
+ self.editor.insertContent(html);
96
+
97
+ formPickerWindow.fire('submit');
98
+ }
99
+ };
100
+
101
+ return button;
102
+ },
103
+
104
+ getForms: function() {
105
+ var choices = [
106
+ {
107
+ value: '',
108
+ text: 'Choose a form',
109
+ disabled: true,
110
+ classes: 'listbox-placeholder'
111
+ }
112
+ ];
113
+
114
+ _(happyFormsData).each(function(form, index) {
115
+ choices.push({
116
+ value: form.id,
117
+ text: form.title
118
+ });
119
+ });
120
+
121
+ return choices;
122
+ }
123
+ });
124
+ })(tinymce, jQuery, _, HappyFormsFormPicker);
assets/js/tracking.js ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $ ) {
2
+ $( document ).ready( function() {
3
+ $successTemplate = $( '#happyforms-tracking-success' );
4
+ $errorTemplate = $( '#happyforms-tracking-error' );
5
+ $content = $( '.happyforms-welcome-panel .welcome-panel-content' );
6
+ $footer = $( '.welcome-panel-footer' );
7
+ $proceedLink = $( '#happyforms-tracking-proceed' );
8
+ $skipLink = $( '#happyforms-tracking-skip' );
9
+ $email = $( 'input[type="email"]' );
10
+
11
+ $email.focus();
12
+
13
+ $( '#happyforms-tracking' ).submit( function( e ) {
14
+ e.preventDefault();
15
+
16
+ var $this = $( this );
17
+
18
+ $.getJSON(
19
+ $this.attr( 'action' ) + '?callback=?',
20
+ $this.serialize(),
21
+
22
+ function( data ) {
23
+ if ( 400 === data.Status ) {
24
+ $content.html( $errorTemplate.html() );
25
+ } else {
26
+ $content.html( $successTemplate.html() );
27
+ $footer.hide();
28
+
29
+ $.post( ajaxurl, {
30
+ action: 'happyforms_update_tracking',
31
+ status: 3,
32
+ email: $email.val(),
33
+ } );
34
+ }
35
+ } );
36
+ } );
37
+
38
+ function proceed( e ) {
39
+ e.preventDefault();
40
+
41
+ url = $( this ).attr( 'href' );
42
+
43
+ $.post( ajaxurl, {
44
+ action: 'happyforms_update_tracking',
45
+ status: 4,
46
+ }, function() {
47
+ window.location.href = url;
48
+ } );
49
+ }
50
+
51
+ $proceedLink.click( proceed );
52
+ $skipLink.click( proceed );
53
+ $email.focus();
54
+
55
+ } );
56
+ } )( jQuery );
assets/svg/happyforms-logo.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 336 336"><defs><style>.cls-1{isolation:isolate;}.cls-2{fill:#555d66;}</style></defs><title>happyforms-logo</title><image id="Layer_0" data-name="Layer 0" class="cls-1" width="94" height="90" transform="translate(120 122)" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF4AAABaCAYAAAAxQ+F4AAAACXBIWXMAAAsSAAALEgHS3X78AAAA3klEQVR4Xu3QoQHAIBDAwNL9d35GQEHMnY7KmpmP9/5TwB3GR4yPGB8xPmJ8xPiI8RHjI8ZHjI8YHzE+YnzE+IjxEeMjxkeMjxgfMT5ifMT4iPER4yPGR4yPGB8xPmJ8xPiI8RHjI8ZHjI8YHzE+YnzE+IjxEeMjxkeMjxgfMT5ifMT4iPER4yPGR4yPGB8xPmJ8xPiI8RHjI8ZHjI8YHzE+YnzE+IjxEeMjxkeMjxgfMT5ifMT4iPER4yPGR4yPGB8xPmJ8xPiI8RHjI8ZHjI8YHzE+YnzE+IjxEeMjG0FrA7G1UTQxAAAAAElFTkSuQmCC"/><path class="cls-2" d="M98.78,217l0,0-.21-.16Z"/><path class="cls-2" d="M99.13,217.46c.91,1,.6.55.11,0l-.3-.31-.07-.06-.09-.07C98.9,217.17,99,217.32,99.13,217.46Z"/><path class="cls-2" d="M153.54,237.8h0Z"/><path class="cls-2" d="M229.24,210.12l0,0C228.55,210.78,227.94,211.42,229.24,210.12Z"/><path class="cls-2" d="M332.61,182.27,303.42,73.34h0A98.91,98.91,0,0,0,182.27,3.4L73.34,32.58h0A98.92,98.92,0,0,0,3.4,153.74L32.58,262.66h0a98.92,98.92,0,0,0,121.15,69.95l108.93-29.19h0A98.92,98.92,0,0,0,332.61,182.27ZM182.8,106.81a19.8,19.8,0,0,1,6.7-9.09,25.37,25.37,0,0,1,4-4.28c10.18-8.7,27.62-5.55,34.33,6a27.62,27.62,0,0,1,2.61,21A26,26,0,0,1,216.22,138c-12.36,5.92-29.61,1.58-35.08-11.73A21.35,21.35,0,0,1,182.8,106.81ZM106.39,95a25.37,25.37,0,0,1,4-4.28c10.18-8.7,27.63-5.55,34.33,6a27.58,27.58,0,0,1,2.61,21c-2.09,7.88-6.78,14-14.19,17.5-12.36,5.93-29.61,1.59-35.08-11.72a21.35,21.35,0,0,1,1.66-19.45A19.8,19.8,0,0,1,106.39,95Zm182.75,56.46c-2.16,23.22-11.5,45.63-25.41,64.25A129.68,129.68,0,0,1,214,255.65c-20.48,9.45-43.23,12.8-65.62,11.44a134.52,134.52,0,0,1-33-6.59c-11.12-3.57-22.09-8.88-31.08-16.42C63.94,227,52.35,200.84,47.76,175.17,46.29,167,53.73,160,61.16,159a15.17,15.17,0,0,1,10.73,3.23c3.25,2.62,4.76,6.18,5.48,10.18a47.34,47.34,0,0,1,1,5l.54,2q1.23,4.37,2.79,8.63,1.66,4.51,3.71,8.87c.66,1.41,1.38,2.79,2.07,4.19.34.58.67,1.17,1,1.74A93.94,93.94,0,0,0,98.75,217l.12.1.07.06.3.31c.26.27.51.57.73.77,1.09,1,2.21,2,3.38,3s2.31,1.84,3.52,2.7l1.84,1.24a99.09,99.09,0,0,0,13.14,6.2c1.46.55,2.93,1.07,4.41,1.57.56.18,4,1.42,1.65.54s1.59.42,2.11.56c1,.27,2.06.52,3.09.76a121.68,121.68,0,0,0,14.32,2.45c2.28.25,4.56.4,6.85.55l1.08,0c1.21,0,2.42,0,3.63,0a122.11,122.11,0,0,0,14-1c2.55-.33,5.09-.75,7.61-1.24.82-.16,1.63-.34,2.44-.52l1.2-.3A119.09,119.09,0,0,0,198,230.19q3.38-1.35,6.65-2.91c1.09-.52,2.18-1.05,3.25-1.61l.24-.12a139.72,139.72,0,0,0,21.35-15.71c.2-.21.4-.41.61-.61.78-.8,1.56-1.61,2.33-2.44,1.44-1.54,2.83-3.13,4.18-4.74a117.64,117.64,0,0,0,8-10.84c.68-1,2.42-4.73.49-.69.47-1,1.15-1.94,1.69-2.91q1.56-2.76,2.95-5.59a115,115,0,0,0,5.1-12c.42-1.19.83-2.38,1.21-3.57,0-.12.07-.25.12-.41q.84-3,1.52-6.13a110.54,110.54,0,0,0,2.05-13.31c.76-8.27,9.6-13.14,17.11-12.22C285.29,135.4,289.86,143.76,289.14,151.49Z"/></svg>
assets/svg/icons/country.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#32373c;stroke-linecap:round;stroke-miterlimit:10;stroke-width:6px;}</style></defs><title>Asset 17</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><path class="cls-1" d="M61,24.84c0,11.27-21.21,31-27.35,35.63a2.82,2.82,0,0,1-3.3,0C24.21,55.86,3,36.11,3,24.84,3,11.68,16,3,32,3S61,11.68,61,24.84Z"/><circle class="cls-1" cx="32" cy="26.38" r="8.42"/></g></g></svg>
assets/svg/icons/date.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#32373c;stroke-linecap:round;stroke-miterlimit:10;stroke-width:6px;}</style></defs><title>Asset 15</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><rect class="cls-1" x="3" y="11.86" width="58" height="49.14" rx="2" ry="2"/><rect class="cls-1" x="3" y="31.37" width="58" height="29.63" rx="2" ry="2"/><line class="cls-1" x1="18.2" y1="3" x2="18.2" y2="19.38"/><line class="cls-1" x1="44.2" y1="3" x2="44.2" y2="19.38"/></g></g></svg>
assets/svg/icons/dropdown.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#32373c;stroke-linecap:round;stroke-miterlimit:10;stroke-width:6px;}</style></defs><title>Asset 10</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><rect class="cls-1" x="3" y="3" width="58" height="58" rx="2" ry="2"/><path class="cls-1" d="M45.3,25.6,32.88,38a1.29,1.29,0,0,1-1.83,0L18.7,25.67"/></g></g></svg>
assets/svg/icons/email.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1,.cls-2{fill:none;stroke:#32373c;stroke-miterlimit:10;stroke-width:6px;}.cls-2{stroke-linecap:round;}</style></defs><title>Asset 13</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><path class="cls-1" d="M11.87,17.55,4,22.05a2,2,0,0,0-1,1.71V59a2,2,0,0,0,2,2H59a2,2,0,0,0,2-2V23.76a2,2,0,0,0-1-1.71l-7.83-4.48"/><path class="cls-1" d="M3,26.05,31,42.17a2,2,0,0,0,2,0L61,26.05"/><path class="cls-1" d="M11.87,31.18V5a2,2,0,0,1,2-2h36.3a2,2,0,0,1,2,2v26.2"/><line class="cls-2" x1="22.25" y1="14.95" x2="41.94" y2="14.95"/><line class="cls-2" x1="22.25" y1="24.85" x2="41.94" y2="24.85"/></g></g></svg>
assets/svg/icons/legal.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#32373c;stroke-linecap:round;stroke-miterlimit:10;stroke-width:6px;}</style></defs><title>Asset 24</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_4" data-name="Layer 4"><path class="cls-1" d="M6.75,19.2l24.68-16a1,1,0,0,1,1.14,0l24.68,16"/><rect class="cls-1" x="3" y="19.2" width="58" height="11.22" rx="2" ry="2"/><line class="cls-1" x1="32" y1="30.43" x2="32" y2="61"/><line class="cls-1" x1="43.13" y1="30.43" x2="43.13" y2="61"/><line class="cls-1" x1="54.27" y1="30.43" x2="54.27" y2="61"/><line class="cls-1" x1="9.73" y1="30.43" x2="9.73" y2="61"/><line class="cls-1" x1="20.87" y1="30.43" x2="20.87" y2="61"/><line class="cls-1" x1="3" y1="61" x2="61" y2="61"/></g></g></svg>
assets/svg/icons/long-text.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#32373c;stroke-linecap:round;stroke-miterlimit:10;stroke-width:6px;}</style></defs><title>Asset 22</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><line class="cls-1" x1="12.04" y1="27.11" x2="22.96" y2="27.11"/><line class="cls-1" x1="12.04" y1="17.27" x2="22.96" y2="17.27"/><line class="cls-1" x1="12.04" y1="36.95" x2="22.96" y2="36.95"/><line class="cls-1" x1="41.04" y1="27.11" x2="51.96" y2="27.11"/><line class="cls-1" x1="41.04" y1="17.27" x2="51.96" y2="17.27"/><line class="cls-1" x1="41.04" y1="36.95" x2="51.96" y2="36.95"/><path class="cls-1" d="M5,3H20A11.91,11.91,0,0,1,32,14.81V49.25H5a2,2,0,0,1-2-2V5A2,2,0,0,1,5,3Z"/><path class="cls-1" d="M59,49.25H32V14.81A11.91,11.91,0,0,1,44,3H59a2,2,0,0,1,2,2V47.28A2,2,0,0,1,59,49.25Z"/><path class="cls-1" d="M38.23,60.81l-6.23-3-6.23,3a2,2,0,0,1-2.81-2V49.25H41v9.61A2,2,0,0,1,38.23,60.81Z"/></g></g></svg>
assets/svg/icons/multiple-choice.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#32373c;stroke-linecap:round;stroke-miterlimit:10;stroke-width:6px;}</style></defs><title>Asset 9</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><rect class="cls-1" x="3" y="3" width="58" height="58" rx="2" ry="2"/><path class="cls-1" d="M20.49,33.52,26,39a2,2,0,0,0,2.83,0L43.51,24.37"/></g></g></svg>
assets/svg/icons/number.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#32373c;stroke-linecap:round;stroke-miterlimit:10;stroke-width:6px;}</style></defs><title>Asset 4</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><rect class="cls-1" x="3" y="3" width="58" height="58" rx="2" ry="2"/><line class="cls-1" x1="16.6" y1="24.71" x2="47.4" y2="24.71"/><line class="cls-1" x1="16.6" y1="39.71" x2="47.4" y2="39.71"/><line class="cls-1" x1="24.28" y1="16.6" x2="24.28" y2="47.4"/><line class="cls-1" x1="40.28" y1="16.6" x2="40.28" y2="47.4"/></g></g></svg>
assets/svg/icons/placeholder.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#32373c;stroke-linecap:round;stroke-miterlimit:10;stroke-width:6px;}</style></defs><title>Asset 7</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><path class="cls-1" d="M60.35,38.87V59a2,2,0,0,1-2,2H5a2,2,0,0,1-2-2V5A2,2,0,0,1,5,3H23.29"/><path class="cls-1" d="M21.17,50.25V30.74S25.7,2.79,60,3.37c0,0,5.55,21.18-9.26,20.69a2,2,0,0,0-1.84,3L51,30.94a2,2,0,0,1-.55,2.59c-3.44,2.61-13.41,8.93-29.3,8.93"/></g></g></svg>
assets/svg/icons/rating.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#32373c;stroke-linecap:round;stroke-miterlimit:10;stroke-width:6px;}</style></defs><title>Asset 6</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><path class="cls-1" d="M33.89,4.23l7.33,15.55A2.12,2.12,0,0,0,42.81,21l16.38,2.5a2.24,2.24,0,0,1,1.17,3.77L48.51,39.36a2.27,2.27,0,0,0-.61,2l2.8,17.09a2.14,2.14,0,0,1-3.07,2.33L33,52.67a2,2,0,0,0-2,0L16.37,60.74a2.14,2.14,0,0,1-3.07-2.33l2.8-17.09a2.27,2.27,0,0,0-.61-2L3.64,27.26a2.24,2.24,0,0,1,1.17-3.77L21.19,21a2.12,2.12,0,0,0,1.59-1.21L30.11,4.23A2.07,2.07,0,0,1,33.89,4.23Z"/></g></g></svg>
assets/svg/icons/short-text.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#32373c;stroke-linecap:round;stroke-miterlimit:10;stroke-width:6px;}</style></defs><title>Asset 14</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><path class="cls-1" d="M41.51,7.6,43,6.08A10.54,10.54,0,0,1,57.92,21L56.4,22.49"/><path class="cls-1" d="M21.19,56.72,7.28,42.81a.69.69,0,0,1,0-1L41.51,7.6,56.4,22.49,22.17,56.72A.69.69,0,0,1,21.19,56.72Z"/><path class="cls-1" d="M7.28,42.81,3,60.16a.69.69,0,0,0,.82.82l17.35-4.26"/><line class="cls-1" x1="48.95" y1="15.05" x2="14.23" y2="49.77"/></g></g></svg>
assets/svg/icons/single-choice.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#32373c;stroke-linecap:round;stroke-miterlimit:10;stroke-width:6px;}</style></defs><title>Asset 11</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><circle class="cls-1" cx="32" cy="32" r="29"/><circle class="cls-1" cx="32" cy="32" r="11.02"/></g></g></svg>
assets/svg/icons/title.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#32373c;stroke-linecap:round;stroke-miterlimit:10;stroke-width:6px;}</style></defs><title>Asset 23</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_3" data-name="Layer 3"><rect class="cls-1" x="13.67" y="3" width="36.54" height="37.31" rx="18.1" ry="18.1"/><path class="cls-1" d="M50.05,18.74c-12.68,4.84-19.47-4.41-23.8-4.55-2.75-.08-3.47,6-12.42,4.51"/><path class="cls-1" d="M21.84,38.16v5.51a1.6,1.6,0,0,1-1.14,1.5C17,46.34,5.24,47.61,3.07,55.45,2.72,56.73,3.68,61,5,61H59c1.34,0,2.3-4.27,2-5.55C58.76,47.61,47,46.34,43.3,45.17a1.6,1.6,0,0,1-1.14-1.5V38.16"/><line class="cls-1" x1="29.5" y1="29.24" x2="34.97" y2="29.24"/><path class="cls-1" d="M20.7,45.17S27.08,61,31.94,61,43.3,45.17,43.3,45.17"/></g></g></svg>
assets/svg/icons/website-link.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1,.cls-2{fill:none;stroke:#32373c;stroke-miterlimit:10;stroke-width:6px;}.cls-2{stroke-linecap:round;}</style></defs><title>Asset 3</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><path class="cls-1" d="M51.73,57.16,55,53.89a2,2,0,0,0-.24-3L45.5,41.7a2,2,0,0,1-.24-3l4.53-4.6a1.94,1.94,0,0,0-.72-3.2L18.22,20.62a2,2,0,0,0-2.43,2.47L26,54.45a1.88,1.88,0,0,0,3.14.73l4.53-4.6a1.89,1.89,0,0,1,2.91.24l9.09,9.36a1.87,1.87,0,0,0,2.9.24Z"/><path class="cls-2" d="M61,40.41V5a2,2,0,0,0-2-2H5A2,2,0,0,0,3,5v40.5a2,2,0,0,0,2,2h6.9"/></g></g></svg>
assets/svg/welcome.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 311.37 299.05"><defs><style>.cls-1,.cls-4{fill:#0073aa;}.cls-1,.cls-11,.cls-12,.cls-2,.cls-4,.cls-7{stroke:#0073aa;}.cls-1,.cls-10,.cls-11,.cls-12,.cls-2,.cls-4,.cls-5,.cls-6,.cls-7,.cls-8,.cls-9{stroke-width:4px;}.cls-1,.cls-3{opacity:0.3;}.cls-12,.cls-2,.cls-5{fill:#fff;}.cls-10,.cls-5,.cls-6,.cls-8,.cls-9{stroke:#00a0d2;}.cls-10,.cls-11,.cls-6,.cls-7,.cls-8,.cls-9{fill:none;}.cls-10,.cls-11,.cls-12,.cls-8{stroke-linecap:round;}.cls-10,.cls-11,.cls-9{stroke-miterlimit:10;}</style></defs><title>welcome</title><rect class="cls-1" x="74.36" y="75.89" width="155.25" height="194.75" rx="4" ry="4"/><rect class="cls-2" x="74.36" y="69.89" width="155.25" height="194.75" rx="4" ry="4"/><rect class="cls-1" x="84.61" y="93.8" width="134.75" height="163.98"/><rect class="cls-2" x="84.61" y="87.8" width="134.75" height="163.98"/><g class="cls-3"><path class="cls-4" d="M762.77,578.3h73.9a2,2,0,0,1,2,2v39.79a2,2,0,0,1-2,2H823a2,2,0,0,0-2,2v7.81a2,2,0,0,1-3.57,1.25l-8.19-10.3a2,2,0,0,0-1.57-.76H762.77a2,2,0,0,1-2-2V580.3A2,2,0,0,1,762.77,578.3Z" transform="translate(-597.64 -336.86)"/></g><path class="cls-1" d="M751.76,435.12h46.09V424.66a5,5,0,0,0-5-5h-27.6a15.63,15.63,0,0,0-31.25,0H706.4a5,5,0,0,0-5,5v10.46h50.36Z" transform="translate(-597.64 -336.86)"/><path class="cls-5" d="M751.76,430.12h46.09V419.66a5,5,0,0,0-5-5h-27.6a15.63,15.63,0,0,0-31.25,0H706.4a5,5,0,0,0-5,5v10.46h50.36Z" transform="translate(-597.64 -336.86)"/><circle class="cls-6" cx="749.63" cy="413.88" r="4.68" transform="translate(-376.62 750.67) rotate(-80.78)"/><rect class="cls-7" x="100.71" y="115.99" width="13.3" height="13.3" rx="6.65" ry="6.65"/><rect class="cls-7" x="100.71" y="145.99" width="13.3" height="13.3" rx="6.65" ry="6.65"/><rect class="cls-7" x="100.71" y="175.99" width="13.3" height="13.3" rx="6.65" ry="6.65"/><rect class="cls-7" x="100.71" y="205.99" width="13.3" height="13.3" rx="6.65" ry="6.65"/><line class="cls-8" x1="124.11" y1="118.64" x2="200.21" y2="118.64"/><line class="cls-8" x1="124.11" y1="128.64" x2="200.21" y2="128.64"/><line class="cls-8" x1="124.11" y1="148.64" x2="200.21" y2="148.64"/><line class="cls-8" x1="124.11" y1="158.64" x2="200.21" y2="158.64"/><line class="cls-8" x1="124.11" y1="178.64" x2="200.21" y2="178.64"/><line class="cls-8" x1="124.11" y1="188.64" x2="200.21" y2="188.64"/><line class="cls-8" x1="124.11" y1="208.64" x2="200.21" y2="208.64"/><line class="cls-8" x1="124.11" y1="218.64" x2="200.21" y2="218.64"/><path class="cls-9" d="M743.11,352.57l-4.47.33a1,1,0,0,0-.81.55l-7.5,15.75a1,1,0,0,0,.47,1.31L754.92,382a1,1,0,0,0,1.31-.46l7.5-15.75a1,1,0,0,0-.08-1l-2.54-3.66" transform="translate(-597.64 -336.86)"/><path class="cls-9" d="M737.34,354.48l9.08,13.15a1,1,0,0,0,.9.43l15.93-1.25" transform="translate(-597.64 -336.86)"/><path class="cls-9" d="M740.22,358.65l5.57-11.7a1,1,0,0,1,1.31-.46l16.21,7.72a1,1,0,0,1,.48,1.31l-5.58,11.7" transform="translate(-597.64 -336.86)"/><line class="cls-10" x1="150.66" y1="16.75" x2="159.46" y2="20.94"/><line class="cls-10" x1="148.56" y1="21.17" x2="157.35" y2="25.36"/><path class="cls-10" d="M889,422.34l7,7a1,1,0,0,1,0,1.41l-18.66,18.66a1,1,0,0,1-1.41,0l-18.86-18.86a1,1,0,0,1,0-1.42l6.39-6.39" transform="translate(-597.64 -336.86)"/><path class="cls-10" d="M879.26,440l-6.83-6.82s-8.19-11.36,4-23.15c0,0,9.34,5.47,4,10.48a1,1,0,0,0,.4,1.68l2.11.62a1,1,0,0,1,.72,1.1,24.05,24.05,0,0,1-7.13,13.37" transform="translate(-597.64 -336.86)"/><rect class="cls-11" x="67.25" y="22.86" width="28.69" height="28.69" rx="2" ry="2"/><path class="cls-11" d="M673.53,374.82l2.74,2.73a1,1,0,0,0,1.4,0l7.25-7.26" transform="translate(-597.64 -336.86)"/><circle class="cls-10" cx="295.03" cy="173.18" r="14.35"/><circle class="cls-10" cx="295.03" cy="173.18" r="5.45"/><rect class="cls-10" x="604.79" y="445.57" width="28.65" height="28.65" rx="2" ry="2" transform="translate(-431.14 -501.42) rotate(17.46)"/><path class="cls-10" d="M626.33,458.85l-7.69,4a.64.64,0,0,1-.86-.27l-4-7.66" transform="translate(-597.64 -336.86)"/><path class="cls-9" d="M639.06,563.1l1.59-1.61a1,1,0,0,0-.12-1.46L636,555.47a1,1,0,0,1-.11-1.46l2.23-2.28a1,1,0,0,0-.35-1.58l-15.24-5.09a1,1,0,0,0-1.2,1.21l5,15.49a.92.92,0,0,0,1.55.36l2.24-2.27a.93.93,0,0,1,1.43.12L636,564.6a.94.94,0,0,0,1.44.12Z" transform="translate(-597.64 -336.86)"/><path class="cls-10" d="M643.64,554.83V537.34a1,1,0,0,0-1-1H616a1,1,0,0,0-1,1v20a1,1,0,0,0,1,1h3.41" transform="translate(-597.64 -336.86)"/><path class="cls-11" d="M646,490.21l.75-.74a5.2,5.2,0,1,1,7.36,7.35l-.75.75" transform="translate(-597.64 -336.86)"/><path class="cls-11" d="M636,514.48l-6.88-6.87a.36.36,0,0,1,0-.49L646,490.21l7.36,7.36-16.91,16.91A.34.34,0,0,1,636,514.48Z" transform="translate(-597.64 -336.86)"/><path class="cls-11" d="M629.1,507.61l-2.1,8.57a.33.33,0,0,0,.4.4l8.58-2.1" transform="translate(-597.64 -336.86)"/><line class="cls-11" x1="52.05" y1="157.03" x2="34.9" y2="174.18"/><rect class="cls-11" x="844.09" y="461.52" width="28.65" height="28.65" rx="2" ry="2" transform="translate(-423.51 -564.61) rotate(16.8)"/><line class="cls-11" x1="254.54" y1="133.34" x2="269.1" y2="137.74"/><line class="cls-11" x1="252.4" y1="140.44" x2="266.96" y2="144.83"/><line class="cls-11" x1="259.33" y1="130.6" x2="254.93" y2="145.17"/><line class="cls-11" x1="266.89" y1="132.89" x2="262.5" y2="147.45"/><rect class="cls-11" x="790.34" y="344.21" width="28.65" height="24.28" rx="2" ry="2" transform="translate(-672.53 48.71) rotate(-25.79)"/><rect class="cls-11" x="792.43" y="353.37" width="28.65" height="14.64" rx="2" ry="2" transform="translate(-674.21 50.06) rotate(-25.79)"/><line class="cls-11" x1="193.7" y1="7.59" x2="197.22" y2="14.87"/><line class="cls-11" x1="205.27" y1="2" x2="208.79" y2="9.29"/><path class="cls-11" d="M852.63,368.65l3.62,7.69a1.1,1.1,0,0,0,.79.6l8.1,1.23a1.11,1.11,0,0,1,.58,1.87l-5.86,6a1.12,1.12,0,0,0-.3,1l1.38,8.45a1.05,1.05,0,0,1-1.51,1.16l-7.25-4a1,1,0,0,0-1,0l-7.25,4a1.05,1.05,0,0,1-1.51-1.16l1.38-8.45a1.15,1.15,0,0,0-.3-1l-5.86-6a1.11,1.11,0,0,1,.57-1.87l8.11-1.23a1.06,1.06,0,0,0,.78-.6l3.63-7.69A1,1,0,0,1,852.63,368.65Z" transform="translate(-597.64 -336.86)"/><path class="cls-11" d="M866.66,530.23c3.94,3.93,3.43,18.26,2.9,22a1.4,1.4,0,0,1-1.15,1.15c-3.77.53-18.09,1-22-2.9-4.61-4.6-3.1-12.18,2.5-17.78S862.06,525.62,866.66,530.23Z" transform="translate(-597.64 -336.86)"/><circle class="cls-11" cx="259.42" cy="204.05" r="4.16"/><line class="cls-11" x1="13.17" y1="75.21" x2="16.99" y2="71.39"/><line class="cls-11" x1="9.74" y1="71.77" x2="13.55" y2="67.95"/><line class="cls-11" x1="16.61" y1="78.64" x2="20.42" y2="74.83"/><line class="cls-11" x1="23.3" y1="65.08" x2="27.12" y2="61.26"/><line class="cls-11" x1="19.86" y1="61.64" x2="23.68" y2="57.83"/><line class="cls-11" x1="26.74" y1="68.51" x2="30.55" y2="64.7"/><path class="cls-11" d="M599.93,406.1l5.24-5.24a5.89,5.89,0,0,1,8.32-.06l12,12h0l-9.44,9.43a1,1,0,0,1-1.38,0l-14.78-14.78A1,1,0,0,1,599.93,406.1Z" transform="translate(-597.64 -336.86)"/><path class="cls-11" d="M635,403.4l-9.43,9.43h0l-12-12a5.89,5.89,0,0,1,.06-8.32l5.24-5.24a1,1,0,0,1,1.39,0L635,402A1,1,0,0,1,635,403.4Z" transform="translate(-597.64 -336.86)"/><path class="cls-11" d="M631.73,414.69l-3.21,1.15-1.14,3.2a1,1,0,0,1-1.67.3L622.36,416l6.31-6.31L632,413A1,1,0,0,1,631.73,414.69Z" transform="translate(-597.64 -336.86)"/><path class="cls-2" d="M762.77,572.3h73.9a2,2,0,0,1,2,2v39.79a2,2,0,0,1-2,2H823a2,2,0,0,0-2,2v7.81a2,2,0,0,1-3.57,1.25l-8.19-10.3a2,2,0,0,0-1.57-.76H762.77a2,2,0,0,1-2-2V574.3A2,2,0,0,1,762.77,572.3Z" transform="translate(-597.64 -336.86)"/><line class="cls-12" x1="229.95" y1="251.53" x2="177.68" y2="251.53"/><line class="cls-12" x1="229.95" y1="262.83" x2="177.68" y2="262.83"/></svg>
happyforms.php ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Plugin Name: HappyForms
5
+ * Plugin URI: https://happyforms.me
6
+ * Description: Your friendly drag and drop contact form builder for creating contact forms, lead generation forms, feedback forms, quote forms, survey forms and more!
7
+ * Author: The Theme Foundry
8
+ * Version: 1.0
9
+ * Author URI: https://thethemefoundry.com
10
+ * Upgrade URI: https://thethemefoundry.com
11
+ */
12
+
13
+ /**
14
+ * The current version of the plugin.
15
+ */
16
+ define( 'HAPPYFORMS_VERSION', '1.0' );
17
+
18
+ if ( ! function_exists( 'happyforms_plugin_file' ) ):
19
+ /**
20
+ * Get the absolute path to the plugin file.
21
+ *
22
+ * @since 1.0
23
+ *
24
+ * @return string Absolute path to the plugin file.
25
+ */
26
+ function happyforms_plugin_file() {
27
+ return __FILE__;
28
+ }
29
+
30
+ endif;
31
+
32
+ if ( ! function_exists( 'happyforms_plugin_name' ) ):
33
+ /**
34
+ * Get the plugin basename.
35
+ *
36
+ * @since 1.0
37
+ *
38
+ * @return string The plugin basename.
39
+ */
40
+ function happyforms_plugin_name() {
41
+ return plugin_basename( __FILE__ );
42
+ }
43
+
44
+ endif;
45
+
46
+ if ( ! function_exists( 'happyforms_get_include_folder' ) ):
47
+ /**
48
+ * Get the path of the PHP include folder.
49
+ *
50
+ * @since 1.0
51
+ *
52
+ * @return string The path of the PHP include folder.
53
+ */
54
+ function happyforms_get_include_folder() {
55
+ return dirname( __FILE__ ) . '/inc';
56
+ }
57
+
58
+ endif;
59
+
60
+ if ( ! function_exists( 'happyforms_get_plugin_url' ) ):
61
+ /**
62
+ * Get the plugin url.
63
+ *
64
+ * @since 1.0
65
+ *
66
+ * @return string The url of the plugin.
67
+ */
68
+ function happyforms_get_plugin_url() {
69
+ return plugin_dir_url( __FILE__ );
70
+ }
71
+
72
+ endif;
73
+
74
+ if ( ! function_exists( 'happyforms_get_plugin_path' ) ):
75
+ /**
76
+ * Get the absolute path of the plugin folder.
77
+ *
78
+ * @since 1.0
79
+ *
80
+ * @return string The absolute path of the plugin folder.
81
+ */
82
+ function happyforms_get_plugin_path() {
83
+ return plugin_dir_path( __FILE__ );
84
+ }
85
+
86
+ endif;
87
+
88
+ /**
89
+ * Activate
90
+ */
91
+ require_once( happyforms_get_include_folder() . '/helpers/helper-activation.php' );
92
+
93
+ /**
94
+ * Initialize
95
+ */
96
+ require_once( happyforms_get_include_folder() . '/classes/class-happyforms-plugin.php' );
97
+
98
+ /**
99
+ * Start general admin and frontend hooks.
100
+ */
101
+ add_action( 'plugins_loaded', array( HappyForms(), 'initialize_plugin' ) );
102
+
103
+ /**
104
+ * Start Customize screen specific hooks.
105
+ */
106
+ add_filter( 'customize_loaded_components', array( HappyForms(), 'initialize_customize_screen' ) );
inc/admin/page-tracking.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $tracking = happyforms_get_tracking();
3
+ $status = $tracking->get_status();
4
+ ?>
5
+
6
+ <div class="wrap">
7
+ <h1><?php _e( 'Welcome to HappyForms!', 'happyforms' ); ?></h1>
8
+
9
+ <div id="welcome-panel" class="welcome-panel happyforms-welcome-panel">
10
+ <div class="welcome-panel-content">
11
+ <?php if ( 3 === intval( $status['status'] ) ) {
12
+ $tracking->print_template( 'success' );
13
+ } else { ?>
14
+ <h2><?php _e( 'Setup communication', 'happyforms' ); ?></h2>
15
+ <form action="<?php echo esc_attr( $tracking->monitor_action ); ?>" method="post" id="happyforms-tracking">
16
+ <p class="about-description"><?php _e( 'Just one more step before you get started:', 'happyforms' ); ?></p>
17
+ <p><?php _e( 'Let\'s setup HappyForms! Enter your email below to agree to notification and to share some data about your usage with', 'happyforms' ); ?> <a href="https://thethemefoundry.com" target="_blank">thethemefoundry.com</a></p>
18
+ <input name="<?php echo esc_attr( $tracking->monitor_email_field ); ?>" type="email" placeholder="<?php _e( 'Email address', 'happyforms' ); ?>" required >
19
+ <input name="<?php echo esc_attr( $tracking->monitor_status_field ); ?>" type="hidden" value="active" />
20
+ <button type="submit" class="button button-primary button-hero"><?php _e( 'Allow and setup HappyForms', 'happyforms' ); ?></button>
21
+ </form>
22
+ <?php } ?>
23
+ </div>
24
+ <div class="welcome-panel-theme"></div>
25
+ </div>
26
+
27
+ <?php if ( 2 === $status['status'] ) : ?>
28
+ <p class="welcome-panel-footer">
29
+ <?php _e( 'Or, skip this step and ', 'happyforms' ); ?> <a href="<?php echo happyforms_get_all_form_link(); ?>" id="happyforms-tracking-skip"><?php _e( 'continue', 'happyforms' ); ?></a>
30
+ </p>
31
+ <?php endif; ?>
32
+ </div>
inc/classes/class-admin-notices.php ADDED
@@ -0,0 +1,293 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Admin_Notices {
4
+
5
+ /**
6
+ * The singleton instance.
7
+ *
8
+ * @since 1.0
9
+ *
10
+ * @var HappyForms_Admin_Notices
11
+ */
12
+ private static $instance;
13
+
14
+ /**
15
+ * The notices registered for the current session.
16
+ *
17
+ * @since 1.0
18
+ *
19
+ * @var array
20
+ */
21
+ private $notices = array();
22
+
23
+ /**
24
+ * The singleton constructor.
25
+ *
26
+ * @since 1.0
27
+ *
28
+ * @return HappyForms_Admin_Notices
29
+ */
30
+ public static function instance() {
31
+ if ( is_null( self::$instance ) ) {
32
+ self::$instance = new self();
33
+ }
34
+
35
+ self::$instance->hook();
36
+
37
+ return self::$instance;
38
+ }
39
+
40
+ /**
41
+ * Register hooks.
42
+ *
43
+ * @since 1.0
44
+ *
45
+ * @return void
46
+ */
47
+ public function hook() {
48
+ add_action( 'admin_notices', array( $this, 'display' ) );
49
+ add_action( 'wp_ajax_happyforms_hide_notice', array( $this, 'handle_ajax' ) );
50
+ }
51
+
52
+ /**
53
+ * Register a notice to be displayed after the next refresh.
54
+ *
55
+ * @since 1.0
56
+ *
57
+ * @param int|string $id The notice ID.
58
+ * @param string $message The notice message.
59
+ * @param array $args Configuration data for the notice.
60
+ * @param WP_User $user An optional user to scope this notice to.
61
+ *
62
+ * @return void
63
+ */
64
+ public function register( $id, $message, $args = array(), WP_User $user = null ) {
65
+ $defaults = array(
66
+ 'cap' => 'switch_themes',
67
+ 'dismissible' => false,
68
+ 'screen' => array( 'dashboard' ),
69
+ 'type' => 'info',
70
+ 'one-time' => false,
71
+ );
72
+
73
+ $args = wp_parse_args( $args, $defaults );
74
+ $notice = array_merge( array( 'message' => $message ), $args );
75
+ $this->notices[$id] = $notice;
76
+
77
+ if ( true === $args['one-time'] ) {
78
+ $transient_id = $this->get_user_transient_id();
79
+ $user_notices = $this->get_user_notices();
80
+ $user_notices[$id] = $notice;
81
+ set_transient( $transient_id, $user_notices );
82
+ }
83
+ }
84
+
85
+ /**
86
+ * Get the registered notices for the current session.
87
+ *
88
+ * @since 1.0
89
+ *
90
+ * @param WP_Screen $screen The current screen object.
91
+ *
92
+ * @return array
93
+ */
94
+ private function get_notices( WP_Screen $screen = null ) {
95
+ if ( is_null( $screen ) ) {
96
+ $screen = get_current_screen();
97
+ }
98
+
99
+ $notices = array();
100
+ $dismissed = $this->get_dismissed_notices( get_current_user_id() );
101
+
102
+ foreach ( $this->notices as $id => $notice ) {
103
+ if ( current_user_can( $notice['cap'] )
104
+ && in_array( $screen->id, $notice['screen'] )
105
+ && ! in_array( $id, $dismissed ) ) {
106
+
107
+ $notices[$id] = $notice;
108
+ }
109
+ }
110
+
111
+ $user_notices = $this->get_user_notices();
112
+
113
+ foreach ( $user_notices as $id => $notice ) {
114
+ if ( current_user_can( $notice['cap'] ) && in_array( $screen->id, $notice['screen'] ) ) {
115
+ $notices[$id] = $notice;
116
+ }
117
+ }
118
+
119
+ if ( ! empty( $user_notices ) ) {
120
+ $transient_id = $this->get_user_transient_id();
121
+ delete_transient( $transient_id );
122
+ }
123
+
124
+ return $notices;
125
+ }
126
+
127
+ /**
128
+ * Get the registered notices for the specified user.
129
+ *
130
+ * @since 1.0
131
+ *
132
+ * @param WP_User $user The user object to fetch notices for.
133
+ *
134
+ * @return array
135
+ */
136
+ private function get_user_notices( WP_User $user = null ) {
137
+ $transient_id = $this->get_user_transient_id();
138
+ $notices = get_transient( $transient_id );
139
+ $notices = false !== $notices ? $notices : array();
140
+
141
+ return $notices;
142
+ }
143
+
144
+ /**
145
+ * Action: display the notices registered for the current section.
146
+ *
147
+ * @since 1.0
148
+ *
149
+ * @hooked action admin_notices
150
+ *
151
+ * @return void
152
+ */
153
+ public function display() {
154
+ $screen = get_current_screen();
155
+ $notices = $this->get_notices();
156
+
157
+ foreach ( $notices as $id => $notice ) {
158
+ $type = $notice['type'];
159
+ $classes = array( 'notice', 'notice-' . $type );
160
+ $message = $notice['message'];
161
+ $dismissible = wp_validate_boolean( $notice['dismissible'] );
162
+ $onetime = wp_validate_boolean( $notice['one-time'] );
163
+ $nonce = ( $dismissible && ! $onetime ) ? ' data-nonce="' . esc_attr( wp_create_nonce( 'happyforms_dismiss_' . $id ) ) . '"' : '';
164
+
165
+ if ( $dismissible ) {
166
+ $classes[] = 'is-dismissible';
167
+ }
168
+
169
+ $classes = implode( ' ', $classes );
170
+ ?>
171
+ <div id="happyforms-notice-<?php echo esc_attr( $id ); ?>" class="<?php echo esc_attr( $classes ); ?>"<?php echo $nonce; ?>>
172
+ <?php echo wpautop( $message ); ?>
173
+ </div>
174
+ <?php
175
+ }
176
+ }
177
+
178
+ /**
179
+ * Get the transient ID for the specified user.
180
+ *
181
+ * @since 1.0
182
+ *
183
+ * @param WP_User $user The user to retrieve the transient ID for.
184
+ *
185
+ * @return string
186
+ */
187
+ public function get_user_transient_id( WP_User $user = null ) {
188
+ if ( is_null( $user ) ) {
189
+ $user = wp_get_current_user();
190
+ }
191
+
192
+ return 'happyforms_admin_notices_' . md5( $user->user_login );
193
+ }
194
+
195
+ /**
196
+ * Action: handle ajax requests of notice dismissal.
197
+ *
198
+ * @since 1.0
199
+ *
200
+ * @hooked action wp_ajax_happyforms_hide_notice
201
+ *
202
+ * @return void
203
+ */
204
+ public function handle_ajax() {
205
+ // Only run this during an Ajax request.
206
+ if ( 'wp_ajax_happyforms_hide_notice' !== current_action() ) {
207
+ return;
208
+ }
209
+
210
+ // Get POST parameters
211
+ $nid = isset( $_POST['nid'] ) ? sanitize_key( $_POST['nid'] ) : false;
212
+ $nonce = isset( $_POST['nonce'] ) ? $_POST['nonce'] : false;
213
+
214
+ // Check requirements
215
+ if ( ! defined( 'DOING_AJAX' ) ||
216
+ true !== DOING_AJAX ||
217
+ false === $nid ||
218
+ false === $nonce ||
219
+ ! wp_verify_nonce( $nonce, 'happyforms_dismiss_' . $nid ) ) {
220
+ // Requirement check failed. Bail.
221
+ wp_die();
222
+ }
223
+
224
+ // Get the array of notices that the current user has already dismissed
225
+ $user_id = get_current_user_id();
226
+ $dismissed = $this->get_dismissed_notices( $user_id );
227
+
228
+ // Add a new notice to the array
229
+ $dismissed[] = $nid;
230
+ $success = $this->update_dismissed_notices( $user_id, $dismissed );
231
+
232
+ // Return a success response.
233
+ if ( $success ) {
234
+ echo 1;
235
+ }
236
+ wp_die();
237
+ }
238
+
239
+ /**
240
+ * Return a list of dismissed notices for the specified user.
241
+ *
242
+ * @since 1.0
243
+ *
244
+ * @param int|string $user_id The ID of the user who's
245
+ * dismissed the notices.
246
+ *
247
+ * @return array
248
+ */
249
+ private function get_dismissed_notices( $user_id ) {
250
+ $dismissed = get_user_meta( $user_id, 'happyforms-dismissed-notices', true );
251
+
252
+ if ( ! is_array( $dismissed ) ) {
253
+ $dismissed = array();
254
+ }
255
+
256
+ return $dismissed;
257
+ }
258
+
259
+ /**
260
+ * Update the list of dismissed notices for the specified user.
261
+ *
262
+ * @since 1.0
263
+ *
264
+ * @param int|string $user_id The ID of the user who's
265
+ * dismissed the notices.
266
+ * @param array $notices A list of notices to dismiss.
267
+ *
268
+ * @return int|boolean
269
+ */
270
+ private function update_dismissed_notices( $user_id, array $notices ) {
271
+ return update_user_meta( $user_id, 'happyforms-dismissed-notices', $notices );
272
+ }
273
+
274
+ }
275
+
276
+ if ( ! function_exists( 'happyforms_get_admin_notices' ) ):
277
+ /**
278
+ * Get the HappyForms_Admin_Notices class instance.
279
+ *
280
+ * @since 1.0
281
+ *
282
+ * @return HappyForms_Admin_Notices
283
+ */
284
+ function happyforms_get_admin_notices() {
285
+ return HappyForms_Admin_Notices::instance();
286
+ }
287
+
288
+ endif;
289
+
290
+ /**
291
+ * Initialize the HappyForms_Admin_Notices class immediately.
292
+ */
293
+ happyforms_get_admin_notices();
inc/classes/class-form-admin.php ADDED
@@ -0,0 +1,460 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Form_Admin {
4
+
5
+ /**
6
+ * The singleton instance.
7
+ *
8
+ * @since 1.0
9
+ *
10
+ * @var HappyForms_Form_Admin
11
+ */
12
+ private static $instance;
13
+
14
+ /**
15
+ * The singleton constructor.
16
+ *
17
+ * @since 1.0
18
+ *
19
+ * @return HappyForms_Form_Admin
20
+ */
21
+ public static function instance() {
22
+ if ( is_null( self::$instance ) ) {
23
+ self::$instance = new self();
24
+ }
25
+
26
+ self::$instance->hook();
27
+
28
+ return self::$instance;
29
+ }
30
+
31
+ /**
32
+ * Register hooks.
33
+ *
34
+ * @since 1.0
35
+ *
36
+ * @return void
37
+ */
38
+ public function hook() {
39
+ $post_type = happyforms_get_form_controller()->post_type;
40
+
41
+ add_action( 'admin_head', array( $this, 'admin_head' ) );
42
+ add_filter( "views_edit-{$post_type}", array( $this, 'table_view_links' ) );
43
+ add_filter( 'get_edit_post_link', array( $this, 'get_edit_post_link' ), 10, 3 );
44
+ add_filter( 'post_updated_messages', array( $this, 'post_updated_messages' ) );
45
+ add_filter( 'bulk_post_updated_messages', array( $this, 'bulk_post_updated_messages' ), 10, 2 );
46
+ add_action( 'load-edit.php', array( $this, 'define_screen_settings' ) );
47
+ add_action( 'restrict_manage_posts', array( $this, 'restrict_manage_posts' ) );
48
+ add_filter( "manage_{$post_type}_posts_columns", array( $this, 'column_headers' ) );
49
+ add_action( "manage_{$post_type}_posts_custom_column", array( $this, 'column_content' ), 10, 2 );
50
+ add_filter( 'post_date_column_status', array( $this, 'post_date_column_status' ) );
51
+ add_filter( 'post_row_actions', array( $this, 'row_actions' ), 10, 2 );
52
+ add_action( 'load-edit.php', array( $this, 'duplicate_form_redirect' ) );
53
+ add_action( 'admin_footer', array( $this, 'admin_footer' ) );
54
+ add_filter( 'admin_footer_text', 'happyforms_admin_footer' );
55
+ }
56
+
57
+ /**
58
+ * Action: output custom styles for the All Forms screen.
59
+ *
60
+ * @since 1.0
61
+ *
62
+ * @hooked action admin_head
63
+ *
64
+ * @return void
65
+ */
66
+ public function admin_head() {
67
+ global $pagenow;
68
+ $post_type = happyforms_get_form_controller()->post_type;
69
+
70
+ if ( 'edit.php' === $pagenow && $post_type === get_post_type() ) : ?>
71
+ <style>
72
+ .alignleft.actions { height: 32px; }
73
+ fieldset.view-mode { display: none; }
74
+ </style>
75
+ <?php endif;
76
+ }
77
+
78
+ /**
79
+ * Filter: filter the row actions links
80
+ * below entries in the All Forms admin table.
81
+ *
82
+ * @since 1.0
83
+ *
84
+ * @hooked filter views_edit-happyform
85
+ *
86
+ * @param array $views The original array of action links.
87
+ *
88
+ * @return array
89
+ */
90
+ public function table_view_links( $views ) {
91
+ unset( $views['publish'] );
92
+
93
+ return $views;
94
+ }
95
+
96
+ /**
97
+ * Filter: return a form post object edit url.
98
+ *
99
+ * @since 1.0
100
+ *
101
+ * @hooked filter get_edit_post_link
102
+ *
103
+ * @param string $link The original url.
104
+ * @param int|string $post_id The ID of the form post object.
105
+ * @param string $context The context this function is being called in.
106
+ *
107
+ * @return string
108
+ */
109
+ public function get_edit_post_link( $link, $post_id, $context = '' ) {
110
+ return happyforms_get_form_edit_link( $post_id );
111
+ }
112
+
113
+ /**
114
+ * Filter: tweak the text of the form post actions admin notices.
115
+ *
116
+ * @since 1.0
117
+ *
118
+ * @hooked filter post_updated_messages
119
+ *
120
+ * @param array $messages The messages configuration.
121
+ *
122
+ * @return array
123
+ */
124
+ public function post_updated_messages( $messages ) {
125
+ $post_type = happyforms_get_form_controller()->post_type;
126
+ $permalink = get_permalink();
127
+ $preview_url = get_preview_post_link();
128
+ $view_form_link_html = sprintf(
129
+ ' <a href="%1$s">%2$s</a>',
130
+ esc_url( $permalink ),
131
+ __( 'View form' )
132
+ );
133
+ $preview_post_link_html = sprintf(
134
+ ' <a target="_blank" href="%1$s">%2$s</a>',
135
+ esc_url( $preview_url ),
136
+ __( 'Preview form' )
137
+ );
138
+
139
+ $messages[$post_type] = array(
140
+ '',
141
+ __( 'Form updated.' ) . $view_form_link_html,
142
+ __( 'Custom field updated.' ),
143
+ __( 'Custom field deleted.' ),
144
+ __( 'Form updated.' ),
145
+ isset($_GET['revision']) ? sprintf( __( 'Form restored to revision from %s.' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
146
+ __( 'Form published.' ) . $view_form_link_html,
147
+ __( 'Form saved.' ),
148
+ __( 'Form submitted.' ),
149
+ __( 'Form scheduled.' ),
150
+ __( 'Form draft updated.' ) . $preview_post_link_html,
151
+ );
152
+
153
+ return $messages;
154
+ }
155
+
156
+ /**
157
+ * Filter: tweak the text of the form post
158
+ * bulk actions admin notices.
159
+ *
160
+ * @since 1.0
161
+ *
162
+ * @hooked filter bulk_post_updated_messages
163
+ *
164
+ * @param array $messages The messages configuration.
165
+ * @param int $count The amount of posts for each bulk action.
166
+ *
167
+ * @return array
168
+ */
169
+ public function bulk_post_updated_messages( $messages, $count ) {
170
+ $post_type = happyforms_get_form_controller()->post_type;
171
+
172
+ $messages[$post_type] = array(
173
+ 'updated' => _n( '%s form updated.', '%s forms updated.', $count['updated'] ),
174
+ 'locked' => _n( '%s form not updated, somebody is editing it.', '%s forms not updated, somebody is editing them.', $count['locked'] ),
175
+ 'deleted' => _n( '%s form permanently deleted.', '%s forms permanently deleted.', $count['deleted'] ),
176
+ 'trashed' => _n( '%s form moved to the Trash.', '%s forms moved to the Trash.', $count['trashed'] ),
177
+ 'untrashed' => _n( '%s form restored from the Trash.', '%s forms restored from the Trash.', $count['untrashed'] ),
178
+ );
179
+
180
+ return $messages;
181
+ }
182
+
183
+ /**
184
+ * Action: ensure the current screen object is initialized.
185
+ *
186
+ * @since 1.0
187
+ *
188
+ * @hooked action load-edit.php
189
+ *
190
+ * @return void
191
+ */
192
+ public function define_screen_settings() {
193
+ $screen = get_current_screen();
194
+ }
195
+
196
+ /**
197
+ * Action: silence output of core filters
198
+ * above the All Form admin screen table.
199
+ *
200
+ * @since 1.0
201
+ *
202
+ * @hooked action restrict_manage_posts
203
+ *
204
+ * @return void
205
+ */
206
+ public function restrict_manage_posts( $post_type ) {
207
+ if ( happyforms_get_form_controller()->post_type === $post_type ) {
208
+ ob_clean();
209
+ }
210
+ }
211
+
212
+ /**
213
+ * Filter: filter the column headers for the
214
+ * All Forms admin screen table.
215
+ *
216
+ * @since 1.0
217
+ *
218
+ * @hooked filter manage_happyform_posts_columns
219
+ *
220
+ * @param array $columns The original table headers.
221
+ *
222
+ * @return array The filtered table headers.
223
+ */
224
+ public function column_headers( $columns ) {
225
+ $date_column = $columns['date'];
226
+ unset( $columns['author'] );
227
+ unset( $columns['date'] );
228
+ $columns['shortcode'] = __( 'Shortcode', 'happyforms' );
229
+ $columns['author'] = __( 'Author', 'happyforms' );
230
+ $columns['messages'] = '<span class="dashicons dashicons-admin-comments"></span>';
231
+ $columns = $columns + array( 'date' => $date_column );
232
+
233
+ return $columns;
234
+ }
235
+
236
+ /**
237
+ * Filter: output the columns content for the
238
+ * All Forms admin screen table.
239
+ *
240
+ * @since 1.0
241
+ *
242
+ * @hooked filter manage_happyform_posts_custom_column
243
+ *
244
+ * @param array $column The current column header.
245
+ * @param int|string $id The current form post object ID.
246
+ *
247
+ * @return void
248
+ */
249
+ public function column_content( $column, $id ) {
250
+ switch ( $column ) {
251
+ case 'messages':
252
+ $messages_url = admin_url( "/edit.php?post_type=happyforms-message&form_id={$id}" );
253
+ $messages = happyforms_get_message_controller()->get_by_form( $id );
254
+ $message_link = sprintf(
255
+ '<a href="%s">%d</a>',
256
+ $messages_url, count( $messages )
257
+ );
258
+ echo $message_link;
259
+ break;
260
+
261
+ case 'shortcode':
262
+ $shortcode = "[happyforms id=\"{$id}\" /]";
263
+ ?>
264
+ <div class="happyforms-shortcode-col">
265
+ <span><?php echo $shortcode; ?></span>
266
+ <input type="text" value="<?php echo esc_attr( $shortcode ); ?>">
267
+ <a href="#" class="happyforms-shortcode-clipboard"><?php _e( 'Copy to clipboard', 'happyforms' ); ?></a>
268
+ </div>
269
+ <?php
270
+ break;
271
+ }
272
+ }
273
+
274
+ /**
275
+ * Filter: silence the standard date column content.
276
+ *
277
+ * @since 1.0
278
+ *
279
+ * @hooked filter post_date_column_status
280
+ *
281
+ * @return void
282
+ */
283
+ public function post_date_column_status() {
284
+ return '';
285
+ }
286
+
287
+ /**
288
+ * Filter: filter the row actions contents for the
289
+ * All Form admin screen table.
290
+ *
291
+ * @since 1.0
292
+ *
293
+ * @hooked filter post_row_actions
294
+ *
295
+ * @param array $actions The original array of action contents.
296
+ * @param WP_Post $post The current post object.
297
+ *
298
+ * @return array The filtered array of action contents.
299
+ */
300
+ public function row_actions( $actions, $post ) {
301
+ $post_type = happyforms_get_form_controller()->post_type;
302
+
303
+ if ( $post->post_type === $post_type ) {
304
+ if ( ! isset( $actions['inline hide-if-no-js'] ) ) {
305
+ return $actions;
306
+ }
307
+
308
+ $actions = array();
309
+ $link_template = '<a href="%s">%s</a>';
310
+ $duplicate_url = add_query_arg(
311
+ array(
312
+ 'happyforms_duplicate_nonce' => wp_create_nonce( 'duplicate' ),
313
+ 'post_type' => $post_type,
314
+ 'form_id' => $post->ID,
315
+ ),
316
+ admin_url( 'edit.php' )
317
+ );
318
+
319
+ $links = array(
320
+ 'edit' => array(
321
+ __( 'Edit', 'happyforms' ),
322
+ get_edit_post_link()
323
+ ),
324
+ 'duplicate' => array(
325
+ __( 'Duplicate', 'happyforms' ),
326
+ $duplicate_url,
327
+ ),
328
+ 'trash' => array(
329
+ __( 'Trash', 'happyforms' ),
330
+ get_delete_post_link( $post->ID, '' )
331
+ ),
332
+ );
333
+
334
+ foreach( $links as $key => $values ) {
335
+ $actions[$key] = sprintf( $link_template, $values[1], $values[0] );
336
+ }
337
+ }
338
+
339
+ return $actions;
340
+ }
341
+
342
+ /**
343
+ * Action: handle the redirect following a form
344
+ * duplicate action.
345
+ *
346
+ * @since 1.0
347
+ *
348
+ * @hooked action load-edit.php
349
+ *
350
+ * @return void
351
+ */
352
+ public function duplicate_form_redirect() {
353
+ if ( ! isset( $_GET['happyforms_duplicate_nonce'] )
354
+ || ! wp_verify_nonce( $_GET['happyforms_duplicate_nonce'], 'duplicate' )
355
+ || ! isset( $_GET['form_id'] ) ) {
356
+ return;
357
+ }
358
+
359
+ $form = get_post( $_GET['form_id'] );
360
+
361
+ if ( is_a( $form, 'WP_Post' ) ) {
362
+ $new_form_id = $this->duplicate_form( $form );
363
+ $post_type = happyforms_get_form_controller()->post_type;
364
+
365
+ if ( ! is_wp_error( $new_form_id ) ) {
366
+ $redirect = add_query_arg(
367
+ array( 'post_type' => $post_type ),
368
+ admin_url( 'edit.php' )
369
+ );
370
+
371
+ $admin_notices = happyforms_get_admin_notices();
372
+ $admin_notices->register(
373
+ 'happyforms_form_duplicated',
374
+ __( 'Form duplicated succesfully.', 'happyforms' ),
375
+ array(
376
+ 'type' => 'success',
377
+ 'screen' => array( 'edit-happyform' ),
378
+ 'one-time' => true,
379
+ )
380
+ );
381
+
382
+ wp_safe_redirect( $redirect );
383
+ exit();
384
+ }
385
+ }
386
+ }
387
+
388
+ /**
389
+ * Duplicate a form post object.
390
+ *
391
+ * @since 1.0
392
+ *
393
+ * @param array $form The form data to be duplicated.
394
+ *
395
+ * @return bool|int The ID of the duplicated form object.
396
+ */
397
+ private function duplicate_form( $form ) {
398
+ $form_title = trim( $form->post_title . __( ' Copy', 'happyforms' ) );
399
+ $form_id = $form->ID;
400
+ $form->post_title = $form_title;
401
+ $form->ID = 0;
402
+
403
+ $new_form_id = wp_insert_post( $form );
404
+
405
+ if ( ! is_wp_error( $new_form_id ) ) {
406
+ $form_meta = get_post_custom( $form_id );
407
+
408
+ foreach ( $form_meta as $key => $value ) {
409
+ if ( ! empty( $value ) ) {
410
+ add_post_meta( $new_form_id, $key, maybe_unserialize( $value[0] ) );
411
+ }
412
+ }
413
+ }
414
+
415
+ return $new_form_id;
416
+ }
417
+
418
+ /**
419
+ * Action: output Javascript logic for copying
420
+ * shortcodes to clipboard in the All Forms admin screen.
421
+ *
422
+ * @since 1.0
423
+ *
424
+ * @hooked action admin_footer
425
+ *
426
+ * @return void
427
+ */
428
+ public function admin_footer() {
429
+ global $pagenow;
430
+ $post_type = happyforms_get_form_controller()->post_type;
431
+
432
+ if ( 'edit.php' === $pagenow && $post_type === get_post_type() ) : ?>
433
+ <script type="text/javascript">
434
+ // Add New button
435
+ var addNewElement = document.getElementsByClassName( 'page-title-action' )[0];
436
+ addNewElement.setAttribute( 'href', '<?php echo happyforms_get_form_edit_link( 0 ); ?>' );
437
+
438
+ // Shortcode copy-to-clipboard
439
+ ( function ( $ ) {
440
+ $( document ).on( 'click', 'a.happyforms-shortcode-clipboard', function( e ) {
441
+ e.preventDefault();
442
+
443
+ var $shortcode = $( e.target ).prev();
444
+ $shortcode.focus().select();
445
+
446
+ try {
447
+ document.execCommand( 'copy' );
448
+ } catch( e ) {}
449
+ } );
450
+ } ) ( jQuery );
451
+ </script>
452
+ <?php endif;
453
+ }
454
+
455
+ }
456
+
457
+ /**
458
+ * Initialize the HappyForms_Form_Admin class immediately.
459
+ */
460
+ HappyForms_Form_Admin::instance();
inc/classes/class-form-controller.php ADDED
@@ -0,0 +1,578 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Form_Controller {
4
+
5
+ /**
6
+ * The singleton instance.
7
+ *
8
+ * @since 1.0
9
+ *
10
+ * @var HappyForms_Form_Controller
11
+ */
12
+ private static $instance;
13
+
14
+ /**
15
+ * The form post type slug.
16
+ *
17
+ * @since 1.0
18
+ *
19
+ * @var string
20
+ */
21
+ public $post_type = 'happyform';
22
+
23
+ /**
24
+ * The singleton constructor.
25
+ *
26
+ * @since 1.0
27
+ *
28
+ * @return HappyForms_Form_Controller
29
+ */
30
+ public static function instance() {
31
+ if ( is_null( self::$instance ) ) {
32
+ self::$instance = new self();
33
+ }
34
+
35
+ self::$instance->hook();
36
+
37
+ return self::$instance;
38
+ }
39
+
40
+ /**
41
+ * Register hooks.
42
+ *
43
+ * @since 1.0
44
+ *
45
+ * @return void
46
+ */
47
+ public function hook() {
48
+ add_action( 'init', array( $this, 'register_post_type' ) );
49
+ add_filter( 'single_template', array( $this, 'single_template' ) );
50
+ add_action( 'delete_post', array( $this, 'delete_post' ) );
51
+ }
52
+
53
+ /**
54
+ * Action: register the form custom post type.
55
+ *
56
+ * @hooked action init
57
+ *
58
+ * @since 1.0
59
+ *
60
+ * @return void
61
+ */
62
+ public function register_post_type() {
63
+ $labels = array(
64
+ 'name' => __( 'All Forms', 'happyforms' ),
65
+ 'singular_name' => __( 'Form', 'happyforms' ),
66
+ 'add_new_item' => __( 'Build form', 'happyforms' ),
67
+ 'edit_item' => __( 'Edit form', 'happyforms' ),
68
+ 'new_item' => __( 'Build form', 'happyforms' ),
69
+ 'view_item' => __( 'View form', 'happyforms' ),
70
+ 'view_items' => __( 'View forms', 'happyforms' ),
71
+ 'search_items' => __( 'Search Forms', 'happyforms' ),
72
+ 'not_found' => __( 'No form found', 'happyforms' ),
73
+ 'not_found_in_trash' => __( 'No forms found in Trash', 'happyforms' ),
74
+ 'all_items' => __( 'All Forms', 'happyforms' ),
75
+ );
76
+
77
+ $args = array(
78
+ 'labels' => $labels,
79
+ 'public' => true,
80
+ 'show_in_menu' => false,
81
+ 'query_var' => true,
82
+ 'rewrite' => array( 'slug' => 'happyform' ),
83
+ 'capability_type' => 'page',
84
+ 'has_archive' => false,
85
+ 'hierarchical' => false,
86
+ 'supports' => array( 'author', 'custom-fields' ),
87
+ );
88
+
89
+ register_post_type( $this->post_type, $args );
90
+ }
91
+
92
+ /**
93
+ * Filter: filter the template path used for
94
+ * the Customize screen preview and frontend rendering.
95
+ *
96
+ * @since 1.0
97
+ *
98
+ * @hooked filter single_template
99
+ *
100
+ * @param $single_template The original template path.
101
+ *
102
+ * @return string
103
+ */
104
+ public function single_template( $single_template ) {
105
+ global $post;
106
+
107
+ if ( $post->post_type == happyforms_get_form_controller()->post_type ) {
108
+ if ( is_customize_preview() ) {
109
+ $single_template = happyforms_get_include_folder() . '/templates/preview-form-edit.php';
110
+ } else {
111
+ $single_template = happyforms_get_include_folder() . '/templates/frontend-form.php';
112
+ }
113
+ }
114
+
115
+ return $single_template;
116
+ }
117
+
118
+ /**
119
+ * Get the defaults and sanitization configuration
120
+ * for the fields of the form post object.
121
+ *
122
+ * @since 1.0
123
+ *
124
+ * @param boolean $key An optional field key
125
+ * to retrieve configuration for.
126
+ *
127
+ * @return array
128
+ */
129
+ private function get_customize_fields( $key = false ) {
130
+ $fields = array(
131
+ 'post' => array(
132
+ 'ID' => array(
133
+ 'default' => '0',
134
+ 'sanitize' => 'intval',
135
+ ),
136
+ 'post_title' => array(
137
+ 'default' => __( 'Untitled form', 'happyforms' ),
138
+ 'sanitize' => 'sanitize_text_field',
139
+ ),
140
+ 'post_status' => array(
141
+ 'default' => 'draft',
142
+ 'sanitize' => 'happyforms_sanitize_post_status',
143
+ ),
144
+ 'post_type' => array(
145
+ 'default' => $this->post_type,
146
+ 'sanitize' => 'sanitize_text_field',
147
+ )
148
+ ),
149
+ 'meta' => array(
150
+ 'email_recipient' => array(
151
+ 'default' => '',
152
+ 'sanitize' => 'happyforms_sanitize_emails',
153
+ ),
154
+ 'confirmation_message' => array(
155
+ 'default' => __( 'Your message has been successfully sent. We appreciate you contacting us and we’ll be in touch soon.', 'happyforms' ),
156
+ 'sanitize' => 'sanitize_text_field',
157
+ ),
158
+ 'confirmation_email_subject' => array(
159
+ 'default' => __( 'We received your message', 'happyforms' ),
160
+ 'sanitize' => 'sanitize_text_field',
161
+ ),
162
+ 'confirmation_email_content' => array(
163
+ 'default' => __( 'Your message has been successfully sent. We appreciate you contacting us and we’ll be in touch soon.', 'happyforms' ),
164
+ 'sanitize' => 'sanitize_text_field',
165
+ ),
166
+ 'redirect_url' => array(
167
+ 'default' => '',
168
+ 'sanitize' => 'sanitize_text_field',
169
+ ),
170
+ 'spam_prevention' => array(
171
+ 'default' => 1,
172
+ 'sanitize' => 'happyforms_sanitize_checkbox',
173
+ ),
174
+ 'submit_button_label' => array(
175
+ 'default' => __( 'Submit', 'happyforms' ),
176
+ 'sanitize' => 'sanitize_text_field',
177
+ ),
178
+ 'form_expiration_datetime' => array(
179
+ 'default' => date( 'Y-m-d H:i:s', time() + 3600 * 24 * 7 ),
180
+ 'sanitize' => 'happyforms_sanitize_datetime',
181
+ ),
182
+ 'save_entries' => array(
183
+ 'default' => 1,
184
+ 'sanitize' => 'happyforms_sanitize_checkbox',
185
+ )
186
+ ),
187
+ );
188
+
189
+ /**
190
+ * Filter the defaults and sanitization configuration
191
+ * for the fields of the form post object.
192
+ *
193
+ * @since 1.0
194
+ *
195
+ * @param array $fields The original configuration.
196
+ *
197
+ * @return array
198
+ */
199
+ $fields = apply_filters( 'happyforms_fields', $fields );
200
+
201
+ if ( false !== $key && isset( $fields[$key] ) ) {
202
+ return $fields[$key];
203
+ } else {
204
+ return $fields;
205
+ }
206
+ }
207
+
208
+ /**
209
+ * Get the default values of the form post object fields.
210
+ *
211
+ * @since 1.0
212
+ *
213
+ * @param boolean $flatten Whether or not the result should be
214
+ * flattened into a single array.
215
+ *
216
+ * @return array
217
+ */
218
+ public function get_customize_defaults( $flatten = false ) {
219
+ $defaults = array();
220
+ $form_fields = $this->get_customize_fields();
221
+
222
+ foreach ( $form_fields as $field_group => $fields ) {
223
+ $defaults[$field_group] = array();
224
+
225
+ foreach ( $fields as $field_name => $field_settings ) {
226
+ $defaults[$field_group][$field_name] = $field_settings['default'];
227
+ }
228
+ }
229
+
230
+ if ( true === $flatten ) {
231
+ $defaults = array_merge( $defaults['post'], $defaults['meta'] );
232
+ }
233
+
234
+ return $defaults;
235
+ }
236
+
237
+ /**
238
+ * Validate the form data submitted from the Customize screen.
239
+ *
240
+ * @since 1.0
241
+ *
242
+ * @param array $post_data The raw input form data.
243
+ *
244
+ * @return array
245
+ */
246
+ public function validate_data( $post_data = array() ) {
247
+ $form_fields = $this->get_customize_fields();
248
+ $validated_data = array();
249
+
250
+ foreach ( $form_fields as $field_group => $fields ) {
251
+ $validated_data[$field_group] = array();
252
+
253
+ foreach ( $fields as $field_name => $field_settings ) {
254
+ if ( isset( $post_data[$field_name] ) ) {
255
+ if ( isset( $field_settings['sanitize'] ) && is_callable( $field_settings['sanitize'] ) ) {
256
+ $validation_callback = $field_settings['sanitize'];
257
+ $field_value = $post_data[$field_name];
258
+ $validated_data[$field_group][$field_name] = call_user_func( $validation_callback, $field_value );
259
+ }
260
+ } else {
261
+ $validated_data[$field_group][$field_name] = $field_settings['default'];
262
+ }
263
+ }
264
+ }
265
+
266
+ return $validated_data;
267
+ }
268
+
269
+ /**
270
+ * Create a new form post object.
271
+ *
272
+ * @since 1.0
273
+ *
274
+ * @return int|string
275
+ */
276
+ public function create() {
277
+ $validated_data = $this->validate_data();
278
+ $post_attributes = array(
279
+ 'post_type' => happyforms_get_form_controller()->post_type,
280
+ 'post_status' => 'draft',
281
+ );
282
+ $post_data = array_merge( $validated_data['post'], $post_attributes );
283
+ $meta_data = array( 'meta_input' => $validated_data['meta'] );
284
+ $insert_data = array_merge( $post_data, $meta_data );
285
+
286
+ $result = wp_insert_post( wp_slash( $insert_data ), true );
287
+
288
+ if ( is_wp_error( $result ) ) {
289
+ return $result;
290
+ }
291
+
292
+ $result = get_post( $result );
293
+
294
+ return $result;
295
+ }
296
+
297
+ /**
298
+ * Get a list of forms.
299
+ *
300
+ * @since 1.0
301
+ *
302
+ * @param array $post_ids A list of form IDs to fetch.
303
+ * @param boolean $only_id Whether or not to limit the
304
+ * results to the ID field.
305
+ *
306
+ * @return array
307
+ */
308
+ public function get( $post_ids = array(), $only_id = false ) {
309
+ $query_params = array(
310
+ 'post_type' => happyforms_get_form_controller()->post_type,
311
+ 'post_status' => 'any',
312
+ 'posts_per_page' => -1,
313
+ );
314
+
315
+ if ( ! empty( $post_ids ) ) {
316
+ $query_params['post__in'] = is_array( $post_ids ) ? $post_ids : array( $post_ids );
317
+ }
318
+
319
+ if ( true === $only_id ) {
320
+ $query_params['fields'] = 'ids';
321
+ }
322
+
323
+ $forms = get_posts( $query_params );
324
+
325
+ if ( true === $only_id ) {
326
+ return $forms;
327
+ }
328
+
329
+ $form_entries = array();
330
+
331
+ foreach ( $forms as $form ) {
332
+ $form_entries[] = $this->to_array( $form );
333
+ }
334
+
335
+ if ( ! is_array( $post_ids ) ) {
336
+ if ( count( $form_entries ) > 0 ) {
337
+ return $form_entries[0];
338
+ } else {
339
+ return false;
340
+ }
341
+ }
342
+
343
+ return $form_entries;
344
+ }
345
+
346
+ /**
347
+ * Turn a form post object into an array.
348
+ *
349
+ * @since 1.0
350
+ *
351
+ * @param WP_Post $form The form post object.
352
+ *
353
+ * @return array
354
+ */
355
+ public function to_array( $form ) {
356
+ $form_array = $form->to_array();
357
+ $meta_fields = $this->get_customize_fields( 'meta' );
358
+
359
+ foreach ( $meta_fields as $field_name => $field_settings ) {
360
+ $form_array[$field_name] = get_post_meta( $form->ID, $field_name, true );
361
+ }
362
+
363
+ $parts = array();
364
+ $part_layout = get_post_meta( $form->ID, 'layout', true );
365
+
366
+ if ( ! empty( $part_layout ) ) {
367
+ foreach ( $part_layout as $part_id ) {
368
+ $part = get_post_meta( $form->ID, $part_id, true );
369
+ $parts[] = $part;
370
+ }
371
+ }
372
+
373
+ $form_array['parts'] = $parts;
374
+
375
+ return $form_array;
376
+ }
377
+
378
+ /**
379
+ * Update a form post object.
380
+ *
381
+ * @since 1.0
382
+ *
383
+ * @param array $form_data The raw input form data.
384
+ *
385
+ * @return array
386
+ */
387
+ public function update( $form_data = array() ) {
388
+ $validated_data = $this->validate_data( $form_data );
389
+
390
+ if ( isset( $validated_data['post']['ID'] ) && 0 === $validated_data['post']['ID'] ) {
391
+ $form = $this->create();
392
+ $validated_data['post']['ID'] = $form->ID;
393
+ }
394
+
395
+ $validated_data['post']['post_status'] = 'publish';
396
+ $meta_data = array( 'meta_input' => $validated_data['meta'] );
397
+ $update_data = array_merge( $validated_data['post'], $meta_data );
398
+ $result = wp_update_post( $update_data, true );
399
+
400
+ if ( is_wp_error( $result ) ) {
401
+ return $result;
402
+ }
403
+
404
+ $part_layout = array();
405
+ $parts_data = isset( $form_data['parts'] ) ? $form_data['parts'] : array();
406
+ $library = happyforms_get_part_library();
407
+
408
+ foreach ( $parts_data as $part_data ) {
409
+ $validated_part = $library->validate_part( $part_data );
410
+
411
+ if ( ! is_wp_error( $validated_part ) ) {
412
+ $part_id = $part_data['id'];
413
+ $part_layout[] = $part_id;
414
+ update_post_meta( $result, $part_id, $validated_part );
415
+ }
416
+ }
417
+
418
+ update_post_meta( $result, 'layout', $part_layout );
419
+ $result = $this->to_array( get_post( $result ) );
420
+
421
+ return $result;
422
+ }
423
+
424
+ /**
425
+ * Delete a form post object.
426
+ *
427
+ * @since 1.0
428
+ *
429
+ * @param int|string $form_id The ID of the form object.
430
+ *
431
+ * @return boolean|WP_Post
432
+ */
433
+ public function delete( $form_id ) {
434
+ $result = wp_delete_post( $form_id, true );
435
+
436
+ return $result;
437
+ }
438
+
439
+ /**
440
+ * Action: remove form messages when a form is removed.
441
+ *
442
+ * @since 1.0
443
+ *
444
+ * @hooked action delete_post
445
+ *
446
+ * @param int|string $post_id The ID of the form object.
447
+ *
448
+ * @return void
449
+ */
450
+ public function delete_post( $post_id ) {
451
+ $post = get_post( $post_id );
452
+
453
+ if ( $this->post_type !== $post->post_type ) {
454
+ return;
455
+ }
456
+
457
+ $messages = get_posts( array(
458
+ 'post_type' => happyforms_get_message_controller()->post_type,
459
+ 'post_status' => 'any',
460
+ 'meta_key' => 'form_id',
461
+ 'meta_value' => $post_id,
462
+ ) );
463
+
464
+ foreach ( $messages as $message ) {
465
+ wp_delete_post( $message->ID, true );
466
+ }
467
+ }
468
+
469
+ /**
470
+ * Return the first part with the given type found in a form.
471
+ *
472
+ * @since 1.0
473
+ *
474
+ * @param array $form_data The data of the form the part belongs to.
475
+ * @param string $type The type of the part.
476
+ *
477
+ * @return boolean|array
478
+ */
479
+ public function get_first_part_by_type( $form_data, $type = '' ) {
480
+ foreach( $form_data['parts'] as $part ) {
481
+ if ( $type === $part['type'] ) {
482
+ return $part;
483
+ break;
484
+ }
485
+ }
486
+
487
+ return false;
488
+ }
489
+
490
+ /**
491
+ * Get whether or not the given form data has spam prevention on.
492
+ *
493
+ * @since 1.0
494
+ *
495
+ * @param array $form_data The form data.
496
+ *
497
+ * @return int
498
+ */
499
+ public function has_spam_protection( $form_data ) {
500
+ return $form_data['spam_prevention'];
501
+ }
502
+
503
+ /**
504
+ * Get form-wide submission notice definitions.
505
+ *
506
+ * @since 1.0
507
+ *
508
+ * @param array $form_data The form data.
509
+ *
510
+ * @return array
511
+ */
512
+ public function get_message_definitions( $form_data ) {
513
+ return array(
514
+ 'form_error' => array(
515
+ 'type' => 'error-submission',
516
+ 'message' => __( 'Your submission contains errors.', 'happyforms' ),
517
+ ),
518
+ 'form_success' => array(
519
+ 'type' => 'success',
520
+ 'message' => $form_data['confirmation_message'],
521
+ ),
522
+ );
523
+ }
524
+
525
+ /**
526
+ * Get the HTML string of a rendered form.
527
+ *
528
+ * @since 1.0
529
+ *
530
+ * @param array $form The form data.
531
+ *
532
+ * @return string
533
+ */
534
+ public function render( $form = array() ) {
535
+ $form_markup = '';
536
+
537
+ if ( empty( $form ) ) {
538
+ return $form_markup;
539
+ }
540
+
541
+ ob_start();
542
+ require( happyforms_get_include_folder() . '/templates/frontend-form.php' );
543
+ $form_markup = ob_get_clean();
544
+
545
+ return $form_markup;
546
+ }
547
+
548
+ /**
549
+ * Output scripts in the header of a form.
550
+ *
551
+ * @since 1.0
552
+ *
553
+ * @param array $form The form data.
554
+ *
555
+ * @return string
556
+ */
557
+ public function header_scripts( $form = array() ) {}
558
+
559
+ }
560
+
561
+ if ( ! function_exists( 'happyforms_get_form_controller' ) ):
562
+ /**
563
+ * Get the HappyForms_Form_Controller class instance.
564
+ *
565
+ * @since 1.0
566
+ *
567
+ * @return HappyForms_Form_Controller
568
+ */
569
+ function happyforms_get_form_controller() {
570
+ return HappyForms_Form_Controller::instance();
571
+ }
572
+
573
+ endif;
574
+
575
+ /**
576
+ * Initialize the HappyForms_Form_Controller class immediately.
577
+ */
578
+ happyforms_get_form_controller();
inc/classes/class-form-part-library.php ADDED
@@ -0,0 +1,185 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Form_Part_Library {
4
+
5
+ private static $instance;
6
+ private $parts = array();
7
+ private $standard_parts = array(
8
+ 'HappyForms_Part_SingleLineText' => 'class-part-single-line-text',
9
+ 'HappyForms_Part_MultiLineText' => 'class-part-multi-line-text',
10
+ 'HappyForms_Part_Email' => 'class-part-email',
11
+ 'HappyForms_Part_WebsiteUrl' => 'class-part-website-url',
12
+ 'HappyForms_Part_Checkbox' => 'class-part-checkbox',
13
+ 'HappyForms_Part_Radio' => 'class-part-radio',
14
+ 'HappyForms_Part_Select' => 'class-part-select',
15
+ 'HappyForms_Part_Number' => 'class-part-number',
16
+ 'HappyForms_Part_Date' => 'class-part-date',
17
+ 'HappyForms_Part_Country' => 'class-part-country',
18
+ 'HappyForms_Part_Rating' => 'class-part-rating',
19
+ 'HappyForms_Part_Placeholder' => 'class-part-placeholder',
20
+ );
21
+
22
+ public static function instance() {
23
+ if ( is_null( self::$instance ) ) {
24
+ self::$instance = new self();
25
+ }
26
+
27
+ self::$instance->hook();
28
+
29
+ return self::$instance;
30
+ }
31
+
32
+ public function __construct() {
33
+ require_once( happyforms_get_include_folder() . '/classes/class-form-part.php' );
34
+
35
+ foreach ( $this->standard_parts as $part_class => $part_file ) {
36
+ require_once( happyforms_get_include_folder() . "/classes/parts/{$part_file}.php" );
37
+ $this->register_part( $part_class );
38
+ }
39
+ }
40
+
41
+ public function hook() {
42
+ add_action( 'customize_controls_print_footer_scripts', array( $this, 'customize_templates' ) );
43
+ add_action( 'customize_controls_enqueue_scripts', array( $this, 'customize_enqueue_scripts' ) );
44
+ }
45
+
46
+ public function register_part( $part ) {
47
+ if ( $part instanceof HappyForms_Form_Part ) {
48
+ $this->parts[ $this->hash_object( $part ) ] = $part;
49
+ } else {
50
+ $this->parts[ $part ] = new $part();
51
+ }
52
+ }
53
+
54
+ public function get_parts() {
55
+ $parts_data = array();
56
+
57
+ foreach ( $this->parts as $part ) {
58
+ $part_data = get_object_vars( $part );
59
+ $part_data['defaults'] = $part->get_customize_defaults();
60
+ $parts_data[$part->type] = $part_data;
61
+ }
62
+
63
+ return $parts_data;
64
+ }
65
+
66
+ public function get_part( $type ) {
67
+ foreach ( $this->parts as $part ) {
68
+ if ( $type === $part->type ) {
69
+ return $part;
70
+ }
71
+ }
72
+
73
+ return false;
74
+ }
75
+
76
+ public function customize_templates() {
77
+ foreach ( $this->parts as $part ) {
78
+ ?>
79
+ <script type="text/template" id="<?php echo $part->template_id; ?>">
80
+ <?php
81
+ include( happyforms_get_include_folder() . '/templates/customize-form-part-header.php' );
82
+ $part->customize_template();
83
+ include( happyforms_get_include_folder() . '/templates/customize-form-part-footer.php' );
84
+ ?>
85
+ </script>
86
+ <?php
87
+ if ( isset( $part->item_customize_template_id ) ) {
88
+ ?>
89
+ <script type="text/template" id="<?php echo $part->item_customize_template_id; ?>">
90
+ <?php $part->customize_item_template(); ?>
91
+ </script>
92
+ <?php
93
+ }
94
+
95
+ if ( isset( $part->item_frontend_template_id ) ) {
96
+ ?>
97
+ <script type="text/template" id="<?php echo $part->item_frontend_template_id; ?>">
98
+ <?php $part->preview_option_template(); ?>
99
+ </script>
100
+ <?php
101
+ }
102
+
103
+ if ( isset( $part->preview_confirmation_template_id ) ) {
104
+ ?>
105
+ <script type="text/template" id="<?php echo $part->preview_confirmation_template_id; ?>">
106
+ <?php $part->preview_confirmation_template(); ?>
107
+ </script>
108
+ <?php
109
+ }
110
+ }
111
+ }
112
+
113
+ public function customize_enqueue_scripts() {
114
+ $deps = array( 'happyforms-customize' );
115
+
116
+ foreach ( $this->parts as $part ) {
117
+ $part->customize_enqueue_scripts( $deps );
118
+ }
119
+ }
120
+
121
+ public function get_part_template( $part_data = array(), $form_data = array() ) {
122
+ if ( isset( $part_data['type'] ) ) {
123
+ $part = $this->get_part( $part_data['type'] );
124
+
125
+ if ( false !== $part ) {
126
+ ob_start();
127
+ $part->frontend_template( $part_data, $form_data );
128
+ return ob_get_clean();
129
+ }
130
+ }
131
+
132
+ return '';
133
+ }
134
+
135
+ public function validate_part( $part_data = array() ) {
136
+ if ( ! isset( $part_data['type'] ) || ! isset( $part_data['id'] ) ) {
137
+ $error = new WP_Error( 'part', __( 'Invalid data' ) );
138
+ return $error;
139
+ }
140
+
141
+ $part = $this->get_part( $part_data['type'] );
142
+
143
+ if ( ! $part ) {
144
+ $error = new WP_Error( 'part', __( 'Part definition not found' ) );
145
+ return $error;
146
+ }
147
+
148
+ $fields = $part->get_customize_fields();
149
+ $defaults = $part->get_customize_defaults();
150
+ // Whitelist keys
151
+ $input_data = array_intersect_key( $part_data, $fields );
152
+ // Extend defaults
153
+ $input_data = wp_parse_args( $input_data, $defaults );
154
+ $validated_data = array(
155
+ 'id' => sanitize_key( $part_data['id'] ),
156
+ );
157
+
158
+ foreach ( $fields as $field_name => $field_settings ) {
159
+ if ( array_key_exists( 'sanitize', $field_settings ) && is_callable( $field_settings['sanitize'] ) ) {
160
+ $validation_callback = $field_settings['sanitize'];
161
+ $field_value = $input_data[$field_name];
162
+ $validated_data[$field_name] = call_user_func( $validation_callback, $field_value );
163
+ } else {
164
+ $error = new WP_Error( 'part', sprintf(
165
+ __( 'Missing validation callback for field %s', 'happyforms' ),
166
+ $field_name
167
+ ) );
168
+ return $error;
169
+ }
170
+ }
171
+
172
+ return $validated_data;
173
+ }
174
+
175
+ }
176
+
177
+ if ( ! function_exists( 'happyforms_get_part_library' ) ):
178
+
179
+ function happyforms_get_part_library() {
180
+ return HappyForms_Form_Part_Library::instance();
181
+ }
182
+
183
+ endif;
184
+
185
+ happyforms_get_part_library();
inc/classes/class-form-part.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Form_Part {
4
+
5
+ public $type = '';
6
+ public $label = '';
7
+ public $description = '';
8
+ public $template_id = '';
9
+
10
+ public function get_customize_fields() {
11
+ return array();
12
+ }
13
+
14
+ public function get_customize_defaults() {
15
+ $defaults = array();
16
+ $fields = $this->get_customize_fields();
17
+
18
+ foreach ( $fields as $field_name => $field_settings ) {
19
+ $defaults[$field_name] = $field_settings['default'];
20
+ }
21
+
22
+ return $defaults;
23
+ }
24
+
25
+ public function customize_template() {}
26
+
27
+ public function customize_enqueue_scripts( $deps = array() ) {}
28
+
29
+ public function get_name( $id ) {
30
+ return $this->type . '-' . $id;
31
+ }
32
+
33
+ public function get_message_definitions() {}
34
+
35
+ public function get_default_value() {
36
+ return '';
37
+ }
38
+
39
+ public function sanitize_value( $part_data ) {}
40
+
41
+ public function validate_value( $part_data, $value ) {}
42
+
43
+ public function frontend_template( $part_data = array(), $form_data = array() ) {}
44
+
45
+ }
inc/classes/class-form-styles.php ADDED
@@ -0,0 +1,900 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Form_Styles {
4
+
5
+ private static $instance;
6
+
7
+ public static function instance() {
8
+ if ( is_null( self::$instance ) ) {
9
+ self::$instance = new self();
10
+ }
11
+
12
+ self::$instance->hook();
13
+
14
+ return self::$instance;
15
+ }
16
+
17
+ public function __construct() {
18
+ $this->part_selector = '.happyforms-part > input, .happyforms-part > textarea';
19
+ }
20
+
21
+ /**
22
+ * Hook into WordPress.
23
+ *
24
+ * @since 1.0.0.
25
+ *
26
+ * @return void
27
+ */
28
+ public function hook() {
29
+ add_filter( 'happyforms_fields', array( $this, 'add_fields' ) );
30
+ add_action( 'happyforms_print_css', array( $this, 'print_css' ), 10, 1 );
31
+
32
+ add_action( 'wp_ajax_happyforms_load_styles', array( $this, 'load_styles') );
33
+ }
34
+
35
+ /**
36
+ * Get styles by key or all styles as array.
37
+ *
38
+ * @param string $key Style key.
39
+ *
40
+ * @since 1.0.0.
41
+ *
42
+ * @return array
43
+ */
44
+ public function get_styles( $key = false ) {
45
+ $fields = array(
46
+ 'hf_form_title' => array(
47
+ 'type' => 'divider',
48
+ 'html' => '<h2 class="group-title">' . __( 'General form styles', 'happyforms' ) . '</h2>'
49
+ ),
50
+ 'hf_style_display_form_name' => array(
51
+ 'default' => 1,
52
+ 'type' => 'checkbox',
53
+ 'css' => array(
54
+ 'selector' => array( '.happyforms-form__title' ),
55
+ 'attribute' => array( 'display' ),
56
+ 'value' => array(
57
+ 0 => 'none',
58
+ 1 => 'block'
59
+ )
60
+ ),
61
+ 'label' => __( 'Display form name', 'happyforms' ),
62
+ 'sanitize' => 'happyforms_sanitize_checkbox'
63
+ ),
64
+ 'hf_style_form_font_size' => array(
65
+ 'default' => 16,
66
+ 'type' => 'range',
67
+ 'min' => 8,
68
+ 'max' => 30,
69
+ 'css' => array(
70
+ 'selector' => array( 'form, .happyforms-part--placeholder p' ),
71
+ 'attribute' => array( 'font-size' ),
72
+ 'tpl' => '{{ value }}px'
73
+ ),
74
+ 'label' => __( 'Font size (px)', 'happyforms' ),
75
+ 'sanitize' => 'intval'
76
+ ),
77
+ 'hf_style_form_font_weight' => array(
78
+ 'default' => 'normal',
79
+ 'type' => 'buttonset',
80
+ 'options' => array(
81
+ 'normal' => 'Normal',
82
+ 'bold' => 'Bold'
83
+ ),
84
+ 'css' => array(
85
+ 'selector' => array( 'form, .happyforms-part--placeholder p' ),
86
+ 'attribute' => array( 'font-weight' )
87
+ ),
88
+ 'label' => __( 'Font weight', 'happyforms' ),
89
+ 'sanitize' => 'sanitize_text_field'
90
+ ),
91
+ 'hf_style_form_font_style' => array(
92
+ 'default' => 'normal',
93
+ 'type' => 'buttonset',
94
+ 'options' => array(
95
+ 'normal' => 'Normal',
96
+ 'italic' => 'Italic'
97
+ ),
98
+ 'css' => array(
99
+ 'selector' => array( 'form, .happyforms-part--placeholder p' ),
100
+ 'attribute' => array( 'font-style' )
101
+ ),
102
+ 'label' => __( 'Font style', 'happyforms' ),
103
+ 'sanitize' => 'sanitize_text_field'
104
+ ),
105
+ 'hf_style_form_bg' => array(
106
+ 'default' => '',
107
+ 'type' => 'color',
108
+ 'css' => array(
109
+ 'selector' => array( 'form' ),
110
+ 'attribute' => array( 'background-color' )
111
+ ),
112
+ 'label' => __( 'Background color', 'happyforms' ),
113
+ 'sanitize' => 'sanitize_text_field'
114
+ ),
115
+ 'hf_style_form_border' => array(
116
+ 'default' => 0,
117
+ 'type' => 'range',
118
+ 'min' => 0,
119
+ 'max' => 10,
120
+ 'css' => array(
121
+ 'selector' => array( 'form' ),
122
+ 'attribute' => array( 'border-width' ),
123
+ 'tpl' => '{{ value }}px'
124
+ ),
125
+ 'label' => __( 'Border width (px)', 'happyforms' ),
126
+ 'sanitize' => 'sanitize_text_field'
127
+ ),
128
+ 'hf_style_form_border_color' => array(
129
+ 'default' => '#000000',
130
+ 'type' => 'color',
131
+ 'css' => array(
132
+ 'selector' => array( 'form' ),
133
+ 'attribute' => array( 'border-color' )
134
+ ),
135
+ 'label' => __( 'Border color', 'happyforms' ),
136
+ 'sanitize' => 'sanitize_text_field'
137
+ ),
138
+ 'hf_style_form_border_radius' => array(
139
+ 'default' => 0,
140
+ 'type' => 'range',
141
+ 'min' => 0,
142
+ 'max' => 20,
143
+ 'css' => array(
144
+ 'selector' => array( 'form' ),
145
+ 'attribute' => array( 'border-radius' ),
146
+ 'tpl' => '{{ value }}px'
147
+ ),
148
+ 'label' => __( 'Border radius (px)', 'happyforms' ),
149
+ 'sanitize' => 'intval'
150
+ ),
151
+ 'hf_form_parts_title' => array(
152
+ 'type' => 'divider',
153
+ 'html' => '<h2 class="group-title">' . __( 'Form parts', 'happyforms' ) . '</h2>'
154
+ ),
155
+ 'hf_style_hide_part_titles' => array(
156
+ 'default' => 0,
157
+ 'type' => 'checkbox',
158
+ 'css' => array(
159
+ 'selector' => array( '.happyforms-part__label' ),
160
+ 'attribute' => array( 'display' ),
161
+ 'value' => array(
162
+ 0 => 'block',
163
+ 1 => 'none'
164
+ )
165
+ ),
166
+ 'label' => __( 'Hide part titles', 'happyforms' ),
167
+ 'sanitize' => 'happyforms_sanitize_checkbox'
168
+ ),
169
+ 'hf_style_part_label_font_weight' => array(
170
+ 'default' => 'normal',
171
+ 'type' => 'buttonset',
172
+ 'options' => array(
173
+ 'normal' => 'Normal',
174
+ 'bold' => 'Bold'
175
+ ),
176
+ 'css' => array(
177
+ 'selector' => array( '.happyforms-part .happyforms-part__label .label' ),
178
+ 'attribute' => array( 'font-weight' )
179
+ ),
180
+ 'label' => __( 'Title font weight', 'happyforms' ),
181
+ 'sanitize' => 'sanitize_text_field'
182
+ ),
183
+ 'hf_style_part_label_font_style' => array(
184
+ 'default' => 'normal',
185
+ 'type' => 'buttonset',
186
+ 'options' => array(
187
+ 'normal' => 'Normal',
188
+ 'italic' => 'Italic'
189
+ ),
190
+ 'css' => array(
191
+ 'selector' => array( '.happyforms-part .happyforms-part__label .label' ),
192
+ 'attribute' => array( 'font-style' )
193
+ ),
194
+ 'label' => __( 'Title font style', 'happyforms' ),
195
+ 'sanitize' => 'sanitize_text_field'
196
+ ),
197
+ 'hf_style_part_description_font_size' => array(
198
+ 'default' => '14',
199
+ 'type' => 'range',
200
+ 'min' => 8,
201
+ 'max' => 30,
202
+ 'css' => array(
203
+ 'selector' => array( '.happyforms-part__description' ),
204
+ 'attribute' => array( 'font-size' ),
205
+ 'tpl' => '{{ value }}px'
206
+ ),
207
+ 'label' => __( 'Description font size (px)', 'happyforms' ),
208
+ 'sanitize' => 'sanitize_text_field'
209
+ ),
210
+ 'hf_style_part_description_font_weight' => array(
211
+ 'default' => 'normal',
212
+ 'type' => 'buttonset',
213
+ 'options' => array(
214
+ 'normal' => 'Normal',
215
+ 'bold' => 'Bold'
216
+ ),
217
+ 'css' => array(
218
+ 'selector' => array( '.happyforms-part .happyforms-part__description' ),
219
+ 'attribute' => array( 'font-weight' )
220
+ ),
221
+ 'label' => __( 'Description font weight', 'happyforms' ),
222
+ 'sanitize' => 'sanitize_text_field'
223
+ ),
224
+ 'hf_style_part_description_font_style' => array(
225
+ 'default' => 'italic',
226
+ 'type' => 'buttonset',
227
+ 'options' => array(
228
+ 'normal' => 'Normal',
229
+ 'italic' => 'Italic'
230
+ ),
231
+ 'css' => array(
232
+ 'selector' => array( '.happyforms-part .happyforms-part__description' ),
233
+ 'attribute' => array( 'font-style' )
234
+ ),
235
+ 'label' => __( 'Description font style', 'happyforms' ),
236
+ 'sanitize' => 'sanitize_text_field'
237
+ ),
238
+ 'hf_style_part_border' => array(
239
+ 'default' => 2,
240
+ 'type' => 'range',
241
+ 'min' => 0,
242
+ 'max' => 10,
243
+ 'css' => array(
244
+ 'selector' => array( '.happyforms-part > input, .happyforms-part > textarea, .happyforms-part > select, .happyforms-part > input:focus, .happyforms-part > textarea:focus, .happyforms-part > select:focus' ),
245
+ 'attribute' => array( 'border-width' ),
246
+ 'tpl' => '{{ value }}px'
247
+ ),
248
+ 'label' => __( 'Border width (px)', 'happyforms' ),
249
+ 'sanitize' => 'sanitize_text_field'
250
+ ),
251
+ 'hf_style_part_border_color' => array(
252
+ 'default' => '#000000',
253
+ 'type' => 'color',
254
+ 'css' => array(
255
+ 'selector' => array( '.happyforms-part > input, .happyforms-part > textarea, .happyforms-part > select' ),
256
+ 'attribute' => array( 'border-color' )
257
+ ),
258
+ 'label' => __( 'Border color', 'happyforms' ),
259
+ 'sanitize' => 'sanitize_text_field'
260
+ ),
261
+ 'hf_style_part_border_color_focus' => array(
262
+ 'default' => '#000000',
263
+ 'type' => 'color',
264
+ 'css' => array(
265
+ 'selector' => array( '.happyforms-part > input:focus, .happyforms-part > textarea:focus, .happyforms-part > select:focus' ),
266
+ 'attribute' => array( 'border-color' )
267
+ ),
268
+ 'label' => __( 'Border color focused', 'happyforms' ),
269
+ 'sanitize' => 'sanitize_text_field'
270
+ ),
271
+ 'hf_style_part_border_radius' => array(
272
+ 'default' => 0,
273
+ 'type' => 'range',
274
+ 'min' => 0,
275
+ 'max' => 20,
276
+ 'css' => array(
277
+ 'selector' => array( '.happyforms-part > input, .happyforms-part > textarea' ),
278
+ 'attribute' => array( 'border-radius' ),
279
+ 'tpl' => '{{ value }}px'
280
+ ),
281
+ 'label' => __( 'Border radius (px)', 'happyforms' ),
282
+ 'sanitize' => 'intval'
283
+ ),
284
+ 'hf_style_part_bg' => array(
285
+ 'default' => '#ffffff',
286
+ 'type' => 'color',
287
+ 'css' => array(
288
+ 'selector' => array( '.happyforms-part > input, .happyforms-part > textarea' ),
289
+ 'attribute' => array( 'background-color' )
290
+ ),
291
+ 'label' => __( 'Background color', 'happyforms' ),
292
+ 'sanitize' => 'sanitize_text_field'
293
+ ),
294
+ 'hf_style_part_bg_focus' => array(
295
+ 'default' => '#ffffff',
296
+ 'type' => 'color',
297
+ 'css' => array(
298
+ 'selector' => array( '.happyforms-part input:focus, .happyforms-part textarea:focus' ),
299
+ 'attribute' => array( 'background-color' )
300
+ ),
301
+ 'label' => __( 'Background color focused', 'happyforms' ),
302
+ 'sanitize' => 'sanitize_text_field'
303
+ ),
304
+ 'hf_style_part_bg_transition' => array(
305
+ 'default' => 'none',
306
+ 'type' => 'buttonset',
307
+ 'options' => array(
308
+ 'none' => 'None',
309
+ 'background-color' => 'Fade'
310
+ ),
311
+ 'css' => array(
312
+ 'selector' => array( '.happyforms-part input, .happyforms-part textarea' ),
313
+ 'attribute' => array( 'transition-property' )
314
+ ),
315
+ 'label' => __( 'Smooth background change (transition)', 'happyforms' ),
316
+ 'sanitize' => 'sanitize_text_field'
317
+ ),
318
+ 'hf_style_label_color' => array(
319
+ 'default' => '#000000',
320
+ 'type' => 'color',
321
+ 'css' => array(
322
+ 'selector' => array( 'label' ),
323
+ 'attribute' => array( 'color' )
324
+ ),
325
+ 'label' => __( 'Label color', 'happyforms' ),
326
+ 'sanitize' => 'sanitize_text_field'
327
+ ),
328
+ 'hf_style_label_shadow' => array(
329
+ 'default' => 'none',
330
+ 'type' => 'buttonset',
331
+ 'options' => array(
332
+ 'none' => 'None',
333
+ '' => 'Light'
334
+ ),
335
+ 'css' => array(
336
+ 'selector' => array( '.happyforms-part input, .happyforms-part textarea' ),
337
+ 'attribute' => array( 'transition-property' )
338
+ ),
339
+ 'label' => __( 'Smooth background change (transition)', 'happyforms' ),
340
+ 'sanitize' => 'sanitize_text_field'
341
+ ),
342
+ 'hf_style_label_font_size' => array(
343
+ 'default' => '16',
344
+ 'type' => 'range',
345
+ 'min' => 8,
346
+ 'max' => 40,
347
+ 'css' => array(
348
+ 'selector' => array( 'label' ),
349
+ 'attribute' => array( 'font-size' ),
350
+ 'tpl' => '{{ value }}px'
351
+ ),
352
+ 'label' => __( 'Label font size (px)', 'happyforms' ),
353
+ 'sanitize' => 'sanitize_text_field'
354
+ ),
355
+ 'hf_style_placeholder_color' => array(
356
+ 'default' => '#aaaaaa',
357
+ 'type' => 'color',
358
+ 'css' => array(
359
+ 'selector' => array( 'input::placeholder, textarea::placeholder' ),
360
+ 'attribute' => array( 'color' )
361
+ ),
362
+ 'label' => __( 'Placeholder color', 'happyforms' ),
363
+ 'sanitize' => 'sanitize_text_field'
364
+ ),
365
+ 'hf_style_part_placeholder_font_weight' => array(
366
+ 'default' => 'normal',
367
+ 'type' => 'buttonset',
368
+ 'options' => array(
369
+ 'normal' => 'Normal',
370
+ 'bold' => 'Bold'
371
+ ),
372
+ 'css' => array(
373
+ 'selector' => array( 'input::placeholder, textarea::placeholder' ),
374
+ 'attribute' => array( 'font-weight' )
375
+ ),
376
+ 'label' => __( 'Placeholder font weight', 'happyforms' ),
377
+ 'sanitize' => 'sanitize_text_field'
378
+ ),
379
+ 'hf_style_part_placeholder_font_style' => array(
380
+ 'default' => 'normal',
381
+ 'type' => 'buttonset',
382
+ 'options' => array(
383
+ 'normal' => 'Normal',
384
+ 'italic' => 'Italic'
385
+ ),
386
+ 'css' => array(
387
+ 'selector' => array( 'input::placeholder, textarea::placeholder' ),
388
+ 'attribute' => array( 'font-style' )
389
+ ),
390
+ 'label' => __( 'Placeholder font style', 'happyforms' ),
391
+ 'sanitize' => 'sanitize_text_field'
392
+ ),
393
+ 'hf_style_required_text' => array(
394
+ 'default' => '*',
395
+ 'type' => 'text',
396
+ 'label' => __( 'Required text', 'happyforms' ),
397
+ 'sanitize' => 'sanitize_text_field'
398
+ ),
399
+ 'hf_style_required_color' => array(
400
+ 'default' => '#c00',
401
+ 'type' => 'color',
402
+ 'css' => array(
403
+ 'selector' => array( '.happyforms-required' ),
404
+ 'attribute' => array( 'color' )
405
+ ),
406
+ 'label' => __( 'Required text color', 'happyforms' ),
407
+ 'sanitize' => 'sanitize_text_field'
408
+ ),
409
+ 'hf_style_error_color' => array(
410
+ 'default' => '#d3422c',
411
+ 'type' => 'color',
412
+ 'css' => array(
413
+ 'selector' => array( '.happyforms-message-notice.error p', '.happyforms-message-notice.error-submission' ),
414
+ 'attribute' => array( 'color', 'border-color' )
415
+ ),
416
+ 'label' => __( 'Error color', 'happyforms' ),
417
+ 'sanitize' => 'sanitize_text_field'
418
+ ),
419
+ 'hf_style_success_color' => array(
420
+ 'default' => '#39b54a',
421
+ 'type' => 'color',
422
+ 'css' => array(
423
+ 'selector' => array( '.happyforms-message-notice.success h2' ),
424
+ 'attribute' => array( 'color' )
425
+ ),
426
+ 'label' => __( 'Success color', 'happyforms' ),
427
+ 'sanitize' => 'sanitize_text_field'
428
+ ),
429
+ 'hf_ratings_part_title' => array(
430
+ 'type' => 'divider',
431
+ 'html' => '<h2 class="group-title">' . __( 'Ratings', 'happyforms' ) . '</h2>'
432
+ ),
433
+ 'hf_style_ratings_star_color' => array(
434
+ 'default' => '#ccc',
435
+ 'type' => 'color',
436
+ 'force' => true,
437
+ 'css' => array(
438
+ 'selector' => array( '.happyforms-part--rating:not(:hover) input:first-child:checked~label,
439
+ .happyforms-part--rating input:hover+label~label:not(:hover),
440
+ .happyforms-part--rating:hover input:checked+label:hover~label,
441
+ .happyforms-part--rating:not(:hover) input:checked+label~label' ),
442
+ 'attribute' => array( 'color' )
443
+ ),
444
+ 'label' => __( 'Default star color', 'happyforms' ),
445
+ 'sanitize' => 'sanitize_text_field'
446
+ ),
447
+ 'hf_style_ratings_star_color_hover_checked' => array(
448
+ 'default' => '#f39c00',
449
+ 'type' => 'color',
450
+ 'label' => __( 'Star color focused', 'happyforms' ),
451
+ 'force' => true,
452
+ 'css' => array(
453
+ 'selector' => array( '.happyforms-part--rating .happyforms-star__label' ),
454
+ 'attribute' => array( 'color' )
455
+ ),
456
+ 'sanitize' => 'sanitize_text_field'
457
+ ),
458
+ 'hf_submit_button_title' => array(
459
+ 'type' => 'divider',
460
+ 'html' => '<h2 class="group-title">' . __( 'Submit button', 'happyforms' ) . '</h2>'
461
+ ),
462
+ 'hf_style_submit_button_alignment' => array(
463
+ 'default' => 'left',
464
+ 'type' => 'buttonset',
465
+ 'options' => array(
466
+ 'left' => 'Left',
467
+ 'center' => 'Center',
468
+ 'right' => 'Right'
469
+ ),
470
+ 'css' => array(
471
+ 'selector' => array( '.happyforms-part--submit' ),
472
+ 'attribute' => array( 'text-align' )
473
+ ),
474
+ 'label' => __( 'Alignment', 'happyforms' ),
475
+ 'sanitize' => 'sanitize_text_field'
476
+ ),
477
+ 'hf_style_submit_button_width' => array(
478
+ 'default' => 'auto',
479
+ 'type' => 'buttonset',
480
+ 'options' => array(
481
+ 'auto' => 'Auto',
482
+ '100%' => 'Full width'
483
+ ),
484
+ 'css' => array(
485
+ 'selector' => array( '.happyforms-part--submit, .happyforms-part--submit input, .happyforms-part--submit button' ),
486
+ 'attribute' => array( 'width' )
487
+ ),
488
+ 'label' => __( 'Width', 'happyforms' ),
489
+ 'sanitize' => 'sanitize_text_field'
490
+ ),
491
+ 'hf_style_submit_button_font_weight' => array(
492
+ 'default' => 'normal',
493
+ 'type' => 'buttonset',
494
+ 'options' => array(
495
+ 'normal' => 'Normal',
496
+ 'bold' => 'Bold'
497
+ ),
498
+ 'css' => array(
499
+ 'selector' => array( '.happyforms-button--submit' ),
500
+ 'attribute' => array( 'font-weight' )
501
+ ),
502
+ 'label' => __( 'Font weight', 'happyforms' ),
503
+ 'sanitize' => 'sanitize_text_field'
504
+ ),
505
+ 'hf_style_submit_button_font_style' => array(
506
+ 'default' => 'normal',
507
+ 'type' => 'buttonset',
508
+ 'options' => array(
509
+ 'normal' => 'Normal',
510
+ 'italic' => 'Italic'
511
+ ),
512
+ 'css' => array(
513
+ 'selector' => array( '.happyforms-button--submit' ),
514
+ 'attribute' => array( 'font-style' )
515
+ ),
516
+ 'label' => __( 'Font style', 'happyforms' ),
517
+ 'sanitize' => 'sanitize_text_field'
518
+ ),
519
+ 'hf_style_submit_button_font_size' => array(
520
+ 'default' => '18',
521
+ 'type' => 'range',
522
+ 'min' => 8,
523
+ 'max' => 40,
524
+ 'css' => array(
525
+ 'selector' => array( '.happyforms-button--submit' ),
526
+ 'attribute' => array( 'font-size' ),
527
+ 'tpl' => '{{ value }}px'
528
+ ),
529
+ 'label' => __( 'Font size (px)', 'happyforms' ),
530
+ 'sanitize' => 'sanitize_text_field'
531
+ ),
532
+ 'hf_style_submit_button_color' => array(
533
+ 'default' => '#ffffff',
534
+ 'type' => 'color',
535
+ 'css' => array(
536
+ 'selector' => array( '.happyforms-button--submit' ),
537
+ 'attribute' => array( 'color' )
538
+ ),
539
+ 'label' => __( 'Text color', 'happyforms' ),
540
+ 'sanitize' => 'sanitize_text_field'
541
+ ),
542
+ 'hf_style_submit_button_bg' => array(
543
+ 'default' => '#000000',
544
+ 'type' => 'color',
545
+ 'css' => array(
546
+ 'selector' => array( '.happyforms-button--submit' ),
547
+ 'attribute' => array( 'background-color' )
548
+ ),
549
+ 'label' => __( 'Background color', 'happyforms' ),
550
+ 'sanitize' => 'sanitize_text_field'
551
+ ),
552
+ 'hf_style_submit_button_bg_hover' => array(
553
+ 'default' => '#999999',
554
+ 'type' => 'color',
555
+ 'css' => array(
556
+ 'selector' => array( '.happyforms-button--submit:hover' ),
557
+ 'attribute' => array( 'background-color' )
558
+ ),
559
+ 'label' => __( 'Background color on hover', 'happyforms' ),
560
+ 'sanitize' => 'sanitize_text_field'
561
+ ),
562
+ 'hf_style_submit_button_bg_transition' => array(
563
+ 'default' => 'none',
564
+ 'type' => 'buttonset',
565
+ 'options' => array(
566
+ 'none' => 'None',
567
+ 'background-color' => 'Fade'
568
+ ),
569
+ 'css' => array(
570
+ 'selector' => array( '.happyforms-button--submit' ),
571
+ 'attribute' => array( 'transition-property' )
572
+ ),
573
+ 'label' => __( 'Smooth background change (transition)', 'happyforms' ),
574
+ 'sanitize' => 'sanitize_text_field'
575
+ ),
576
+ 'hf_style_submit_button_border' => array(
577
+ 'default' => '0',
578
+ 'type' => 'range',
579
+ 'min' => 0,
580
+ 'max' => 10,
581
+ 'css' => array(
582
+ 'selector' => array( '.happyforms-button--submit' ),
583
+ 'attribute' => array( 'border-width' ),
584
+ 'tpl' => '{{ value }}px'
585
+ ),
586
+ 'label' => __( 'Border width (px)', 'happyforms' ),
587
+ 'sanitize' => 'intval'
588
+ ),
589
+ 'hf_style_submit_button_border_color' => array(
590
+ 'default' => '#000000',
591
+ 'type' => 'color',
592
+ 'css' => array(
593
+ 'selector' => array( '.happyforms-button--submit' ),
594
+ 'attribute' => array( 'border-color' )
595
+ ),
596
+ 'label' => __( 'Border color', 'happyforms' ),
597
+ 'sanitize' => 'sanitize_text_field'
598
+ ),
599
+ 'hf_style_submit_button_border_color_hover' => array(
600
+ 'default' => '#999999',
601
+ 'type' => 'color',
602
+ 'css' => array(
603
+ 'selector' => array( '.happyforms-button--submit:hover' ),
604
+ 'attribute' => array( 'border-color' )
605
+ ),
606
+ 'label' => __( 'Border color on hover', 'happyforms' ),
607
+ 'sanitize' => 'sanitize_text_field'
608
+ ),
609
+ 'hf_style_submit_button_border_radius' => array(
610
+ 'default' => 0,
611
+ 'type' => 'range',
612
+ 'min' => 0,
613
+ 'max' => 20,
614
+ 'css' => array(
615
+ 'selector' => array( '.happyforms-button--submit' ),
616
+ 'attribute' => array( 'border-radius' ),
617
+ 'tpl' => '{{ value }}px'
618
+ ),
619
+ 'label' => __( 'Border radius (px)', 'happyforms' ),
620
+ 'sanitize' => 'intval'
621
+ ),
622
+ 'hf_style_submit_button_border_radius_hover' => array(
623
+ 'default' => 0,
624
+ 'type' => 'range',
625
+ 'min' => 0,
626
+ 'max' => 20,
627
+ 'css' => array(
628
+ 'selector' => array( '.happyforms-button--submit:hover' ),
629
+ 'attribute' => array( 'border-radius' ),
630
+ 'tpl' => '{{ value }}px'
631
+ ),
632
+ 'label' => __( 'Border radius on hover (px)', 'happyforms' ),
633
+ 'sanitize' => 'intval'
634
+ ),
635
+ 'hf_style_disable_button_until_required_filled' => array(
636
+ 'default' => 0,
637
+ 'type' => 'checkbox',
638
+ 'label' => __( 'Disable until required fields are filled', 'happyforms' ),
639
+ 'sanitize' => 'happyforms_sanitize_checkbox'
640
+ ),
641
+ 'hf_confirmation_message_title' => array(
642
+ 'type' => 'divider',
643
+ 'html' => '<h2 class="group-title">' . __( 'Confirmation message', 'happyforms' ) . '</h2>'
644
+ ),
645
+ 'hf_style_confirmation_message_font_size' => array(
646
+ 'default' => 16,
647
+ 'type' => 'range',
648
+ 'min' => 0,
649
+ 'max' => 24,
650
+ 'css' => array(
651
+ 'selector' => array( '.happyforms-message-notice.success p, .happyforms-message-notice.error-submission p' ),
652
+ 'attribute' => array( 'font-size' ),
653
+ 'tpl' => '{{ value }}px'
654
+ ),
655
+ 'label' => __( 'Font size (px)', 'happyforms' ),
656
+ 'sanitize' => 'intval'
657
+ ),
658
+ 'hf_style_confirmation_message_color' => array(
659
+ 'default' => '#000000',
660
+ 'type' => 'color',
661
+ 'css' => array(
662
+ 'selector' => array( '.happyforms-message-notice.success p' ),
663
+ 'attribute' => array( 'color' )
664
+ ),
665
+ 'label' => __( 'Text color', 'happyforms' ),
666
+ 'sanitize' => 'sanitize_text_field'
667
+ ),
668
+ 'hf_style_confirmation_message_bg' => array(
669
+ 'default' => '#ffffff',
670
+ 'type' => 'color',
671
+ 'css' => array(
672
+ 'selector' => array( '.happyforms-message-notice' ),
673
+ 'attribute' => array( 'background-color' )
674
+ ),
675
+ 'label' => __( 'Background color', 'happyforms' ),
676
+ 'sanitize' => 'sanitize_text_field'
677
+ ),
678
+ 'hf_style_confirmation_mesage_border' => array(
679
+ 'default' => 3,
680
+ 'type' => 'range',
681
+ 'min' => 0,
682
+ 'max' => 10,
683
+ 'css' => array(
684
+ 'selector' => array( '.happyforms-message-notice' ),
685
+ 'attribute' => array( 'border-radius' ),
686
+ 'tpl' => '{{ value }}px'
687
+ ),
688
+ 'label' => __( 'Border width (px)', 'happyforms' ),
689
+ 'sanitize' => 'intval'
690
+ ),
691
+ 'hf_style_confirmation_mesage_border_color' => array(
692
+ 'default' => '#000000',
693
+ 'type' => 'color',
694
+ 'css' => array(
695
+ 'selector' => array( '.happyforms-message-notice' ),
696
+ 'attribute' => array( 'border-color' )
697
+ ),
698
+ 'label' => __( 'Border color', 'happyforms' ),
699
+ 'sanitize' => 'sanitize_text_field'
700
+ ),
701
+ 'hf_style_confirmation_message_border_radius' => array(
702
+ 'default' => 0,
703
+ 'type' => 'range',
704
+ 'min' => 0,
705
+ 'max' => 20,
706
+ 'css' => array(
707
+ 'selector' => array( '.happyforms-message-notice' ),
708
+ 'attribute' => array( 'border-radius' ),
709
+ 'tpl' => '{{ value }}px'
710
+ ),
711
+ 'label' => __( 'Border radius (px)', 'happyforms' ),
712
+ 'sanitize' => 'intval'
713
+ ),
714
+ );
715
+
716
+ if ( false !== $key && isset( $fields[$key] ) ) {
717
+ return $fields[$key];
718
+ } else {
719
+ return $fields;
720
+ }
721
+ }
722
+
723
+ /**
724
+ * Add fields to form meta.
725
+ *
726
+ * @hooked filter happyforms_fields
727
+ *
728
+ * @since 1.0.0.
729
+ *
730
+ * @return array
731
+ */
732
+ public function add_fields( $fields ) {
733
+ $styles = $this->get_styles();
734
+
735
+ foreach ( $styles as $key => $style ) {
736
+ if ( isset( $style['default'] ) ) {
737
+ $fields['meta'][$key] = array(
738
+ 'default' => $style['default'],
739
+ 'sanitize' => $style['sanitize']
740
+ );
741
+ }
742
+ }
743
+
744
+ return $fields;
745
+ }
746
+
747
+ /**
748
+ * Get default values of style fields.
749
+ *
750
+ * @since 1.0.0.
751
+ *
752
+ * @return array
753
+ */
754
+ public function get_defaults() {
755
+ $defaults = array();
756
+ $fields = $this->get_styles();
757
+
758
+ foreach ( $fields as $field_name => $field_settings ) {
759
+ if ( isset( $field_settings['default'] ) ) {
760
+ $defaults[$field_name] = $field_settings['default'];
761
+ }
762
+ }
763
+
764
+ return $defaults;
765
+ }
766
+
767
+ /**
768
+ * Parse styles from meta.
769
+ *
770
+ * @param array $form Form data.
771
+ *
772
+ * @since 1.0.0.
773
+ *
774
+ * @return array
775
+ */
776
+ public function parse_styles( $form ) {
777
+ $all_styles = $this->get_styles();
778
+ $styles = array();
779
+
780
+ foreach ( $all_styles as $key => $style ) {
781
+ if ( !isset( $form[$key] ) ) {
782
+ continue;
783
+ }
784
+
785
+ if ( !isset( $style['css'] ) ) {
786
+ continue;
787
+ }
788
+
789
+ if ( $form[$key] === $style['default'] && !isset( $style['force'] ) ) {
790
+ continue;
791
+ }
792
+
793
+ $attribute = $style['css']['attribute'];
794
+
795
+ if ( is_array( $attribute ) ) {
796
+ $value = ( isset( $style['css']['value'] ) ) ? $style['css']['value'] : '';
797
+
798
+ foreach( $attribute as $attr_key => $attr ) {
799
+ $data = array();
800
+ $data[$attr] = array();
801
+
802
+ if ( isset( $value ) && is_array( $value ) ) {
803
+ $value = $value[intval( $form[$key] )];
804
+ } else {
805
+ $value = $form[$key];
806
+ }
807
+
808
+ if ( !empty( $value ) ) {
809
+ if ( isset( $style['css']['tpl'] ) ) {
810
+ $value = str_replace( '{{ value }}', $value, $style['css']['tpl'] );
811
+ }
812
+
813
+ $data[$attr] = $value;
814
+
815
+ $selector = $style['css']['selector'][$attr_key];
816
+
817
+ if ( !empty( $value ) ) {
818
+ if ( !isset( $styles[$selector] ) ) {
819
+ $styles[$selector] = $data;
820
+ } else {
821
+ if ( $attr_key > 0 ) {
822
+ $styles[$selector[$attr_key]][$attr] = $value;
823
+ } else {
824
+ $styles[$selector][$attr] = $value;
825
+ }
826
+ }
827
+ }
828
+ }
829
+ }
830
+ }
831
+ }
832
+
833
+ return $styles;
834
+ }
835
+
836
+ /**
837
+ * Print styles.
838
+ *
839
+ * @param array $form Form data.
840
+ *
841
+ * @since 1.0.0.
842
+ *
843
+ * @return string
844
+ */
845
+ public function print_css( $form ) {
846
+ $styles = $this->parse_styles( $form );
847
+
848
+ $id_selector = '#happyforms-' . $form['ID'];
849
+
850
+ $output = '<!-- begin HappyForms CSS --> <style type="text/css">';
851
+
852
+ foreach ( $styles as $selector => $style ) {
853
+ $selector = $id_selector . ' ' . $selector;
854
+
855
+ $selector = str_replace( ',', ', ' . $id_selector, $selector );
856
+
857
+ $output .= ' ' . $selector . ' { ';
858
+
859
+ foreach ( $style as $attr => $value ) {
860
+ $output .= $attr . ': ' . $value . '; ';
861
+ }
862
+
863
+ $output .= '}';
864
+ }
865
+
866
+ $output .= '</style><!-- end HappyForms CSS -->';
867
+
868
+ echo $output;
869
+ }
870
+
871
+ /**
872
+ * Load styles.
873
+ *
874
+ * @hooked action wp_ajax_happyforms_load_styles
875
+ *
876
+ * @since 1.0.0.
877
+ *
878
+ * @return string
879
+ */
880
+ public function load_styles() {
881
+ $form = $_POST['form'];
882
+
883
+ $css = $this->print_css( $form );
884
+
885
+ echo $css;
886
+
887
+ wp_die();
888
+ }
889
+
890
+ }
891
+
892
+ if ( ! function_exists( 'happyforms_get_styles' ) ):
893
+
894
+ function happyforms_get_styles() {
895
+ return HappyForms_Form_Styles::instance();
896
+ }
897
+
898
+ endif;
899
+
900
+ happyforms_get_styles();
inc/classes/class-happyforms-plugin.php ADDED
@@ -0,0 +1,491 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Plugin {
4
+
5
+ /**
6
+ * The parameter key used to connotate
7
+ * HappyForms Customize screen sessions.
8
+ *
9
+ * @since 1.0
10
+ *
11
+ * @var string
12
+ */
13
+ private $customize_mode = 'happyforms';
14
+
15
+ /**
16
+ * The form shortcode name.
17
+ *
18
+ * @since 1.0
19
+ *
20
+ * @var string
21
+ */
22
+ private $shortcode = 'happyforms';
23
+
24
+ /**
25
+ * URL of plugin landing page.
26
+ *
27
+ * @since 1.0
28
+ *
29
+ * @var string
30
+ */
31
+ private $landing_page_url = 'https://www.happyforms.me';
32
+
33
+ /**
34
+ * Action: initialize admin and frontend logic.
35
+ *
36
+ * @since 1.0
37
+ *
38
+ * @hooked action plugins_loaded
39
+ *
40
+ * @return void
41
+ */
42
+ public function initialize_plugin() {
43
+ if ( is_admin() ) {
44
+ require_once( happyforms_get_include_folder() . '/classes/class-admin-notices.php' );
45
+ require_once( happyforms_get_include_folder() . '/classes/class-tracking.php' );
46
+ }
47
+
48
+ require_once( happyforms_get_include_folder() . '/classes/class-form-controller.php' );
49
+ require_once( happyforms_get_include_folder() . '/classes/class-message-controller.php' );
50
+ require_once( happyforms_get_include_folder() . '/classes/class-form-part-library.php' );
51
+ require_once( happyforms_get_include_folder() . '/classes/class-form-styles.php' );
52
+ require_once( happyforms_get_include_folder() . '/classes/class-message-notices.php' );
53
+ require_once( happyforms_get_include_folder() . '/helpers/helper-misc.php' );
54
+ require_once( happyforms_get_include_folder() . '/classes/class-happyforms-widget.php' );
55
+
56
+ if ( ! is_admin() ) {
57
+ require_once( happyforms_get_include_folder() . '/helpers/helper-form-templates.php' );
58
+ }
59
+
60
+ // Admin hooks
61
+ add_action( 'admin_menu', array( $this, 'admin_menu' ) );
62
+ add_action( 'admin_bar_menu', array( $this, 'admin_bar_menu' ), 80 );
63
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
64
+ add_action( 'current_screen', array( $this, 'admin_screens' ) );
65
+ add_filter( 'mce_external_plugins', array( $this, 'tinymce_register_plugins' ) );
66
+ add_filter( 'mce_buttons', array( $this, 'tinymce_register_button' ) );
67
+
68
+ // Widget
69
+ add_action( 'widgets_init', array( $this, 'register_widget' ) );
70
+
71
+ // Common hooks
72
+ add_action( 'template_redirect', array( $this, 'set_customize_preview_content' ) );
73
+ add_shortcode( $this->shortcode, array( $this, 'handle_shortcode' ) );
74
+ add_action( 'wp_head', array( $this, 'wp_head' ) );
75
+ add_action( 'wp_enqueue_scripts', array( $this, 'wp_enqueue_scripts' ) );
76
+ }
77
+
78
+ /**
79
+ * Action: initialize Customize screen logic.
80
+ *
81
+ * @since 1.0
82
+ *
83
+ * @hooked action customize_loaded_components
84
+ *
85
+ * @param array $components Array of standard Customize components.
86
+ *
87
+ * @return array
88
+ */
89
+ public function initialize_customize_screen( $components ) {
90
+ /*
91
+ * See "Resetting the Customizer to a Blank Slate"
92
+ * https://make.xwp.co/2016/09/11/resetting-the-customizer-to-a-blank-slate/
93
+ * https://github.com/xwp/wp-customizer-blank-slate
94
+ */
95
+
96
+ // Initialize our customize screen if we're in HappyForms mode.
97
+ if ( ! $this->is_customize_mode() ) {
98
+ return $components;
99
+ }
100
+
101
+ require_once( happyforms_get_include_folder() . '/classes/class-wp-customize-form-manager.php' );
102
+ require_once( happyforms_get_include_folder() . '/helpers/helper-validation.php' );
103
+ require_once( happyforms_get_include_folder() . '/helpers/helper-customize-templates.php' );
104
+
105
+ $this->customize = new HappyForms_WP_Customize_Form_Manager();
106
+
107
+ // Short-circuit widgets, nav-menus, etc from loading.
108
+ return array();
109
+ }
110
+
111
+ /**
112
+ * Action: register admin menus.
113
+ *
114
+ * @since 1.0
115
+ *
116
+ * @hooked action admin_menu
117
+ *
118
+ * @return void
119
+ */
120
+ public function admin_menu() {
121
+ add_menu_page(
122
+ __( 'HappyForms Index', 'happyforms' ),
123
+ __( 'HappyForms', 'happyforms' ),
124
+ 'manage_options',
125
+ 'happyforms',
126
+ array( $this, 'happyforms_page_index' ),
127
+ happyforms_smiley( true ),
128
+ 50
129
+ );
130
+
131
+ add_submenu_page(
132
+ 'happyforms',
133
+ __( 'All Forms', 'happyforms' ),
134
+ __( 'All Forms', 'happyforms' ),
135
+ 'manage_options',
136
+ '/edit.php?post_type=happyform'
137
+ );
138
+
139
+ add_submenu_page(
140
+ 'happyforms',
141
+ __( 'Add New', 'happyforms' ),
142
+ __( 'Add New', 'happyforms' ),
143
+ 'manage_options',
144
+ happyforms_get_form_edit_link( 0 )
145
+ );
146
+
147
+ add_submenu_page(
148
+ 'happyforms',
149
+ __( 'Messages', 'happyforms' ),
150
+ __( 'Messages', 'happyforms' ),
151
+ 'manage_options',
152
+ '/edit.php?post_type=happyforms-message'
153
+ );
154
+
155
+ $tracking = happyforms_get_tracking();
156
+ $status = $tracking->get_status();
157
+
158
+ if ( 4 > $status['status'] ) {
159
+ add_submenu_page(
160
+ 'happyforms',
161
+ __( 'Welcome', 'happyforms' ),
162
+ __( 'Welcome', 'happyforms' ),
163
+ 'manage_options',
164
+ 'happyforms-welcome',
165
+ array( happyforms_get_tracking(), 'settings_page' )
166
+ );
167
+ }
168
+
169
+ // Remove first duplicate submenu link
170
+ remove_submenu_page( 'happyforms', 'happyforms' );
171
+ }
172
+
173
+ /**
174
+ * Action: enqueue scripts and styles for the admin.
175
+ *
176
+ * @since 1.0
177
+ *
178
+ * @hooked action admin_enqueue_scripts
179
+ *
180
+ * @return void
181
+ */
182
+ public function admin_enqueue_scripts() {
183
+ wp_enqueue_style(
184
+ 'happyforms-admin',
185
+ happyforms_get_plugin_url() . 'assets/css/admin.css'
186
+ );
187
+
188
+ wp_enqueue_script(
189
+ 'happyforms-script',
190
+ happyforms_get_plugin_url() . 'assets/js/happyforms.js',
191
+ '',
192
+ '',
193
+ true
194
+ );
195
+
196
+ $form_data = $this->get_form_data_array();
197
+
198
+ wp_localize_script(
199
+ 'happyforms-script',
200
+ 'happyFormsData',
201
+ $form_data
202
+ );
203
+ }
204
+
205
+ /**
206
+ * Action: include custom admin screens
207
+ * for the Form and Message post types.
208
+ *
209
+ * @since 1.0
210
+ *
211
+ * @hooked action current_screen
212
+ *
213
+ * @return void
214
+ */
215
+ public function admin_screens() {
216
+ global $pagenow;
217
+
218
+ $form_post_type = happyforms_get_form_controller()->post_type;
219
+ $message_post_type = happyforms_get_message_controller()->post_type;
220
+ $current_post_type = get_current_screen()->post_type;
221
+
222
+ if ( in_array( $pagenow, array( 'edit.php', 'post.php' ) )
223
+ && in_array( $current_post_type, array( $form_post_type, $message_post_type ) ) ) {
224
+
225
+ switch( $current_post_type ) {
226
+ case $form_post_type:
227
+ require_once( happyforms_get_include_folder() . '/classes/class-form-admin.php' );
228
+ break;
229
+ case $message_post_type:
230
+ require_once( happyforms_get_include_folder() . '/classes/class-message-admin.php' );
231
+ break;
232
+ }
233
+ }
234
+ }
235
+
236
+ /**
237
+ * Get basic info about the form being currently edited.
238
+ *
239
+ * @since 1.0
240
+ *
241
+ * @return array
242
+ */
243
+ private function get_form_data_array() {
244
+ $forms = happyforms_get_form_controller()->get();
245
+ $form_data = array();
246
+
247
+ foreach ( $forms as $form ) {
248
+ array_push( $form_data, array( 'id' => $form['ID'], 'title' => $form['post_title'] ) );
249
+ }
250
+
251
+ return $form_data;
252
+ }
253
+
254
+ /**
255
+ * Action: add a HappyForms menu to the admin bar.
256
+ *
257
+ * @since 1.0
258
+ *
259
+ * @hooked action admin_bar_menu
260
+ *
261
+ * @return void
262
+ */
263
+ public function admin_bar_menu( $wp_admin_bar ) {
264
+ $smiley = sprintf(
265
+ '<span class="ab-icon">%s</span>',
266
+ happyforms_smiley()
267
+ );
268
+
269
+ $wp_admin_bar->add_node( array(
270
+ 'id' => 'happyforms',
271
+ 'title' => $smiley . __( 'HappyForms', 'happyforms' ),
272
+ 'href' => admin_url( '/customize.php?happyforms=1' ),
273
+ 'meta' => array(
274
+ 'target' => '_self',
275
+ 'title' => __( 'HappyForms', 'happyforms' ),
276
+ 'class' => 'happyforms-admin-bar-link',
277
+ ),
278
+ ) );
279
+
280
+ $wp_admin_bar->add_node( array(
281
+ 'id' => 'happyforms-forms',
282
+ 'parent' => 'happyforms',
283
+ 'title' => __( 'All Forms', 'happyforms' ),
284
+ 'href' => admin_url( '/edit.php?post_type=happyform' ),
285
+ 'meta' => array(
286
+ 'target' => '_self',
287
+ 'title' => __( 'All Forms', 'happyforms' )
288
+ ),
289
+ ) );
290
+
291
+ $wp_admin_bar->add_node( array(
292
+ 'id' => 'happyforms-form-new',
293
+ 'parent' => 'happyforms',
294
+ 'title' => __( 'Add New', 'happyforms' ),
295
+ 'href' => happyforms_get_form_edit_link( 0 ),
296
+ 'meta' => array(
297
+ 'target' => '_self',
298
+ 'title' => __( 'Build Form', 'happyforms' ),
299
+ ),
300
+ ) );
301
+
302
+ $wp_admin_bar->add_node( array(
303
+ 'id' => 'happyforms-messages',
304
+ 'parent' => 'happyforms',
305
+ 'title' => __( 'Messages', 'happyforms' ),
306
+ 'href' => admin_url( '/edit.php?post_type=happyforms-message' ),
307
+ 'meta' => array(
308
+ 'target' => '_self',
309
+ 'title' => __( 'Messages', 'happyforms' ),
310
+ ),
311
+ ) );
312
+ }
313
+
314
+ /**
315
+ * Return whether or not we're running
316
+ * the Customize screen in HappyForms mode.
317
+ *
318
+ * @since 1.0
319
+ *
320
+ * @return boolean
321
+ */
322
+ private function is_customize_mode() {
323
+ return (
324
+ isset( $_REQUEST['happyforms'] )
325
+ && ! empty( $_REQUEST['happyforms'] )
326
+ && isset( $_REQUEST['form_id'] )
327
+ );
328
+ }
329
+
330
+ /**
331
+ * Action: inject the form template to be used
332
+ * in Customize screen previews.
333
+ *
334
+ * @since 1.0
335
+ *
336
+ * @hooked action template_redirect
337
+ *
338
+ * @return void
339
+ */
340
+ public function set_customize_preview_content() {
341
+ if ( is_customize_preview() && isset( $_GET['happyformsNewForm'] ) ) {
342
+ return require_once( happyforms_get_include_folder() . '/templates/preview-form-new.php' );
343
+ }
344
+ }
345
+
346
+ /**
347
+ * Filter: register the form dropdown plugin
348
+ * for the post content editor.
349
+ *
350
+ * @since 1.0
351
+ *
352
+ * @hooked filter mce_external_plugins
353
+ *
354
+ * @param array $plugins The currently registered plugins.
355
+ *
356
+ * @return array
357
+ */
358
+ public function tinymce_register_plugins( $plugins ) {
359
+ $plugins['happyforms_form_picker'] = happyforms_get_plugin_url() . 'assets/js/tinymce/form-picker.js';
360
+
361
+ return $plugins;
362
+ }
363
+
364
+ /**
365
+ * Filter: register the form dropdown button
366
+ * for he post content editor toolbar.
367
+ *
368
+ * @since 1.0
369
+ *
370
+ * @hooked filter mce_buttons
371
+ *
372
+ * @param array $buttons The currently registered buttons.
373
+ *
374
+ * @return array
375
+ */
376
+ public function tinymce_register_button( $buttons ) {
377
+ $buttons[] = 'happyforms_form_picker';
378
+
379
+ return $buttons;
380
+ }
381
+
382
+ /**
383
+ * Render the HappyForms shortcode.
384
+ *
385
+ * @since 1.0
386
+ *
387
+ * @param array $attrs The shortcode attributes.
388
+ *
389
+ * @return string
390
+ */
391
+ public function handle_shortcode( $attrs ) {
392
+ $form_id = intval( $attrs['id'] );
393
+ $form_controller = happyforms_get_form_controller();
394
+ $form = $form_controller->get( $form_id );
395
+ $output = $form_controller->render( $form );
396
+
397
+ return $output;
398
+ }
399
+
400
+ /**
401
+ * Action: output scripts and styles for the forms
402
+ * embedded into the current post.
403
+ *
404
+ * @since 1.0
405
+ *
406
+ * @hooked action wp_head
407
+ *
408
+ * @return void
409
+ */
410
+ public function wp_head() {
411
+ global $post;
412
+
413
+ if ( is_a( $post, 'WP_Post' ) && has_shortcode( $post->post_content, $this->shortcode ) ) {
414
+ $pattern = get_shortcode_regex();
415
+
416
+ if ( preg_match_all( "/{$pattern}/s", $post->post_content, $matches )
417
+ && array_key_exists( 2, $matches )
418
+ && in_array( $this->shortcode, $matches[2] ) ) {
419
+
420
+ $shortcodes = $matches[0];
421
+ $form_controller = happyforms_get_form_controller();
422
+
423
+ foreach ( $shortcodes as $shortcode ) {
424
+ $attrs = shortcode_parse_atts( $shortcode );
425
+ $form_id = $attrs['id'];
426
+ $form = $form_controller->get( $form_id );
427
+ $form_controller->header_scripts( $form );
428
+ }
429
+ }
430
+ }
431
+ }
432
+
433
+ /**
434
+ * Action: enqueue scripts and styles
435
+ * for the frontend part of the plugin.
436
+ *
437
+ * @since 1.0
438
+ *
439
+ * @hooked action wp_enqueue_scripts
440
+ *
441
+ * @return void
442
+ */
443
+ public function wp_enqueue_scripts() {
444
+ wp_enqueue_script(
445
+ 'happyforms-frontend',
446
+ happyforms_get_plugin_url() . 'assets/js/frontend.js',
447
+ array( 'jquery' ),
448
+ false,
449
+ true
450
+ );
451
+
452
+ wp_enqueue_style(
453
+ 'happyform-frontend',
454
+ happyforms_get_plugin_url() . 'assets/css/frontend.css'
455
+ );
456
+ }
457
+
458
+ /**
459
+ * Action: register the HappyForms widget.
460
+ *
461
+ * @since 1.0
462
+ *
463
+ * @hooked action widgets_init
464
+ *
465
+ * @return void
466
+ */
467
+ public function register_widget() {
468
+ register_widget( 'HappyForms_Widget' );
469
+ }
470
+
471
+ }
472
+
473
+ if ( ! function_exists( 'HappyForms' ) ):
474
+ /**
475
+ * Get the global HappyForms class.
476
+ *
477
+ * @since 1.0
478
+ *
479
+ * @return HappyForms_Plugin
480
+ */
481
+ function HappyForms() {
482
+ global $happyForms;
483
+
484
+ if ( is_null( $happyForms ) ) {
485
+ $happyForms = new HappyForms_Plugin();
486
+ }
487
+
488
+ return $happyForms;
489
+ }
490
+
491
+ endif;
inc/classes/class-happyforms-widget.php ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class HappyForms_Widget extends WP_Widget {
3
+
4
+ /**
5
+ * Widget constructor.
6
+ *
7
+ * @since 1.0
8
+ *
9
+ */
10
+ function __construct() {
11
+ parent::__construct(
12
+ 'happyforms_widget',
13
+ __( 'HappyForms', 'happyforms' ),
14
+ array(
15
+ 'description' => __( 'Easily add your HappyForms to widget areas.', 'happyforms' )
16
+ )
17
+ );
18
+ }
19
+
20
+ /**
21
+ * Render the widget.
22
+ *
23
+ * @since 1.0
24
+ *
25
+ * @param array $args The widget configuration.
26
+ * @param array $instance The widget instance attributes.
27
+ *
28
+ */
29
+ public function widget( $args, $instance ) {
30
+ $title = apply_filters( 'widget_title', $instance[ 'title' ] );
31
+ $form_id = $instance[ 'form_id' ];
32
+
33
+ echo $args[ 'before_widget' ];
34
+
35
+ if ( !empty( $title ) ) {
36
+ echo $args[ 'before_title' ] . $title . $args[ 'after_title' ];
37
+ }
38
+
39
+ if ( !empty( $form_id ) && intval( $form_id ) ) {
40
+ echo do_shortcode( '[happyforms id="'. $form_id .'"]' );
41
+ }
42
+
43
+ echo $args[ 'after_widget' ];
44
+ }
45
+
46
+ /**
47
+ * Render the configuration form.
48
+ *
49
+ * @since 1.0
50
+ *
51
+ * @param array $instance The widget instance data.
52
+ *
53
+ * @return void
54
+ */
55
+ public function form( $instance ) {
56
+ $title = '';
57
+ $form_value = '';
58
+
59
+ if ( isset( $instance['title'] ) ) {
60
+ $title = $instance['title'];
61
+ }
62
+
63
+ if ( isset( $instance['form_id'] ) ) {
64
+ $form_value = $instance['form_id'];
65
+ }
66
+ ?>
67
+ <p>
68
+ <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'happyforms' ); ?></label>
69
+ <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
70
+ </p>
71
+ <p>
72
+ <label for="<?php echo $this->get_field_id( 'form_id' ); ?>"><?php _e( 'Form:', 'happyforms' ); ?></label>
73
+ <select class="widefat" id="<?php echo $this->get_field_id( 'form_id' ); ?>" name="<?php echo $this->get_field_name( 'form_id' ); ?>">
74
+ <?php
75
+ $forms = happyforms_get_form_controller()->get();
76
+
77
+ foreach ( $forms as $form ) {
78
+ echo '<option value="'. $form['ID'] .'" '. selected( $form_value == $form['ID'] ) .'">'. $form['post_title'] .'</option>';
79
+ }
80
+ ?>
81
+ </select>
82
+ </p>
83
+ <?php
84
+ }
85
+
86
+ /**
87
+ * Update the widget attributes.
88
+ *
89
+ * @since 1.0
90
+ *
91
+ * @param array $old Previous widget instance attributes.
92
+ * @param array $new New widget instance attributes.
93
+ *
94
+ * @return array
95
+ *
96
+ */
97
+ public function update( $new, $old ) {
98
+ $instance = array();
99
+ $instance['title'] = ( !empty( $new[ 'title' ] ) ) ? esc_attr( $new[ 'title' ] ) : '';
100
+ $instance['form_id'] = ( !empty( $new[ 'form_id' ] ) ) ? intval( $new[ 'form_id' ] ) : '';
101
+
102
+ return $instance;
103
+ }
104
+ }
inc/classes/class-message-admin.php ADDED
@@ -0,0 +1,669 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Message_Admin {
4
+
5
+ /**
6
+ * The singleton instance.
7
+ *
8
+ * @since 1.0
9
+ *
10
+ * @var HappyForms_Message_Admin
11
+ */
12
+ private static $instance;
13
+
14
+ /**
15
+ * The form the form filter is pointing to.
16
+ *
17
+ * @since 1.0
18
+ *
19
+ * @var array
20
+ */
21
+ private $current_form;
22
+
23
+ /**
24
+ * The IDs of the forms the form filter is pointing to.
25
+ *
26
+ * @since 1.0
27
+ *
28
+ * @var array
29
+ */
30
+ private $current_form_ids = array();
31
+
32
+ /**
33
+ * The name of the Column Count option in the
34
+ * Screen Options tab.
35
+ *
36
+ * @since 1.0
37
+ *
38
+ * @var string
39
+ */
40
+ private $column_count_option = 'happyforms-message-admin-col-count';
41
+
42
+ /**
43
+ * The default value of the Column Count option.
44
+ *
45
+ * @since 1.0
46
+ *
47
+ * @var int
48
+ */
49
+ private $column_count = 1;
50
+
51
+ /**
52
+ * The singleton constructor.
53
+ *
54
+ * @since 1.0
55
+ *
56
+ * @return HappyForms_Message_Admin
57
+ */
58
+ public static function instance() {
59
+ if ( is_null( self::$instance ) ) {
60
+ self::$instance = new self();
61
+ }
62
+
63
+ self::$instance->hook();
64
+
65
+ return self::$instance;
66
+ }
67
+
68
+ /**
69
+ * Register hooks.
70
+ *
71
+ * @since 1.0
72
+ *
73
+ * @return void
74
+ */
75
+ public function hook() {
76
+ $post_type = happyforms_get_message_controller()->post_type;
77
+
78
+ add_action( 'parse_request', array( $this, 'parse_request' ) );
79
+ add_action( 'admin_head', array( $this, 'admin_head' ) );
80
+ add_filter( 'post_updated_messages', array( $this, 'post_updated_messages' ) );
81
+ add_filter( 'bulk_post_updated_messages', array( $this, 'bulk_post_updated_messages' ), 10, 2 );
82
+ add_action( 'load-edit.php', array( $this, 'define_screen_settings' ) );
83
+ add_filter( 'screen_settings', array( $this, 'render_screen_settings' ), 10, 2 );
84
+ add_filter( 'the_title', array( $this, 'filter_row_title' ), 10, 2 );
85
+ add_filter( "manage_{$post_type}_posts_columns", array( $this, 'column_headers' ) );
86
+ add_action( "manage_{$post_type}_posts_custom_column", array( $this, 'column_content' ), 10, 2 );
87
+ add_filter( 'post_date_column_status', array( $this, 'post_date_column_status' ) );
88
+ add_filter( 'post_class', array( $this, 'post_class' ), 10, 3 );
89
+ add_action( 'restrict_manage_posts', array( $this, 'restrict_manage_posts' ) );
90
+ add_filter( 'parse_query', array( $this, 'parse_query' ) );
91
+ add_filter( "bulk_actions-edit-{$post_type}", array( $this, 'bulk_actions' ) );
92
+ add_filter( "handle_bulk_actions-edit-{$post_type}", array( $this, 'handle_bulk_actions' ), 10, 3 );
93
+ add_filter( 'post_row_actions', array( $this, 'row_actions' ), 10, 2 );
94
+ add_action( 'edit_form_after_title', array( $this, 'edit_screen' ) );
95
+ add_filter( 'admin_footer_text', 'happyforms_admin_footer' );
96
+ }
97
+
98
+ /**
99
+ * Action: set the current form and form ids
100
+ * depending on the value of the form filter.
101
+ *
102
+ * @since 1.0
103
+ *
104
+ * @hooked action parse_request
105
+ *
106
+ * @return void
107
+ */
108
+ public function parse_request() {
109
+ $form_id = isset( $_GET['form_id'] ) ? intval( $_GET['form_id'] ) : 0;
110
+
111
+ if ( $form_id ) {
112
+ $this->current_form = happyforms_get_form_controller()->get( $form_id );
113
+ $this->current_form_ids = array( $form_id );
114
+ } else {
115
+ $this->current_form_ids = happyforms_get_form_controller()->get( array(), true );
116
+ }
117
+ }
118
+
119
+ /**
120
+ * Action: output styles in the admin header of the Messages screen.
121
+ *
122
+ * @since 1.0
123
+ *
124
+ * @hooked action admin_head
125
+ *
126
+ * @return void
127
+ */
128
+ public function admin_head() {
129
+ global $pagenow;
130
+ $post_type = happyforms_get_message_controller()->post_type;
131
+
132
+ if ( 'edit.php' === $pagenow && $post_type === get_post_type() ) : ?>
133
+ <style>
134
+ fieldset:not(.screen-options) {
135
+ display: none;
136
+ }
137
+ </style>
138
+ <?php endif;
139
+ }
140
+
141
+ /**
142
+ * Filter: tweak the text of the message post actions admin notices.
143
+ *
144
+ * @since 1.0
145
+ *
146
+ * @hooked filter post_updated_messages
147
+ *
148
+ * @param array $messages The messages configuration.
149
+ *
150
+ * @return array
151
+ */
152
+ public function post_updated_messages( $messages ) {
153
+ $post_type = happyforms_get_message_controller()->post_type;
154
+ $permalink = get_permalink();
155
+ $preview_url = get_preview_post_link();
156
+ $view_form_link_html = sprintf(
157
+ ' <a href="%1$s">%2$s</a>',
158
+ esc_url( $permalink ),
159
+ __( 'View message' )
160
+ );
161
+ $preview_post_link_html = sprintf(
162
+ ' <a target="_blank" href="%1$s">%2$s</a>',
163
+ esc_url( $preview_url ),
164
+ __( 'Preview message' )
165
+ );
166
+
167
+ $messages[$post_type] = array(
168
+ '',
169
+ __( 'Message updated.' ) . $view_form_link_html,
170
+ __( 'Custom field updated.' ),
171
+ __( 'Custom field deleted.' ),
172
+ __( 'Message updated.' ),
173
+ isset($_GET['revision']) ? sprintf( __( 'Message restored to revision from %s.' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
174
+ __( 'Message published.' ) . $view_form_link_html,
175
+ __( 'Message saved.' ),
176
+ __( 'Message submitted.' ),
177
+ __( 'Message scheduled.' ),
178
+ __( 'Message draft updated.' ) . $preview_post_link_html,
179
+ );
180
+
181
+ return $messages;
182
+ }
183
+
184
+ /**
185
+ * Filter: tweak the text of the message post
186
+ * bulk actions admin notices.
187
+ *
188
+ * @since 1.0
189
+ *
190
+ * @hooked filter bulk_post_updated_messages
191
+ *
192
+ * @param array $messages The messages configuration.
193
+ * @param int $count The amount of posts for each bulk action.
194
+ *
195
+ * @return array
196
+ */
197
+ public function bulk_post_updated_messages( $messages, $count ) {
198
+ $post_type = happyforms_get_message_controller()->post_type;
199
+
200
+ $messages[$post_type] = array(
201
+ 'updated' => _n( '%s message updated.', '%s messages updated.', $count['updated'] ),
202
+ 'locked' => _n( '%s message not updated, somebody is editing it.', '%s messages not updated, somebody is editing them.', $count['locked'] ),
203
+ 'deleted' => _n( '%s message permanently deleted.', '%s messages permanently deleted.', $count['deleted'] ),
204
+ 'trashed' => _n( '%s message moved to the Trash.', '%s messages moved to the Trash.', $count['trashed'] ),
205
+ 'untrashed' => _n( '%s message restored from the Trash.', '%s messages restored from the Trash.', $count['untrashed'] ),
206
+ );
207
+
208
+ return $messages;
209
+ }
210
+
211
+ /**
212
+ * Action: configure additional options for the Screen Options tab.
213
+ *
214
+ * @since 1.0
215
+ *
216
+ * @hooked action load-edit.php
217
+ *
218
+ * @return void
219
+ */
220
+ public function define_screen_settings() {
221
+ if ( isset( $_REQUEST[$this->column_count_option] ) ) {
222
+ $column_count = max( intval( $_REQUEST[$this->column_count_option] ), 1 );
223
+ update_user_meta( get_current_user_id(), $this->column_count_option, $column_count );
224
+ }
225
+
226
+ $column_count = get_user_meta( get_current_user_id(), $this->column_count_option, true );
227
+ $this->column_count = max( intval( $column_count ), 1 );
228
+ $screen = get_current_screen();
229
+ $args = array(
230
+ 'label' => __( 'Number of columns' ),
231
+ 'default' => 3,
232
+ 'option' => $this->column_count_option,
233
+ );
234
+
235
+ $screen->add_option( $this->column_count_option, $args );
236
+ }
237
+
238
+ /**
239
+ * Filter: output additional options in the Screen Options tab.
240
+ *
241
+ * @since 1.0
242
+ *
243
+ * @hooked filter screen_settings
244
+ *
245
+ * @param array $settings The currently configured options.
246
+ * @param WP_Screen $count The current screen object.
247
+ *
248
+ * @return void
249
+ */
250
+ public function render_screen_settings( $settings, $screen ) {
251
+ ob_start(); ?>
252
+ <fieldset class="screen-options">
253
+ <legend><?php _e( 'Fields' ); ?></legend>
254
+ <label for=""><?php _e( 'Number of message fields to show:' ); ?></label>
255
+ <input type="number" min="1" max="99" maxlength="2" name="<?php echo $this->column_count_option; ?>" value="<?php echo esc_attr( $this->column_count ); ?>">
256
+ <input type="hidden" name="wp_screen_options[option]" value="<?php echo $this->column_count_option; ?>">
257
+ <input type="hidden" name="wp_screen_options[value]" value="1">
258
+ </fieldset>
259
+ <?php
260
+ return ob_get_clean();
261
+ }
262
+
263
+ /**
264
+ * Filter: filter the column headers for the
265
+ * All Messages admin screen table.
266
+ *
267
+ * @since 1.0
268
+ *
269
+ * @hooked filter manage_happyforms-message_posts_columns
270
+ *
271
+ * @param array $columns The original table headers.
272
+ *
273
+ * @return array The filtered table headers.
274
+ */
275
+ public function column_headers( $columns ) {
276
+ unset( $columns['title'] );
277
+
278
+ $date_column = $columns['date'];
279
+ unset( $columns['date'] );
280
+
281
+ $forms = happyforms_get_form_controller()->get();
282
+ $part_lists = wp_list_pluck( $forms, 'parts' );
283
+ $part_counts = array_map( 'count', $part_lists );
284
+ $max_column_count = min( max( $part_counts ), $this->column_count );
285
+
286
+ for ( $column = 0; $column < $max_column_count; $column ++ ) {
287
+ $header = "column_{$column}";
288
+ $columns[$header] = '';
289
+ }
290
+
291
+ $columns['form'] = __( 'Form', 'happyforms' );
292
+ $columns = $columns + array( 'date' => $date_column );
293
+
294
+ if ( ! $this->current_form || empty( $this->current_form['parts'] ) ) {
295
+ return $columns;
296
+ }
297
+
298
+ for ( $column = 0; $column < $this->column_count; $column ++ ) {
299
+ if ( $column < count( $this->current_form['parts'] ) ) {
300
+ $header = "column_{$column}";
301
+ $columns[$header] = $this->current_form['parts'][$column]['label'];
302
+ }
303
+ }
304
+
305
+ return $columns;
306
+ }
307
+
308
+ /**
309
+ * Filter: output the columns content for the
310
+ * All Messages admin screen table.
311
+ *
312
+ * @since 1.0
313
+ *
314
+ * @hooked filter manage_happyforms-message_posts_custom_column
315
+ *
316
+ * @param array $column The current column header.
317
+ * @param int|string $id The current message post object ID.
318
+ *
319
+ * @return void
320
+ */
321
+ public function column_content( $column, $id ) {
322
+ $message = happyforms_get_message_controller()->get( $id );
323
+ $form = happyforms_get_form_controller()->get( $message['form_id'] );
324
+
325
+ switch( $column ) {
326
+ case 'form':
327
+ if ( $form ) {
328
+ $link = sprintf(
329
+ '<a href="%s">%s</a>',
330
+ happyforms_get_form_edit_link( $form['ID'] ),
331
+ $form['post_title']
332
+ );
333
+ echo $link;
334
+ }
335
+ break;
336
+
337
+ case 'date_only':
338
+ echo get_the_date( 'Y/m/d', $id );
339
+ break;
340
+
341
+ default:
342
+ if ( $form ) {
343
+ $column_index = preg_match( '/column_(\d+)?/', $column, $matches );
344
+
345
+ if ( $column_index ) {
346
+ $column_index = intval( $matches[1] );
347
+ }
348
+
349
+ if ( count( $form['parts'] ) > $column_index ) {
350
+ $content = get_post_meta( $id, $form['parts'][$column_index]['id'], true );
351
+ $content = happyforms_get_message_part_value( $content );
352
+ echo $content;
353
+ }
354
+ }
355
+
356
+ break;
357
+ }
358
+ }
359
+
360
+ /**
361
+ * Filter: silence the standard date column content.
362
+ *
363
+ * @since 1.0
364
+ *
365
+ * @hooked filter post_date_column_status
366
+ *
367
+ * @return void
368
+ */
369
+ public function post_date_column_status() {
370
+ return '';
371
+ }
372
+
373
+ /**
374
+ * Filter: add custom HTML classes to message entries
375
+ * in the All Form admin screen table to represent
376
+ * read/unread status.
377
+ *
378
+ * @since 1.0
379
+ *
380
+ * @hooked filter post_date_column_status
381
+ *
382
+ * @param array $class Array of post classes.
383
+ * @param array $classes Array of additional post classes.
384
+ * @param int|string $id The message post object ID.
385
+ *
386
+ * @return array
387
+ */
388
+ public function post_class( $class, $classes, $id ) {
389
+ $message = happyforms_get_message_controller()->get( $id );
390
+
391
+ if ( ! $message['read'] ) {
392
+ $classes[] = 'happyforms-message-unread';
393
+ }
394
+
395
+ return $classes;
396
+ }
397
+
398
+ /**
399
+ * Filter: tweak the Title column content in the
400
+ * All Messages admin screen table.
401
+ *
402
+ * @since 1.0
403
+ *
404
+ * @hooked filter the_title
405
+ *
406
+ * @param string $title The current post object title.
407
+ * @param int $id The message post object ID.
408
+ *
409
+ * @return string
410
+ */
411
+ public function filter_row_title( $title, $id ) {
412
+ $message = happyforms_get_message_controller()->get( $id );
413
+ $form = happyforms_get_form_controller()->get( $message['form_id'] );
414
+
415
+ if ( empty( $form['parts'] ) ) {
416
+ return $title;
417
+ }
418
+
419
+ $first_form_part = $form['parts'][0];
420
+ $title = get_post_meta( $id, $first_form_part['id'], true );
421
+ $title = happyforms_get_message_part_value( $title );
422
+
423
+ return $title;
424
+ }
425
+
426
+ /**
427
+ * Action: output the Form filter dropdown
428
+ * above the All Messages admin screen table.
429
+ *
430
+ * @since 1.0
431
+ *
432
+ * @hooked action restrict_manage_posts
433
+ *
434
+ * @return void
435
+ */
436
+ public function restrict_manage_posts( $post_type ) {
437
+ if ( happyforms_get_message_controller()->post_type === $post_type ) {
438
+ $forms = happyforms_get_form_controller()->get();
439
+ $form_id = isset( $_GET['form_id'] ) ? intval( $_GET['form_id'] ) : '';
440
+ ?>
441
+ <select name="form_id" id="">
442
+ <option value=""><?php _e( 'All forms', 'happyforms' ); ?></option>
443
+ <?php foreach( $forms as $form ): ?>
444
+ <option value="<?php echo esc_attr( $form['ID'] ); ?>" <?php selected( $form_id, $form['ID'] ); ?>><?php echo esc_html( $form['post_title'] ); ?></option>
445
+ <?php endforeach; ?>
446
+ </select>
447
+ <?php
448
+ }
449
+ }
450
+
451
+ /**
452
+ * Filter: modify the post query to account for
453
+ * the Form filter.
454
+ *
455
+ * @since 1.0
456
+ *
457
+ * @hooked filter parse_query
458
+ *
459
+ * @param WP_Query $query The current post query.
460
+ *
461
+ * @return void
462
+ */
463
+ public function parse_query( $query ) {
464
+ $query_vars = &$query->query_vars;
465
+ $query_vars['meta_query'] = array();
466
+ $post_type = happyforms_get_message_controller()->post_type;
467
+
468
+ if ( $post_type === $query->query['post_type'] ) {
469
+ $query_vars['meta_query'][] = array(
470
+ 'key' => 'form_id',
471
+ 'value' => $this->current_form_ids,
472
+ 'compare' => 'IN',
473
+ );
474
+ }
475
+ }
476
+
477
+ /**
478
+ * Filter: add custom bulk actions for the
479
+ * All Messages admin screen table.
480
+ *
481
+ * @since 1.0
482
+ *
483
+ * @hooked filter bulk_actions-edit-happyforms-message
484
+ *
485
+ * @param array $actions Original bulk actions.
486
+ *
487
+ * @return array
488
+ */
489
+ public function bulk_actions( $actions ) {
490
+ $actions = array(
491
+ 'mark_read' => __( 'Mark read', 'happyforms' ),
492
+ 'mark_unread' => __( 'Mark unread', 'happyforms' ),
493
+ 'delete' => __( 'Trash', 'happyforms' ),
494
+ );
495
+
496
+ if ( $this->current_form ) {
497
+ $actions['export_csv'] = __( 'Export to CSV', 'happyforms' );
498
+ }
499
+
500
+ return $actions;
501
+ }
502
+
503
+ /**
504
+ * Filter: handle messages custom bulk actions.
505
+ *
506
+ * @since 1.0
507
+ *
508
+ * @hooked filter handle_bulk_actions-edit-happyforms-message
509
+ *
510
+ * @param string $redirect_to The url to redirect to
511
+ * after actions have been handled.
512
+ * @param string $action The current bulk action.
513
+ * @param array $ids The array of message post object IDs.
514
+ *
515
+ * @return string
516
+ */
517
+ public function handle_bulk_actions( $redirect_to, $action, $ids ) {
518
+ switch( $action ) {
519
+ case 'mark_read':
520
+ foreach ( $ids as $id ) {
521
+ update_post_meta( $id, 'read', true );
522
+ }
523
+ break;
524
+ case 'mark_unread':
525
+ foreach ( $ids as $id ) {
526
+ update_post_meta( $id, 'read', false );
527
+ }
528
+ break;
529
+ case 'delete':
530
+ foreach ( $ids as $id ) {
531
+ wp_delete_post( $id, true );
532
+ }
533
+ break;
534
+ case 'export_csv':
535
+ $this->export_csv( $ids );
536
+ break;
537
+ }
538
+
539
+ return $redirect_to;
540
+ }
541
+
542
+ /**
543
+ * Filter: filter the row actions contents for the
544
+ * All Messages admin screen table.
545
+ *
546
+ * @since 1.0
547
+ *
548
+ * @hooked filter post_row_actions
549
+ *
550
+ * @param array $actions The original array of action contents.
551
+ * @param WP_Post $post The current post object.
552
+ *
553
+ * @return array The filtered array of action contents.
554
+ */
555
+ public function row_actions( $actions, $post ) {
556
+ $post_type = happyforms_get_message_controller()->post_type;
557
+
558
+ if ( $post->post_type === $post_type ) {
559
+ $actions = array();
560
+ $link_template = '<a href="%s">%s</a>';
561
+ $links = array(
562
+ 'edit' => array(
563
+ __( 'Edit', 'makeplus' ),
564
+ get_edit_post_link()
565
+ ),
566
+ 'trash' => array(
567
+ __( 'Delete Permanently', 'makeplus' ),
568
+ get_delete_post_link( $post->ID, '', true )
569
+ ),
570
+ );
571
+
572
+ foreach( $links as $key => $values ) {
573
+ $actions[$key] = sprintf( $link_template, $values[1], $values[0] );
574
+ }
575
+ }
576
+
577
+ return $actions;
578
+ }
579
+
580
+ /**
581
+ * Export the message post objects with the given IDs as CSV.
582
+ *
583
+ * @since 1.0
584
+ *
585
+ * @param array $ids The message post object IDs.
586
+ *
587
+ * @return void
588
+ */
589
+ private function export_csv( $ids = array() ) {
590
+ global $wpdb;
591
+
592
+ $this->parse_request();
593
+ $part_metas = wp_list_pluck( $this->current_form['parts'], 'id' );
594
+ $ids_values = implode( ', ', $ids );
595
+ $part_meta_values = implode( '\', \'', $part_metas );
596
+ $filename = 'messages.csv';
597
+ $messages = array();
598
+
599
+ $results = $wpdb->get_results(
600
+ "SELECT posts.ID, postmeta.meta_value FROM $wpdb->posts posts
601
+ LEFT JOIN $wpdb->postmeta postmeta ON posts.ID = postmeta.post_id
602
+ WHERE posts.ID IN({$ids_values}) AND postmeta.meta_key IN('{$part_meta_values}')
603
+ ORDER BY FIELD(postmeta.meta_key, '{$part_meta_values}');",
604
+ ARRAY_A
605
+ );
606
+
607
+ foreach( $results as $result ) {
608
+ if ( ! isset( $messages[$result['ID']] ) ) {
609
+ $messages[$result['ID']] = array();
610
+ }
611
+
612
+ $messages[$result['ID']][] = $result['meta_value'];
613
+ }
614
+
615
+ $output = fopen( 'php://output', 'w' );
616
+ header( 'Content-Description: File Transfer' );
617
+ header( 'Content-Disposition: attachment; filename=' . $filename );
618
+ header( 'Content-Type: text/xml; charset=' . get_option( 'blog_charset' ), true );
619
+
620
+ foreach( $messages as $message ) {
621
+ $row = array_values( $message );
622
+ fputcsv( $output, array_values( $row ) );
623
+ }
624
+
625
+ exit();
626
+ }
627
+
628
+ /**
629
+ * Action: output custom markup for the
630
+ * Message Edit admin screen.
631
+ *
632
+ * @since 1.0
633
+ *
634
+ * @hooked action edit_form_after_title
635
+ *
636
+ * @param WP_Post $post The message post object.
637
+ *
638
+ * @return void
639
+ */
640
+ public function edit_screen( $post ) {
641
+ $message = happyforms_get_message_controller()->get( $post->ID );
642
+ $form = happyforms_get_form_controller()->get( $message['form_id'] );
643
+
644
+ if ( ! $form ) {
645
+ return;
646
+ }
647
+
648
+ foreach ( $form['parts'] as $part_data ):
649
+ $part = happyforms_get_part_library()->get_part( $part_data['type'] );
650
+ $part_id = $part_data['id'];
651
+ $label = happyforms_get_part_label( $part_data );
652
+ $value = happyforms_get_message_part_value( $message['parts'][$part_id] );
653
+ ?>
654
+ <p>
655
+ <label for="">
656
+ <strong><?php echo esc_html( $label ); ?></strong>
657
+ </label><br>
658
+ <span><?php echo esc_html( $value ); ?></span>
659
+ </p>
660
+ <?php
661
+ endforeach;
662
+ }
663
+
664
+ }
665
+
666
+ /**
667
+ * Initialize the HappyForms_Message_Admin class immediately.
668
+ */
669
+ HappyForms_Message_Admin::instance();
inc/classes/class-message-controller.php ADDED
@@ -0,0 +1,537 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Message_Controller {
4
+
5
+ /**
6
+ * The singleton instance.
7
+ *
8
+ * @since 1.0
9
+ *
10
+ * @var HappyForms_Message_Controller
11
+ */
12
+ private static $instance;
13
+
14
+ /**
15
+ * The message post type slug.
16
+ *
17
+ * @since 1.0
18
+ *
19
+ * @var string
20
+ */
21
+ public $post_type = 'happyforms-message';
22
+
23
+ /**
24
+ * The parameter name used to identify a
25
+ * message submission request.
26
+ *
27
+ * @since 1.0
28
+ *
29
+ * @var string
30
+ */
31
+ public $submit_parameter = 'happyforms_form_id';
32
+
33
+ /**
34
+ * The action name used to identify a
35
+ * message submission request.
36
+ *
37
+ * @since 1.0
38
+ *
39
+ * @var string
40
+ */
41
+ public $submit_action = 'happyforms_message';
42
+
43
+ /**
44
+ * The nonce prefix used in forms.
45
+ *
46
+ * @since 1.0
47
+ *
48
+ * @var string
49
+ */
50
+ public $nonce_prefix = 'happyforms_message_nonce_';
51
+
52
+ /**
53
+ * The nonce name used in forms.
54
+ *
55
+ * @since 1.0
56
+ *
57
+ * @var string
58
+ */
59
+ public $nonce_name = 'happyforms_message_nonce';
60
+
61
+ /**
62
+ * The singleton constructor.
63
+ *
64
+ * @since 1.0
65
+ *
66
+ * @return HappyForms_Message_Controller
67
+ */
68
+ public static function instance() {
69
+ if ( is_null( self::$instance ) ) {
70
+ self::$instance = new self();
71
+ }
72
+
73
+ self::$instance->hook();
74
+
75
+ return self::$instance;
76
+ }
77
+
78
+ /**
79
+ * Register hooks.
80
+ *
81
+ * @since 1.0
82
+ *
83
+ * @return void
84
+ */
85
+ public function hook() {
86
+ add_action( 'init', array( $this, 'register_post_type' ) );
87
+ add_action( 'parse_request', array( $this, 'admin_post' ) );
88
+ }
89
+
90
+ /**
91
+ * Get the default values of the message post object fields.
92
+ *
93
+ * @since 1.0
94
+ *
95
+ * @return array
96
+ */
97
+ private function get_defaults() {
98
+ $fields = array(
99
+ 'post' => array(
100
+ 'post_title' => __( 'New submission', 'happyforms' ),
101
+ 'post_type' => $this->post_type,
102
+ 'post_status' => 'publish',
103
+ ),
104
+ 'meta' => array(
105
+ 'form_id' => 0,
106
+ 'read' => false,
107
+ ),
108
+ );
109
+
110
+ return $fields;
111
+ }
112
+
113
+ /**
114
+ * Action: register the message custom post type.
115
+ *
116
+ * @hooked action init
117
+ *
118
+ * @since 1.0
119
+ *
120
+ * @return void
121
+ */
122
+ public function register_post_type() {
123
+ $labels = array(
124
+ 'name' => __( 'All Messages', 'happyforms' ),
125
+ 'singular_name' => __( 'Message', 'happyforms' ),
126
+ 'edit_item' => __( 'Edit message', 'happyforms' ),
127
+ 'view_item' => __( 'View message', 'happyforms' ),
128
+ 'view_items' => __( 'View messages', 'happyforms' ),
129
+ 'search_items' => __( 'Search Messages', 'happyforms' ),
130
+ 'not_found' => __( 'No message found', 'happyforms' ),
131
+ 'not_found_in_trash' => __( 'No message found in Trash', 'happyforms' ),
132
+ 'all_items' => __( 'All Messages', 'happyforms' ),
133
+ );
134
+
135
+ $args = array(
136
+ 'labels' => $labels,
137
+ 'public' => true,
138
+ 'show_in_menu' => false,
139
+ 'query_var' => true,
140
+ 'capability_type' => 'page',
141
+ 'has_archive' => false,
142
+ 'hierarchical' => false,
143
+ 'supports' => array( 'custom-fields' ),
144
+ );
145
+
146
+ register_post_type( $this->post_type, $args );
147
+ }
148
+
149
+ /**
150
+ * Action: handle a form submission.
151
+ *
152
+ * @hooked action parse_request
153
+ *
154
+ * @since 1.0
155
+ *
156
+ * @return void
157
+ */
158
+ public function admin_post() {
159
+ // Exit early if we're not submitting any form
160
+ if ( ! isset ( $_REQUEST['action'] ) || $this->submit_action != $_REQUEST['action'] ) {
161
+ return;
162
+ }
163
+
164
+ $bad_request_error = __( 'Bad request.', 'happyforms' );
165
+
166
+ if ( ! isset ( $_REQUEST[$this->submit_parameter] ) ) {
167
+ wp_die( $bad_request_error );
168
+ }
169
+
170
+ if ( ! isset( $_REQUEST[$this->nonce_name] ) ) {
171
+ wp_die( $bad_request_error );
172
+ }
173
+
174
+ $nonce = $_REQUEST[$this->nonce_name];
175
+ $form_id = intval( $_REQUEST[$this->submit_parameter] );
176
+
177
+ if ( ! $this->verify_nonce( $nonce, $form_id ) ) {
178
+ wp_die( $bad_request_error );
179
+ }
180
+
181
+ $form = happyforms_get_form_controller()->get( $form_id );
182
+
183
+ if ( happyforms_get_form_controller()->has_spam_protection( $form ) ) {
184
+ if ( ! $this->validate_honeypot( $nonce ) ) {
185
+ $redirect_url = home_url( wp_get_raw_referer() );
186
+
187
+ // Redirect silently, like everything's good.
188
+ wp_safe_redirect( $redirect_url );
189
+ exit;
190
+ }
191
+ }
192
+
193
+ if ( is_wp_error( $form ) ) {
194
+ wp_die( $bad_request_error );
195
+ }
196
+
197
+ $result = $this->create( $form );
198
+ $message_notices = happyforms_get_message_notices();
199
+ $redirect_url = home_url( wp_get_raw_referer() );
200
+
201
+ if ( is_wp_error( $result ) ) {
202
+ $part_ids = $result->get_error_codes();
203
+
204
+ foreach( $part_ids as $part_id ) {
205
+ $error_messages = $result->get_error_messages( $part_id );
206
+
207
+ foreach( $error_messages as $error_message ) {
208
+ $message_notices->add_message( $error_message, $form_id, $part_id );
209
+ }
210
+ }
211
+
212
+ // Add a general error notice at the top
213
+ $message_notices->add_message( 'form_error', $form_id );
214
+ } else {
215
+ // Add a general success notice at the top
216
+ $message_notices->add_message( 'form_success', $form_id );
217
+
218
+ if ( ! empty( $form['redirect_url'] ) ) {
219
+ $redirect_url = $form['redirect_url'];
220
+ }
221
+ }
222
+
223
+ // Write the session cookie
224
+ $message_notices->write();
225
+ wp_safe_redirect( $redirect_url );
226
+ exit;
227
+ }
228
+
229
+ /**
230
+ * Verify a message nonce.
231
+ *
232
+ * @since 1.0
233
+ *
234
+ * @param string $nonce The submitted value.
235
+ * @param string $form_id The ID of the form being submitted.
236
+ *
237
+ * @return boolean
238
+ */
239
+ private function verify_nonce( $nonce, $form_id ) {
240
+ $nonce_value = substr( $nonce, 0, -2 );
241
+
242
+ return wp_verify_nonce( $nonce_value, $this->nonce_prefix . $form_id );
243
+ }
244
+
245
+ /**
246
+ * Verify honeypot data.
247
+ *
248
+ * @since 1.0
249
+ *
250
+ * @param string $nonce The submitted nonce value.
251
+ *
252
+ * @return boolean
253
+ */
254
+ private function validate_honeypot( $nonce ) {
255
+ $honeypot_hex_id = substr( $nonce, -2 );
256
+ $honeypot_dec_id = hexdec( $honeypot_hex_id );
257
+ $honeypot_part_id = "single_line_text_{$honeypot_dec_id}";
258
+
259
+ $validated = isset( $_REQUEST[$honeypot_part_id] )
260
+ && empty( $_REQUEST[$honeypot_part_id] );
261
+
262
+ return $validated;
263
+ }
264
+
265
+ /**
266
+ * Create a new message post object.
267
+ *
268
+ * @since 1.0
269
+ *
270
+ * @param array $form The message form data.
271
+ *
272
+ * @return int|boolean
273
+ */
274
+ public function create( $form ) {
275
+ $defaults = $this->get_defaults();
276
+ $message_meta = wp_parse_args( array(
277
+ 'form_id' => $form['ID'],
278
+ ), $defaults['meta'] );
279
+ $message_parts = array();
280
+ $error = null;
281
+
282
+ foreach( $form['parts'] as $part_data ) {
283
+ $part = happyforms_get_part_library()->get_part( $part_data['type'] );
284
+
285
+ if ( false !== $part ) {
286
+ $part_value = $part->sanitize_value( $part_data );
287
+ $part_value = $part->validate_value( $part_data, $part_value );
288
+
289
+ if ( ! is_wp_error( $part_value ) ) {
290
+ $message_meta[$part_data['id']] = $part_value;
291
+ } else {
292
+ $error = null === $error ? new WP_Error(): $error;
293
+ $messages = $part_value->get_error_messages();
294
+
295
+ foreach ( $messages as $message ) {
296
+ $error->add( $part_data['id'], $message );
297
+ }
298
+ }
299
+ }
300
+ }
301
+
302
+ if ( is_wp_error( $error ) ) {
303
+ return $error;
304
+ }
305
+
306
+ if ( $form['save_entries'] ) {
307
+ $attrs = $defaults['post'] + array( 'meta_input' => $message_meta );
308
+ $result = wp_insert_post( wp_slash( $attrs ), true );
309
+ }
310
+
311
+ if ( ! is_wp_error( $result ) ) {
312
+ $message = $this->get( $result );
313
+ $this->email_owner_confirmation( $form, $message );
314
+ $this->email_user_confirmation( $form, $message );
315
+ }
316
+ }
317
+
318
+ /**
319
+ * Get one or more message post objects.
320
+ *
321
+ * @since 1.0
322
+ *
323
+ * @param string $post_ids The IDs of the messages to retrieve.
324
+ *
325
+ * @return array
326
+ */
327
+ public function get( $post_ids = '' ) {
328
+ $query_params = array(
329
+ 'post_type' => $this->post_type,
330
+ 'post_status' => 'any',
331
+ 'posts_per_page' => -1,
332
+ );
333
+
334
+ if ( ! empty( $post_ids ) ) {
335
+ $query_params['post__in'] = is_numeric( $post_ids ) ? array( $post_ids ) : $post_ids;
336
+ }
337
+
338
+ $messages = get_posts( $query_params );
339
+ $message_entries = array_map( array( $this, 'to_array'), $messages );
340
+
341
+ if ( is_numeric( $post_ids ) ) {
342
+ if ( count( $message_entries ) > 0 ) {
343
+ return $message_entries[0];
344
+ } else {
345
+ return false;
346
+ }
347
+ }
348
+
349
+ return $message_entries;
350
+ }
351
+
352
+ /**
353
+ * Get all messages relative to a form.
354
+ *
355
+ * @since 1.0
356
+ *
357
+ * @param string $form_id The ID of the form.
358
+ *
359
+ * @return array
360
+ */
361
+ public function get_by_form( $form_id ) {
362
+ $query_params = array(
363
+ 'post_type' => $this->post_type,
364
+ 'post_status' => 'any',
365
+ 'posts_per_page' => -1,
366
+ 'meta_query' => array( array(
367
+ 'field' => 'form_id',
368
+ 'value' => $form_id,
369
+ ) )
370
+ );
371
+
372
+ $messages = get_posts( $query_params );
373
+ $message_entries = array_map( array( $this, 'to_array'), $messages );
374
+
375
+ return $message_entries;
376
+ }
377
+
378
+ /**
379
+ * Turn a message post object into an array.
380
+ *
381
+ * @since 1.0
382
+ *
383
+ * @param WP_Post $message The message post object.
384
+ *
385
+ * @return array
386
+ */
387
+ public function to_array( $message ) {
388
+ $message_array = $message->to_array();
389
+ $meta_entries = get_post_meta( $message->ID, '', true );
390
+ $form_id = $meta_entries['form_id'][0];
391
+ $form = happyforms_get_form_controller()->get( $form_id );
392
+
393
+ $message_array['parts'] = array();
394
+ $defaults = $this->get_defaults();
395
+
396
+ foreach( $meta_entries as $meta_key => $message_value ) {
397
+ if ( in_array( $meta_key, array_keys( $defaults['meta'] ) ) ) {
398
+ $message_array[$meta_key] = $message_value[0];
399
+ }
400
+ }
401
+
402
+ if ( $form ) {
403
+ foreach ( $form['parts'] as $part_data ) {
404
+ $part = happyforms_get_part_library()->get_part( $part_data['type'] );
405
+ $part_id = $part_data['id'];
406
+ $part_value = isset( $meta_entries[$part_id] ) ? $meta_entries[$part_id][0] : $part->get_default_value();
407
+ $message_array['parts'][$part_id] = $part_value;
408
+ }
409
+ }
410
+
411
+ return $message_array;
412
+ }
413
+
414
+ /**
415
+ * Send a confirmation email to the site owner.
416
+ *
417
+ * @since 1.0
418
+ *
419
+ * @param array $form The message form data.
420
+ * @param string $message The message contents.
421
+ *
422
+ * @return void
423
+ */
424
+ private function email_owner_confirmation( $form, $message ) {
425
+ if ( isset( $form['email_recipient'] )
426
+ && ! empty( $form['email_recipient'] ) ) {
427
+
428
+ $email_recipients = $form['email_recipient'];
429
+ $email_recipients = explode( ',', $email_recipients );
430
+ $email_recipients = array_map( 'trim', $email_recipients );
431
+ $email_subject = __( 'New submission', 'happyforms' );
432
+ $email_content_lines = array();
433
+
434
+ foreach ( $form['parts'] as $part_data ) {
435
+ $part = happyforms_get_part_library()->get_part( $part_data['type'] );
436
+ $part_id = $part_data['id'];
437
+ $label = happyforms_get_part_label( $part_data );
438
+ $value = happyforms_get_message_part_value( $message['parts'][$part_id] );
439
+ $email_content_lines[] = "$label: $value";
440
+ }
441
+
442
+ $email_content = implode( '<br>', $email_content_lines );
443
+ $email_content = sprintf(
444
+ '<p>%s</p><p>%s</p>',
445
+ $email_content,
446
+ happyforms_get_byline()
447
+ );
448
+
449
+ foreach ( $email_recipients as $recipient ) {
450
+ $result = $this->send_mail( $recipient, $email_subject, $email_content );
451
+ }
452
+ }
453
+ }
454
+
455
+ /**
456
+ * Send a confirmation email to the user submitting the form.
457
+ *
458
+ * @since 1.0
459
+ *
460
+ * @param array $form The message form data.
461
+ * @param string $message The message contents.
462
+ *
463
+ * @return void
464
+ */
465
+ private function email_user_confirmation( $form, $message ) {
466
+ $email_part = happyforms_get_form_controller()->get_first_part_by_type( $form, 'email' );
467
+
468
+ if ( false !== $email_part
469
+ && ! empty( $form['confirmation_email_subject'] )
470
+ && ! empty( $form['confirmation_email_content'] ) ) {
471
+
472
+ $part_id = $email_part['id'];
473
+ $email_recipient = happyforms_get_message_part_value( $message['parts'][$part_id] );
474
+ $email_subject = $form['confirmation_email_subject'];
475
+ $email_content = sprintf(
476
+ '%s<p>%s</p>',
477
+ $form['confirmation_email_content'],
478
+ happyforms_get_byline()
479
+ );
480
+
481
+ $result = $this->send_mail( $email_recipient, $email_subject, $email_content );
482
+ }
483
+ }
484
+
485
+ /**
486
+ * Send an email to the specified recipient.
487
+ *
488
+ * @since 1.0
489
+ *
490
+ * @param string $recipient The recipient email address.
491
+ * @param array $subject The email subject.
492
+ * @param string $message The email content.
493
+ *
494
+ * @return boolean
495
+ */
496
+ private function send_mail( $recipient, $subject, $content ) {
497
+ $original_content_type = apply_filters( 'wp_mail_content_type' );
498
+
499
+ add_filter( 'wp_mail_content_type', array( $this, 'get_mail_content_type' ) );
500
+ $result = wp_mail( $recipient, $subject, $content );
501
+ remove_filter( 'wp_mail_content_type', array( $this, 'get_mail_content_type' ) );
502
+
503
+ return $result;
504
+ }
505
+
506
+ /**
507
+ * Return the default content type used when
508
+ * sending email messages.
509
+ *
510
+ * @since 1.0
511
+ *
512
+ * @return string
513
+ */
514
+ public function get_mail_content_type() {
515
+ return 'text/html';
516
+ }
517
+
518
+ }
519
+
520
+ if ( ! function_exists( 'happyforms_get_message_controller' ) ):
521
+ /**
522
+ * Get the HappyForms_Message_Controller class instance.
523
+ *
524
+ * @since 1.0
525
+ *
526
+ * @return HappyForms_Message_Controller
527
+ */
528
+ function happyforms_get_message_controller() {
529
+ return HappyForms_Message_Controller::instance();
530
+ }
531
+
532
+ endif;
533
+
534
+ /**
535
+ * Initialize the HappyForms_Message_Controller class immediately.
536
+ */
537
+ happyforms_get_message_controller();
inc/classes/class-message-notices.php ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Message_Notices {
4
+
5
+ /**
6
+ * The singleton instance.
7
+ *
8
+ * @since 1.0
9
+ *
10
+ * @var HappyForms_Message_Notices
11
+ */
12
+ private static $instance;
13
+
14
+ /**
15
+ * The name of the cookie used to store
16
+ * session notices.
17
+ *
18
+ * @since 1.0
19
+ *
20
+ * @var string
21
+ */
22
+ private $cookie_name = 'happyforms-message-notices';
23
+
24
+ /**
25
+ * The list of notices registered for this session.
26
+ *
27
+ * @since 1.0
28
+ *
29
+ * @var array
30
+ */
31
+ private $session = array();
32
+
33
+ /**
34
+ * The list of registered notice messages.
35
+ *
36
+ * @since 1.0
37
+ *
38
+ * @var array
39
+ */
40
+ private $messages = array();
41
+
42
+ /**
43
+ * The singleton constructor.
44
+ *
45
+ * @since 1.0
46
+ *
47
+ * @return HappyForms_Message_Admin
48
+ */
49
+ public static function instance() {
50
+ if ( is_null( self::$instance ) ) {
51
+ self::$instance = new self();
52
+ }
53
+
54
+ self::$instance->hook();
55
+
56
+ return self::$instance;
57
+ }
58
+
59
+ /**
60
+ * Register hooks.
61
+ *
62
+ * @since 1.0
63
+ *
64
+ * @return void
65
+ */
66
+ public function hook() {
67
+ if ( ! is_admin() ) {
68
+ add_action( 'send_headers', array( $this, 'read' ) );
69
+ }
70
+ }
71
+
72
+ /**
73
+ * Add a notice to be displayed on the next refresh.
74
+ *
75
+ * @since 1.0
76
+ *
77
+ * @return void
78
+ */
79
+ public function add_message( $key, $form_id, $location = 'top' ) {
80
+ $this->session[] = array(
81
+ 'key' => $key,
82
+ 'form_id' => $form_id,
83
+ 'location' => $location,
84
+ );
85
+ }
86
+
87
+ /**
88
+ * Write the notices registered for this session
89
+ * in the session cookie.
90
+ *
91
+ * @since 1.0
92
+ *
93
+ * @return void
94
+ */
95
+ public function write() {
96
+ $session_data = serialize( $this->session );
97
+ setcookie( $this->cookie_name, $session_data, 0, '/' );
98
+ }
99
+
100
+ /**
101
+ * Read the notices registered for this session
102
+ * from the session cookie.
103
+ *
104
+ * @since 1.0
105
+ *
106
+ * @return void
107
+ */
108
+ public function read() {
109
+ $this->messages = array();
110
+
111
+ if ( isset( $_COOKIE[ $this->cookie_name ] ) && ! empty( $_COOKIE[ $this->cookie_name ] ) ) {
112
+ $this->messages = unserialize( stripslashes( $_COOKIE[ $this->cookie_name ] ) );
113
+ unset( $_COOKIE[ $this->cookie_name ] );
114
+ setcookie( $this->cookie_name, '', time() - 3600, '/' );
115
+ }
116
+ }
117
+
118
+ /**
119
+ * Get the messages for the given form and location.
120
+ *
121
+ * @since 1.0
122
+ *
123
+ * @param array $form_data The current form data.
124
+ * @param string $location The location to fetch messages for.
125
+ *
126
+ * @return array
127
+ */
128
+ public function get_messages( $form_data, $location = 'top' ) {
129
+ $messages = array();
130
+ $location = is_numeric( $location ) ? intval( $location ) : $location;
131
+
132
+ foreach( $this->messages as $message ) {
133
+ $message_key = $message['key'];
134
+ $message_form_id = $message['form_id'];
135
+ $message_location = $message['location'];
136
+ $message_definition = null;
137
+
138
+ if ( $form_data['ID'] === $message_form_id && $location === $message_location ) {
139
+ $part_library = happyforms_get_part_library();
140
+ $is_part_notice = false;
141
+
142
+ foreach( $form_data['parts'] as $part_data ) {
143
+ if ( $location === $part_data['id'] ) {
144
+ $part = $part_library->get_part( $part_data['type'] );
145
+ $message_definitions = $part->get_message_definitions();
146
+ $message_definition = $message_definitions[$message_key];
147
+ $is_part_notice = true;
148
+ break;
149
+ }
150
+ }
151
+
152
+ if ( ! $is_part_notice ) {
153
+ $form_controller = happyforms_get_form_controller();
154
+ $message_definitions = $form_controller->get_message_definitions( $form_data );
155
+ $message_definition = $message_definitions[$message_key];
156
+ }
157
+ }
158
+
159
+ if ( null !== $message_definition ) {
160
+ $messages[] = array(
161
+ 'type' => $message_definition['type'],
162
+ 'message' => $message_definition['message'],
163
+ );
164
+ }
165
+ }
166
+
167
+ return $messages;
168
+ }
169
+
170
+ }
171
+
172
+ if ( ! function_exists( 'happyforms_get_message_notices' ) ):
173
+ /**
174
+ * Get the HappyForms_Message_Notices class instance.
175
+ *
176
+ * @since 1.0
177
+ *
178
+ * @return HappyForms_Message_Notices
179
+ */
180
+ function happyforms_get_message_notices() {
181
+ return HappyForms_Message_Notices::instance();
182
+ }
183
+
184
+ endif;
185
+
186
+ /**
187
+ * Initialize the HappyForms_Message_Admin class immediately.
188
+ */
189
+ happyforms_get_message_notices();
inc/classes/class-tracking.php ADDED
@@ -0,0 +1,253 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Tracking {
4
+
5
+ /**
6
+ * The singleton instance.
7
+ *
8
+ * @since 1.0
9
+ *
10
+ * @var HappyForms_Tracking
11
+ */
12
+ private static $instance;
13
+
14
+ /**
15
+ * The name of the tracking option entry.
16
+ *
17
+ * @since 1.0
18
+ *
19
+ * @var string
20
+ */
21
+ public $activation_option = 'happyforms-tracking';
22
+
23
+ /**
24
+ * The action of the welcome form.
25
+ *
26
+ * @since 1.0
27
+ *
28
+ * @var string
29
+ */
30
+ public $monitor_action = 'https://thethemefoundry.createsend.com/t/r/s/uhlrkll/';
31
+
32
+ /**
33
+ * The name of the email field in the welcome form.
34
+ *
35
+ * @since 1.0
36
+ *
37
+ * @var string
38
+ */
39
+ public $monitor_email_field = 'cm-uhlrkll-uhlrkll';
40
+
41
+ /**
42
+ * The name of the status field in the welcome form.
43
+ *
44
+ * @since 1.0
45
+ *
46
+ * @var string
47
+ */
48
+ public $monitor_status_field = 'cm-f-dyikmik';
49
+
50
+ /**
51
+ * The singleton constructor.
52
+ *
53
+ * @since 1.0
54
+ *
55
+ * @return HappyForms_Tracking
56
+ */
57
+ public static function instance() {
58
+ if ( is_null( self::$instance ) ) {
59
+ self::$instance = new self();
60
+ }
61
+
62
+ self::$instance->hook();
63
+
64
+ return self::$instance;
65
+ }
66
+
67
+ /**
68
+ * Register hooks.
69
+ *
70
+ * @since 1.0
71
+ *
72
+ * @return void
73
+ */
74
+ public function hook() {
75
+ add_action( 'admin_init', array( $this, 'redirect_to_settings_page' ) );
76
+ add_action( 'wp_ajax_happyforms_update_tracking', array( $this, 'ajax_update_tracking' ) );
77
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) );
78
+ add_action( 'admin_footer', array( $this, 'print_templates' ) );
79
+ }
80
+
81
+ /**
82
+ * Get the tracking status.
83
+ *
84
+ * @since 1.0
85
+ *
86
+ * @return array
87
+ */
88
+ public function get_status() {
89
+ $status = get_option( $this->activation_option, array(
90
+ 'status' => 0,
91
+ 'email' => '',
92
+ ) );
93
+
94
+ return $status;
95
+ }
96
+
97
+ /**
98
+ * Update the tracking status.
99
+ *
100
+ * @since 1.0
101
+ *
102
+ * @param string $status The status counter.
103
+ * @param string $email The user email.
104
+ *
105
+ * @return void
106
+ */
107
+ public function update_status( $status, $email = '' ) {
108
+ update_option( $this->activation_option, array(
109
+ 'status' => $status,
110
+ 'email' => $email,
111
+ ) );
112
+ }
113
+
114
+ /**
115
+ * Action: handle the ajax request for the update
116
+ * of tracking status
117
+ *
118
+ * @since 1.0
119
+ *
120
+ * @hooked action wp_ajax_happyforms_update_tracking
121
+ *
122
+ * @return void
123
+ */
124
+ public function ajax_update_tracking() {
125
+ if ( isset( $_REQUEST['status'] ) ) {
126
+ $current_status = $this->get_status();
127
+ $status = $_REQUEST['status'];
128
+ $email = isset( $_REQUEST['email'] ) ? $_REQUEST['email'] : $current_status['email'];
129
+
130
+ $this->update_status( $status, $email );
131
+ }
132
+
133
+ wp_die( 1 );
134
+ }
135
+
136
+ /**
137
+ * Action: redirect to the welcome page, if it's first run
138
+ * and the user hasn't skipped this step yet.
139
+ *
140
+ * @since 1.0
141
+ *
142
+ * @hooked action admin_init
143
+ *
144
+ * @return void
145
+ */
146
+ public function redirect_to_settings_page() {
147
+ $status = get_option( $this->activation_option );
148
+
149
+ if ( 1 === intval( $status['status'] ) ) {
150
+ $url = admin_url( 'admin.php?page=happyforms-welcome' );
151
+
152
+ $this->update_status( 2 );
153
+ wp_safe_redirect( $url );
154
+
155
+ exit;
156
+ }
157
+ }
158
+
159
+ /**
160
+ * Output the welcome page.
161
+ *
162
+ * @since 1.0
163
+ *
164
+ * @return void
165
+ */
166
+ public function settings_page() {
167
+ if ( ! current_user_can( 'manage_options' ) ) {
168
+ wp_die( __( 'Sorry, you are not allowed to access this page.', 'happyforms' ) );
169
+ }
170
+
171
+ require_once( happyforms_get_include_folder() . '/admin/page-tracking.php' );
172
+ }
173
+
174
+ /**
175
+ * Action: enqueue styles and scripts for the welcome page.
176
+ *
177
+ * @since 1.0
178
+ *
179
+ * @hooked action admin_enqueue_scripts
180
+ *
181
+ * @return void
182
+ */
183
+ public function admin_scripts() {
184
+ $current_screen = get_current_screen();
185
+
186
+ if ( 'happyforms_page_happyforms-welcome' === $current_screen->id ) {
187
+ wp_enqueue_script(
188
+ 'happyforms-tracking',
189
+ happyforms_get_plugin_url() . 'assets/js/tracking.js',
190
+ '', '', true
191
+ );
192
+ }
193
+ }
194
+
195
+ /**
196
+ * Output Javascript template partials used in the welcome page.
197
+ *
198
+ * @since 1.0
199
+ *
200
+ * @return void
201
+ */
202
+ public function print_template( $template ) {
203
+ if ( 'success' === $template ): ?>
204
+ <h2><?php _e( 'Thank you!', 'happyforms' ); ?></h2>
205
+ <p class="about-description"><?php _e( 'Now let\'s go enjoy HappyForms.', 'happyforms' ); ?></p>
206
+ <p><?php _e( 'You\'ve setup notifications and helped us to improve HappyForms. You\'re ready to get started with your first form.', 'happyforms' ); ?></p>
207
+ <a href="<?php echo happyforms_get_form_edit_link( 0, happyforms_get_all_form_link() ); ?>" class="button button-primary button-hero" id="happyforms-tracking-proceed"><?php _e( 'Create your first form', 'happyforms' ); ?></a>
208
+ <?php elseif ( 'error' === $template ): ?>
209
+ <p class="about-description"><?php _e( 'Aw snap! Something went wrong.', 'happyforms' ); ?></p>
210
+ <p><?php _e( 'Error description', 'happyforms' ); ?></p>
211
+ <?php endif;
212
+ }
213
+
214
+ /**
215
+ * Action: output Javascript templates for the welcome page.
216
+ *
217
+ * @since 1.0
218
+ *
219
+ * @hooked action admin_footer
220
+ *
221
+ * @return void
222
+ */
223
+ public function print_templates() {
224
+ ?>
225
+ <script type="text/template" id="happyforms-tracking-success">
226
+ <?php $this->print_template( 'success' ); ?>
227
+ </script>
228
+ <script type="text/template" id="happyforms-tracking-error">
229
+ <?php $this->print_template( 'error' ); ?>
230
+ </script>
231
+ <?php
232
+ }
233
+ }
234
+
235
+ if ( ! function_exists( 'happyforms_get_tracking' ) ):
236
+ /**
237
+ * Get the HappyForms_Tracking class instance.
238
+ *
239
+ * @since 1.0
240
+ *
241
+ * @return HappyForms_Tracking
242
+ */
243
+ function happyforms_get_tracking() {
244
+ return HappyForms_Tracking::instance();
245
+ }
246
+
247
+ endif;
248
+
249
+ /**
250
+ * Initialize the HappyForms_Tracking class immediately.
251
+ */
252
+ happyforms_get_tracking();
253
+
inc/classes/class-wp-customize-form-manager.php ADDED
@@ -0,0 +1,331 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_WP_Customize_Form_Manager {
4
+
5
+ /**
6
+ * A reference to the $wp_customize object.
7
+ *
8
+ * @var WP_Customize_Manager
9
+ */
10
+ private $manager;
11
+
12
+ /**
13
+ * WP_Customize_Form_Manager constructor.
14
+ *
15
+ * @since 1.0
16
+ */
17
+ public function __construct() {
18
+ /*
19
+ * Note the customize_register action is triggered in
20
+ * WP_Customize_Manager::wp_loaded() which is itself the
21
+ * callback for the wp_loaded action at priority 10. So
22
+ * this wp_loaded action just has to be added at a
23
+ * priority less than 10.
24
+ */
25
+ add_action( 'wp_loaded', array( $this, 'wp_loaded' ), 1 );
26
+
27
+ // Ajax callbacks.
28
+ add_action( 'wp_ajax_happyforms-update-form', array( $this, 'ajax_update_form' ) );
29
+ add_action( 'wp_ajax_happyforms-form-part-added', array( $this, 'ajax_form_part_added_changeset' ) );
30
+ }
31
+
32
+ /**
33
+ * Get the form from the current request `form_id` parameter.
34
+ *
35
+ * @since 1.0
36
+ *
37
+ * @return array The current form data.
38
+ */
39
+ private function get_current_form() {
40
+ $form_id = $_REQUEST['form_id'];
41
+ $form = happyforms_get_form_controller()->get_customize_defaults( true );
42
+
43
+ if ( intval( $form_id ) > 0 ) {
44
+ $form = happyforms_get_form_controller()->get( $form_id );
45
+
46
+ if ( is_wp_error( $form ) ) {
47
+ wp_die( $form->get_error_message() );
48
+ exit;
49
+ }
50
+ }
51
+
52
+ return $form;
53
+ }
54
+
55
+ /**
56
+ * Action: reset Customize hooks and
57
+ * inject HappyForms logic and scripts.
58
+ *
59
+ * @since 1.0
60
+ *
61
+ * @hooked action wp_loaded
62
+ *
63
+ * @return void
64
+ */
65
+ public function wp_loaded() {
66
+ $this->get_current_form();
67
+
68
+ global $wp_customize;
69
+
70
+ remove_all_actions( 'customize_register' );
71
+ remove_all_actions( 'customize_controls_enqueue_scripts' );
72
+
73
+ $this->manager = $wp_customize;
74
+ $this->library = happyforms_get_part_library();
75
+
76
+ // Carry the happyforms customize query parameter over to preview screen
77
+ add_action( 'customize_controls_init', array( $this, 'preview_screen_preserve_query_arg' ) );
78
+ // Register a custom nonce
79
+ add_filter( 'customize_refresh_nonces', array( $this, 'add_customize_nonce' ) );
80
+ // Output header styles
81
+ add_filter( 'customize_controls_print_scripts', array( $this, 'customize_controls_print_styles' ) );
82
+ // Enqueue dynamic controls
83
+ add_action( 'customize_controls_enqueue_scripts', array( $this, 'customize_controls_enqueue_scripts' ) );
84
+ // Print templates
85
+ add_action( 'customize_controls_print_footer_scripts', array( $this, 'customize_controls_print_footer_scripts' ) );
86
+ }
87
+
88
+ /**
89
+ * Action: preserve the `happyforms` GET parameter
90
+ * across Customize preview sessions.
91
+ *
92
+ * @since 1.0
93
+ *
94
+ * @hooked action customize_controls_init
95
+ *
96
+ * @return void
97
+ */
98
+ public function preview_screen_preserve_query_arg() {
99
+ $this->manager->set_preview_url(
100
+ add_query_arg(
101
+ array( 'happyforms' => '1' ),
102
+ $this->manager->get_preview_url()
103
+ )
104
+ );
105
+ }
106
+
107
+ /**
108
+ * Action: inject the HappyForms nonce in a Customize session.
109
+ *
110
+ * @since 1.0
111
+ *
112
+ * @hooked action customize_refresh_nonces
113
+ *
114
+ * @return array
115
+ */
116
+ public function add_customize_nonce( $nonces ) {
117
+ $nonces['happyforms'] = wp_create_nonce( 'happyforms' );
118
+ return $nonces;
119
+ }
120
+
121
+ /**
122
+ * Action: update a form with data coming from the Customize screen.
123
+ *
124
+ * @since 1.0
125
+ *
126
+ * @hooked action wp_ajax_happyforms-update-form
127
+ *
128
+ * @return void
129
+ */
130
+ public function ajax_update_form() {
131
+ if ( ! check_ajax_referer( 'happyforms', 'happyforms-nonce', false ) ) {
132
+ status_header( 400 );
133
+ wp_send_json_error( 'bad_nonce' );
134
+ }
135
+
136
+ if ( ! current_user_can( 'customize' ) ) {
137
+ status_header( 403 );
138
+ wp_send_json_error( 'customize_not_allowed' );
139
+ }
140
+
141
+ if ( ! isset( $_POST['form'] ) || empty( $_POST['form'] ) ) {
142
+ status_header( 403 );
143
+ wp_send_json_error( 'empty form data' );
144
+ }
145
+
146
+ $form_data = $_POST['form'];
147
+ $result = happyforms_get_form_controller()->update( $form_data );
148
+ $data = array();
149
+
150
+ if ( is_wp_error( $result ) ) {
151
+ $data['message'] = $result->get_error_message();
152
+ wp_send_json_error( $data );
153
+ }
154
+
155
+ $admin_notices = happyforms_get_admin_notices();
156
+
157
+ $notice_content = sprintf(
158
+ __( 'Form saved. You can add this form to any Page, Post and Widget area. Have questions? <a href="%s" target="_blank">Ask for help in our support forums</a>.', 'happyforms' ),
159
+ 'https://wordpress.org/support/plugin/happyforms'
160
+ );
161
+
162
+ $admin_notices->register(
163
+ 'happyforms_form_saved',
164
+ $notice_content,
165
+ array(
166
+ 'type' => 'success',
167
+ 'screen' => array( 'edit-happyform' ),
168
+ 'one-time' => true,
169
+ )
170
+ );
171
+
172
+ wp_send_json_success( $result );
173
+ }
174
+
175
+ /**
176
+ * Action: return part metadata after it has been added
177
+ * to the form in a format the Customize preview can
178
+ * handle.
179
+ *
180
+ * @since 1.0
181
+ *
182
+ * @hooked action wp_ajax_happyforms-form-part-added
183
+ *
184
+ * @return void
185
+ */
186
+ public function ajax_form_part_added_changeset() {
187
+ if ( ! check_ajax_referer( 'happyforms', 'happyforms-nonce', false ) ) {
188
+ status_header( 400 );
189
+ wp_send_json_error( 'bad_nonce' );
190
+ }
191
+
192
+ if ( ! current_user_can( 'customize' ) ) {
193
+ status_header( 403 );
194
+ wp_send_json_error( 'customize_not_allowed' );
195
+ }
196
+
197
+ if ( ! isset( $_POST['form_id'] ) ||
198
+ ! isset( $_POST['part'] ) || empty( $_POST['part'] ) ) {
199
+ status_header( 403 );
200
+ wp_send_json_error( 'Missing data' );
201
+ }
202
+
203
+ $form_id = $_POST['form_id'];
204
+ $part_data = $_POST['part'];
205
+ $partials = array();
206
+
207
+ $template = $this->library->get_part_template( $part_data, false );
208
+ $partial = array(
209
+ 'form_id' => $form_id,
210
+ 'part_id' => $part_data['id'],
211
+ 'template' => $template,
212
+ );
213
+
214
+ wp_send_json_success( $partial );
215
+ }
216
+
217
+ /**
218
+ * Action: output styles for the Customize screen.
219
+ *
220
+ * @since 1.0
221
+ *
222
+ * @hooked action customize_controls_print_scripts
223
+ *
224
+ * @return void
225
+ */
226
+ public function customize_controls_print_styles() {
227
+ ?>
228
+ <style>
229
+ #customize-save-button-wrapper,
230
+ #customize-info,
231
+ #customize-notifications-area {
232
+ display: none !important;
233
+ }
234
+ </style>
235
+ <?php
236
+ }
237
+
238
+ /**
239
+ * Action: enqueue HappyForms styles and scripts
240
+ *
241
+ * @since 1.0
242
+ *
243
+ * @hooked action customize_controls_enqueue_scripts
244
+ *
245
+ * @return void
246
+ */
247
+ public function customize_controls_enqueue_scripts() {
248
+ wp_enqueue_style(
249
+ 'happyforms-customize',
250
+ happyforms_get_plugin_url() . 'assets/css/customize.css',
251
+ array(
252
+ 'wp-color-picker',
253
+ 'wp-pointer'
254
+ )
255
+ );
256
+
257
+ wp_enqueue_style(
258
+ 'happyforms-font-awesome',
259
+ happyforms_get_plugin_url() . 'assets/css/font-awesome.min.css'
260
+ );
261
+
262
+ wp_register_script(
263
+ 'happyforms-customize',
264
+ happyforms_get_plugin_url() . 'assets/js/customize.js',
265
+ array(
266
+ 'backbone',
267
+ 'underscore',
268
+ 'jquery',
269
+ 'jquery-ui-core',
270
+ 'jquery-effects-core',
271
+ 'jquery-ui-sortable',
272
+ 'jquery-ui-slider',
273
+ 'jquery-ui-button',
274
+ 'wp-color-picker',
275
+ 'wp-pointer'
276
+ ),
277
+ false,
278
+ true
279
+ );
280
+
281
+ wp_register_script(
282
+ 'happyforms-preview',
283
+ happyforms_get_plugin_url() . 'assets/js/preview.js',
284
+ array( 'backbone', 'underscore', 'jquery' ),
285
+ false,
286
+ true
287
+ );
288
+
289
+ $data = array(
290
+ 'form' => $this->get_current_form(),
291
+ 'formParts' => $this->library->get_parts(),
292
+ 'baseUrl' => get_site_url(),
293
+ );
294
+
295
+ wp_localize_script( 'happyforms-customize', '_happyFormsSettings', $data );
296
+ wp_enqueue_script( 'happyforms-customize' );
297
+ wp_enqueue_script( 'happyforms-preview' );
298
+
299
+ // Rich text editor
300
+ if ( ! class_exists( '_WP_Editors', false ) ) {
301
+ require( ABSPATH . WPINC . '/class-wp-editor.php' );
302
+ }
303
+
304
+ _WP_Editors::print_default_editor_scripts();
305
+ wp_enqueue_editor();
306
+ }
307
+
308
+ /**
309
+ * Action: output Javascript templates for the form editing interface.
310
+ *
311
+ * @since 1.0
312
+ *
313
+ * @hooked action customize_controls_print_footer_scripts
314
+ *
315
+ * @return void
316
+ */
317
+ public function customize_controls_print_footer_scripts() {
318
+ global $wp_customize;
319
+
320
+ require_once( happyforms_get_include_folder() . '/templates/customize-header-actions.php' );
321
+ require_once( happyforms_get_include_folder() . '/templates/customize-sidebar.php' );
322
+ require_once( happyforms_get_include_folder() . '/templates/customize-form-steps.php' );
323
+ require_once( happyforms_get_include_folder() . '/templates/customize-form-item.php' );
324
+ require_once( happyforms_get_include_folder() . '/templates/customize-form-setup.php' );
325
+ require_once( happyforms_get_include_folder() . '/templates/customize-form-build.php' );
326
+ require_once( happyforms_get_include_folder() . '/templates/customize-form-parts-drawer.php' );
327
+ require_once( happyforms_get_include_folder() . '/templates/customize-form-style.php' );
328
+ require_once( happyforms_get_include_folder() . '/templates/preview-form-part.php' );
329
+ }
330
+
331
+ }
inc/classes/parts/class-part-checkbox.php ADDED
@@ -0,0 +1,357 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Part_Checkbox extends HappyForms_Form_Part {
4
+
5
+ public $type = 'checkbox';
6
+ public $template_id = 'happyforms-checkbox-template';
7
+ public $item_customize_template_id = 'happyforms-checkbox-option-customize-template';
8
+ public $item_frontend_template_id = 'happyforms-checkbox-option-frontend-template';
9
+
10
+ public function __construct() {
11
+ $this->label = __( 'Multiple Choice', 'happyforms' );
12
+ $this->description = __( 'For checkboxes allowing multiple selections.', 'happyforms' );
13
+ }
14
+
15
+ /**
16
+ * Get all part meta fields defaults.
17
+ *
18
+ * @since 1.0.0.
19
+ *
20
+ * @return array
21
+ */
22
+ public function get_customize_fields() {
23
+ return array(
24
+ 'type' => array(
25
+ 'default' => $this->type,
26
+ 'sanitize' => 'sanitize_text_field',
27
+ ),
28
+ 'label' => array(
29
+ 'default' => __( 'Options', 'happyforms' ),
30
+ 'sanitize' => 'sanitize_text_field',
31
+ ),
32
+ 'label_placement' => array(
33
+ 'default' => 'above',
34
+ 'sanitize' => 'sanitize_text_field'
35
+ ),
36
+ 'description' => array(
37
+ 'default' => '',
38
+ 'sanitize' => 'sanitize_text_field'
39
+ ),
40
+ 'width' => array(
41
+ 'default' => 'full',
42
+ 'sanitize' => 'sanitize_key'
43
+ ),
44
+ 'css_class' => array(
45
+ 'default' => '',
46
+ 'sanitize' => 'sanitize_text_field'
47
+ ),
48
+ 'display_type' => array(
49
+ 'default' => 'block',
50
+ 'sanitize' => 'sanitize_text_field'
51
+ ),
52
+ 'required' => array(
53
+ 'default' => 1,
54
+ 'sanitize' => 'happyforms_sanitize_checkbox',
55
+ ),
56
+ 'options' => array(
57
+ 'default' => array(),
58
+ 'sanitize' => 'happyforms_sanitize_array'
59
+ )
60
+ );
61
+ }
62
+
63
+ /**
64
+ * Get part option (sub-part) defaults.
65
+ *
66
+ * @since 1.0.0.
67
+ *
68
+ * @return array
69
+ */
70
+ public function get_option_defaults() {
71
+ return array(
72
+ 'is_default' => 0,
73
+ 'label' => ''
74
+ );
75
+ }
76
+
77
+ /**
78
+ * Get template for part item in customize pane.
79
+ *
80
+ * @since 1.0.0.
81
+ *
82
+ * @return string
83
+ */
84
+ public function customize_template() {
85
+ ?>
86
+ <p>
87
+ <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
88
+ <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
89
+ </p>
90
+ <p>
91
+ <label for="<%= instance.id %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
92
+ <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
93
+ <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
94
+ <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
95
+ <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
96
+ </select>
97
+ </p>
98
+ <p>
99
+ <label for="<%= instance.id %>_description"><?php _e( 'Description', 'happyforms' ); ?></label>
100
+ <textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
101
+ </p>
102
+ <p>
103
+ <label for="<%= instance.id %>_display_type"><?php _e( 'Display options', 'happyforms' ); ?></label>
104
+ <select id="<%= instance.id %>_display_type" name="display_type" data-bind="display_type" class="widefat">
105
+ <option value="inline"<%= (instance.display_type == 'inline') ? ' selected' : '' %>><?php _e( 'Horizontal', 'happyforms' ); ?></option>
106
+ <option value="block"<%= (instance.display_type == 'block') ? ' selected' : '' %>><?php _e( 'Vertical', 'happyforms' ); ?></option>
107
+ </select>
108
+ </p>
109
+ <p>
110
+ <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
111
+ <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
112
+ <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
113
+ <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
114
+ <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'One third', 'happyforms' ); ?></option>
115
+ </select>
116
+ </p>
117
+ <p>
118
+ <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
119
+ <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
120
+ </p>
121
+ <p>
122
+ <label>
123
+ <input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'This is a required field', 'happyforms' ); ?>
124
+ </label>
125
+ </p>
126
+ <ul class="options">
127
+ <h3><?php _e( 'Options', 'happyforms' ); ?></h3>
128
+ <% if ( !instance.options.length ) { %>
129
+ <p class="no-options"><?php _e( 'No options added yet. Add one by clicking the <i>Add option</i> link below.', 'happyforms' ); ?></p>
130
+ <% } %>
131
+ </ul>
132
+ <p class="links">
133
+ <a href="#" class="add-option"><?php _e( 'Add option', 'happyforms' ); ?></a>
134
+ </p>
135
+ <?php
136
+ }
137
+
138
+ /**
139
+ * Get template for option / sub-part item in customize pane.
140
+ *
141
+ * @since 1.0.0.
142
+ *
143
+ * @return string
144
+ */
145
+ public function customize_item_template() {
146
+ ?>
147
+ <li class="happyforms-part-widget happyforms-part-widget--sub">
148
+ <label>
149
+ <?php _e( 'Label', 'happyforms' ); ?>
150
+ <input type="text" class="widefat" name="" value="<%= label %>" data-option-attribute="label" data-preview-selector=".label">
151
+ </label>
152
+ <label>
153
+ <input type="checkbox" name="" value="1" class="default-option-switch"<% if (is_default == 1) { %> checked="checked"<% } %>> <?php _e( 'Checked by default', 'happyforms' ); ?>
154
+ </label>
155
+ <div class="option-actions">
156
+ <a href="#" class="delete-option"><?php _e( 'Delete', 'happyforms' ); ?></a>
157
+ </div>
158
+ </li>
159
+ <?php
160
+ }
161
+
162
+ /**
163
+ * Get front end part template with parsed data.
164
+ *
165
+ * @since 1.0.0.
166
+ *
167
+ * @param array $part_data Form part data.
168
+ * @param array $form_data Form (post) data.
169
+ *
170
+ * @return string Markup for the form part.
171
+ */
172
+ public function frontend_template( $part_data = array(), $form_data = array() ) {
173
+ $part_data = wp_parse_args( $part_data, $this->get_customize_defaults() );
174
+ $required_text = ($form_data && $form_data['ID'] != 0) ? get_post_meta( $form_data['ID'], 'hf_style_required_text', true ) : '<%= hf_style_required_text %>';
175
+
176
+ $classes = ' ';
177
+
178
+ if ( $part_data['width'] ) {
179
+ $classes .= 'happyforms-part--width-' . esc_attr( $part_data['width'] ) . ' ';
180
+ }
181
+
182
+ if ( $part_data['display_type'] == 'block') {
183
+ $classes .= 'display-type--block ';
184
+ }
185
+
186
+ if ( $part_data['label_placement'] ) {
187
+ $classes .= 'happyforms-part--label-' . esc_attr( $part_data['label_placement'] ) . ' ';
188
+ }
189
+
190
+ if ( !empty( $part_data['css_class'] ) ) {
191
+ $classes .= $part_data['css_class'];
192
+ }
193
+ ?>
194
+ <div class="happyforms-part happyforms-part-editable<?php echo esc_attr( $classes ); ?>" data-happyforms-id="<?php echo esc_attr( $part_data['id'] ); ?>" data-happyforms-field-name="label">
195
+ <?php
196
+ if ( $form_data ) :
197
+ happyforms_message_notices( $form_data, $part_data['id'] );
198
+ endif;
199
+ ?>
200
+ <div class="happyforms-part__wrap">
201
+ <label class="happyforms-part__label">
202
+ <span class="label"><?php echo esc_html( $part_data['label'] ); ?></span>
203
+ <?php if ( 1 === intval( $part_data['required'] ) ) : ?>
204
+ <span class="happyforms-required"> <?php echo $required_text; ?></span>
205
+ <?php endif; ?>
206
+ </label>
207
+ <span class="happyforms-part__description"><?php echo esc_html( $part_data['description'] ); ?></span>
208
+ <div class="happyforms-part__el">
209
+ <?php
210
+ if ( isset( $part_data['options'] ) ) {
211
+ $options = $part_data['options'];
212
+
213
+ foreach( $options as $option ) {
214
+ $option = wp_parse_args( $option, $this->get_option_defaults() );
215
+
216
+ $this->frontend_item_template( $part_data, $option, $part_data['required'] );
217
+ }
218
+ }
219
+ ?>
220
+ </div>
221
+ </div>
222
+ </div>
223
+ <?php
224
+ }
225
+
226
+ /**
227
+ * Get front end option (sub-part) template with parsed data.
228
+ *
229
+ * @since 1.0.0.
230
+ *
231
+ * @param array $part_data Form part data.
232
+ * @param array $option Option (form sub-part) data.
233
+ * @param int $requred Required field (1) or not.
234
+ *
235
+ * @return string Markup for the part option.
236
+ */
237
+ public function frontend_item_template( $part_data, $option, $required ) {
238
+ ?>
239
+ <label class="option-label" id="<?php echo esc_attr( $option['id'] ); ?>">
240
+ <input type="checkbox" name="<?php echo esc_attr( $part_data['id'] ); ?>[]" value="<?php echo esc_attr( $option['label'] ); ?>"<?php if ( $option['is_default'] == 1 ) : ?> checked<?php endif; ?><?php if ( 1 === intval( $required ) ) : ?> required aria-required="true"<?php endif; ?>> <span class="label"><?php echo esc_attr( $option['label'] ); ?></span>
241
+ </label>
242
+ <?php
243
+ }
244
+
245
+ /**
246
+ * Get option's Backbone template for preview purposes. Passed to previewer to create a new Backbone view.
247
+ *
248
+ * @since 1.0.0.
249
+ *
250
+ * @return string Backbone template.
251
+ */
252
+ public function preview_option_template() {
253
+ ?>
254
+ <label class="option-label" id="<%= id %>">
255
+ <input type="checkbox" name="" value="<%= label %>"> <span class="label"><%= label %></span>
256
+ </label>
257
+ <?php
258
+ }
259
+
260
+ /**
261
+ * Enqueue scripts in customizer area.
262
+ *
263
+ * @since 1.0.0.
264
+ *
265
+ * @param array List of dependencies.
266
+ *
267
+ * @return void
268
+ */
269
+ public function customize_enqueue_scripts( $deps = array() ) {
270
+ wp_enqueue_script(
271
+ 'part-checkbox',
272
+ happyforms_get_plugin_url() . 'assets/js/parts/part-checkbox.js',
273
+ $deps,
274
+ false,
275
+ true
276
+ );
277
+ }
278
+
279
+ /**
280
+ * Get all possible messages definitions.
281
+ *
282
+ * @since 1.0.0.
283
+ *
284
+ * @return array Associative array, specifying message type and copy.
285
+ */
286
+ public function get_message_definitions() {
287
+ return array(
288
+ 'missing_required_field' => array(
289
+ 'type' => 'error',
290
+ 'message' => __( 'This field is required.', 'happyforms' ),
291
+ ),
292
+ 'not_valid_value' => array(
293
+ 'type' => 'error',
294
+ 'message' => __( 'Checkbox values are not valid.', 'happyforms' )
295
+ )
296
+ );
297
+ }
298
+
299
+ /**
300
+ * Sanitize submitted value before storing it.
301
+ *
302
+ * @since 1.0.0.
303
+ *
304
+ * @param array $part_data Form part data.
305
+ *
306
+ * @return array
307
+ */
308
+ public function sanitize_value( $part_data = array() ) {
309
+ $sanitized_value = $this->get_default_value();
310
+ $part_id = $part_data['id'];
311
+
312
+ if ( isset( $_REQUEST[$part_id] ) ) {
313
+ $requested_data = $_REQUEST[$part_id];
314
+
315
+ if ( is_array( $requested_data ) ) {
316
+ $sanitized_value = array_map( 'sanitize_text_field', $requested_data );
317
+
318
+ return $sanitized_value;
319
+ }
320
+ }
321
+ }
322
+
323
+ /**
324
+ * Validate value before submitting it. If it fails validation, return WP_Error object, showing respective error message.
325
+ *
326
+ * @since 1.0.0.
327
+ *
328
+ * @param array $part_data Form part data.
329
+ * @param string $value Submitted value.
330
+ *
331
+ * @return string|object
332
+ */
333
+ public function validate_value( $part_data, $value ) {
334
+ $part_id = $part_data['id'];
335
+ $validated_value = $value;
336
+
337
+ if ( 1 === $part_data['required'] && empty( $validated_value ) ) {
338
+ $validated_value = new WP_Error( $part_id, 'missing_required_field' );
339
+ }
340
+
341
+ // Check for possible options entered when creating a form. If there's no such option, return WP_Error
342
+ $possible_options = array();
343
+
344
+ foreach ( $part_data['options'] as $option ) {
345
+ array_push( $possible_options, $option['label'] );
346
+ }
347
+
348
+ foreach ( $validated_value as $value ) {
349
+ if ( !in_array( $value, $possible_options ) ) {
350
+ $validated_value = new WP_Error( $part_id, 'not_valid_value' );
351
+ }
352
+ }
353
+
354
+ return $validated_value;
355
+ }
356
+
357
+ }
inc/classes/parts/class-part-country.php ADDED
@@ -0,0 +1,282 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Part_Country extends HappyForms_Form_Part {
4
+
5
+ public $type = 'country';
6
+ public $template_id = 'happyforms-country-template';
7
+
8
+ public function __construct() {
9
+ $this->label = __( 'Country', 'happyforms' );
10
+ $this->description = __( 'For selecting one country from a dropdown. Default value adjustable.', 'happyforms' );
11
+ }
12
+
13
+ /**
14
+ * Get all part meta fields defaults.
15
+ *
16
+ * @since 1.0.0.
17
+ *
18
+ * @return array
19
+ */
20
+ public function get_customize_fields() {
21
+ return array(
22
+ 'type' => array(
23
+ 'default' => $this->type,
24
+ 'sanitize' => 'sanitize_text_field',
25
+ ),
26
+ 'label' => array(
27
+ 'default' => __( 'Country', 'happyforms' ),
28
+ 'sanitize' => 'sanitize_text_field',
29
+ ),
30
+ 'label_placement' => array(
31
+ 'default' => 'above',
32
+ 'sanitize' => 'sanitize_text_field'
33
+ ),
34
+ 'description' => array(
35
+ 'default' => '',
36
+ 'sanitize' => 'sanitize_text_field'
37
+ ),
38
+ 'width' => array(
39
+ 'default' => 'full',
40
+ 'sanitize' => 'sanitize_key'
41
+ ),
42
+ 'css_class' => array(
43
+ 'default' => '',
44
+ 'sanitize' => 'sanitize_text_field'
45
+ ),
46
+ 'placeholder' => array(
47
+ 'default' => '',
48
+ 'sanitize' => 'sanitize_text_field',
49
+ ),
50
+ 'default_country' => array(
51
+ 'default' => '',
52
+ 'sanitize' => 'sanitize_text_field'
53
+ ),
54
+ 'required' => array(
55
+ 'default' => 1,
56
+ 'sanitize' => 'happyforms_sanitize_checkbox',
57
+ ),
58
+ );
59
+ }
60
+
61
+ /**
62
+ * Get template for part item in customize pane.
63
+ *
64
+ * @since 1.0.0.
65
+ *
66
+ * @return string
67
+ */
68
+ public function customize_template() {
69
+ ?>
70
+ <p>
71
+ <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
72
+ <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
73
+ </p>
74
+ <p>
75
+ <label for="<%= instance.id %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
76
+ <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
77
+ <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
78
+ <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
79
+ <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
80
+ </select>
81
+ </p>
82
+ <p>
83
+ <label for="<%= instance.id %>_description"><?php _e( 'Description', 'happyforms' ); ?></label>
84
+ <textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
85
+ </p>
86
+ <p>
87
+ <label for="<%= instance.id %>_default_country"><?php _e( 'Default Country', 'happyforms' ); ?></label>
88
+ <select id="<%= instance.id %>_default_country" name="default_country" data-bind="default_country" class="widefat">
89
+ <option value=""><?php _e( 'None', 'happyforms' ); ?></option>
90
+ <?php
91
+ $countries = $this->get_countries_array();
92
+
93
+ foreach ( $countries as $country ) {
94
+ ?>
95
+ <option value="<?php echo $country; ?>"<%= ( instance.default_country == "<?php echo $country; ?>" ) ? ' selected' : '' %>><?php echo $country; ?></option>
96
+ <?php
97
+ }
98
+ ?>
99
+ </select>
100
+ </p>
101
+ <p>
102
+ <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
103
+ <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
104
+ <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
105
+ <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
106
+ <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'One third', 'happyforms' ); ?></option>
107
+ </select>
108
+ </p>
109
+ <p>
110
+ <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
111
+ <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
112
+ </p>
113
+ <p>
114
+ <label>
115
+ <input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'This is a required field', 'happyforms' ); ?>
116
+ </label>
117
+ </p>
118
+ <?php
119
+ }
120
+
121
+ /**
122
+ * Get front end part template with parsed data.
123
+ *
124
+ * @since 1.0.0.
125
+ *
126
+ * @param array $part_data Form part data.
127
+ * @param array $form_data Form (post) data.
128
+ *
129
+ * @return string Markup for the form p