WordPress Landing Pages - Version 1.6.2

Version Description

  • Bug Fix: Fix with lead email notifications
Download this release

Release Info

Developer adbox
Plugin Icon 128x128 WordPress Landing Pages
Version 1.6.2
Comparing to
See all releases

Code changes from version 1.8.5 to 1.6.2

Files changed (211) hide show
  1. Gruntfile.js +0 -19
  2. README.md +55 -243
  3. classes/class.activation.php +64 -112
  4. classes/class.activation.upgrade-routines.php +3 -23
  5. classes/class.branching.php +0 -44
  6. classes/class.load-extensions.php +0 -343
  7. classes/class.post-type.landing-page.php +0 -442
  8. classes/class.statistics.php +0 -128
  9. css/admin-lp-cpt-only-style.css +6 -11
  10. css/admin-post-edit.css +12 -23
  11. css/admin-post-new.css +0 -3
  12. css/admin-style.css +13 -16
  13. css/new-customizer-admin.css +11 -23
  14. images/image.php +32 -36
  15. js/admin/admin.metaboxes.js +1 -1
  16. js/admin/admin.post-edit.js +178 -8
  17. js/admin/new-customizer-admin.js +5 -6
  18. js/ajax.clearstats.js +1 -1
  19. js/customizer.save.js +143 -0
  20. js/jquery.form-population.js +1 -1
  21. js/page_view_track.js +6 -0
  22. landing-pages.php +47 -121
  23. lang/.tx/config +0 -7
  24. lang/landing-pages-ach.mo +0 -0
  25. lang/landing-pages-af.mo +0 -0
  26. lang/landing-pages-an.mo +0 -0
  27. lang/landing-pages-ar.mo +0 -0
  28. lang/landing-pages-as.mo +0 -0
  29. lang/landing-pages-az.mo +0 -0
  30. lang/landing-pages-be.mo +0 -0
  31. lang/landing-pages-be_BY.mo +0 -0
  32. lang/landing-pages-bg.mo +0 -0
  33. lang/landing-pages-bg_BG.mo +0 -0
  34. lang/landing-pages-bn_BD.mo +0 -0
  35. lang/landing-pages-br.mo +0 -0
  36. lang/landing-pages-bs.mo +0 -0
  37. lang/landing-pages-bs_BA.mo +0 -0
  38. lang/landing-pages-ca.mo +0 -0
  39. lang/landing-pages-co.mo +0 -0
  40. lang/landing-pages-cs_CZ.mo +0 -0
  41. lang/landing-pages-cy.mo +0 -0
  42. lang/landing-pages-da_DK.mo +0 -0
  43. lang/landing-pages-de_AT.mo +0 -0
  44. lang/landing-pages-de_CH.mo +0 -0
  45. lang/landing-pages-de_DE.mo +0 -0
  46. lang/landing-pages-dv.mo +0 -0
  47. lang/landing-pages-el.mo +0 -0
  48. lang/landing-pages-en@pirate.mo +0 -0
  49. lang/landing-pages-en_AU.mo +0 -0
  50. lang/landing-pages-en_CA.mo +0 -0
  51. lang/landing-pages-en_GB.mo +0 -0
  52. lang/landing-pages-eo.mo +0 -0
  53. lang/landing-pages-es_AR.mo +0 -0
  54. lang/landing-pages-es_CL.mo +0 -0
  55. lang/landing-pages-es_ES.mo +0 -0
  56. lang/landing-pages-es_MX.mo +0 -0
  57. lang/landing-pages-es_PE.mo +0 -0
  58. lang/landing-pages-es_VE.mo +0 -0
  59. lang/landing-pages-et.mo +0 -0
  60. lang/landing-pages-eu.mo +0 -0
  61. lang/landing-pages-fa.mo +0 -0
  62. lang/landing-pages-fa_IR.mo +0 -0
  63. lang/landing-pages-fi.mo +0 -0
  64. lang/landing-pages-fo.mo +0 -0
  65. lang/landing-pages-fr_FR.mo +0 -0
  66. lang/landing-pages-fy.mo +0 -0
  67. lang/landing-pages-ga.mo +0 -0
  68. lang/landing-pages-gd.mo +0 -0
  69. lang/landing-pages-gl_ES.mo +0 -0
  70. lang/landing-pages-gu_IN.mo +0 -0
  71. lang/landing-pages-he_IL.mo +0 -0
  72. lang/landing-pages-hi_IN.mo +0 -0
  73. lang/landing-pages-hr.mo +0 -0
  74. lang/landing-pages-hu_HU.mo +0 -0
  75. lang/landing-pages-hy.mo +0 -0
  76. lang/landing-pages-id.mo +0 -0
  77. lang/landing-pages-id_ID.mo +0 -0
  78. lang/landing-pages-is_IS.mo +0 -0
  79. lang/landing-pages-it_IT.mo +0 -0
  80. lang/landing-pages-ja.mo +0 -0
  81. lang/landing-pages-jv.mo +0 -0
  82. lang/landing-pages-ka.mo +0 -0
  83. lang/landing-pages-ka_GE.mo +0 -0
  84. lang/landing-pages-kk.mo +0 -0
  85. lang/landing-pages-km.mo +0 -0
  86. lang/landing-pages-kn.mo +0 -0
  87. lang/landing-pages-ko_KR.mo +0 -0
  88. lang/landing-pages-ku.mo +0 -0
  89. lang/landing-pages-ky.mo +0 -0
  90. lang/landing-pages-lo.mo +0 -0
  91. lang/landing-pages-lt_LT.mo +0 -0
  92. lang/landing-pages-lv.mo +0 -0
  93. lang/landing-pages-mg.mo +0 -0
  94. lang/landing-pages-mk_MK.mo +0 -0
  95. lang/landing-pages-mn.mo +0 -0
  96. lang/landing-pages-mr.mo +0 -0
  97. lang/landing-pages-ms_MY.mo +0 -0
  98. lang/landing-pages-my_MM.mo +0 -0
  99. lang/landing-pages-nb_NO.mo +0 -0
  100. lang/landing-pages-ne_NP.mo +0 -0
  101. lang/landing-pages-nl.mo +0 -0
  102. lang/landing-pages-nl_NL.mo +0 -0
  103. lang/landing-pages-nn_NO.mo +0 -0
  104. lang/landing-pages-oc.mo +0 -0
  105. lang/landing-pages-os.mo +0 -0
  106. lang/landing-pages-pap.mo +0 -0
  107. lang/landing-pages-pl_PL.mo +0 -0
  108. lang/landing-pages-ps.mo +0 -0
  109. lang/landing-pages-pt_BR.mo +0 -0
  110. lang/landing-pages-pt_PT.mo +0 -0
  111. lang/landing-pages-ro_RO.mo +0 -0
  112. lang/landing-pages-ru_RU.mo +0 -0
  113. lang/landing-pages-sah.mo +0 -0
  114. lang/landing-pages-si_LK.mo +0 -0
  115. lang/landing-pages-sk_SK.mo +0 -0
  116. lang/landing-pages-sl_SI.mo +0 -0
  117. lang/landing-pages-so.mo +0 -0
  118. lang/landing-pages-sq.mo +0 -0
  119. lang/landing-pages-sr_RS.mo +0 -0
  120. lang/landing-pages-su.mo +0 -0
  121. lang/landing-pages-sv_SE.mo +0 -0
  122. lang/landing-pages-sw.mo +0 -0
  123. lang/landing-pages-ta_IN.mo +0 -0
  124. lang/landing-pages-ta_LK.mo +0 -0
  125. lang/landing-pages-te.mo +0 -0
  126. lang/landing-pages-tg.mo +0 -0
  127. lang/landing-pages-th.mo +0 -0
  128. lang/landing-pages-tk_TM.mo +0 -0
  129. lang/landing-pages-tl.mo +0 -0
  130. lang/landing-pages-tr_TR.mo +0 -0
  131. lang/landing-pages-tzm.mo +0 -0
  132. lang/landing-pages-ug.mo +0 -0
  133. lang/landing-pages-uk.mo +0 -0
  134. lang/landing-pages-ur.mo +0 -0
  135. lang/landing-pages-ur_PK.mo +0 -0
  136. lang/landing-pages-uz.mo +0 -0
  137. lang/landing-pages-vi.mo +0 -0
  138. lang/landing-pages-zh_CN.GB2312.mo +0 -0
  139. lang/landing-pages-zh_CN.mo +0 -0
  140. lang/landing-pages-zh_HK.mo +0 -0
  141. lang/landing-pages-zh_TW.mo +0 -0
  142. lang/landing-pages.mo +0 -0
  143. lang/landing-pages.po +948 -1576
  144. modules/module.ab-testing.php +32 -31
  145. modules/module.addon.php +4 -6
  146. modules/module.ajax-setup.php +1 -1
  147. modules/module.alert.php +2 -29
  148. modules/module.click-tracking.php +36 -50
  149. modules/module.clone.php +1 -1
  150. modules/module.customizer.php +1 -1
  151. modules/module.global-settings.php +40 -45
  152. modules/module.install.php +70 -66
  153. modules/module.javascript-admin.php +10 -16
  154. modules/module.javascript-frontend.php +85 -26
  155. modules/module.landing-page.php +68 -27
  156. modules/module.metaboxes-global.php +11 -7
  157. modules/module.metaboxes.php +10 -6
  158. modules/module.post-type.php +429 -430
  159. modules/module.redirect-ab-testing.php +23 -62
  160. modules/module.store.php +1 -1
  161. modules/module.templates.php +16 -18
  162. modules/module.track.php +1 -50
  163. modules/module.utils.php +28 -0
  164. package.json +0 -45
  165. phpunit.xml.dist +2 -2
  166. readme.txt +4 -61
  167. shared/.SyncIgnore +13 -0
  168. shared/assets/{css/admin → admin/css}/global-inbound-admin.css +144 -153
  169. shared/assets/{css/admin → admin/css}/image-picker.css +0 -0
  170. shared/assets/{css/admin → admin/css}/inbound-metaboxes.css +75 -74
  171. shared/assets/{images/admin → admin/images}/inbound-now-logo.png +0 -0
  172. shared/assets/{js/admin → admin/js}/image-picker.js +0 -0
  173. shared/assets/{js/admin → admin/js}/select2.js +1 -1
  174. shared/assets/{js/admin → admin/js}/select2.min.js +0 -0
  175. shared/assets/assets.loader.class.php +175 -196
  176. shared/assets/css/admin/wpadminbar.css +0 -154
  177. shared/assets/frontend/js/form-population.js +1 -0
  178. shared/assets/frontend/js/inprogress-tracking.js +137 -0
  179. shared/assets/frontend/js/page-tracking-new.js +1324 -0
  180. shared/assets/frontend/js/page-tracking.js +693 -0
  181. shared/assets/frontend/js/store.lead.ajax-new.js +699 -0
  182. shared/assets/frontend/js/store.lead.ajax.js +700 -0
  183. shared/assets/{fonts → global/fonts}/fontawesome/FontAwesome.otf +0 -0
  184. shared/assets/{fonts → global/fonts}/fontawesome/README.md +0 -0
  185. shared/assets/{fonts → global/fonts}/fontawesome/fontawesome-webfont.eot +0 -0
  186. shared/assets/global/fonts/fontawesome/fontawesome-webfont.eot~HEAD +0 -0
  187. shared/assets/global/fonts/fontawesome/fontawesome-webfont.svg +414 -0
  188. shared/assets/{fonts/fontawesome/fontawesome-webfont.svg → global/fonts/fontawesome/fontawesome-webfont.svg~HEAD} +0 -0
  189. shared/assets/{fonts → global/fonts}/fontawesome/fontawesome-webfont.ttf +0 -0
  190. shared/assets/global/fonts/fontawesome/fontawesome-webfont.ttf~HEAD +0 -0
  191. shared/assets/{fonts → global/fonts}/fontawesome/fontawesome-webfont.woff +0 -0
  192. shared/assets/global/fonts/fontawesome/fontawesome-webfont.woff~HEAD +0 -0
  193. shared/assets/{images/global → global/images}/leads.png +0 -0
  194. shared/assets/{images/global → global/images}/shortcodes-blue.png +0 -0
  195. shared/assets/{js/global → global/js}/jquery.cookie.js +0 -0
  196. shared/assets/{js/global → global/js}/jquery.total-storage.min.js +0 -0
  197. shared/assets/includes/Snowplow/RefererParser/Config/INBOUND_ConfigFileReaderTrait.php +0 -54
  198. shared/assets/includes/Snowplow/RefererParser/Config/INBOUND_ConfigReaderInterface.php +0 -15
  199. shared/assets/includes/Snowplow/RefererParser/Config/INBOUND_JsonConfigReader.php +0 -57
  200. shared/assets/includes/Snowplow/RefererParser/Exception/INBOUND_InvalidArgumentException.php +0 -9
  201. shared/assets/includes/Snowplow/RefererParser/INBOUND_Medium.php +0 -16
  202. shared/assets/includes/Snowplow/RefererParser/INBOUND_Parser.php +0 -266
  203. shared/assets/includes/Snowplow/RefererParser/INBOUND_Referer.php +0 -78
  204. shared/assets/includes/referers.json +0 -3890
  205. shared/assets/js/frontend/analytics-src/analytics.events.js +0 -529
  206. shared/assets/js/frontend/analytics-src/analytics.examples.js +0 -185
  207. shared/assets/js/frontend/analytics-src/analytics.forms.js +0 -1010
  208. shared/assets/js/frontend/analytics-src/analytics.hooks.js +0 -404
  209. shared/assets/js/frontend/analytics-src/analytics.init.js +0 -130
  210. shared/assets/js/frontend/analytics-src/analytics.lead.js +0 -88
  211. shared/assets/js/frontend/analytics-src/analytics.page.js +0 -346
Gruntfile.js DELETED
@@ -1,19 +0,0 @@
1
- /* for main build processes we use gulp see gulpfile.js */
2
- module.exports = function(grunt) {
3
-
4
- grunt.initConfig({
5
- pkg: grunt.file.readJSON('package.json'),
6
- wp_readme_to_markdown: {
7
- cta: {
8
- files: {
9
- 'readme.md': 'readme.txt'
10
- },
11
- },
12
- },
13
- });
14
-
15
- grunt.loadNpmTasks('grunt-wp-readme-to-markdown');
16
-
17
- grunt.registerTask('default', ['wp_readme_to_markdown']);
18
-
19
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
README.md CHANGED
@@ -1,21 +1,24 @@
1
- ![](https://travis-ci.org/inboundnow/landing-pages.svg?branch=master)
2
 
3
- # WordPress Landing Pages #
 
4
 
5
- **Contributors:** David Wells, Hudson Atwell
6
- **Donate link:** mailto:marketplace@inboundnow.com
7
- **License:** GPLv2 or later
8
- **License URI:** http://www.gnu.org/licenses/gpl-2.0.html
9
- **Tags:** landing pages, inbound marketing, conversion pages, split testing, a b test, a b testing, a/b test, a/b testing, coming soon page, email list, landing page, list building, maintenance page, squeeze page, inbound now, landing-pages, splash pages, cpa, click tracking, goal tracking, analytics, free landing page templates
10
- **Requires at least:** 3.8
11
- **Tested up to:** 4.1
12
- **Stable Tag:** 1.8.0
13
 
14
- Create landing pages for your WordPress site. Monitor and improve conversion rates, run A/B split tests, customize your own templates and more.
 
 
 
 
 
 
 
 
 
15
 
16
- ## Description ##
17
 
18
- > WordPress Landing Pages works as a standalone plugin or hand in hand with [WordPress Calls to Action](http://wordpress.org/plugins/cta/ "Learn more about Calls to Action") & [WordPress Leads](http://wordpress.org/plugins/leads/ "Learn more about WordPress Leads") to create a powerful & free lead generation system for your business.
19
 
20
  This plugin creates landing pages (a.k.a. conversion or splash pages) for your WordPress site. It gives site owners the ability to monitor and track conversion rates, run a/b or multivariate split tests on landing pages, and most importantly increase lead flow!
21
 
@@ -23,7 +26,7 @@ The landing page plugin was specifically designed with inbound marketing best pr
23
 
24
  Landing pages are an ideal way to convert more of your passive website visitors into active leads or email list subscribers.
25
 
26
- ### Highlights ###
27
 
28
  * Create beautiful Landing Pages on your WordPress site.
29
  * Visual Editor to view changes being made on the fly!
@@ -39,321 +42,130 @@ This plugin is form agnostic meaning it will work with any form system you use.
39
 
40
  Recommended form plugins (Gravity forms, Ninja Forms or Contact form 7)
41
 
42
- ### About the Plugin ###
43
 
44
- http://www.youtube.com/watch?v=flEd0sRTFUo
45
 
46
- ### Developers & Designers ###
47
 
48
  We built the landing page plugin as a framework! Need A/B testing out of the box implemented for your existing designs? Use WordPress Landing Pages to quickly spin up new landing pages that have all the functionality your clients will need.
49
 
50
- You can quickly take your existing designs and implement them using our <a href="http://docs.inboundnow.com/section/developer/">templating framework</a>.
51
 
52
  The plugin is also fully extendable and has a number of actions, filters, and hooks available for use. If a hook doesn't exist, simply ask and we can implement custom changes.
53
 
54
-
55
- [Follow Development on GitHub ](https://github.com/inboundnow/landing-pages "Follow & Contribute to core development on GitHub")
56
- |
57
- [Follow Development on Twitter ](https://twitter.com/gitlandingpages "See our latest development commits on Twitter")
58
-
59
-
60
- ## Installation ##
61
 
62
  1. Upload `landing-pages` folder to the `/wp-content/plugins/` directory
63
  1. Activate the plugin through the 'Plugins' menu in WordPress
64
 
65
- ## Frequently Asked Questions ##
66
  *Can I create my own landing page designs?,
67
- *Yes! You can learn how to <a href="http://docs.inboundnow.com/guide/creating-landing-page-templates/">create your own landing page template here</a>.
68
-
69
- ## Screenshots ##
70
-
71
- ### 1. Landing Page Custom Post Type ###
72
- ![Landing Page Custom Post Type](screenshot-1.jpg)
73
-
74
- ### 2. Track conversion rates and continuously improve your landing pages ###
75
- ![Track conversion rates and continuously improve your landing pages](screenshot-2.jpg)
76
-
77
- ### 3. Manage Split Testing Page ###
78
- ![Manage Split Testing Page](screenshot-3.jpg)
79
-
80
- ### 4. Choose from a ton of pre-made templates, use your existing design, or design your own theme! ###
81
- ![Choose from a ton of pre-made templates, use your existing design, or design your own theme!](screenshot-4.jpg)
82
-
83
-
84
- ## Changelog ##
85
- ### 1.8.0 ###
86
- * Fixing addon store
87
-
88
- ### 1.7.9 ###
89
- * Even more security updates! Security for the win!
90
-
91
- ### 1.7.8 ###
92
- * Security Patch
93
-
94
- ### 1.7.7 ###
95
- * Fix double lead notification email
96
-
97
- ### 1.7.6 ###
98
- * Fixed double email submission on contact form 7
99
-
100
- ### 1.7.5 ###
101
- * Added form field exclusions to ignore sensitive data
102
-
103
- ### 1.7.3 ###
104
- * See changelog here: https://github.com/inboundnow/landing-pages/issues?q=is%3Aissue+is%3Aclosed+label%3Av1.7.3
105
-
106
- ### 1.7.2 ###
107
- * Improved form email typo detection
108
- * Improved Template Styles
109
- * Fixed content wysiwyg scroll freezing bug
110
-
111
- ### 1.7.1 ###
112
- * removed iframe of inbound now addon store. For addons please visit: http://inboundnow.com/market
113
 
114
- ### 1.7.0 ###
115
- * Removed anonymous PHP functions for PHP 5.2 support
116
- * Updated template creation standards
117
- * Converted varition modules to CLASS based system & documented
118
- * Move /lang/ file outside of shared
119
-
120
- ### 1.6.2 ###
121
- * Bug Fix: Fix with lead email notifications
122
-
123
- ### 1.5.9 ###
124
- * Various bug fixes.
125
- * Refactored main plugin file to class loader.
126
- * Improved localization systems.
127
-
128
- ### 1.5.8 ###
129
- * Bug Fix: Check all required fields
130
-
131
- ### 1.5.7 ###
132
- * Improvement: All core template now use new consolidated settings system.
133
- * Improvement: Leads Dashboard styling & stats
134
- * Improvement: Screenshots on local installation replaced with template thumbnails.
135
-
136
-
137
- ### 1.5.6 ###
138
- * Fix to insert marketing shortcode popup
139
-
140
- ### 1.5.5 ###
141
- * Added events to lead tracking
142
- * Bug Fix: Marketing Button
143
- * Optimized CTA Tracking JS.
144
- * Expanded impression/conversion analytics to all post types.
145
 
146
- ### 1.5.4 ###
147
- * Impression tracking bug fix.
148
- * Bringing Inbound Tracking to All Posts/Pages
 
149
 
150
- ### 1.5.3 ###
151
- * Temporary fix for shortcodes disappearing from wordpress 3.8 to 3.9
152
- * Performance improvements on analytics and lead tracking
153
 
154
- ### 1.5.1 ###
155
- * Misc bug fixes
156
-
157
- ### 1.5.0 ###
158
- * fixed field mapping bug
159
- * Added better compability for js conflicts
160
- * Prepping for marketing automation
161
-
162
- ### 1.4.9 ###
163
- * Fixed and improved default landing page templates
164
- * Updates to work with V2 of the CTA plugins
165
- * Improved form compatibilty with contact form 7, gravity forms, and ninja forms
166
- * Numerous bug files and code improvements
167
-
168
- ### 1.4.8 ###
169
- * Added Google Analytics Custom Event Tracking for form submissions
170
- * Added Ability: automatically sort leads into lists on form completions
171
- * Added Ability: Send lead notification emails to multiple people. Use comma separated values
172
- * Improved Social Media Buttons called with lp_social_media() function
173
- * Fixed qTranslate plugin bug
174
- * Fixed Genesis Title tag conflict
175
- * Added improved asset loader
176
- * Updated main docs.inboundnow.com site. Check it out!
177
-
178
- ### 1.4.7 ###
179
- * GPL fix with js library
180
-
181
- ### 1.4.6 ###
182
- * New Feature: Bulk Lead management with leads plugin wordpress.org/plugins/leads/
183
- * Added tags to lead profiles for improved management/categorization
184
- * Added new compatibility options to fix third party plugin conflicts!
185
- * Added new debugging javascript debugging tools for users
186
- * Fixed Email Sending Error on forms
187
- * Improved support for master license keys
188
-
189
- ### 1.4.5 ###
190
- * Added New HTML Lead Email Template with clickable links for faster lead management
191
- * Added Button Shortcodes!
192
- * Added HTML field option to form tool
193
- * Added Divider Option to Form tool
194
- * Added multi column support to icon list shortcode
195
- * Added Font Awesome Icons option to Inbound Form Submit buttons
196
- * Added Social Sharing Shortcode
197
- * Bug fix - emails not sending after form conversion fixed
198
-
199
- ### 1.4.1 ###
200
- * Bug fix - missing trackingObj
201
-
202
- ### 1.4.0 ###
203
- * Added feature request form to all plugin admin pages. Submit your feature requests today! =)
204
-
205
- ### 1.3.9 ###
206
- * Bug fixes for form creation issues
207
- * Bug fixes for safari page tracking not firing
208
- * Added quick menu to WP admin bar for quicker marketing!
209
-
210
- ### 1.3.8 ###
211
- * Updated styles to 3.8 wordpress
212
- * Streamlined form creation
213
- * fixed rogue PHP errors
214
-
215
- ### 1.3.7 ###
216
- * Added: Shortcode now automatically render in landing page option echos in templates
217
- * Updated: Visual Editor tool
218
- * Updated: Template selection interface
219
- * Updated: Major updates to core templates, CSS tweaks and fixes
220
- * Fixed: Shortcode insert into correct editor box
221
- * Fixed: editor always on HTML view
222
-
223
- ### 1.3.6 ###
224
-
225
- * Added: New Shortcodes! Fancy List and Column shortcodes
226
- * Added: Added email confirmation support to Inbound Forms tool
227
- * Added: Added New Welcome Page with Tutorial Video on Getting Started
228
- * Added: New Debug Tab for faster support requests/debugging
229
- * Fixed: CSS conflicts with button classes
230
-
231
- ### 1.3.1 ###
232
-
233
- * Added: Added InboundNow form creation and management system (beta)
234
- * Added: Support for InboundNow cross plugin extensions
235
- * Added: 'Sticky Variations' to global settings.
236
- * Added: Easier way for extension developers to license their extensions.
237
- * Added: 'header' setting component to global settings.
238
- * Fixed: Security issues
239
- * Improvement: Improved data management for global settings, metaboxes, and extensions.
240
-
241
- ### 1.2.3 ###
242
-
243
- * Fixed: Security issue with vulnerability to sql injection.
244
-
245
- ### 1.2.1 ###
246
-
247
- * Fixed: Issues with shortcodes rendering in wp-admin for variations.
248
-
249
- ### 1.1.9 ###
250
-
251
- * Fixed: Issues with navigation menu items breaking on landing pages with the default template selected.
252
-
253
- ### 1.1.8 ###
254
-
255
- * Fixed: Issue with post_content not saving for variations.
256
- * Added: [lp_conversion_area] Shortcode. It renders form conversion area anywhere on landing page
257
- * Fixed: Restored the ability to delete custom templates from 'Templates' section.
258
-
259
- ### 1.1.7 ###
260
-
261
- * Fixed: Issue with extension license keys not validating
262
- * Fixed: Issue with shortcodes not firing on select core templates
263
- * Improvement: Converted global settings data array to new easier to read format for development, added in legacy support.
264
-
265
- ### 1.1.0.1 ###
266
 
267
  * Fixed: Variation saves for custom css and custom js.
268
  * Fixed: jQuery error related to wysiwyg content formatting.
269
 
270
- ### 1.0.9.9 ###
271
  * Improved extension metabox loading for quicker load times and optimized meta data storage.
272
  * Phased out more 'old method' split testing components.
273
  * Improved .htaccess parsing.
274
  * Addressed issue with line breaks being removed from WYSIWYG editors.
275
 
276
- ### 1.0.9.4 ###
277
  * Added in tours for the edit screen and the list of landing page screen for new users to learn how to use the tool quickly and easily
278
  * Updated conversion tracking for wp-leads addon plugin
279
  * Added in option for default templates to toggle on/off navigation
280
 
281
- ### 1.0.9.3 ###
282
 
283
  * Removed old A/B split testing and the new system is fully in place!
284
 
285
- ### 1.0.9.0 ###
286
 
287
  * Added in A/B stats to the main landing page list view
288
 
289
- ### 1.0.8.6 ###
290
 
291
  * Release new and improved version of A/B testing!
292
  * Ajax saving on landing page options for faster page edits
293
  * Frontend Visual Editor to see what you are editing/changing
294
  * Enabled frontend editor for use on normal pages and posts
295
 
296
- ### 1.0.8.5 ###
297
 
298
  Providing better conversion and impression tracking for landing pages that are set as homepage.
299
 
300
- ### 1.0.8.4 ###
301
 
302
  Fixing activation bug
303
 
304
- ### 1.0.8.1 ###
305
 
306
  Fixing issue with jquery submission errors.
307
 
308
- ### 1.0.7.9 ###
309
 
310
  Added capability to activate and update license keys for premium extensions. Added ability to define white listed HTML elements for Form Standardization process.
311
 
312
- ### 1.0.7.3 ###
313
 
314
  Fixed issue with WP_List_table causing posts to to save or edit propperly Attempt 001
315
 
316
- ### 1.0.7.1 ###
317
 
318
  Added cookie based auto-field population & lead data collection to core.
319
 
320
- ### 1.0.5.6 ###
321
 
322
  Fixed issue with global setting's radio buttons not holding new set values.
323
 
324
- ### 1.0.5.3 ###
325
 
326
  Solutions for custom post type wp rewrite issue on activation.
327
 
328
- ### 1.0.5.1 ###
329
 
330
  Introducing version control system for extensions.
331
 
332
- ### 1.0.4.4 ###
333
 
334
  Migrating store to new location. Updating version control systems
335
 
336
- ### 1.0.4.2 ###
337
 
338
  Added new defitions to form standardization parser. Limited .htaccess rewrites to plugin activation to try and mitigate .htaccess corruptions.
339
 
340
- ### 1.0.4.1 ###
341
 
342
  Fixed issue with conversions not recording on some servers by forcing form submittal to wait until ajax has completely finnished loading before continuing to process form.
343
 
344
- ### 1.0.3.9 ###
345
 
346
  Fixed issue with plugins and wp core refusing to update on some installations when landing page plugin is activated.
347
 
348
- ### 1.0.3.8 ###
349
 
350
  Debugging cross browser impressions and conversion tracking. Implemented soltion for url-to-postid conversions that's compatible with the /slug/ removal extension for landing pages plugin.
351
  Added email validation check to prevent false positives when form standardization is turned on.
352
 
353
- ### 1.0.3.7 ###
354
 
355
- **Bug Fix:** 'Clear Stats' button.
356
 
357
- ### 1.1 ###
358
 
359
  Released
 
 
1
+ [![Build Status](https://travis-ci.org/inboundnow/landing-pages.png?branch=master)](https://travis-ci.org/inboundnow/landing-pages)
2
 
3
+ landing-pages
4
+ =============
5
 
6
+ WordPress Landing Pages - Plugin
 
 
 
 
 
 
 
7
 
8
+ === WordPress Landing Pages ===
9
+
10
+ Contributors: David Wells, adbox
11
+ Donate link: mailto:Hudson.Atwell@gmail.com
12
+ License: GPLv2 or later
13
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
14
+ Tags: landing pages, inbound marketing, conversion pages, split testing, a b test, a b testing, a/b test, a/b testing, coming soon page, email list, landing page, list building, maintenance page, squeeze page, inbound now, landing-pages, splash pages, cpa, click tracking, goal tracking, analytics
15
+ Requires at least: 3.3
16
+ Tested up to: 3.5
17
+ Stable Tag: 1.1.0.1
18
 
19
+ Create landing pages for your WordPress site. Monitor and improve conversion rates, run A/B split tests, customize your own templates and more.
20
 
21
+ == Description ==
22
 
23
  This plugin creates landing pages (a.k.a. conversion or splash pages) for your WordPress site. It gives site owners the ability to monitor and track conversion rates, run a/b or multivariate split tests on landing pages, and most importantly increase lead flow!
24
 
26
 
27
  Landing pages are an ideal way to convert more of your passive website visitors into active leads or email list subscribers.
28
 
29
+ = Highlights =
30
 
31
  * Create beautiful Landing Pages on your WordPress site.
32
  * Visual Editor to view changes being made on the fly!
42
 
43
  Recommended form plugins (Gravity forms, Ninja Forms or Contact form 7)
44
 
45
+ = About the Plugin =
46
 
47
+ http://www.youtube.com/watch?v=BzcD6PgvLP4
48
 
49
+ = Developers & Designers =
50
 
51
  We built the landing page plugin as a framework! Need A/B testing out of the box implemented for your existing designs? Use WordPress Landing Pages to quickly spin up new landing pages that have all the functionality your clients will need.
52
 
53
+ You can quickly take your existing designs and implement them using our <a href="http://docs.inboundnow.com/landing-pages/dev">templating framework</a>.
54
 
55
  The plugin is also fully extendable and has a number of actions, filters, and hooks available for use. If a hook doesn't exist, simply ask and we can implement custom changes.
56
 
57
+ == Installation ==
 
 
 
 
 
 
58
 
59
  1. Upload `landing-pages` folder to the `/wp-content/plugins/` directory
60
  1. Activate the plugin through the 'Plugins' menu in WordPress
61
 
62
+ == Frequently Asked Questions ==
63
  *Can I create my own landing page designs?,
64
+ *Yes! You can learn how to <a href="http://docs.inboundnow.com/landing-pages/dev/creating-templates">create your own landing page template here</a>.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
 
66
+ == Screenshots ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
 
68
+ 1. Landing Page Custom Post Type
69
+ 2. Track conversion rates and continuously improve your landing pages
70
+ 3. Manage Split Testing Page
71
+ 4. Choose from a ton of pre-made templates, use your existing design, or design your own theme!
72
 
73
+ == Changelog ==
 
 
74
 
75
+ = 1.1.0.1 =
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
 
77
  * Fixed: Variation saves for custom css and custom js.
78
  * Fixed: jQuery error related to wysiwyg content formatting.
79
 
80
+ = 1.0.9.9 =
81
  * Improved extension metabox loading for quicker load times and optimized meta data storage.
82
  * Phased out more 'old method' split testing components.
83
  * Improved .htaccess parsing.
84
  * Addressed issue with line breaks being removed from WYSIWYG editors.
85
 
86
+ = 1.0.9.4 =
87
  * Added in tours for the edit screen and the list of landing page screen for new users to learn how to use the tool quickly and easily
88
  * Updated conversion tracking for wp-leads addon plugin
89
  * Added in option for default templates to toggle on/off navigation
90
 
91
+ = 1.0.9.3 =
92
 
93
  * Removed old A/B split testing and the new system is fully in place!
94
 
95
+ = 1.0.9.0 =
96
 
97
  * Added in A/B stats to the main landing page list view
98
 
99
+ = 1.0.8.6 =
100
 
101
  * Release new and improved version of A/B testing!
102
  * Ajax saving on landing page options for faster page edits
103
  * Frontend Visual Editor to see what you are editing/changing
104
  * Enabled frontend editor for use on normal pages and posts
105
 
106
+ = 1.0.8.5 =
107
 
108
  Providing better conversion and impression tracking for landing pages that are set as homepage.
109
 
110
+ = 1.0.8.4 =
111
 
112
  Fixing activation bug
113
 
114
+ = 1.0.8.1 =
115
 
116
  Fixing issue with jquery submission errors.
117
 
118
+ = 1.0.7.9 =
119
 
120
  Added capability to activate and update license keys for premium extensions. Added ability to define white listed HTML elements for Form Standardization process.
121
 
122
+ = 1.0.7.3 =
123
 
124
  Fixed issue with WP_List_table causing posts to to save or edit propperly Attempt 001
125
 
126
+ = 1.0.7.1 =
127
 
128
  Added cookie based auto-field population & lead data collection to core.
129
 
130
+ = 1.0.5.6 =
131
 
132
  Fixed issue with global setting's radio buttons not holding new set values.
133
 
134
+ = 1.0.5.3 =
135
 
136
  Solutions for custom post type wp rewrite issue on activation.
137
 
138
+ = 1.0.5.1 =
139
 
140
  Introducing version control system for extensions.
141
 
142
+ = 1.0.4.4 =
143
 
144
  Migrating store to new location. Updating version control systems
145
 
146
+ = 1.0.4.2 =
147
 
148
  Added new defitions to form standardization parser. Limited .htaccess rewrites to plugin activation to try and mitigate .htaccess corruptions.
149
 
150
+ = 1.0.4.1 =
151
 
152
  Fixed issue with conversions not recording on some servers by forcing form submittal to wait until ajax has completely finnished loading before continuing to process form.
153
 
154
+ = 1.0.3.9 =
155
 
156
  Fixed issue with plugins and wp core refusing to update on some installations when landing page plugin is activated.
157
 
158
+ = 1.0.3.8 =
159
 
160
  Debugging cross browser impressions and conversion tracking. Implemented soltion for url-to-postid conversions that's compatible with the /slug/ removal extension for landing pages plugin.
161
  Added email validation check to prevent false positives when form standardization is turned on.
162
 
163
+ = 1.0.3.7 =
164
 
165
+ Bug Fix: 'Clear Stats' button.
166
 
167
+ = 1.1 =
168
 
169
  Released
170
+
171
+
classes/class.activation.php CHANGED
@@ -1,144 +1,100 @@
1
  <?php
2
 
 
3
  if ( !class_exists('Landing_Pages_Activation') ) {
4
 
5
  class Landing_Pages_Activation {
6
-
7
  static $version_wp;
8
  static $version_php;
9
  static $version_cta;
10
  static $version_leads;
11
  static $version_lpah;
12
-
13
  public static function activate() {
14
  self::load_static_vars();
15
  self::run_version_checks();
16
  self::activate_plugin();
17
  self::run_updates();
18
  }
19
-
20
  public static function deactivate() {
21
  global $wp_rewrite;
22
  $wp_rewrite->flush_rules();
23
  }
24
-
25
- public static function load_static_vars() {
26
-
27
  self::$version_wp = '3.6';
28
- self::$version_php = '5.2';
29
- self::$version_cta = '1.2.1';
30
  self::$version_leads = '1.2.1';
31
  self::$version_lpah = '1.0.8';
32
  }
33
-
34
  public static function activate_plugin() {
35
-
36
  /* Update DB Markers for Plugin */
37
  self::store_version_data();
38
-
39
  /* Set Default Settings */
40
  self::set_default_settings();
41
 
42
- /* Activate shared components */
43
- self::activate_shared();
44
-
45
- /* Run additional actions */
46
- do_action( 'activate_landing_pages' );
47
-
48
  }
49
-
50
- /* This method loads public methods from the Landing_Pages_Activation_Update_Routines class and automatically runs them if they have not been run yet.
51
- * We use transients to store the data, which may not be the best way but I don't have to worry about save/update/create option and the auto load process
52
  */
53
 
54
  public static function run_updates() {
55
-
56
  /* Get list of updaters from Landing_Pages_Activation_Update_Routines class */
57
  $updaters = get_class_methods('Landing_Pages_Activation_Update_Routines');
58
-
59
  /* Get transient list of completed update processes */
60
  $completed = ( get_option( 'lp_completed_upgrade_routines' ) ) ? get_option( 'lp_completed_upgrade_routines' ) : array();
61
 
62
  /* Get the difference between the two arrays */
63
  $remaining = array_diff( $updaters , $completed );
64
-
65
  /* Loop through updaters and run updaters that have not been ran */
66
  foreach ( $remaining as $updater ) {
67
-
68
  Landing_Pages_Activation_Update_Routines::$updater();
69
  $completed[] = $updater;
70
-
71
  }
72
-
73
  /* Update this transient value with list of completed upgrade processes */
74
  update_option( 'lp_completed_upgrade_routines' , $completed );
75
 
76
  }
77
-
78
- /**
79
- * This method checks if there are upgrade routines that have not been executed yet and notifies the administror if there are
80
- *
81
- */
82
- public static function run_upgrade_routine_checks() {
83
-
84
- /* Listen for a manual upgrade call */
85
- if (isset($_GET['plugin_action']) && $_GET['plugin_action'] == 'upgrade_routines' && $_GET['plugin'] =='landing-pages' ) {
86
- self::run_updates();
87
- wp_redirect(admin_url('edit.php?post_type=landing-page'));
88
- exit;
89
- }
90
-
91
- /* Get list of updaters from Landing_Pages_Activation_Update_Routines class */
92
- $updaters = get_class_methods('Landing_Pages_Activation_Update_Routines');
93
-
94
- /* Get transient list of completed update processes */
95
- $completed = ( get_option( 'lp_completed_upgrade_routines' ) ) ? get_option( 'lp_completed_upgrade_routines' ) : array();
96
-
97
- /* Get the difference between the two arrays */
98
- $remaining = array_diff( $updaters , $completed );
99
-
100
- if (count($remaining)>0) {
101
- add_action( 'admin_notices', array( __CLASS__ , 'display_upgrade_routine_notice' ) );
102
- }
103
- }
104
-
105
- public static function display_upgrade_routine_notice() {
106
- ?>
107
- <div class="error">
108
- <p><?php _e( 'Landing Pages plugin requires a database upgrade:', 'landing-pages' ); ?> <a href='?plugin=landing-pages&plugin_action=upgrade_routines'><?php _e('Upgrade database now' , 'landing-pages' ); ?></a></p>
109
- </div>
110
- <?php
111
- }
112
-
113
-
114
  /* Creates transient records of past and current version data */
115
  public static function store_version_data() {
116
-
117
  $old = get_transient('lp_current_version');
118
  set_transient( 'lp_previous_version' , $old );
119
  set_transient( 'lp_current_version' , LANDINGPAGES_CURRENT_VERSION );
120
-
121
  }
122
-
123
  public static function set_default_settings() {
124
  add_option( 'lp_global_css', '', '', 'no' );
125
  add_option( 'lp_global_js', '', '', 'no' );
126
  add_option( 'lp_global_lp_slug', 'go', '', 'no' );
127
- update_option( 'lp_activate_rewrite_check', '1');
128
-
129
  /* Set's welcome page redirect transient */
130
  set_transient( '_landing_page_activation_redirect', true, 30 );
 
 
 
 
131
  }
132
-
133
- /**
134
- * Tells Inbound Shared to run activation commands
135
- */
136
- public static function activate_shared() {
137
- update_option( 'Inbound_Activate', true );
138
- }
139
-
140
- /* Aborts activation and details
141
- * @param args ARRAY of message details
142
  */
143
  public static function abort_activation( $args ) {
144
  echo $args['title'] . '<br>';
@@ -147,86 +103,86 @@ class Landing_Pages_Activation {
147
  print_r ($args['details']);
148
  echo '<br>';
149
  echo $args['solution'];
150
-
151
  deactivate_plugins( LANDINGPAGES_FILE );
152
  exit;
153
  }
154
-
155
-
156
  /* Checks if plugin is compatible with current server PHP version */
157
  public static function run_version_checks() {
158
-
159
  global $wp_version;
160
-
161
  /* Check PHP Version */
162
  if ( version_compare( phpversion(), self::$version_php, '<' ) ) {
163
- self::abort_activation(
164
- array(
165
- 'title' => 'Installation aborted',
166
  'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
167
  'details' => array(
168
  __( 'Server PHP Version' , 'landing-pages' ) => phpversion(),
169
  __( 'Required PHP Version' , 'landing-pages' ) => self::$version_php
170
  ),
171
- 'solution' => sprintf( __( 'Please contact your hosting provider to upgrade PHP to %s or greater' , 'landing-pages' ) , self::$version_php )
172
  )
173
  );
174
- }
175
-
176
  /* Check WP Version */
177
  if ( version_compare( $wp_version , self::$version_wp, '<' ) ) {
178
- self::abort_activation( array(
179
- 'title' => 'Installation aborted',
180
  'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
181
  'details' => array(
182
  __( 'WordPress Version' , 'landing-pages' ) => $wp_version,
183
  __( 'Required WordPress Version' , 'landing-pages' ) => self::$version_wp
184
  ),
185
- 'solution' => sprintf( __( 'Please update landing pages to version %s or greater.' , 'landing-pages' ) , self::$version_wp )
186
  )
187
- );
188
  }
189
-
190
  /* Check CTA Version */
191
  if ( defined('WP_CTA_CURRENT_VERSION') && version_compare( WP_CTA_CURRENT_VERSION , self::$version_cta , '<' ) ) {
192
- self::abort_activation( array(
193
- 'title' => 'Installation aborted',
194
  'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
195
  'details' => array(
196
  __( 'Calls to Action Version' , 'landing-pages' ) => WP_CTA_CURRENT_VERSION,
197
  __( 'Required Calls to Action Version' , 'landing-pages' ) => self::$version_cta
198
  ),
199
- 'solution' => sprintf( __( 'Please update Calls to Action to version %s or greater.' , 'landing-pages' ) , self::$version_cta )
200
  )
201
- );
202
  }
203
-
204
  /* Check Leads Version */
205
  if ( defined('WPL_CURRENT_VERSION') && version_compare( WPL_CURRENT_VERSION , self::$version_leads , '<' ) ) {
206
- self::abort_activation( array(
207
- 'title' => 'Installation aborted',
208
  'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
209
  'details' => array(
210
  __( 'Leads Version' , 'landing-pages' ) => WPL_CURRENT_VERSION,
211
  __( 'Required Leads Version' , 'landing-pages' ) => self::$version_leads
212
  ),
213
- 'solution' => sprintf( __( 'Please update Leads to version %s or greater.' , 'landing-pages' ) , self::$version_leads )
214
  )
215
- );
216
  }
217
-
218
  /* Check Extension Version */
219
  if ( defined('LP_HOMEPAGE_CURRENT_VERSION') && version_compare( LP_HOMEPAGE_CURRENT_VERSION , self::$version_lpah , '<' ) ) {
220
- self::abort_activation( array(
221
- 'title' => 'Installation aborted',
222
  'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
223
  'details' => array(
224
  __( 'Extension: Landing Page as Homepage' , 'landing-pages' ) => LP_HOMEPAGE_CURRENT_VERSION,
225
  __( 'Required extension version' , 'landing-pages' ) => self::$version_lpah
226
  ),
227
- 'solution' => sprintf( __( 'Please update extension to version %s or greater.' , 'landing-pages' ) , self::$version_lpah )
228
  )
229
- );
230
  }
231
 
232
  }
@@ -236,8 +192,4 @@ class Landing_Pages_Activation {
236
  register_activation_hook( LANDINGPAGES_FILE , array( 'Landing_Pages_Activation' , 'activate' ) );
237
  register_deactivation_hook( LANDINGPAGES_FILE , array( 'Landing_Pages_Activation' , 'deactivate' ) );
238
 
239
-
240
- /* Add listener for uncompleted upgrade routines */
241
- add_action( 'admin_init' , array( 'Landing_Pages_Activation' , 'run_upgrade_routine_checks' ) );
242
-
243
  }
1
  <?php
2
 
3
+
4
  if ( !class_exists('Landing_Pages_Activation') ) {
5
 
6
  class Landing_Pages_Activation {
7
+
8
  static $version_wp;
9
  static $version_php;
10
  static $version_cta;
11
  static $version_leads;
12
  static $version_lpah;
13
+
14
  public static function activate() {
15
  self::load_static_vars();
16
  self::run_version_checks();
17
  self::activate_plugin();
18
  self::run_updates();
19
  }
20
+
21
  public static function deactivate() {
22
  global $wp_rewrite;
23
  $wp_rewrite->flush_rules();
24
  }
25
+
26
+ public static function load_static_vars() {
27
+
28
  self::$version_wp = '3.6';
29
+ self::$version_php = '5.3';
30
+ self::$version_cta = '1.2.1';
31
  self::$version_leads = '1.2.1';
32
  self::$version_lpah = '1.0.8';
33
  }
34
+
35
  public static function activate_plugin() {
36
+
37
  /* Update DB Markers for Plugin */
38
  self::store_version_data();
39
+
40
  /* Set Default Settings */
41
  self::set_default_settings();
42
 
 
 
 
 
 
 
43
  }
44
+
45
+ /* This method loads public methods from the Landing_Pages_Activation_Update_Routines class and automatically runs them if they have not been run yet.
46
+ * We use transients to store the data, which may not be the best way but I don't have to worry about save/update/create option and the auto load process
47
  */
48
 
49
  public static function run_updates() {
50
+
51
  /* Get list of updaters from Landing_Pages_Activation_Update_Routines class */
52
  $updaters = get_class_methods('Landing_Pages_Activation_Update_Routines');
53
+
54
  /* Get transient list of completed update processes */
55
  $completed = ( get_option( 'lp_completed_upgrade_routines' ) ) ? get_option( 'lp_completed_upgrade_routines' ) : array();
56
 
57
  /* Get the difference between the two arrays */
58
  $remaining = array_diff( $updaters , $completed );
59
+
60
  /* Loop through updaters and run updaters that have not been ran */
61
  foreach ( $remaining as $updater ) {
62
+
63
  Landing_Pages_Activation_Update_Routines::$updater();
64
  $completed[] = $updater;
65
+
66
  }
67
+
68
  /* Update this transient value with list of completed upgrade processes */
69
  update_option( 'lp_completed_upgrade_routines' , $completed );
70
 
71
  }
72
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  /* Creates transient records of past and current version data */
74
  public static function store_version_data() {
75
+
76
  $old = get_transient('lp_current_version');
77
  set_transient( 'lp_previous_version' , $old );
78
  set_transient( 'lp_current_version' , LANDINGPAGES_CURRENT_VERSION );
79
+
80
  }
81
+
82
  public static function set_default_settings() {
83
  add_option( 'lp_global_css', '', '', 'no' );
84
  add_option( 'lp_global_js', '', '', 'no' );
85
  add_option( 'lp_global_lp_slug', 'go', '', 'no' );
86
+ update_option( 'lp_activate_rewrite_check', '1');
87
+
88
  /* Set's welcome page redirect transient */
89
  set_transient( '_landing_page_activation_redirect', true, 30 );
90
+ /* We've had issues with this not working.
91
+ global $wp_rewrite;
92
+ $wp_rewrite->flush_rules();
93
+ */
94
  }
95
+
96
+ /* Aborts activation and details
97
+ * @param args ARRAY of message details
 
 
 
 
 
 
 
98
  */
99
  public static function abort_activation( $args ) {
100
  echo $args['title'] . '<br>';
103
  print_r ($args['details']);
104
  echo '<br>';
105
  echo $args['solution'];
106
+
107
  deactivate_plugins( LANDINGPAGES_FILE );
108
  exit;
109
  }
110
+
111
+
112
  /* Checks if plugin is compatible with current server PHP version */
113
  public static function run_version_checks() {
114
+
115
  global $wp_version;
116
+
117
  /* Check PHP Version */
118
  if ( version_compare( phpversion(), self::$version_php, '<' ) ) {
119
+ self::abort_activation(
120
+ array(
121
+ 'title' => 'Installation aborted',
122
  'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
123
  'details' => array(
124
  __( 'Server PHP Version' , 'landing-pages' ) => phpversion(),
125
  __( 'Required PHP Version' , 'landing-pages' ) => self::$version_php
126
  ),
127
+ 'solultion' => sprintf( __( 'Please contact your hosting provider to upgrade PHP to %s or greater' , 'landing-pages' ) , self::$version_php )
128
  )
129
  );
130
+ }
131
+
132
  /* Check WP Version */
133
  if ( version_compare( $wp_version , self::$version_wp, '<' ) ) {
134
+ self::abort_activation( array(
135
+ 'title' => 'Installation aborted',
136
  'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
137
  'details' => array(
138
  __( 'WordPress Version' , 'landing-pages' ) => $wp_version,
139
  __( 'Required WordPress Version' , 'landing-pages' ) => self::$version_wp
140
  ),
141
+ 'solultion' => sprintf( __( 'Please update landing pages to version %s or greater.' , 'landing-pages' ) , self::$version_wp )
142
  )
143
+ );
144
  }
145
+
146
  /* Check CTA Version */
147
  if ( defined('WP_CTA_CURRENT_VERSION') && version_compare( WP_CTA_CURRENT_VERSION , self::$version_cta , '<' ) ) {
148
+ self::abort_activation( array(
149
+ 'title' => 'Installation aborted',
150
  'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
151
  'details' => array(
152
  __( 'Calls to Action Version' , 'landing-pages' ) => WP_CTA_CURRENT_VERSION,
153
  __( 'Required Calls to Action Version' , 'landing-pages' ) => self::$version_cta
154
  ),
155
+ 'solultion' => sprintf( __( 'Please update Calls to Action to version %s or greater.' , 'landing-pages' ) , self::$version_cta )
156
  )
157
+ );
158
  }
159
+
160
  /* Check Leads Version */
161
  if ( defined('WPL_CURRENT_VERSION') && version_compare( WPL_CURRENT_VERSION , self::$version_leads , '<' ) ) {
162
+ self::abort_activation( array(
163
+ 'title' => 'Installation aborted',
164
  'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
165
  'details' => array(
166
  __( 'Leads Version' , 'landing-pages' ) => WPL_CURRENT_VERSION,
167
  __( 'Required Leads Version' , 'landing-pages' ) => self::$version_leads
168
  ),
169
+ 'solultion' => sprintf( __( 'Please update Leads to version %s or greater.' , 'landing-pages' ) , self::$version_leads )
170
  )
171
+ );
172
  }
173
+
174
  /* Check Extension Version */
175
  if ( defined('LP_HOMEPAGE_CURRENT_VERSION') && version_compare( LP_HOMEPAGE_CURRENT_VERSION , self::$version_lpah , '<' ) ) {
176
+ self::abort_activation( array(
177
+ 'title' => 'Installation aborted',
178
  'message' => __('Landing Plugin could not be installed' , 'landing-pages'),
179
  'details' => array(
180
  __( 'Extension: Landing Page as Homepage' , 'landing-pages' ) => LP_HOMEPAGE_CURRENT_VERSION,
181
  __( 'Required extension version' , 'landing-pages' ) => self::$version_lpah
182
  ),
183
+ 'solultion' => sprintf( __( 'Please update extension to version %s or greater.' , 'landing-pages' ) , self::$version_lpah )
184
  )
185
+ );
186
  }
187
 
188
  }
192
  register_activation_hook( LANDINGPAGES_FILE , array( 'Landing_Pages_Activation' , 'activate' ) );
193
  register_deactivation_hook( LANDINGPAGES_FILE , array( 'Landing_Pages_Activation' , 'deactivate' ) );
194
 
 
 
 
 
195
  }
classes/class.activation.upgrade-routines.php CHANGED
@@ -21,14 +21,11 @@ if ( !class_exists('Landing_Pages_Activation_Update_Routines') ) {
21
  ));
22
 
23
  foreach ($landing_pages as $post) {
24
-
 
25
  /* for all variations loop through and migrate_data */
26
  ( get_post_meta($post->ID,'lp-ab-variations', true) ) ? $variations = get_post_meta($post->ID,'lp-ab-variations', true) : $variations = array( '0' => '0' );
27
 
28
- if (!is_array($variations) && strlen($variations) > 1 ) {
29
- $variations = explode(',',$variations);
30
- }
31
-
32
  foreach ($variations as $key=>$vid) {
33
 
34
  ($vid) ? $suffix = '-' . $vid : $suffix = '';
@@ -52,19 +49,6 @@ if ( !class_exists('Landing_Pages_Activation_Update_Routines') ) {
52
 
53
  }
54
  }
55
-
56
- /*
57
- * @introduced: 1.7.5
58
- * @migration-type: Meta key rename
59
- * @migration: renames all instances of inbound_conversion_data to _inbound_conversion_data
60
-
61
- */
62
- public static function meta_key_change_conversion_object() {
63
- global $wpdb;
64
-
65
- $wpdb->query("UPDATE $wpdb->postmeta SET `meta_key` = REPLACE (`meta_key` , 'inbound_conversion_data', '_inbound_conversion_data')");
66
- }
67
-
68
  /*
69
  * @introduced: 1.5.7
70
  * @migration-type: Meta pair migragtion
@@ -84,10 +68,6 @@ if ( !class_exists('Landing_Pages_Activation_Update_Routines') ) {
84
  /* for all variations loop through and migrate_data */
85
  ( get_post_meta($post->ID,'lp-ab-variations', true) ) ? $variations = get_post_meta($post->ID,'lp-ab-variations', true) : $variations = array( '0' => '0' );
86
 
87
- if (!is_array($variations) && strlen($variations) > 1 ) {
88
- $variations = explode(',',$variations);
89
- }
90
-
91
  foreach ($variations as $key=>$vid) {
92
 
93
  ($vid) ? $suffix = '-' . $vid : $suffix = '';
@@ -121,7 +101,7 @@ if ( !class_exists('Landing_Pages_Activation_Update_Routines') ) {
121
  $templates_to_move = array('rsvp-envelope','super-slick');
122
  chmod(LANDINGPAGES_UPLOADS_PATH, 0755);
123
 
124
- $template_paths = Landing_Pages_Load_Extensions::get_core_template_ids();
125
  if (count($template_paths)>0)
126
  {
127
  foreach ($template_paths as $name)
21
  ));
22
 
23
  foreach ($landing_pages as $post) {
24
+ //echo 'post id:' . $post->ID;
25
+ //echo '<br>';
26
  /* for all variations loop through and migrate_data */
27
  ( get_post_meta($post->ID,'lp-ab-variations', true) ) ? $variations = get_post_meta($post->ID,'lp-ab-variations', true) : $variations = array( '0' => '0' );
28
 
 
 
 
 
29
  foreach ($variations as $key=>$vid) {
30
 
31
  ($vid) ? $suffix = '-' . $vid : $suffix = '';
49
 
50
  }
51
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  /*
53
  * @introduced: 1.5.7
54
  * @migration-type: Meta pair migragtion
68
  /* for all variations loop through and migrate_data */
69
  ( get_post_meta($post->ID,'lp-ab-variations', true) ) ? $variations = get_post_meta($post->ID,'lp-ab-variations', true) : $variations = array( '0' => '0' );
70
 
 
 
 
 
71
  foreach ($variations as $key=>$vid) {
72
 
73
  ($vid) ? $suffix = '-' . $vid : $suffix = '';
101
  $templates_to_move = array('rsvp-envelope','super-slick');
102
  chmod(LANDINGPAGES_UPLOADS_PATH, 0755);
103
 
104
+ $template_paths = lp_get_core_template_paths();
105
  if (count($template_paths)>0)
106
  {
107
  foreach ($template_paths as $name)
classes/class.branching.php DELETED
@@ -1,44 +0,0 @@
1
- <?php
2
-
3
- if ( !class_exists('Landing_Pages_Branching') ) {
4
-
5
- class Landing_Pages_Branching {
6
-
7
-
8
- /**
9
- * Load class instance
10
- */
11
- public function __construct() {
12
- self::load_hooks();
13
- }
14
-
15
- /**
16
- * Load hooks and filters
17
- */
18
- public static function load_hooks() {
19
-
20
- /* adds branching capabilities to branching API for landing pages */
21
- add_filter( 'inbound_plugin_branches' , array( __CLASS__ , 'add_branches' ) , 10 , 1 );
22
-
23
- /* reset active branch during svn update */
24
- //add_action( 'activate_landing_pages' , array( __CLASS__ , 'reset_branch_status' ) , 10 , 1 );
25
- }
26
-
27
- /**
28
- * Add branches to branching api for landing pages plugin
29
- *
30
- */
31
- public static function add_branches( $branches ) {
32
- $branches['landing-pages'] = array(
33
- 'git' => 'https://codeload.github.com/inboundnow/landing-pages/zip/master',
34
- 'svn' => 'https://downloads.wordpress.org/plugin/landing-pages.'.LANDINGPAGES_CURRENT_VERSION.'.zip'
35
- );
36
-
37
- return $branches;
38
- }
39
-
40
-
41
- }
42
-
43
- $GLOBALS['Landing_Pages_Branching'] = new Landing_Pages_Branching;
44
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/class.load-extensions.php DELETED
@@ -1,343 +0,0 @@
1
- <?php
2
-
3
- class Landing_Pages_Load_Extensions {
4
-
5
- /**
6
- * Initializes Landing_Pages_Load_Extensions
7
- */
8
- public function __construct() {
9
-
10
- /* Load core landing page config.php files */
11
- self::load_core_template_configurations();
12
-
13
- /* Load uploaded landing page config.php files */
14
- self::load_uploaded_template_configurations();
15
-
16
- /* load hooks & filters */
17
- self::load_hooks();
18
- }
19
-
20
- /**
21
- * Loads hooks and filiters
22
- */
23
- public static function load_hooks() {
24
-
25
- /* Adds core metabox settings to extension data array */
26
- add_filter( 'lp_extension_data' , array( __CLASS__ , 'add_core_setting_data' ) , 1 , 1);
27
-
28
- /* Modifies legacy template data key names for old, un-updated legacy templates */
29
- add_filter( 'lp_extension_data', array( __CLASS__ , 'add_legacy_data_support') , 10 , 1 );
30
-
31
- /* Add license key inputs to all uploaded templates */
32
- add_filter( 'lp_define_global_settings' , array( __CLASS__ , 'prepare_license_keys' ), 99, 1);
33
- }
34
-
35
- /**
36
- * Adds core metaboxes setting data using lp_extension_data filter
37
- */
38
- public static function add_core_setting_data( $data ) {
39
-
40
- if ( !is_admin() ) {
41
- return;
42
- }
43
-
44
- $data[ 'lp' ]['settings'] = array(
45
- array(
46
- 'id' => 'selected-template',
47
- 'label' => __( 'Select Template' , 'landing-pages'),
48
- 'description' => __( "This option provides a placeholder for the selected template data." , 'landing-pages'),
49
- 'type' => 'radio', // this is not honored. Template selection setting is handled uniquely by core.
50
- 'default' => 'default',
51
- 'options' => null // this is not honored. Template selection setting is handled uniquely by core.
52
- ),
53
- array(
54
- 'id' => 'main-headline',
55
- 'label' => __('Set Main Headline' , 'landing-pages'),
56
- 'description' => __( "Set Main Headline" , 'landing-pages'),
57
- 'type' => 'text', // this is not honored. Main Headline Input setting is handled uniquely by core.
58
- 'default' => '',
59
- 'options' => null
60
- ),
61
- );
62
-
63
- return $data;
64
- }
65
-
66
- /**
67
- * Looks for occurances of 'options' in template & extension data arrays and replaces key with 'settings'
68
- */
69
- public static function add_legacy_data_support( $data ) {
70
- if ( !is_admin() ) {
71
- return;
72
- }
73
-
74
- foreach ($data as $parent_key => $subarray)
75
- {
76
- if (is_array($subarray))
77
- {
78
- foreach ($subarray as $k=>$subsubarray)
79
- {
80
- /* change 'options' key to 'settings' */
81
- if ($k=='options')
82
- $data[$parent_key]['settings'] = $subsubarray;
83
-
84
- if ($k=='category')
85
- $data[$parent_key]['info']['category'] = $subsubarray;
86
-
87
- if ($k=='version')
88
- $data[$parent_key]['info']['version'] = $subsubarray;
89
-
90
- if ($k=='label')
91
- $data[$parent_key]['info']['label'] = $subsubarray;
92
-
93
- if ($k=='description')
94
- $data[$parent_key]['info']['description'] = $subsubarray;
95
- }
96
- }
97
- }
98
-
99
- return $data;
100
- }
101
-
102
- /**
103
- * Adds licensing & automatic updates to uploaded templates
104
- *
105
- * @param ARRAY $global_settings contains all global setting data
106
- *
107
- * @retuns ARRAY $global_settings contains modified global setting data
108
- */
109
- public static function prepare_license_keys( $global_settings ) {
110
-
111
- if ( !is_admin() ) {
112
- return;
113
- }
114
-
115
- $lp_data = self::get_extended_data();
116
-
117
- $global_settings['lp-license-keys']['settings'][] = array(
118
- 'id' => 'template-license-keys-header',
119
- 'description' => __( "Head to http://www.inboundnow.com/ to retrieve your license key for this template." , 'landing-pages') ,
120
- 'type' => 'header',
121
- 'default' => '<h3 class="lp_global_settings_header">' . __('Template Licensing' , 'landing-pages') .'</h3>'
122
- );
123
-
124
- /* get master license key */
125
- $inboundnow_master_key = get_option('inboundnow_master_license_key' , '');
126
-
127
- /* Loop through all setting data and add licensing for uploaded templates only */
128
- foreach ($lp_data as $key=>$data)
129
- {
130
-
131
- $array_core_templates = array('simple-solid-lite','countdown-lander','default','demo','dropcap','half-and-half','simple-two-column','super-slick','svtle','tubelar','rsvp-envelope', 'three-column-lander');
132
-
133
- if ($key == 'lp' || substr($key,0,4) == 'ext-' ) {
134
- continue;
135
- }
136
-
137
- if (isset($data['info']['data_type']) && $data['info']['data_type']=='metabox') {
138
- continue;
139
- }
140
-
141
- if (in_array($key,$array_core_templates)) {
142
- continue;
143
- }
144
-
145
- $template_name = $lp_data[$key]['info']['label'];
146
- $global_settings['lp-license-keys']['settings'][$key] = array(
147
- 'id' => $key,
148
- 'label' => $template_name,
149
- 'slug' => $key,
150
- 'description' => __( "Head to http://www.inboundnow.com/ to retrieve your license key for this template." , 'landing-pages') ,
151
- 'type' => 'license-key'
152
- );
153
- }
154
-
155
- return $global_settings;
156
- }
157
-
158
- /**
159
- * Loads core template config.php files
160
- *
161
- * @returns ARRAY contains template setting data
162
- */
163
- public static function load_core_template_configurations() {
164
-
165
- if ( !is_admin() ) {
166
- return;
167
- }
168
-
169
- $template_ids = self::get_core_template_ids();
170
-
171
- //Now load all config.php files with their custom meta data
172
- if (count($template_ids)>0)
173
- {
174
- foreach ($template_ids as $name)
175
- {
176
- if ($name != ".svn" && $name != ".git"){
177
- include_once( LANDINGPAGES_PATH . "/templates/$name/config.php");
178
- }
179
- }
180
- }
181
-
182
-
183
- /* Store all template config files in global */
184
- $GLOBALS['lp_data'] = $lp_data;
185
-
186
- return $lp_data;
187
- }
188
-
189
- /**
190
- * Loads uploaded template config.php files
191
- *
192
- */
193
- public static function load_uploaded_template_configurations() {
194
- global $lp_data;
195
-
196
- $template_ids = self::get_uploaded_template_ids();
197
-
198
- /* loop through template ids and include their config file */
199
- foreach ($template_ids as $name)
200
- {
201
- $match = FALSE;
202
- if (strpos($name, 'tmp') !== FALSE || strpos($name, 'template-generator') !== FALSE) {
203
- $match = TRUE;
204
- }
205
- if ($name != ".svn" && $name != ".git" && $name != 'template-generator' && $match === FALSE){
206
- if (file_exists( LANDINGPAGES_UPLOADS_PATH . "$name/config.php")) {
207
- include_once( LANDINGPAGES_UPLOADS_PATH . "$name/config.php");
208
- }
209
- }
210
- }
211
-
212
-
213
- return $lp_data;
214
-
215
- }
216
-
217
- /**
218
- * Gets array of uploaded template paths
219
- *
220
- * @returns ARRAY $template_ids array of uploaded template ids
221
- */
222
- public static function get_uploaded_template_ids()
223
- {
224
- $template_ids = array();
225
-
226
- if (!is_dir( LANDINGPAGES_UPLOADS_PATH )) {
227
- wp_mkdir_p( LANDINGPAGES_UPLOADS_PATH );
228
- }
229
-
230
- $results = scandir( LANDINGPAGES_UPLOADS_PATH );
231
-
232
- foreach ($results as $name) {
233
- if ($name === '.' or $name === '..' or $name === '__MACOSX') continue;
234
-
235
- if (is_dir( LANDINGPAGES_UPLOADS_PATH . '/' . $name)) {
236
- $template_ids[] = $name;
237
- }
238
- }
239
-
240
- return $template_ids;
241
- }
242
-
243
- /**
244
- * Gets array of uploaded template paths
245
- *
246
- * @returns ARRAY $template_ids array of uploaded template ids
247
- */
248
- public static function get_core_template_ids()
249
- {
250
- $template_ids = array();
251
-
252
- $template_path = LANDINGPAGES_PATH."/templates/" ;
253
- $results = scandir($template_path);
254
-
255
- //scan through templates directory and pull in name paths
256
- foreach ($results as $name) {
257
- if ($name === '.' or $name === '..' or $name === '__MACOSX') continue;
258
-
259
- if (is_dir($template_path . '/' . $name)) {
260
- $template_ids[] = $name;
261
- }
262
- }
263
-
264
- return $template_ids;
265
- }
266
-
267
- /**
268
- * Get's array of template categories from loaded templates
269
- *
270
- * @returns ARRAY $template_cats array if template categories
271
- */
272
- public static function get_template_categories()
273
- {
274
- $template_settings = self::get_extended_data();
275
-
276
- foreach ($template_settings as $key=>$val)
277
- {
278
- if ( $key=='lp' || substr($key,0,4)=='ext-' || isset($val['info']['data_type']) && $val['info']['data_type']=='metabox' ) {
279
- continue;
280
- }
281
-
282
- /* account for legacy data models */
283
- if (isset($val['category'])) {
284
- $cats = $val['category'];
285
- } else {
286
- if (isset($val['info']['category'])) {
287
- $cats = $val['info']['category'];
288
- }
289
- }
290
-
291
- $cats = explode(',',$cats);
292
-
293
- foreach ($cats as $cat_value)
294
- {
295
- $cat_value = trim($cat_value);
296
- $name = str_replace(array('-','_'),' ',$cat_value);
297
- $name = ucwords($name);
298
-
299
- if (!isset($template_cats[$cat_value]))
300
- {
301
- $template_cats[$cat_value]['count'] = 1;
302
- }
303
- else
304
- {
305
- $template_cats[$cat_value]['count']++;
306
- }
307
-
308
- $template_cats[$cat_value]['value'] = $cat_value;
309
- $template_cats[$cat_value]['label'] = "$name";
310
- }
311
- }
312
-
313
- return $template_cats;
314
- }
315
-
316
- /**
317
- * Get's template and extension setting data
318
- *
319
- * @retuns ARRAY of template & extension data
320
- */
321
- public static function get_extended_data() {
322
- global $lp_data;
323
-
324
- $lp_data = apply_filters( 'lp_extension_data' , $lp_data);
325
-
326
- return $lp_data;
327
- }
328
-
329
-
330
- }
331
-
332
- /* Initialize Landing_Pages_Load_Extensions */
333
- $GLOBALS['Landing_Pages_Load_Extensions'] = new Landing_Pages_Load_Extensions;
334
-
335
- /* Get data array of template settings */
336
- function lp_get_extension_data() {
337
- return Landing_Pages_Load_Extensions::get_extended_data();
338
- }
339
-
340
-
341
-
342
-
343
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/class.post-type.landing-page.php DELETED
@@ -1,442 +0,0 @@
1
- <?php
2
-
3
- if ( !class_exists('Landing_Pages_Post_Type') ) {
4
-
5
- class Landing_Pages_Post_Type {
6
-
7
- function __construct() {
8
- self::load_hooks();
9
- }
10
-
11
- /**
12
- * setup hooks and filters
13
- */
14
- private function load_hooks() {
15
- add_action('init', array( __CLASS__ , 'register_post_type' ) );
16
- }
17
-
18
- /**
19
- * register post type
20
- */
21
- public static function register_post_type() {
22
-
23
- $slug = get_option( 'lp-main-landing-page-permalink-prefix', 'go' );
24
- $labels = array(
25
- 'name' => _x('Landing Pages', 'post type general name' , 'landing-pages' ),
26
- 'singular_name' => _x('Landing Page', 'post type singular name' , 'landing-pages' ),
27
- 'add_new' => _x('Add New', 'Landing Page' , 'landing-pages' ),
28
- 'add_new_item' => __('Add New Landing Page' , 'landing-pages' ),
29
- 'edit_item' => __('Edit Landing Page' , 'landing-pages' ),
30
- 'new_item' => __('New Landing Page' , 'landing-pages' ),
31
- 'view_item' => __('View Landing Page' , 'landing-pages' ),
32
- 'search_items' => __('Search Landing Page' , 'landing-pages' ),
33
- 'not_found' => __('Nothing found' , 'landing-pages' ),
34
- 'not_found_in_trash' => __('Nothing found in Trash' , 'landing-pages' ),
35
- 'parent_item_colon' => ''
36
- );
37
-
38
- $args = array(
39
- 'labels' => $labels,
40
- 'public' => true,
41
- 'publicly_queryable' => true,
42
- 'show_ui' => true,
43
- 'query_var' => true,
44
- 'menu_icon' => LANDINGPAGES_URLPATH . '/images/plus.gif',
45
- 'rewrite' => array("slug" => "$slug",'with_front' => false),
46
- 'capability_type' => 'post',
47
- 'hierarchical' => false,
48
- 'menu_position' => 32,
49
- 'supports' => array('title','custom-fields','editor','thumbnail', 'excerpt')
50
- );
51
-
52
- register_post_type( 'landing-page' , $args );
53
- }
54
-
55
-
56
- /* Register Category Taxonomy */
57
- public static function register_category_taxonomy() {
58
-
59
- register_taxonomy('wp_call_to_action_category','wp-call-to-action', array(
60
- 'hierarchical' => true,
61
- 'label' => __( 'CTA Categories' , 'cta' ),
62
- 'singular_label' => __( 'Call to Action Category' , 'cta' ),
63
- 'show_ui' => true,
64
- 'show_in_nav_menus' => false,
65
- 'query_var' => true,
66
- "rewrite" => true
67
- ));
68
-
69
- }
70
-
71
- /* Register Columns */
72
- public static function register_columns( $cols ) {
73
-
74
- $cols = array(
75
- "cb" => "<input type=\"checkbox\" />",
76
- "thumbnail-cta" => __( 'Preview' , 'cta' ),
77
- "title" => __( 'Call to Action Title' , 'cta' ),
78
- "cta_stats" => __( 'Variation Testing Stats' , 'cta' ),
79
- "cta_impressions" => __( 'Total<br>Impressions' , 'cta' ),
80
- "cta_actions" => __( 'Total<br>Conversions' , 'cta' ),
81
- "cta_cr" => __( 'Total<br>Click Through Rate' , 'cta' )
82
-
83
- );
84
-
85
- return $cols;
86
-
87
- }
88
-
89
- /* Prepare Column Data */
90
- public static function prepare_column_data( $column , $post_id ) {
91
- global $post;
92
-
93
- if ($post->post_type !='wp-call-to-action') {
94
- return $column;
95
- }
96
-
97
- if ("ID" == $column){
98
- echo $post->ID;
99
- } else if ("title" == $column) {
100
- }
101
- else if ("author" == $column) {
102
- }
103
- else if ("date" == $column) {
104
- }
105
- else if ("thumbnail-cta" == $column) {
106
- $template = get_post_meta($post->ID, 'wp-cta-selected-template-0', true);
107
- $permalink = get_permalink($post->ID);
108
- $permalink = add_query_arg( array('w'=>'140') , $permalink );
109
- $thumbnail = '//s.wordpress.com/mshots/v1/' . urlencode(esc_url($permalink)) . '?w=140';
110
-
111
- echo "<a title='". __('Click to Preview this variation' , 'cta' ) ."' class='thickbox' href='".$permalink."?wp-cta-variation-id=0&wp_cta_iframe_window=on&post_id=".$post->ID."&TB_iframe=true&width=640&height=703' target='_blank'><img src='".$thumbnail."' style='width:150px;height:110px;' title='Click to Preview'></a>";
112
-
113
- }
114
- else if ("cta_stats" == $column) {
115
- self::show_stats_data();
116
- }
117
- elseif ("cta_impressions" == $column) {
118
- echo self::show_aggregated_stats("cta_impressions");
119
-
120
- }
121
- elseif ("cta_actions" == $column) {
122
- echo self::show_aggregated_stats("cta_actions");
123
- }
124
- elseif ("cta_cr" == $column) {
125
- echo self::show_aggregated_stats("cta_cr") . "%";
126
- }
127
- elseif ("template" == $column) {
128
- $template_used = get_post_meta($post->ID, 'wp-cta-selected-template', true);
129
- echo $template_used;
130
- }
131
- }
132
-
133
- /* Define Sortable Columns */
134
- public static function define_sortable_columns($columns) {
135
-
136
- return array(
137
- 'title' => 'title',
138
- 'impressions' => 'impressions',
139
- 'actions' => 'actions',
140
- 'cr' => 'cr'
141
- );
142
-
143
- }
144
-
145
- /* Define Row Actions */
146
- public static function filter_row_actions( $actions , $post ) {
147
-
148
- if ($post->post_type=='wp-call-to-action') {
149
- $actions['clear'] = '<a href="#clear-stats" id="wp_cta_clear_'.$post->ID.'" class="clear_stats" title="'
150
- . __( 'Clear impression and conversion records', 'cta' )
151
- . '" >' . __( 'Clear All Stats' , 'cta') . '</a>';
152
-
153
- /* show shortcode */
154
- $actions['clear'] .= '<br><span style="color:#000;">' . __( 'Shortcode:' , 'cta' ) .'</span> <input type="text" style="width: 60%; text-align: center;" class="regular-text code short-shortcode-input" readonly="readonly" id="shortcode" name="shortcode" value="[cta id=\''.$post->ID.'\']">';
155
- }
156
-
157
- return $actions;
158
-
159
- }
160
-
161
- /* Adds ability to filter email templates by custom post type */
162
- public static function add_category_taxonomy_filter() {
163
- global $post_type;
164
-
165
- if ($post_type === "wp-call-to-action") {
166
- $post_types = get_post_types( array( '_builtin' => false ) );
167
- if ( in_array( $post_type, $post_types ) ) {
168
- $filters = get_object_taxonomies( $post_type );
169
-
170
- foreach ( $filters as $tax_slug ) {
171
- $tax_obj = get_taxonomy( $tax_slug );
172
- (isset($_GET[$tax_slug])) ? $current = $_GET[$tax_slug] : $current = 0;
173
- wp_dropdown_categories( array(
174
- 'show_option_all' => __('Show All '.$tax_obj->label ),
175
- 'taxonomy' => $tax_slug,
176
- 'name' => $tax_obj->name,
177
- 'orderby' => 'name',
178
- 'selected' => $current,
179
- 'hierarchical' => $tax_obj->hierarchical,
180
- 'show_count' => false,
181
- 'hide_empty' => true
182
- ) );
183
- }
184
- }
185
- }
186
- }
187
-
188
- /* Convert Taxonomy ID to Slug for Filter Serch */
189
- public static function convert_id_to_slug($query) {
190
- global $pagenow;
191
- $qv = &$query->query_vars;
192
- if( $pagenow=='edit.php' && isset($qv['wp_call_to_action_category']) && is_numeric($qv['wp_call_to_action_category']) ) {
193
- $term = get_term_by('id',$qv['wp_call_to_action_category'],'wp_call_to_action_category');
194
- $qv['wp_call_to_action_category'] = $term->slug;
195
- }
196
- }
197
-
198
- /* Changes the title of Excerpt meta box to Summary */
199
- public static function change_excerpt_to_summary() {
200
- $post_type = "wp-call-to-action";
201
- if ( post_type_supports($post_type, 'excerpt') ) {
202
- add_meta_box('postexcerpt', __( 'Short Description' , 'cta' ), 'post_excerpt_meta_box', $post_type, 'normal', 'core');
203
- }
204
- }
205
-
206
- public static function show_stats_data()
207
- {
208
- global $post, $CTA_Variations;
209
-
210
- $permalink = get_permalink($post->ID);
211
- $variations = $CTA_Variations->get_variations( $post->ID );
212
-
213
- $admin_url = admin_url();
214
- $admin_url = str_replace('?frontend=false','',$admin_url);
215
-
216
- if ($variations)
217
- {
218
- //echo "<b>".$wp_cta_impressions."</b> visits";
219
- echo "<span class='show-stats button'>". __( 'Show Variation Stats' , 'cta' ) ."</span>";
220
- echo "<ul class='wp-cta-varation-stat-ul'>";
221
-
222
- $first_status = get_post_meta($post->ID,'wp_cta_ab_variation_status', true); // Current status
223
- $first_notes = get_post_meta($post->ID,'wp-cta-variation-notes', true);
224
- $cr_array = array();
225
- $i = 0;
226
- $impressions = 0;
227
- $conversions = 0;
228
- foreach ($variations as $vid => $variation)
229
- {
230
- $letter = $CTA_Variations->vid_to_letter( $post->ID , $vid ); // convert to letter
231
- $each_impression = get_post_meta($post->ID,'wp-cta-ab-variation-impressions-'.$vid, true); // get impressions
232
- $v_status = get_post_meta($post->ID,'cta_ab_variation_status_'.$vid, true); // Current status
233
-
234
- if ($i === 0) { $v_status = $first_status; } // get status of first
235
-
236
- (($v_status === "")) ? $v_status = "1" : $v_status = $v_status; // Get on/off status
237
-
238
- $each_notes = get_post_meta($post->ID,'wp-cta-variation-notes-'.$vid, true); // Get Notes
239
-
240
- if ($i === 0) { $each_notes = $first_notes; } // Get first notes
241
-
242
- $each_conversion = get_post_meta($post->ID,'wp-cta-ab-variation-conversions-'.$vid, true);
243
- (($each_conversion === "")) ? $final_conversion = 0 : $final_conversion = $each_conversion;
244
-
245
- $impressions += get_post_meta($post->ID,'wp-cta-ab-variation-impressions-'.$vid, true);
246
-
247
- $conversions += get_post_meta($post->ID,'wp-cta-ab-variation-conversions-'.$vid, true);
248
-
249
- if ($each_impression != 0)
250
- {
251
- $conversion_rate = $final_conversion / $each_impression;
252
- }
253
- else
254
- {
255
- $conversion_rate = 0;
256
- }
257
-
258
- $conversion_rate = round($conversion_rate,2) * 100;
259
- $cr_array[] = $conversion_rate;
260
-
261
- if ($v_status === "0")
262
- {
263
- $final_status = __( '(Paused)' , 'cta' );
264
- }
265
- else
266
- {
267
- $final_status = "";
268
- }
269
- /*if ($cr_array[$i] > $largest) {
270
- $largest = $cr_array[$i];
271
- }
272
- (($largest === $conversion_rate)) ? $winner_class = 'wp-cta-current-winner' : $winner_class = ""; */
273
- (($final_conversion === "1")) ? $c_text = 'conversion' : $c_text = "conversions";
274
- (($each_impression === "1")) ? $i_text = 'view' : $i_text = "views";
275
- (($each_notes === "")) ? $each_notes = 'No notes' : $each_notes = $each_notes;
276
- $data_letter = "data-letter=\"".$letter."\"";
277
-
278
- $popup = "data-notes=\"<span class='wp-cta-pop-description'>".$each_notes."</span><span class='wp-cta-pop-controls'><span class='wp-cta-pop-edit button-primary'><a href='".$admin_url."post.php?post=".$post->ID."&wp-cta-variation-id=".$vid."&action=edit'>Edit This Varaition</a></span><span class='wp-cta-pop-preview button'><a title='Click to Preview this variation' class='thickbox' href='".$permalink."&wp_cta_iframe_window=on&post_id=".$post->ID."&TB_iframe=true&width=640&height=703' target='_blank'>Preview This Varaition</a></span><span class='wp-cta-bottom-controls'><span class='wp-cta-delete-var-stats' data-letter='".$letter."' data-vid='".$vid."' rel='".$post->ID."'>Clear These Stats</span></span></span>\"";
279
-
280
- echo "<li rel='".$final_status."' data-postid='".$post->ID."' data-letter='".$letter."' data-wp-cta='' class='wp-cta-stat-row-".$vid." ".$post->ID. '-'. $conversion_rate ." status-".$v_status. "'><a ".$popup." ".$data_letter." class='wp-cta-letter' title='click to edit this variation' href='".$admin_url."/wp-admin/post.php?post=".$post->ID."&wp-cta-variation-id=".$vid."&action=edit'>" . $letter . "</a><span class='wp-cta-numbers'> <span class='wp-cta-impress-num'>" . $each_impression . "</span><span class='visit-text'>".$i_text." with</span><span class='wp-cta-con-num'>". $final_conversion . "</span> ".$c_text."</span><a ".$popup." ".$data_letter." class='cr-number cr-empty-".$conversion_rate."' href='/wp-admin/post.php?post=".$post->ID."&wp-cta-variation-id=".$vid."&action=edit'>". $conversion_rate . "%</a></li>";
281
- $i++;
282
- }
283
- echo "</ul>";
284
-
285
- $winning_cr = max($cr_array); // best conversion rate
286
-
287
- if ($winning_cr != 0) {
288
- echo "<span class='variation-winner-is'>".$post->ID. "-".$winning_cr."</span>";
289
- }
290
- //echo "Total Visits: " . $impressions;
291
- //echo "Total Conversions: " . $conversions;
292
- }
293
- else
294
- {
295
- $notes = get_post_meta($post->ID,'wp-cta-variation-notes', true); // Get Notes
296
- $cr = self::show_aggregated_stats("cta_cr");
297
- (($notes === "")) ? $notes = 'No notes' : $notes = $notes;
298
- $popup = "data-notes=\"<span class='wp-cta-pop-description'>".$notes."</span><span class='wp-cta-pop-controls'><span class='wp-cta-pop-edit button-primary'><a href='".$admin_url."post.php?post=".$post->ID."&wp-cta-variation-id=0&action=edit'>Edit This Varaition</a></span><span class='wp-cta-pop-preview button'><a title='Click to Preview this variation' class='thickbox' href='".$permalink."?wp-cta-variation-id=0&wp_cta_iframe_window=on&post_id=".$post->ID."&TB_iframe=true&width=640&height=703' target='_blank'>Preview This Varaition</a></span><span class='wp-cta-bottom-controls'><span class='wp-cta-delete-var-stats' data-letter='A' data-vid='0' rel='".$post->ID."'>Clear These Stats</span></span></span>\"";
299
-
300
- echo "<ul class='wp-cta-varation-stat-ul'><li rel='' data-postid='".$post->ID."' data-letter='A' data-wp-cta=''><a ".$popup." data-letter=\"A\" class='wp-cta-letter' title='click to edit this variation' href='".$admin_url."post.php?post=".$post->ID."&wp-cta-variation-id=0&action=edit'>A</a><span class='wp-cta-numbers'> <span class='wp-cta-impress-num'>" . self::show_aggregated_stats("cta_impressions") . "</span><span class='visit-text'>visits</span><span class='wp-cta-con-num'>". self::show_aggregated_stats("cta_actions") . "</span> conversions</span><a class='cr-number cr-empty-".$cr."' href='".$admin_url."post.php?post=".$post->ID."&wp-cta-variation-id=0&action=edit'>". $cr . "%</a></li></ul>";
301
- echo "<div class='no-stats-yet'>". __( 'No A/B Tests running for this landing page.' , 'cta' ) ." <a href='/wp-admin/post.php?post=".$post->ID."&wp-cta-variation-id=1&action=edit&new-variation=1&wp-cta-message=go'>Start one</a></div>";
302
-
303
- }
304
- }
305
-
306
- /* Needs Documentation */
307
- public static function show_aggregated_stats($type_of_stat)
308
- {
309
- global $post, $CTA_Variations;
310
-
311
- $variations = $CTA_Variations->get_variations($post->ID);
312
-
313
-
314
- $impressions = 0;
315
- $conversions = 0;
316
-
317
- foreach ($variations as $vid => $variation)
318
- {
319
- $impressions += $CTA_Variations->get_impressions( $post->ID , $vid );
320
- $conversions += $CTA_Variations->get_conversions( $post->ID , $vid );
321
- }
322
-
323
- if ($type_of_stat === "cta_actions")
324
- {
325
- return $conversions;
326
- }
327
- if ($type_of_stat === "cta_impressions")
328
- {
329
- return $impressions;
330
- }
331
- if ($type_of_stat === "cta_cr")
332
- {
333
- if ($impressions != 0) {
334
- $conversion_rate = $conversions / $impressions;
335
- } else {
336
- $conversion_rate = 0;
337
- }
338
-
339
- $conversion_rate = round($conversion_rate,2) * 100;
340
-
341
- return $conversion_rate;
342
- }
343
- }
344
-
345
- /* Add butotn to clear all CTA stats */
346
- public static function add_clear_all_stats_button() {
347
- global $post;
348
-
349
- if ( !isset( $post ) || $post->post_type != 'wp-call-to-action' ) {
350
- return;
351
- }
352
-
353
- ?>
354
-
355
- <script>
356
- jQuery(document).ready(function($) {
357
- var cta_button_html = '<span id="cta_clear_all_cta_stats" class="button"><img src="<?php echo WP_CTA_URLPATH; ?>images/reset.png" style="margin-top:-3px;vertical-align:middle;padding-right:3px;"> <?php _e( 'Reset All CTA Stats' , 'cta' ); ?></span>';
358
- jQuery('.search-box').append(cta_button_html);
359
- jQuery("#cta_clear_all_cta_stats").click( function(e) {
360
- e.preventDefault();
361
- if (confirm('<?php _e('Are you sure you want to clear all call to action stats?' , 'cta' ); ?>')) {
362
-
363
- jQuery.ajax({
364
- type: 'POST',
365
- url: ajaxurl,
366
- context: this,
367
- data: {
368
- action: 'wp_cta_clear_all_cta_stats',
369
- },
370
-
371
- success: function(data){
372
- var self = this;
373
-
374
- jQuery(self).text("Stats Removed!").css("color", "green").removeClass("wp-cta-delete-var-stats").addClass('wp-cta-clear-success');
375
- jQuery(".wp-cta-impress-num, .wp-cta-con-num").text("0");
376
- jQuery(".cr-number").addClass("cr-empty-0").text("0%");
377
- },
378
-
379
- error: function(MLHttpRequest, textStatus, errorThrown){
380
- alert("Ajax not enabled");
381
- }
382
- });
383
- };
384
- });
385
- });
386
-
387
- </script>
388
- <?php
389
- }
390
-
391
- /* Clears stats of all CTAs */
392
- public static function clear_all_cta_stats() {
393
- $ctas = get_posts( array(
394
- 'post_type' => 'wp-call-to-action',
395
- 'posts_per_page' => -1
396
- ));
397
-
398
-
399
- foreach ($ctas as $cta) {
400
- Landing_Pages_Post_Type::clear_cta_stats( $cta->ID );
401
- }
402
- }
403
-
404
- /* Clears stats of a single CTA
405
- *
406
- * @param cta_id INT of call to action
407
- */
408
- public static function clear_cta_stats( $cta_id ) {
409
- global $CTA_Variations;
410
-
411
- $variations = $CTA_Variations->get_variations($cta_id);
412
- if ($variations)
413
- {
414
- foreach ( $variations as $vid => $variation )
415
- {
416
- add_post_meta( $cta_id, 'wp-cta-ab-variation-impressions-'.$vid, 0 , true ) or update_post_meta( $cta_id, 'wp-cta-ab-variation-impressions-'.$vid , 0 );
417
- add_post_meta( $cta_id, 'wp-cta-ab-variation-conversions-'.$vid, 0 , true ) or update_post_meta( $cta_id, 'wp-cta-ab-variation-conversions-'.$vid , 0 );
418
- }
419
-
420
- } else {
421
- add_post_meta( $cta_id, 'wp-cta-ab-variation-impressions-0', 0 , true ) or update_post_meta( $cta_id, 'wp-cta-ab-variation-impressions-0' , 0 );
422
- add_post_meta( $cta_id, 'wp-cta-ab-variation-conversions-0', 0 , true ) or update_post_meta( $cta_id, 'wp-cta-ab-variation-conversions-0' , 0 );
423
- }
424
- }
425
-
426
- /* Clears stats for CTA variation given CTA & Variation ID
427
- *
428
- * @param cta_id INI
429
- * @param variation_id INT
430
- *
431
- */
432
- public static function clear_cta_variation_stats( $cta_id = 0 , $variation_id = 0 ) {
433
-
434
- add_post_meta( $cta_id, 'wp-cta-ab-variation-impressions-'.$variation_id , 0 , true ) or update_post_meta( $cta_id, 'wp-cta-ab-variation-impressions-'.$variation_id , 0 );
435
- add_post_meta( $cta_id, 'wp-cta-ab-variation-conversions-'.$variation_id , 0 , true ) or update_post_meta( $cta_id, 'wp-cta-ab-variation-conversions-'.$variation_id , 0 );
436
-
437
- }
438
- }
439
-
440
- /* Load Post Type Pre Init */
441
- $GLOBALS['Landing_Pages_Post_Type'] = new Landing_Pages_Post_Type();
442
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/class.statistics.php DELETED
@@ -1,128 +0,0 @@
1
- <?php
2
-
3
- class Landing_Pages_Statistics {
4
- static $variations;
5
-
6
- /**
7
- * Gets a comprehensive statistics array given a landing page id
8
- */
9
- public static function read_statistics( $landing_page_id ) {
10
- self::$variations = self::get_variations( $landing_page_id );
11
-
12
- $statistics['variations'] = self::$variations;
13
- $statistics['impressions'] = self::get_impressions( $landing_page_id );
14
- $statistics['conversions'] = self::get_conversions( $landing_page_id );
15
-
16
- return $statistics;
17
- }
18
-
19
-
20
- /**
21
- * Returns array of variation data given a landing page id
22
- *
23
- * @param INT $landing_page_id id of landing page
24
- * @param INT $vid id of specific variation
25
- *
26
- * @returns ARRAY of variation data
27
- */
28
- public static function get_variations( $landing_page_id , $vid = null ) {
29
-
30
- $variations = (self::$variations) ? self::$variations : get_post_meta( $landing_page_id , 'lp-ab-variations' , true );
31
- $variations = explode( ',' , $variations );
32
- $variations = array_filter( $variations , 'is_numeric' );
33
-
34
- return ( $variations ? $variations : array() );
35
- }
36
-
37
-
38
- /**
39
- * Gets impressions count for landing page variations
40
- * @param $landing_page_id
41
- * @return ARRAY
42
- */
43
-
44
- public static function get_impressions( $landing_page_id ) {
45
- $variations = (self::$variations) ? self::$variations : self::get_variations( $landing_page_id );
46
-
47
- $impressions = array();
48
- foreach ($variations as $vid) {
49
- $impressions[$vid] = self::get_impressions_count( $landing_page_id , $vid );
50
- }
51
-
52
- return $impressions;
53
- }
54
-
55
-
56
- /**
57
- * Gets conversion counts for landing page variations
58
- * @param $landing_page_id
59
- * @return ARRAY
60
- */
61
-
62
- public static function get_conversions( $landing_page_id ) {
63
- $variations = (self::$variations) ? self::$variations : self::get_variations( $landing_page_id );
64
-
65
- $impressions = array();
66
- foreach ($variations as $vid) {
67
- $impressions[$vid] = self::get_impressions_count( $landing_page_id , $vid );
68
- }
69
-
70
- return $impressions;
71
- }
72
-
73
-
74
- /**
75
- * Returns impression for given cta and variation id
76
- *
77
- * @param INT $landing_page_id id of call to action
78
- * @param INT $vid id of variation belonging to call to action
79
- *
80
- * @return INT impression count
81
- */
82
- public static function get_impressions_count( $landing_page_id , $vid ) {
83
-
84
- $impressions = get_post_meta( $landing_page_id , 'lp-ab-variation-impressions-'.$vid , true);
85
-
86
- if (!is_numeric($impressions)) {
87
- $impressions = 0;
88
- }
89
-
90
- return $impressions;
91
- }
92
- /**
93
- * Returns conversion count for given landing page id and variation id
94
- *
95
- * @param INT $landing_page_id id of call to action
96
- * @param INT $vid id of variation belonging to call to action
97
- *
98
- * @return INT impression count
99
- */
100
- public static function get_conversions_count( $landing_page_id , $vid = 0 ) {
101
-
102
-
103
- $conversions = get_post_meta( $landing_page_id , 'lp-ab-variation-conversions-'.$vid , true);
104
-
105
- if (!is_numeric($conversions)) {
106
- $conversions = 0;
107
- }
108
-
109
- return $conversions;
110
- }
111
-
112
-
113
- /**
114
- * Set impression count
115
- */
116
- public static function set_impression_count( $landing_page_id , $vid , $count ) {
117
- update_post_meta( $landing_page_id, 'lp-ab-variation-impressions-'.$vid, $count );
118
- }
119
-
120
- /**
121
- * Set conversion count
122
- */
123
- public static function set_conversion_count( $landing_page_id , $vid , $count ) {
124
- update_post_meta( $landing_page_id, 'lp-ab-variation-conversions-'.$vid, $count );
125
- }
126
-
127
- }
128
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
css/admin-lp-cpt-only-style.css CHANGED
@@ -1,11 +1,11 @@
1
  #main-title-area #lp-main-headline {
2
  width: 100%;
 
3
  font-size: 23px;
 
4
  outline: 0 none;
5
  padding: 0px 7px;
6
- }
7
- #post-body-content, .edit-form-section {
8
- margin-bottom: 0px;
9
  }
10
  #main-title-header h3 {
11
  display: inline-block;
@@ -34,14 +34,12 @@ padding: 0px 7px;
34
  }
35
  .lp-template-selector-container ul#template-filter li {
36
  display: inline-block;
37
-
 
38
  margin-right: 5px;
39
  text-align: center;
40
  margin-bottom: 10px;
41
  }
42
- .lp-template-selector-container ul#template-filter {
43
- margin-bottom: 10px;
44
- }
45
  .lp-template-selector-container ul#template-filter {
46
  line-height: 30px;
47
  margin-top: 10px;
@@ -61,10 +59,7 @@ ul#template-filter .button-primary a {
61
  vertical-align: middle;
62
  float: none !important;
63
  font-weight: normal;
64
- font-size: 20px;
65
- }
66
- #more-templates-button a {
67
- font-size: 15px;
68
  }
69
  #lp_2_form_content .hndle em {
70
  font-size: 13px;
1
  #main-title-area #lp-main-headline {
2
  width: 100%;
3
+
4
  font-size: 23px;
5
+ line-height: 100%;
6
  outline: 0 none;
7
  padding: 0px 7px;
8
+ padding-top: 8px;
 
 
9
  }
10
  #main-title-header h3 {
11
  display: inline-block;
34
  }
35
  .lp-template-selector-container ul#template-filter li {
36
  display: inline-block;
37
+ padding: 5px;
38
+ padding-top: 0px;
39
  margin-right: 5px;
40
  text-align: center;
41
  margin-bottom: 10px;
42
  }
 
 
 
43
  .lp-template-selector-container ul#template-filter {
44
  line-height: 30px;
45
  margin-top: 10px;
59
  vertical-align: middle;
60
  float: none !important;
61
  font-weight: normal;
62
+ margin-left: 20px;
 
 
 
63
  }
64
  #lp_2_form_content .hndle em {
65
  font-size: 13px;
css/admin-post-edit.css CHANGED
@@ -13,16 +13,9 @@ h2#convert-header {
13
  .quicktags-toolbar, .wp_themeSkin tr.mceFirst td.mceToolbar {
14
  height: 38px;
15
  }
16
- .quicktags-toolbar {
17
- height: auto;
18
- }
19
  .mceIframeContainer.mceFirst.mceLast iframe{
20
  height: 335px !important;
21
  }
22
- /* FIX WORDPRESS BULLSHIT */
23
- body.modal-open {
24
- overflow: visible !important;
25
- }
26
  #lp-notes-area input {
27
  width: 100%;
28
  color: #AAAAAA;
@@ -104,41 +97,37 @@ min-width: 320px;
104
 
105
  #main-title-area .button-primary.new-save-lp {
106
  position: absolute !important;
107
- top: 2px !important;
108
  font-size: 17px !important;
109
  padding-top: 3px !important;
110
  right: 0px !important;
111
  height: 31px !important;
112
- max-width: 100px !important;
113
- text-align: center !important;
114
- }
115
- .jPicker {
116
- display: inline-block;
117
- vertical-align: top;
118
- margin-top: 3px;
119
  }
120
  #lp-notes-area .button-primary.new-save-lp {
121
  position: absolute !important;
122
- top: 2px !important;
123
- font-size: 17px !important;
124
- padding-top: 3px !important;
125
  right: 0px !important;
126
- height: 31px !important;
127
-
128
  }
129
  #main-title-area .lp-success-message, #lp-notes-area .lp-success-message {
130
  position: absolute !important;
131
  top: 1px !important;
132
- font-size: 17px !important;
133
  padding-top: 3px !important;
134
  right: 0px !important;
135
- height: 31px !important;
136
  vertical-align: middle;
137
  margin-top: 0px;
138
  padding-bottom: 0px;
139
  }
140
 
141
-
 
 
142
 
143
  #main-title-area .lp-success-message {
144
  margin-top: 4px;
13
  .quicktags-toolbar, .wp_themeSkin tr.mceFirst td.mceToolbar {
14
  height: 38px;
15
  }
 
 
 
16
  .mceIframeContainer.mceFirst.mceLast iframe{
17
  height: 335px !important;
18
  }
 
 
 
 
19
  #lp-notes-area input {
20
  width: 100%;
21
  color: #AAAAAA;
97
 
98
  #main-title-area .button-primary.new-save-lp {
99
  position: absolute !important;
100
+ top: 1px !important;
101
  font-size: 17px !important;
102
  padding-top: 3px !important;
103
  right: 0px !important;
104
  height: 31px !important;
105
+ width: 70px !important;
 
 
 
 
 
 
106
  }
107
  #lp-notes-area .button-primary.new-save-lp {
108
  position: absolute !important;
109
+ top: 0px !important;
110
+ font-size: 14px !important;
111
+ padding-top: 0px !important;
112
  right: 0px !important;
113
+ height: 24px !important;
114
+ width: 66px !important;
115
  }
116
  #main-title-area .lp-success-message, #lp-notes-area .lp-success-message {
117
  position: absolute !important;
118
  top: 1px !important;
119
+ font-size: 11px !important;
120
  padding-top: 3px !important;
121
  right: 0px !important;
122
+ height: 17px !important;
123
  vertical-align: middle;
124
  margin-top: 0px;
125
  padding-bottom: 0px;
126
  }
127
 
128
+ #main-title-area .button-primary.new-save-lp {
129
+ padding-top: 6px !important;
130
+ }
131
 
132
  #main-title-area .lp-success-message {
133
  margin-top: 4px;
css/admin-post-new.css CHANGED
@@ -18,9 +18,6 @@
18
  .quicktags-toolbar, .wp_themeSkin tr.mceFirst td.mceToolbar {
19
  height: 38px;
20
  }
21
- .quicktags-toolbar {
22
- height: auto;
23
- }
24
  .mceIframeContainer.mceFirst.mceLast iframe{
25
  height: 335px !important;
26
  }
18
  .quicktags-toolbar, .wp_themeSkin tr.mceFirst td.mceToolbar {
19
  height: 38px;
20
  }
 
 
 
21
  .mceIframeContainer.mceFirst.mceLast iframe{
22
  height: 335px !important;
23
  }
css/admin-style.css CHANGED
@@ -5,18 +5,12 @@
5
  padding-right:60px;
6
  }
7
 
8
- #main-title-area {
 
9
  margin-top: 5px;
10
  }
11
 
12
- #main-title-area span {
13
- margin-top:30px;
14
- z-index:999999;
15
- }
16
 
17
- tr#leads {
18
- display: table-row !important;
19
- }
20
  #setting-error-tgmpa p:nth-child(2) strong em {
21
  margin-top: 5px;
22
  }
@@ -33,14 +27,14 @@ padding-left: 10px;
33
 
34
  }
35
  #menu-posts-landing-page .wp-submenu.wp-submenu-wrap {
36
- z-index: 99999;
37
  }
38
  @font-face {
39
  font-family: 'FontAwesome';
40
- src: url('../shared/assets/fonts/fontawesome/fontawesome-webfont.eot?v=3.0.2');
41
- src: url('../shared/assets/fonts/fontawesome/fontawesome-webfont.eot?#iefix&v=3.0.2') format('embedded-opentype'),
42
- url('../shared/assets/fonts/fontawesome/fontawesome-webfont.woff?v=3.0.2') format('woff'),
43
- url('../shared/assets/fonts/fontawesome/fontawesome-webfont.ttf?v=3.0.2') format('truetype');
44
  font-weight: normal;
45
  font-style: normal;
46
  }
@@ -329,6 +323,11 @@ div#lp-store-iframe-container > iframe {
329
  color:#388DBC;
330
  }
331
 
 
 
 
 
 
332
  #wp-leads-splash-header
333
  {
334
  background: #f2f2f2;
@@ -414,10 +413,8 @@ div#lp-store-iframe-container > iframe {
414
  #lp-tour {
415
  position: absolute;
416
  font-size: 13px;
417
- top: 0px;
418
  right: 170px;
419
- color: rgb(253, 3, 3);
420
- cursor: pointer;
421
  }
422
  .lp-success-message
423
  {
5
  padding-right:60px;
6
  }
7
 
8
+ #main-title-area
9
+ {
10
  margin-top: 5px;
11
  }
12
 
 
 
 
 
13
 
 
 
 
14
  #setting-error-tgmpa p:nth-child(2) strong em {
15
  margin-top: 5px;
16
  }
27
 
28
  }
29
  #menu-posts-landing-page .wp-submenu.wp-submenu-wrap {
30
+ z-index: 99999999999;
31
  }
32
  @font-face {
33
  font-family: 'FontAwesome';
34
+ src: url('../shared/assets/global/fonts/fontawesome/fontawesome-webfont.eot?v=3.0.2');
35
+ src: url('../shared/assets/global/fonts/fontawesome/fontawesome-webfont.eot?#iefix&v=3.0.2') format('embedded-opentype'),
36
+ url('../shared/assets/global/fonts/fontawesome/fontawesome-webfont.woff?v=3.0.2') format('woff'),
37
+ url('../shared/assets/global/fonts/fontawesome/fontawesome-webfont.ttf?v=3.0.2') format('truetype');
38
  font-weight: normal;
39
  font-style: normal;
40
  }
323
  color:#388DBC;
324
  }
325
 
326
+ .wp-list-table td
327
+ {
328
+ color:#388DBC;
329
+ }
330
+
331
  #wp-leads-splash-header
332
  {
333
  background: #f2f2f2;
413
  #lp-tour {
414
  position: absolute;
415
  font-size: 13px;
416
+ top: -3px;
417
  right: 170px;
 
 
418
  }
419
  .lp-success-message
420
  {
css/new-customizer-admin.css CHANGED
@@ -1,4 +1,4 @@
1
- #wpadminbar, #edit-slug-box, #post-status-info, #screen-options-link-wrap, #leads-table-container, .misc-pub-section, #minor-publishing, .misc-pub-section, .misc-pub-section.curtime, #delete-action, #convert-header, #lp-tour, #view-post-btn, #launch-visual-editer, #adminmenuwrap, #lp_ab_display_stats_metabox, #lp-thumbnail-sidebar-preview, #landing_page_categorydiv, #postimagediv, #leads-table-container-inside, .updated.below-h2 a, .mceButton.mceButtonEnabled.mce_fullscreen, .mce_strikethrough, .mce_wp_more, #setting-error-tgmpa, #lp_preview_this_template {
2
  display: none !important;
3
  }
4
  html.wp-toolbar {
@@ -14,10 +14,7 @@ margin-left: 10px !important;
14
  padding-bottom: 90px !important;
15
  width: 100% !important;
16
  }
17
- .wp-media-buttons {
18
- float: none !important;
19
- text-align: center !important;
20
- }
21
  .wp_themeSkin .mceButton {
22
  display: block;
23
  width: 20px !important;
@@ -122,13 +119,9 @@ display: block;
122
  .inbound-meta-box-option.inbound-datepicker-option input {
123
  width: 70%;
124
  }
125
- .template-thumbnail {
126
- height: auto !important;
127
- }
128
- #template-item #template-box {
129
- display: block;
130
- width: 65%;
131
- margin: auto;
132
  }
133
  table.jPicker {
134
  width: 430px !important;}
@@ -165,11 +158,7 @@ margin-bottom: 10px;
165
  margin-top: 10px;
166
  }
167
  #template-item {
168
- width: 100%
169
- }
170
- .currently_selected {
171
- width: 90% !important;
172
- }
173
  ul#template-filter li {
174
  display: inline-block;
175
 
@@ -184,12 +173,11 @@ line-height: 20px;
184
  text-align: center;
185
  }
186
  .form-table .inbound-meta-box-label label{
187
- width: 100% !important;
188
- display: block !important;
189
- margin-bottom: 15px;
190
- margin-top: 10px;
191
- font-size: 15px !important;
192
- text-decoration: underline;
193
  }
194
  .form-table .inbound-wysiwyg-row .inbound-meta-box-label label{
195
  margin-left: -10px !important;
1
+ #wpadminbar, #edit-slug-box, #post-status-info, #screen-options-link-wrap, #leads-table-container, .misc-pub-section, #minor-publishing, .misc-pub-section, .misc-pub-section.curtime, #delete-action, #convert-header, #lp-tour, #view-post-btn, #launch-visual-editer, #adminmenuwrap, #lp_ab_display_stats_metabox, #lp-thumbnail-sidebar-preview, #landing_page_categorydiv, #postimagediv, #leads-table-container-inside, .updated.below-h2 a, .mceButton.mceButtonEnabled.mce_fullscreen, .mce_strikethrough, .mce_wp_more, #setting-error-tgmpa {
2
  display: none !important;
3
  }
4
  html.wp-toolbar {
14
  padding-bottom: 90px !important;
15
  width: 100% !important;
16
  }
17
+
 
 
 
18
  .wp_themeSkin .mceButton {
19
  display: block;
20
  width: 20px !important;
119
  .inbound-meta-box-option.inbound-datepicker-option input {
120
  width: 70%;
121
  }
122
+ #lp-notes-area input {
123
+
124
+ padding-bottom: 0px;
 
 
 
 
125
  }
126
  table.jPicker {
127
  width: 430px !important;}
158
  margin-top: 10px;
159
  }
160
  #template-item {
161
+ width: 200px;}
 
 
 
 
162
  ul#template-filter li {
163
  display: inline-block;
164
 
173
  text-align: center;
174
  }
175
  .form-table .inbound-meta-box-label label{
176
+ width: 100% !important;
177
+ display: block !important;
178
+ margin-bottom: 5px;
179
+ font-size: 20px !important;
180
+
 
181
  }
182
  .form-table .inbound-wysiwyg-row .inbound-meta-box-label label{
183
  margin-left: -10px !important;
images/image.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php
2
 
3
  // file: image.php
4
  // Dynamically Create a clear png for css background opacities
@@ -7,56 +7,52 @@ header("Content-type: image/png");
7
  $hex_value = $_GET['hex'];
8
 
9
  if (isset($_GET['trans'])) {
10
- $trans_value = $_GET['trans'];
11
  }
12
  else {
13
  $trans_value = 50;
14
  }
15
 
16
- if (!function_exists('_inbound_HexToRGB')) {
17
- // Convert Hex to RGB Value
18
- function _inbound_HexToRGB($hex) {
19
- $hex = preg_replace("/#/", "", $hex);
20
- $color = array();
21
-
22
- if(strlen($hex) == 3) {
23
- $color['r'] = hexdec(substr($hex, 0, 1) . $r);
24
- $color['g'] = hexdec(substr($hex, 1, 1) . $g);
25
- $color['b'] = hexdec(substr($hex, 2, 1) . $b);
26
- }
27
- else if(strlen($hex) == 6) {
28
- $color['r'] = hexdec(substr($hex, 0, 2));
29
- $color['g'] = hexdec(substr($hex, 2, 2));
30
- $color['b'] = hexdec(substr($hex, 4, 2));
31
- }
32
-
33
- return $color;
34
-
35
- }
36
  }
37
 
38
- $RBG_array = _inbound_HexToRGB($hex_value);
39
 
40
- if(isset($RBG_array)) {
41
- $red = (isset($RBG_array['r'])) ? $RBG_array['r'] : '0';
42
- $green = (isset($RBG_array['g'])) ? $RBG_array['g'] : '0';
43
- $blue = (isset($RBG_array['b'])) ? $RBG_array['b'] : '0';
44
-
45
- // Set the image
46
  $img = imagecreatetruecolor(10,10); // 10 x 10 px
47
- imagesavealpha($img, true);
48
 
49
- // Fill the image with transparent color
50
- $color = imagecolorallocatealpha($img,$red,$green,$blue,$trans_value);
51
- imagefill($img, 0, 0, $color);
52
 
53
  // Return the image
54
- imagepng($img);
55
 
56
- // Destroy image
57
  imagedestroy($img);
58
 
59
- }
60
  // usage in html: <image src="path-to-file/image.php?hex=HEXCOLOR">
61
  // Make sure to add in the HEX GET Parameters with ?hex= and ?trans= for transparency
62
  // example: <image src="path-to-file/image.php?hex=ffffff"> will call white transparent png
1
+ <?php
2
 
3
  // file: image.php
4
  // Dynamically Create a clear png for css background opacities
7
  $hex_value = $_GET['hex'];
8
 
9
  if (isset($_GET['trans'])) {
10
+ $trans_value = $_GET['trans'];
11
  }
12
  else {
13
  $trans_value = 50;
14
  }
15
 
16
+ // Convert Hex to RGB Value
17
+ function HexToRGB($hex) {
18
+ $hex = preg_replace("/#/", "", $hex);
19
+ $color = array();
20
+
21
+ if(strlen($hex) == 3) {
22
+ $color['r'] = hexdec(substr($hex, 0, 1) . $r);
23
+ $color['g'] = hexdec(substr($hex, 1, 1) . $g);
24
+ $color['b'] = hexdec(substr($hex, 2, 1) . $b);
25
+ }
26
+ else if(strlen($hex) == 6) {
27
+ $color['r'] = hexdec(substr($hex, 0, 2));
28
+ $color['g'] = hexdec(substr($hex, 2, 2));
29
+ $color['b'] = hexdec(substr($hex, 4, 2));
30
+ }
31
+
32
+ return $color;
33
+
 
 
34
  }
35
 
36
+ $RBG_array = HexToRGB($hex_value);
37
 
38
+ $red = $RBG_array [r];
39
+ $green = $RBG_array [g];
40
+ $blue = $RBG_array [b];
41
+
42
+ // Set the image
 
43
  $img = imagecreatetruecolor(10,10); // 10 x 10 px
44
+ imagesavealpha($img, true);
45
 
46
+ // Fill the image with transparent color
47
+ $color = imagecolorallocatealpha($img,$red,$green,$blue,$trans_value);
48
+ imagefill($img, 0, 0, $color);
49
 
50
  // Return the image
51
+ imagepng($img);
52
 
53
+ // Destroy image
54
  imagedestroy($img);
55
 
 
56
  // usage in html: <image src="path-to-file/image.php?hex=HEXCOLOR">
57
  // Make sure to add in the HEX GET Parameters with ?hex= and ?trans= for transparency
58
  // example: <image src="path-to-file/image.php?hex=ffffff"> will call white transparent png
js/admin/admin.metaboxes.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function($) {
1
+ jQuery(document).ready(function($) {
js/admin/admin.post-edit.js CHANGED
@@ -5,13 +5,6 @@ jQuery(document).ready(function($) {
5
  alert('Oh no! jQuery Cookie not loaded. Your Server Might be Blocking this. Some functionality may be impaired');
6
  }
7
 
8
- jQuery('.button.button-small').each(function(){
9
- var $this = jQuery(this);
10
- var text = $this.text();
11
- if(text === "Get Shortlink") {
12
- $this.hide();
13
- }
14
- });
15
 
16
  // Filter Styling
17
  jQuery('#template-filter li').first().addClass('button-primary');
@@ -349,7 +342,6 @@ jQuery(document).ready(function($) {
349
  jQuery("#lp_metabox_select_template h3").first().prepend('<strong>' + capitaliseFirstLetter(clean_template_name) + '</strong> - ');
350
 
351
  jQuery('#lp-change-template-button').live('click', function () {
352
- jQuery('.acf-postbox').remove();
353
  jQuery(".wrap").fadeOut(500,function(){
354
 
355
  jQuery(".lp-template-selector-container").fadeIn(500, function(){
@@ -438,6 +430,184 @@ jQuery(document).ready(function($) {
438
  jQuery("#publish").val("Update All");
439
  }
440
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
441
 
442
 
443
  });
5
  alert('Oh no! jQuery Cookie not loaded. Your Server Might be Blocking this. Some functionality may be impaired');
6
  }
7
 
 
 
 
 
 
 
 
8
 
9
  // Filter Styling
10
  jQuery('#template-filter li').first().addClass('button-primary');
342
  jQuery("#lp_metabox_select_template h3").first().prepend('<strong>' + capitaliseFirstLetter(clean_template_name) + '</strong> - ');
343
 
344
  jQuery('#lp-change-template-button').live('click', function () {
 
345
  jQuery(".wrap").fadeOut(500,function(){
346
 
347
  jQuery(".lp-template-selector-container").fadeIn(500, function(){
430
  jQuery("#publish").val("Update All");
431
  }
432
 
433
+ // Ajax Saving for metadata
434
+ jQuery('#lp_metabox_select_template input, #lp_metabox_select_template select, #lp_metabox_select_template textarea').on("change keyup", function (e) {
435
+ // iframe content change needs its own change function $("#iFrame").contents().find("#someDiv")
436
+ // media uploader needs its own change function
437
+ var this_id = jQuery(this).attr("id");
438
+ var parent_el = jQuery(this).parent();
439
+ jQuery(parent_el).find(".lp-success-message").remove();
440
+ jQuery(parent_el).find(".new-save-lp").remove();
441
+ var ajax_save_button = jQuery('<span class="button-primary new-save-lp" id="' + this_id + '" style="margin-left:10px">Update</span>');
442
+ //console.log(parent_el);
443
+ jQuery(ajax_save_button).appendTo(parent_el);
444
+ });
445
+
446
+ jQuery('#lp-notes-area input').on("change keyup", function (e) {
447
+ var this_id = jQuery(this).attr("id");
448
+ var parent_el = jQuery(this).parent();
449
+ jQuery(parent_el).find(".lp-success-message").remove();
450
+ jQuery(parent_el).find(".new-save-lp").remove();
451
+ var ajax_save_button = jQuery('<span class="button-primary new-save-lp" id="' + this_id + '" style="margin-left:10px">Update</span>');
452
+ //console.log(parent_el);
453
+ jQuery(ajax_save_button).appendTo(parent_el);
454
+ });
455
+
456
+ jQuery('#main-title-area input').on("change keyup", function (e) {
457
+ // iframe content change needs its own change function $("#iFrame").contents().find("#someDiv")
458
+ // media uploader needs its own change function
459
+ var this_id = jQuery(this).attr("id");
460
+ var current_view = jQuery("#lp-current-view").text();
461
+ if (current_view !== "0") {
462
+ this_id = this_id + '-' + current_view;
463
+ }
464
+ var parent_el = jQuery(this).parent();
465
+ jQuery(parent_el).find(".lp-success-message").remove();
466
+ jQuery(parent_el).find(".new-save-lp").remove();
467
+ var ajax_save_button = jQuery('<span class="button-primary new-save-lp" id="' + this_id + '" style="margin-left:10px">Update</span>');
468
+ //console.log(parent_el);
469
+ jQuery(ajax_save_button).appendTo(parent_el);
470
+ });
471
+
472
+ // wysiwyg on keyup save action
473
+ /*
474
+ setTimeout(function() {
475
+ jQuery('.mceIframeContainer iframe, .landing-page-option-row iframe').contents().find('body').on("keyup", function (e) {
476
+ var thisclass = jQuery(this).attr("class");
477
+ var this_class_dirty = thisclass.replace("mceContentBody ", "");
478
+ var this_class_cleaner = this_class_dirty.replace("wp-editor", "");
479
+ var clean_1 = this_class_cleaner.replace("post-type-landing-page", "");
480
+ var clean_2 = clean_1.replace("post-status-publish", "");
481
+ var clean_3 = clean_2.replace(/[.\s]+$/g, ""); // remove trailing whitespace
482
+ var clean_spaces = clean_3.replace(/\s{2,}/g, ' '); // remove more than one space
483
+ var this_id = clean_spaces.replace(/[.\s]+$/g, ""); // remove trailing whitespace
484
+ console.log(this_id);
485
+ var parent_el = jQuery( "." + this_id + " .landing-page-table-header");
486
+ jQuery(parent_el).find(".lp-success-message").remove();
487
+ jQuery(parent_el).find(".new-save-lp").remove();
488
+ var ajax_save_button = jQuery('<span class="button-primary new-save-lp" id="' + this_id + '" style="margin-left:10px;">Update</span>');
489
+ //console.log(parent_el);
490
+ jQuery(ajax_save_button).appendTo(parent_el);
491
+ });
492
+ }, 4000);
493
+ */
494
+
495
+
496
+ // SAVE META
497
+ var nonce_val = lp_post_edit_ui.wp_landing_page_meta_nonce; // NEED CORRECT NONCE
498
+ jQuery(document).on('mousedown', '.new-save-lp', function () {
499
+ var type_input = jQuery(this).parent().find("input").attr("type");
500
+ var type_select = jQuery(this).parent().find("select");
501
+ // var the_conversion_area_editor = jQuery(this).parent().parent().find('#lp-conversion-area_ifr').length;
502
+ jQuery(this).parent().find(".lp-success-message").hide();
503
+ // var the_content_editor = jQuery(this).parent().parent().find('#wp_content_ifr').length;
504
+ var type_wysiwyg = jQuery(this).parent().parent().find('iframe').length;
505
+
506
+ var type_textarea = jQuery(this).parent().find("textarea");
507
+ if (typeof (type_input) != "undefined" && type_input !== null) {
508
+ var type_of_field = type_input;
509
+ } else if (typeof (type_wysiwyg) != "undefined" && type_wysiwyg !== null && type_wysiwyg === 1) {
510
+ var type_of_field = 'wysiwyg';
511
+ } else if (typeof (type_textarea) != "undefined" && type_textarea !== null) {
512
+ var type_of_field = 'textarea';
513
+ } else {
514
+ (typeof (type_select) != "undefined" && type_select)
515
+ var type_of_field = 'select';
516
+ }
517
+ // console.log(type_of_field); // type of input
518
+ var new_value_meta_input = jQuery(this).parent().find("input").val();
519
+ //console.log(new_value_meta_input);
520
+ var new_value_meta_select = jQuery(this).parent().find("select").val();
521
+ var new_value_meta_textarea = jQuery(this).parent().find("textarea").val();
522
+ // console.log(new_value_meta_select);
523
+ var new_value_meta_radio = jQuery(this).parent().find("input:checked").val();
524
+ var new_value_meta_checkbox = jQuery(this).parent().find('input[type="checkbox"]:checked').val();
525
+ var new_wysiwyg_meta = jQuery(this).parent().parent().find("iframe").contents().find("body").html();
526
+ // prep data
527
+ if (typeof (new_value_meta_input) != "undefined" && new_value_meta_input !== null && type_of_field == "text") {
528
+ var meta_to_save = new_value_meta_input;
529
+ } else if (typeof (new_value_meta_textarea) != "undefined" && new_value_meta_textarea !== null && type_of_field == "textarea") {
530
+ var meta_to_save = new_value_meta_textarea;
531
+ } else if (typeof (new_value_meta_select) != "undefined" && new_value_meta_select !== null) {
532
+ var meta_to_save = new_value_meta_select;
533
+ } else if (typeof (new_value_meta_radio) != "undefined" && new_value_meta_radio !== null && type_of_field == "radio") {
534
+ var meta_to_save = new_value_meta_radio;
535
+ } else if (typeof (new_value_meta_checkbox) != "undefined" && new_value_meta_checkbox !== null && type_of_field == "checkbox") {
536
+ var meta_to_save = new_value_meta_checkbox;
537
+ } else if (typeof (new_wysiwyg_meta) != "undefined" && new_wysiwyg_meta !== null && type_of_field == "wysiwyg") {
538
+ var meta_to_save = new_wysiwyg_meta;
539
+ //alert('here');
540
+ } else {
541
+ var meta_to_save = "";
542
+ }
543
+
544
+ // if data exists save it
545
+ // console.log(meta_to_save);
546
+
547
+ var this_meta_id = jQuery(this).attr("id"); // From save button
548
+ console.log(this_meta_id);
549
+ var post_id = jQuery("#post_ID").val();
550
+ console.log(post_id);
551
+ console.log(meta_to_save);
552
+ var frontend_status = jQuery("#frontend-on").val();
553
+
554
+ function do_reload_preview() {
555
+ var cache_bust = generate_random_cache_bust(35);
556
+ var reload_url = parent.window.location.href;
557
+ reload_url = reload_url.replace('template-customize=on','');
558
+ //alert(reload_url);
559
+ var current_variation_id = jQuery("#lp-current-view").text();
560
+
561
+ // var reload = jQuery(parent.document).find("#lp-live-preview").attr("src");
562
+ var new_reload = reload_url + "&live-preview-area=" + cache_bust + "&lp-variation-id=" + current_variation_id;
563
+ //alert(new_reload);
564
+ jQuery(parent.document).find("#lp-live-preview").attr("src", new_reload);
565
+ // console.log(new_reload);
566
+ }
567
+ // Run Ajax
568
+ jQuery.ajax({
569
+ type: 'POST',
570
+ url: lp_post_edit_ui.ajaxurl,
571
+ context: this,
572
+ data: {
573
+ action: 'wp_landing_page_meta_save',
574
+ meta_id: this_meta_id,
575
+ new_meta_val: meta_to_save,
576
+ page_id: post_id,
577
+ nonce: nonce_val
578
+ },
579
+
580
+ success: function (data) {
581
+ var self = this;
582
+
583
+ //alert(data);
584
+ // jQuery('.lp-form').unbind('submit').submit();
585
+ //var worked = '<span class="success-message-map">Success! ' + this_meta_id + ' set to ' + meta_to_save + '</span>';
586
+ var worked = '<span class="lp-success-message">Updated!</span>';
587
+ var s_message = jQuery(self).parent();
588
+ jQuery(worked).appendTo(s_message);
589
+ jQuery(self).parent().find("lp-success-message").remove();
590
+ jQuery(self).hide();
591
+ // RUN RELOAD
592
+ if (typeof (frontend_status) != "undefined" && frontend_status !== null) {
593
+
594
+ console.log('reload frame');
595
+ do_reload_preview();
596
+ } else {
597
+ console.log('No reload frame');
598
+ }
599
+ //alert("Changes Saved!");
600
+ },
601
+
602
+ error: function (MLHttpRequest, textStatus, errorThrown) {
603
+ alert("Ajax not enabled");
604
+ }
605
+ });
606
+
607
+ //reload_preview();
608
+ return false;
609
+
610
+ });
611
 
612
 
613
  });
js/admin/new-customizer-admin.js CHANGED
@@ -15,16 +15,15 @@ function generate_random_cache_bust(length) {
15
  jQuery(document).ready(function($) {
16
  jQuery('.nav-tab-wrapper.a_b_tabs a').each(function(){
17
  var this_link = jQuery(this).attr('href');
18
-
19
  jQuery(this).attr('href', this_link + "&frontend=true");
20
 
21
  });
22
 
23
  jQuery(".nav-tab-wrapper.a_b_tabs a").on('click', function (event) {
24
-
25
  jQuery(parent.document).find(".lp-load-overlay").fadeIn('slow');
26
 
27
- });
28
 
29
 
30
  var open_variation = jQuery("#open_variation").val();
@@ -41,14 +40,14 @@ console.log(link_variation);
41
  //});
42
 
43
  //alert(jQuery("#current_variation_id").text());
44
- function reload_preview() {
45
  var cache_bust = generate_random_cache_bust(35);
46
  var reload_url = parent.window.location.href;
47
  reload_url = reload_url.replace('template-customize=on','');
48
  //alert(reload_url);
49
  var current_variation_id = jQuery("#open_variation").val();
50
-
51
- // var reload = jQuery(parent.document).find("#lp-live-preview").attr("src");
52
  var new_reload = reload_url + "&live-preview-area=" + cache_bust + "&lp-variation-id=" + current_variation_id;
53
  jQuery(parent.document).find("#lp-live-preview").attr("src", new_reload);
54
  // console.log(new_reload);
15
  jQuery(document).ready(function($) {
16
  jQuery('.nav-tab-wrapper.a_b_tabs a').each(function(){
17
  var this_link = jQuery(this).attr('href');
 
18
  jQuery(this).attr('href', this_link + "&frontend=true");
19
 
20
  });
21
 
22
  jQuery(".nav-tab-wrapper.a_b_tabs a").on('click', function (event) {
23
+
24
  jQuery(parent.document).find(".lp-load-overlay").fadeIn('slow');
25
 
26
+ });
27
 
28
 
29
  var open_variation = jQuery("#open_variation").val();
40
  //});
41
 
42
  //alert(jQuery("#current_variation_id").text());
43
+ function reload_preview() {
44
  var cache_bust = generate_random_cache_bust(35);
45
  var reload_url = parent.window.location.href;
46
  reload_url = reload_url.replace('template-customize=on','');
47
  //alert(reload_url);
48
  var current_variation_id = jQuery("#open_variation").val();
49
+
50
+ // var reload = jQuery(parent.document).find("#lp-live-preview").attr("src");
51
  var new_reload = reload_url + "&live-preview-area=" + cache_bust + "&lp-variation-id=" + current_variation_id;
52
  jQuery(parent.document).find("#lp-live-preview").attr("src", new_reload);
53
  // console.log(new_reload);
js/ajax.clearstats.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function($) {
2
  });
 
3
  $( '.clear_stats' ).on( 'click', function() {
4
  });
 
1
  });
2
+ jQuery(document).ready(function($) {
3
  $( '.clear_stats' ).on( 'click', function() {
4
  });
js/customizer.save.js CHANGED
@@ -15,6 +15,149 @@ jQuery(document).ready(function($) {
15
  jQuery(this).css("max-width", editor_size);
16
  });
17
  }, 1000);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
 
19
  function MyFunction(id, this_event)
20
  {
15
  jQuery(this).css("max-width", editor_size);
16
  });
17
  }, 1000);
18
+
19
+ //jQuery("body").width(iframe_size);
20
+ //jQuery("#wpcontent").width(iframe_size);
21
+
22
+ // On keystroke have save button show
23
+ /* Disable single settng save while not working
24
+ jQuery('#lp-frontend-options-container input, #lp-frontend-options-container textarea').on("keyup", function (e) {
25
+ var this_id = jQuery(this).attr("id");
26
+ var parent_el = jQuery(this).parent();
27
+ jQuery(parent_el).find(".lp-success-message").remove();
28
+ jQuery(parent_el).find(".new-save-lp-frontend").remove();
29
+ var ajax_save_button = jQuery('<span class="button-primary new-save-lp-frontend" id="' + this_id + '" style="margin-left:10px">Update</span>');
30
+ //console.log(parent_el);
31
+ jQuery(ajax_save_button).appendTo(parent_el);
32
+ });
33
+
34
+ // On change have save button show
35
+ jQuery('#lp-frontend-options-container input, #lp-frontend-options-container select, #lp-frontend-options-container textarea').on("change", function (e) {
36
+ var this_id = jQuery(this).attr("id");
37
+ var parent_el = jQuery(this).parent();
38
+ jQuery(parent_el).find(".lp-success-message").remove();
39
+ jQuery(parent_el).find(".new-save-lp-frontend").remove();
40
+ var ajax_save_button = jQuery('<span class="button-primary new-save-lp-frontend" id="' + this_id + '" style="margin-left:10px">Update</span>');
41
+ //console.log(parent_el);
42
+ jQuery(ajax_save_button).appendTo(parent_el);
43
+ });
44
+
45
+ // wysiwyg on keyup save action
46
+ setTimeout(function() {
47
+ jQuery('.landing-page-option-row iframe').contents().find('body').on("keyup", function (e) {
48
+ var thisclass = jQuery(this).attr("class");
49
+ var this_class_dirty = thisclass.replace("mceContentBody ", "");
50
+ var this_class_cleaner = this_class_dirty.replace("wp-editor", "");
51
+ var clean_1 = this_class_cleaner.replace("post-type-landing-page", "");
52
+ var clean_2 = clean_1.replace(/[.\s]+$/g, ""); // remove trailing whitespace
53
+ var clean_spaces = clean_2.replace(/\s{2,}/g, ' '); // remove more than one space
54
+ var this_id = clean_spaces.replace(/[.\s]+$/g, ""); // remove trailing whitespace
55
+ console.log(this_id);
56
+ var parent_el = jQuery( "." + this_id + " .landing-page-table-header");
57
+ jQuery(parent_el).find(".lp-success-message").remove();
58
+ jQuery(parent_el).find(".new-save-lp-frontend").remove();
59
+ var ajax_save_button = jQuery('<span class="button-primary new-save-lp-frontend" id="' + this_id + '" style="margin-left:10px;">Update</span>');
60
+ //console.log(parent_el);
61
+ jQuery(ajax_save_button).appendTo(parent_el);
62
+ });
63
+ }, 4000);
64
+
65
+ // Prep Data and Save
66
+ var nonce_val = lp_post_edit_ui.wp_landing_page_meta_nonce; // NEED CORRECT NONCE
67
+ jQuery(document).on('mousedown', '.new-save-lp-frontend', function () {
68
+ var type_input = jQuery(this).parent().find("input").attr("type");
69
+ var type_select = jQuery(this).parent().find("select");
70
+ // var the_conversion_area_editor = jQuery(this).parent().parent().find('#lp-conversion-area_ifr').length;
71
+ jQuery(this).parent().find(".lp-success-message").hide();
72
+ // var the_content_editor = jQuery(this).parent().parent().find('#wp_content_ifr').length;
73
+ var type_wysiwyg = jQuery(this).parent().parent().find('iframe').length;
74
+
75
+ var type_textarea = jQuery(this).parent().find("textarea");
76
+ if (typeof (type_input) != "undefined" && type_input !== null) {
77
+ var type_of_field = type_input;
78
+ } else if (typeof (type_wysiwyg) != "undefined" && type_wysiwyg !== null && type_wysiwyg === 1) {
79
+ var type_of_field = 'wysiwyg';
80
+ } else if (typeof (type_textarea) != "undefined" && type_textarea !== null) {
81
+ var type_of_field = 'textarea';
82
+ } else {
83
+ (typeof (type_select) != "undefined" && type_select)
84
+ var type_of_field = 'select';
85
+ }
86
+ // console.log(type_of_field); // type of input
87
+ var new_value_meta_input = jQuery(this).parent().find("input").val();
88
+ //console.log(new_value_meta_input);
89
+ var new_value_meta_select = jQuery(this).parent().find("select").val();
90
+ var new_value_meta_textarea = jQuery(this).parent().find("textarea").val();
91
+ // console.log(new_value_meta_select);
92
+ var new_value_meta_radio = jQuery(this).parent().find("input:checked").val();
93
+ var new_value_meta_checkbox = jQuery(this).parent().find('input[type="checkbox"]:checked').val();
94
+ var new_wysiwyg_meta = jQuery(this).parent().parent().find("iframe").contents().find("body").html();
95
+ // prep data
96
+ if (typeof (new_value_meta_input) != "undefined" && new_value_meta_input !== null && type_of_field == "text") {
97
+ var meta_to_save = new_value_meta_input;
98
+ } else if (typeof (new_value_meta_textarea) != "undefined" && new_value_meta_textarea !== null && type_of_field == "textarea") {
99
+ var meta_to_save = new_value_meta_textarea;
100
+ } else if (typeof (new_value_meta_select) != "undefined" && new_value_meta_select !== null) {
101
+ var meta_to_save = new_value_meta_select;
102
+ } else if (typeof (new_value_meta_radio) != "undefined" && new_value_meta_radio !== null && type_of_field == "radio") {
103
+ var meta_to_save = new_value_meta_radio;
104
+ } else if (typeof (new_value_meta_checkbox) != "undefined" && new_value_meta_checkbox !== null && type_of_field == "checkbox") {
105
+ var meta_to_save = new_value_meta_checkbox;
106
+ } else if (typeof (new_wysiwyg_meta) != "undefined" && new_wysiwyg_meta !== null && type_of_field == "wysiwyg") {
107
+ var meta_to_save = new_wysiwyg_meta;
108
+ //alert('here');
109
+ } else {
110
+ var meta_to_save = "";
111
+ }
112
+
113
+ // if data exists save it
114
+ // console.log(meta_to_save);
115
+
116
+ var this_meta_id = jQuery(this).attr("id"); // From save button
117
+ console.log(this_meta_id);
118
+ var post_id = jQuery("#post_ID").text();
119
+ console.log(post_id);
120
+ console.log(meta_to_save);
121
+
122
+ // Run Ajax
123
+ jQuery.ajax({
124
+ type: 'POST',
125
+ url: lp_post_edit_ui.ajaxurl,
126
+ context: this,
127
+ data: {
128
+ action: 'wp_landing_page_meta_save',
129
+ meta_id: this_meta_id,
130
+ new_meta_val: meta_to_save,
131
+ page_id: post_id,
132
+ nonce: nonce_val
133
+ },
134
+
135
+ success: function (data) {
136
+ var self = this;
137
+
138
+ //alert(data);
139
+ // jQuery('.lp-form').unbind('submit').submit();
140
+ //var worked = '<span class="success-message-map">Success! ' + this_meta_id + ' set to ' + meta_to_save + '</span>';
141
+ var worked = '<span class="lp-success-message">Updated!</span>';
142
+ var s_message = jQuery(self).parent();
143
+ jQuery(worked).appendTo(s_message);
144
+ jQuery(self).parent().find("lp-success-message").remove();
145
+ jQuery(self).hide();
146
+ jQuery('.reload').click();
147
+ //alert("Changes Saved!");
148
+ },
149
+
150
+ error: function (MLHttpRequest, textStatus, errorThrown) {
151
+ alert("Ajax not enabled");
152
+ }
153
+ });
154
+
155
+ //reload_preview();
156
+ return false;
157
+
158
+ });
159
+
160
+ */
161
 
162
  function MyFunction(id, this_event)
163
  {
js/jquery.form-population.js CHANGED
@@ -1 +1 @@
1
- /*
2
  <input type="text" name="name" />
3
  <input type="email" name="email" />
4
  <input type="text" name="address[addr1]" />
5
  <input type="text" name="address[city]" />
6
  <input type="text" name="address[state]" />
7
  "email": "john@doe.com",
8
  "name": "John Doe",
9
  "address": {
10
  "addr1": "Street name",
11
  "city": "City name",
12
  "state": "State"
13
  }
14
  for(var key in data) {
15
  var name = key;
16
  var value = data[key];
17
  // no need to set empty values
18
  if(value == "") {
19
  continue;
20
  }
21
  // handle array name attributes
22
  if(typeof(basename) !== "undefined") {
23
  name = basename + "[" + key + "]";
24
  }
25
  if(value.constructor == Array) {
26
  name += '[]';
27
  } else if(typeof value == "object") {
28
  populateFields(container, value, name);
29
  continue;
30
  }
31
  // populate field
32
  var elements = container.querySelectorAll('input[name="'+ name +'"], select[name="'+ name +'"], textarea[name="'+ name +'"]');
33
  // Dirty: abandon if we did not find the element
34
  if(!elements) {
35
  return;
36
  }
37
  // loop through found elements to set their values
38
  for(var i = 0; i < elements.length; i++) {
39
  var element = elements[i];
40
  // check element type
41
  switch(element.type || element.tagName) {
42
  case 'text':
43
  case 'email':
44
  case 'date':
45
  case 'tel':
46
  element.value = value;
47
  break;
48
  case 'radio':
49
  element.checked = (element.value === value);
50
  break;
51
  case 'checkbox':
52
  for(var j = 0; j < value.length; j++) {
53
  element.checked = (element.value === value[j]);
54
  }
55
  break;
56
  case 'select-multiple':
57
  var values = value.constructor == Array ? value : [value];
58
  for(var k = 0; k < element.options.length; k++)
59
  {
60
  for(var l = 0; l < values.length; l++)
61
  {
62
  element.options[k].selected |= (element.options[k].value == values[l]);
63
  }
64
  }
65
  break;
66
  case 'select':
67
  case 'select-one':
68
  element.value = value.toString() || value;
69
  break;
70
  }
71
  }
72
  }
73
  var name = ( elements[i].name ) ? elements[i].name : '';
 
74
  jQuery(selector).each(
75
  function(){
76
  //if this item has been cookied, restore it
77
  var name = ( jQuery(this).attr('name') ) ? jQuery(this).attr('name') : '';
78
  if( jQuery.cookie( name ) && type_input != 'submit' && type_input != 'hidden' && type_input != 'file' && name != 'comment' ){
79
  jQuery(this).val( jQuery.cookie(name) );
80
  }
81
  //assign a change function to the item to cookie it
82
  jQuery(this).change(
83
  function(){
84
  jQuery.cookie(name, jQuery(this).val(), { path: '/', expires: 365 });
85
  }
86
  );
87
  }
88
  );
89
  jQuery(selector).each(
90
  function(){
91
  var form_name = jQuery(this).attr('name');
92
  var form_id = jQuery(this).attr('id');
93
  var form_class = jQuery(this).attr('class');
94
  if(typeof(form_name) != "undefined" && form_name !== null) {
95
  jQuery.cookie("lp_form_uid", form_name, { path: '/', expires: 365 });
96
  }
97
  else if(typeof(form_id) != "undefined" && form_id !== null) {
98
  jQuery.cookie("lp_form_uid", form_id, { path: '/', expires: 365 });
99
  }
100
  else if (typeof(form_class) != "undefined" && form_class !== null) {
101
  jQuery.cookie("lp_form_uid", form_class, { path: '/', expires: 365 });
102
  } else {
103
  jQuery.cookie("lp_form_uid", 'form_generic', { path: '/', expires: 365 });
104
  }
105
  }
106
  );
107
  // Fill Form Inputs from Cookies
108
  });
 
1
  <input type="text" name="name" />
2
  <input type="email" name="email" />
3
  <input type="text" name="address[addr1]" />
4
  <input type="text" name="address[city]" />
5
  <input type="text" name="address[state]" />
6
  "email": "john@doe.com",
7
  "name": "John Doe",
8
  "address": {
9
  "addr1": "Street name",
10
  "city": "City name",
11
  "state": "State"
12
  }
13
  for(var key in data) {
14
  var name = key;
15
  var value = data[key];
16
  // no need to set empty values
17
  if(value == "") {
18
  continue;
19
  }
20
  // handle array name attributes
21
  if(typeof(basename) !== "undefined") {
22
  name = basename + "[" + key + "]";
23
  }
24
  if(value.constructor == Array) {
25
  name += '[]';
26
  } else if(typeof value == "object") {
27
  populateFields(container, value, name);
28
  continue;
29
  }
30
  // populate field
31
  var elements = container.querySelectorAll('input[name="'+ name +'"], select[name="'+ name +'"], textarea[name="'+ name +'"]');
32
  // Dirty: abandon if we did not find the element
33
  if(!elements) {
34
  return;
35
  }
36
  // loop through found elements to set their values
37
  for(var i = 0; i < elements.length; i++) {
38
  var element = elements[i];
39
  // check element type
40
  switch(element.type || element.tagName) {
41
  case 'text':
42
  case 'email':
43
  case 'date':
44
  case 'tel':
45
  element.value = value;
46
  break;
47
  case 'radio':
48
  element.checked = (element.value === value);
49
  break;
50
  case 'checkbox':
51
  for(var j = 0; j < value.length; j++) {
52
  element.checked = (element.value === value[j]);
53
  }
54
  break;
55
  case 'select-multiple':
56
  var values = value.constructor == Array ? value : [value];
57
  for(var k = 0; k < element.options.length; k++)
58
  {
59
  for(var l = 0; l < values.length; l++)
60
  {
61
  element.options[k].selected |= (element.options[k].value == values[l]);
62
  }
63
  }
64
  break;
65
  case 'select':
66
  case 'select-one':
67
  element.value = value.toString() || value;
68
  break;
69
  }
70
  }
71
  }
72
  var name = ( elements[i].name ) ? elements[i].name : '';
73
+ function wpl_remember_inputs( selector ){
74
  jQuery(selector).each(
75
  function(){
76
  //if this item has been cookied, restore it
77
  var name = ( jQuery(this).attr('name') ) ? jQuery(this).attr('name') : '';
78
  if( jQuery.cookie( name ) && type_input != 'submit' && type_input != 'hidden' && type_input != 'file' && name != 'comment' ){
79
  jQuery(this).val( jQuery.cookie(name) );
80
  }
81
  //assign a change function to the item to cookie it
82
  jQuery(this).change(
83
  function(){
84
  jQuery.cookie(name, jQuery(this).val(), { path: '/', expires: 365 });
85
  }
86
  );
87
  }
88
  );
89
  jQuery(selector).each(
90
  function(){
91
  var form_name = jQuery(this).attr('name');
92
  var form_id = jQuery(this).attr('id');
93
  var form_class = jQuery(this).attr('class');
94
  if(typeof(form_name) != "undefined" && form_name !== null) {
95
  jQuery.cookie("lp_form_uid", form_name, { path: '/', expires: 365 });
96
  }
97
  else if(typeof(form_id) != "undefined" && form_id !== null) {
98
  jQuery.cookie("lp_form_uid", form_id, { path: '/', expires: 365 });
99
  }
100
  else if (typeof(form_class) != "undefined" && form_class !== null) {
101
  jQuery.cookie("lp_form_uid", form_class, { path: '/', expires: 365 });
102
  } else {
103
  jQuery.cookie("lp_form_uid", 'form_generic', { path: '/', expires: 365 });
104
  }
105
  }
106
  );
107
  // Fill Form Inputs from Cookies
108
  });
js/page_view_track.js CHANGED
@@ -1,5 +1,11 @@
1
  jQuery(document).ready(function($) {
2
 
 
 
 
 
 
 
3
  // Save page view count
4
  jQuery.ajax({
5
  type: 'POST',
1
  jQuery(document).ready(function($) {
2
 
3
+ jQuery('form').each(function(){
4
+ jQuery(this).addClass('wpl-track-me');
5
+ });
6
+
7
+ // Saves variation page views
8
+
9
  // Save page view count
10
  jQuery.ajax({
11
  type: 'POST',
landing-pages.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Landing Pages
4
  Plugin URI: http://www.inboundnow.com/landing-pages/
5
  Description: The first true all-in-one Landing Page solution for WordPress, including ongoing conversion metrics, a/b split testing, unlimited design options and so much more!
6
- Version: 1.8.5
7
  Author: Inbound Now
8
  Author URI: http://www.inboundnow.com/
9
  Text Domain: landing-pages
@@ -13,33 +13,33 @@ Domain Path: lang
13
  if (!class_exists('Inbound_Landing_Pages_Plugin')) {
14
 
15
  final class Inbound_Landing_Pages_Plugin {
16
-
17
  /**
18
  * Main Inbound_Landing_Pages_Plugin Instance
 
19
  */
20
- public function __construct() {
21
-
22
  /* Start a PHP Session if in wp-admin */
23
  if (is_admin()) {
24
  if(!isset($_SESSION)){@session_start();}
25
  }
26
-
27
  /* Run Loaders */
28
  self::load_constants();
29
- self::load_files();
30
- self::load_shared_files();
31
  self::load_text_domain_init();
32
-
33
  }
34
 
35
- /**
36
- * Setup plugin constants
37
  *
38
  */
39
- private static function load_constants() {
40
-
41
- define('LANDINGPAGES_CURRENT_VERSION', '1.8.5' );
42
- define('LANDINGPAGES_URLPATH', plugins_url( '/' , __FILE__ ) );
43
  define('LANDINGPAGES_PATH', WP_PLUGIN_DIR.'/'.plugin_basename( dirname(__FILE__) ).'/' );
44
  define('LANDINGPAGES_PLUGIN_SLUG', plugin_basename( dirname(__FILE__) ) );
45
  define('LANDINGPAGES_FILE', __FILE__ );
@@ -47,14 +47,15 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
47
  $uploads = wp_upload_dir();
48
  define('LANDINGPAGES_UPLOADS_PATH', $uploads['basedir'].'/landing-pages/templates/' );
49
  define('LANDINGPAGES_UPLOADS_URLPATH', $uploads['baseurl'].'/landing-pages/templates/' );
50
-
51
  }
52
-
53
- /**
54
- * Include required plugin files
 
55
  */
56
- private static function load_files() {
57
-
58
  /* load core files */
59
  switch (is_admin()) :
60
  case true :
@@ -74,7 +75,7 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
74
  include_once('modules/module.metaboxes.php');
75
  include_once('modules/module.metaboxes-global.php');
76
  include_once('modules/module.landing-page.php');
77
- include_once('classes/class.load-extensions.php');
78
  include_once('modules/module.post-type.php');
79
  include_once('modules/module.track.php');
80
  include_once('modules/module.ajax-setup.php');
@@ -87,9 +88,7 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
87
  include_once('modules/module.templates.php');
88
  include_once('modules/module.store.php');
89
  include_once('modules/module.customizer.php');
90
- //include_once('classes/class.branching.php');
91
-
92
-
93
  BREAK;
94
 
95
  case false :
@@ -105,23 +104,18 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
105
  include_once('modules/module.ab-testing.php');
106
  include_once('modules/module.click-tracking.php');
107
  include_once('modules/module.landing-page.php');
108
- include_once('classes/class.load-extensions.php');
109
  include_once('modules/module.customizer.php');
110
 
111
  BREAK;
112
  endswitch;
113
  }
114
-
115
- /**
116
- * Load Shared Files at priority 2
117
- */
118
  private static function load_shared_files() {
119
- if (!defined('INBOUND_PRO_PATH')) {
120
- require_once('shared/classes/class.load-shared.php');
121
- add_action( 'plugins_loaded', array( 'Inbound_Load_Shared' , 'init') , 3 );
122
- }
123
  }
124
-
125
  /**
126
  * Hooks the text domain loader to the init
127
  */
@@ -135,97 +129,29 @@ if (!class_exists('Inbound_Landing_Pages_Plugin')) {
135
  public static function load_text_domain() {
136
  load_plugin_textdomain( 'landing-pages' , false , LANDINGPAGES_PLUGIN_SLUG . '/lang/' );
137
  }
 
 
 
 
 
138
 
139
- /* START PHP VERSION CHECKS */
140
- /**
141
- * Admin notices, collected and displayed on proper action
142
- *
143
- * @var array
144
- */
145
- public static $notices = array();
146
-
147
- /**
148
- * Whether the current PHP version meets the minimum requirements
149
- *
150
- * @return bool
151
- */
152
- public static function is_valid_php_version() {
153
- return version_compare( PHP_VERSION, '5.3', '>=' );
154
- }
155
-
156
- /**
157
- * Invoked when the PHP version check fails. Load up the translations and
158
- * add the error message to the admin notices
159
- */
160
- static function fail_php_version() {
161
- //add_action( 'plugins_loaded', array( __CLASS__, 'load_text_domain_init' ) );
162
- $plugin_url = admin_url( 'plugins.php' );
163
- self::notice( __( 'Landing Pages requires PHP version 5.3+ to run. Your version '.PHP_VERSION.' is not high enough.<br><u>Please contact your hosting provider</u> to upgrade your PHP Version.<br>The plugin is NOT Running. You can disable this warning message by <a href="'.$plugin_url.'">deactivating the plugin</a>', 'landing-pages' ) );
164
- }
165
-
166
- /**
167
- * Handle notice messages according to the appropriate context (WP-CLI or the WP Admin)
168
- *
169
- * @param string $message
170
- * @param bool $is_error
171
- * @return void
172
- */
173
- public static function notice( $message, $is_error = true ) {
174
- if ( defined( 'WP_CLI' ) ) {
175
- $message = strip_tags( $message );
176
- if ( $is_error ) {
177
- WP_CLI::warning( $message );
178
- } else {
179
- WP_CLI::success( $message );
180
- }
181
- } else {
182
- // Trigger admin notices
183
- add_action( 'all_admin_notices', array( __CLASS__, 'admin_notices' ) );
184
-
185
- self::$notices[] = compact( 'message', 'is_error' );
186
- }
187
- }
188
-
189
- /**
190
- * Show an error or other message in the WP Admin
191
- *
192
- * @action all_admin_notices
193
- * @return void
194
- */
195
- public static function admin_notices() {
196
- foreach ( self::$notices as $notice ) {
197
- $class_name = empty( $notice['is_error'] ) ? 'updated' : 'error';
198
- $html_message = sprintf( '<div class="%s">%s</div>', esc_attr( $class_name ), wpautop( $notice['message'] ) );
199
- echo wp_kses_post( $html_message );
200
- }
201
- }
202
- /* END PHP VERSION CHECKS */
203
 
204
- }
205
 
206
- /* Initiate Plugin */
207
- if ( Inbound_Landing_Pages_Plugin::is_valid_php_version() ) {
208
- // Get Inbound Now Running
209
- $GLOBALS['Inbound_Landing_Pages_Plugin'] = new Inbound_Landing_Pages_Plugin;
210
- } else {
211
- // Show Fail
212
- Inbound_Landing_Pages_Plugin::fail_php_version();
213
- }
214
 
215
- /* lagacy - Conditional check LP active */
216
- function lp_check_active() {
217
- return 1;
218
- }
219
 
220
- /* Function to check This has been loaded for the tests */
221
- function landingpages_is_active() {
222
- return true;
223
- }
224
 
225
- /* Function to check plugin code is running in travis */
226
- function inbound_travis_check() {
227
- echo '*** Landing Pages Plugin is Running on Travis ***';
228
- return true;
229
- }
230
 
231
- }
 
 
 
 
3
  Plugin Name: Landing Pages
4
  Plugin URI: http://www.inboundnow.com/landing-pages/
5
  Description: The first true all-in-one Landing Page solution for WordPress, including ongoing conversion metrics, a/b split testing, unlimited design options and so much more!
6
+ Version: 1.6.2
7
  Author: Inbound Now
8
  Author URI: http://www.inboundnow.com/
9
  Text Domain: landing-pages
13
  if (!class_exists('Inbound_Landing_Pages_Plugin')) {
14
 
15
  final class Inbound_Landing_Pages_Plugin {
16
+
17
  /**
18
  * Main Inbound_Landing_Pages_Plugin Instance
19
+ *
20
  */
21
+ public function __construct() {
22
+
23
  /* Start a PHP Session if in wp-admin */
24
  if (is_admin()) {
25
  if(!isset($_SESSION)){@session_start();}
26
  }
27
+
28
  /* Run Loaders */
29
  self::load_constants();
30
+ self::load_files();
31
+ self::load_shared_files();
32
  self::load_text_domain_init();
 
33
  }
34
 
35
+ /**
36
+ * Setup plugin constants
37
  *
38
  */
39
+ private static function load_constants() {
40
+
41
+ define('LANDINGPAGES_CURRENT_VERSION', '1.6.2' );
42
+ define('LANDINGPAGES_URLPATH', WP_PLUGIN_URL.'/'.plugin_basename( dirname(__FILE__) ).'/' );
43
  define('LANDINGPAGES_PATH', WP_PLUGIN_DIR.'/'.plugin_basename( dirname(__FILE__) ).'/' );
44
  define('LANDINGPAGES_PLUGIN_SLUG', plugin_basename( dirname(__FILE__) ) );
45
  define('LANDINGPAGES_FILE', __FILE__ );
47
  $uploads = wp_upload_dir();
48
  define('LANDINGPAGES_UPLOADS_PATH', $uploads['basedir'].'/landing-pages/templates/' );
49
  define('LANDINGPAGES_UPLOADS_URLPATH', $uploads['baseurl'].'/landing-pages/templates/' );
50
+
51
  }
52
+
53
+ /**
54
+ * Include required plugin files
55
+ *
56
  */
57
+ private static function load_files() {
58
+
59
  /* load core files */
60
  switch (is_admin()) :
61
  case true :
75
  include_once('modules/module.metaboxes.php');
76
  include_once('modules/module.metaboxes-global.php');
77
  include_once('modules/module.landing-page.php');
78
+ include_once('modules/module.load-extensions.php');
79
  include_once('modules/module.post-type.php');
80
  include_once('modules/module.track.php');
81
  include_once('modules/module.ajax-setup.php');
88
  include_once('modules/module.templates.php');
89
  include_once('modules/module.store.php');
90
  include_once('modules/module.customizer.php');
91
+
 
 
92
  BREAK;
93
 
94
  case false :
104
  include_once('modules/module.ab-testing.php');
105
  include_once('modules/module.click-tracking.php');
106
  include_once('modules/module.landing-page.php');
 
107
  include_once('modules/module.customizer.php');
108
 
109
  BREAK;
110
  endswitch;
111
  }
112
+
113
+ /** Load Shared Files at priority 2 */
 
 
114
  private static function load_shared_files() {
115
+ require_once('shared/classes/class.load-shared.php');
116
+ add_action( 'plugins_loaded', array( 'Inbound_Load_Shared' , 'init' ) , 2 );
 
 
117
  }
118
+
119
  /**
120
  * Hooks the text domain loader to the init
121
  */
129
  public static function load_text_domain() {
130
  load_plugin_textdomain( 'landing-pages' , false , LANDINGPAGES_PLUGIN_SLUG . '/lang/' );
131
  }
132
+
133
+ }
134
+
135
+ /* Initiate Plugin */
136
+ $GLOBALS['Inbound_Landing_Pages_Plugin'] = new Inbound_Landing_Pages_Plugin;
137
 
138
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
 
 
140
 
 
 
 
 
 
 
 
 
141
 
 
 
 
 
142
 
143
+ /* lagacy - Conditional check LP active */
144
+ function lp_check_active() {
145
+ return 1;
146
+ }
147
 
148
+ /* Function to check This has been loaded for the tests */
149
+ function landingpages_is_active() {
150
+ return true;
151
+ }
 
152
 
153
+ /* Function to check plugin code is running in travis */
154
+ function inbound_travis_check() {
155
+ echo '*** Landing Pages Plugin is Running on Travis ***';
156
+ return true;
157
+ }
lang/.tx/config DELETED
@@ -1,7 +0,0 @@
1
- [main]
2
- host = https://www.transifex.com
3
-
4
- [landing-pages.landing-pages]
5
- file_filter = <lang>.po
6
- source_lang = en_US
7
-
 
 
 
 
 
 
 
lang/landing-pages-ach.mo CHANGED
Binary file
lang/landing-pages-af.mo CHANGED
Binary file
lang/landing-pages-an.mo DELETED
Binary file
lang/landing-pages-ar.mo CHANGED
Binary file
lang/landing-pages-as.mo DELETED
Binary file
lang/landing-pages-az.mo CHANGED
Binary file
lang/landing-pages-be.mo DELETED
Binary file
lang/landing-pages-be_BY.mo CHANGED
Binary file
lang/landing-pages-bg.mo DELETED
Binary file
lang/landing-pages-bg_BG.mo CHANGED
Binary file
lang/landing-pages-bn_BD.mo CHANGED
Binary file
lang/landing-pages-br.mo CHANGED
Binary file
lang/landing-pages-bs.mo DELETED
Binary file
lang/landing-pages-bs_BA.mo CHANGED
Binary file
lang/landing-pages-ca.mo CHANGED
Binary file
lang/landing-pages-co.mo CHANGED
Binary file
lang/landing-pages-cs_CZ.mo CHANGED
Binary file
lang/landing-pages-cy.mo CHANGED
Binary file
lang/landing-pages-da_DK.mo CHANGED
Binary file
lang/landing-pages-de_AT.mo DELETED
Binary file
lang/landing-pages-de_CH.mo DELETED
Binary file
lang/landing-pages-de_DE.mo CHANGED
Binary file
lang/landing-pages-dv.mo DELETED
Binary file
lang/landing-pages-el.mo CHANGED
Binary file
lang/landing-pages-en@pirate.mo CHANGED
Binary file
lang/landing-pages-en_AU.mo DELETED
Binary file
lang/landing-pages-en_CA.mo DELETED
Binary file
lang/landing-pages-en_GB.mo CHANGED
Binary file
lang/landing-pages-eo.mo CHANGED
Binary file
lang/landing-pages-es_AR.mo DELETED
Binary file
lang/landing-pages-es_CL.mo CHANGED
Binary file
lang/landing-pages-es_ES.mo CHANGED
Binary file
lang/landing-pages-es_MX.mo CHANGED
Binary file
lang/landing-pages-es_PE.mo CHANGED
Binary file
lang/landing-pages-es_VE.mo CHANGED
Binary file
lang/landing-pages-et.mo CHANGED
Binary file
lang/landing-pages-eu.mo CHANGED
Binary file
lang/landing-pages-fa.mo CHANGED
Binary file
lang/landing-pages-fa_IR.mo CHANGED
Binary file
lang/landing-pages-fi.mo CHANGED
Binary file
lang/landing-pages-fo.mo CHANGED
Binary file
lang/landing-pages-fr_FR.mo CHANGED
Binary file
lang/landing-pages-fy.mo DELETED
Binary file
lang/landing-pages-ga.mo CHANGED
Binary file
lang/landing-pages-gd.mo DELETED
Binary file
lang/landing-pages-gl_ES.mo CHANGED
Binary file
lang/landing-pages-gu_IN.mo CHANGED
Binary file
lang/landing-pages-he_IL.mo CHANGED
Binary file
lang/landing-pages-hi_IN.mo CHANGED
Binary file
lang/landing-pages-hr.mo CHANGED
Binary file
lang/landing-pages-hu_HU.mo CHANGED
Binary file
lang/landing-pages-hy.mo CHANGED
Binary file
lang/landing-pages-id.mo CHANGED
Binary file
lang/landing-pages-id_ID.mo CHANGED
Binary file
lang/landing-pages-is_IS.mo CHANGED
Binary file
lang/landing-pages-it_IT.mo CHANGED
Binary file
lang/landing-pages-ja.mo CHANGED
Binary file
lang/landing-pages-jv.mo CHANGED
Binary file
lang/landing-pages-ka.mo CHANGED
Binary file
lang/landing-pages-ka_GE.mo DELETED
Binary file
lang/landing-pages-kk.mo CHANGED
Binary file
lang/landing-pages-km.mo CHANGED
Binary file
lang/landing-pages-kn.mo DELETED
Binary file
lang/landing-pages-ko_KR.mo CHANGED
Binary file
lang/landing-pages-ku.mo CHANGED
Binary file
lang/landing-pages-ky.mo CHANGED
Binary file
lang/landing-pages-lo.mo DELETED
Binary file
lang/landing-pages-lt_LT.mo CHANGED
Binary file
lang/landing-pages-lv.mo CHANGED
Binary file
lang/landing-pages-mg.mo CHANGED
Binary file
lang/landing-pages-mk_MK.mo CHANGED
Binary file
lang/landing-pages-mn.mo CHANGED
Binary file
lang/landing-pages-mr.mo DELETED
Binary file
lang/landing-pages-ms_MY.mo DELETED
Binary file
lang/landing-pages-my_MM.mo CHANGED
Binary file
lang/landing-pages-nb_NO.mo CHANGED
Binary file
lang/landing-pages-ne_NP.mo CHANGED
Binary file
lang/landing-pages-nl.mo CHANGED
Binary file
lang/landing-pages-nl_NL.mo CHANGED
Binary file
lang/landing-pages-nn_NO.mo CHANGED
Binary file
lang/landing-pages-oc.mo CHANGED
Binary file
lang/landing-pages-os.mo DELETED
Binary file
lang/landing-pages-pap.mo CHANGED
Binary file
lang/landing-pages-pl_PL.mo CHANGED
Binary file
lang/landing-pages-ps.mo DELETED
Binary file
lang/landing-pages-pt_BR.mo CHANGED
Binary file
lang/landing-pages-pt_PT.mo CHANGED
Binary file
lang/landing-pages-ro_RO.mo CHANGED
Binary file
lang/landing-pages-ru_RU.mo CHANGED
Binary file
lang/landing-pages-sah.mo CHANGED
Binary file
lang/landing-pages-si_LK.mo CHANGED
Binary file
lang/landing-pages-sk_SK.mo CHANGED
Binary file
lang/landing-pages-sl_SI.mo CHANGED
Binary file
lang/landing-pages-so.mo DELETED
Binary file
lang/landing-pages-sq.mo CHANGED
Binary file
lang/landing-pages-sr_RS.mo CHANGED
Binary file
lang/landing-pages-su.mo CHANGED
Binary file
lang/landing-pages-sv_SE.mo CHANGED
Binary file
lang/landing-pages-sw.mo CHANGED
Binary file
lang/landing-pages-ta_IN.mo DELETED
Binary file
lang/landing-pages-ta_LK.mo CHANGED
Binary file
lang/landing-pages-te.mo CHANGED
Binary file
lang/landing-pages-tg.mo DELETED
Binary file
lang/landing-pages-th.mo CHANGED
Binary file
lang/landing-pages-tk_TM.mo CHANGED
Binary file
lang/landing-pages-tl.mo DELETED
Binary file
lang/landing-pages-tr_TR.mo CHANGED
Binary file
lang/landing-pages-tzm.mo DELETED
Binary file
lang/landing-pages-ug.mo CHANGED
Binary file
lang/landing-pages-uk.mo CHANGED
Binary file
lang/landing-pages-ur.mo DELETED
Binary file
lang/landing-pages-ur_PK.mo CHANGED
Binary file
lang/landing-pages-uz.mo CHANGED
Binary file
lang/landing-pages-vi.mo CHANGED
Binary file
lang/landing-pages-zh_CN.GB2312.mo CHANGED
Binary file
lang/landing-pages-zh_CN.mo CHANGED
Binary file
lang/landing-pages-zh_HK.mo DELETED
Binary file
lang/landing-pages-zh_TW.mo CHANGED
Binary file
lang/landing-pages.mo CHANGED
Binary file
lang/landing-pages.po CHANGED
@@ -1,144 +1,104 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Landing Pages\n"
4
- "POT-Creation-Date: 2015-05-12 16:11-0600\n"
5
- "PO-Revision-Date: 2015-05-12 16:15-0600\n"
6
  "Last-Translator: \n"
7
  "Language-Team: InboundNow <support@inboundnow.com>\n"
8
  "Language: en_US\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.7.6\n"
13
  "X-Poedit-KeywordsList: __;_e\n"
14
  "X-Poedit-Basepath: .\n"
15
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
  "X-Poedit-SearchPath-0: ..\n"
17
- "X-Poedit-SearchPathExcluded-0: ../js\n"
18
- "X-Poedit-SearchPathExcluded-1: ../shared/docs\n"
19
- "X-Poedit-SearchPathExcluded-2: ../templates/*.js\n"
20
 
21
- #: ../classes/class.activation.php:108
22
- msgid "Landing Pages plugin requires a database upgrade:"
23
- msgstr ""
24
-
25
- #: ../classes/class.activation.php:108
26
- msgid "Upgrade database now"
27
- msgstr ""
28
-
29
- #: ../classes/class.activation.php:166 ../classes/class.activation.php:180
30
- #: ../classes/class.activation.php:194 ../classes/class.activation.php:208
31
- #: ../classes/class.activation.php:222
32
  msgid "Landing Plugin could not be installed"
33
  msgstr ""
34
 
35
- #: ../classes/class.activation.php:168
36
  msgid "Server PHP Version"
37
  msgstr ""
38
 
39
- #: ../classes/class.activation.php:169
40
  msgid "Required PHP Version"
41
  msgstr ""
42
 
43
- #: ../classes/class.activation.php:171
44
  #, php-format
45
  msgid "Please contact your hosting provider to upgrade PHP to %s or greater"
46
  msgstr ""
47
 
48
- #: ../classes/class.activation.php:182
49
- #: ../modules/module.global-settings.php:326
50
  msgid "WordPress Version"
51
  msgstr ""
52
 
53
- #: ../classes/class.activation.php:183
54
  msgid "Required WordPress Version"
55
  msgstr ""
56
 
57
- #: ../classes/class.activation.php:185
58
  #, php-format
59
  msgid "Please update landing pages to version %s or greater."
60
  msgstr ""
61
 
62
- #: ../classes/class.activation.php:196
63
  msgid "Calls to Action Version"
64
  msgstr ""
65
 
66
- #: ../classes/class.activation.php:197
67
  msgid "Required Calls to Action Version"
68
  msgstr ""
69
 
70
- #: ../classes/class.activation.php:199
71
  #, php-format
72
  msgid "Please update Calls to Action to version %s or greater."
73
  msgstr ""
74
 
75
- #: ../classes/class.activation.php:210
76
  msgid "Leads Version"
77
  msgstr ""
78
 
79
- #: ../classes/class.activation.php:211
80
  msgid "Required Leads Version"
81
  msgstr ""
82
 
83
- #: ../classes/class.activation.php:213
84
  #, php-format
85
  msgid "Please update Leads to version %s or greater."
86
  msgstr ""
87
 
88
- #: ../classes/class.activation.php:224
89
  msgid "Extension: Landing Page as Homepage"
90
  msgstr ""
91
 
92
- #: ../classes/class.activation.php:225
93
  msgid "Required extension version"
94
  msgstr ""
95
 
96
- #: ../classes/class.activation.php:227
97
  #, php-format
98
  msgid "Please update extension to version %s or greater."
99
  msgstr ""
100
 
101
- #: ../classes/class.load-extensions.php:47
102
- msgid "Select Template"
103
- msgstr ""
104
-
105
- #: ../classes/class.load-extensions.php:48
106
- msgid "This option provides a placeholder for the selected template data."
107
- msgstr ""
108
-
109
- #: ../classes/class.load-extensions.php:55
110
- #: ../classes/class.load-extensions.php:56
111
- msgid "Set Main Headline"
112
- msgstr ""
113
-
114
- #: ../classes/class.load-extensions.php:119
115
- #: ../classes/class.load-extensions.php:150
116
- #: ../modules/module.global-settings.php:105
117
- msgid ""
118
- "Head to http://www.inboundnow.com/ to retrieve your license key for this "
119
- "template."
120
- msgstr ""
121
-
122
- #: ../classes/class.load-extensions.php:121
123
- msgid "Template Licensing"
124
- msgstr ""
125
-
126
- #: ../landing-pages.php:41
127
- msgid "Landing Pages requires PHP version 5.3+ to run. Your version "
128
- msgstr ""
129
-
130
  #: ../libraries/class-tgm-plugin-activation.php:164
131
- #: ../modules/module.install.php:154
132
  msgid "Install Required Plugins"
133
  msgstr ""
134
 
135
  #: ../libraries/class-tgm-plugin-activation.php:165
136
- #: ../modules/module.install.php:155
137
  msgid "Install Plugins"
138
  msgstr ""
139
 
140
  #: ../libraries/class-tgm-plugin-activation.php:166
141
- #: ../modules/module.install.php:156
142
  #, php-format
143
  msgid "Installing Plugin: %s"
144
  msgstr ""
@@ -149,13 +109,13 @@ msgstr ""
149
 
150
  #: ../libraries/class-tgm-plugin-activation.php:178
151
  #: ../libraries/class-tgm-plugin-activation.php:490
152
- #: ../modules/module.install.php:168
153
  msgid "Return to Required Plugins Installer"
154
  msgstr ""
155
 
156
  #: ../libraries/class-tgm-plugin-activation.php:179
157
  #: ../libraries/class-tgm-plugin-activation.php:1846
158
- #: ../modules/module.install.php:169
159
  msgid "Plugin activated successfully."
160
  msgstr ""
161
 
@@ -391,7 +351,7 @@ msgid "Preview this variation"
391
  msgstr ""
392
 
393
  #: ../modules/module.ab-testing.metaboxes.php:136
394
- #: ../modules/module.metaboxes.php:367 ../modules/module.post-type.php:128
395
  msgid "Preview"
396
  msgstr ""
397
 
@@ -430,8 +390,7 @@ msgstr ""
430
  msgid "Forms"
431
  msgstr ""
432
 
433
- #: ../modules/module.admin-menus.php:12 ../shared/classes/class.menu.php:402
434
- #: ../shared/classes/class.menus.adminbar.php:406
435
  msgid "Manage Forms"
436
  msgstr ""
437
 
@@ -439,9 +398,8 @@ msgstr ""
439
  msgid "Templates"
440
  msgstr ""
441
 
442
- #: ../modules/module.admin-menus.php:14 ../modules/module.templates.php:238
443
- #: ../shared/classes/class.menu.php:449
444
- #: ../shared/classes/class.menus.adminbar.php:453
445
  msgid "Manage Templates"
446
  msgstr ""
447
 
@@ -449,19 +407,10 @@ msgstr ""
449
  msgid "Get Addons"
450
  msgstr ""
451
 
452
- #: ../modules/module.admin-menus.php:18 ../shared/classes/class.menu.php:492
453
- #: ../shared/classes/class.menus.adminbar.php:496
454
  msgid "Global Settings"
455
  msgstr ""
456
 
457
- #: ../modules/module.alert.php:94
458
- msgid ""
459
- "We've noticed that your permalink settings are set to the default setting. "
460
- "Landing Page varation roation is not possible on this setting. To enable "
461
- "roation please go into Settings->Permalinks and update them to a different "
462
- "format."
463
- msgstr ""
464
-
465
  #: ../modules/module.clone.php:1
466
  msgid "Clone this item"
467
  msgstr ""
@@ -474,6 +423,10 @@ msgstr ""
474
  msgid "New Blank Landing Page"
475
  msgstr ""
476
 
 
 
 
 
477
  #: ../modules/module.customizer.php:1
478
  msgid "No A/B Tests running for this page"
479
  msgstr ""
@@ -504,130 +457,166 @@ msgid ""
504
  msgstr ""
505
 
506
  #: ../modules/module.global-settings.php:41
507
- msgid "Sticky Variations"
508
  msgstr ""
509
 
510
  #: ../modules/module.global-settings.php:42
511
  msgid ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
512
  "With this setting enabled the landing pages plugin will prevent landing page "
513
  "version a/b rotation for a specific visitor that has viewed the page."
514
  "<br><br>This pause on the a/b rotation will automatically expire after 30 "
515
  "days."
516
  msgstr ""
517
 
518
- #: ../modules/module.global-settings.php:57
519
- msgid "Turn Off AB Testing?"
520
  msgstr ""
521
 
522
- #: ../modules/module.global-settings.php:58
 
 
 
 
 
 
 
 
 
 
 
523
  msgid ""
524
- "This will disable the AB testing functionality of your landing pages. This "
525
- "is to comply with Googles new PPC regulations with redirects. After saving "
526
- "this option <a href='/wp-admin/options-permalink.php'>visit this page to "
527
- "flush/reset your permalinks</a>"
528
  msgstr ""
529
 
530
- #: ../modules/module.global-settings.php:68
531
  msgid "License Keys"
532
  msgstr ""
533
 
534
- #: ../modules/module.global-settings.php:71
535
  msgid "Extensions"
536
  msgstr ""
537
 
538
- #: ../modules/module.global-settings.php:83
539
  msgid "Debug"
540
  msgstr ""
541
 
542
- #: ../modules/module.global-settings.php:107
 
 
 
 
 
 
543
  msgid "Extension Licensing"
544
  msgstr ""
545
 
546
- #: ../modules/module.global-settings.php:199
547
  msgid ""
548
  "Oh no! Your .htaccess is not writable and A/B testing won't work unless you "
549
  "make your .htaccess file writable."
550
  msgstr ""
551
 
552
- #: ../modules/module.global-settings.php:280
553
  msgid "Installation Status"
554
  msgstr ""
555
 
556
- #: ../modules/module.global-settings.php:284
557
  msgid "PHP Version"
558
  msgstr ""
559
 
560
- #: ../modules/module.global-settings.php:298
561
  msgid "Landing Pages requires PHP 5 or above."
562
  msgstr ""
563
 
564
- #: ../modules/module.global-settings.php:305
565
  msgid "MySQL Version"
566
  msgstr ""
567
 
568
- #: ../modules/module.global-settings.php:319
569
  msgid "Gravity Forms requires MySQL 5 or above."
570
  msgstr ""
571
 
572
- #: ../modules/module.global-settings.php:340
573
  msgid "landing pages requires version X or higher"
574
  msgstr ""
575
 
576
- #: ../modules/module.global-settings.php:347
577
  msgid "Landing Page Version"
578
  msgstr ""
579
 
580
- #: ../modules/module.global-settings.php:349
581
  msgid "Version"
582
  msgstr ""
583
 
584
- #: ../modules/module.global-settings.php:363
585
  msgid "The contents of your .htaccess file"
586
  msgstr ""
587
 
588
- #: ../modules/module.global-settings.php:399
589
  msgid "System Information"
590
  msgstr ""
591
 
592
- #: ../modules/module.global-settings.php:402
593
  msgid "Download System Info File for Support Requests"
594
  msgstr ""
595
 
596
- #: ../modules/module.global-settings.php:403
597
  msgid ""
598
  "To copy the system info, click below then press Ctrl + C (PC) or Cmd + C "
599
  "(Mac)."
600
  msgstr ""
601
 
602
- #: ../modules/module.global-settings.php:453
603
  msgid "Your server supports fsockopen."
604
  msgstr ""
605
 
606
- #: ../modules/module.global-settings.php:453
607
  msgid "Your server does not support fsockopen."
608
  msgstr ""
609
 
610
- #: ../modules/module.global-settings.php:454
611
  msgid "Your server supports cURL."
612
  msgstr ""
613
 
614
- #: ../modules/module.global-settings.php:454
615
  msgid "Your server does not support cURL."
616
  msgstr ""
617
 
618
- #: ../modules/module.global-settings.php:455
619
  msgid "Your server has the SOAP Client enabled."
620
  msgstr ""
621
 
622
- #: ../modules/module.global-settings.php:455
623
  msgid "Your server does not have the SOAP Client enabled."
624
  msgstr ""
625
 
626
- #: ../modules/module.global-settings.php:456
627
  msgid "Your server has SUHOSIN installed."
628
  msgstr ""
629
 
630
- #: ../modules/module.global-settings.php:456
631
  msgid "Your server does not have SUHOSIN installed."
632
  msgstr ""
633
 
@@ -653,6 +642,28 @@ msgstr ""
653
  msgid "Form a"
654
  msgstr ""
655
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
656
  #: ../modules/module.install.php:36
657
  msgid "Main Catchy Headline Two (B)"
658
  msgstr ""
@@ -661,41 +672,41 @@ msgstr ""
661
  msgid "Form B"
662
  msgstr ""
663
 
664
- #: ../modules/module.install.php:122
665
  msgid "WordPress Leads"
666
  msgstr ""
667
 
668
- #: ../modules/module.install.php:122
669
  msgid ""
670
  "This <b>free</b> landing page addon will give you the ability to track and "
671
  "manage incoming web leads. Gather advanced Lead Intelligence and close more "
672
  "deals."
673
  msgstr ""
674
 
675
- #: ../modules/module.install.php:122
676
  msgid "Learn more about WordPress Leads"
677
  msgstr ""
678
 
679
- #: ../modules/module.install.php:127
680
  msgid "WordPress Calls to Action"
681
  msgstr ""
682
 
683
- #: ../modules/module.install.php:127
684
  msgid ""
685
  "This <b>free</b> landing page addon will drive more traffic into your "
686
  "Landing Pages with Targeted Calls to Action in your sites sidebars & "
687
  "content. Create popups to capture visitor attention and convert more leads."
688
  msgstr ""
689
 
690
- #: ../modules/module.install.php:127
691
  msgid "Learn more about WordPress Calls to Action"
692
  msgstr ""
693
 
694
- #: ../modules/module.install.php:157
695
  msgid "Something went wrong with the plugin API."
696
  msgstr ""
697
 
698
- #: ../modules/module.install.php:170
699
  #, php-format
700
  msgid "All plugins installed and activated successfully. %s"
701
  msgstr ""
@@ -709,7 +720,6 @@ msgid "View/Edit Lead"
709
  msgstr ""
710
 
711
  #: ../modules/module.lead-splash.php:29
712
- #: ../shared/classes/class.post-type.wp-lead.php:160
713
  msgid "Name"
714
  msgstr ""
715
 
@@ -722,7 +732,7 @@ msgid "IP Address"
722
  msgstr ""
723
 
724
  #: ../modules/module.lead-splash.php:39
725
- #: ../shared/classes/class.lead-fields.php:84
726
  #: ../shared/templates/email-templates/token-test/token-test.php:20
727
  msgid "City"
728
  msgstr ""
@@ -731,7 +741,7 @@ msgstr ""
731
  msgid "State"
732
  msgstr ""
733
 
734
- #: ../modules/module.metaboxes-global.php:27
735
  msgid "Inbound Statistics"
736
  msgstr ""
737
 
@@ -756,98 +766,95 @@ msgid ""
756
  "it"
757
  msgstr ""
758
 
759
- #: ../modules/module.metaboxes.php:173
760
- #: ../shared/classes/class.lead-fields.php:246
761
  msgid "Notes"
762
  msgstr ""
763
 
764
- #: ../modules/module.metaboxes.php:173
765
  msgid ""
766
  "Add Notes to your variation. Example: This version is testing a green submit "
767
  "button "
768
  msgstr ""
769
 
770
- #: ../modules/module.metaboxes.php:174
771
  msgid "Primary Headline Goes here. This will be visible on the page"
772
  msgstr ""
773
 
774
- #: ../modules/module.metaboxes.php:174
775
  msgid "This headline will appear in the landing page template."
776
  msgstr ""
777
 
778
- #: ../modules/module.metaboxes.php:222
779
  msgid "Enter Landing Page Description"
780
  msgstr ""
781
 
782
- #: ../modules/module.metaboxes.php:236 ../shared/classes/class.menu.php:466
783
- #: ../shared/classes/class.menu.php:468
784
- #: ../shared/classes/class.menus.adminbar.php:470
785
- #: ../shared/classes/class.menus.adminbar.php:472
786
  msgid "Landing Page Templates"
787
  msgstr ""
788
 
789
- #: ../modules/module.metaboxes.php:258
790
  msgid "Choose Another Template"
791
  msgstr ""
792
 
793
- #: ../modules/module.metaboxes.php:293
794
  msgid "Select Your Landing Page Template!"
795
  msgstr ""
796
 
797
- #: ../modules/module.metaboxes.php:294
798
  msgid "Cancel Template Change"
799
  msgstr ""
800
 
801
- #: ../modules/module.metaboxes.php:297
802
  msgid "All"
803
  msgstr ""
804
 
805
- #: ../modules/module.metaboxes.php:298
806
  msgid "Theme"
807
  msgstr ""
808
 
809
- #: ../modules/module.metaboxes.php:366
810
  msgid "Select"
811
  msgstr ""
812
 
813
- #: ../modules/module.metaboxes.php:376
814
  msgid "This is Currently Selected"
815
  msgstr ""
816
 
817
- #: ../modules/module.metaboxes.php:384
818
  msgid "Custom CSS"
819
  msgstr ""
820
 
821
- #: ../modules/module.metaboxes.php:390
822
  msgid ""
823
  "<em>Custom CSS may be required to customize this landing page.</em><strong> "
824
  "<u>Format</u>: #element-id { display:none !important; }</strong>"
825
  msgstr ""
826
 
827
- #: ../modules/module.metaboxes.php:417
828
  msgid "Custom JS"
829
  msgstr ""
830
 
831
- #: ../modules/module.metaboxes.php:618
832
  #: ../shared/templates/email-templates/inbound-new-lead-notification/inbound-new-lead-notification.php:53
833
  #: ../shared/templates/email-templates/inbound-new-lead-notification/inbound-new-lead-notification.php:98
834
  msgid "View Lead"
835
  msgstr ""
836
 
837
- #: ../modules/module.metaboxes.php:623
838
  msgid "First timer!"
839
  msgstr ""
840
 
841
- #: ../modules/module.metaboxes.php:643
842
  msgid "No conversions recorded yet..."
843
  msgstr ""
844
 
845
- #: ../modules/module.metaboxes.php:660
846
  msgid "Conversion logs:"
847
  msgstr ""
848
 
849
- #: ../modules/module.post-type.php:22 ../shared/classes/class.menu.php:285
850
- #: ../shared/classes/class.menus.adminbar.php:289
851
  msgid "Add New Landing Page"
852
  msgstr ""
853
 
@@ -868,24 +875,19 @@ msgid "Search Landing Page"
868
  msgstr ""
869
 
870
  #: ../modules/module.post-type.php:27
871
- #: ../shared/classes/class.post-type.email-template.php:61
872
- #: ../shared/classes/class.post-type.wp-lead.php:50
873
- #: ../shared/shortcodes/shortcodes/forms.php:358
874
  msgid "Nothing found"
875
  msgstr ""
876
 
877
  #: ../modules/module.post-type.php:28
878
- #: ../shared/classes/class.post-type.email-template.php:62
879
- #: ../shared/classes/class.post-type.wp-lead.php:51
880
- #: ../shared/shortcodes/shortcodes/forms.php:359
881
  msgid "Nothing found in Trash"
882
  msgstr ""
883
 
884
- #: ../modules/module.post-type.php:55 ../shared/classes/class.menu.php:234
885
- #: ../shared/classes/class.menu.php:293
886
- #: ../shared/classes/class.menus.adminbar.php:238
887
- #: ../shared/classes/class.menus.adminbar.php:297
888
- #: ../shared/classes/class.post-type.email-template.php:93
889
  msgid "Categories"
890
  msgstr ""
891
 
@@ -1047,13 +1049,10 @@ msgid "Template"
1047
  msgstr ""
1048
 
1049
  #: ../modules/module.templates.php:111
1050
- #: ../shared/classes/class.post-type.email-template.php:111
1051
- #: ../shared/classes/class.post-type.wp-lead.php:161
1052
  msgid "Description"
1053
  msgstr ""
1054
 
1055
  #: ../modules/module.templates.php:112
1056
- #: ../shared/classes/class.post-type.email-template.php:110
1057
  #: ../shared/shortcodes/shortcodes/landing_pages.php:37
1058
  #: ../shared/shortcodes/shortcodes/landing_pages.php:99
1059
  msgid "Category"
@@ -1233,3027 +1232,2394 @@ msgid ""
1233
  "template."
1234
  msgstr ""
1235
 
1236
- #: ../shared/classes/class.branching.php:94
1237
- msgid ""
1238
- "Switch to lastest development release. Warning this should not be performed "
1239
- "on a live site."
1240
- msgstr ""
1241
-
1242
- #: ../shared/classes/class.branching.php:95
1243
- msgid "Switch to latest git"
1244
- msgstr ""
1245
-
1246
- #: ../shared/classes/class.branching.php:99
1247
- msgid "Switch to latest stable release."
1248
- msgstr ""
1249
-
1250
- #: ../shared/classes/class.branching.php:100
1251
- msgid "Switch to latest svn"
1252
- msgstr ""
1253
-
1254
- #: ../shared/classes/class.branching.php:146
1255
- msgid ""
1256
- "Switching branches on a live site should be avoided. Are you sure you would "
1257
- "like to switch filesets?"
1258
- msgstr ""
1259
-
1260
- #: ../shared/classes/class.branching.php:212
1261
- msgid "You do not have sufficient permissions to delete plugins for this site."
1262
- msgstr ""
1263
-
1264
- #: ../shared/classes/class.feedback.php:163
1265
- msgid "Inbound Now Marketing Plugins"
1266
- msgstr ""
1267
-
1268
- #: ../shared/classes/class.feedback.php:165
1269
- msgid "Landing Pages plugin"
1270
- msgstr ""
1271
-
1272
- #: ../shared/classes/class.feedback.php:167
1273
- msgid "Calls to Action plugin"
1274
- msgstr ""
1275
-
1276
- #: ../shared/classes/class.feedback.php:169
1277
- msgid "Leads Pages plugin"
1278
- msgstr ""
1279
-
1280
- #: ../shared/classes/class.feedback.php:175
1281
- msgid "close"
1282
- msgstr ""
1283
-
1284
- #: ../shared/classes/class.feedback.php:178
1285
- msgid "Visit Inbound Now"
1286
- msgstr ""
1287
-
1288
- #: ../shared/classes/class.feedback.php:179
1289
- msgid "We love hearing from You!"
1290
- msgstr ""
1291
-
1292
- #: ../shared/classes/class.feedback.php:185
1293
- msgid "Enter your Feature Request"
1294
- msgstr ""
1295
-
1296
- #: ../shared/classes/class.feedback.php:185
1297
- msgid "Feature Request"
1298
- msgstr ""
1299
-
1300
- #: ../shared/classes/class.feedback.php:191
1301
- msgid "Your Email (optional field)"
1302
- msgstr ""
1303
-
1304
- #: ../shared/classes/class.feedback.php:196
1305
- msgid "Send Feedback/Feature Request"
1306
- msgstr ""
1307
-
1308
- #: ../shared/classes/class.feedback.php:198
1309
- msgid "Please note:"
1310
- msgstr ""
1311
-
1312
- #: ../shared/classes/class.feedback.php:198
1313
- msgid "Support requests will not be handled through this form"
1314
- msgstr ""
1315
-
1316
- #: ../shared/classes/class.feedback.php:202
1317
- msgid "Submit a Feature Request"
1318
- msgstr ""
1319
-
1320
- #: ../shared/classes/class.form.php:508 ../shared/classes/class.form.php:515
1321
- msgid "Oops! Looks like you have not filled out all of the required fields!"
1322
- msgstr ""
1323
-
1324
- #: ../shared/classes/class.form.php:853
1325
- msgid "Thank you!"
1326
- msgstr ""
1327
-
1328
- #: ../shared/classes/class.form.php:920
1329
- msgid "Jan"
1330
- msgstr ""
1331
-
1332
- #: ../shared/classes/class.form.php:921
1333
- msgid "Feb"
1334
- msgstr ""
1335
-
1336
- #: ../shared/classes/class.form.php:922
1337
- msgid "Mar"
1338
- msgstr ""
1339
-
1340
- #: ../shared/classes/class.form.php:923
1341
- msgid "Apr"
1342
- msgstr ""
1343
-
1344
- #: ../shared/classes/class.form.php:924
1345
- msgid "May"
1346
- msgstr ""
1347
-
1348
- #: ../shared/classes/class.form.php:925
1349
- msgid "Jun"
1350
- msgstr ""
1351
-
1352
- #: ../shared/classes/class.form.php:926
1353
- msgid "Jul"
1354
- msgstr ""
1355
-
1356
- #: ../shared/classes/class.form.php:927
1357
- msgid "Aug"
1358
- msgstr ""
1359
-
1360
- #: ../shared/classes/class.form.php:928
1361
- msgid "Sep"
1362
- msgstr ""
1363
-
1364
- #: ../shared/classes/class.form.php:929
1365
- msgid "Oct"
1366
- msgstr ""
1367
-
1368
- #: ../shared/classes/class.form.php:930
1369
- msgid "Nov"
1370
- msgstr ""
1371
-
1372
- #: ../shared/classes/class.form.php:931
1373
- msgid "Dec"
1374
- msgstr ""
1375
-
1376
- #: ../shared/classes/class.form.php:961
1377
  msgid "AF"
1378
  msgstr ""
1379
 
1380
- #: ../shared/classes/class.form.php:961
1381
  msgid "Afghanistan"
1382
  msgstr ""
1383
 
1384
- #: ../shared/classes/class.form.php:962
1385
  msgid "AX"
1386
  msgstr ""
1387
 
1388
- #: ../shared/classes/class.form.php:962
1389
  msgid "Aland Islands"
1390
  msgstr ""
1391
 
1392
- #: ../shared/classes/class.form.php:963
1393
  msgid "AL"
1394
  msgstr ""
1395
 
1396
- #: ../shared/classes/class.form.php:963
1397
  msgid "Albania"
1398
  msgstr ""
1399
 
1400
- #: ../shared/classes/class.form.php:964
1401
  msgid "DZ"
1402
  msgstr ""
1403
 
1404
- #: ../shared/classes/class.form.php:964
1405
  msgid "Algeria"
1406
  msgstr ""
1407
 
1408
- #: ../shared/classes/class.form.php:965
1409
  msgid "AS"
1410
  msgstr ""
1411
 
1412
- #: ../shared/classes/class.form.php:965
1413
  msgid "American Samoa"
1414
  msgstr ""
1415
 
1416
- #: ../shared/classes/class.form.php:966
1417
  msgid "AD"
1418
  msgstr ""
1419
 
1420
- #: ../shared/classes/class.form.php:966
1421
  msgid "Andorra"
1422
  msgstr ""
1423
 
1424
- #: ../shared/classes/class.form.php:967
1425
  msgid "AO"
1426
  msgstr ""
1427
 
1428
- #: ../shared/classes/class.form.php:967
1429
  msgid "Angola"
1430
  msgstr ""
1431
 
1432
- #: ../shared/classes/class.form.php:968
1433
  msgid "AI"
1434
  msgstr ""
1435
 
1436
- #: ../shared/classes/class.form.php:968
1437
  msgid "Anguilla"
1438
  msgstr ""
1439
 
1440
- #: ../shared/classes/class.form.php:969
1441
  msgid "AQ"
1442
  msgstr ""
1443
 
1444
- #: ../shared/classes/class.form.php:969
1445
  msgid "Antarctica"
1446
  msgstr ""
1447
 
1448
- #: ../shared/classes/class.form.php:970
1449
  msgid "AG"
1450
  msgstr ""
1451
 
1452
- #: ../shared/classes/class.form.php:970
1453
  msgid "Antigua and Barbuda"
1454
  msgstr ""
1455
 
1456
- #: ../shared/classes/class.form.php:971
1457
  msgid "AR"
1458
  msgstr ""
1459
 
1460
- #: ../shared/classes/class.form.php:971
1461
  msgid "Argentina"
1462
  msgstr ""
1463
 
1464
- #: ../shared/classes/class.form.php:972
1465
  msgid "AM"
1466
  msgstr ""
1467
 
1468
- #: ../shared/classes/class.form.php:972
1469
  msgid "Armenia"
1470
  msgstr ""
1471
 
1472
- #: ../shared/classes/class.form.php:973
1473
  msgid "AW"
1474
  msgstr ""
1475
 
1476
- #: ../shared/classes/class.form.php:973
1477
  msgid "Aruba"
1478
  msgstr ""
1479
 
1480
- #: ../shared/classes/class.form.php:974
1481
  msgid "AU"
1482
  msgstr ""
1483
 
1484
- #: ../shared/classes/class.form.php:974
1485
  msgid "Australia"
1486
  msgstr ""
1487
 
1488
- #: ../shared/classes/class.form.php:975
1489
  msgid "AT"
1490
  msgstr ""
1491
 
1492
- #: ../shared/classes/class.form.php:975
1493
  msgid "Austria"
1494
  msgstr ""
1495
 
1496
- #: ../shared/classes/class.form.php:976
1497
  msgid "AZ"
1498
  msgstr ""
1499
 
1500
- #: ../shared/classes/class.form.php:976
1501
  msgid "Azerbaijan"
1502
  msgstr ""
1503
 
1504
- #: ../shared/classes/class.form.php:977
1505
  msgid "BS"
1506
  msgstr ""
1507
 
1508
- #: ../shared/classes/class.form.php:977
1509
  msgid "Bahamas"
1510
  msgstr ""
1511
 
1512
- #: ../shared/classes/class.form.php:978
1513
  msgid "BH"
1514
  msgstr ""
1515
 
1516
- #: ../shared/classes/class.form.php:978
1517
  msgid "Bahrain"
1518
  msgstr ""
1519
 
1520
- #: ../shared/classes/class.form.php:979
1521
  msgid "BD"
1522
  msgstr ""
1523
 
1524
- #: ../shared/classes/class.form.php:979
1525
  msgid "Bangladesh"
1526
  msgstr ""
1527
 
1528
- #: ../shared/classes/class.form.php:980
1529
  msgid "BB"
1530
  msgstr ""
1531
 
1532
- #: ../shared/classes/class.form.php:980
1533
  msgid "Barbados"
1534
  msgstr ""
1535
 
1536
- #: ../shared/classes/class.form.php:981
1537
  msgid "BY"
1538
  msgstr ""
1539
 
1540
- #: ../shared/classes/class.form.php:981
1541
  msgid "Belarus"
1542
  msgstr ""
1543
 
1544
- #: ../shared/classes/class.form.php:982
1545
  msgid "BE"
1546
  msgstr ""
1547
 
1548
- #: ../shared/classes/class.form.php:982
1549
  msgid "Belgium"
1550
  msgstr ""
1551
 
1552
- #: ../shared/classes/class.form.php:983
1553
  msgid "BZ"
1554
  msgstr ""
1555
 
1556
- #: ../shared/classes/class.form.php:983
1557
  msgid "Belize"
1558
  msgstr ""
1559
 
1560
- #: ../shared/classes/class.form.php:984
1561
  msgid "BJ"
1562
  msgstr ""
1563
 
1564
- #: ../shared/classes/class.form.php:984
1565
  msgid "Benin"
1566
  msgstr ""
1567
 
1568
- #: ../shared/classes/class.form.php:985
1569
  msgid "BM"
1570
  msgstr ""
1571
 
1572
- #: ../shared/classes/class.form.php:985
1573
  msgid "Bermuda"
1574
  msgstr ""
1575
 
1576
- #: ../shared/classes/class.form.php:986
1577
  msgid "BT"
1578
  msgstr ""
1579
 
1580
- #: ../shared/classes/class.form.php:986
1581
  msgid "Bhutan"
1582
  msgstr ""
1583
 
1584
- #: ../shared/classes/class.form.php:987
1585
  msgid "BO"
1586
  msgstr ""
1587
 
1588
- #: ../shared/classes/class.form.php:987
1589
  msgid "Bolivia"
1590
  msgstr ""
1591
 
1592
- #: ../shared/classes/class.form.php:988
1593
  msgid "BA"
1594
  msgstr ""
1595
 
1596
- #: ../shared/classes/class.form.php:988
1597
  msgid "Bosnia and Herzegovina"
1598
  msgstr ""
1599
 
1600
- #: ../shared/classes/class.form.php:989
1601
  msgid "BW"
1602
  msgstr ""
1603
 
1604
- #: ../shared/classes/class.form.php:989
1605
  msgid "Botswana"
1606
  msgstr ""
1607
 
1608
- #: ../shared/classes/class.form.php:990
1609
  msgid "BV"
1610
  msgstr ""
1611
 
1612
- #: ../shared/classes/class.form.php:990
1613
  msgid "Bouvet Island"
1614
  msgstr ""
1615
 
1616
- #: ../shared/classes/class.form.php:991
1617
  msgid "BR"
1618
  msgstr ""
1619
 
1620
- #: ../shared/classes/class.form.php:991
1621
  msgid "Brazil"
1622
  msgstr ""
1623
 
1624
- #: ../shared/classes/class.form.php:992
1625
  msgid "IO"
1626
  msgstr ""
1627
 
1628
- #: ../shared/classes/class.form.php:992
1629
  msgid "British Indian Ocean Territory"
1630
  msgstr ""
1631
 
1632
- #: ../shared/classes/class.form.php:993
1633
  msgid "BN"
1634
  msgstr ""
1635
 
1636
- #: ../shared/classes/class.form.php:993
1637
  msgid "Brunei Darussalam"
1638
  msgstr ""
1639
 
1640
- #: ../shared/classes/class.form.php:994
1641
  msgid "BG"
1642
  msgstr ""
1643
 
1644
- #: ../shared/classes/class.form.php:994
1645
  msgid "Bulgaria"
1646
  msgstr ""
1647
 
1648
- #: ../shared/classes/class.form.php:995
1649
  msgid "BF"
1650
  msgstr ""
1651
 
1652
- #: ../shared/classes/class.form.php:995
1653
  msgid "Burkina Faso"
1654
  msgstr ""
1655
 
1656
- #: ../shared/classes/class.form.php:996
1657
  msgid "BI"
1658
  msgstr ""
1659
 
1660
- #: ../shared/classes/class.form.php:996
1661
  msgid "Burundi"
1662
  msgstr ""
1663
 
1664
- #: ../shared/classes/class.form.php:997
1665
  msgid "KH"
1666
  msgstr ""
1667
 
1668
- #: ../shared/classes/class.form.php:997
1669
  msgid "Cambodia"
1670
  msgstr ""
1671
 
1672
- #: ../shared/classes/class.form.php:998
1673
  msgid "CM"
1674
  msgstr ""
1675
 
1676
- #: ../shared/classes/class.form.php:998
1677
  msgid "Cameroon"
1678
  msgstr ""
1679
 
1680
- #: ../shared/classes/class.form.php:999
1681
  msgid "CA"
1682
  msgstr ""
1683
 
1684
- #: ../shared/classes/class.form.php:999
1685
  msgid "Canada"
1686
  msgstr ""
1687
 
1688
- #: ../shared/classes/class.form.php:1000
1689
  msgid "CV"
1690
  msgstr ""
1691
 
1692
- #: ../shared/classes/class.form.php:1000
1693
  msgid "Cape Verde"
1694
  msgstr ""
1695
 
1696
- #: ../shared/classes/class.form.php:1001
1697
  msgid "BQ"
1698
  msgstr ""
1699
 
1700
- #: ../shared/classes/class.form.php:1001
1701
  msgid "Caribbean Netherlands "
1702
  msgstr ""
1703
 
1704
- #: ../shared/classes/class.form.php:1002
1705
  msgid "KY"
1706
  msgstr ""
1707
 
1708
- #: ../shared/classes/class.form.php:1002
1709
  msgid "Cayman Islands"
1710
  msgstr ""
1711
 
1712
- #: ../shared/classes/class.form.php:1003
1713
  msgid "CF"
1714
  msgstr ""
1715
 
1716
- #: ../shared/classes/class.form.php:1003
1717
  msgid "Central African Republic"
1718
  msgstr ""
1719
 
1720
- #: ../shared/classes/class.form.php:1004
1721
  msgid "TD"
1722
  msgstr ""
1723
 
1724
- #: ../shared/classes/class.form.php:1004
1725
  msgid "Chad"
1726
  msgstr ""
1727
 
1728
- #: ../shared/classes/class.form.php:1005
1729
  msgid "CL"
1730
  msgstr ""
1731
 
1732
- #: ../shared/classes/class.form.php:1005
1733
  msgid "Chile"
1734
  msgstr ""
1735
 
1736
- #: ../shared/classes/class.form.php:1006
1737
  msgid "CN"
1738
  msgstr ""
1739
 
1740
- #: ../shared/classes/class.form.php:1006
1741
  msgid "China"
1742
  msgstr ""
1743
 
1744
- #: ../shared/classes/class.form.php:1007
1745
  msgid "CX"
1746
  msgstr ""
1747
 
1748
- #: ../shared/classes/class.form.php:1007
1749
  msgid "Christmas Island"
1750
  msgstr ""
1751
 
1752
- #: ../shared/classes/class.form.php:1008
1753
  msgid "CC"
1754
  msgstr ""
1755
 
1756
- #: ../shared/classes/class.form.php:1008
1757
  msgid "Cocos (Keeling) Islands"
1758
  msgstr ""
1759
 
1760
- #: ../shared/classes/class.form.php:1009
1761
  msgid "CO"
1762
  msgstr ""
1763
 
1764
- #: ../shared/classes/class.form.php:1009
1765
  msgid "Colombia"
1766
  msgstr ""
1767
 
1768
- #: ../shared/classes/class.form.php:1010
1769
  msgid "KM"
1770
  msgstr ""
1771
 
1772
- #: ../shared/classes/class.form.php:1010
1773
  msgid "Comoros"
1774
  msgstr ""
1775
 
1776
- #: ../shared/classes/class.form.php:1011
1777
  msgid "CG"
1778
  msgstr ""
1779
 
1780
- #: ../shared/classes/class.form.php:1011
1781
  msgid "Congo"
1782
  msgstr ""
1783
 
1784
- #: ../shared/classes/class.form.php:1012
1785
  msgid "CD"
1786
  msgstr ""
1787
 
1788
- #: ../shared/classes/class.form.php:1012
1789
  msgid "Congo, Democratic Republic of"
1790
  msgstr ""
1791
 
1792
- #: ../shared/classes/class.form.php:1013
1793
  msgid "CK"
1794
  msgstr ""
1795
 
1796
- #: ../shared/classes/class.form.php:1013
1797
  msgid "Cook Islands"
1798
  msgstr ""
1799
 
1800
- #: ../shared/classes/class.form.php:1014
1801
  msgid "CR"
1802
  msgstr ""
1803
 
1804
- #: ../shared/classes/class.form.php:1014
1805
  msgid "Costa Rica"
1806
  msgstr ""
1807
 
1808
- #: ../shared/classes/class.form.php:1015
1809
  msgid "CI"
1810
  msgstr ""
1811
 
1812
- #: ../shared/classes/class.form.php:1015
1813
  msgid "Cote d'Ivoire"
1814
  msgstr ""
1815
 
1816
- #: ../shared/classes/class.form.php:1016
1817
  msgid "HR"
1818
  msgstr ""
1819
 
1820
- #: ../shared/classes/class.form.php:1016
1821
  msgid "Croatia"
1822
  msgstr ""
1823
 
1824
- #: ../shared/classes/class.form.php:1017
1825
  msgid "CU"
1826
  msgstr ""
1827
 
1828
- #: ../shared/classes/class.form.php:1017
1829
  msgid "Cuba"
1830
  msgstr ""
1831
 
1832
- #: ../shared/classes/class.form.php:1018
1833
  msgid "CW"
1834
  msgstr ""
1835
 
1836
- #: ../shared/classes/class.form.php:1018
1837
  msgid "Curacao"
1838
  msgstr ""
1839
 
1840
- #: ../shared/classes/class.form.php:1019
1841
  msgid "CY"
1842
  msgstr ""
1843
 
1844
- #: ../shared/classes/class.form.php:1019
1845
  msgid "Cyprus"
1846
  msgstr ""
1847
 
1848
- #: ../shared/classes/class.form.php:1020
1849
  msgid "CZ"
1850
  msgstr ""
1851
 
1852
- #: ../shared/classes/class.form.php:1020
1853
  msgid "Czech Republic"
1854
  msgstr ""
1855
 
1856
- #: ../shared/classes/class.form.php:1021
1857
  msgid "DK"
1858
  msgstr ""
1859
 
1860
- #: ../shared/classes/class.form.php:1021
1861
  msgid "Denmark"
1862
  msgstr ""
1863
 
1864
- #: ../shared/classes/class.form.php:1022
1865
  msgid "DJ"
1866
  msgstr ""
1867
 
1868
- #: ../shared/classes/class.form.php:1022
1869
  msgid "Djibouti"
1870
  msgstr ""
1871
 
1872
- #: ../shared/classes/class.form.php:1023
1873
  msgid "DM"
1874
  msgstr ""
1875
 
1876
- #: ../shared/classes/class.form.php:1023
1877
  msgid "Dominica"
1878
  msgstr ""
1879
 
1880
- #: ../shared/classes/class.form.php:1024
1881
  msgid "DO"
1882
  msgstr ""
1883
 
1884
- #: ../shared/classes/class.form.php:1024
1885
  msgid "Dominican Republic"
1886
  msgstr ""
1887
 
1888
- #: ../shared/classes/class.form.php:1025
1889
  msgid "EC"
1890
  msgstr ""
1891
 
1892
- #: ../shared/classes/class.form.php:1025
1893
  msgid "Ecuador"
1894
  msgstr ""
1895
 
1896
- #: ../shared/classes/class.form.php:1026
1897
  msgid "EG"
1898
  msgstr ""
1899
 
1900
- #: ../shared/classes/class.form.php:1026
1901
  msgid "Egypt"
1902
  msgstr ""
1903
 
1904
- #: ../shared/classes/class.form.php:1027
1905
  msgid "SV"
1906
  msgstr ""
1907
 
1908
- #: ../shared/classes/class.form.php:1027
1909
  msgid "El Salvador"
1910
  msgstr ""
1911
 
1912
- #: ../shared/classes/class.form.php:1028
1913
  msgid "GQ"
1914
  msgstr ""
1915
 
1916
- #: ../shared/classes/class.form.php:1028
1917
  msgid "Equatorial Guinea"
1918
  msgstr ""
1919
 
1920
- #: ../shared/classes/class.form.php:1029
1921
  msgid "ER"
1922
  msgstr ""
1923
 
1924
- #: ../shared/classes/class.form.php:1029
1925
  msgid "Eritrea"
1926
  msgstr ""
1927
 
1928
- #: ../shared/classes/class.form.php:1030
1929
  msgid "EE"
1930
  msgstr ""
1931
 
1932
- #: ../shared/classes/class.form.php:1030
1933
  msgid "Estonia"
1934
  msgstr ""
1935
 
1936
- #: ../shared/classes/class.form.php:1031
1937
  msgid "ET"
1938
  msgstr ""
1939
 
1940
- #: ../shared/classes/class.form.php:1031
1941
  msgid "Ethiopia"
1942
  msgstr ""
1943
 
1944
- #: ../shared/classes/class.form.php:1032
1945
  msgid "FK"
1946
  msgstr ""
1947
 
1948
- #: ../shared/classes/class.form.php:1032
1949
  msgid "Falkland Islands"
1950
  msgstr ""
1951
 
1952
- #: ../shared/classes/class.form.php:1033
1953
  msgid "FO"
1954
  msgstr ""
1955
 
1956
- #: ../shared/classes/class.form.php:1033
1957
  msgid "Faroe Islands"
1958
  msgstr ""
1959
 
1960
- #: ../shared/classes/class.form.php:1034
1961
  msgid "FJ"
1962
  msgstr ""
1963
 
1964
- #: ../shared/classes/class.form.php:1034
1965
  msgid "Fiji"
1966
  msgstr ""
1967
 
1968
- #: ../shared/classes/class.form.php:1035
1969
  msgid "FI"
1970
  msgstr ""
1971
 
1972
- #: ../shared/classes/class.form.php:1035
1973
  msgid "Finland"
1974
  msgstr ""
1975
 
1976
- #: ../shared/classes/class.form.php:1036
1977
  msgid "FR"
1978
  msgstr ""
1979
 
1980
- #: ../shared/classes/class.form.php:1036
1981
  msgid "France"
1982
  msgstr ""
1983
 
1984
- #: ../shared/classes/class.form.php:1037
1985
  msgid "GF"
1986
  msgstr ""
1987
 
1988
- #: ../shared/classes/class.form.php:1037
1989
  msgid "French Guiana"
1990
  msgstr ""
1991
 
1992
- #: ../shared/classes/class.form.php:1038
1993
  msgid "PF"
1994
  msgstr ""
1995
 
1996
- #: ../shared/classes/class.form.php:1038
1997
  msgid "French Polynesia"
1998
  msgstr ""
1999
 
2000
- #: ../shared/classes/class.form.php:1039
2001
  msgid "TF"
2002
  msgstr ""
2003
 
2004
- #: ../shared/classes/class.form.php:1039
2005
  msgid "French Southern Territories"
2006
  msgstr ""
2007
 
2008
- #: ../shared/classes/class.form.php:1040
2009
  msgid "GA"
2010
  msgstr ""
2011
 
2012
- #: ../shared/classes/class.form.php:1040
2013
  msgid "Gabon"
2014
  msgstr ""
2015
 
2016
- #: ../shared/classes/class.form.php:1041
2017
  msgid "GM"
2018
  msgstr ""
2019
 
2020
- #: ../shared/classes/class.form.php:1041
2021
  msgid "Gambia"
2022
  msgstr ""
2023
 
2024
- #: ../shared/classes/class.form.php:1042
2025
  msgid "GE"
2026
  msgstr ""
2027
 
2028
- #: ../shared/classes/class.form.php:1042
2029
  msgid "Georgia"
2030
  msgstr ""
2031
 
2032
- #: ../shared/classes/class.form.php:1043
2033
  msgid "DE"
2034
  msgstr ""
2035
 
2036
- #: ../shared/classes/class.form.php:1043
2037
  msgid "Germany"
2038
  msgstr ""
2039
 
2040
- #: ../shared/classes/class.form.php:1044
2041
  msgid "GH"
2042
  msgstr ""
2043
 
2044
- #: ../shared/classes/class.form.php:1044
2045
  msgid "Ghana"
2046
  msgstr ""
2047
 
2048
- #: ../shared/classes/class.form.php:1045
2049
  msgid "GI"
2050
  msgstr ""
2051
 
2052
- #: ../shared/classes/class.form.php:1045
2053
  msgid "Gibraltar"
2054
  msgstr ""
2055
 
2056
- #: ../shared/classes/class.form.php:1046
2057
  msgid "GR"
2058
  msgstr ""
2059
 
2060
- #: ../shared/classes/class.form.php:1046
2061
  msgid "Greece"
2062
  msgstr ""
2063
 
2064
- #: ../shared/classes/class.form.php:1047
2065
  msgid "GL"
2066
  msgstr ""
2067
 
2068
- #: ../shared/classes/class.form.php:1047
2069
  msgid "Greenland"
2070
  msgstr ""
2071
 
2072
- #: ../shared/classes/class.form.php:1048
2073
  msgid "GD"
2074
  msgstr ""
2075
 
2076
- #: ../shared/classes/class.form.php:1048
2077
  msgid "Grenada"
2078
  msgstr ""
2079
 
2080
- #: ../shared/classes/class.form.php:1049
2081
  msgid "GP"
2082
  msgstr ""
2083
 
2084
- #: ../shared/classes/class.form.php:1049
2085
  msgid "Guadeloupe"
2086
  msgstr ""
2087
 
2088
- #: ../shared/classes/class.form.php:1050
2089
  msgid "GU"
2090
  msgstr ""
2091
 
2092
- #: ../shared/classes/class.form.php:1050
2093
  msgid "Guam"
2094
  msgstr ""
2095
 
2096
- #: ../shared/classes/class.form.php:1051
2097
  msgid "GT"
2098
  msgstr ""
2099
 
2100
- #: ../shared/classes/class.form.php:1051
2101
  msgid "Guatemala"
2102
  msgstr ""
2103
 
2104
- #: ../shared/classes/class.form.php:1052
2105
  msgid "GG"
2106
  msgstr ""
2107
 
2108
- #: ../shared/classes/class.form.php:1052
2109
  msgid "Guernsey"
2110
  msgstr ""
2111
 
2112
- #: ../shared/classes/class.form.php:1053
2113
  msgid "GN"
2114
  msgstr ""
2115
 
2116
- #: ../shared/classes/class.form.php:1053
2117
  msgid "Guinea"
2118
  msgstr ""
2119
 
2120
- #: ../shared/classes/class.form.php:1054
2121
  msgid "GW"
2122
  msgstr ""
2123
 
2124
- #: ../shared/classes/class.form.php:1054
2125
  msgid "Guinea-Bissau"
2126
  msgstr ""
2127
 
2128
- #: ../shared/classes/class.form.php:1055
2129
  msgid "GY"
2130
  msgstr ""
2131
 
2132
- #: ../shared/classes/class.form.php:1055
2133
  msgid "Guyana"
2134
  msgstr ""
2135
 
2136
- #: ../shared/classes/class.form.php:1056
2137
  msgid "HT"
2138
  msgstr ""
2139
 
2140
- #: ../shared/classes/class.form.php:1056
2141
  msgid "Haiti"
2142
  msgstr ""
2143
 
2144
- #: ../shared/classes/class.form.php:1057
2145
  msgid "HM"
2146
  msgstr ""
2147
 
2148
- #: ../shared/classes/class.form.php:1057
2149
  msgid "Heard and McDonald Islands"
2150
  msgstr ""
2151
 
2152
- #: ../shared/classes/class.form.php:1058
2153
  msgid "HN"
2154
  msgstr ""
2155
 
2156
- #: ../shared/classes/class.form.php:1058
2157
  msgid "Honduras"
2158
  msgstr ""
2159
 
2160
- #: ../shared/classes/class.form.php:1059
2161
  msgid "HK"
2162
  msgstr ""
2163
 
2164
- #: ../shared/classes/class.form.php:1059
2165
  msgid "Hong Kong"
2166
  msgstr ""
2167
 
2168
- #: ../shared/classes/class.form.php:1060
2169
  msgid "HU"
2170
  msgstr ""
2171
 
2172
- #: ../shared/classes/class.form.php:1060
2173
  msgid "Hungary"
2174
  msgstr ""
2175
 
2176
- #: ../shared/classes/class.form.php:1061
2177
  msgid "IS"
2178
  msgstr ""
2179
 
2180
- #: ../shared/classes/class.form.php:1061
2181
  msgid "Iceland"
2182
  msgstr ""
2183
 
2184
- #: ../shared/classes/class.form.php:1062
2185
  msgid "IN"
2186
  msgstr ""
2187
 
2188
- #: ../shared/classes/class.form.php:1062
2189
  msgid "India"
2190
  msgstr ""
2191
 
2192
- #: ../shared/classes/class.form.php:1063
2193
- #: ../shared/classes/class.post-type.wp-lead.php:159
2194
  msgid "ID"
2195
  msgstr ""
2196
 
2197
- #: ../shared/classes/class.form.php:1063
2198
  msgid "Indonesia"
2199
  msgstr ""
2200
 
2201
- #: ../shared/classes/class.form.php:1064
2202
  msgid "IR"
2203
  msgstr ""
2204
 
2205
- #: ../shared/classes/class.form.php:1064
2206
  msgid "Iran"
2207
  msgstr ""
2208
 
2209
- #: ../shared/classes/class.form.php:1065
2210
  msgid "IQ"
2211
  msgstr ""
2212
 
2213
- #: ../shared/classes/class.form.php:1065
2214
  msgid "Iraq"
2215
  msgstr ""
2216
 
2217
- #: ../shared/classes/class.form.php:1066
2218
  msgid "IE"
2219
  msgstr ""
2220
 
2221
- #: ../shared/classes/class.form.php:1066
2222
  msgid "Ireland"
2223
  msgstr ""
2224
 
2225
- #: ../shared/classes/class.form.php:1067
2226
  msgid "IM"
2227
  msgstr ""
2228
 
2229
- #: ../shared/classes/class.form.php:1067
2230
  msgid "Isle of Man"
2231
  msgstr ""
2232
 
2233
- #: ../shared/classes/class.form.php:1068
2234
  msgid "IL"
2235
  msgstr ""
2236
 
2237
- #: ../shared/classes/class.form.php:1068
2238
  msgid "Israel"
2239
  msgstr ""
2240
 
2241
- #: ../shared/classes/class.form.php:1069
2242
  msgid "IT"
2243
  msgstr ""
2244
 
2245
- #: ../shared/classes/class.form.php:1069
2246
  msgid "Italy"
2247
  msgstr ""
2248
 
2249
- #: ../shared/classes/class.form.php:1070
2250
  msgid "JM"
2251
  msgstr ""
2252
 
2253
- #: ../shared/classes/class.form.php:1070
2254
  msgid "Jamaica"
2255
  msgstr ""
2256
 
2257
- #: ../shared/classes/class.form.php:1071
2258
  msgid "JP"
2259
  msgstr ""
2260
 
2261
- #: ../shared/classes/class.form.php:1071
2262
  msgid "Japan"
2263
  msgstr ""
2264
 
2265
- #: ../shared/classes/class.form.php:1072
2266
  msgid "JE"
2267
  msgstr ""
2268
 
2269
- #: ../shared/classes/class.form.php:1072
2270
  msgid "Jersey"
2271
  msgstr ""
2272
 
2273
- #: ../shared/classes/class.form.php:1073
2274
  msgid "JO"
2275
  msgstr ""
2276
 
2277
- #: ../shared/classes/class.form.php:1073
2278
  msgid "Jordan"
2279
  msgstr ""
2280
 
2281
- #: ../shared/classes/class.form.php:1074
2282
  msgid "KZ"
2283
  msgstr ""
2284
 
2285
- #: ../shared/classes/class.form.php:1074
2286
  msgid "Kazakhstan"
2287
  msgstr ""
2288
 
2289
- #: ../shared/classes/class.form.php:1075
2290
  msgid "KE"
2291
  msgstr ""
2292
 
2293
- #: ../shared/classes/class.form.php:1075
2294
  msgid "Kenya"
2295
  msgstr ""
2296
 
2297
- #: ../shared/classes/class.form.php:1076
2298
  msgid "KI"
2299
  msgstr ""
2300
 
2301
- #: ../shared/classes/class.form.php:1076
2302
  msgid "Kiribati"
2303
  msgstr ""
2304
 
2305
- #: ../shared/classes/class.form.php:1077
2306
  msgid "KW"
2307
  msgstr ""
2308
 
2309
- #: ../shared/classes/class.form.php:1077
2310
  msgid "Kuwait"
2311
  msgstr ""
2312
 
2313
- #: ../shared/classes/class.form.php:1078
2314
  msgid "KG"
2315
  msgstr ""
2316
 
2317
- #: ../shared/classes/class.form.php:1078
2318
  msgid "Kyrgyzstan"
2319
  msgstr ""
2320
 
2321
- #: ../shared/classes/class.form.php:1079
2322
  msgid "LA"
2323
  msgstr ""
2324
 
2325
- #: ../shared/classes/class.form.php:1079
2326
  msgid "Lao People's Democratic Republic"
2327
  msgstr ""
2328
 
2329
- #: ../shared/classes/class.form.php:1080
2330
  msgid "LV"
2331
  msgstr ""
2332
 
2333
- #: ../shared/classes/class.form.php:1080
2334
  msgid "Latvia"
2335
  msgstr ""
2336
 
2337
- #: ../shared/classes/class.form.php:1081
2338
  msgid "LB"
2339
  msgstr ""
2340
 
2341
- #: ../shared/classes/class.form.php:1081
2342
  msgid "Lebanon"
2343
  msgstr ""
2344
 
2345
- #: ../shared/classes/class.form.php:1082
2346
  msgid "LS"
2347
  msgstr ""
2348
 
2349
- #: ../shared/classes/class.form.php:1082
2350
  msgid "Lesotho"
2351
  msgstr ""
2352
 
2353
- #: ../shared/classes/class.form.php:1083
2354
  msgid "LR"
2355
  msgstr ""
2356
 
2357
- #: ../shared/classes/class.form.php:1083
2358
  msgid "Liberia"
2359
  msgstr ""
2360
 
2361
- #: ../shared/classes/class.form.php:1084
2362
  msgid "LY"
2363
  msgstr ""
2364
 
2365
- #: ../shared/classes/class.form.php:1084
2366
  msgid "Libya"
2367
  msgstr ""
2368
 
2369
- #: ../shared/classes/class.form.php:1085
2370
  msgid "LI"
2371
  msgstr ""
2372
 
2373
- #: ../shared/classes/class.form.php:1085
2374
  msgid "Liechtenstein"
2375
  msgstr ""
2376
 
2377
- #: ../shared/classes/class.form.php:1086
2378
  msgid "LT"
2379
  msgstr ""
2380
 
2381
- #: ../shared/classes/class.form.php:1086
2382
  msgid "Lithuania"
2383
  msgstr ""
2384
 
2385
- #: ../shared/classes/class.form.php:1087
2386
  msgid "LU"
2387
  msgstr ""
2388
 
2389
- #: ../shared/classes/class.form.php:1087
2390
  msgid "Luxembourg"
2391
  msgstr ""
2392
 
2393
- #: ../shared/classes/class.form.php:1088
2394
  msgid "MO"
2395
  msgstr ""
2396
 
2397
- #: ../shared/classes/class.form.php:1088
2398
  msgid "Macau"
2399
  msgstr ""
2400
 
2401
- #: ../shared/classes/class.form.php:1089
2402
  msgid "MK"
2403
  msgstr ""
2404
 
2405
- #: ../shared/classes/class.form.php:1089
2406
  msgid "Macedonia"
2407
  msgstr ""
2408
 
2409
- #: ../shared/classes/class.form.php:1090
2410
  msgid "MG"
2411
  msgstr ""
2412
 
2413
- #: ../shared/classes/class.form.php:1090
2414
  msgid "Madagascar"
2415
  msgstr ""
2416
 
2417
- #: ../shared/classes/class.form.php:1091
2418
  msgid "MW"
2419
  msgstr ""
2420
 
2421
- #: ../shared/classes/class.form.php:1091
2422
  msgid "Malawi"
2423
  msgstr ""
2424
 
2425
- #: ../shared/classes/class.form.php:1092
2426
  msgid "MY"
2427
  msgstr ""
2428
 
2429
- #: ../shared/classes/class.form.php:1092
2430
  msgid "Malaysia"
2431
  msgstr ""
2432
 
2433
- #: ../shared/classes/class.form.php:1093
2434
  msgid "MV"
2435
  msgstr ""
2436
 
2437
- #: ../shared/classes/class.form.php:1093
2438
  msgid "Maldives"
2439
  msgstr ""
2440
 
2441
- #: ../shared/classes/class.form.php:1094
2442
  msgid "ML"
2443
  msgstr ""
2444
 
2445
- #: ../shared/classes/class.form.php:1094
2446
  msgid "Mali"
2447
  msgstr ""
2448
 
2449
- #: ../shared/classes/class.form.php:1095
2450
  msgid "MT"
2451
  msgstr ""
2452
 
2453
- #: ../shared/classes/class.form.php:1095
2454
  msgid "Malta"
2455
  msgstr ""
2456
 
2457
- #: ../shared/classes/class.form.php:1096
2458
  msgid "MH"
2459
  msgstr ""
2460
 
2461
- #: ../shared/classes/class.form.php:1096
2462
  msgid "Marshall Islands"
2463
  msgstr ""
2464
 
2465
- #: ../shared/classes/class.form.php:1097
2466
  msgid "MQ"
2467
  msgstr ""
2468
 
2469
- #: ../shared/classes/class.form.php:1097
2470
  msgid "Martinique"
2471
  msgstr ""
2472
 
2473
- #: ../shared/classes/class.form.php:1098
2474
  msgid "MR"
2475
  msgstr ""
2476
 
2477
- #: ../shared/classes/class.form.php:1098
2478
  msgid "Mauritania"
2479
  msgstr ""
2480
 
2481
- #: ../shared/classes/class.form.php:1099
2482
  msgid "MU"
2483
  msgstr ""
2484
 
2485
- #: ../shared/classes/class.form.php:1099
2486
  msgid "Mauritius"
2487
  msgstr ""
2488
 
2489
- #: ../shared/classes/class.form.php:1100
2490
  msgid "YT"
2491
  msgstr ""
2492
 
2493
- #: ../shared/classes/class.form.php:1100
2494
  msgid "Mayotte"
2495
  msgstr ""
2496
 
2497
- #: ../shared/classes/class.form.php:1101
2498
  msgid "MX"
2499
  msgstr ""
2500
 
2501
- #: ../shared/classes/class.form.php:1101
2502
  msgid "Mexico"
2503
  msgstr ""
2504
 
2505
- #: ../shared/classes/class.form.php:1102
2506
  msgid "FM"
2507
  msgstr ""
2508
 
2509
- #: ../shared/classes/class.form.php:1102
2510
  msgid "Micronesia, Federated States of"
2511
  msgstr ""
2512
 
2513
- #: ../shared/classes/class.form.php:1103
2514
  msgid "MD"
2515
  msgstr ""
2516
 
2517
- #: ../shared/classes/class.form.php:1103
2518
  msgid "Moldova"
2519
  msgstr ""
2520
 
2521
- #: ../shared/classes/class.form.php:1104
2522
  msgid "MC"
2523
  msgstr ""
2524
 
2525
- #: ../shared/classes/class.form.php:1104
2526
  msgid "Monaco"
2527
  msgstr ""
2528
 
2529
- #: ../shared/classes/class.form.php:1105
2530
  msgid "MN"
2531
  msgstr ""
2532
 
2533
- #: ../shared/classes/class.form.php:1105
2534
  msgid "Mongolia"
2535
  msgstr ""
2536
 
2537
- #: ../shared/classes/class.form.php:1106
2538
  msgid "ME"
2539
  msgstr ""
2540
 
2541
- #: ../shared/classes/class.form.php:1106
2542
  msgid "Montenegro"
2543
  msgstr ""
2544
 
2545
- #: ../shared/classes/class.form.php:1107
2546
  msgid "MS"
2547
  msgstr ""
2548
 
2549
- #: ../shared/classes/class.form.php:1107
2550
  msgid "Montserrat"
2551
  msgstr ""
2552
 
2553
- #: ../shared/classes/class.form.php:1108
2554
  msgid "MA"
2555
  msgstr ""
2556
 
2557
- #: ../shared/classes/class.form.php:1108
2558
  msgid "Morocco"
2559
  msgstr ""
2560
 
2561
- #: ../shared/classes/class.form.php:1109
2562
  msgid "MZ"
2563
  msgstr ""
2564
 
2565
- #: ../shared/classes/class.form.php:1109
2566
  msgid "Mozambique"
2567
  msgstr ""
2568
 
2569
- #: ../shared/classes/class.form.php:1110
2570
  msgid "MM"
2571
  msgstr ""
2572
 
2573
- #: ../shared/classes/class.form.php:1110
2574
  msgid "Myanmar"
2575
  msgstr ""
2576
 
2577
- #: ../shared/classes/class.form.php:1111
2578
  msgid "NA"
2579
  msgstr ""
2580
 
2581
- #: ../shared/classes/class.form.php:1111
2582
  msgid "Namibia"
2583
  msgstr ""
2584
 
2585
- #: ../shared/classes/class.form.php:1112
2586
  msgid "NR"
2587
  msgstr ""
2588
 
2589
- #: ../shared/classes/class.form.php:1112
2590
  msgid "Nauru"
2591
  msgstr ""
2592
 
2593
- #: ../shared/classes/class.form.php:1113
2594
  msgid "NP"
2595
  msgstr ""
2596
 
2597
- #: ../shared/classes/class.form.php:1113
2598
  msgid "Nepal"
2599
  msgstr ""
2600
 
2601
- #: ../shared/classes/class.form.php:1114
2602
  msgid "NC"
2603
  msgstr ""
2604
 
2605
- #: ../shared/classes/class.form.php:1114
2606
  msgid "New Caledonia"
2607
  msgstr ""
2608
 
2609
- #: ../shared/classes/class.form.php:1115
2610
  msgid "NZ"
2611
  msgstr ""
2612
 
2613
- #: ../shared/classes/class.form.php:1115
2614
  msgid "New Zealand"
2615
  msgstr ""
2616
 
2617
- #: ../shared/classes/class.form.php:1116
2618
  msgid "NI"
2619
  msgstr ""
2620
 
2621
- #: ../shared/classes/class.form.php:1116
2622
  msgid "Nicaragua"
2623
  msgstr ""
2624
 
2625
- #: ../shared/classes/class.form.php:1117
2626
  msgid "NE"
2627
  msgstr ""
2628
 
2629
- #: ../shared/classes/class.form.php:1117
2630
  msgid "Niger"
2631
  msgstr ""
2632
 
2633
- #: ../shared/classes/class.form.php:1118
2634
  msgid "NG"
2635
  msgstr ""
2636
 
2637
- #: ../shared/classes/class.form.php:1118
2638
  msgid "Nigeria"
2639
  msgstr ""
2640
 
2641
- #: ../shared/classes/class.form.php:1119
2642
  msgid "NU"
2643
  msgstr ""
2644
 
2645
- #: ../shared/classes/class.form.php:1119
2646
  msgid "Niue"
2647
  msgstr ""
2648
 
2649
- #: ../shared/classes/class.form.php:1120
2650
  msgid "NF"
2651
  msgstr ""
2652
 
2653
- #: ../shared/classes/class.form.php:1120
2654
  msgid "Norfolk Island"
2655
  msgstr ""
2656
 
2657
- #: ../shared/classes/class.form.php:1121
2658
  msgid "KP"
2659
  msgstr ""
2660
 
2661
- #: ../shared/classes/class.form.php:1121
2662
  msgid "North Korea"
2663
  msgstr ""
2664
 
2665
- #: ../shared/classes/class.form.php:1122
2666
  msgid "MP"
2667
  msgstr ""
2668
 
2669
- #: ../shared/classes/class.form.php:1122
2670
  msgid "Northern Mariana Islands"
2671
  msgstr ""
2672
 
2673
- #: ../shared/classes/class.form.php:1123
2674
  msgid "NO"
2675
  msgstr ""
2676
 
2677
- #: ../shared/classes/class.form.php:1123
2678
  msgid "Norway"
2679
  msgstr ""
2680
 
2681
- #: ../shared/classes/class.form.php:1124
2682
  msgid "OM"
2683
  msgstr ""
2684
 
2685
- #: ../shared/classes/class.form.php:1124
2686
  msgid "Oman"
2687
  msgstr ""
2688
 
2689
- #: ../shared/classes/class.form.php:1125
2690
  msgid "PK"
2691
  msgstr ""
2692
 
2693
- #: ../shared/classes/class.form.php:1125
2694
  msgid "Pakistan"
2695
  msgstr ""
2696
 
2697
- #: ../shared/classes/class.form.php:1126
2698
  msgid "PW"
2699
  msgstr ""
2700
 
2701
- #: ../shared/classes/class.form.php:1126
2702
  msgid "Palau"
2703
  msgstr ""
2704
 
2705
- #: ../shared/classes/class.form.php:1127
2706
  msgid "PS"
2707
  msgstr ""
2708
 
2709
- #: ../shared/classes/class.form.php:1127
2710
  msgid "Palestinian Territory, Occupied"
2711
  msgstr ""
2712
 
2713
- #: ../shared/classes/class.form.php:1128
2714
  msgid "PA"
2715
  msgstr ""
2716
 
2717
- #: ../shared/classes/class.form.php:1128
2718
  msgid "Panama"
2719
  msgstr ""
2720
 
2721
- #: ../shared/classes/class.form.php:1129
2722
  msgid "PG"
2723
  msgstr ""
2724
 
2725
- #: ../shared/classes/class.form.php:1129
2726
  msgid "Papua New Guinea"
2727
  msgstr ""
2728
 
2729
- #: ../shared/classes/class.form.php:1130
2730
  msgid "PY"
2731
  msgstr ""
2732
 
2733
- #: ../shared/classes/class.form.php:1130
2734
  msgid "Paraguay"
2735
  msgstr ""
2736
 
2737
- #: ../shared/classes/class.form.php:1131
2738
  msgid "PE"
2739
  msgstr ""
2740
 
2741
- #: ../shared/classes/class.form.php:1131
2742
  msgid "Peru"
2743
  msgstr ""
2744
 
2745
- #: ../shared/classes/class.form.php:1132
2746
  msgid "PH"
2747
  msgstr ""
2748
 
2749
- #: ../shared/classes/class.form.php:1132
2750
  msgid "Philippines"
2751
  msgstr ""
2752
 
2753
- #: ../shared/classes/class.form.php:1133
2754
  msgid "PN"
2755
  msgstr ""
2756
 
2757
- #: ../shared/classes/class.form.php:1133
2758
  msgid "Pitcairn"
2759
  msgstr ""
2760
 
2761
- #: ../shared/classes/class.form.php:1134
2762
  msgid "PL"
2763
  msgstr ""
2764
 
2765
- #: ../shared/classes/class.form.php:1134
2766
  msgid "Poland"
2767
  msgstr ""
2768
 
2769
- #: ../shared/classes/class.form.php:1135
2770
  msgid "PT"
2771
  msgstr ""
2772
 
2773
- #: ../shared/classes/class.form.php:1135
2774
  msgid "Portugal"
2775
  msgstr ""
2776
 
2777
- #: ../shared/classes/class.form.php:1136
2778
  msgid "PR"
2779
  msgstr ""
2780
 
2781
- #: ../shared/classes/class.form.php:1136
2782
  msgid "Puerto Rico"
2783
  msgstr ""
2784
 
2785
- #: ../shared/classes/class.form.php:1137
2786
  msgid "QA"
2787
  msgstr ""
2788
 
2789
- #: ../shared/classes/class.form.php:1137
2790
  msgid "Qatar"
2791
  msgstr ""
2792
 
2793
- #: ../shared/classes/class.form.php:1138
2794
  msgid "RE"
2795
  msgstr ""
2796
 
2797
- #: ../shared/classes/class.form.php:1138
2798
  msgid "Reunion"
2799
  msgstr ""
2800
 
2801
- #: ../shared/classes/class.form.php:1139
2802
  msgid "RO"
2803
  msgstr ""
2804
 
2805
- #: ../shared/classes/class.form.php:1139
2806
  msgid "Romania"
2807
  msgstr ""
2808
 
2809
- #: ../shared/classes/class.form.php:1140
2810
  msgid "RU"
2811
  msgstr ""
2812
 
2813
- #: ../shared/classes/class.form.php:1140
2814
  msgid "Russian Federation"
2815
  msgstr ""
2816
 
2817
- #: ../shared/classes/class.form.php:1141
2818
  msgid "RW"
2819
  msgstr ""
2820
 
2821
- #: ../shared/classes/class.form.php:1141
2822
  msgid "Rwanda"
2823
  msgstr ""
2824
 
2825
- #: ../shared/classes/class.form.php:1142
2826
  msgid "BL"
2827
  msgstr ""
2828
 
2829
- #: ../shared/classes/class.form.php:1142
2830
  msgid "Saint Barthelemy"
2831
  msgstr ""
2832
 
2833
- #: ../shared/classes/class.form.php:1143
2834
  msgid "SH"
2835
  msgstr ""
2836
 
2837
- #: ../shared/classes/class.form.php:1143
2838
  msgid "Saint Helena"
2839
  msgstr ""
2840
 
2841
- #: ../shared/classes/class.form.php:1144
2842
  msgid "KN"
2843
  msgstr ""
2844
 
2845
- #: ../shared/classes/class.form.php:1144
2846
  msgid "Saint Kitts and Nevis"
2847
  msgstr ""
2848
 
2849
- #: ../shared/classes/class.form.php:1145
2850
  msgid "LC"
2851
  msgstr ""
2852
 
2853
- #: ../shared/classes/class.form.php:1145
2854
  msgid "Saint Lucia"
2855
  msgstr ""
2856
 
2857
- #: ../shared/classes/class.form.php:1146
2858
  msgid "VC"
2859
  msgstr ""
2860
 
2861
- #: ../shared/classes/class.form.php:1146
2862
  msgid "Saint Vincent and the Grenadines"
2863
  msgstr ""
2864
 
2865
- #: ../shared/classes/class.form.php:1147
2866
  msgid "MF"
2867
  msgstr ""
2868
 
2869
- #: ../shared/classes/class.form.php:1147
2870
  msgid "Saint-Martin (France)"
2871
  msgstr ""
2872
 
2873
- #: ../shared/classes/class.form.php:1148
2874
  msgid "SX"
2875
  msgstr ""
2876
 
2877
- #: ../shared/classes/class.form.php:1148
2878
  msgid "Saint-Martin (Pays-Bas)"
2879
  msgstr ""
2880
 
2881
- #: ../shared/classes/class.form.php:1149
2882
  msgid "WS"
2883
  msgstr ""
2884
 
2885
- #: ../shared/classes/class.form.php:1149
2886
  msgid "Samoa"
2887
  msgstr ""
2888
 
2889
- #: ../shared/classes/class.form.php:1150
2890
  msgid "SM"
2891
  msgstr ""
2892
 
2893
- #: ../shared/classes/class.form.php:1150
2894
  msgid "San Marino"
2895
  msgstr ""
2896
 
2897
- #: ../shared/classes/class.form.php:1151
2898
  msgid "ST"
2899
  msgstr ""
2900
 
2901
- #: ../shared/classes/class.form.php:1151
2902
  msgid "Sao Tome and Principe"
2903
  msgstr ""
2904
 
2905
- #: ../shared/classes/class.form.php:1152
2906
  msgid "SA"
2907
  msgstr ""
2908
 
2909
- #: ../shared/classes/class.form.php:1152
2910
  msgid "Saudi Arabia"
2911
  msgstr ""
2912
 
2913
- #: ../shared/classes/class.form.php:1153
2914
  msgid "SN"
2915
  msgstr ""
2916
 
2917
- #: ../shared/classes/class.form.php:1153
2918
  msgid "Senegal"
2919
  msgstr ""
2920
 
2921
- #: ../shared/classes/class.form.php:1154
2922
  msgid "RS"
2923
  msgstr ""
2924
 
2925
- #: ../shared/classes/class.form.php:1154
2926
  msgid "Serbia"
2927
  msgstr ""
2928
 
2929
- #: ../shared/classes/class.form.php:1155
2930
  msgid "SC"
2931
  msgstr ""
2932
 
2933
- #: ../shared/classes/class.form.php:1155
2934
  msgid "Seychelles"
2935
  msgstr ""
2936
 
2937
- #: ../shared/classes/class.form.php:1156
2938
  msgid "SL"
2939
  msgstr ""
2940
 
2941
- #: ../shared/classes/class.form.php:1156
2942
  msgid "Sierra Leone"
2943
  msgstr ""
2944
 
2945
- #: ../shared/classes/class.form.php:1157
2946
  msgid "SG"
2947
  msgstr ""
2948
 
2949
- #: ../shared/classes/class.form.php:1157
2950
  msgid "Singapore"
2951
  msgstr ""
2952
 
2953
- #: ../shared/classes/class.form.php:1158
2954
  msgid "SK"
2955
  msgstr ""
2956
 
2957
- #: ../shared/classes/class.form.php:1158
2958
  msgid "Slovakia (Slovak Republic)"
2959
  msgstr ""
2960
 
2961
- #: ../shared/classes/class.form.php:1159
2962
  msgid "SI"
2963
  msgstr ""
2964
 
2965
- #: ../shared/classes/class.form.php:1159
2966
  msgid "Slovenia"
2967
  msgstr ""
2968
 
2969
- #: ../shared/classes/class.form.php:1160
2970
  msgid "SB"
2971
  msgstr ""
2972
 
2973
- #: ../shared/classes/class.form.php:1160
2974
  msgid "Solomon Islands"
2975
  msgstr ""
2976
 
2977
- #: ../shared/classes/class.form.php:1161
2978
  msgid "SO"
2979
  msgstr ""
2980
 
2981
- #: ../shared/classes/class.form.php:1161
2982
  msgid "Somalia"
2983
  msgstr ""
2984
 
2985
- #: ../shared/classes/class.form.php:1162
2986
  msgid "ZA"
2987
  msgstr ""
2988
 
2989
- #: ../shared/classes/class.form.php:1162
2990
  msgid "South Africa"
2991
  msgstr ""
2992
 
2993
- #: ../shared/classes/class.form.php:1163
2994
  msgid "GS"
2995
  msgstr ""
2996
 
2997
- #: ../shared/classes/class.form.php:1163
2998
  msgid "South Georgia and the South Sandwich Islands"
2999
  msgstr ""
3000
 
3001
- #: ../shared/classes/class.form.php:1164
3002
  msgid "KR"
3003
  msgstr ""
3004
 
3005
- #: ../shared/classes/class.form.php:1164
3006
  msgid "South Korea"
3007
  msgstr ""
3008
 
3009
- #: ../shared/classes/class.form.php:1165
3010
  msgid "SS"
3011
  msgstr ""
3012
 
3013
- #: ../shared/classes/class.form.php:1165
3014
  msgid "South Sudan"
3015
  msgstr ""
3016
 
3017
- #: ../shared/classes/class.form.php:1166
3018
  msgid "ES"
3019
  msgstr ""
3020
 
3021
- #: ../shared/classes/class.form.php:1166
3022
  msgid "Spain"
3023
  msgstr ""
3024
 
3025
- #: ../shared/classes/class.form.php:1167
3026
  msgid "LK"
3027
  msgstr ""
3028
 
3029
- #: ../shared/classes/class.form.php:1167
3030
  msgid "Sri Lanka"
3031
  msgstr ""
3032
 
3033
- #: ../shared/classes/class.form.php:1168
3034
  msgid "PM"
3035
  msgstr ""
3036
 
3037
- #: ../shared/classes/class.form.php:1168
3038
  msgid "St. Pierre and Miquelon"
3039
  msgstr ""
3040
 
3041
- #: ../shared/classes/class.form.php:1169
3042
  msgid "SD"
3043
  msgstr ""
3044
 
3045
- #: ../shared/classes/class.form.php:1169
3046
  msgid "Sudan"
3047
  msgstr ""
3048
 
3049
- #: ../shared/classes/class.form.php:1170
3050
  msgid "SR"
3051
  msgstr ""
3052
 
3053
- #: ../shared/classes/class.form.php:1170
3054
  msgid "Suriname"
3055
  msgstr ""
3056
 
3057
- #: ../shared/classes/class.form.php:1171
3058
  msgid "SJ"
3059
  msgstr ""
3060
 
3061
- #: ../shared/classes/class.form.php:1171
3062
  msgid "Svalbard and Jan Mayen Islands"
3063
  msgstr ""
3064
 
3065
- #: ../shared/classes/class.form.php:1172
3066
  msgid "SZ"
3067
  msgstr ""
3068
 
3069
- #: ../shared/classes/class.form.php:1172
3070
  msgid "Swaziland"
3071
  msgstr ""
3072
 
3073
- #: ../shared/classes/class.form.php:1173
3074
  msgid "SE"
3075
  msgstr ""
3076
 
3077
- #: ../shared/classes/class.form.php:1173
3078
  msgid "Sweden"
3079
  msgstr ""
3080
 
3081
- #: ../shared/classes/class.form.php:1174
3082
  msgid "CH"
3083
  msgstr ""
3084
 
3085
- #: ../shared/classes/class.form.php:1174
3086
  msgid "Switzerland"
3087
  msgstr ""
3088
 
3089
- #: ../shared/classes/class.form.php:1175
3090
  msgid "SY"
3091
  msgstr ""
3092
 
3093
- #: ../shared/classes/class.form.php:1175
3094
  msgid "Syria"
3095
  msgstr ""
3096
 
3097
- #: ../shared/classes/class.form.php:1176
3098
  msgid "TW"
3099
  msgstr ""
3100
 
3101
- #: ../shared/classes/class.form.php:1176
3102
  msgid "Taiwan"
3103
  msgstr ""
3104
 
3105
- #: ../shared/classes/class.form.php:1177
3106
  msgid "TJ"
3107
  msgstr ""
3108
 
3109
- #: ../shared/classes/class.form.php:1177
3110
  msgid "Tajikistan"
3111
  msgstr ""
3112
 
3113
- #: ../shared/classes/class.form.php:1178
3114
  msgid "TZ"
3115
  msgstr ""
3116
 
3117
- #: ../shared/classes/class.form.php:1178
3118
  msgid "Tanzania"
3119
  msgstr ""
3120
 
3121
- #: ../shared/classes/class.form.php:1179
3122
  msgid "TH"
3123
  msgstr ""
3124
 
3125
- #: ../shared/classes/class.form.php:1179
3126
  msgid "Thailand"
3127
  msgstr ""
3128
 
3129
- #: ../shared/classes/class.form.php:1180
3130
  msgid "NL"
3131
  msgstr ""
3132
 
3133
- #: ../shared/classes/class.form.php:1180
3134
  msgid "The Netherlands"
3135
  msgstr ""
3136
 
3137
- #: ../shared/classes/class.form.php:1181
3138
  msgid "TL"
3139
  msgstr ""
3140
 
3141
- #: ../shared/classes/class.form.php:1181
3142
  msgid "Timor-Leste"
3143
  msgstr ""
3144
 
3145
- #: ../shared/classes/class.form.php:1182
3146
  msgid "TG"
3147
  msgstr ""
3148
 
3149
- #: ../shared/classes/class.form.php:1182
3150
  msgid "Togo"
3151
  msgstr ""
3152
 
3153
- #: ../shared/classes/class.form.php:1183
3154
  msgid "TK"
3155
  msgstr ""
3156
 
3157
- #: ../shared/classes/class.form.php:1183
3158
  msgid "Tokelau"
3159
  msgstr ""
3160
 
3161
- #: ../shared/classes/class.form.php:1184
3162
  msgid "TO"
3163
  msgstr ""
3164
 
3165
- #: ../shared/classes/class.form.php:1184
3166
  msgid "Tonga"
3167
  msgstr ""
3168
 
3169
- #: ../shared/classes/class.form.php:1185
3170
  msgid "TT"
3171
  msgstr ""
3172
 
3173
- #: ../shared/classes/class.form.php:1185
3174
  msgid "Trinidad and Tobago"
3175
  msgstr ""
3176
 
3177
- #: ../shared/classes/class.form.php:1186
3178
  msgid "TN"
3179
  msgstr ""
3180
 
3181
- #: ../shared/classes/class.form.php:1186
3182
  msgid "Tunisia"
3183
  msgstr ""
3184
 
3185
- #: ../shared/classes/class.form.php:1187
3186
  msgid "TR"
3187
  msgstr ""
3188
 
3189
- #: ../shared/classes/class.form.php:1187
3190
  msgid "Turkey"
3191
  msgstr ""
3192
 
3193
- #: ../shared/classes/class.form.php:1188
3194
  msgid "TM"
3195
  msgstr ""
3196
 
3197
- #: ../shared/classes/class.form.php:1188
3198
  msgid "Turkmenistan"
3199
  msgstr ""
3200
 
3201
- #: ../shared/classes/class.form.php:1189
3202
  msgid "TC"
3203
  msgstr ""
3204
 
3205
- #: ../shared/classes/class.form.php:1189
3206
  msgid "Turks and Caicos Islands"
3207
  msgstr ""
3208
 
3209
- #: ../shared/classes/class.form.php:1190
3210
  msgid "TV"
3211
  msgstr ""
3212
 
3213
- #: ../shared/classes/class.form.php:1190
3214
  msgid "Tuvalu"
3215
  msgstr ""
3216
 
3217
- #: ../shared/classes/class.form.php:1191
3218
  msgid "UG"
3219
  msgstr ""
3220
 
3221
- #: ../shared/classes/class.form.php:1191
3222
  msgid "Uganda"
3223
  msgstr ""
3224
 
3225
- #: ../shared/classes/class.form.php:1192
3226
  msgid "UA"
3227
  msgstr ""
3228
 
3229
- #: ../shared/classes/class.form.php:1192
3230
  msgid "Ukraine"
3231
  msgstr ""
3232
 
3233
- #: ../shared/classes/class.form.php:1193
3234
  msgid "AE"
3235
  msgstr ""
3236
 
3237
- #: ../shared/classes/class.form.php:1193
3238
  msgid "United Arab Emirates"
3239
  msgstr ""
3240
 
3241
- #: ../shared/classes/class.form.php:1194
3242
  msgid "GB"
3243
  msgstr ""
3244
 
3245
- #: ../shared/classes/class.form.php:1194
3246
  msgid "United Kingdom"
3247
  msgstr ""
3248
 
3249
- #: ../shared/classes/class.form.php:1195
3250
  msgid "US"
3251
  msgstr ""
3252
 
3253
- #: ../shared/classes/class.form.php:1195
3254
  msgid "United States"
3255
  msgstr ""
3256
 
3257
- #: ../shared/classes/class.form.php:1196
3258
  msgid "UM"
3259
  msgstr ""
3260
 
3261
- #: ../shared/classes/class.form.php:1196
3262
  msgid "United States Minor Outlying Islands"
3263
  msgstr ""
3264
 
3265
- #: ../shared/classes/class.form.php:1197
3266
  msgid "UY"
3267
  msgstr ""
3268
 
3269
- #: ../shared/classes/class.form.php:1197
3270
  msgid "Uruguay"
3271
  msgstr ""
3272
 
3273
- #: ../shared/classes/class.form.php:1198
3274
  msgid "UZ"
3275
  msgstr ""
3276
 
3277
- #: ../shared/classes/class.form.php:1198
3278
  msgid "Uzbekistan"
3279
  msgstr ""
3280
 
3281
- #: ../shared/classes/class.form.php:1199
3282
  msgid "VU"
3283
  msgstr ""
3284
 
3285
- #: ../shared/classes/class.form.php:1199
3286
  msgid "Vanuatu"
3287
  msgstr ""
3288
 
3289
- #: ../shared/classes/class.form.php:1200
3290
  msgid "VA"
3291
  msgstr ""
3292
 
3293
- #: ../shared/classes/class.form.php:1200
3294
  msgid "Vatican"
3295
  msgstr ""
3296
 
3297
- #: ../shared/classes/class.form.php:1201
3298
  msgid "VE"
3299
  msgstr ""
3300
 
3301
- #: ../shared/classes/class.form.php:1201
3302
  msgid "Venezuela"
3303
  msgstr ""
3304
 
3305
- #: ../shared/classes/class.form.php:1202
3306
  msgid "VN"
3307
  msgstr ""
3308
 
3309
- #: ../shared/classes/class.form.php:1202
3310
  msgid "Vietnam"
3311
  msgstr ""
3312
 
3313
- #: ../shared/classes/class.form.php:1203
3314
  msgid "VG"
3315
  msgstr ""
3316
 
3317
- #: ../shared/classes/class.form.php:1203
3318
  msgid "Virgin Islands (British)"
3319
  msgstr ""
3320
 
3321
- #: ../shared/classes/class.form.php:1204
3322
  msgid "VI"
3323
  msgstr ""
3324
 
3325
- #: ../shared/classes/class.form.php:1204
3326
  msgid "Virgin Islands (U.S.)"
3327
  msgstr ""
3328
 
3329
- #: ../shared/classes/class.form.php:1205
3330
  msgid "WF"
3331
  msgstr ""
3332
 
3333
- #: ../shared/classes/class.form.php:1205
3334
- msgid "Wallis and Futuna Islands"
3335
- msgstr ""
3336
-
3337
- #: ../shared/classes/class.form.php:1206
3338
- msgid "EH"
3339
- msgstr ""
3340
-
3341
- #: ../shared/classes/class.form.php:1206
3342
- msgid "Western Sahara"
3343
- msgstr ""
3344
-
3345
- #: ../shared/classes/class.form.php:1207
3346
- msgid "YE"
3347
- msgstr ""
3348
-
3349
- #: ../shared/classes/class.form.php:1207
3350
- msgid "Yemen"
3351
- msgstr ""
3352
-
3353
- #: ../shared/classes/class.form.php:1208
3354
- msgid "ZM"
3355
- msgstr ""
3356
-
3357
- #: ../shared/classes/class.form.php:1208
3358
- msgid "Zambia"
3359
- msgstr ""
3360
-
3361
- #: ../shared/classes/class.form.php:1209
3362
- msgid "ZW"
3363
- msgstr ""
3364
-
3365
- #: ../shared/classes/class.form.php:1209
3366
- msgid "Zimbabwe"
3367
- msgstr ""
3368
-
3369
- #: ../shared/classes/class.inbound-api.api-keys-table.php:49
3370
- msgid "API Key"
3371
- msgstr ""
3372
-
3373
- #: ../shared/classes/class.inbound-api.api-keys-table.php:50
3374
- msgid "API Keys"
3375
- msgstr ""
3376
-
3377
- #: ../shared/classes/class.inbound-api.api-keys-table.php:73
3378
- msgid "Are you sure you want to revoke permissions for this API Key?"
3379
- msgstr ""
3380
-
3381
- #: ../shared/classes/class.inbound-api.api-keys-table.php:78
3382
- msgid "Are you sure you want to regenerate API Keys for this user?"
3383
- msgstr ""
3384
-
3385
- #: ../shared/classes/class.inbound-api.api-keys-table.php:124
3386
- msgid "Reissue"
3387
- msgstr ""
3388
-
3389
- #: ../shared/classes/class.inbound-api.api-keys-table.php:129
3390
- msgid "Revoke"
3391
- msgstr ""
3392
-
3393
- #: ../shared/classes/class.inbound-api.api-keys-table.php:146
3394
- #: ../shared/templates/email-templates/wp-new-user-notification/wp-new-user-notification.php:48
3395
- msgid "Username"
3396
- msgstr ""
3397
-
3398
- #: ../shared/classes/class.inbound-api.api-keys-table.php:147
3399
- msgid "Public Key"
3400
- msgstr ""
3401
-
3402
- #: ../shared/classes/class.inbound-api.api-keys-table.php:148
3403
- msgid "Secret Key"
3404
- msgstr ""
3405
-
3406
- #: ../shared/classes/class.inbound-api.api-keys-table.php:149
3407
- msgid "Token"
3408
- msgstr ""
3409
-
3410
- #: ../shared/classes/class.inbound-api.api-keys-table.php:171
3411
- msgid "Enter User ID"
3412
- msgstr ""
3413
-
3414
- #: ../shared/classes/class.inbound-api.api-keys-table.php:172
3415
- msgid "Generate New API Keys"
3416
- msgstr ""
3417
-
3418
- #: ../shared/classes/class.inbound-api.api-keys-table.php:173
3419
- msgid "View Documentation"
3420
- msgstr ""
3421
-
3422
- #: ../shared/classes/class.inbound-api.php:226
3423
- msgid "You must specify both a token and API key!"
3424
- msgstr ""
3425
-
3426
- #: ../shared/classes/class.inbound-api.php:241
3427
- msgid "Your request could not be authenticated! (check your token)"
3428
- msgstr ""
3429
-
3430
- #: ../shared/classes/class.inbound-api.php:256
3431
- msgid "Invalid API key!"
3432
- msgstr ""
3433
-
3434
- #: ../shared/classes/class.inbound-api.php:277
3435
- #, php-format
3436
- msgid ""
3437
- "Invalid parameter provided. Expecting a %1$s for '%2$s' while a field type "
3438
- "with %3$s was provided"
3439
- msgstr ""
3440
-
3441
- #: ../shared/classes/class.inbound-api.php:291
3442
- #, php-format
3443
- msgid ""
3444
- "Invalid parameter provided. Expecting %1$s for %2$s the %3$s was provided"
3445
- msgstr ""
3446
-
3447
- #: ../shared/classes/class.inbound-api.php:433
3448
- msgid "Invalid endpoint: "
3449
- msgstr ""
3450
-
3451
- #: ../shared/classes/class.inbound-api.php:718
3452
- msgid "No leads were found given this query."
3453
- msgstr ""
3454
-
3455
- #: ../shared/classes/class.inbound-api.php:912
3456
- msgid "Lead already exists."
3457
- msgstr ""
3458
-
3459
- #: ../shared/classes/class.inbound-api.php:976
3460
- #: ../shared/classes/class.inbound-api.php:1085
3461
- msgid "Valid ID or email address not set."
3462
- msgstr ""
3463
-
3464
- #: ../shared/classes/class.inbound-api.php:1094
3465
- msgid "Lead successfully deleted"
3466
- msgstr ""
3467
-
3468
- #: ../shared/classes/class.inbound-api.php:1174
3469
- #: ../shared/classes/class.inbound-api.php:1216
3470
- msgid "This endpoint requires that the 'id' be set."
3471
- msgstr ""
3472
-
3473
- #: ../shared/classes/class.inbound-api.php:1283
3474
- msgid ""
3475
- "This endpoint requires either the 'id' or the 'email' or the 'cta_id' "
3476
- "parameter be set."
3477
- msgstr ""
3478
-
3479
- #: ../shared/classes/class.inbound-api.php:1290
3480
- msgid "This endpoint requires the 'url' parameter be set."
3481
- msgstr ""
3482
-
3483
- #: ../shared/classes/class.inbound-api.php:1297
3484
- msgid "This endpoint requires the 'tracking_id' parameter be set."
3485
- msgstr ""
3486
-
3487
- #: ../shared/classes/class.lead-fields.php:14
3488
- #: ../shared/templates/email-templates/token-test/token-test.php:14
3489
- msgid "First Name"
3490
- msgstr ""
3491
-
3492
- #: ../shared/classes/class.lead-fields.php:21
3493
- #: ../shared/templates/email-templates/token-test/token-test.php:15
3494
- msgid "Last Name"
3495
- msgstr ""
3496
-
3497
- #: ../shared/classes/class.lead-fields.php:28
3498
- #: ../shared/classes/class.menu.php:327
3499
- #: ../shared/classes/class.menus.adminbar.php:331
3500
- #: ../shared/templates/email-templates/token-test/token-test.php:16
3501
- msgid "Email"
3502
- msgstr ""
3503
-
3504
- #: ../shared/classes/class.lead-fields.php:35
3505
- msgid "Website"
3506
- msgstr ""
3507
-
3508
- #: ../shared/classes/class.lead-fields.php:42
3509
- msgid "Job Title"
3510
- msgstr ""
3511
-
3512
- #: ../shared/classes/class.lead-fields.php:49
3513
- #: ../shared/templates/email-templates/token-test/token-test.php:17
3514
- msgid "Company Name"
3515
- msgstr ""
3516
-
3517
- #: ../shared/classes/class.lead-fields.php:56
3518
- msgid "Mobile Phone"
3519
- msgstr ""
3520
-
3521
- #: ../shared/classes/class.lead-fields.php:63
3522
- msgid "Work Phone"
3523
- msgstr ""
3524
-
3525
- #: ../shared/classes/class.lead-fields.php:70
3526
- #: ../shared/shortcodes/shortcodes/gmap.php:31
3527
- msgid "Address"
3528
- msgstr ""
3529
-
3530
- #: ../shared/classes/class.lead-fields.php:77
3531
- msgid "Address Continued"
3532
- msgstr ""
3533
-
3534
- #: ../shared/classes/class.lead-fields.php:91
3535
- #: ../shared/templates/email-templates/token-test/token-test.php:21
3536
- msgid "State/Region"
3537
- msgstr ""
3538
-
3539
- #: ../shared/classes/class.lead-fields.php:98
3540
- msgid "Zip-code"
3541
- msgstr ""
3542
-
3543
- #: ../shared/classes/class.lead-fields.php:105
3544
- msgid "Country"
3545
- msgstr ""
3546
-
3547
- #: ../shared/classes/class.lead-fields.php:112
3548
- msgid "Billing First Name"
3549
- msgstr ""
3550
-
3551
- #: ../shared/classes/class.lead-fields.php:119
3552
- msgid "Billing Last Name"
3553
- msgstr ""
3554
-
3555
- #: ../shared/classes/class.lead-fields.php:126
3556
- msgid "Billing Company"
3557
- msgstr ""
3558
-
3559
- #: ../shared/classes/class.lead-fields.php:133
3560
- msgid "Billing Address"
3561
- msgstr ""
3562
-
3563
- #: ../shared/classes/class.lead-fields.php:140
3564
- msgid "Billing Address Continued"
3565
- msgstr ""
3566
-
3567
- #: ../shared/classes/class.lead-fields.php:147
3568
- msgid "Billing City"
3569
- msgstr ""
3570
-
3571
- #: ../shared/classes/class.lead-fields.php:154
3572
- msgid "Billing State/Region"
3573
- msgstr ""
3574
-
3575
- #: ../shared/classes/class.lead-fields.php:161
3576
- msgid "Billing Zip-code"
3577
- msgstr ""
3578
-
3579
- #: ../shared/classes/class.lead-fields.php:169
3580
- msgid "Billing Country"
3581
  msgstr ""
3582
 
3583
- #: ../shared/classes/class.lead-fields.php:176
3584
- msgid "Shipping First Name"
3585
  msgstr ""
3586
 
3587
- #: ../shared/classes/class.lead-fields.php:183
3588
- msgid "Shipping Last Name"
3589
  msgstr ""
3590
 
3591
- #: ../shared/classes/class.lead-fields.php:190
3592
- msgid "Shipping Company Name"
3593
  msgstr ""
3594
 
3595
- #: ../shared/classes/class.lead-fields.php:197
3596
- msgid "Shipping Address"
3597
  msgstr ""
3598
 
3599
- #: ../shared/classes/class.lead-fields.php:204
3600
- msgid "Shipping Address Continued"
3601
  msgstr ""
3602
 
3603
- #: ../shared/classes/class.lead-fields.php:211
3604
- msgid "Shipping City"
3605
  msgstr ""
3606
 
3607
- #: ../shared/classes/class.lead-fields.php:218
3608
- msgid "Shipping State/Region"
3609
  msgstr ""
3610
 
3611
- #: ../shared/classes/class.lead-fields.php:225
3612
- msgid "Shipping Zip-code"
3613
  msgstr ""
3614
 
3615
- #: ../shared/classes/class.lead-fields.php:232
3616
- msgid "Shipping Country"
3617
  msgstr ""
3618
 
3619
- #: ../shared/classes/class.lead-fields.php:239
3620
- msgid "Related Websites"
3621
  msgstr ""
3622
 
3623
- #: ../shared/classes/class.lead-fields.php:253
3624
- msgid "Twitter Account"
 
3625
  msgstr ""
3626
 
3627
- #: ../shared/classes/class.lead-fields.php:260
3628
- msgid "Youtube Account"
3629
  msgstr ""
3630
 
3631
- #: ../shared/classes/class.lead-fields.php:267
3632
- msgid "Facebook Account"
3633
  msgstr ""
3634
 
3635
- #: ../shared/classes/class.lead-fields.php:308
3636
- msgid "text"
 
3637
  msgstr ""
3638
 
3639
- #: ../shared/classes/class.lead-fields.php:309
3640
- msgid "textarea"
3641
  msgstr ""
3642
 
3643
- #: ../shared/classes/class.lead-fields.php:310
3644
- msgid "radio"
3645
  msgstr ""
3646
 
3647
- #: ../shared/classes/class.lead-fields.php:311
3648
- msgid "chekcbox"
3649
  msgstr ""
3650
 
3651
- #: ../shared/classes/class.lead-fields.php:312
3652
- msgid "dropdown"
3653
  msgstr ""
3654
 
3655
- #: ../shared/classes/class.lead-fields.php:313
3656
- msgid "dropdown-country"
3657
  msgstr ""
3658
 
3659
- #: ../shared/classes/class.lead-fields.php:314
3660
- msgid "links"
3661
  msgstr ""
3662
 
3663
- #: ../shared/classes/class.lead-fields.php:315
3664
- msgid "wysiwyg"
3665
  msgstr ""
3666
 
3667
- #: ../shared/classes/class.lead-fields.php:316
3668
- msgid "media"
3669
  msgstr ""
3670
 
3671
- #: ../shared/classes/class.master-license.php:30
3672
- #: ../shared/classes/class.master-license.php:39
3673
- msgid ""
3674
- "Head to http://www.inboundnow.com/ to retrieve your extension-ready license "
3675
- "key."
3676
  msgstr ""
3677
 
3678
- #: ../shared/classes/class.master-license.php:32
3679
- msgid "InboundNow Master Key"
3680
  msgstr ""
3681
 
3682
- #: ../shared/classes/class.master-license.php:38
3683
- msgid "InboundNow Master License Key"
3684
  msgstr ""
3685
 
3686
- #: ../shared/classes/class.menu.php:23
3687
- #: ../shared/classes/class.menus.adminbar.php:23
3688
  msgid "GO"
3689
  msgstr ""
3690
 
3691
- #: ../shared/classes/class.menu.php:70
3692
- #: ../shared/classes/class.menus.adminbar.php:74
3693
  msgid " Marketing"
3694
  msgstr ""
3695
 
3696
- #: ../shared/classes/class.menu.php:148
3697
- #: ../shared/classes/class.menus.adminbar.php:152
3698
  msgid "Leads"
3699
  msgstr ""
3700
 
3701
- #: ../shared/classes/class.menu.php:154
3702
- #: ../shared/classes/class.menus.adminbar.php:158
3703
  msgid "Search All Leads"
3704
  msgstr ""
3705
 
3706
- #: ../shared/classes/class.menu.php:169
3707
- #: ../shared/classes/class.menus.adminbar.php:173
3708
  msgid "View All Leads"
3709
  msgstr ""
3710
 
3711
- #: ../shared/classes/class.menu.php:171 ../shared/classes/class.menu.php:410
3712
- #: ../shared/classes/class.menu.php:412
3713
- #: ../shared/classes/class.menus.adminbar.php:175
3714
- #: ../shared/classes/class.menus.adminbar.php:414
3715
- #: ../shared/classes/class.menus.adminbar.php:416
3716
  msgid "View All Forms"
3717
  msgstr ""
3718
 
3719
- #: ../shared/classes/class.menu.php:177 ../shared/classes/class.menu.php:179
3720
- #: ../shared/classes/class.menus.adminbar.php:181
3721
- #: ../shared/classes/class.menus.adminbar.php:183
3722
  msgid "View Lead Lists"
3723
  msgstr ""
3724
 
3725
- #: ../shared/classes/class.menu.php:185
3726
- #: ../shared/classes/class.menus.adminbar.php:189
3727
  msgid "Create New Lead"
3728
  msgstr ""
3729
 
3730
- #: ../shared/classes/class.menu.php:187
3731
- #: ../shared/classes/class.menus.adminbar.php:191
3732
  msgid "Add new lead"
3733
  msgstr ""
3734
 
3735
- #: ../shared/classes/class.menu.php:210
3736
- #: ../shared/classes/class.menus.adminbar.php:214
3737
  msgid "Call to Actions"
3738
  msgstr ""
3739
 
3740
- #: ../shared/classes/class.menu.php:212 ../shared/classes/class.menu.php:220
3741
- #: ../shared/classes/class.menu.php:271 ../shared/classes/class.menu.php:279
3742
- #: ../shared/classes/class.menus.adminbar.php:216
3743
- #: ../shared/classes/class.menus.adminbar.php:224
3744
- #: ../shared/classes/class.menus.adminbar.php:275
3745
- #: ../shared/classes/class.menus.adminbar.php:283
3746
  msgid "View All Landing Pages"
3747
  msgstr ""
3748
 
3749
- #: ../shared/classes/class.menu.php:218
3750
- #: ../shared/classes/class.menus.adminbar.php:222
3751
  msgid "View Calls to Action List"
3752
  msgstr ""
3753
 
3754
- #: ../shared/classes/class.menu.php:226
3755
- #: ../shared/classes/class.menus.adminbar.php:230
3756
  msgid "Add New Call to Action"
3757
  msgstr ""
3758
 
3759
- #: ../shared/classes/class.menu.php:228 ../shared/classes/class.menu.php:432
3760
- #: ../shared/classes/class.menus.adminbar.php:232
3761
- #: ../shared/classes/class.menus.adminbar.php:436
3762
  msgid "Add new call to action"
3763
  msgstr ""
3764
 
3765
- #: ../shared/classes/class.menu.php:236 ../shared/classes/class.menu.php:295
3766
- #: ../shared/classes/class.menus.adminbar.php:240
3767
- #: ../shared/classes/class.menus.adminbar.php:299
3768
  msgid "Landing Page Categories"
3769
  msgstr ""
3770
 
3771
- #: ../shared/classes/class.menu.php:243 ../shared/classes/class.menu.php:302
3772
- #: ../shared/classes/class.menus.adminbar.php:247
3773
- #: ../shared/classes/class.menus.adminbar.php:306
3774
  msgid "Settings"
3775
  msgstr ""
3776
 
3777
- #: ../shared/classes/class.menu.php:245
3778
- #: ../shared/classes/class.menus.adminbar.php:249
3779
  msgid "Manage Call to Action Settings"
3780
  msgstr ""
3781
 
3782
- #: ../shared/classes/class.menu.php:269
3783
- #: ../shared/classes/class.menus.adminbar.php:273
3784
  msgid "Landing Pages"
3785
  msgstr ""
3786
 
3787
- #: ../shared/classes/class.menu.php:277
3788
- #: ../shared/classes/class.menus.adminbar.php:281
3789
  msgid "View Landing Pages List"
3790
  msgstr ""
3791
 
3792
- #: ../shared/classes/class.menu.php:287
3793
- #: ../shared/classes/class.menus.adminbar.php:291
3794
  msgid "Add new Landing Page"
3795
  msgstr ""
3796
 
3797
- #: ../shared/classes/class.menu.php:304
3798
- #: ../shared/classes/class.menus.adminbar.php:308
3799
  msgid "Manage Landing Page Settings"
3800
  msgstr ""
3801
 
3802
- #: ../shared/classes/class.menu.php:329 ../shared/classes/class.menu.php:337
3803
- #: ../shared/classes/class.menus.adminbar.php:333
3804
- #: ../shared/classes/class.menus.adminbar.php:341
3805
- msgid "View All E-Mails"
3806
- msgstr ""
3807
-
3808
  #: ../shared/classes/class.menu.php:335
3809
- #: ../shared/classes/class.menus.adminbar.php:339
3810
- msgid "View Email List"
3811
- msgstr ""
3812
-
3813
- #: ../shared/classes/class.menu.php:343
3814
- #: ../shared/classes/class.menus.adminbar.php:347
3815
- msgid "Create New eMail"
3816
- msgstr ""
3817
-
3818
- #: ../shared/classes/class.menu.php:345
3819
- #: ../shared/classes/class.menus.adminbar.php:349
3820
- msgid "Create New E-Mail"
3821
- msgstr ""
3822
-
3823
- #: ../shared/classes/class.menu.php:366
3824
- #: ../shared/classes/class.menus.adminbar.php:370
3825
- msgid "Automation"
3826
- msgstr ""
3827
-
3828
- #: ../shared/classes/class.menu.php:368 ../shared/classes/class.menu.php:376
3829
- #: ../shared/classes/class.menus.adminbar.php:372
3830
- #: ../shared/classes/class.menus.adminbar.php:380
3831
- msgid "View All Rules"
3832
- msgstr ""
3833
-
3834
- #: ../shared/classes/class.menu.php:374
3835
- #: ../shared/classes/class.menus.adminbar.php:378
3836
- msgid "View Rules"
3837
- msgstr ""
3838
-
3839
- #: ../shared/classes/class.menu.php:382 ../shared/classes/class.menu.php:384
3840
- #: ../shared/classes/class.menus.adminbar.php:386
3841
- #: ../shared/classes/class.menus.adminbar.php:388
3842
- msgid "Create New Rule"
3843
- msgstr ""
3844
-
3845
- #: ../shared/classes/class.menu.php:430
3846
- #: ../shared/classes/class.menus.adminbar.php:434
3847
- #: ../shared/shortcodes/shortcodes/forms.php:353
3848
  msgid "Create New Form"
3849
  msgstr ""
3850
 
3851
- #: ../shared/classes/class.menu.php:457 ../shared/classes/class.menu.php:459
3852
- #: ../shared/classes/class.menus.adminbar.php:461
3853
- #: ../shared/classes/class.menus.adminbar.php:463
3854
  msgid "Download More Templates"
3855
  msgstr ""
3856
 
3857
- #: ../shared/classes/class.menu.php:476 ../shared/classes/class.menu.php:478
3858
- #: ../shared/classes/class.menus.adminbar.php:480
3859
- #: ../shared/classes/class.menus.adminbar.php:482
3860
  msgid "Call to Action Templates"
3861
  msgstr ""
3862
 
3863
- #: ../shared/classes/class.menu.php:501 ../shared/classes/class.menu.php:503
3864
- #: ../shared/classes/class.menus.adminbar.php:505
3865
- #: ../shared/classes/class.menus.adminbar.php:507
3866
  msgid "Call to Action Settings"
3867
  msgstr ""
3868
 
3869
- #: ../shared/classes/class.menu.php:510 ../shared/classes/class.menu.php:512
3870
- #: ../shared/classes/class.menus.adminbar.php:514
3871
- #: ../shared/classes/class.menus.adminbar.php:516
3872
  msgid "Landing Page Settings"
3873
  msgstr ""
3874
 
3875
- #: ../shared/classes/class.menu.php:519 ../shared/classes/class.menu.php:521
3876
- #: ../shared/classes/class.menus.adminbar.php:523
3877
- #: ../shared/classes/class.menus.adminbar.php:525
3878
  msgid "Lead Settings"
3879
  msgstr ""
3880
 
3881
- #: ../shared/classes/class.menu.php:535 ../shared/classes/class.menu.php:537
3882
- #: ../shared/classes/class.menus.adminbar.php:539
3883
- #: ../shared/classes/class.menus.adminbar.php:541
3884
  msgid "Analytics (coming soon)"
3885
  msgstr ""
3886
 
3887
- #: ../shared/classes/class.menu.php:550
3888
- #: ../shared/classes/class.menus.adminbar.php:554
3889
  msgid "SEO by Yoast"
3890
  msgstr ""
3891
 
3892
- #: ../shared/classes/class.menu.php:552
3893
- #: ../shared/classes/class.menus.adminbar.php:556
3894
  msgid "Manage SEO Settings"
3895
  msgstr ""
3896
 
3897
- #: ../shared/classes/class.menu.php:566 ../shared/classes/class.menu.php:568
3898
- #: ../shared/classes/class.menus.adminbar.php:570
3899
- #: ../shared/classes/class.menus.adminbar.php:572
3900
  msgid "Support Forum"
3901
  msgstr ""
3902
 
3903
- #: ../shared/classes/class.menu.php:574 ../shared/classes/class.menu.php:576
3904
- #: ../shared/classes/class.menus.adminbar.php:578
3905
- #: ../shared/classes/class.menus.adminbar.php:580
3906
  msgid "Documentation"
3907
  msgstr ""
3908
 
3909
- #: ../shared/classes/class.menu.php:580
3910
- #: ../shared/classes/class.menus.adminbar.php:584
3911
  msgid "Search Docs"
3912
  msgstr ""
3913
 
3914
- #: ../shared/classes/class.menu.php:602 ../shared/classes/class.menu.php:604
3915
- #: ../shared/classes/class.menus.adminbar.php:606
3916
- #: ../shared/classes/class.menus.adminbar.php:608
3917
  msgid "Inbound Now Plugin HQ"
3918
  msgstr ""
3919
 
3920
- #: ../shared/classes/class.menu.php:610 ../shared/classes/class.menu.php:612
3921
- #: ../shared/classes/class.menus.adminbar.php:614
3922
- #: ../shared/classes/class.menus.adminbar.php:616
3923
  msgid "GitHub Repository Developer Center"
3924
  msgstr ""
3925
 
3926
- #: ../shared/classes/class.menu.php:618 ../shared/classes/class.menu.php:620
3927
- #: ../shared/classes/class.menus.adminbar.php:622
3928
- #: ../shared/classes/class.menus.adminbar.php:624
3929
  msgid "Official Blog"
3930
  msgstr ""
3931
 
3932
- #: ../shared/classes/class.menu.php:626 ../shared/classes/class.menu.php:628
3933
- #: ../shared/classes/class.menus.adminbar.php:630
3934
- #: ../shared/classes/class.menus.adminbar.php:632
3935
  msgid "My Account"
3936
  msgstr ""
3937
 
3938
- #: ../shared/classes/class.menu.php:634 ../shared/classes/class.menu.php:636
3939
- #: ../shared/classes/class.menus.adminbar.php:638
3940
- #: ../shared/classes/class.menus.adminbar.php:640
3941
  msgid "Purchase History"
3942
  msgstr ""
3943
 
3944
- #: ../shared/classes/class.menu.php:649
3945
- #: ../shared/classes/class.menus.adminbar.php:656
3946
  msgid ""
3947
  "<span style=\"color:#fff;font-size: 13px;margin-top: -1px;display: inline-"
3948
  "block;\">Debug Tools</span>"
3949
  msgstr ""
3950
 
3951
- #: ../shared/classes/class.menu.php:675
3952
- #: ../shared/classes/class.menus.adminbar.php:682
3953
  msgid "Check for Javascript Errors"
3954
  msgstr ""
3955
 
3956
- #: ../shared/classes/class.menu.php:677
3957
- #: ../shared/classes/class.menus.adminbar.php:684
3958
  msgid "Click here to check javascript errors on this page"
3959
  msgstr ""
3960
 
3961
- #: ../shared/classes/class.menu.php:683
3962
- #: ../shared/classes/class.menus.adminbar.php:690
3963
  msgid "Remove Javascript Errors"
3964
  msgstr ""
3965
 
3966
- #: ../shared/classes/class.menu.php:685
3967
- #: ../shared/classes/class.menus.adminbar.php:692
3968
  msgid "Click here to remove broken javascript to fix issues"
3969
  msgstr ""
3970
 
3971
- #: ../shared/classes/class.notifications.php:31
3972
- msgid "Help Translate Inbound Now Marketing Plugins"
3973
- msgstr ""
3974
-
3975
- #: ../shared/classes/class.notifications.php:32
3976
- #, php-format
3977
- msgid ""
3978
- "Help translate Inbound Now's marketing plugins to your %s native langauge %s!"
3979
- msgstr ""
3980
-
3981
- #: ../shared/classes/class.notifications.php:33
3982
- msgid "Help Translate the plugins"
3983
- msgstr ""
3984
-
3985
- #: ../shared/classes/class.notifications.php:34
3986
- msgid "No Thanks"
3987
- msgstr ""
3988
-
3989
- #: ../shared/classes/class.post-type.email-template.php:53
3990
- #: ../shared/classes/class.post-type.email-template.php:54
3991
- #: ../shared/classes/class.post-type.email-template.php:109
3992
- msgid "Email Templates"
3993
- msgstr ""
3994
-
3995
- #: ../shared/classes/class.post-type.email-template.php:55
3996
- msgid "Add New Email Templates"
3997
- msgstr ""
3998
-
3999
- #: ../shared/classes/class.post-type.email-template.php:56
4000
- msgid "Create New Email Templates"
4001
- msgstr ""
4002
-
4003
- #: ../shared/classes/class.post-type.email-template.php:57
4004
- msgid "Edit Email Templates"
4005
- msgstr ""
4006
-
4007
- #: ../shared/classes/class.post-type.email-template.php:58
4008
- msgid "New Email Templates"
4009
- msgstr ""
4010
-
4011
- #: ../shared/classes/class.post-type.email-template.php:59
4012
- msgid "View Email Templates"
4013
- msgstr ""
4014
-
4015
- #: ../shared/classes/class.post-type.email-template.php:60
4016
- msgid "Search Email Templates"
4017
- msgstr ""
4018
-
4019
- #: ../shared/classes/class.post-type.email-template.php:94
4020
- msgid "Email Template Category"
4021
- msgstr ""
4022
-
4023
- #: ../shared/classes/class.post-type.email-template.php:304
4024
- msgid "Token Testing"
4025
- msgstr ""
4026
-
4027
- #: ../shared/classes/class.post-type.email-template.php:305
4028
- msgid "Token Testing Template - {{site-name}}"
4029
- msgstr ""
4030
-
4031
- #: ../shared/classes/class.post-type.email-template.php:307
4032
- msgid "Designed for testing & debugging tokens."
4033
- msgstr ""
4034
-
4035
- #: ../shared/classes/class.post-type.email-template.php:314
4036
- msgid "New Lead Notification"
4037
- msgstr ""
4038
-
4039
- #: ../shared/classes/class.post-type.email-template.php:315
4040
- msgid "{{site-name}} - {{form-name}} - New Lead Conversion"
4041
- msgstr ""
4042
-
4043
- #: ../shared/classes/class.post-type.email-template.php:317
4044
- msgid ""
4045
- "Designed for notifying administrator of new lead conversion when an Inbound "
4046
- "Form is submitted."
4047
- msgstr ""
4048
-
4049
- #: ../shared/classes/class.post-type.email-template.php:324
4050
- msgid "New User Signup Notification"
4051
- msgstr ""
4052
-
4053
- #: ../shared/classes/class.post-type.email-template.php:325
4054
- msgid "Your New Account - {{site-name}}"
4055
- msgstr ""
4056
-
4057
- #: ../shared/classes/class.post-type.email-template.php:327
4058
- msgid ""
4059
- "WordPress core template for notifying\tnew users of their\tcreated accounts."
4060
- msgstr ""
4061
-
4062
- #: ../shared/classes/class.post-type.email-template.php:334
4063
- msgid "New Comment Notification"
4064
- msgstr ""
4065
-
4066
- #: ../shared/classes/class.post-type.email-template.php:335
4067
- msgid "New Comment Posted - {{wp-post-title}} - {{site-name}}"
4068
- msgstr ""
4069
-
4070
- #: ../shared/classes/class.post-type.email-template.php:337
4071
- msgid "WordPress core template for notifying post authors of new comments."
4072
- msgstr ""
4073
-
4074
- #: ../shared/classes/class.post-type.email-template.php:344
4075
- msgid "New Comment Moderation"
4076
- msgstr ""
4077
-
4078
- #: ../shared/classes/class.post-type.email-template.php:345
4079
- msgid "Moderate Comment - {{wp-post-title}} - {{site-name}}"
4080
- msgstr ""
4081
-
4082
- #: ../shared/classes/class.post-type.email-template.php:347
4083
- msgid ""
4084
- "WordPress core template for notifying post authors of new comments that need "
4085
- "moderating."
4086
- msgstr ""
4087
-
4088
- #: ../shared/classes/class.post-type.wp-lead.php:45
4089
  msgid "Add New Lead"
4090
  msgstr ""
4091
 
4092
- #: ../shared/classes/class.post-type.wp-lead.php:46
4093
  msgid "Edit Lead"
4094
  msgstr ""
4095
 
4096
- #: ../shared/classes/class.post-type.wp-lead.php:47
4097
  msgid "New Leads"
4098
  msgstr ""
4099
 
4100
- #: ../shared/classes/class.post-type.wp-lead.php:48
4101
  msgid "View Leads"
4102
  msgstr ""
4103
 
4104
- #: ../shared/classes/class.post-type.wp-lead.php:49
4105
  msgid "Search Leads"
4106
  msgstr ""
4107
 
4108
- #: ../shared/classes/class.post-type.wp-lead.php:86
4109
- #: ../shared/classes/class.post-type.wp-lead.php:101
4110
  msgid "Lead Lists"
4111
  msgstr ""
4112
 
4113
- #: ../shared/classes/class.post-type.wp-lead.php:87
4114
  msgid "Lead List"
4115
  msgstr ""
4116
 
4117
- #: ../shared/classes/class.post-type.wp-lead.php:88
4118
  msgid "Search Lead Lists"
4119
  msgstr ""
4120
 
4121
- #: ../shared/classes/class.post-type.wp-lead.php:89
4122
  msgid "Popular Lead Lists"
4123
  msgstr ""
4124
 
4125
- #: ../shared/classes/class.post-type.wp-lead.php:90
4126
  msgid "All Lead Lists"
4127
  msgstr ""
4128
 
4129
- #: ../shared/classes/class.post-type.wp-lead.php:93
4130
  msgid "Edit Lead List"
4131
  msgstr ""
4132
 
4133
- #: ../shared/classes/class.post-type.wp-lead.php:94
4134
  msgid "Update Lead List"
4135
  msgstr ""
4136
 
4137
- #: ../shared/classes/class.post-type.wp-lead.php:95
4138
  msgid "Add New Lead List"
4139
  msgstr ""
4140
 
4141
- #: ../shared/classes/class.post-type.wp-lead.php:96
4142
  msgid "New Lead List"
4143
  msgstr ""
4144
 
4145
- #: ../shared/classes/class.post-type.wp-lead.php:97
4146
  msgid "Separate Lead Lists with commas"
4147
  msgstr ""
4148
 
4149
- #: ../shared/classes/class.post-type.wp-lead.php:98
4150
  msgid "Add or remove Lead Lists"
4151
  msgstr ""
4152
 
4153
- #: ../shared/classes/class.post-type.wp-lead.php:99
4154
  msgid "Choose from the most used lead List"
4155
  msgstr ""
4156
 
4157
- #: ../shared/classes/class.post-type.wp-lead.php:100
4158
  msgid "No Lead Lists found."
4159
  msgstr ""
4160
 
4161
- #: ../shared/classes/class.post-type.wp-lead.php:107
4162
  msgid "List Management"
4163
  msgstr ""
4164
 
4165
- #: ../shared/classes/class.post-type.wp-lead.php:122
4166
  msgid "Search Lead Tags"
4167
  msgstr ""
4168
 
4169
- #: ../shared/classes/class.post-type.wp-lead.php:123
4170
  msgid "Popular Lead Tags"
4171
  msgstr ""
4172
 
4173
- #: ../shared/classes/class.post-type.wp-lead.php:124
4174
  msgid "All Lead Tags"
4175
  msgstr ""
4176
 
4177
- #: ../shared/classes/class.post-type.wp-lead.php:127
4178
  msgid "Edit Lead Tag"
4179
  msgstr ""
4180
 
4181
- #: ../shared/classes/class.post-type.wp-lead.php:128
4182
  msgid "Update Lead Tag"
4183
  msgstr ""
4184
 
4185
- #: ../shared/classes/class.post-type.wp-lead.php:129
4186
  msgid "Add New Lead Tag"
4187
  msgstr ""
4188
 
4189
- #: ../shared/classes/class.post-type.wp-lead.php:130
4190
  msgid "New Lead Tag"
4191
  msgstr ""
4192
 
4193
- #: ../shared/classes/class.post-type.wp-lead.php:131
4194
  msgid "Separate Lead Tags with commas"
4195
  msgstr ""
4196
 
4197
- #: ../shared/classes/class.post-type.wp-lead.php:132
4198
  msgid "Add or remove Lead Tags"
4199
  msgstr ""
4200
 
4201
- #: ../shared/classes/class.post-type.wp-lead.php:133
4202
  msgid "Choose from the most used lead tags"
4203
  msgstr ""
4204
 
4205
- #: ../shared/classes/class.post-type.wp-lead.php:134
4206
  msgid "No lead tags found."
4207
  msgstr ""
4208
 
4209
- #: ../shared/classes/class.post-type.wp-lead.php:135
4210
  msgid "Lead Tags"
4211
  msgstr ""
4212
 
4213
- #: ../shared/classes/class.post-type.wp-lead.php:162
4214
- msgid "Slug"
4215
- msgstr ""
4216
-
4217
- #: ../shared/classes/class.post-type.wp-lead.php:163
4218
- msgid "Posts"
4219
- msgstr ""
4220
-
4221
- #: ../shared/classes/class.post-type.wp-lead.php:344
4222
- msgid "must include an id parameter"
4223
- msgstr ""
4224
-
4225
- #: ../shared/classes/class.post-type.wp-lead.php:349
4226
- msgid "lead list deleted"
4227
- msgstr ""
4228
-
4229
- #: ../shared/classes/class.post-type.wp-lead.php:426
4230
  msgid ""
4231
  "WordPress Leads is not currently installed/activated to view and manage "
4232
  "leads please turn it on."
4233
  msgstr ""
4234
 
4235
- #: ../shared/classes/class.post-type.wp-lead.php:453
4236
  #, php-format
4237
  msgid "%d leads"
4238
  msgstr ""
4239
 
4240
- #: ../shared/classes/class.shortcodes.email-template.php:72
4241
  msgid "n/a"
4242
  msgstr ""
4243
 
4244
- #: ../shared/classes/class.shortcodes.email-template.php:82
4245
  msgid "View/Edit this form"
4246
  msgstr ""
4247
 
4248
- #: ../shared/classes/class.shortcodes.email-template.php:92
4249
- msgid "View this list"
4250
- msgstr ""
4251
-
4252
- #: ../shared/classes/class.shortcodes.email-template.php:99
4253
  msgid "View/Edit this CTA"
4254
  msgstr ""
4255
 
4256
- #: ../shared/classes/class.shortcodes.email-template.php:103
4257
  msgid "Converted on Page"
4258
  msgstr ""
4259
 
@@ -4270,50 +3636,66 @@ msgstr ""
4270
  msgid "Thank you for updating to the latest version! "
4271
  msgstr ""
4272
 
4273
- #: ../shared/legacy/functions.php:22 ../shared/legacy/functions.php:23
4274
- #: ../shared/legacy/functions.php:26
4275
- msgid "Marketing"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4276
  msgstr ""
4277
 
4278
- #: ../shared/legacy/functions.php:27
4279
- msgid "Choose a Shortcode"
4280
  msgstr ""
4281
 
4282
- #: ../shared/shortcodes/inbound-shortcodes.php:641
4283
  msgid "Form Conversions"
4284
  msgstr ""
4285
 
4286
- #: ../shared/shortcodes/inbound-shortcodes.php:650
4287
  msgid "View this Lead"
4288
  msgstr ""
4289
 
4290
- #: ../shared/shortcodes/inbound-shortcodes.php:654
4291
  msgid "No Conversions Yet!"
4292
  msgstr ""
4293
 
4294
- #: ../shared/shortcodes/inbound-shortcodes.php:660
4295
  msgid "Set Email Response to Send to the person filling out the form"
4296
  msgstr ""
4297
 
4298
- #: ../shared/shortcodes/inbound-shortcodes.php:687
4299
  msgid "Select Response Email Template"
4300
  msgstr ""
4301
 
4302
- #: ../shared/shortcodes/inbound-shortcodes.php:689
4303
  msgid "Do not use a premade email template"
4304
  msgstr ""
4305
 
4306
- #: ../shared/shortcodes/inbound-shortcodes.php:747
4307
- #: ../shared/shortcodes/inbound-shortcodes.php:769
4308
  #: ../shared/shortcodes/popup.php:27 ../shared/shortcodes/popup.php:50
4309
  msgid "Insert Shortcode"
4310
  msgstr ""
4311
 
4312
- #: ../shared/shortcodes/inbound-shortcodes.php:756
4313
  msgid "Form Preview"
4314
  msgstr ""
4315
 
4316
- #: ../shared/shortcodes/inbound-shortcodes.php:759
4317
  #: ../shared/shortcodes/popup.php:39
4318
  msgid "Shortcode has no preview"
4319
  msgstr ""
@@ -4414,11 +3796,12 @@ msgid "Color of button"
4414
  msgstr ""
4415
 
4416
  #: ../shared/shortcodes/shortcodes/button.php:70
4417
- #: ../shared/shortcodes/shortcodes/forms.php:165
4418
  msgid "Button Text Color"
4419
  msgstr ""
4420
 
4421
  #: ../shared/shortcodes/shortcodes/button.php:71
 
4422
  msgid "Color of text"
4423
  msgstr ""
4424
 
@@ -4435,7 +3818,7 @@ msgstr ""
4435
  #: ../shared/shortcodes/shortcodes/button.php:77
4436
  #: ../shared/shortcodes/shortcodes/callout.php:51
4437
  #: ../shared/shortcodes/shortcodes/callout.php:118
4438
- #: ../shared/shortcodes/shortcodes/forms.php:140
4439
  #: ../shared/shortcodes/shortcodes/tabs.php:28
4440
  #: ../shared/shortcodes/shortcodes/tabs.php:73
4441
  #: ../shared/shortcodes/shortcodes/teaser.php:58
@@ -4444,7 +3827,7 @@ msgid "Select an icon."
4444
  msgstr ""
4445
 
4446
  #: ../shared/shortcodes/shortcodes/button.php:84
4447
- #: ../shared/shortcodes/shortcodes/forms.php:179
4448
  msgid "Custom Width"
4449
  msgstr ""
4450
 
@@ -4473,8 +3856,8 @@ msgid "CTA Alignment"
4473
  msgstr ""
4474
 
4475
  #: ../shared/shortcodes/shortcodes/call-to-action.php:18
4476
- #: ../shared/shortcodes/shortcodes/forms.php:109
4477
- #: ../shared/shortcodes/shortcodes/forms.php:155
4478
  msgid "Choose Your Form Layout"
4479
  msgstr ""
4480
 
@@ -4684,7 +4067,7 @@ msgid "Enter the bottom margin value."
4684
  msgstr ""
4685
 
4686
  #: ../shared/shortcodes/shortcodes/divider.php:50
4687
- #: ../shared/shortcodes/shortcodes/forms.php:208
4688
  msgid "Divider"
4689
  msgstr ""
4690
 
@@ -4696,356 +4079,329 @@ msgstr ""
4696
  msgid "Margin Bottom"
4697
  msgstr ""
4698
 
4699
- #: ../shared/shortcodes/shortcodes/forms.php:20
4700
  msgid "Choose Starting Template"
4701
  msgstr ""
4702
 
4703
- #: ../shared/shortcodes/shortcodes/forms.php:21
4704
  msgid "Start Building Your Form from premade templates"
4705
  msgstr ""
4706
 
4707
- #: ../shared/shortcodes/shortcodes/forms.php:28
4708
- #: ../shared/shortcodes/shortcodes/quick-forms.php:28
4709
  msgid "Form Name<span class=\"small-required-text\">*</span>"
4710
  msgstr ""
4711
 
4712
- #: ../shared/shortcodes/shortcodes/forms.php:29
4713
- #: ../shared/shortcodes/shortcodes/quick-forms.php:29
4714
  msgid "This is not shown to visitors"
4715
  msgstr ""
4716
 
4717
- #: ../shared/shortcodes/shortcodes/forms.php:46
4718
  msgid "Redirect URL<span class=\"small-required-text\">*</span>"
4719
  msgstr ""
4720
 
4721
- #: ../shared/shortcodes/shortcodes/forms.php:47
4722
  msgid "Where do you want to send people after they fill out the form?"
4723
  msgstr ""
4724
 
4725
- #: ../shared/shortcodes/shortcodes/forms.php:63
4726
  msgid "Notify on Form Completions<span class=\"small-required-text\">*</span>"
4727
  msgstr ""
4728
 
4729
- #: ../shared/shortcodes/shortcodes/forms.php:64
4730
  msgid ""
4731
  "Who should get admin notifications on this form?<br>For multiple "
4732
  "notifications separate email addresses with commas"
4733
  msgstr ""
4734
 
4735
- #: ../shared/shortcodes/shortcodes/forms.php:71
4736
  msgid "Admin Email Subject Line<span class=\"small-required-text\">*</span>"
4737
  msgstr ""
4738
 
4739
- #: ../shared/shortcodes/shortcodes/forms.php:72
4740
  msgid ""
4741
  "Customize the subject line of email notifications arriving from this form. "
4742
  "default: {{site-name}} {{form-name}} - New Lead Conversion"
4743
  msgstr ""
4744
 
4745
- #: ../shared/shortcodes/shortcodes/forms.php:79
4746
  msgid "Add to List(s)"
4747
  msgstr ""
4748
 
4749
- #: ../shared/shortcodes/shortcodes/forms.php:80
4750
  msgid "Add the converting lead to 1 or more lead lists"
4751
  msgstr ""
4752
 
4753
- #: ../shared/shortcodes/shortcodes/forms.php:87
4754
  msgid "Hidden List Values"
4755
  msgstr ""
4756
 
4757
- #: ../shared/shortcodes/shortcodes/forms.php:88
4758
  msgid "Hidden list values"
4759
  msgstr ""
4760
 
4761
- #: ../shared/shortcodes/shortcodes/forms.php:94
4762
- #: ../shared/shortcodes/shortcodes/forms.php:101
 
4763
  msgid "Name Name Name"
4764
  msgstr ""
4765
 
4766
- #: ../shared/shortcodes/shortcodes/forms.php:95
4767
  msgid ""
4768
  "<span class=\"switch-to-form-insert button\">Cancel Form Creation & Insert "
4769
  "Existing Form</span>"
4770
  msgstr ""
4771
 
4772
- #: ../shared/shortcodes/shortcodes/forms.php:102
4773
  msgid "Layout Options"
4774
  msgstr ""
4775
 
4776
- #: ../shared/shortcodes/shortcodes/forms.php:108
4777
  msgid "Form Layout"
4778
  msgstr ""
4779
 
4780
- #: ../shared/shortcodes/shortcodes/forms.php:119
4781
  msgid "Label Alignment"
4782
  msgstr ""
4783
 
4784
- #: ../shared/shortcodes/shortcodes/forms.php:120
4785
  msgid "Choose Label Layout"
4786
  msgstr ""
4787
 
4788
- #: ../shared/shortcodes/shortcodes/forms.php:132
4789
  msgid "Form Font Size"
4790
  msgstr ""
4791
 
4792
- #: ../shared/shortcodes/shortcodes/forms.php:133
4793
  msgid "Size of Label Font. This also determines default submit button size"
4794
  msgstr ""
4795
 
4796
- #: ../shared/shortcodes/shortcodes/forms.php:139
4797
  msgid "Submit Button Icon"
4798
  msgstr ""
4799
 
4800
- #: ../shared/shortcodes/shortcodes/forms.php:147
4801
  msgid "Submit Button Text"
4802
  msgstr ""
4803
 
4804
- #: ../shared/shortcodes/shortcodes/forms.php:148
4805
  msgid ""
4806
  "Enter the text you want to show on the submit button. (or a link to a custom "
4807
  "submit button image)"
4808
  msgstr ""
4809
 
4810
- #: ../shared/shortcodes/shortcodes/forms.php:154
4811
- msgid "Submit Color Options"
4812
- msgstr ""
4813
-
4814
- #: ../shared/shortcodes/shortcodes/forms.php:166
4815
- msgid "Color of text. Must toggle on \"Submit Color Options\" on"
4816
  msgstr ""
4817
 
4818
- #: ../shared/shortcodes/shortcodes/forms.php:172
4819
  msgid "Button BG Color"
4820
  msgstr ""
4821
 
4822
- #: ../shared/shortcodes/shortcodes/forms.php:173
4823
- msgid "Background color of button. Must toggle on \"Submit Color Options\" on"
4824
  msgstr ""
4825
 
4826
- #: ../shared/shortcodes/shortcodes/forms.php:180
4827
  msgid "Enter in pixel width or % width. Example: 400 <u>or</u> 100%"
4828
  msgstr ""
4829
 
4830
- #: ../shared/shortcodes/shortcodes/forms.php:189
4831
  msgid "Field Label"
4832
  msgstr ""
4833
 
4834
- #: ../shared/shortcodes/shortcodes/forms.php:193
4835
  msgid "Enter the Form Field Label. Example: First Name"
4836
  msgstr ""
4837
 
4838
- #: ../shared/shortcodes/shortcodes/forms.php:196
4839
  msgid "Field Type"
4840
  msgstr ""
4841
 
4842
- #: ../shared/shortcodes/shortcodes/forms.php:197
4843
  msgid "Select an form field type"
4844
  msgstr ""
4845
 
4846
- #: ../shared/shortcodes/shortcodes/forms.php:200
4847
  msgid "Single Line Text"
4848
  msgstr ""
4849
 
4850
- #: ../shared/shortcodes/shortcodes/forms.php:201
4851
  #: ../shared/shortcodes/shortcodes/leadp.php:23
4852
  msgid "Paragraph Text"
4853
  msgstr ""
4854
 
4855
- #: ../shared/shortcodes/shortcodes/forms.php:202
4856
  msgid "Dropdown - Custom"
4857
  msgstr ""
4858
 
4859
- #: ../shared/shortcodes/shortcodes/forms.php:203
4860
  msgid "Dropdown - Countries"
4861
  msgstr ""
4862
 
4863
- #: ../shared/shortcodes/shortcodes/forms.php:204
4864
  msgid "Radio Select"
4865
  msgstr ""
4866
 
4867
- #: ../shared/shortcodes/shortcodes/forms.php:205
4868
  msgid "Number"
4869
  msgstr ""
4870
 
4871
- #: ../shared/shortcodes/shortcodes/forms.php:206
4872
  msgid "Checkbox"
4873
  msgstr ""
4874
 
4875
- #: ../shared/shortcodes/shortcodes/forms.php:207
4876
- #: ../shared/shortcodes/shortcodes/forms.php:246
4877
  msgid "HTML Block"
4878
  msgstr ""
4879
 
4880
- #: ../shared/shortcodes/shortcodes/forms.php:209
4881
- msgid "Date Picker Field"
4882
- msgstr ""
4883
-
4884
- #: ../shared/shortcodes/shortcodes/forms.php:210
4885
- msgid "Date Selector Field"
4886
  msgstr ""
4887
 
4888
- #: ../shared/shortcodes/shortcodes/forms.php:211
4889
  msgid "Time Field"
4890
  msgstr ""
4891
 
4892
- #: ../shared/shortcodes/shortcodes/forms.php:212
4893
  msgid "Hidden Field"
4894
  msgstr ""
4895
 
4896
- #: ../shared/shortcodes/shortcodes/forms.php:213
4897
- msgid "Anti Spam Honey Pot"
4898
- msgstr ""
4899
-
4900
- #: ../shared/shortcodes/shortcodes/forms.php:222
4901
  msgid "Dropdown choices"
4902
  msgstr ""
4903
 
4904
- #: ../shared/shortcodes/shortcodes/forms.php:223
4905
- msgid ""
4906
- "Enter Your Dropdown Options. Separate by commas. You may also use label|"
4907
- "value to have a different value than the label stored."
4908
  msgstr ""
4909
 
4910
- #: ../shared/shortcodes/shortcodes/forms.php:226
4911
- #: ../shared/shortcodes/shortcodes/forms.php:242
4912
- msgid "Choice 1|a, Choice 2, Choice 3"
4913
  msgstr ""
4914
 
4915
- #: ../shared/shortcodes/shortcodes/forms.php:230
4916
  msgid "Radio Choices"
4917
  msgstr ""
4918
 
4919
- #: ../shared/shortcodes/shortcodes/forms.php:231
4920
- msgid ""
4921
- "Enter Your Radio Options. Separate by commas. You may also use label|value "
4922
- "to have a different value than the label stored."
4923
  msgstr ""
4924
 
4925
- #: ../shared/shortcodes/shortcodes/forms.php:238
4926
  msgid "Checkbox choices"
4927
  msgstr ""
4928
 
4929
- #: ../shared/shortcodes/shortcodes/forms.php:239
4930
- msgid ""
4931
- "Enter Your Checkbox Options. Separate by commas. You may also use label|"
4932
- "value to have a different value than the label stored."
4933
  msgstr ""
4934
 
4935
- #: ../shared/shortcodes/shortcodes/forms.php:247
4936
  msgid "This is a raw HTML block in the form. Insert text/HTML"
4937
  msgstr ""
4938
 
4939
- #: ../shared/shortcodes/shortcodes/forms.php:253
4940
  msgid "Default Value"
4941
  msgstr ""
4942
 
4943
- #: ../shared/shortcodes/shortcodes/forms.php:254
4944
  msgid "Enter the Default Value"
4945
  msgstr ""
4946
 
4947
- #: ../shared/shortcodes/shortcodes/forms.php:261
4948
  msgid "Divider Text (optional)"
4949
  msgstr ""
4950
 
4951
- #: ../shared/shortcodes/shortcodes/forms.php:262
4952
  msgid "This is the text in the divider"
4953
  msgstr ""
4954
 
4955
- #: ../shared/shortcodes/shortcodes/forms.php:268
4956
- msgid "Required Field? <span class=\"small-optional-text\">(optional)</span>"
4957
- msgstr ""
4958
-
4959
- #: ../shared/shortcodes/shortcodes/forms.php:269
4960
- msgid "Check to make field required"
4961
- msgstr ""
4962
-
4963
- #: ../shared/shortcodes/shortcodes/forms.php:276
4964
- msgid "Exclude Tracking? <span class=\"small-optional-text\">(optional)</span>"
4965
- msgstr ""
4966
-
4967
- #: ../shared/shortcodes/shortcodes/forms.php:277
4968
- msgid ""
4969
- "Check to exclude this form field from being tracked. Note this will not "
4970
- "store in your Database"
4971
- msgstr ""
4972
-
4973
- #: ../shared/shortcodes/shortcodes/forms.php:284
4974
- #: ../shared/shortcodes/shortcodes/forms.php:306
4975
  msgid "Field Description <span class=\"small-optional-text\">(optional)</span>"
4976
  msgstr ""
4977
 
4978
- #: ../shared/shortcodes/shortcodes/forms.php:285
4979
  msgid "<span class=\"show-advanced-fields\">Show advanced fields</span>"
4980
  msgstr ""
4981
 
4982
- #: ../shared/shortcodes/shortcodes/forms.php:291
4983
- msgid "Map Field To <span class=\"small-optional-text\">(optional)</span>"
4984
  msgstr ""
4985
 
4986
- #: ../shared/shortcodes/shortcodes/forms.php:292
4987
- msgid "Map this field to Leads Value"
4988
  msgstr ""
4989
 
4990
- #: ../shared/shortcodes/shortcodes/forms.php:299
4991
  msgid "Field Placeholder <span class=\"small-optional-text\">(optional)</span>"
4992
  msgstr ""
4993
 
4994
- #: ../shared/shortcodes/shortcodes/forms.php:300
4995
  msgid "Put field placeholder text here. Only works for normal text inputs"
4996
  msgstr ""
4997
 
4998
- #: ../shared/shortcodes/shortcodes/forms.php:307
4999
  msgid "Put field description here."
5000
  msgstr ""
5001
 
5002
- #: ../shared/shortcodes/shortcodes/forms.php:313
5003
  msgid ""
5004
  "Field Container Classes <span class=\"small-optional-text\">(optional)</span>"
5005
  msgstr ""
5006
 
5007
- #: ../shared/shortcodes/shortcodes/forms.php:314
5008
  msgid ""
5009
  "Add additional class ids to the div that contains this field. Separate "
5010
  "classes with spaces."
5011
  msgstr ""
5012
 
5013
- #: ../shared/shortcodes/shortcodes/forms.php:320
5014
  msgid ""
5015
  "Field Input Classes <span class=\"small-optional-text\">(optional)</span>"
5016
  msgstr ""
5017
 
5018
- #: ../shared/shortcodes/shortcodes/forms.php:321
5019
  msgid ""
5020
  "Add additional class ids to this input field. Separate classes with spaces."
5021
  msgstr ""
5022
 
5023
- #: ../shared/shortcodes/shortcodes/forms.php:328
5024
  msgid ""
5025
  "Dynamic Field Filling <span class=\"small-optional-text\">(optional)</span>"
5026
  msgstr ""
5027
 
5028
- #: ../shared/shortcodes/shortcodes/forms.php:329
5029
  msgid "Enter Your Dynamic URL parameter"
5030
  msgstr ""
5031
 
5032
- #: ../shared/shortcodes/shortcodes/forms.php:338
 
 
 
 
 
 
 
 
5033
  msgid "Add Another Field"
5034
  msgstr ""
5035
 
5036
- #: ../shared/shortcodes/shortcodes/forms.php:354
5037
  msgid "Edit Form"
5038
  msgstr ""
5039
 
5040
- #: ../shared/shortcodes/shortcodes/forms.php:355
5041
  msgid "New Form"
5042
  msgstr ""
5043
 
5044
- #: ../shared/shortcodes/shortcodes/forms.php:356
5045
  msgid "View Lists"
5046
  msgstr ""
5047
 
5048
- #: ../shared/shortcodes/shortcodes/forms.php:357
5049
  msgid "Search Lists"
5050
  msgstr ""
5051
 
@@ -5604,7 +4960,11 @@ msgstr ""
5604
  msgid "Insert a Saved Form"
5605
  msgstr ""
5606
 
5607
- #: ../shared/shortcodes/shortcodes/quick-forms.php:37
 
 
 
 
5608
  msgid "Quick Insert Inbound Form Shortcode"
5609
  msgstr ""
5610
 
@@ -5953,6 +5313,10 @@ msgstr ""
5953
  msgid "Address Line 2"
5954
  msgstr ""
5955
 
 
 
 
 
5956
  #: ../shared/templates/email-templates/token-test/token-test.php:22
5957
  msgid "Form Name"
5958
  msgstr ""
@@ -6067,6 +5431,10 @@ msgid ""
6067
  "a> has been setup! Please use the credentials below to access your account:"
6068
  msgstr ""
6069
 
 
 
 
 
6070
  #: ../shared/templates/email-templates/wp-new-user-notification/wp-new-user-notification.php:59
6071
  msgid "Password"
6072
  msgstr ""
@@ -6077,7 +5445,7 @@ msgstr ""
6077
 
6078
  #: ../shared/templates/email-templates/wp-notify-moderator/wp-notify-moderator.php:34
6079
  msgid ""
6080
- "{{wp-user-displayname}}, There is a new comment for <a href=\"{{wp-post-"
6081
  "url}}\">{{wp-post-title}}</a>"
6082
  msgstr ""
6083
 
@@ -6121,7 +5489,7 @@ msgstr ""
6121
  #: ../templates/svtle/config.php:55
6122
  #: ../templates/three-column-lander/config.php:56
6123
  #: ../templates/tubelar/config.php:75
6124
- msgid "Conversion Area"
6125
  msgstr ""
6126
 
6127
  #: ../templates/countdown-lander/config.php:37
@@ -6180,6 +5548,10 @@ msgstr ""
6180
  msgid "Submit Button Background Color"
6181
  msgstr ""
6182
 
 
 
 
 
6183
  #: ../templates/svtle/config.php:88 ../templates/tubelar/config.php:124
6184
  msgid "Logo Image"
6185
  msgstr ""
@@ -6308,7 +5680,7 @@ msgid "Right Content Area"
6308
  msgstr ""
6309
 
6310
  #: ../templates/tubelar/config.php:82
6311
- msgid "YouTube Background Video URL"
6312
  msgstr ""
6313
 
6314
  #: ../templates/tubelar/config.php:91
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Landing Pages\n"
4
+ "POT-Creation-Date: 2014-07-08 17:26-0600\n"
5
+ "PO-Revision-Date: 2014-07-08 17:26-0600\n"
6
  "Last-Translator: \n"
7
  "Language-Team: InboundNow <support@inboundnow.com>\n"
8
  "Language: en_US\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.6.6\n"
13
  "X-Poedit-KeywordsList: __;_e\n"
14
  "X-Poedit-Basepath: .\n"
15
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
  "X-Poedit-SearchPath-0: ..\n"
 
 
 
17
 
18
+ #: ../classes/class.activation.php:122 ../classes/class.activation.php:136
19
+ #: ../classes/class.activation.php:150 ../classes/class.activation.php:164
20
+ #: ../classes/class.activation.php:178
 
 
 
 
 
 
 
 
21
  msgid "Landing Plugin could not be installed"
22
  msgstr ""
23
 
24
+ #: ../classes/class.activation.php:124
25
  msgid "Server PHP Version"
26
  msgstr ""
27
 
28
+ #: ../classes/class.activation.php:125
29
  msgid "Required PHP Version"
30
  msgstr ""
31
 
32
+ #: ../classes/class.activation.php:127
33
  #, php-format
34
  msgid "Please contact your hosting provider to upgrade PHP to %s or greater"
35
  msgstr ""
36
 
37
+ #: ../classes/class.activation.php:138
38
+ #: ../modules/module.global-settings.php:352
39
  msgid "WordPress Version"
40
  msgstr ""
41
 
42
+ #: ../classes/class.activation.php:139
43
  msgid "Required WordPress Version"
44
  msgstr ""
45
 
46
+ #: ../classes/class.activation.php:141
47
  #, php-format
48
  msgid "Please update landing pages to version %s or greater."
49
  msgstr ""
50
 
51
+ #: ../classes/class.activation.php:152
52
  msgid "Calls to Action Version"
53
  msgstr ""
54
 
55
+ #: ../classes/class.activation.php:153
56
  msgid "Required Calls to Action Version"
57
  msgstr ""
58
 
59
+ #: ../classes/class.activation.php:155
60
  #, php-format
61
  msgid "Please update Calls to Action to version %s or greater."
62
  msgstr ""
63
 
64
+ #: ../classes/class.activation.php:166
65
  msgid "Leads Version"
66
  msgstr ""
67
 
68
+ #: ../classes/class.activation.php:167
69
  msgid "Required Leads Version"
70
  msgstr ""
71
 
72
+ #: ../classes/class.activation.php:169
73
  #, php-format
74
  msgid "Please update Leads to version %s or greater."
75
  msgstr ""
76
 
77
+ #: ../classes/class.activation.php:180
78
  msgid "Extension: Landing Page as Homepage"
79
  msgstr ""
80
 
81
+ #: ../classes/class.activation.php:181
82
  msgid "Required extension version"
83
  msgstr ""
84
 
85
+ #: ../classes/class.activation.php:183
86
  #, php-format
87
  msgid "Please update extension to version %s or greater."
88
  msgstr ""
89
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  #: ../libraries/class-tgm-plugin-activation.php:164
91
+ #: ../modules/module.install.php:165
92
  msgid "Install Required Plugins"
93
  msgstr ""
94
 
95
  #: ../libraries/class-tgm-plugin-activation.php:165
96
+ #: ../modules/module.install.php:166
97
  msgid "Install Plugins"
98
  msgstr ""
99
 
100
  #: ../libraries/class-tgm-plugin-activation.php:166
101
+ #: ../modules/module.install.php:167
102
  #, php-format
103
  msgid "Installing Plugin: %s"
104
  msgstr ""
109
 
110
  #: ../libraries/class-tgm-plugin-activation.php:178
111
  #: ../libraries/class-tgm-plugin-activation.php:490
112
+ #: ../modules/module.install.php:179
113
  msgid "Return to Required Plugins Installer"
114
  msgstr ""
115
 
116
  #: ../libraries/class-tgm-plugin-activation.php:179
117
  #: ../libraries/class-tgm-plugin-activation.php:1846
118
+ #: ../modules/module.install.php:180
119
  msgid "Plugin activated successfully."
120
  msgstr ""
121
 
351
  msgstr ""
352
 
353
  #: ../modules/module.ab-testing.metaboxes.php:136
354
+ #: ../modules/module.metaboxes.php:371 ../modules/module.post-type.php:128
355
  msgid "Preview"
356
  msgstr ""
357
 
390
  msgid "Forms"
391
  msgstr ""
392
 
393
+ #: ../modules/module.admin-menus.php:12 ../shared/classes/class.menu.php:307
 
394
  msgid "Manage Forms"
395
  msgstr ""
396
 
398
  msgid "Templates"
399
  msgstr ""
400
 
401
+ #: ../modules/module.admin-menus.php:14 ../modules/module.templates.php:239
402
+ #: ../shared/classes/class.menu.php:354
 
403
  msgid "Manage Templates"
404
  msgstr ""
405
 
407
  msgid "Get Addons"
408
  msgstr ""
409
 
410
+ #: ../modules/module.admin-menus.php:18 ../shared/classes/class.menu.php:397
 
411
  msgid "Global Settings"
412
  msgstr ""
413
 
 
 
 
 
 
 
 
 
414
  #: ../modules/module.clone.php:1
415
  msgid "Clone this item"
416
  msgstr ""
423
  msgid "New Blank Landing Page"
424
  msgstr ""
425
 
426
+ #: ../modules/module.cron.php:7
427
+ msgid "Every 3 minutes"
428
+ msgstr ""
429
+
430
  #: ../modules/module.customizer.php:1
431
  msgid "No A/B Tests running for this page"
432
  msgstr ""
457
  msgstr ""
458
 
459
  #: ../modules/module.global-settings.php:41
460
+ msgid "Enable Form Prepopulation"
461
  msgstr ""
462
 
463
  #: ../modules/module.global-settings.php:42
464
  msgid ""
465
+ "With this setting enabled landing pages plugin will remember form input data "
466
+ "that the user submits to a form and attempt to pre-populate all other forms "
467
+ "with the same user's data when applicable."
468
+ msgstr ""
469
+
470
+ #: ../modules/module.global-settings.php:49
471
+ msgid "Disable Admin Impression/Conversion Tracking"
472
+ msgstr ""
473
+
474
+ #: ../modules/module.global-settings.php:50
475
+ msgid ""
476
+ "With this setting enabled landing pages plugin will not record visits and "
477
+ "conversions for administrative users that are logged in."
478
+ msgstr ""
479
+
480
+ #: ../modules/module.global-settings.php:57
481
+ msgid "Sticky Variations"
482
+ msgstr ""
483
+
484
+ #: ../modules/module.global-settings.php:58
485
+ msgid ""
486
  "With this setting enabled the landing pages plugin will prevent landing page "
487
  "version a/b rotation for a specific visitor that has viewed the page."
488
  "<br><br>This pause on the a/b rotation will automatically expire after 30 "
489
  "days."
490
  msgstr ""
491
 
492
+ #: ../modules/module.global-settings.php:65
493
+ msgid "Enable Form Standardization"
494
  msgstr ""
495
 
496
+ #: ../modules/module.global-settings.php:66
497
+ msgid ""
498
+ "With this setting enabled landing pages plugin will clean and standardize "
499
+ "all input ids and classnames. Uncheck this setting to disable "
500
+ "standardization."
501
+ msgstr ""
502
+
503
+ #: ../modules/module.global-settings.php:73
504
+ msgid "Form Standardization Element Whitelist"
505
+ msgstr ""
506
+
507
+ #: ../modules/module.global-settings.php:74
508
  msgid ""
509
+ "Form standardization strips the conversion area content of html elements. "
510
+ "Add the elements you do not want to be stripped to this list."
 
 
511
  msgstr ""
512
 
513
+ #: ../modules/module.global-settings.php:92
514
  msgid "License Keys"
515
  msgstr ""
516
 
517
+ #: ../modules/module.global-settings.php:95
518
  msgid "Extensions"
519
  msgstr ""
520
 
521
+ #: ../modules/module.global-settings.php:107
522
  msgid "Debug"
523
  msgstr ""
524
 
525
+ #: ../modules/module.global-settings.php:131
526
+ msgid ""
527
+ "Head to http://www.inboundnow.com/ to retrieve your license key for this "
528
+ "template."
529
+ msgstr ""
530
+
531
+ #: ../modules/module.global-settings.php:133
532
  msgid "Extension Licensing"
533
  msgstr ""
534
 
535
+ #: ../modules/module.global-settings.php:225
536
  msgid ""
537
  "Oh no! Your .htaccess is not writable and A/B testing won't work unless you "
538
  "make your .htaccess file writable."
539
  msgstr ""
540
 
541
+ #: ../modules/module.global-settings.php:306
542
  msgid "Installation Status"
543
  msgstr ""
544
 
545
+ #: ../modules/module.global-settings.php:310
546
  msgid "PHP Version"
547
  msgstr ""
548
 
549
+ #: ../modules/module.global-settings.php:324
550
  msgid "Landing Pages requires PHP 5 or above."
551
  msgstr ""
552
 
553
+ #: ../modules/module.global-settings.php:331
554
  msgid "MySQL Version"
555
  msgstr ""
556
 
557
+ #: ../modules/module.global-settings.php:345
558
  msgid "Gravity Forms requires MySQL 5 or above."
559
  msgstr ""
560
 
561
+ #: ../modules/module.global-settings.php:366
562
  msgid "landing pages requires version X or higher"
563
  msgstr ""
564
 
565
+ #: ../modules/module.global-settings.php:373
566
  msgid "Landing Page Version"
567
  msgstr ""
568
 
569
+ #: ../modules/module.global-settings.php:375
570
  msgid "Version"
571
  msgstr ""
572
 
573
+ #: ../modules/module.global-settings.php:389
574
  msgid "The contents of your .htaccess file"
575
  msgstr ""
576
 
577
+ #: ../modules/module.global-settings.php:425
578
  msgid "System Information"
579
  msgstr ""
580
 
581
+ #: ../modules/module.global-settings.php:428
582
  msgid "Download System Info File for Support Requests"
583
  msgstr ""
584
 
585
+ #: ../modules/module.global-settings.php:429
586
  msgid ""
587
  "To copy the system info, click below then press Ctrl + C (PC) or Cmd + C "
588
  "(Mac)."
589
  msgstr ""
590
 
591
+ #: ../modules/module.global-settings.php:479
592
  msgid "Your server supports fsockopen."
593
  msgstr ""
594
 
595
+ #: ../modules/module.global-settings.php:479
596
  msgid "Your server does not support fsockopen."
597
  msgstr ""
598
 
599
+ #: ../modules/module.global-settings.php:480
600
  msgid "Your server supports cURL."
601
  msgstr ""
602
 
603
+ #: ../modules/module.global-settings.php:480
604
  msgid "Your server does not support cURL."
605
  msgstr ""
606
 
607
+ #: ../modules/module.global-settings.php:481
608
  msgid "Your server has the SOAP Client enabled."
609
  msgstr ""
610
 
611
+ #: ../modules/module.global-settings.php:481
612
  msgid "Your server does not have the SOAP Client enabled."
613
  msgstr ""
614
 
615
+ #: ../modules/module.global-settings.php:482
616
  msgid "Your server has SUHOSIN installed."
617
  msgstr ""
618
 
619
+ #: ../modules/module.global-settings.php:482
620
  msgid "Your server does not have SUHOSIN installed."
621
  msgstr ""
622
 
642
  msgid "Form a"
643
  msgstr ""
644
 
645
+ #: ../modules/module.install.php:32 ../modules/module.install.php:38
646
+ #: ../shared/classes/class.lead-fields.php:14
647
+ #: ../shared/templates/email-templates/token-test/token-test.php:14
648
+ msgid "First Name"
649
+ msgstr ""
650
+
651
+ #: ../modules/module.install.php:32 ../modules/module.install.php:38
652
+ #: ../shared/classes/class.lead-fields.php:20
653
+ #: ../shared/templates/email-templates/token-test/token-test.php:15
654
+ msgid "Last Name"
655
+ msgstr ""
656
+
657
+ #: ../modules/module.install.php:32 ../modules/module.install.php:38
658
+ #: ../shared/classes/class.lead-fields.php:26
659
+ #: ../shared/templates/email-templates/token-test/token-test.php:16
660
+ msgid "Email"
661
+ msgstr ""
662
+
663
+ #: ../modules/module.install.php:32 ../modules/module.install.php:38
664
+ msgid "Submit"
665
+ msgstr ""
666
+
667
  #: ../modules/module.install.php:36
668
  msgid "Main Catchy Headline Two (B)"
669
  msgstr ""
672
  msgid "Form B"
673
  msgstr ""
674
 
675
+ #: ../modules/module.install.php:133
676
  msgid "WordPress Leads"
677
  msgstr ""
678
 
679
+ #: ../modules/module.install.php:133
680
  msgid ""
681
  "This <b>free</b> landing page addon will give you the ability to track and "
682
  "manage incoming web leads. Gather advanced Lead Intelligence and close more "
683
  "deals."
684
  msgstr ""
685
 
686
+ #: ../modules/module.install.php:133
687
  msgid "Learn more about WordPress Leads"
688
  msgstr ""
689
 
690
+ #: ../modules/module.install.php:138
691
  msgid "WordPress Calls to Action"
692
  msgstr ""
693
 
694
+ #: ../modules/module.install.php:138
695
  msgid ""
696
  "This <b>free</b> landing page addon will drive more traffic into your "
697
  "Landing Pages with Targeted Calls to Action in your sites sidebars & "
698
  "content. Create popups to capture visitor attention and convert more leads."
699
  msgstr ""
700
 
701
+ #: ../modules/module.install.php:138
702
  msgid "Learn more about WordPress Calls to Action"
703
  msgstr ""
704
 
705
+ #: ../modules/module.install.php:168
706
  msgid "Something went wrong with the plugin API."
707
  msgstr ""
708
 
709
+ #: ../modules/module.install.php:181
710
  #, php-format
711
  msgid "All plugins installed and activated successfully. %s"
712
  msgstr ""
720
  msgstr ""
721
 
722
  #: ../modules/module.lead-splash.php:29
 
723
  msgid "Name"
724
  msgstr ""
725
 
732
  msgstr ""
733
 
734
  #: ../modules/module.lead-splash.php:39
735
+ #: ../shared/classes/class.lead-fields.php:74
736
  #: ../shared/templates/email-templates/token-test/token-test.php:20
737
  msgid "City"
738
  msgstr ""
741
  msgid "State"
742
  msgstr ""
743
 
744
+ #: ../modules/module.metaboxes-global.php:29
745
  msgid "Inbound Statistics"
746
  msgstr ""
747
 
766
  "it"
767
  msgstr ""
768
 
769
+ #: ../modules/module.metaboxes.php:177
770
+ #: ../shared/classes/class.lead-fields.php:141
771
  msgid "Notes"
772
  msgstr ""
773
 
774
+ #: ../modules/module.metaboxes.php:177
775
  msgid ""
776
  "Add Notes to your variation. Example: This version is testing a green submit "
777
  "button "
778
  msgstr ""
779
 
780
+ #: ../modules/module.metaboxes.php:178
781
  msgid "Primary Headline Goes here. This will be visible on the page"
782
  msgstr ""
783
 
784
+ #: ../modules/module.metaboxes.php:178
785
  msgid "This headline will appear in the landing page template."
786
  msgstr ""
787
 
788
+ #: ../modules/module.metaboxes.php:226
789
  msgid "Enter Landing Page Description"
790
  msgstr ""
791
 
792
+ #: ../modules/module.metaboxes.php:240 ../shared/classes/class.menu.php:371
793
+ #: ../shared/classes/class.menu.php:373
 
 
794
  msgid "Landing Page Templates"
795
  msgstr ""
796
 
797
+ #: ../modules/module.metaboxes.php:262
798
  msgid "Choose Another Template"
799
  msgstr ""
800
 
801
+ #: ../modules/module.metaboxes.php:297
802
  msgid "Select Your Landing Page Template!"
803
  msgstr ""
804
 
805
+ #: ../modules/module.metaboxes.php:298
806
  msgid "Cancel Template Change"
807
  msgstr ""
808
 
809
+ #: ../modules/module.metaboxes.php:301
810
  msgid "All"
811
  msgstr ""
812
 
813
+ #: ../modules/module.metaboxes.php:302
814
  msgid "Theme"
815
  msgstr ""
816
 
817
+ #: ../modules/module.metaboxes.php:370
818
  msgid "Select"
819
  msgstr ""
820
 
821
+ #: ../modules/module.metaboxes.php:380
822
  msgid "This is Currently Selected"
823
  msgstr ""
824
 
825
+ #: ../modules/module.metaboxes.php:388
826
  msgid "Custom CSS"
827
  msgstr ""
828
 
829
+ #: ../modules/module.metaboxes.php:394
830
  msgid ""
831
  "<em>Custom CSS may be required to customize this landing page.</em><strong> "
832
  "<u>Format</u>: #element-id { display:none !important; }</strong>"
833
  msgstr ""
834
 
835
+ #: ../modules/module.metaboxes.php:421
836
  msgid "Custom JS"
837
  msgstr ""
838
 
839
+ #: ../modules/module.metaboxes.php:622
840
  #: ../shared/templates/email-templates/inbound-new-lead-notification/inbound-new-lead-notification.php:53
841
  #: ../shared/templates/email-templates/inbound-new-lead-notification/inbound-new-lead-notification.php:98
842
  msgid "View Lead"
843
  msgstr ""
844
 
845
+ #: ../modules/module.metaboxes.php:627
846
  msgid "First timer!"
847
  msgstr ""
848
 
849
+ #: ../modules/module.metaboxes.php:647
850
  msgid "No conversions recorded yet..."
851
  msgstr ""
852
 
853
+ #: ../modules/module.metaboxes.php:664
854
  msgid "Conversion logs:"
855
  msgstr ""
856
 
857
+ #: ../modules/module.post-type.php:22 ../shared/classes/class.menu.php:268
 
858
  msgid "Add New Landing Page"
859
  msgstr ""
860
 
875
  msgstr ""
876
 
877
  #: ../modules/module.post-type.php:27
878
+ #: ../shared/classes/class.post-type.wp-lead.php:37
879
+ #: ../shared/shortcodes/shortcodes/forms.php:347
 
880
  msgid "Nothing found"
881
  msgstr ""
882
 
883
  #: ../modules/module.post-type.php:28
884
+ #: ../shared/classes/class.post-type.wp-lead.php:38
885
+ #: ../shared/shortcodes/shortcodes/forms.php:348
 
886
  msgid "Nothing found in Trash"
887
  msgstr ""
888
 
889
+ #: ../modules/module.post-type.php:55 ../shared/classes/class.menu.php:220
890
+ #: ../shared/classes/class.menu.php:276
 
 
 
891
  msgid "Categories"
892
  msgstr ""
893
 
1049
  msgstr ""
1050
 
1051
  #: ../modules/module.templates.php:111
 
 
1052
  msgid "Description"
1053
  msgstr ""
1054
 
1055
  #: ../modules/module.templates.php:112
 
1056
  #: ../shared/shortcodes/shortcodes/landing_pages.php:37
1057
  #: ../shared/shortcodes/shortcodes/landing_pages.php:99
1058
  msgid "Category"
1232
  "template."
1233
  msgstr ""
1234
 
1235
+ #: ../shared/classes/class.form.php:1051
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1236
  msgid "AF"
1237
  msgstr ""
1238
 
1239
+ #: ../shared/classes/class.form.php:1051
1240
  msgid "Afghanistan"
1241
  msgstr ""
1242
 
1243
+ #: ../shared/classes/class.form.php:1052
1244
  msgid "AX"
1245
  msgstr ""
1246
 
1247
+ #: ../shared/classes/class.form.php:1052
1248
  msgid "Aland Islands"
1249
  msgstr ""
1250
 
1251
+ #: ../shared/classes/class.form.php:1053
1252
  msgid "AL"
1253
  msgstr ""
1254
 
1255
+ #: ../shared/classes/class.form.php:1053
1256
  msgid "Albania"
1257
  msgstr ""
1258
 
1259
+ #: ../shared/classes/class.form.php:1054
1260
  msgid "DZ"
1261
  msgstr ""
1262
 
1263
+ #: ../shared/classes/class.form.php:1054
1264
  msgid "Algeria"
1265
  msgstr ""
1266
 
1267
+ #: ../shared/classes/class.form.php:1055
1268
  msgid "AS"
1269
  msgstr ""
1270
 
1271
+ #: ../shared/classes/class.form.php:1055
1272
  msgid "American Samoa"
1273
  msgstr ""
1274
 
1275
+ #: ../shared/classes/class.form.php:1056
1276
  msgid "AD"
1277
  msgstr ""
1278
 
1279
+ #: ../shared/classes/class.form.php:1056
1280
  msgid "Andorra"
1281
  msgstr ""
1282
 
1283
+ #: ../shared/classes/class.form.php:1057
1284
  msgid "AO"
1285
  msgstr ""
1286
 
1287
+ #: ../shared/classes/class.form.php:1057
1288
  msgid "Angola"
1289
  msgstr ""
1290
 
1291
+ #: ../shared/classes/class.form.php:1058
1292
  msgid "AI"
1293
  msgstr ""
1294
 
1295
+ #: ../shared/classes/class.form.php:1058
1296
  msgid "Anguilla"
1297
  msgstr ""
1298
 
1299
+ #: ../shared/classes/class.form.php:1059
1300
  msgid "AQ"
1301
  msgstr ""
1302
 
1303
+ #: ../shared/classes/class.form.php:1059
1304
  msgid "Antarctica"
1305
  msgstr ""
1306
 
1307
+ #: ../shared/classes/class.form.php:1060
1308
  msgid "AG"
1309
  msgstr ""
1310
 
1311
+ #: ../shared/classes/class.form.php:1060
1312
  msgid "Antigua and Barbuda"
1313
  msgstr ""
1314
 
1315
+ #: ../shared/classes/class.form.php:1061
1316
  msgid "AR"
1317
  msgstr ""
1318
 
1319
+ #: ../shared/classes/class.form.php:1061
1320
  msgid "Argentina"
1321
  msgstr ""
1322
 
1323
+ #: ../shared/classes/class.form.php:1062
1324
  msgid "AM"
1325
  msgstr ""
1326
 
1327
+ #: ../shared/classes/class.form.php:1062
1328
  msgid "Armenia"
1329
  msgstr ""
1330
 
1331
+ #: ../shared/classes/class.form.php:1063
1332
  msgid "AW"
1333
  msgstr ""
1334
 
1335
+ #: ../shared/classes/class.form.php:1063
1336
  msgid "Aruba"
1337
  msgstr ""
1338
 
1339
+ #: ../shared/classes/class.form.php:1064
1340
  msgid "AU"
1341
  msgstr ""
1342
 
1343
+ #: ../shared/classes/class.form.php:1064
1344
  msgid "Australia"
1345
  msgstr ""
1346
 
1347
+ #: ../shared/classes/class.form.php:1065
1348
  msgid "AT"
1349
  msgstr ""
1350
 
1351
+ #: ../shared/classes/class.form.php:1065
1352
  msgid "Austria"
1353
  msgstr ""
1354
 
1355
+ #: ../shared/classes/class.form.php:1066
1356
  msgid "AZ"
1357
  msgstr ""
1358
 
1359
+ #: ../shared/classes/class.form.php:1066
1360
  msgid "Azerbaijan"
1361
  msgstr ""
1362
 
1363
+ #: ../shared/classes/class.form.php:1067
1364
  msgid "BS"
1365
  msgstr ""
1366
 
1367
+ #: ../shared/classes/class.form.php:1067
1368
  msgid "Bahamas"
1369
  msgstr ""
1370
 
1371
+ #: ../shared/classes/class.form.php:1068
1372
  msgid "BH"
1373
  msgstr ""
1374
 
1375
+ #: ../shared/classes/class.form.php:1068
1376
  msgid "Bahrain"
1377
  msgstr ""
1378
 
1379
+ #: ../shared/classes/class.form.php:1069
1380
  msgid "BD"
1381
  msgstr ""
1382
 
1383
+ #: ../shared/classes/class.form.php:1069
1384
  msgid "Bangladesh"
1385
  msgstr ""
1386
 
1387
+ #: ../shared/classes/class.form.php:1070
1388
  msgid "BB"
1389
  msgstr ""
1390
 
1391
+ #: ../shared/classes/class.form.php:1070
1392
  msgid "Barbados"
1393
  msgstr ""
1394
 
1395
+ #: ../shared/classes/class.form.php:1071
1396
  msgid "BY"
1397
  msgstr ""
1398
 
1399
+ #: ../shared/classes/class.form.php:1071
1400
  msgid "Belarus"
1401
  msgstr ""
1402
 
1403
+ #: ../shared/classes/class.form.php:1072
1404
  msgid "BE"
1405
  msgstr ""
1406
 
1407
+ #: ../shared/classes/class.form.php:1072
1408
  msgid "Belgium"
1409
  msgstr ""
1410
 
1411
+ #: ../shared/classes/class.form.php:1073
1412
  msgid "BZ"
1413
  msgstr ""
1414
 
1415
+ #: ../shared/classes/class.form.php:1073
1416
  msgid "Belize"
1417
  msgstr ""
1418
 
1419
+ #: ../shared/classes/class.form.php:1074
1420
  msgid "BJ"
1421
  msgstr ""
1422
 
1423
+ #: ../shared/classes/class.form.php:1074
1424
  msgid "Benin"
1425
  msgstr ""
1426
 
1427
+ #: ../shared/classes/class.form.php:1075
1428
  msgid "BM"
1429
  msgstr ""
1430
 
1431
+ #: ../shared/classes/class.form.php:1075
1432
  msgid "Bermuda"
1433
  msgstr ""
1434
 
1435
+ #: ../shared/classes/class.form.php:1076
1436
  msgid "BT"
1437
  msgstr ""
1438
 
1439
+ #: ../shared/classes/class.form.php:1076
1440
  msgid "Bhutan"
1441
  msgstr ""
1442
 
1443
+ #: ../shared/classes/class.form.php:1077
1444
  msgid "BO"
1445
  msgstr ""
1446
 
1447
+ #: ../shared/classes/class.form.php:1077
1448
  msgid "Bolivia"
1449
  msgstr ""
1450
 
1451
+ #: ../shared/classes/class.form.php:1078
1452
  msgid "BA"
1453
  msgstr ""
1454
 
1455
+ #: ../shared/classes/class.form.php:1078
1456
  msgid "Bosnia and Herzegovina"
1457
  msgstr ""
1458
 
1459
+ #: ../shared/classes/class.form.php:1079
1460
  msgid "BW"
1461
  msgstr ""
1462
 
1463
+ #: ../shared/classes/class.form.php:1079
1464
  msgid "Botswana"
1465
  msgstr ""
1466
 
1467
+ #: ../shared/classes/class.form.php:1080
1468
  msgid "BV"
1469
  msgstr ""
1470
 
1471
+ #: ../shared/classes/class.form.php:1080
1472
  msgid "Bouvet Island"
1473
  msgstr ""
1474
 
1475
+ #: ../shared/classes/class.form.php:1081
1476
  msgid "BR"
1477
  msgstr ""
1478
 
1479
+ #: ../shared/classes/class.form.php:1081
1480
  msgid "Brazil"
1481
  msgstr ""
1482
 
1483
+ #: ../shared/classes/class.form.php:1082
1484
  msgid "IO"
1485
  msgstr ""
1486
 
1487
+ #: ../shared/classes/class.form.php:1082
1488
  msgid "British Indian Ocean Territory"
1489
  msgstr ""
1490
 
1491
+ #: ../shared/classes/class.form.php:1083
1492
  msgid "BN"
1493
  msgstr ""
1494
 
1495
+ #: ../shared/classes/class.form.php:1083
1496
  msgid "Brunei Darussalam"
1497
  msgstr ""
1498
 
1499
+ #: ../shared/classes/class.form.php:1084
1500
  msgid "BG"
1501
  msgstr ""
1502
 
1503
+ #: ../shared/classes/class.form.php:1084
1504
  msgid "Bulgaria"
1505
  msgstr ""
1506
 
1507
+ #: ../shared/classes/class.form.php:1085
1508
  msgid "BF"
1509
  msgstr ""
1510
 
1511
+ #: ../shared/classes/class.form.php:1085
1512
  msgid "Burkina Faso"
1513
  msgstr ""
1514
 
1515
+ #: ../shared/classes/class.form.php:1086
1516
  msgid "BI"
1517
  msgstr ""
1518
 
1519
+ #: ../shared/classes/class.form.php:1086
1520
  msgid "Burundi"
1521
  msgstr ""
1522
 
1523
+ #: ../shared/classes/class.form.php:1087
1524
  msgid "KH"
1525
  msgstr ""
1526
 
1527
+ #: ../shared/classes/class.form.php:1087
1528
  msgid "Cambodia"
1529
  msgstr ""
1530
 
1531
+ #: ../shared/classes/class.form.php:1088
1532
  msgid "CM"
1533
  msgstr ""
1534
 
1535
+ #: ../shared/classes/class.form.php:1088
1536
  msgid "Cameroon"
1537
  msgstr ""
1538
 
1539
+ #: ../shared/classes/class.form.php:1089
1540
  msgid "CA"
1541
  msgstr ""
1542
 
1543
+ #: ../shared/classes/class.form.php:1089
1544
  msgid "Canada"
1545
  msgstr ""
1546
 
1547
+ #: ../shared/classes/class.form.php:1090
1548
  msgid "CV"
1549
  msgstr ""
1550
 
1551
+ #: ../shared/classes/class.form.php:1090
1552
  msgid "Cape Verde"
1553
  msgstr ""
1554
 
1555
+ #: ../shared/classes/class.form.php:1091
1556
  msgid "BQ"
1557
  msgstr ""
1558
 
1559
+ #: ../shared/classes/class.form.php:1091
1560
  msgid "Caribbean Netherlands "
1561
  msgstr ""
1562
 
1563
+ #: ../shared/classes/class.form.php:1092
1564
  msgid "KY"
1565
  msgstr ""
1566
 
1567
+ #: ../shared/classes/class.form.php:1092
1568
  msgid "Cayman Islands"
1569
  msgstr ""
1570
 
1571
+ #: ../shared/classes/class.form.php:1093
1572
  msgid "CF"
1573
  msgstr ""
1574
 
1575
+ #: ../shared/classes/class.form.php:1093
1576
  msgid "Central African Republic"
1577
  msgstr ""
1578
 
1579
+ #: ../shared/classes/class.form.php:1094
1580
  msgid "TD"
1581
  msgstr ""
1582
 
1583
+ #: ../shared/classes/class.form.php:1094
1584
  msgid "Chad"
1585
  msgstr ""
1586
 
1587
+ #: ../shared/classes/class.form.php:1095
1588
  msgid "CL"
1589
  msgstr ""
1590
 
1591
+ #: ../shared/classes/class.form.php:1095
1592
  msgid "Chile"
1593
  msgstr ""
1594
 
1595
+ #: ../shared/classes/class.form.php:1096
1596
  msgid "CN"
1597
  msgstr ""
1598
 
1599
+ #: ../shared/classes/class.form.php:1096
1600
  msgid "China"
1601
  msgstr ""
1602
 
1603
+ #: ../shared/classes/class.form.php:1097
1604
  msgid "CX"
1605
  msgstr ""
1606
 
1607
+ #: ../shared/classes/class.form.php:1097
1608
  msgid "Christmas Island"
1609
  msgstr ""
1610
 
1611
+ #: ../shared/classes/class.form.php:1098
1612
  msgid "CC"
1613
  msgstr ""
1614
 
1615
+ #: ../shared/classes/class.form.php:1098
1616
  msgid "Cocos (Keeling) Islands"
1617
  msgstr ""
1618
 
1619
+ #: ../shared/classes/class.form.php:1099
1620
  msgid "CO"
1621
  msgstr ""
1622
 
1623
+ #: ../shared/classes/class.form.php:1099
1624
  msgid "Colombia"
1625
  msgstr ""
1626
 
1627
+ #: ../shared/classes/class.form.php:1100
1628
  msgid "KM"
1629
  msgstr ""
1630
 
1631
+ #: ../shared/classes/class.form.php:1100
1632
  msgid "Comoros"
1633
  msgstr ""
1634
 
1635
+ #: ../shared/classes/class.form.php:1101
1636
  msgid "CG"
1637
  msgstr ""
1638
 
1639
+ #: ../shared/classes/class.form.php:1101
1640
  msgid "Congo"
1641
  msgstr ""
1642
 
1643
+ #: ../shared/classes/class.form.php:1102
1644
  msgid "CD"
1645
  msgstr ""
1646
 
1647
+ #: ../shared/classes/class.form.php:1102
1648
  msgid "Congo, Democratic Republic of"
1649
  msgstr ""
1650
 
1651
+ #: ../shared/classes/class.form.php:1103
1652
  msgid "CK"
1653
  msgstr ""
1654
 
1655
+ #: ../shared/classes/class.form.php:1103
1656
  msgid "Cook Islands"
1657
  msgstr ""
1658
 
1659
+ #: ../shared/classes/class.form.php:1104
1660
  msgid "CR"
1661
  msgstr ""
1662
 
1663
+ #: ../shared/classes/class.form.php:1104
1664
  msgid "Costa Rica"
1665
  msgstr ""
1666
 
1667
+ #: ../shared/classes/class.form.php:1105
1668
  msgid "CI"
1669
  msgstr ""
1670
 
1671
+ #: ../shared/classes/class.form.php:1105
1672
  msgid "Cote d'Ivoire"
1673
  msgstr ""
1674
 
1675
+ #: ../shared/classes/class.form.php:1106
1676
  msgid "HR"
1677
  msgstr ""
1678
 
1679
+ #: ../shared/classes/class.form.php:1106
1680
  msgid "Croatia"
1681
  msgstr ""
1682
 
1683
+ #: ../shared/classes/class.form.php:1107
1684
  msgid "CU"
1685
  msgstr ""
1686
 
1687
+ #: ../shared/classes/class.form.php:1107
1688
  msgid "Cuba"
1689
  msgstr ""
1690
 
1691
+ #: ../shared/classes/class.form.php:1108
1692
  msgid "CW"
1693
  msgstr ""
1694
 
1695
+ #: ../shared/classes/class.form.php:1108
1696
  msgid "Curacao"
1697
  msgstr ""
1698
 
1699
+ #: ../shared/classes/class.form.php:1109
1700
  msgid "CY"
1701
  msgstr ""
1702
 
1703
+ #: ../shared/classes/class.form.php:1109
1704
  msgid "Cyprus"
1705
  msgstr ""
1706
 
1707
+ #: ../shared/classes/class.form.php:1110
1708
  msgid "CZ"
1709
  msgstr ""
1710
 
1711
+ #: ../shared/classes/class.form.php:1110
1712
  msgid "Czech Republic"
1713
  msgstr ""
1714
 
1715
+ #: ../shared/classes/class.form.php:1111
1716
  msgid "DK"
1717
  msgstr ""
1718
 
1719
+ #: ../shared/classes/class.form.php:1111
1720
  msgid "Denmark"
1721
  msgstr ""
1722
 
1723
+ #: ../shared/classes/class.form.php:1112
1724
  msgid "DJ"
1725
  msgstr ""
1726
 
1727
+ #: ../shared/classes/class.form.php:1112
1728
  msgid "Djibouti"
1729
  msgstr ""
1730
 
1731
+ #: ../shared/classes/class.form.php:1113
1732
  msgid "DM"
1733
  msgstr ""
1734
 
1735
+ #: ../shared/classes/class.form.php:1113
1736
  msgid "Dominica"
1737
  msgstr ""
1738
 
1739
+ #: ../shared/classes/class.form.php:1114
1740
  msgid "DO"
1741
  msgstr ""
1742
 
1743
+ #: ../shared/classes/class.form.php:1114
1744
  msgid "Dominican Republic"
1745
  msgstr ""
1746
 
1747
+ #: ../shared/classes/class.form.php:1115
1748
  msgid "EC"
1749
  msgstr ""
1750
 
1751
+ #: ../shared/classes/class.form.php:1115
1752
  msgid "Ecuador"
1753
  msgstr ""
1754
 
1755
+ #: ../shared/classes/class.form.php:1116
1756
  msgid "EG"
1757
  msgstr ""
1758
 
1759
+ #: ../shared/classes/class.form.php:1116
1760
  msgid "Egypt"
1761
  msgstr ""
1762
 
1763
+ #: ../shared/classes/class.form.php:1117
1764
  msgid "SV"
1765
  msgstr ""
1766
 
1767
+ #: ../shared/classes/class.form.php:1117
1768
  msgid "El Salvador"
1769
  msgstr ""
1770
 
1771
+ #: ../shared/classes/class.form.php:1118
1772
  msgid "GQ"
1773
  msgstr ""
1774
 
1775
+ #: ../shared/classes/class.form.php:1118
1776
  msgid "Equatorial Guinea"
1777
  msgstr ""
1778
 
1779
+ #: ../shared/classes/class.form.php:1119
1780
  msgid "ER"
1781
  msgstr ""
1782
 
1783
+ #: ../shared/classes/class.form.php:1119
1784
  msgid "Eritrea"
1785
  msgstr ""
1786
 
1787
+ #: ../shared/classes/class.form.php:1120
1788
  msgid "EE"
1789
  msgstr ""
1790
 
1791
+ #: ../shared/classes/class.form.php:1120
1792
  msgid "Estonia"
1793
  msgstr ""
1794
 
1795
+ #: ../shared/classes/class.form.php:1121
1796
  msgid "ET"
1797
  msgstr ""
1798
 
1799
+ #: ../shared/classes/class.form.php:1121
1800
  msgid "Ethiopia"
1801
  msgstr ""
1802
 
1803
+ #: ../shared/classes/class.form.php:1122
1804
  msgid "FK"
1805
  msgstr ""
1806
 
1807
+ #: ../shared/classes/class.form.php:1122
1808
  msgid "Falkland Islands"
1809
  msgstr ""
1810
 
1811
+ #: ../shared/classes/class.form.php:1123
1812
  msgid "FO"
1813
  msgstr ""
1814
 
1815
+ #: ../shared/classes/class.form.php:1123
1816
  msgid "Faroe Islands"
1817
  msgstr ""
1818
 
1819
+ #: ../shared/classes/class.form.php:1124
1820
  msgid "FJ"
1821
  msgstr ""
1822
 
1823
+ #: ../shared/classes/class.form.php:1124
1824
  msgid "Fiji"
1825
  msgstr ""
1826
 
1827
+ #: ../shared/classes/class.form.php:1125
1828
  msgid "FI"
1829
  msgstr ""
1830
 
1831
+ #: ../shared/classes/class.form.php:1125
1832
  msgid "Finland"
1833
  msgstr ""
1834
 
1835
+ #: ../shared/classes/class.form.php:1126
1836
  msgid "FR"
1837
  msgstr ""
1838
 
1839
+ #: ../shared/classes/class.form.php:1126
1840
  msgid "France"
1841
  msgstr ""
1842
 
1843
+ #: ../shared/classes/class.form.php:1127
1844
  msgid "GF"
1845
  msgstr ""
1846
 
1847
+ #: ../shared/classes/class.form.php:1127
1848
  msgid "French Guiana"
1849
  msgstr ""
1850
 
1851
+ #: ../shared/classes/class.form.php:1128
1852
  msgid "PF"
1853
  msgstr ""
1854
 
1855
+ #: ../shared/classes/class.form.php:1128
1856
  msgid "French Polynesia"
1857
  msgstr ""
1858
 
1859
+ #: ../shared/classes/class.form.php:1129
1860
  msgid "TF"
1861
  msgstr ""
1862
 
1863
+ #: ../shared/classes/class.form.php:1129
1864
  msgid "French Southern Territories"
1865
  msgstr ""
1866
 
1867
+ #: ../shared/classes/class.form.php:1130
1868
  msgid "GA"
1869
  msgstr ""
1870
 
1871
+ #: ../shared/classes/class.form.php:1130
1872
  msgid "Gabon"
1873
  msgstr ""
1874
 
1875
+ #: ../shared/classes/class.form.php:1131
1876
  msgid "GM"
1877
  msgstr ""
1878
 
1879
+ #: ../shared/classes/class.form.php:1131
1880
  msgid "Gambia"
1881
  msgstr ""
1882
 
1883
+ #: ../shared/classes/class.form.php:1132
1884
  msgid "GE"
1885
  msgstr ""
1886
 
1887
+ #: ../shared/classes/class.form.php:1132
1888
  msgid "Georgia"
1889
  msgstr ""
1890
 
1891
+ #: ../shared/classes/class.form.php:1133
1892
  msgid "DE"
1893
  msgstr ""
1894
 
1895
+ #: ../shared/classes/class.form.php:1133
1896
  msgid "Germany"
1897
  msgstr ""
1898
 
1899
+ #: ../shared/classes/class.form.php:1134
1900
  msgid "GH"
1901
  msgstr ""
1902
 
1903
+ #: ../shared/classes/class.form.php:1134
1904
  msgid "Ghana"
1905
  msgstr ""
1906
 
1907
+ #: ../shared/classes/class.form.php:1135
1908
  msgid "GI"
1909
  msgstr ""
1910
 
1911
+ #: ../shared/classes/class.form.php:1135
1912
  msgid "Gibraltar"
1913
  msgstr ""
1914
 
1915
+ #: ../shared/classes/class.form.php:1136
1916
  msgid "GR"
1917
  msgstr ""
1918
 
1919
+ #: ../shared/classes/class.form.php:1136
1920
  msgid "Greece"
1921
  msgstr ""
1922
 
1923
+ #: ../shared/classes/class.form.php:1137
1924
  msgid "GL"
1925
  msgstr ""
1926
 
1927
+ #: ../shared/classes/class.form.php:1137
1928
  msgid "Greenland"
1929
  msgstr ""
1930
 
1931
+ #: ../shared/classes/class.form.php:1138
1932
  msgid "GD"
1933
  msgstr ""
1934
 
1935
+ #: ../shared/classes/class.form.php:1138
1936
  msgid "Grenada"
1937
  msgstr ""
1938
 
1939
+ #: ../shared/classes/class.form.php:1139
1940
  msgid "GP"
1941
  msgstr ""
1942
 
1943
+ #: ../shared/classes/class.form.php:1139
1944
  msgid "Guadeloupe"
1945
  msgstr ""
1946
 
1947
+ #: ../shared/classes/class.form.php:1140
1948
  msgid "GU"
1949
  msgstr ""
1950
 
1951
+ #: ../shared/classes/class.form.php:1140
1952
  msgid "Guam"
1953
  msgstr ""
1954
 
1955
+ #: ../shared/classes/class.form.php:1141
1956
  msgid "GT"
1957
  msgstr ""
1958
 
1959
+ #: ../shared/classes/class.form.php:1141
1960
  msgid "Guatemala"
1961
  msgstr ""
1962
 
1963
+ #: ../shared/classes/class.form.php:1142
1964
  msgid "GG"
1965
  msgstr ""
1966
 
1967
+ #: ../shared/classes/class.form.php:1142
1968
  msgid "Guernsey"
1969
  msgstr ""
1970
 
1971
+ #: ../shared/classes/class.form.php:1143
1972
  msgid "GN"
1973
  msgstr ""
1974
 
1975
+ #: ../shared/classes/class.form.php:1143
1976
  msgid "Guinea"
1977
  msgstr ""
1978
 
1979
+ #: ../shared/classes/class.form.php:1144
1980
  msgid "GW"
1981
  msgstr ""
1982
 
1983
+ #: ../shared/classes/class.form.php:1144
1984
  msgid "Guinea-Bissau"
1985
  msgstr ""
1986
 
1987
+ #: ../shared/classes/class.form.php:1145
1988
  msgid "GY"
1989
  msgstr ""
1990
 
1991
+ #: ../shared/classes/class.form.php:1145
1992
  msgid "Guyana"
1993
  msgstr ""
1994
 
1995
+ #: ../shared/classes/class.form.php:1146
1996
  msgid "HT"
1997
  msgstr ""
1998
 
1999
+ #: ../shared/classes/class.form.php:1146
2000
  msgid "Haiti"
2001
  msgstr ""
2002
 
2003
+ #: ../shared/classes/class.form.php:1147
2004
  msgid "HM"
2005
  msgstr ""
2006
 
2007
+ #: ../shared/classes/class.form.php:1147
2008
  msgid "Heard and McDonald Islands"
2009
  msgstr ""
2010
 
2011
+ #: ../shared/classes/class.form.php:1148
2012
  msgid "HN"
2013
  msgstr ""
2014
 
2015
+ #: ../shared/classes/class.form.php:1148
2016
  msgid "Honduras"
2017
  msgstr ""
2018
 
2019
+ #: ../shared/classes/class.form.php:1149
2020
  msgid "HK"
2021
  msgstr ""
2022
 
2023
+ #: ../shared/classes/class.form.php:1149
2024
  msgid "Hong Kong"
2025
  msgstr ""
2026
 
2027
+ #: ../shared/classes/class.form.php:1150
2028
  msgid "HU"
2029
  msgstr ""
2030
 
2031
+ #: ../shared/classes/class.form.php:1150
2032
  msgid "Hungary"
2033
  msgstr ""
2034
 
2035
+ #: ../shared/classes/class.form.php:1151
2036
  msgid "IS"
2037
  msgstr ""
2038
 
2039
+ #: ../shared/classes/class.form.php:1151
2040
  msgid "Iceland"
2041
  msgstr ""
2042
 
2043
+ #: ../shared/classes/class.form.php:1152
2044
  msgid "IN"
2045
  msgstr ""
2046
 
2047
+ #: ../shared/classes/class.form.php:1152
2048
  msgid "India"
2049
  msgstr ""
2050
 
2051
+ #: ../shared/classes/class.form.php:1153
 
2052
  msgid "ID"
2053
  msgstr ""
2054
 
2055
+ #: ../shared/classes/class.form.php:1153
2056
  msgid "Indonesia"
2057
  msgstr ""
2058
 
2059
+ #: ../shared/classes/class.form.php:1154
2060
  msgid "IR"
2061
  msgstr ""
2062
 
2063
+ #: ../shared/classes/class.form.php:1154
2064
  msgid "Iran"
2065
  msgstr ""
2066
 
2067
+ #: ../shared/classes/class.form.php:1155
2068
  msgid "IQ"
2069
  msgstr ""
2070
 
2071
+ #: ../shared/classes/class.form.php:1155
2072
  msgid "Iraq"
2073
  msgstr ""
2074
 
2075
+ #: ../shared/classes/class.form.php:1156
2076
  msgid "IE"
2077
  msgstr ""
2078
 
2079
+ #: ../shared/classes/class.form.php:1156
2080
  msgid "Ireland"
2081
  msgstr ""
2082
 
2083
+ #: ../shared/classes/class.form.php:1157
2084
  msgid "IM"
2085
  msgstr ""
2086
 
2087
+ #: ../shared/classes/class.form.php:1157
2088
  msgid "Isle of Man"
2089
  msgstr ""
2090
 
2091
+ #: ../shared/classes/class.form.php:1158
2092
  msgid "IL"
2093
  msgstr ""
2094
 
2095
+ #: ../shared/classes/class.form.php:1158
2096
  msgid "Israel"
2097
  msgstr ""
2098
 
2099
+ #: ../shared/classes/class.form.php:1159
2100
  msgid "IT"
2101
  msgstr ""
2102
 
2103
+ #: ../shared/classes/class.form.php:1159
2104
  msgid "Italy"
2105
  msgstr ""
2106
 
2107
+ #: ../shared/classes/class.form.php:1160
2108
  msgid "JM"
2109
  msgstr ""
2110
 
2111
+ #: ../shared/classes/class.form.php:1160
2112
  msgid "Jamaica"
2113
  msgstr ""
2114
 
2115
+ #: ../shared/classes/class.form.php:1161
2116
  msgid "JP"
2117
  msgstr ""
2118
 
2119
+ #: ../shared/classes/class.form.php:1161
2120
  msgid "Japan"
2121
  msgstr ""
2122
 
2123
+ #: ../shared/classes/class.form.php:1162
2124
  msgid "JE"
2125
  msgstr ""
2126
 
2127
+ #: ../shared/classes/class.form.php:1162
2128
  msgid "Jersey"
2129
  msgstr ""
2130
 
2131
+ #: ../shared/classes/class.form.php:1163
2132
  msgid "JO"
2133
  msgstr ""
2134
 
2135
+ #: ../shared/classes/class.form.php:1163
2136
  msgid "Jordan"
2137
  msgstr ""
2138
 
2139
+ #: ../shared/classes/class.form.php:1164
2140
  msgid "KZ"
2141
  msgstr ""
2142
 
2143
+ #: ../shared/classes/class.form.php:1164
2144
  msgid "Kazakhstan"
2145
  msgstr ""
2146
 
2147
+ #: ../shared/classes/class.form.php:1165
2148
  msgid "KE"
2149
  msgstr ""
2150
 
2151
+ #: ../shared/classes/class.form.php:1165
2152
  msgid "Kenya"
2153
  msgstr ""
2154
 
2155
+ #: ../shared/classes/class.form.php:1166
2156
  msgid "KI"
2157
  msgstr ""
2158
 
2159
+ #: ../shared/classes/class.form.php:1166
2160
  msgid "Kiribati"
2161
  msgstr ""
2162
 
2163
+ #: ../shared/classes/class.form.php:1167
2164
  msgid "KW"
2165
  msgstr ""
2166
 
2167
+ #: ../shared/classes/class.form.php:1167
2168
  msgid "Kuwait"
2169
  msgstr ""
2170
 
2171
+ #: ../shared/classes/class.form.php:1168
2172
  msgid "KG"
2173
  msgstr ""
2174
 
2175
+ #: ../shared/classes/class.form.php:1168
2176
  msgid "Kyrgyzstan"
2177
  msgstr ""
2178
 
2179
+ #: ../shared/classes/class.form.php:1169
2180
  msgid "LA"
2181
  msgstr ""
2182
 
2183
+ #: ../shared/classes/class.form.php:1169
2184
  msgid "Lao People's Democratic Republic"
2185
  msgstr ""
2186
 
2187
+ #: ../shared/classes/class.form.php:1170
2188
  msgid "LV"
2189
  msgstr ""
2190
 
2191
+ #: ../shared/classes/class.form.php:1170
2192
  msgid "Latvia"
2193
  msgstr ""
2194
 
2195
+ #: ../shared/classes/class.form.php:1171
2196
  msgid "LB"
2197
  msgstr ""
2198
 
2199
+ #: ../shared/classes/class.form.php:1171
2200
  msgid "Lebanon"
2201
  msgstr ""
2202
 
2203
+ #: ../shared/classes/class.form.php:1172
2204
  msgid "LS"
2205
  msgstr ""
2206
 
2207
+ #: ../shared/classes/class.form.php:1172
2208
  msgid "Lesotho"
2209
  msgstr ""
2210
 
2211
+ #: ../shared/classes/class.form.php:1173
2212
  msgid "LR"
2213
  msgstr ""
2214
 
2215
+ #: ../shared/classes/class.form.php:1173
2216
  msgid "Liberia"
2217
  msgstr ""
2218
 
2219
+ #: ../shared/classes/class.form.php:1174
2220
  msgid "LY"
2221
  msgstr ""
2222
 
2223
+ #: ../shared/classes/class.form.php:1174
2224
  msgid "Libya"
2225
  msgstr ""
2226
 
2227
+ #: ../shared/classes/class.form.php:1175
2228
  msgid "LI"
2229
  msgstr ""
2230
 
2231
+ #: ../shared/classes/class.form.php:1175
2232
  msgid "Liechtenstein"
2233
  msgstr ""
2234
 
2235
+ #: ../shared/classes/class.form.php:1176
2236
  msgid "LT"
2237
  msgstr ""
2238
 
2239
+ #: ../shared/classes/class.form.php:1176
2240
  msgid "Lithuania"
2241
  msgstr ""
2242
 
2243
+ #: ../shared/classes/class.form.php:1177
2244
  msgid "LU"
2245
  msgstr ""
2246
 
2247
+ #: ../shared/classes/class.form.php:1177
2248
  msgid "Luxembourg"
2249
  msgstr ""
2250
 
2251
+ #: ../shared/classes/class.form.php:1178
2252
  msgid "MO"
2253
  msgstr ""
2254
 
2255
+ #: ../shared/classes/class.form.php:1178
2256
  msgid "Macau"
2257
  msgstr ""
2258
 
2259
+ #: ../shared/classes/class.form.php:1179
2260
  msgid "MK"
2261
  msgstr ""
2262
 
2263
+ #: ../shared/classes/class.form.php:1179
2264
  msgid "Macedonia"
2265
  msgstr ""
2266
 
2267
+ #: ../shared/classes/class.form.php:1180
2268
  msgid "MG"
2269
  msgstr ""
2270
 
2271
+ #: ../shared/classes/class.form.php:1180
2272
  msgid "Madagascar"
2273
  msgstr ""
2274
 
2275
+ #: ../shared/classes/class.form.php:1181
2276
  msgid "MW"
2277
  msgstr ""
2278
 
2279
+ #: ../shared/classes/class.form.php:1181
2280
  msgid "Malawi"
2281
  msgstr ""
2282
 
2283
+ #: ../shared/classes/class.form.php:1182
2284
  msgid "MY"
2285
  msgstr ""
2286
 
2287
+ #: ../shared/classes/class.form.php:1182
2288
  msgid "Malaysia"
2289
  msgstr ""
2290
 
2291
+ #: ../shared/classes/class.form.php:1183
2292
  msgid "MV"
2293
  msgstr ""
2294
 
2295
+ #: ../shared/classes/class.form.php:1183
2296
  msgid "Maldives"
2297
  msgstr ""
2298
 
2299
+ #: ../shared/classes/class.form.php:1184
2300
  msgid "ML"
2301
  msgstr ""
2302
 
2303
+ #: ../shared/classes/class.form.php:1184
2304
  msgid "Mali"
2305
  msgstr ""
2306
 
2307
+ #: ../shared/classes/class.form.php:1185
2308
  msgid "MT"
2309
  msgstr ""
2310
 
2311
+ #: ../shared/classes/class.form.php:1185
2312
  msgid "Malta"
2313
  msgstr ""
2314
 
2315
+ #: ../shared/classes/class.form.php:1186
2316
  msgid "MH"
2317
  msgstr ""
2318
 
2319
+ #: ../shared/classes/class.form.php:1186
2320
  msgid "Marshall Islands"
2321
  msgstr ""
2322
 
2323
+ #: ../shared/classes/class.form.php:1187
2324
  msgid "MQ"
2325
  msgstr ""
2326
 
2327
+ #: ../shared/classes/class.form.php:1187
2328
  msgid "Martinique"
2329
  msgstr ""
2330
 
2331
+ #: ../shared/classes/class.form.php:1188
2332
  msgid "MR"
2333
  msgstr ""
2334
 
2335
+ #: ../shared/classes/class.form.php:1188
2336
  msgid "Mauritania"
2337
  msgstr ""
2338
 
2339
+ #: ../shared/classes/class.form.php:1189
2340
  msgid "MU"
2341
  msgstr ""
2342
 
2343
+ #: ../shared/classes/class.form.php:1189
2344
  msgid "Mauritius"
2345
  msgstr ""
2346
 
2347
+ #: ../shared/classes/class.form.php:1190
2348
  msgid "YT"
2349
  msgstr ""
2350
 
2351
+ #: ../shared/classes/class.form.php:1190
2352
  msgid "Mayotte"
2353
  msgstr ""
2354
 
2355
+ #: ../shared/classes/class.form.php:1191
2356
  msgid "MX"
2357
  msgstr ""
2358
 
2359
+ #: ../shared/classes/class.form.php:1191
2360
  msgid "Mexico"
2361
  msgstr ""
2362
 
2363
+ #: ../shared/classes/class.form.php:1192
2364
  msgid "FM"
2365
  msgstr ""
2366
 
2367
+ #: ../shared/classes/class.form.php:1192
2368
  msgid "Micronesia, Federated States of"
2369
  msgstr ""
2370
 
2371
+ #: ../shared/classes/class.form.php:1193
2372
  msgid "MD"
2373
  msgstr ""
2374
 
2375
+ #: ../shared/classes/class.form.php:1193
2376
  msgid "Moldova"
2377
  msgstr ""
2378
 
2379
+ #: ../shared/classes/class.form.php:1194
2380
  msgid "MC"
2381
  msgstr ""
2382
 
2383
+ #: ../shared/classes/class.form.php:1194
2384
  msgid "Monaco"
2385
  msgstr ""
2386
 
2387
+ #: ../shared/classes/class.form.php:1195
2388
  msgid "MN"
2389
  msgstr ""
2390
 
2391
+ #: ../shared/classes/class.form.php:1195
2392
  msgid "Mongolia"
2393
  msgstr ""
2394
 
2395
+ #: ../shared/classes/class.form.php:1196
2396
  msgid "ME"
2397
  msgstr ""
2398
 
2399
+ #: ../shared/classes/class.form.php:1196
2400
  msgid "Montenegro"
2401
  msgstr ""
2402
 
2403
+ #: ../shared/classes/class.form.php:1197
2404
  msgid "MS"
2405
  msgstr ""
2406
 
2407
+ #: ../shared/classes/class.form.php:1197
2408
  msgid "Montserrat"
2409
  msgstr ""
2410
 
2411
+ #: ../shared/classes/class.form.php:1198
2412
  msgid "MA"
2413
  msgstr ""
2414
 
2415
+ #: ../shared/classes/class.form.php:1198
2416
  msgid "Morocco"
2417
  msgstr ""
2418
 
2419
+ #: ../shared/classes/class.form.php:1199
2420
  msgid "MZ"
2421
  msgstr ""
2422
 
2423
+ #: ../shared/classes/class.form.php:1199
2424
  msgid "Mozambique"
2425
  msgstr ""
2426
 
2427
+ #: ../shared/classes/class.form.php:1200
2428
  msgid "MM"
2429
  msgstr ""
2430
 
2431
+ #: ../shared/classes/class.form.php:1200
2432
  msgid "Myanmar"
2433
  msgstr ""
2434
 
2435
+ #: ../shared/classes/class.form.php:1201
2436
  msgid "NA"
2437
  msgstr ""
2438
 
2439
+ #: ../shared/classes/class.form.php:1201
2440
  msgid "Namibia"
2441
  msgstr ""
2442
 
2443
+ #: ../shared/classes/class.form.php:1202
2444
  msgid "NR"
2445
  msgstr ""
2446
 
2447
+ #: ../shared/classes/class.form.php:1202
2448
  msgid "Nauru"
2449
  msgstr ""
2450
 
2451
+ #: ../shared/classes/class.form.php:1203
2452
  msgid "NP"
2453
  msgstr ""
2454
 
2455
+ #: ../shared/classes/class.form.php:1203
2456
  msgid "Nepal"
2457
  msgstr ""
2458
 
2459
+ #: ../shared/classes/class.form.php:1204
2460
  msgid "NC"
2461
  msgstr ""
2462
 
2463
+ #: ../shared/classes/class.form.php:1204
2464
  msgid "New Caledonia"
2465
  msgstr ""
2466
 
2467
+ #: ../shared/classes/class.form.php:1205
2468
  msgid "NZ"
2469
  msgstr ""
2470
 
2471
+ #: ../shared/classes/class.form.php:1205
2472
  msgid "New Zealand"
2473
  msgstr ""
2474
 
2475
+ #: ../shared/classes/class.form.php:1206
2476
  msgid "NI"
2477
  msgstr ""
2478
 
2479
+ #: ../shared/classes/class.form.php:1206
2480
  msgid "Nicaragua"
2481
  msgstr ""
2482
 
2483
+ #: ../shared/classes/class.form.php:1207
2484
  msgid "NE"
2485
  msgstr ""
2486
 
2487
+ #: ../shared/classes/class.form.php:1207
2488
  msgid "Niger"
2489
  msgstr ""
2490
 
2491
+ #: ../shared/classes/class.form.php:1208
2492
  msgid "NG"
2493
  msgstr ""
2494
 
2495
+ #: ../shared/classes/class.form.php:1208
2496
  msgid "Nigeria"
2497
  msgstr ""
2498
 
2499
+ #: ../shared/classes/class.form.php:1209
2500
  msgid "NU"
2501
  msgstr ""
2502
 
2503
+ #: ../shared/classes/class.form.php:1209
2504
  msgid "Niue"
2505
  msgstr ""
2506
 
2507
+ #: ../shared/classes/class.form.php:1210
2508
  msgid "NF"
2509
  msgstr ""
2510
 
2511
+ #: ../shared/classes/class.form.php:1210
2512
  msgid "Norfolk Island"
2513
  msgstr ""
2514
 
2515
+ #: ../shared/classes/class.form.php:1211
2516
  msgid "KP"
2517
  msgstr ""
2518
 
2519
+ #: ../shared/classes/class.form.php:1211
2520
  msgid "North Korea"
2521
  msgstr ""
2522
 
2523
+ #: ../shared/classes/class.form.php:1212
2524
  msgid "MP"
2525
  msgstr ""
2526
 
2527
+ #: ../shared/classes/class.form.php:1212
2528
  msgid "Northern Mariana Islands"
2529
  msgstr ""
2530
 
2531
+ #: ../shared/classes/class.form.php:1213
2532
  msgid "NO"
2533
  msgstr ""
2534
 
2535
+ #: ../shared/classes/class.form.php:1213
2536
  msgid "Norway"
2537
  msgstr ""
2538
 
2539
+ #: ../shared/classes/class.form.php:1214
2540
  msgid "OM"
2541
  msgstr ""
2542
 
2543
+ #: ../shared/classes/class.form.php:1214
2544
  msgid "Oman"
2545
  msgstr ""
2546
 
2547
+ #: ../shared/classes/class.form.php:1215
2548
  msgid "PK"
2549
  msgstr ""
2550
 
2551
+ #: ../shared/classes/class.form.php:1215
2552
  msgid "Pakistan"
2553
  msgstr ""
2554
 
2555
+ #: ../shared/classes/class.form.php:1216
2556
  msgid "PW"
2557
  msgstr ""
2558
 
2559
+ #: ../shared/classes/class.form.php:1216
2560
  msgid "Palau"
2561
  msgstr ""
2562
 
2563
+ #: ../shared/classes/class.form.php:1217
2564
  msgid "PS"
2565
  msgstr ""
2566
 
2567
+ #: ../shared/classes/class.form.php:1217
2568
  msgid "Palestinian Territory, Occupied"
2569
  msgstr ""
2570
 
2571
+ #: ../shared/classes/class.form.php:1218
2572
  msgid "PA"
2573
  msgstr ""
2574
 
2575
+ #: ../shared/classes/class.form.php:1218
2576
  msgid "Panama"
2577
  msgstr ""
2578
 
2579
+ #: ../shared/classes/class.form.php:1219
2580
  msgid "PG"
2581
  msgstr ""
2582
 
2583
+ #: ../shared/classes/class.form.php:1219
2584
  msgid "Papua New Guinea"
2585
  msgstr ""
2586
 
2587
+ #: ../shared/classes/class.form.php:1220
2588
  msgid "PY"
2589
  msgstr ""
2590
 
2591
+ #: ../shared/classes/class.form.php:1220
2592
  msgid "Paraguay"
2593
  msgstr ""
2594
 
2595
+ #: ../shared/classes/class.form.php:1221
2596
  msgid "PE"
2597
  msgstr ""
2598
 
2599
+ #: ../shared/classes/class.form.php:1221
2600
  msgid "Peru"
2601
  msgstr ""
2602
 
2603
+ #: ../shared/classes/class.form.php:1222
2604
  msgid "PH"
2605
  msgstr ""
2606
 
2607
+ #: ../shared/classes/class.form.php:1222
2608
  msgid "Philippines"
2609
  msgstr ""
2610
 
2611
+ #: ../shared/classes/class.form.php:1223
2612
  msgid "PN"
2613
  msgstr ""
2614
 
2615
+ #: ../shared/classes/class.form.php:1223
2616
  msgid "Pitcairn"
2617
  msgstr ""
2618
 
2619
+ #: ../shared/classes/class.form.php:1224
2620
  msgid "PL"
2621
  msgstr ""
2622
 
2623
+ #: ../shared/classes/class.form.php:1224
2624
  msgid "Poland"
2625
  msgstr ""
2626
 
2627
+ #: ../shared/classes/class.form.php:1225
2628
  msgid "PT"
2629
  msgstr ""
2630
 
2631
+ #: ../shared/classes/class.form.php:1225
2632
  msgid "Portugal"
2633
  msgstr ""
2634
 
2635
+ #: ../shared/classes/class.form.php:1226
2636
  msgid "PR"
2637
  msgstr ""
2638
 
2639
+ #: ../shared/classes/class.form.php:1226
2640
  msgid "Puerto Rico"
2641
  msgstr ""
2642
 
2643
+ #: ../shared/classes/class.form.php:1227
2644
  msgid "QA"
2645
  msgstr ""
2646
 
2647
+ #: ../shared/classes/class.form.php:1227
2648
  msgid "Qatar"
2649
  msgstr ""
2650
 
2651
+ #: ../shared/classes/class.form.php:1228
2652
  msgid "RE"
2653
  msgstr ""
2654
 
2655
+ #: ../shared/classes/class.form.php:1228
2656
  msgid "Reunion"
2657
  msgstr ""
2658
 
2659
+ #: ../shared/classes/class.form.php:1229
2660
  msgid "RO"
2661
  msgstr ""
2662
 
2663
+ #: ../shared/classes/class.form.php:1229
2664
  msgid "Romania"
2665
  msgstr ""
2666
 
2667
+ #: ../shared/classes/class.form.php:1230
2668
  msgid "RU"
2669
  msgstr ""
2670
 
2671
+ #: ../shared/classes/class.form.php:1230
2672
  msgid "Russian Federation"
2673
  msgstr ""
2674
 
2675
+ #: ../shared/classes/class.form.php:1231
2676
  msgid "RW"
2677
  msgstr ""
2678
 
2679
+ #: ../shared/classes/class.form.php:1231
2680
  msgid "Rwanda"
2681
  msgstr ""
2682
 
2683
+ #: ../shared/classes/class.form.php:1232
2684
  msgid "BL"
2685
  msgstr ""
2686
 
2687
+ #: ../shared/classes/class.form.php:1232
2688
  msgid "Saint Barthelemy"
2689
  msgstr ""
2690
 
2691
+ #: ../shared/classes/class.form.php:1233
2692
  msgid "SH"
2693
  msgstr ""
2694
 
2695
+ #: ../shared/classes/class.form.php:1233
2696
  msgid "Saint Helena"
2697
  msgstr ""
2698
 
2699
+ #: ../shared/classes/class.form.php:1234
2700
  msgid "KN"
2701
  msgstr ""
2702
 
2703
+ #: ../shared/classes/class.form.php:1234
2704
  msgid "Saint Kitts and Nevis"
2705
  msgstr ""
2706
 
2707
+ #: ../shared/classes/class.form.php:1235
2708
  msgid "LC"
2709
  msgstr ""
2710
 
2711
+ #: ../shared/classes/class.form.php:1235
2712
  msgid "Saint Lucia"
2713
  msgstr ""
2714
 
2715
+ #: ../shared/classes/class.form.php:1236
2716
  msgid "VC"
2717
  msgstr ""
2718
 
2719
+ #: ../shared/classes/class.form.php:1236
2720
  msgid "Saint Vincent and the Grenadines"
2721
  msgstr ""
2722
 
2723
+ #: ../shared/classes/class.form.php:1237
2724
  msgid "MF"
2725
  msgstr ""
2726
 
2727
+ #: ../shared/classes/class.form.php:1237
2728
  msgid "Saint-Martin (France)"
2729
  msgstr ""
2730
 
2731
+ #: ../shared/classes/class.form.php:1238
2732
  msgid "SX"
2733
  msgstr ""
2734
 
2735
+ #: ../shared/classes/class.form.php:1238
2736
  msgid "Saint-Martin (Pays-Bas)"
2737
  msgstr ""
2738
 
2739
+ #: ../shared/classes/class.form.php:1239
2740
  msgid "WS"
2741
  msgstr ""
2742
 
2743
+ #: ../shared/classes/class.form.php:1239
2744
  msgid "Samoa"
2745
  msgstr ""
2746
 
2747
+ #: ../shared/classes/class.form.php:1240
2748
  msgid "SM"
2749
  msgstr ""
2750
 
2751
+ #: ../shared/classes/class.form.php:1240
2752
  msgid "San Marino"
2753
  msgstr ""
2754
 
2755
+ #: ../shared/classes/class.form.php:1241
2756
  msgid "ST"
2757
  msgstr ""
2758
 
2759
+ #: ../shared/classes/class.form.php:1241
2760
  msgid "Sao Tome and Principe"
2761
  msgstr ""
2762
 
2763
+ #: ../shared/classes/class.form.php:1242
2764
  msgid "SA"
2765
  msgstr ""
2766
 
2767
+ #: ../shared/classes/class.form.php:1242
2768
  msgid "Saudi Arabia"
2769
  msgstr ""
2770
 
2771
+ #: ../shared/classes/class.form.php:1243
2772
  msgid "SN"
2773
  msgstr ""
2774
 
2775
+ #: ../shared/classes/class.form.php:1243
2776
  msgid "Senegal"
2777
  msgstr ""
2778
 
2779
+ #: ../shared/classes/class.form.php:1244
2780
  msgid "RS"
2781
  msgstr ""
2782
 
2783
+ #: ../shared/classes/class.form.php:1244
2784
  msgid "Serbia"
2785
  msgstr ""
2786
 
2787
+ #: ../shared/classes/class.form.php:1245
2788
  msgid "SC"
2789
  msgstr ""
2790
 
2791
+ #: ../shared/classes/class.form.php:1245
2792
  msgid "Seychelles"
2793
  msgstr ""
2794
 
2795
+ #: ../shared/classes/class.form.php:1246
2796
  msgid "SL"
2797
  msgstr ""
2798
 
2799
+ #: ../shared/classes/class.form.php:1246
2800
  msgid "Sierra Leone"
2801
  msgstr ""
2802
 
2803
+ #: ../shared/classes/class.form.php:1247
2804
  msgid "SG"
2805
  msgstr ""
2806
 
2807
+ #: ../shared/classes/class.form.php:1247
2808
  msgid "Singapore"
2809
  msgstr ""
2810
 
2811
+ #: ../shared/classes/class.form.php:1248
2812
  msgid "SK"
2813
  msgstr ""
2814
 
2815
+ #: ../shared/classes/class.form.php:1248
2816
  msgid "Slovakia (Slovak Republic)"
2817
  msgstr ""
2818
 
2819
+ #: ../shared/classes/class.form.php:1249
2820
  msgid "SI"
2821
  msgstr ""
2822
 
2823
+ #: ../shared/classes/class.form.php:1249
2824
  msgid "Slovenia"
2825
  msgstr ""
2826
 
2827
+ #: ../shared/classes/class.form.php:1250
2828
  msgid "SB"
2829
  msgstr ""
2830
 
2831
+ #: ../shared/classes/class.form.php:1250
2832
  msgid "Solomon Islands"
2833
  msgstr ""
2834
 
2835
+ #: ../shared/classes/class.form.php:1251
2836
  msgid "SO"
2837
  msgstr ""
2838
 
2839
+ #: ../shared/classes/class.form.php:1251
2840
  msgid "Somalia"
2841
  msgstr ""
2842
 
2843
+ #: ../shared/classes/class.form.php:1252
2844
  msgid "ZA"
2845
  msgstr ""
2846
 
2847
+ #: ../shared/classes/class.form.php:1252
2848
  msgid "South Africa"
2849
  msgstr ""
2850
 
2851
+ #: ../shared/classes/class.form.php:1253
2852
  msgid "GS"
2853
  msgstr ""
2854
 
2855
+ #: ../shared/classes/class.form.php:1253
2856
  msgid "South Georgia and the South Sandwich Islands"
2857
  msgstr ""
2858
 
2859
+ #: ../shared/classes/class.form.php:1254
2860
  msgid "KR"
2861
  msgstr ""
2862
 
2863
+ #: ../shared/classes/class.form.php:1254
2864
  msgid "South Korea"
2865
  msgstr ""
2866
 
2867
+ #: ../shared/classes/class.form.php:1255
2868
  msgid "SS"
2869
  msgstr ""
2870
 
2871
+ #: ../shared/classes/class.form.php:1255
2872
  msgid "South Sudan"
2873
  msgstr ""
2874
 
2875
+ #: ../shared/classes/class.form.php:1256
2876
  msgid "ES"
2877
  msgstr ""
2878
 
2879
+ #: ../shared/classes/class.form.php:1256
2880
  msgid "Spain"
2881
  msgstr ""
2882
 
2883
+ #: ../shared/classes/class.form.php:1257
2884
  msgid "LK"
2885
  msgstr ""
2886
 
2887
+ #: ../shared/classes/class.form.php:1257
2888
  msgid "Sri Lanka"
2889
  msgstr ""
2890
 
2891
+ #: ../shared/classes/class.form.php:1258
2892
  msgid "PM"
2893
  msgstr ""
2894
 
2895
+ #: ../shared/classes/class.form.php:1258
2896
  msgid "St. Pierre and Miquelon"
2897
  msgstr ""
2898
 
2899
+ #: ../shared/classes/class.form.php:1259
2900
  msgid "SD"
2901
  msgstr ""
2902
 
2903
+ #: ../shared/classes/class.form.php:1259
2904
  msgid "Sudan"
2905
  msgstr ""
2906
 
2907
+ #: ../shared/classes/class.form.php:1260
2908
  msgid "SR"
2909
  msgstr ""
2910
 
2911
+ #: ../shared/classes/class.form.php:1260
2912
  msgid "Suriname"
2913
  msgstr ""
2914
 
2915
+ #: ../shared/classes/class.form.php:1261
2916
  msgid "SJ"
2917
  msgstr ""
2918
 
2919
+ #: ../shared/classes/class.form.php:1261
2920
  msgid "Svalbard and Jan Mayen Islands"
2921
  msgstr ""
2922
 
2923
+ #: ../shared/classes/class.form.php:1262
2924
  msgid "SZ"
2925
  msgstr ""
2926
 
2927
+ #: ../shared/classes/class.form.php:1262
2928
  msgid "Swaziland"
2929
  msgstr ""
2930
 
2931
+ #: ../shared/classes/class.form.php:1263
2932
  msgid "SE"
2933
  msgstr ""
2934
 
2935
+ #: ../shared/classes/class.form.php:1263
2936
  msgid "Sweden"
2937
  msgstr ""
2938
 
2939
+ #: ../shared/classes/class.form.php:1264
2940
  msgid "CH"
2941
  msgstr ""
2942
 
2943
+ #: ../shared/classes/class.form.php:1264
2944
  msgid "Switzerland"
2945
  msgstr ""
2946
 
2947
+ #: ../shared/classes/class.form.php:1265
2948
  msgid "SY"
2949
  msgstr ""
2950
 
2951
+ #: ../shared/classes/class.form.php:1265
2952
  msgid "Syria"
2953
  msgstr ""
2954
 
2955
+ #: ../shared/classes/class.form.php:1266
2956
  msgid "TW"
2957
  msgstr ""
2958
 
2959
+ #: ../shared/classes/class.form.php:1266
2960
  msgid "Taiwan"
2961
  msgstr ""
2962
 
2963
+ #: ../shared/classes/class.form.php:1267
2964
  msgid "TJ"
2965
  msgstr ""
2966
 
2967
+ #: ../shared/classes/class.form.php:1267
2968
  msgid "Tajikistan"
2969
  msgstr ""
2970
 
2971
+ #: ../shared/classes/class.form.php:1268
2972
  msgid "TZ"
2973
  msgstr ""
2974
 
2975
+ #: ../shared/classes/class.form.php:1268
2976
  msgid "Tanzania"
2977
  msgstr ""
2978
 
2979
+ #: ../shared/classes/class.form.php:1269
2980
  msgid "TH"
2981
  msgstr ""
2982
 
2983
+ #: ../shared/classes/class.form.php:1269
2984
  msgid "Thailand"
2985
  msgstr ""
2986
 
2987
+ #: ../shared/classes/class.form.php:1270
2988
  msgid "NL"
2989
  msgstr ""
2990
 
2991
+ #: ../shared/classes/class.form.php:1270
2992
  msgid "The Netherlands"
2993
  msgstr ""
2994
 
2995
+ #: ../shared/classes/class.form.php:1271
2996
  msgid "TL"
2997
  msgstr ""
2998
 
2999
+ #: ../shared/classes/class.form.php:1271
3000
  msgid "Timor-Leste"
3001
  msgstr ""
3002
 
3003
+ #: ../shared/classes/class.form.php:1272
3004
  msgid "TG"
3005
  msgstr ""
3006
 
3007
+ #: ../shared/classes/class.form.php:1272
3008
  msgid "Togo"
3009
  msgstr ""
3010
 
3011
+ #: ../shared/classes/class.form.php:1273
3012
  msgid "TK"
3013
  msgstr ""
3014
 
3015
+ #: ../shared/classes/class.form.php:1273
3016
  msgid "Tokelau"
3017
  msgstr ""
3018
 
3019
+ #: ../shared/classes/class.form.php:1274
3020
  msgid "TO"
3021
  msgstr ""
3022
 
3023
+ #: ../shared/classes/class.form.php:1274
3024
  msgid "Tonga"
3025
  msgstr ""
3026
 
3027
+ #: ../shared/classes/class.form.php:1275
3028
  msgid "TT"
3029
  msgstr ""
3030
 
3031
+ #: ../shared/classes/class.form.php:1275
3032
  msgid "Trinidad and Tobago"
3033
  msgstr ""
3034
 
3035
+ #: ../shared/classes/class.form.php:1276
3036
  msgid "TN"
3037
  msgstr ""
3038
 
3039
+ #: ../shared/classes/class.form.php:1276
3040
  msgid "Tunisia"
3041
  msgstr ""
3042
 
3043
+ #: ../shared/classes/class.form.php:1277
3044
  msgid "TR"
3045
  msgstr ""
3046
 
3047
+ #: ../shared/classes/class.form.php:1277
3048
  msgid "Turkey"
3049
  msgstr ""
3050
 
3051
+ #: ../shared/classes/class.form.php:1278
3052
  msgid "TM"
3053
  msgstr ""
3054
 
3055
+ #: ../shared/classes/class.form.php:1278
3056
  msgid "Turkmenistan"
3057
  msgstr ""
3058
 
3059
+ #: ../shared/classes/class.form.php:1279
3060
  msgid "TC"
3061
  msgstr ""
3062
 
3063
+ #: ../shared/classes/class.form.php:1279
3064
  msgid "Turks and Caicos Islands"
3065
  msgstr ""
3066
 
3067
+ #: ../shared/classes/class.form.php:1280
3068
  msgid "TV"
3069
  msgstr ""
3070
 
3071
+ #: ../shared/classes/class.form.php:1280
3072
  msgid "Tuvalu"
3073
  msgstr ""
3074
 
3075
+ #: ../shared/classes/class.form.php:1281
3076
  msgid "UG"
3077
  msgstr ""
3078
 
3079
+ #: ../shared/classes/class.form.php:1281
3080
  msgid "Uganda"
3081
  msgstr ""
3082
 
3083
+ #: ../shared/classes/class.form.php:1282
3084
  msgid "UA"
3085
  msgstr ""
3086
 
3087
+ #: ../shared/classes/class.form.php:1282
3088
  msgid "Ukraine"
3089
  msgstr ""
3090
 
3091
+ #: ../shared/classes/class.form.php:1283
3092
  msgid "AE"
3093
  msgstr ""
3094
 
3095
+ #: ../shared/classes/class.form.php:1283
3096
  msgid "United Arab Emirates"
3097
  msgstr ""
3098
 
3099
+ #: ../shared/classes/class.form.php:1284
3100
  msgid "GB"
3101
  msgstr ""
3102
 
3103
+ #: ../shared/classes/class.form.php:1284
3104
  msgid "United Kingdom"
3105
  msgstr ""
3106
 
3107
+ #: ../shared/classes/class.form.php:1285
3108
  msgid "US"
3109
  msgstr ""
3110
 
3111
+ #: ../shared/classes/class.form.php:1285
3112
  msgid "United States"
3113
  msgstr ""
3114
 
3115
+ #: ../shared/classes/class.form.php:1286
3116
  msgid "UM"
3117
  msgstr ""
3118
 
3119
+ #: ../shared/classes/class.form.php:1286
3120
  msgid "United States Minor Outlying Islands"
3121
  msgstr ""
3122
 
3123
+ #: ../shared/classes/class.form.php:1287
3124
  msgid "UY"
3125
  msgstr ""
3126
 
3127
+ #: ../shared/classes/class.form.php:1287
3128
  msgid "Uruguay"
3129
  msgstr ""
3130
 
3131
+ #: ../shared/classes/class.form.php:1288
3132
  msgid "UZ"
3133
  msgstr ""
3134
 
3135
+ #: ../shared/classes/class.form.php:1288
3136
  msgid "Uzbekistan"
3137
  msgstr ""
3138
 
3139
+ #: ../shared/classes/class.form.php:1289
3140
  msgid "VU"
3141
  msgstr ""
3142
 
3143
+ #: ../shared/classes/class.form.php:1289
3144
  msgid "Vanuatu"
3145
  msgstr ""
3146
 
3147
+ #: ../shared/classes/class.form.php:1290
3148
  msgid "VA"
3149
  msgstr ""
3150
 
3151
+ #: ../shared/classes/class.form.php:1290
3152
  msgid "Vatican"
3153
  msgstr ""
3154
 
3155
+ #: ../shared/classes/class.form.php:1291
3156
  msgid "VE"
3157
  msgstr ""
3158
 
3159
+ #: ../shared/classes/class.form.php:1291
3160
  msgid "Venezuela"
3161
  msgstr ""
3162
 
3163
+ #: ../shared/classes/class.form.php:1292
3164
  msgid "VN"
3165
  msgstr ""
3166
 
3167
+ #: ../shared/classes/class.form.php:1292
3168
  msgid "Vietnam"
3169
  msgstr ""
3170
 
3171
+ #: ../shared/classes/class.form.php:1293
3172
  msgid "VG"
3173
  msgstr ""
3174
 
3175
+ #: ../shared/classes/class.form.php:1293
3176
  msgid "Virgin Islands (British)"
3177
  msgstr ""
3178
 
3179
+ #: ../shared/classes/class.form.php:1294
3180
  msgid "VI"
3181
  msgstr ""
3182
 
3183
+ #: ../shared/classes/class.form.php:1294
3184
  msgid "Virgin Islands (U.S.)"
3185
  msgstr ""
3186
 
3187
+ #: ../shared/classes/class.form.php:1295
3188
  msgid "WF"
3189
  msgstr ""
3190
 
3191
+ #: ../shared/classes/class.form.php:1295
3192
+ msgid "Wallis and Futuna Islands"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3193
  msgstr ""
3194
 
3195
+ #: ../shared/classes/class.form.php:1296
3196
+ msgid "EH"
3197
  msgstr ""
3198
 
3199
+ #: ../shared/classes/class.form.php:1296
3200
+ msgid "Western Sahara"
3201
  msgstr ""
3202
 
3203
+ #: ../shared/classes/class.form.php:1297
3204
+ msgid "YE"
3205
  msgstr ""
3206
 
3207
+ #: ../shared/classes/class.form.php:1297
3208
+ msgid "Yemen"
3209
  msgstr ""
3210
 
3211
+ #: ../shared/classes/class.form.php:1298
3212
+ msgid "ZM"
3213
  msgstr ""
3214
 
3215
+ #: ../shared/classes/class.form.php:1298
3216
+ msgid "Zambia"
3217
  msgstr ""
3218
 
3219
+ #: ../shared/classes/class.form.php:1299
3220
+ msgid "ZW"
3221
  msgstr ""
3222
 
3223
+ #: ../shared/classes/class.form.php:1299
3224
+ msgid "Zimbabwe"
3225
  msgstr ""
3226
 
3227
+ #: ../shared/classes/class.lead-fields.php:32
3228
+ msgid "Website"
3229
  msgstr ""
3230
 
3231
+ #: ../shared/classes/class.lead-fields.php:38
3232
+ msgid "Job Title"
3233
  msgstr ""
3234
 
3235
+ #: ../shared/classes/class.lead-fields.php:44
3236
+ #: ../shared/templates/email-templates/token-test/token-test.php:17
3237
+ msgid "Company Name"
3238
  msgstr ""
3239
 
3240
+ #: ../shared/classes/class.lead-fields.php:50
3241
+ msgid "Mobile Phone"
3242
  msgstr ""
3243
 
3244
+ #: ../shared/classes/class.lead-fields.php:56
3245
+ msgid "Work Phone"
3246
  msgstr ""
3247
 
3248
+ #: ../shared/classes/class.lead-fields.php:62
3249
+ #: ../shared/shortcodes/shortcodes/gmap.php:31
3250
+ msgid "Address"
3251
  msgstr ""
3252
 
3253
+ #: ../shared/classes/class.lead-fields.php:68
3254
+ msgid "Address Continued"
3255
  msgstr ""
3256
 
3257
+ #: ../shared/classes/class.lead-fields.php:80
3258
+ msgid "State/Region"
3259
  msgstr ""
3260
 
3261
+ #: ../shared/classes/class.lead-fields.php:86
3262
+ msgid "Zip-code"
3263
  msgstr ""
3264
 
3265
+ #: ../shared/classes/class.lead-fields.php:93
3266
+ msgid "Country"
3267
  msgstr ""
3268
 
3269
+ #: ../shared/classes/class.lead-fields.php:99
3270
+ msgid "Shipping Address"
3271
  msgstr ""
3272
 
3273
+ #: ../shared/classes/class.lead-fields.php:105
3274
+ msgid "Shipping Address Continued"
3275
  msgstr ""
3276
 
3277
+ #: ../shared/classes/class.lead-fields.php:111
3278
+ msgid "Shipping City"
3279
  msgstr ""
3280
 
3281
+ #: ../shared/classes/class.lead-fields.php:117
3282
+ msgid "Shipping State/Region"
3283
  msgstr ""
3284
 
3285
+ #: ../shared/classes/class.lead-fields.php:123
3286
+ msgid "Shipping Zip-code"
 
 
 
3287
  msgstr ""
3288
 
3289
+ #: ../shared/classes/class.lead-fields.php:129
3290
+ msgid "Shipping Country"
3291
  msgstr ""
3292
 
3293
+ #: ../shared/classes/class.lead-fields.php:135
3294
+ msgid "Related Websites"
3295
  msgstr ""
3296
 
3297
+ #: ../shared/classes/class.menu.php:24
 
3298
  msgid "GO"
3299
  msgstr ""
3300
 
3301
+ #: ../shared/classes/class.menu.php:41
 
3302
  msgid " Marketing"
3303
  msgstr ""
3304
 
3305
+ #: ../shared/classes/class.menu.php:137
 
3306
  msgid "Leads"
3307
  msgstr ""
3308
 
3309
+ #: ../shared/classes/class.menu.php:143
 
3310
  msgid "Search All Leads"
3311
  msgstr ""
3312
 
3313
+ #: ../shared/classes/class.menu.php:158
 
3314
  msgid "View All Leads"
3315
  msgstr ""
3316
 
3317
+ #: ../shared/classes/class.menu.php:160 ../shared/classes/class.menu.php:315
3318
+ #: ../shared/classes/class.menu.php:317
 
 
 
3319
  msgid "View All Forms"
3320
  msgstr ""
3321
 
3322
+ #: ../shared/classes/class.menu.php:166 ../shared/classes/class.menu.php:168
 
 
3323
  msgid "View Lead Lists"
3324
  msgstr ""
3325
 
3326
+ #: ../shared/classes/class.menu.php:174
 
3327
  msgid "Create New Lead"
3328
  msgstr ""
3329
 
3330
+ #: ../shared/classes/class.menu.php:176
 
3331
  msgid "Add new lead"
3332
  msgstr ""
3333
 
3334
+ #: ../shared/classes/class.menu.php:196
 
3335
  msgid "Call to Actions"
3336
  msgstr ""
3337
 
3338
+ #: ../shared/classes/class.menu.php:198 ../shared/classes/class.menu.php:206
3339
+ #: ../shared/classes/class.menu.php:254 ../shared/classes/class.menu.php:262
 
 
 
 
3340
  msgid "View All Landing Pages"
3341
  msgstr ""
3342
 
3343
+ #: ../shared/classes/class.menu.php:204
 
3344
  msgid "View Calls to Action List"
3345
  msgstr ""
3346
 
3347
+ #: ../shared/classes/class.menu.php:212
 
3348
  msgid "Add New Call to Action"
3349
  msgstr ""
3350
 
3351
+ #: ../shared/classes/class.menu.php:214 ../shared/classes/class.menu.php:337
 
 
3352
  msgid "Add new call to action"
3353
  msgstr ""
3354
 
3355
+ #: ../shared/classes/class.menu.php:222 ../shared/classes/class.menu.php:278
 
 
3356
  msgid "Landing Page Categories"
3357
  msgstr ""
3358
 
3359
+ #: ../shared/classes/class.menu.php:229 ../shared/classes/class.menu.php:285
 
 
3360
  msgid "Settings"
3361
  msgstr ""
3362
 
3363
+ #: ../shared/classes/class.menu.php:231
 
3364
  msgid "Manage Call to Action Settings"
3365
  msgstr ""
3366
 
3367
+ #: ../shared/classes/class.menu.php:252
 
3368
  msgid "Landing Pages"
3369
  msgstr ""
3370
 
3371
+ #: ../shared/classes/class.menu.php:260
 
3372
  msgid "View Landing Pages List"
3373
  msgstr ""
3374
 
3375
+ #: ../shared/classes/class.menu.php:270
 
3376
  msgid "Add new Landing Page"
3377
  msgstr ""
3378
 
3379
+ #: ../shared/classes/class.menu.php:287
 
3380
  msgid "Manage Landing Page Settings"
3381
  msgstr ""
3382
 
 
 
 
 
 
 
3383
  #: ../shared/classes/class.menu.php:335
3384
+ #: ../shared/shortcodes/shortcodes/forms.php:342
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3385
  msgid "Create New Form"
3386
  msgstr ""
3387
 
3388
+ #: ../shared/classes/class.menu.php:362 ../shared/classes/class.menu.php:364
 
 
3389
  msgid "Download More Templates"
3390
  msgstr ""
3391
 
3392
+ #: ../shared/classes/class.menu.php:381 ../shared/classes/class.menu.php:383
 
 
3393
  msgid "Call to Action Templates"
3394
  msgstr ""
3395
 
3396
+ #: ../shared/classes/class.menu.php:406 ../shared/classes/class.menu.php:408
 
 
3397
  msgid "Call to Action Settings"
3398
  msgstr ""
3399
 
3400
+ #: ../shared/classes/class.menu.php:415 ../shared/classes/class.menu.php:417
 
 
3401
  msgid "Landing Page Settings"
3402
  msgstr ""
3403
 
3404
+ #: ../shared/classes/class.menu.php:424 ../shared/classes/class.menu.php:426
 
 
3405
  msgid "Lead Settings"
3406
  msgstr ""
3407
 
3408
+ #: ../shared/classes/class.menu.php:440 ../shared/classes/class.menu.php:442
 
 
3409
  msgid "Analytics (coming soon)"
3410
  msgstr ""
3411
 
3412
+ #: ../shared/classes/class.menu.php:455
 
3413
  msgid "SEO by Yoast"
3414
  msgstr ""
3415
 
3416
+ #: ../shared/classes/class.menu.php:457
 
3417
  msgid "Manage SEO Settings"
3418
  msgstr ""
3419
 
3420
+ #: ../shared/classes/class.menu.php:471 ../shared/classes/class.menu.php:473
 
 
3421
  msgid "Support Forum"
3422
  msgstr ""
3423
 
3424
+ #: ../shared/classes/class.menu.php:479 ../shared/classes/class.menu.php:481
 
 
3425
  msgid "Documentation"
3426
  msgstr ""
3427
 
3428
+ #: ../shared/classes/class.menu.php:485
 
3429
  msgid "Search Docs"
3430
  msgstr ""
3431
 
3432
+ #: ../shared/classes/class.menu.php:507 ../shared/classes/class.menu.php:509
 
 
3433
  msgid "Inbound Now Plugin HQ"
3434
  msgstr ""
3435
 
3436
+ #: ../shared/classes/class.menu.php:515 ../shared/classes/class.menu.php:517
 
 
3437
  msgid "GitHub Repository Developer Center"
3438
  msgstr ""
3439
 
3440
+ #: ../shared/classes/class.menu.php:523 ../shared/classes/class.menu.php:525
 
 
3441
  msgid "Official Blog"
3442
  msgstr ""
3443
 
3444
+ #: ../shared/classes/class.menu.php:531 ../shared/classes/class.menu.php:533
 
 
3445
  msgid "My Account"
3446
  msgstr ""
3447
 
3448
+ #: ../shared/classes/class.menu.php:539 ../shared/classes/class.menu.php:541
 
 
3449
  msgid "Purchase History"
3450
  msgstr ""
3451
 
3452
+ #: ../shared/classes/class.menu.php:554
 
3453
  msgid ""
3454
  "<span style=\"color:#fff;font-size: 13px;margin-top: -1px;display: inline-"
3455
  "block;\">Debug Tools</span>"
3456
  msgstr ""
3457
 
3458
+ #: ../shared/classes/class.menu.php:580
 
3459
  msgid "Check for Javascript Errors"
3460
  msgstr ""
3461
 
3462
+ #: ../shared/classes/class.menu.php:582
 
3463
  msgid "Click here to check javascript errors on this page"
3464
  msgstr ""
3465
 
3466
+ #: ../shared/classes/class.menu.php:588
 
3467
  msgid "Remove Javascript Errors"
3468
  msgstr ""
3469
 
3470
+ #: ../shared/classes/class.menu.php:590
 
3471
  msgid "Click here to remove broken javascript to fix issues"
3472
  msgstr ""
3473
 
3474
+ #: ../shared/classes/class.post-type.wp-lead.php:32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3475
  msgid "Add New Lead"
3476
  msgstr ""
3477
 
3478
+ #: ../shared/classes/class.post-type.wp-lead.php:33
3479
  msgid "Edit Lead"
3480
  msgstr ""
3481
 
3482
+ #: ../shared/classes/class.post-type.wp-lead.php:34
3483
  msgid "New Leads"
3484
  msgstr ""
3485
 
3486
+ #: ../shared/classes/class.post-type.wp-lead.php:35
3487
  msgid "View Leads"
3488
  msgstr ""
3489
 
3490
+ #: ../shared/classes/class.post-type.wp-lead.php:36
3491
  msgid "Search Leads"
3492
  msgstr ""
3493
 
3494
+ #: ../shared/classes/class.post-type.wp-lead.php:66
3495
+ #: ../shared/classes/class.post-type.wp-lead.php:81
3496
  msgid "Lead Lists"
3497
  msgstr ""
3498
 
3499
+ #: ../shared/classes/class.post-type.wp-lead.php:67
3500
  msgid "Lead List"
3501
  msgstr ""
3502
 
3503
+ #: ../shared/classes/class.post-type.wp-lead.php:68
3504
  msgid "Search Lead Lists"
3505
  msgstr ""
3506
 
3507
+ #: ../shared/classes/class.post-type.wp-lead.php:69
3508
  msgid "Popular Lead Lists"
3509
  msgstr ""
3510
 
3511
+ #: ../shared/classes/class.post-type.wp-lead.php:70
3512
  msgid "All Lead Lists"
3513
  msgstr ""
3514
 
3515
+ #: ../shared/classes/class.post-type.wp-lead.php:73
3516
  msgid "Edit Lead List"
3517
  msgstr ""
3518
 
3519
+ #: ../shared/classes/class.post-type.wp-lead.php:74
3520
  msgid "Update Lead List"
3521
  msgstr ""
3522
 
3523
+ #: ../shared/classes/class.post-type.wp-lead.php:75
3524
  msgid "Add New Lead List"
3525
  msgstr ""
3526
 
3527
+ #: ../shared/classes/class.post-type.wp-lead.php:76
3528
  msgid "New Lead List"
3529
  msgstr ""
3530
 
3531
+ #: ../shared/classes/class.post-type.wp-lead.php:77
3532
  msgid "Separate Lead Lists with commas"
3533
  msgstr ""
3534
 
3535
+ #: ../shared/classes/class.post-type.wp-lead.php:78
3536
  msgid "Add or remove Lead Lists"
3537
  msgstr ""
3538
 
3539
+ #: ../shared/classes/class.post-type.wp-lead.php:79
3540
  msgid "Choose from the most used lead List"
3541
  msgstr ""
3542
 
3543
+ #: ../shared/classes/class.post-type.wp-lead.php:80
3544
  msgid "No Lead Lists found."
3545
  msgstr ""
3546
 
3547
+ #: ../shared/classes/class.post-type.wp-lead.php:87
3548
  msgid "List Management"
3549
  msgstr ""
3550
 
3551
+ #: ../shared/classes/class.post-type.wp-lead.php:102
3552
  msgid "Search Lead Tags"
3553
  msgstr ""
3554
 
3555
+ #: ../shared/classes/class.post-type.wp-lead.php:103
3556
  msgid "Popular Lead Tags"
3557
  msgstr ""
3558
 
3559
+ #: ../shared/classes/class.post-type.wp-lead.php:104
3560
  msgid "All Lead Tags"
3561
  msgstr ""
3562
 
3563
+ #: ../shared/classes/class.post-type.wp-lead.php:107
3564
  msgid "Edit Lead Tag"
3565
  msgstr ""
3566
 
3567
+ #: ../shared/classes/class.post-type.wp-lead.php:108
3568
  msgid "Update Lead Tag"
3569
  msgstr ""
3570
 
3571
+ #: ../shared/classes/class.post-type.wp-lead.php:109
3572
  msgid "Add New Lead Tag"
3573
  msgstr ""
3574
 
3575
+ #: ../shared/classes/class.post-type.wp-lead.php:110
3576
  msgid "New Lead Tag"
3577
  msgstr ""
3578
 
3579
+ #: ../shared/classes/class.post-type.wp-lead.php:111
3580
  msgid "Separate Lead Tags with commas"
3581
  msgstr ""
3582
 
3583
+ #: ../shared/classes/class.post-type.wp-lead.php:112
3584
  msgid "Add or remove Lead Tags"
3585
  msgstr ""
3586
 
3587
+ #: ../shared/classes/class.post-type.wp-lead.php:113
3588
  msgid "Choose from the most used lead tags"
3589
  msgstr ""
3590
 
3591
+ #: ../shared/classes/class.post-type.wp-lead.php:114
3592
  msgid "No lead tags found."
3593
  msgstr ""
3594
 
3595
+ #: ../shared/classes/class.post-type.wp-lead.php:115
3596
  msgid "Lead Tags"
3597
  msgstr ""
3598
 
3599
+ #: ../shared/classes/class.post-type.wp-lead.php:241
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3600
  msgid ""
3601
  "WordPress Leads is not currently installed/activated to view and manage "
3602
  "leads please turn it on."
3603
  msgstr ""
3604
 
3605
+ #: ../shared/classes/class.post-type.wp-lead.php:268
3606
  #, php-format
3607
  msgid "%d leads"
3608
  msgstr ""
3609
 
3610
+ #: ../shared/classes/class.shortcodes.email-template.php:40
3611
  msgid "n/a"
3612
  msgstr ""
3613
 
3614
+ #: ../shared/classes/class.shortcodes.email-template.php:56
3615
  msgid "View/Edit this form"
3616
  msgstr ""
3617
 
3618
+ #: ../shared/classes/class.shortcodes.email-template.php:60
 
 
 
 
3619
  msgid "View/Edit this CTA"
3620
  msgstr ""
3621
 
3622
+ #: ../shared/classes/class.shortcodes.email-template.php:64
3623
  msgid "Converted on Page"
3624
  msgstr ""
3625
 
3636
  msgid "Thank you for updating to the latest version! "
3637
  msgstr ""
3638
 
3639
+ #: ../shared/extend/inboundnow.global-settings.php:30
3640
+ #: ../shared/extend/inboundnow.global-settings.php:39
3641
+ msgid ""
3642
+ "Head to http://www.inboundnow.com/ to retrieve your extension-ready license "
3643
+ "key."
3644
+ msgstr ""
3645
+
3646
+ #: ../shared/extend/inboundnow.global-settings.php:32
3647
+ msgid "InboundNow Master Key"
3648
+ msgstr ""
3649
+
3650
+ #: ../shared/extend/inboundnow.global-settings.php:38
3651
+ msgid "InboundNow Master License Key"
3652
+ msgstr ""
3653
+
3654
+ #: ../shared/functions/global.shared.functions.php:21
3655
+ #: ../shared/functions/global.shared.functions.php:25
3656
+ #, php-format
3657
+ msgid "%s"
3658
  msgstr ""
3659
 
3660
+ #: ../shared/functions/global.shared.functions.php:22
3661
+ msgid "Marketing"
3662
  msgstr ""
3663
 
3664
+ #: ../shared/shortcodes/inbound-shortcodes.php:642
3665
  msgid "Form Conversions"
3666
  msgstr ""
3667
 
3668
+ #: ../shared/shortcodes/inbound-shortcodes.php:652
3669
  msgid "View this Lead"
3670
  msgstr ""
3671
 
3672
+ #: ../shared/shortcodes/inbound-shortcodes.php:656
3673
  msgid "No Conversions Yet!"
3674
  msgstr ""
3675
 
3676
+ #: ../shared/shortcodes/inbound-shortcodes.php:662
3677
  msgid "Set Email Response to Send to the person filling out the form"
3678
  msgstr ""
3679
 
3680
+ #: ../shared/shortcodes/inbound-shortcodes.php:689
3681
  msgid "Select Response Email Template"
3682
  msgstr ""
3683
 
3684
+ #: ../shared/shortcodes/inbound-shortcodes.php:691
3685
  msgid "Do not use a premade email template"
3686
  msgstr ""
3687
 
3688
+ #: ../shared/shortcodes/inbound-shortcodes.php:749
3689
+ #: ../shared/shortcodes/inbound-shortcodes.php:771
3690
  #: ../shared/shortcodes/popup.php:27 ../shared/shortcodes/popup.php:50
3691
  msgid "Insert Shortcode"
3692
  msgstr ""
3693
 
3694
+ #: ../shared/shortcodes/inbound-shortcodes.php:758
3695
  msgid "Form Preview"
3696
  msgstr ""
3697
 
3698
+ #: ../shared/shortcodes/inbound-shortcodes.php:761
3699
  #: ../shared/shortcodes/popup.php:39
3700
  msgid "Shortcode has no preview"
3701
  msgstr ""
3796
  msgstr ""
3797
 
3798
  #: ../shared/shortcodes/shortcodes/button.php:70
3799
+ #: ../shared/shortcodes/shortcodes/forms.php:164
3800
  msgid "Button Text Color"
3801
  msgstr ""
3802
 
3803
  #: ../shared/shortcodes/shortcodes/button.php:71
3804
+ #: ../shared/shortcodes/shortcodes/forms.php:165
3805
  msgid "Color of text"
3806
  msgstr ""
3807
 
3818
  #: ../shared/shortcodes/shortcodes/button.php:77
3819
  #: ../shared/shortcodes/shortcodes/callout.php:51
3820
  #: ../shared/shortcodes/shortcodes/callout.php:118
3821
+ #: ../shared/shortcodes/shortcodes/forms.php:139
3822
  #: ../shared/shortcodes/shortcodes/tabs.php:28
3823
  #: ../shared/shortcodes/shortcodes/tabs.php:73
3824
  #: ../shared/shortcodes/shortcodes/teaser.php:58
3827
  msgstr ""
3828
 
3829
  #: ../shared/shortcodes/shortcodes/button.php:84
3830
+ #: ../shared/shortcodes/shortcodes/forms.php:178
3831
  msgid "Custom Width"
3832
  msgstr ""
3833
 
3856
  msgstr ""
3857
 
3858
  #: ../shared/shortcodes/shortcodes/call-to-action.php:18
3859
+ #: ../shared/shortcodes/shortcodes/forms.php:108
3860
+ #: ../shared/shortcodes/shortcodes/forms.php:154
3861
  msgid "Choose Your Form Layout"
3862
  msgstr ""
3863
 
4067
  msgstr ""
4068
 
4069
  #: ../shared/shortcodes/shortcodes/divider.php:50
4070
+ #: ../shared/shortcodes/shortcodes/forms.php:207
4071
  msgid "Divider"
4072
  msgstr ""
4073
 
4079
  msgid "Margin Bottom"
4080
  msgstr ""
4081
 
4082
+ #: ../shared/shortcodes/shortcodes/forms.php:19
4083
  msgid "Choose Starting Template"
4084
  msgstr ""
4085
 
4086
+ #: ../shared/shortcodes/shortcodes/forms.php:20
4087
  msgid "Start Building Your Form from premade templates"
4088
  msgstr ""
4089
 
4090
+ #: ../shared/shortcodes/shortcodes/forms.php:27
4091
+ #: ../shared/shortcodes/shortcodes/quick-forms.php:26
4092
  msgid "Form Name<span class=\"small-required-text\">*</span>"
4093
  msgstr ""
4094
 
4095
+ #: ../shared/shortcodes/shortcodes/forms.php:28
4096
+ #: ../shared/shortcodes/shortcodes/quick-forms.php:27
4097
  msgid "This is not shown to visitors"
4098
  msgstr ""
4099
 
4100
+ #: ../shared/shortcodes/shortcodes/forms.php:45
4101
  msgid "Redirect URL<span class=\"small-required-text\">*</span>"
4102
  msgstr ""
4103
 
4104
+ #: ../shared/shortcodes/shortcodes/forms.php:46
4105
  msgid "Where do you want to send people after they fill out the form?"
4106
  msgstr ""
4107
 
4108
+ #: ../shared/shortcodes/shortcodes/forms.php:62
4109
  msgid "Notify on Form Completions<span class=\"small-required-text\">*</span>"
4110
  msgstr ""
4111
 
4112
+ #: ../shared/shortcodes/shortcodes/forms.php:63
4113
  msgid ""
4114
  "Who should get admin notifications on this form?<br>For multiple "
4115
  "notifications separate email addresses with commas"
4116
  msgstr ""
4117
 
4118
+ #: ../shared/shortcodes/shortcodes/forms.php:70
4119
  msgid "Admin Email Subject Line<span class=\"small-required-text\">*</span>"
4120
  msgstr ""
4121
 
4122
+ #: ../shared/shortcodes/shortcodes/forms.php:71
4123
  msgid ""
4124
  "Customize the subject line of email notifications arriving from this form. "
4125
  "default: {{site-name}} {{form-name}} - New Lead Conversion"
4126
  msgstr ""
4127
 
4128
+ #: ../shared/shortcodes/shortcodes/forms.php:78
4129
  msgid "Add to List(s)"
4130
  msgstr ""
4131
 
4132
+ #: ../shared/shortcodes/shortcodes/forms.php:79
4133
  msgid "Add the converting lead to 1 or more lead lists"
4134
  msgstr ""
4135
 
4136
+ #: ../shared/shortcodes/shortcodes/forms.php:86
4137
  msgid "Hidden List Values"
4138
  msgstr ""
4139
 
4140
+ #: ../shared/shortcodes/shortcodes/forms.php:87
4141
  msgid "Hidden list values"
4142
  msgstr ""
4143
 
4144
+ #: ../shared/shortcodes/shortcodes/forms.php:93
4145
+ #: ../shared/shortcodes/shortcodes/forms.php:100
4146
+ #: ../shared/shortcodes/shortcodes/quick-forms.php:19
4147
  msgid "Name Name Name"
4148
  msgstr ""
4149
 
4150
+ #: ../shared/shortcodes/shortcodes/forms.php:94
4151
  msgid ""
4152
  "<span class=\"switch-to-form-insert button\">Cancel Form Creation & Insert "
4153
  "Existing Form</span>"
4154
  msgstr ""
4155
 
4156
+ #: ../shared/shortcodes/shortcodes/forms.php:101
4157
  msgid "Layout Options"
4158
  msgstr ""
4159
 
4160
+ #: ../shared/shortcodes/shortcodes/forms.php:107
4161
  msgid "Form Layout"
4162
  msgstr ""
4163
 
4164
+ #: ../shared/shortcodes/shortcodes/forms.php:118
4165
  msgid "Label Alignment"
4166
  msgstr ""
4167
 
4168
+ #: ../shared/shortcodes/shortcodes/forms.php:119
4169
  msgid "Choose Label Layout"
4170
  msgstr ""
4171
 
4172
+ #: ../shared/shortcodes/shortcodes/forms.php:131
4173
  msgid "Form Font Size"
4174
  msgstr ""
4175
 
4176
+ #: ../shared/shortcodes/shortcodes/forms.php:132
4177
  msgid "Size of Label Font. This also determines default submit button size"
4178
  msgstr ""
4179
 
4180
+ #: ../shared/shortcodes/shortcodes/forms.php:138
4181
  msgid "Submit Button Icon"
4182
  msgstr ""
4183
 
4184
+ #: ../shared/shortcodes/shortcodes/forms.php:146
4185
  msgid "Submit Button Text"
4186
  msgstr ""
4187
 
4188
+ #: ../shared/shortcodes/shortcodes/forms.php:147
4189
  msgid ""
4190
  "Enter the text you want to show on the submit button. (or a link to a custom "
4191
  "submit button image)"
4192
  msgstr ""
4193
 
4194
+ #: ../shared/shortcodes/shortcodes/forms.php:153
4195
+ msgid "Submit Button Color Options"
 
 
 
 
4196
  msgstr ""
4197
 
4198
+ #: ../shared/shortcodes/shortcodes/forms.php:171
4199
  msgid "Button BG Color"
4200
  msgstr ""
4201
 
4202
+ #: ../shared/shortcodes/shortcodes/forms.php:172
4203
+ msgid "Background Color of Submit button"
4204
  msgstr ""
4205
 
4206
+ #: ../shared/shortcodes/shortcodes/forms.php:179
4207
  msgid "Enter in pixel width or % width. Example: 400 <u>or</u> 100%"
4208
  msgstr ""
4209
 
4210
+ #: ../shared/shortcodes/shortcodes/forms.php:188
4211
  msgid "Field Label"
4212
  msgstr ""
4213
 
4214
+ #: ../shared/shortcodes/shortcodes/forms.php:192
4215
  msgid "Enter the Form Field Label. Example: First Name"
4216
  msgstr ""
4217
 
4218
+ #: ../shared/shortcodes/shortcodes/forms.php:195
4219
  msgid "Field Type"
4220
  msgstr ""
4221
 
4222
+ #: ../shared/shortcodes/shortcodes/forms.php:196
4223
  msgid "Select an form field type"
4224
  msgstr ""
4225
 
4226
+ #: ../shared/shortcodes/shortcodes/forms.php:199
4227
  msgid "Single Line Text"
4228
  msgstr ""
4229
 
4230
+ #: ../shared/shortcodes/shortcodes/forms.php:200
4231
  #: ../shared/shortcodes/shortcodes/leadp.php:23
4232
  msgid "Paragraph Text"
4233
  msgstr ""
4234
 
4235
+ #: ../shared/shortcodes/shortcodes/forms.php:201
4236
  msgid "Dropdown - Custom"
4237
  msgstr ""
4238
 
4239
+ #: ../shared/shortcodes/shortcodes/forms.php:202
4240
  msgid "Dropdown - Countries"
4241
  msgstr ""
4242
 
4243
+ #: ../shared/shortcodes/shortcodes/forms.php:203
4244
  msgid "Radio Select"
4245
  msgstr ""
4246
 
4247
+ #: ../shared/shortcodes/shortcodes/forms.php:204
4248
  msgid "Number"
4249
  msgstr ""
4250
 
4251
+ #: ../shared/shortcodes/shortcodes/forms.php:205
4252
  msgid "Checkbox"
4253
  msgstr ""
4254
 
4255
+ #: ../shared/shortcodes/shortcodes/forms.php:206
4256
+ #: ../shared/shortcodes/shortcodes/forms.php:243
4257
  msgid "HTML Block"
4258
  msgstr ""
4259
 
4260
+ #: ../shared/shortcodes/shortcodes/forms.php:208
4261
+ msgid "Date Field"
 
 
 
 
4262
  msgstr ""
4263
 
4264
+ #: ../shared/shortcodes/shortcodes/forms.php:209
4265
  msgid "Time Field"
4266
  msgstr ""
4267
 
4268
+ #: ../shared/shortcodes/shortcodes/forms.php:210
4269
  msgid "Hidden Field"
4270
  msgstr ""
4271
 
4272
+ #: ../shared/shortcodes/shortcodes/forms.php:219
 
 
 
 
4273
  msgid "Dropdown choices"
4274
  msgstr ""
4275
 
4276
+ #: ../shared/shortcodes/shortcodes/forms.php:220
4277
+ msgid "Enter Your Dropdown Options. Separate by commas."
 
 
4278
  msgstr ""
4279
 
4280
+ #: ../shared/shortcodes/shortcodes/forms.php:223
4281
+ #: ../shared/shortcodes/shortcodes/forms.php:239
4282
+ msgid "Choice 1, Choice 2, Choice 3"
4283
  msgstr ""
4284
 
4285
+ #: ../shared/shortcodes/shortcodes/forms.php:227
4286
  msgid "Radio Choices"
4287
  msgstr ""
4288
 
4289
+ #: ../shared/shortcodes/shortcodes/forms.php:228
4290
+ msgid "Enter Your Radio Options. Separate by commas."
 
 
4291
  msgstr ""
4292
 
4293
+ #: ../shared/shortcodes/shortcodes/forms.php:235
4294
  msgid "Checkbox choices"
4295
  msgstr ""
4296
 
4297
+ #: ../shared/shortcodes/shortcodes/forms.php:236
4298
+ msgid "Enter Your Checkbox Options. Separate by commas."
 
 
4299
  msgstr ""
4300
 
4301
+ #: ../shared/shortcodes/shortcodes/forms.php:244
4302
  msgid "This is a raw HTML block in the form. Insert text/HTML"
4303
  msgstr ""
4304
 
4305
+ #: ../shared/shortcodes/shortcodes/forms.php:250
4306
  msgid "Default Value"
4307
  msgstr ""
4308
 
4309
+ #: ../shared/shortcodes/shortcodes/forms.php:251
4310
  msgid "Enter the Default Value"
4311
  msgstr ""
4312
 
4313
+ #: ../shared/shortcodes/shortcodes/forms.php:258
4314
  msgid "Divider Text (optional)"
4315
  msgstr ""
4316
 
4317
+ #: ../shared/shortcodes/shortcodes/forms.php:259
4318
  msgid "This is the text in the divider"
4319
  msgstr ""
4320
 
4321
+ #: ../shared/shortcodes/shortcodes/forms.php:265
4322
+ #: ../shared/shortcodes/shortcodes/forms.php:287
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4323
  msgid "Field Description <span class=\"small-optional-text\">(optional)</span>"
4324
  msgstr ""
4325
 
4326
+ #: ../shared/shortcodes/shortcodes/forms.php:266
4327
  msgid "<span class=\"show-advanced-fields\">Show advanced fields</span>"
4328
  msgstr ""
4329
 
4330
+ #: ../shared/shortcodes/shortcodes/forms.php:272
4331
+ msgid "Required Field? <span class=\"small-optional-text\">(optional)</span>"
4332
  msgstr ""
4333
 
4334
+ #: ../shared/shortcodes/shortcodes/forms.php:273
4335
+ msgid "Check to make field required"
4336
  msgstr ""
4337
 
4338
+ #: ../shared/shortcodes/shortcodes/forms.php:280
4339
  msgid "Field Placeholder <span class=\"small-optional-text\">(optional)</span>"
4340
  msgstr ""
4341
 
4342
+ #: ../shared/shortcodes/shortcodes/forms.php:281
4343
  msgid "Put field placeholder text here. Only works for normal text inputs"
4344
  msgstr ""
4345
 
4346
+ #: ../shared/shortcodes/shortcodes/forms.php:288
4347
  msgid "Put field description here."
4348
  msgstr ""
4349
 
4350
+ #: ../shared/shortcodes/shortcodes/forms.php:294
4351
  msgid ""
4352
  "Field Container Classes <span class=\"small-optional-text\">(optional)</span>"
4353
  msgstr ""
4354
 
4355
+ #: ../shared/shortcodes/shortcodes/forms.php:295
4356
  msgid ""
4357
  "Add additional class ids to the div that contains this field. Separate "
4358
  "classes with spaces."
4359
  msgstr ""
4360
 
4361
+ #: ../shared/shortcodes/shortcodes/forms.php:301
4362
  msgid ""
4363
  "Field Input Classes <span class=\"small-optional-text\">(optional)</span>"
4364
  msgstr ""
4365
 
4366
+ #: ../shared/shortcodes/shortcodes/forms.php:302
4367
  msgid ""
4368
  "Add additional class ids to this input field. Separate classes with spaces."
4369
  msgstr ""
4370
 
4371
+ #: ../shared/shortcodes/shortcodes/forms.php:309
4372
  msgid ""
4373
  "Dynamic Field Filling <span class=\"small-optional-text\">(optional)</span>"
4374
  msgstr ""
4375
 
4376
+ #: ../shared/shortcodes/shortcodes/forms.php:310
4377
  msgid "Enter Your Dynamic URL parameter"
4378
  msgstr ""
4379
 
4380
+ #: ../shared/shortcodes/shortcodes/forms.php:318
4381
+ msgid "Map Field To <span class=\"small-optional-text\">(optional)</span>"
4382
+ msgstr ""
4383
+
4384
+ #: ../shared/shortcodes/shortcodes/forms.php:319
4385
+ msgid "Map this field to Leads Value"
4386
+ msgstr ""
4387
+
4388
+ #: ../shared/shortcodes/shortcodes/forms.php:327
4389
  msgid "Add Another Field"
4390
  msgstr ""
4391
 
4392
+ #: ../shared/shortcodes/shortcodes/forms.php:343
4393
  msgid "Edit Form"
4394
  msgstr ""
4395
 
4396
+ #: ../shared/shortcodes/shortcodes/forms.php:344
4397
  msgid "New Form"
4398
  msgstr ""
4399
 
4400
+ #: ../shared/shortcodes/shortcodes/forms.php:345
4401
  msgid "View Lists"
4402
  msgstr ""
4403
 
4404
+ #: ../shared/shortcodes/shortcodes/forms.php:346
4405
  msgid "Search Lists"
4406
  msgstr ""
4407
 
4960
  msgid "Insert a Saved Form"
4961
  msgstr ""
4962
 
4963
+ #: ../shared/shortcodes/shortcodes/quick-forms.php:20
4964
+ msgid "<span class=\"switch-to-form-builder button\">Build a New Form</span>"
4965
+ msgstr ""
4966
+
4967
+ #: ../shared/shortcodes/shortcodes/quick-forms.php:35
4968
  msgid "Quick Insert Inbound Form Shortcode"
4969
  msgstr ""
4970
 
5313
  msgid "Address Line 2"
5314
  msgstr ""
5315
 
5316
+ #: ../shared/templates/email-templates/token-test/token-test.php:21
5317
+ msgid "Region/State"
5318
+ msgstr ""
5319
+
5320
  #: ../shared/templates/email-templates/token-test/token-test.php:22
5321
  msgid "Form Name"
5322
  msgstr ""
5431
  "a> has been setup! Please use the credentials below to access your account:"
5432
  msgstr ""
5433
 
5434
+ #: ../shared/templates/email-templates/wp-new-user-notification/wp-new-user-notification.php:48
5435
+ msgid "Username"
5436
+ msgstr ""
5437
+
5438
  #: ../shared/templates/email-templates/wp-new-user-notification/wp-new-user-notification.php:59
5439
  msgid "Password"
5440
  msgstr ""
5445
 
5446
  #: ../shared/templates/email-templates/wp-notify-moderator/wp-notify-moderator.php:34
5447
  msgid ""
5448
+ "{{wp-user-displayname}}, There is a new comment on <a href=\"{{wp-post-"
5449
  "url}}\">{{wp-post-title}}</a>"
5450
  msgstr ""
5451
 
5489
  #: ../templates/svtle/config.php:55
5490
  #: ../templates/three-column-lander/config.php:56
5491
  #: ../templates/tubelar/config.php:75
5492
+ msgid "Call to Action Content"
5493
  msgstr ""
5494
 
5495
  #: ../templates/countdown-lander/config.php:37
5548
  msgid "Submit Button Background Color"
5549
  msgstr ""
5550
 
5551
+ #: ../templates/svtle/config.php:82
5552
+ msgid "submit-button-color"
5553
+ msgstr ""
5554
+
5555
  #: ../templates/svtle/config.php:88 ../templates/tubelar/config.php:124
5556
  msgid "Logo Image"
5557
  msgstr ""
5680
  msgstr ""
5681
 
5682
  #: ../templates/tubelar/config.php:82
5683
+ msgid "Youtube Background Video URL"
5684
  msgstr ""
5685
 
5686
  #: ../templates/tubelar/config.php:91
modules/module.ab-testing.php CHANGED
@@ -1,7 +1,8 @@
1
  <?php
2
 
3
  /* ADMIN ONLY AB TESTING FUNCTIONS */
4
- if (is_admin()) {
 
5
  include_once(LANDINGPAGES_PATH.'modules/module.ab-testing.metaboxes.php');
6
 
7
  /**
@@ -10,7 +11,8 @@ if (is_admin()) {
10
  * @param [type] $vid [description]
11
  * @return [type] [description]
12
  */
13
- function lp_ab_unset_variation($variations,$vid){
 
14
  if(($key = array_search($vid, $variations)) !== false) {
15
  unset($variations[$key]);
16
  }
@@ -24,7 +26,8 @@ if (is_admin()) {
24
  * @param [INT] $vid [description]
25
  * @return [INT]
26
  */
27
- function lp_ab_get_lp_active_status($post,$vid=null) {
 
28
  if ($vid==0)
29
  {
30
  $variation_status = get_post_meta( $post->ID , 'lp_ab_variation_status' , true);
@@ -71,15 +74,15 @@ if (is_admin()) {
71
  {
72
  $array_variations = explode(',',$variations);
73
  $array_variations = lp_ab_unset_variation($array_variations,$_GET['lp-variation-id']);
74
-
75
  /* set next variation to be open */
76
- $current_variation_id = current($array_variations);
77
  $_SESSION['lp_ab_test_open_variation'] = $current_variation_id;
78
-
79
  $variations = implode(',' , $array_variations);
80
  update_post_meta($post->ID,'lp-ab-variations', $variations);
81
-
82
-
83
  if (isset($_GET['lp-variation-id']) && $_GET['lp-variation-id'] > 0 ) {
84
  $suffix = '-'.$_GET['lp-variation-id'];
85
  $len = strlen($suffix);
@@ -87,16 +90,14 @@ if (is_admin()) {
87
  $suffix = '';
88
  $len = strlen($suffix);
89
  }
90
-
91
  //delete each meta value associated with variation
92
  global $wpdb;
93
- $data = array();
94
- $post__ID = (is_numeric($_GET['post'])) ? $_GET['post'] : '0';
95
-
96
  $wpdb->query("
97
  SELECT `meta_key`, `meta_value`
98
  FROM $wpdb->postmeta
99
- WHERE `post_id` = ".$post__ID."
100
  ");
101
 
102
  foreach($wpdb->last_result as $k => $v){
@@ -110,7 +111,7 @@ if (is_admin()) {
110
  delete_post_meta($_GET['post'], $key, $value);
111
  }
112
  }
113
-
114
  $_GET['lp-variation-id'] = $current_variation_id;
115
  }
116
 
@@ -222,7 +223,8 @@ if (is_admin()) {
222
 
223
  //disable this because it will populate all wp_editor isntances rather than targeted instances
224
  //add_filter('the_editor_content', 'lp_ab_testing_the_editor_content');
225
- function lp_ab_testing_the_editor_content($content) {
 
226
  $current_variation_id = lp_ab_testing_get_current_variation_id();
227
 
228
  if (isset($_REQUEST['post']))
@@ -344,14 +346,14 @@ if (is_admin()) {
344
  foreach ($lp_custom_fields as $key=>$field)
345
  {
346
  $default = get_post_meta($post_id, $field['id'], true);
347
-
348
  $id = $field['id'];
349
  $field['id'] = $id.'-'.$current_variation_id ;
350
-
351
  if ($default) {
352
  $field['default'] = $default;
353
  }
354
-
355
  $lp_custom_fields[$key] = $field;
356
  }
357
  return $lp_custom_fields;
@@ -765,12 +767,9 @@ function lp_ab_testing_add_rewrite_rules()
765
 
766
  $slug = get_option( 'lp-main-landing-page-permalink-prefix', 'go' );
767
  //echo $slug;exit;
768
- $ab_testing = get_option( 'lp-main-landing-page-disable-turn-off-ab', "0");
769
- if($ab_testing === "0") {
770
- add_rewrite_rule("$slug/([^/]*)/([0-9]+)/", "$slug/$1?lp-variation-id=$2",'top');
771
  add_rewrite_rule("$slug/([^/]*)?", $this_path."modules/module.redirect-ab-testing.php?permalink_name=$1 ",'top');
772
  add_rewrite_rule("landing-page=([^/]*)?", $this_path.'modules/module.redirect-ab-testing.php?permalink_name=$1','top');
773
- }
774
  add_filter('mod_rewrite_rules', 'lp_ab_testing_modify_rules', 1);
775
  function lp_ab_testing_modify_rules($rules)
776
  {
@@ -794,7 +793,7 @@ function lp_ab_testing_add_rewrite_rules()
794
  foreach ($rules_array as $key=>$val)
795
  {
796
 
797
- if ( stristr($val,"RewriteRule ^{$slug}/([^/]*)? ") || stristr($val,"RewriteRule ^{$slug}/([^/]*)/([0-9]+)/ ") )
798
  {
799
  $new_val = "RewriteCond %{QUERY_STRING} !lp-variation-id";
800
  $rules_array[$i] = $new_val;
@@ -886,7 +885,7 @@ function lp_ab_testing_prepare_variation_callback()
886
  die();
887
  }
888
 
889
-
890
  }
891
 
892
 
@@ -899,7 +898,7 @@ function lp_ab_testing_alter_content_area($content)
899
  if ( !isset($post) || $post->post_type != 'landing-page' ) {
900
  return $content;
901
  }
902
-
903
  $variation_id = lp_ab_testing_get_current_variation_id();
904
 
905
  if ($variation_id>0)
@@ -927,19 +926,20 @@ function lp_ab_testing_alter_title_area( $content , $id = null)
927
  }
928
 
929
  add_action('lp_record_impression','lp_ab_testing_record_impression', 10, 3 );
930
- function lp_ab_testing_record_impression($post_id, $post_type = 'landing-page' , $variation_id = 0 ) {
 
931
 
932
  /* If Landing Page Post Type */
933
  if ( $post_type == 'landing-page' ) {
934
  $meta_key = 'lp-ab-variation-impressions-'.$variation_id;
935
- }
936
  /* If Non Landing Page Post Type */
937
  else {
938
  $meta_key = '_inbound_impressions_count';
939
  }
940
-
941
  $impressions = get_post_meta($post_id, $meta_key , true);
942
-
943
  if (!is_numeric($impressions)) {
944
  $impressions = 1;
945
  } else {
@@ -951,8 +951,9 @@ function lp_ab_testing_record_impression($post_id, $post_type = 'landing-page' ,
951
 
952
 
953
  add_action('lp_launch_customizer_pre','lp_ab_testing_customizer_enqueue');
954
- function lp_ab_testing_customizer_enqueue($post) {
955
-
 
956
  $permalink = get_permalink( $post->ID );
957
  $randomstring = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 10);
958
 
1
  <?php
2
 
3
  /* ADMIN ONLY AB TESTING FUNCTIONS */
4
+ if (is_admin())
5
+ {
6
  include_once(LANDINGPAGES_PATH.'modules/module.ab-testing.metaboxes.php');
7
 
8
  /**
11
  * @param [type] $vid [description]
12
  * @return [type] [description]
13
  */
14
+ function lp_ab_unset_variation($variations,$vid)
15
+ {
16
  if(($key = array_search($vid, $variations)) !== false) {
17
  unset($variations[$key]);
18
  }
26
  * @param [INT] $vid [description]
27
  * @return [INT]
28
  */
29
+ function lp_ab_get_lp_active_status($post,$vid=null)
30
+ {
31
  if ($vid==0)
32
  {
33
  $variation_status = get_post_meta( $post->ID , 'lp_ab_variation_status' , true);
74
  {
75
  $array_variations = explode(',',$variations);
76
  $array_variations = lp_ab_unset_variation($array_variations,$_GET['lp-variation-id']);
77
+
78
  /* set next variation to be open */
79
+ $current_variation_id = current($array_variations);
80
  $_SESSION['lp_ab_test_open_variation'] = $current_variation_id;
81
+
82
  $variations = implode(',' , $array_variations);
83
  update_post_meta($post->ID,'lp-ab-variations', $variations);
84
+
85
+
86
  if (isset($_GET['lp-variation-id']) && $_GET['lp-variation-id'] > 0 ) {
87
  $suffix = '-'.$_GET['lp-variation-id'];
88
  $len = strlen($suffix);
90
  $suffix = '';
91
  $len = strlen($suffix);
92
  }
93
+
94
  //delete each meta value associated with variation
95
  global $wpdb;
96
+ $data = array();
 
 
97
  $wpdb->query("
98
  SELECT `meta_key`, `meta_value`
99
  FROM $wpdb->postmeta
100
+ WHERE `post_id` = ".$_GET['post']."
101
  ");
102
 
103
  foreach($wpdb->last_result as $k => $v){
111
  delete_post_meta($_GET['post'], $key, $value);
112
  }
113
  }
114
+
115
  $_GET['lp-variation-id'] = $current_variation_id;
116
  }
117
 
223
 
224
  //disable this because it will populate all wp_editor isntances rather than targeted instances
225
  //add_filter('the_editor_content', 'lp_ab_testing_the_editor_content');
226
+ function lp_ab_testing_the_editor_content($content)
227
+ {
228
  $current_variation_id = lp_ab_testing_get_current_variation_id();
229
 
230
  if (isset($_REQUEST['post']))
346
  foreach ($lp_custom_fields as $key=>$field)
347
  {
348
  $default = get_post_meta($post_id, $field['id'], true);
349
+
350
  $id = $field['id'];
351
  $field['id'] = $id.'-'.$current_variation_id ;
352
+
353
  if ($default) {
354
  $field['default'] = $default;
355
  }
356
+
357
  $lp_custom_fields[$key] = $field;
358
  }
359
  return $lp_custom_fields;
767
 
768
  $slug = get_option( 'lp-main-landing-page-permalink-prefix', 'go' );
769
  //echo $slug;exit;
 
 
 
770
  add_rewrite_rule("$slug/([^/]*)?", $this_path."modules/module.redirect-ab-testing.php?permalink_name=$1 ",'top');
771
  add_rewrite_rule("landing-page=([^/]*)?", $this_path.'modules/module.redirect-ab-testing.php?permalink_name=$1','top');
772
+
773
  add_filter('mod_rewrite_rules', 'lp_ab_testing_modify_rules', 1);
774
  function lp_ab_testing_modify_rules($rules)
775
  {
793
  foreach ($rules_array as $key=>$val)
794
  {
795
 
796
+ if (stristr($val,"RewriteRule ^{$slug}/([^/]*)? "))
797
  {
798
  $new_val = "RewriteCond %{QUERY_STRING} !lp-variation-id";
799
  $rules_array[$i] = $new_val;
885
  die();
886
  }
887
 
888
+
889
  }
890
 
891
 
898
  if ( !isset($post) || $post->post_type != 'landing-page' ) {
899
  return $content;
900
  }
901
+
902
  $variation_id = lp_ab_testing_get_current_variation_id();
903
 
904
  if ($variation_id>0)
926
  }
927
 
928
  add_action('lp_record_impression','lp_ab_testing_record_impression', 10, 3 );
929
+ function lp_ab_testing_record_impression($post_id, $post_type = 'landing-page' , $variation_id = 0 )
930
+ {
931
 
932
  /* If Landing Page Post Type */
933
  if ( $post_type == 'landing-page' ) {
934
  $meta_key = 'lp-ab-variation-impressions-'.$variation_id;
935
+ }
936
  /* If Non Landing Page Post Type */
937
  else {
938
  $meta_key = '_inbound_impressions_count';
939
  }
940
+
941
  $impressions = get_post_meta($post_id, $meta_key , true);
942
+
943
  if (!is_numeric($impressions)) {
944
  $impressions = 1;
945
  } else {
951
 
952
 
953
  add_action('lp_launch_customizer_pre','lp_ab_testing_customizer_enqueue');
954
+ function lp_ab_testing_customizer_enqueue($post)
955
+ {
956
+ //echo 1; exit;
957
  $permalink = get_permalink( $post->ID );
958
  $randomstring = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 10);
959
 
modules/module.addon.php CHANGED
@@ -5,9 +5,9 @@ function lp_addon_display()
5
  ?>
6
  <script type='text/javascript'>
7
  jQuery(document).ready(function($) {
8
- /*
9
  new easyXDM.Socket({
10
- remote: "http://plugin.inboundnow.com/downloads/category/extensions/",
11
  container: document.getElementById("lp-store-iframe-container"),
12
  onMessage: function(message, origin){
13
  var height = Number(message) + 1000;
@@ -15,12 +15,10 @@ function lp_addon_display()
15
  this.container.getElementsByTagName("iframe")[0].style.height = height + "px";
16
  }
17
  });
18
-
19
  });
20
- */
21
  </script>
22
- <div id="zlp-store-iframe-container">
23
- The store is temporarily disabled. Please visit the <a href="http://www.inboundnow.com/market">Inbound Now markertplace</a>
24
  </div>
25
 
26
  <?php
5
  ?>
6
  <script type='text/javascript'>
7
  jQuery(document).ready(function($) {
8
+
9
  new easyXDM.Socket({
10
+ remote: "http://plugin.inboundnow.com/downloads/category/extensions/",
11
  container: document.getElementById("lp-store-iframe-container"),
12
  onMessage: function(message, origin){
13
  var height = Number(message) + 1000;
15
  this.container.getElementsByTagName("iframe")[0].style.height = height + "px";
16
  }
17
  });
18
+
19
  });
 
20
  </script>
21
+ <div id="lp-store-iframe-container">
 
22
  </div>
23
 
24
  <?php
modules/module.ajax-setup.php CHANGED
@@ -1 +1 @@
1
- <?php
2
  * Adds Ajax for Clear Stats button
3
  * clear stats for all variations
4
  */
5
  * Adds Ajax for Clear Stats button
6
  * clear stats for single variations
7
  */
8
  * Adds Ajax for Clear Stats button
9
  * clear stats for non lp post
10
  */
11
  * Click tracking moved to module.click-tracking.php
12
  * Adds ajax to record landing page impressions
13
  * future plans to integrate with google analytics
14
  * Adds Ajax Template Selection
15
  * @return prints out landing page meta options
16
  */
 
17
  * Adds Ajax for Clear Stats button
18
  * clear stats for all variations
19
  */
20
  * Adds Ajax for Clear Stats button
21
  * clear stats for single variations
22
  */
23
  * Adds Ajax for Clear Stats button
24
  * clear stats for non lp post
25
  */
26
  * Click tracking moved to module.click-tracking.php
27
  * Adds ajax to record landing page impressions
28
  * future plans to integrate with google analytics
29
  * Adds Ajax Template Selection
30
  * @return prints out landing page meta options
31
  */
32
  * Add ajax for post meta save options
33
  */
 
1
  * Adds Ajax for Clear Stats button
2
  * clear stats for all variations
3
  */
4
  * Adds Ajax for Clear Stats button
5
  * clear stats for single variations
6
  */
7
  * Adds Ajax for Clear Stats button
8
  * clear stats for non lp post
9
  */
10
  * Click tracking moved to module.click-tracking.php
11
  * Adds ajax to record landing page impressions
12
  * future plans to integrate with google analytics
13
  * Adds Ajax Template Selection
14
  * @return prints out landing page meta options
15
  */
16
+ <?php
17
  * Adds Ajax for Clear Stats button
18
  * clear stats for all variations
19
  */
20
  * Adds Ajax for Clear Stats button
21
  * clear stats for single variations
22
  */
23
  * Adds Ajax for Clear Stats button
24
  * clear stats for non lp post
25
  */
26
  * Click tracking moved to module.click-tracking.php
27
  * Adds ajax to record landing page impressions
28
  * future plans to integrate with google analytics
29
  * Adds Ajax Template Selection
30
  * @return prints out landing page meta options
31
  */
32
  * Add ajax for post meta save options
33
  */
modules/module.alert.php CHANGED
@@ -1,16 +1,5 @@
1
  <?php
2
 
3
- add_action('admin_notices', 'dont_install_landing_page_templates_here');
4
- function dont_install_landing_page_templates_here(){
5
- $screen = get_current_screen();
6
- if ( $screen->id !== 'themes')
7
- return; // exit if incorrect screen id
8
- $link = admin_url( 'edit.php?post_type=landing-page&page=lp_manage_templates' );
9
- echo '<div class="error">';
10
- echo "<h3 style='font-weight:normal;'><strong><u>Please Note</u>:</strong> Do not try to install <a href='http://www.inboundnow.com/products/landing-pages/templates/' target='_blank'>Inbound Now WordPress Landing page templates</a> as a WordPres theme.<br><br><a href='".$link."'>Click here to install Landing page templates</a> in the Landing pages > Manage templates area";
11
- echo "</h3></div>";
12
- }
13
-
14
  /* Temporarily off**
15
  /* Template page notices
16
  function lp_template_page_notice(){
@@ -57,7 +46,7 @@ function lp_activation_message_ignore() {
57
  }
58
  } */
59
 
60
-
61
  add_action('admin_notices', 'lp_template_page_get_more');
62
  function lp_template_page_get_more(){
63
  global $pagenow;
@@ -70,7 +59,7 @@ jQuery("#bulk_actions").prepend(moretemp); jQuery(".lp-selection-heading h1").ap
70
  }
71
  }
72
 
73
-
74
  add_action('admin_notices', 'lp_ab_notice');
75
  function lp_ab_notice(){
76
  global $pagenow;
@@ -82,20 +71,4 @@ function lp_ab_notice(){
82
  }
83
  }
84
 
85
- /* Notice to tell people that a permalink structure besides default must be selected to enable split testing */
86
- add_action('admin_notices', 'lp_permalinks_notice');
87
- function lp_permalinks_notice(){
88
- global $pagenow;
89
-
90
- if ( !get_option('permalink_structure') ) {
91
- ?>
92
- <div class="error">
93
- <p>
94
- <?php _e( 'We\'ve noticed that your permalink settings are set to the default setting. Landing Page varation roation is not possible on this setting. To enable roation please go into Settings->Permalinks and update them to a different format.' , 'landing-pages' ); ?>
95
- </p>
96
- </div>
97
- <?php
98
- }
99
- }
100
-
101
  ?>
1
  <?php
2
 
 
 
 
 
 
 
 
 
 
 
 
3
  /* Temporarily off**
4
  /* Template page notices
5
  function lp_template_page_notice(){
46
  }
47
  } */
48
 
49
+ // End Landing Page Welcome
50
  add_action('admin_notices', 'lp_template_page_get_more');
51
  function lp_template_page_get_more(){
52
  global $pagenow;
59
  }
60
  }
61
 
62
+ /* End Template Notices */
63
  add_action('admin_notices', 'lp_ab_notice');
64
  function lp_ab_notice(){
65
  global $pagenow;
71
  }
72
  }
73
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  ?>
modules/module.click-tracking.php CHANGED
@@ -3,60 +3,46 @@ add_action('wp_footer', 'lp_click_callback');
3
 
4
  function lp_click_callback() {
5
  global $post;
6
-
7
- if (!isset($post)) {
8
  return;
9
- }
10
-
11
  $id = $post->ID;
12
-
13
  if(get_post_type( $id ) == 'landing-page'){
14
-
15
- $variation = (isset($_GET['lp-variation-id'])) ? $_GET['lp-variation-id'] : 0;
16
- $variation = preg_replace('/[^-a-zA-Z0-9_]/', '', $variation);
17
- // Footer script for link rewrites
18
- ?>
19
- <script type="text/javascript">
20
- jQuery(document).ready(function($) {
21
-
22
- var lead_cpt_id = _inbound.Utils.readCookie("wp_lead_id");
23
- var lead_email = _inbound.Utils.readCookie("wp_lead_email");
24
- var lead_unique_key = _inbound.Utils.readCookie("wp_lead_uid");
25
 
26
- if (typeof (lead_cpt_id) != "undefined" && lead_cpt_id !== null) {
27
- string = "&wpl_id=" + lead_cpt_id + "&l_type=wplid";
28
- } else if (typeof (lead_email) != "undefined" && lead_email !== null && lead_email !== "") {
29
- string = "&wpl_id=" + lead_email + "&l_type=wplemail";
30
- } else if (typeof (lead_unique_key) != "undefined" && lead_unique_key !== null && lead_unique_key !== "") {
31
- string = "&wpl_id=" + lead_unique_key + "&l_type=wpluid";
32
- } else {
33
- string = "";
34
- }
35
-
36
- var external = RegExp('^((f|ht)tps?:)?//(?!' + location.host + ')');
37
- jQuery('.link-click-tracking a, .inbound-special-class').not("#wpadminbar a").each(function () {
38
- jQuery(this).attr("data-event-id", '<?php echo $id; ?>').attr("data-cta-varation", '<?php echo $variation;?>');
39
-
40
- var orignalurl = jQuery(this).attr("href");
41
-
42
- //jQuery("a[href*='http://']:not([href*='"+window.location.hostname+"'])"); // rewrite external links
43
- var link_is = external.test(orignalurl);
44
-
45
- if (link_is === true) {
46
- base_url = window.location.origin;
47
- } else {
48
- base_url = orignalurl;
49
- }
50
-
51
- var cta_variation = "&wp-cta-v=" + jQuery(this).attr("data-cta-varation");
52
- var this_id = jQuery(this).attr("data-event-id");
53
- var newurl = base_url + "?lp_redirect_" + this_id + "=" + encodeURIComponent( orignalurl ) + cta_variation + string;
54
- jQuery(this).attr("href", newurl);
55
- });
56
- });
57
  </script>
58
- <?php
59
- }
60
  }
61
 
62
  // Register CTA Clicks
@@ -123,7 +109,6 @@ function lp_click_track_redirect() {
123
  $link = preg_replace('/(?<=wpl_id)(.*)(?=&)/s', '', $link); // clean url
124
  $link = preg_replace('/&wpl_id&l_type=(\D*)/', '', $link); // clean url2
125
  $link = preg_replace('/&wp-cta-v=(\d*)/', '', $link); // clean url3
126
- $link = urldecode( $link );
127
  // Redirect
128
  header("HTTP/1.1 302 Temporary Redirect");
129
  header("Location:" . $link);
@@ -211,3 +196,4 @@ function lp_store_click_data_to_lead($landing_page_id, $lead_ID, $lp_variation)
211
  }
212
  }
213
 
 
3
 
4
  function lp_click_callback() {
5
  global $post;
6
+ if (!isset($post))
 
7
  return;
 
 
8
  $id = $post->ID;
 
9
  if(get_post_type( $id ) == 'landing-page'){
10
+ $variation = (isset($_GET['lp-variation-id'])) ? $_GET['lp-variation-id'] : 0;
11
+ // Footer script for link rewrites ?>
12
+ <script type="text/javascript">
13
+ jQuery(document).ready(function($) {
14
+ var lead_cpt_id = jQuery.cookie("wp_lead_id");
15
+ var lead_email = jQuery.cookie("wp_lead_email");
16
+ var lead_unique_key = jQuery.cookie("wp_lead_uid");
 
 
 
 
17
 
18
+ if (typeof (lead_cpt_id) != "undefined" && lead_cpt_id !== null) {
19
+ string = "&wpl_id=" + lead_cpt_id + "&l_type=wplid";
20
+ } else if (typeof (lead_email) != "undefined" && lead_email !== null && lead_email !== "") {
21
+ string = "&wpl_id=" + lead_email + "&l_type=wplemail";;
22
+ } else if (typeof (lead_unique_key) != "undefined" && lead_unique_key !== null && lead_unique_key !== "") {
23
+ string = "&wpl_id=" + lead_unique_key + "&l_type=wpluid";;
24
+ } else {
25
+ string = "";
26
+ }
27
+ var external = RegExp('^((f|ht)tps?:)?//(?!' + location.host + ')');
28
+ jQuery('.link-click-tracking a, .inbound-special-class').not("#wpadminbar a").each(function () {
29
+ jQuery(this).attr("data-event-id", '<?php echo $id; ?>').attr("data-cta-varation", '<?php echo $variation;?>');
30
+ var orignalurl = jQuery(this).attr("href");
31
+ //jQuery("a[href*='http://']:not([href*='"+window.location.hostname+"'])"); // rewrite external links
32
+ var link_is = external.test(orignalurl);
33
+ if (link_is === true) {
34
+ base_url = window.location.origin;
35
+ } else {
36
+ base_url = orignalurl;
37
+ }
38
+ var cta_variation = "&wp-cta-v=" + jQuery(this).attr("data-cta-varation");
39
+ var this_id = jQuery(this).attr("data-event-id");
40
+ var newurl = base_url + "?lp_redirect_" + this_id + "=" + orignalurl + cta_variation + string;
41
+ jQuery(this).attr("href", newurl);
42
+ });
43
+ });
 
 
 
 
 
44
  </script>
45
+ <?php }
 
46
  }
47
 
48
  // Register CTA Clicks
109
  $link = preg_replace('/(?<=wpl_id)(.*)(?=&)/s', '', $link); // clean url
110
  $link = preg_replace('/&wpl_id&l_type=(\D*)/', '', $link); // clean url2
111
  $link = preg_replace('/&wp-cta-v=(\d*)/', '', $link); // clean url3
 
112
  // Redirect
113
  header("HTTP/1.1 302 Temporary Redirect");
114
  header("Location:" . $link);
196
  }
197
  }
198
 
199
+ ?>
modules/module.clone.php CHANGED
@@ -1 +1 @@
1
- <?php
1
+ <?php
modules/module.customizer.php CHANGED
@@ -1 +1 @@
1
- <?php
2
  wp_register_script('lp-customizer-load-js', LANDINGPAGES_URLPATH . 'js/customizer.load.js', array('jquery'));
3
  wp_enqueue_script('lp-customizer-load-js');
 
4
  wp_register_script('lp-customizer-load-js', LANDINGPAGES_URLPATH . 'js/customizer.load.js', array('jquery'));
5
  wp_enqueue_script('lp-customizer-load-js');
 
1
  wp_register_script('lp-customizer-load-js', LANDINGPAGES_URLPATH . 'js/customizer.load.js', array('jquery'));
2
  wp_enqueue_script('lp-customizer-load-js');
3
+ <?php
4
  wp_register_script('lp-customizer-load-js', LANDINGPAGES_URLPATH . 'js/customizer.load.js', array('jquery'));
5
  wp_enqueue_script('lp-customizer-load-js');
modules/module.global-settings.php CHANGED
@@ -11,39 +11,6 @@ if (isset($_GET['page'])&&($_GET['page']=='lp_global_settings'&&$_GET['page']=='
11
  }
12
  }
13
 
14
- /**
15
- * Add action links in Plugins table
16
- */
17
- add_filter( 'plugin_action_links_landing-pages/landing-pages.php', 'landing_page_plugin_action_links' );
18
- function landing_page_plugin_action_links( $links ) {
19
-
20
- return array_merge(
21
- array(
22
- 'settings' => '<a href="' . admin_url( 'edit.php?post_type=landing-page&page=lp_global_settings' ) . '">' . __( 'Settings', 'ts-fab' ) . '</a>'
23
- ),
24
- $links
25
- );
26
-
27
- }
28
-
29
- /**
30
- * Add meta links in Plugins table
31
- */
32
-
33
- add_filter( 'plugin_row_meta', 'landing_pages_plugin_meta_links', 10, 2 );
34
- function landing_pages_plugin_meta_links( $links, $file ) {
35
-
36
- $plugin = 'landing-pages/landing-pages.php';
37
-
38
- // create link
39
- if ( $file == $plugin ) {
40
- return array_merge(
41
- $links,
42
- array( '<a href="http://www.inboundnow.com/membership-packages/">Upgrade to Pro</a>' )
43
- );
44
- }
45
- return $links;
46
- }
47
 
48
  function lp_get_global_settings() {
49
  global $lp_global_settings;
@@ -53,7 +20,8 @@ function lp_get_global_settings() {
53
  $lp_global_settings[$tab_slug]['label'] = 'Global Settings';
54
 
55
 
56
- $lp_global_settings[$tab_slug]['settings'] = array(
 
57
  array(
58
  'id' => 'lp_global_settings_main_header',
59
  'type' => 'header',
@@ -68,6 +36,22 @@ function lp_get_global_settings() {
68
  'default' => 'go',
69
  'options' => null
70
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  array(
72
  'id' => 'landing-page-rotation-halt',
73
  'label' => __('Sticky Variations' , 'landing-pages'),
@@ -76,6 +60,22 @@ function lp_get_global_settings() {
76
  'default' => '0',
77
  'options' => array('1'=>'on','0'=>'off')
78
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  array(
80
  'id' => 'inbound_compatibility_mode',
81
  'label' => 'Turn on compability mode',
@@ -84,14 +84,6 @@ function lp_get_global_settings() {
84
  'default' => '0',
85
  'options' => array('1'=>'On','0'=>'Off')
86
  ),
87
- array(
88
- 'id' => 'landing-page-disable-turn-off-ab',
89
- 'label' => __('Turn Off AB Testing?' , 'landing-pages') ,
90
- 'description' => __("This will disable the AB testing functionality of your landing pages. This is to comply with Googles new PPC regulations with redirects. After saving this option <a href='/wp-admin/options-permalink.php'>visit this page to flush/reset your permalinks</a>" , 'landing-pages'),
91
- 'type' => 'radio',
92
- 'default' => '0',
93
- 'options' => array('0'=>'No Keep it on','1'=>'Yes turn AB testing Off')
94
- )
95
  );
96
 
97
 
@@ -130,8 +122,10 @@ function lp_get_global_settings() {
130
 
131
  /* Add Extensions License Key Header if Extensions are present */
132
  add_filter('lp_define_global_settings', 'lp_add_extension_license_key_header', 2, 1);
133
- function lp_add_extension_license_key_header($lp_global_settings) {
134
- if (array_key_exists('lp-license-keys',$lp_global_settings)) {
 
 
135
  $lp_global_settings['lp-license-keys']['settings'][] = array(
136
  'id' => 'extensions-license-keys-header',
137
  'description' => __( "Head to http://www.inboundnow.com/ to retrieve your license key for this template." , 'landing-pages'),
@@ -826,7 +820,8 @@ function lp_render_global_settings($key,$custom_fields,$active_tab)
826
  continue 2;
827
  case 'html':
828
  //print_r($field);
829
- echo $field['default'];
 
830
  continue 2;
831
 
832
 
11
  }
12
  }
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
  function lp_get_global_settings() {
16
  global $lp_global_settings;
20
  $lp_global_settings[$tab_slug]['label'] = 'Global Settings';
21
 
22
 
23
+ $lp_global_settings[$tab_slug]['settings'] =
24
+ array(
25
  array(
26
  'id' => 'lp_global_settings_main_header',
27
  'type' => 'header',
36
  'default' => 'go',
37
  'options' => null
38
  ),
39
+ array(
40
+ 'id' => 'landing-page-prepopulate-forms',
41
+ 'label' => __( 'Enable Form Prepopulation' , 'landing-pages') ,
42
+ 'description' => __("With this setting enabled landing pages plugin will remember form input data that the user submits to a form and attempt to pre-populate all other forms with the same user's data when applicable." , 'landing-pages'),
43
+ 'type' => 'radio',
44
+ 'default' => '1',
45
+ 'options' => array('1'=>'on','0'=>'off')
46
+ ),
47
+ array(
48
+ 'id' => 'landing-page-disable-admin-tracking',
49
+ 'label' => __('Disable Admin Impression/Conversion Tracking' , 'landing-pages') ,
50
+ 'description' => __("With this setting enabled landing pages plugin will not record visits and conversions for administrative users that are logged in." , 'landing-pages'),
51
+ 'type' => 'radio',
52
+ 'default' => '0',
53
+ 'options' => array('1'=>'on','0'=>'off')
54
+ ),
55
  array(
56
  'id' => 'landing-page-rotation-halt',
57
  'label' => __('Sticky Variations' , 'landing-pages'),
60
  'default' => '0',
61
  'options' => array('1'=>'on','0'=>'off')
62
  ),
63
+ array(
64
+ 'id' => 'landing-page-auto-format-forms',
65
+ 'label' => __('Enable Form Standardization' , 'landing-pages'),
66
+ 'description' => __("With this setting enabled landing pages plugin will clean and standardize all input ids and classnames. Uncheck this setting to disable standardization." , 'landing-pages'),
67
+ 'type' => 'radio',
68
+ 'default' => '0',
69
+ 'options' => array('1'=>'on','0'=>'off')
70
+ ),
71
+ array(
72
+ 'id' => 'main-landing-page-auto-format-forms-retain-elements',
73
+ 'label' => __('Form Standardization Element Whitelist' , 'landing-pages'),
74
+ 'description' => __("Form standardization strips the conversion area content of html elements. Add the elements you do not want to be stripped to this list." , 'landing-pages') ,
75
+ 'type' => 'textarea',
76
+ 'default' => '<button><script><textarea><style><input><form><select><label><a><p><b><u><strong><i><img><strong><span><font><h1><h2><h3><center><blockquote><embed><object><small>',
77
+ 'options' => null
78
+ ),
79
  array(
80
  'id' => 'inbound_compatibility_mode',
81
  'label' => 'Turn on compability mode',
84
  'default' => '0',
85
  'options' => array('1'=>'On','0'=>'Off')
86
  ),
 
 
 
 
 
 
 
 
87
  );
88
 
89
 
122
 
123
  /* Add Extensions License Key Header if Extensions are present */
124
  add_filter('lp_define_global_settings', 'lp_add_extension_license_key_header', 2, 1);
125
+ function lp_add_extension_license_key_header($lp_global_settings)
126
+ {
127
+ if (array_key_exists('lp-license-keys',$lp_global_settings))
128
+ {
129
  $lp_global_settings['lp-license-keys']['settings'][] = array(
130
  'id' => 'extensions-license-keys-header',
131
  'description' => __( "Head to http://www.inboundnow.com/ to retrieve your license key for this template." , 'landing-pages'),
820
  continue 2;
821
  case 'html':
822
  //print_r($field);
823
+ echo $field['value'];
824
+ echo '<br /><div class="lp_tooltip tool_dropdown" title="'.$field['description'].'"></div>';
825
  continue 2;
826
 
827
 
modules/module.install.php CHANGED
@@ -1,77 +1,81 @@
1
  <?php
2
  // Added Demo Landing on Install
3
- add_action('admin_init', 'inbound_create_default_post_type');
4
  function inbound_create_default_post_type(){
 
5
 
 
 
6
  $current_user = wp_get_current_user();
7
-
8
- $lp_default_options = get_option( 'lp_settings_general' );
9
-
10
- if ( isset( $lp_default_options["default_landing_page"] ) ) {
11
- return $lp_default_options["default_landing_page"];
12
- }
13
-
14
- $default_lander = wp_insert_post(
15
- array(
16
- 'post_title' => __( 'A/B Testing Landing Page Example' , 'landing-pages'),
17
- 'post_content' => __( '<p>This is the first paragraph of your landing page where you want to draw the viewers in and quickly explain your value proposition.</p><p><strong>Use Bullet Points to:</strong><ul><li>Explain why they should fill out the form</li><li>What they will learn if they download</li><li>A problem this form will solve for them</li></ul></p><p>Short ending paragraph reiterating the value behind the form</p>' , 'landing-pages'),
18
- 'post_status' => 'publish',
19
- 'post_author' => $current_user->ID,
20
- 'post_type' => 'landing-page',
21
- 'comment_status' => 'closed'
22
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  );
24
 
25
- // Variation A
26
- add_post_meta($default_lander, 'lp-main-headline', __( 'Main Catchy Headline (A)' , 'landing-pages') );
27
- add_post_meta($default_lander, 'lp-selected-template', 'svtle');
28
- add_post_meta($default_lander, 'svtle-conversion-area-content', '<h2>'.__( 'Form a' , 'landing-pages') .'</h2>[inbound_forms id="default_1" name="First, Last, Email Form"]' );
29
- add_post_meta($default_lander, 'svtle-main-content', __( '<p>This is the first paragraph of your landing page where you want to draw the viewers in and quickly explain your value proposition.</p><p><strong>Use Bullet Points to:</strong><ul><li>Explain why they should fill out the form</li><li>What they will learn if they download</li><li>A problem this form will solve for them</li></ul></p><p>Short ending paragraph reiterating the value behind the form</p>' , 'landing-pages') );
30
-
31
- // variation B
32
- add_post_meta($default_lander, 'lp-main-headline-1', __('Main Catchy Headline Two (B)' , 'landing-pages') );
33
- add_post_meta($default_lander, 'lp-selected-template-1', 'svtle');
34
- add_post_meta($default_lander, 'svtle-conversion-area-content-1', '<h2>'.__( 'Form B' , 'landing-pages') .'</h2>[inbound_forms id="default_1" name="First, Last, Email Form"]');
35
- add_post_meta($default_lander, 'svtle-main-content-1', '<p>(Version B) This is the first paragraph of your landing page where you want to draw the viewers in and quickly explain your value proposition.</p><p><strong>Use Bullet Points to:</strong><ul><li>Explain why they should fill out the form</li><li>What they will learn if they download</li><li>A problem this form will solve for them</li></ul></p><p>Short ending paragraph reiterating the value behind the form</p>');
36
-
37
- // Add A/B Testing meta
38
- add_post_meta($default_lander, 'lp-ab-variations', '0,1');
39
- add_post_meta($default_lander, 'lp-ab-variation-impressions-0', 30);
40
- add_post_meta($default_lander, 'lp-ab-variation-impressions-1', 35);
41
- add_post_meta($default_lander, 'lp-ab-variation-conversions-0', 10);
42
- add_post_meta($default_lander, 'lp-ab-variation-conversions-1', 15);
43
-
44
- // Add template meta A
45
- add_post_meta($default_lander, 'svtle-submit-button-color', '5baa1e');
46
- add_post_meta($default_lander, 'svtle-display-social', '0');
47
- add_post_meta($default_lander, 'svtle-logo', '/wp-content/plugins/landing-pages/templates/svtle/assets/images/inbound-logo.png');
48
- add_post_meta($default_lander, 'svtle-body-color', 'ffffff');
49
- add_post_meta($default_lander, 'svtle-sidebar', 'left');
50
- add_post_meta($default_lander, 'svtle-page-text-color', '4d4d4d');
51
- add_post_meta($default_lander, 'svtle-sidebar-color', 'ffffff');
52
- add_post_meta($default_lander, 'svtle-sidebar-text-color', '000000');
53
- add_post_meta($default_lander, 'svtle-header-color', 'ffffff');
54
-
55
- // Add template meta B
56
- add_post_meta($default_lander, 'svtle-submit-button-color-1', 'ff0c00');
57
- add_post_meta($default_lander, 'svtle-display-social-1', '0');
58
- add_post_meta($default_lander, 'svtle-logo-1', '/wp-content/plugins/landing-pages/templates/svtle/assets/images/inbound-logo.png');
59
- add_post_meta($default_lander, 'svtle-body-color-1', '51b0ef');
60
- add_post_meta($default_lander, 'svtle-sidebar-1', 'left');
61
- add_post_meta($default_lander, 'svtle-page-text-color-1', '000000');
62
- add_post_meta($default_lander, 'svtle-sidebar-color-1', '51b0ef');
63
- add_post_meta($default_lander, 'svtle-sidebar-text-color-1', '000000');
64
- add_post_meta($default_lander, 'svtle-header-color-1', '51b0ef');
65
-
66
-
67
- // Store our page IDs
68
- $options = array(
69
- "default_landing_page" => $default_lander
70
- );
71
-
72
- update_option( "lp_settings_general", $options );
73
 
74
- return $default_lander;
75
  }
76
 
77
  /**
1
  <?php
2
  // Added Demo Landing on Install
3
+ add_action('init', 'inbound_create_default_post_type');
4
  function inbound_create_default_post_type(){
5
+ // NEED to insert custom meta as well
6
 
7
+ $option_name = "lp_settings_general";
8
+ $option_key = "default_landing_page";
9
  $current_user = wp_get_current_user();
10
+ add_option( $option_name, '' );
11
+
12
+ //update_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice', 0 ); // Clean dismiss settings
13
+ //delete_option( 'lp_settings_general' );
14
+ $lp_default_options = get_option($option_name);
15
+ // Create Default if it doesn't exist
16
+ if ( ! isset( $lp_default_options[$option_key] ) )
17
+ {
18
+ $default_lander = wp_insert_post(
19
+ array(
20
+ 'post_title' => __( 'A/B Testing Landing Page Example' , 'landing-pages'),
21
+ 'post_content' => __( '<p>This is the first paragraph of your landing page where you want to draw the viewers in and quickly explain your value proposition.</p><p><strong>Use Bullet Points to:</strong><ul><li>Explain why they should fill out the form</li><li>What they will learn if they download</li><li>A problem this form will solve for them</li></ul></p><p>Short ending paragraph reiterating the value behind the form</p>' , 'landing-pages'),
22
+ 'post_status' => 'publish',
23
+ 'post_author' => $current_user->ID,
24
+ 'post_type' => 'landing-page',
25
+ 'comment_status' => 'closed'
26
+ )
27
+ );
28
+
29
+ // Variation A
30
+ add_post_meta($default_lander, 'lp-main-headline', __( 'Main Catchy Headline (A)' , 'landing-pages') );
31
+ add_post_meta($default_lander, 'lp-selected-template', 'svtle');
32
+ add_post_meta($default_lander, 'svtle-conversion-area-content', '<h2>'.__( 'Form a' , 'landing-pages') .'</h2>[inbound_forms id="default_1" name="First, Last, Email Form"]' );
33
+ add_post_meta($default_lander, 'svtle-main-content', __( '<p>This is the first paragraph of your landing page where you want to draw the viewers in and quickly explain your value proposition.</p><p><strong>Use Bullet Points to:</strong><ul><li>Explain why they should fill out the form</li><li>What they will learn if they download</li><li>A problem this form will solve for them</li></ul></p><p>Short ending paragraph reiterating the value behind the form</p>' , 'landing-pages') );
34
+
35
+ // variation B
36
+ add_post_meta($default_lander, 'lp-main-headline-1', __('Main Catchy Headline Two (B)' , 'landing-pages') );
37
+ add_post_meta($default_lander, 'lp-selected-template-1', 'svtle');
38
+ add_post_meta($default_lander, 'svtle-conversion-area-content-1', '<h2>'.__( 'Form B' , 'landing-pages') .'</h2>[inbound_forms id="default_1" name="First, Last, Email Form"]');
39
+ add_post_meta($default_lander, 'svtle-main-content-1', '<p>(Version B) This is the first paragraph of your landing page where you want to draw the viewers in and quickly explain your value proposition.</p><p><strong>Use Bullet Points to:</strong><ul><li>Explain why they should fill out the form</li><li>What they will learn if they download</li><li>A problem this form will solve for them</li></ul></p><p>Short ending paragraph reiterating the value behind the form</p>');
40
+
41
+ // Add A/B Testing meta
42
+ add_post_meta($default_lander, 'lp-ab-variations', '0,1');
43
+ add_post_meta($default_lander, 'lp-ab-variation-impressions-0', 30);
44
+ add_post_meta($default_lander, 'lp-ab-variation-impressions-1', 35);
45
+ add_post_meta($default_lander, 'lp-ab-variation-conversions-0', 10);
46
+ add_post_meta($default_lander, 'lp-ab-variation-conversions-1', 15);
47
+
48
+ // Add template meta A
49
+ add_post_meta($default_lander, 'svtle-submit-button-color', '5baa1e');
50
+ add_post_meta($default_lander, 'svtle-display-social', '0');
51
+ add_post_meta($default_lander, 'svtle-logo', '/wp-content/plugins/landing-pages/templates/svtle/assets/images/inbound-logo.png');
52
+ add_post_meta($default_lander, 'svtle-body-color', 'ffffff');
53
+ add_post_meta($default_lander, 'svtle-sidebar', 'left');
54
+ add_post_meta($default_lander, 'svtle-page-text-color', '4d4d4d');
55
+ add_post_meta($default_lander, 'svtle-sidebar-color', 'ffffff');
56
+ add_post_meta($default_lander, 'svtle-sidebar-text-color', '000000');
57
+ add_post_meta($default_lander, 'svtle-header-color', 'ffffff');
58
+
59
+ // Add template meta B
60
+ add_post_meta($default_lander, 'svtle-submit-button-color-1', 'ff0c00');
61
+ add_post_meta($default_lander, 'svtle-display-social-1', '0');
62
+ add_post_meta($default_lander, 'svtle-logo-1', '/wp-content/plugins/landing-pages/templates/svtle/assets/images/inbound-logo.png');
63
+ add_post_meta($default_lander, 'svtle-body-color-1', '51b0ef');
64
+ add_post_meta($default_lander, 'svtle-sidebar-1', 'left');
65
+ add_post_meta($default_lander, 'svtle-page-text-color-1', '000000');
66
+ add_post_meta($default_lander, 'svtle-sidebar-color-1', '51b0ef');
67
+ add_post_meta($default_lander, 'svtle-sidebar-text-color-1', '000000');
68
+ add_post_meta($default_lander, 'svtle-header-color-1', '51b0ef');
69
+
70
+
71
+ // Store our page IDs
72
+ $options = array(
73
+ $option_key => $default_lander
74
  );
75
 
76
+ update_option( $option_name, $options );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
 
78
+ }
79
  }
80
 
81
  /**
modules/module.javascript-admin.php CHANGED
@@ -3,10 +3,8 @@
3
  add_action('admin_enqueue_scripts','lp_admin_enqueue');
4
 
5
  function lp_admin_enqueue($hook) {
6
- global $post, $plugin_page;
7
- $screen = get_current_screen();
8
- $store = array();
9
-
10
  /* dequeue third party scripts */
11
  global $wp_scripts;
12
 
@@ -23,19 +21,19 @@ function lp_admin_enqueue($hook) {
23
 
24
 
25
  // Frontend Editor
26
- if ( $plugin_page === 'lp-frontend-editor' ) {
27
  }
28
 
29
- if ( $plugin_page === 'install-inbound-plugins' ) {
30
  wp_enqueue_script('inbound-install-plugins', LANDINGPAGES_URLPATH . 'js/admin/admin.install-plugins.js');
31
  wp_enqueue_style('inbound-install-plugins-css', LANDINGPAGES_URLPATH . 'css/admin-install-plugins.css');
32
  }
33
 
34
  // Store Options Page
35
- if ( in_array( $plugin_page, array( 'lp_store', 'lp_addons' ) ) ) {
36
  wp_dequeue_script('easyXDM');
37
  wp_enqueue_script('easyXDM', LANDINGPAGES_URLPATH . 'js/libraries/easyXDM.debug.js');
38
- wp_enqueue_script('lp-js-store', LANDINGPAGES_URLPATH . 'js/admin/admin.store.js');
39
  }
40
 
41
  // Admin enqueue - Landing Page CPT only
@@ -70,11 +68,11 @@ function lp_admin_enqueue($hook) {
70
  // Conditional TINYMCE for landing pages
71
  //wp_dequeue_script('jquery-tinymce');
72
  //wp_enqueue_script('jquery-tinymce', LANDINGPAGES_URLPATH . 'js/libraries/tiny_mce/jquery.tinymce.js');
73
- wp_enqueue_style('inbound-metaboxes', LANDINGPAGES_URLPATH . 'shared/assets/css/admin/inbound-metaboxes.css');
74
 
75
  }
76
 
77
- if ( $plugin_page === 'lp_global_settings' ) {
78
  wp_enqueue_script('lp-settings-js', LANDINGPAGES_URLPATH . 'js/admin/admin.global-settings.js');
79
  }
80
  // Edit Screen
@@ -97,10 +95,8 @@ function lp_admin_enqueue($hook) {
97
  // New frontend editor
98
  if (isset($_GET['frontend']) && $_GET['frontend'] === 'true') {
99
  //show_admin_bar( false ); // doesnt work
100
-
101
- wp_enqueue_style('lp-customizer-admin', LANDINGPAGES_URLPATH . 'css/new-customizer-admin.css');
102
- wp_enqueue_script('lp-customizer-admin', LANDINGPAGES_URLPATH . 'js/admin/new-customizer-admin.js');
103
-
104
  }
105
  }
106
 
@@ -135,7 +131,5 @@ function lp_admin_enqueue($hook) {
135
  foreach ( $store as $handle ) {
136
  wp_enqueue_script( $handle );
137
  }
138
- /* TEMP FIX - this neeeds fixing in CTA plugin */
139
- wp_dequeue_script('new-customizer-admin');
140
  }
141
  }
3
  add_action('admin_enqueue_scripts','lp_admin_enqueue');
4
 
5
  function lp_admin_enqueue($hook) {
6
+ global $post;
7
+ $screen = get_current_screen(); //print_r($screen);
 
 
8
  /* dequeue third party scripts */
9
  global $wp_scripts;
10
 
21
 
22
 
23
  // Frontend Editor
24
+ if ((isset($_GET['page']) == 'lp-frontend-editor')) {
25
  }
26
 
27
+ if ((isset($_GET['page']) == 'install-inbound-plugins')) {
28
  wp_enqueue_script('inbound-install-plugins', LANDINGPAGES_URLPATH . 'js/admin/admin.install-plugins.js');
29
  wp_enqueue_style('inbound-install-plugins-css', LANDINGPAGES_URLPATH . 'css/admin-install-plugins.css');
30
  }
31
 
32
  // Store Options Page
33
+ if (isset($_GET['page']) && (($_GET['page'] == 'lp_store') || ($_GET['page'] == 'lp_addons'))) {
34
  wp_dequeue_script('easyXDM');
35
  wp_enqueue_script('easyXDM', LANDINGPAGES_URLPATH . 'js/libraries/easyXDM.debug.js');
36
+ //wp_enqueue_script('lp-js-store', LANDINGPAGES_URLPATH . 'js/admin/admin.store.js');
37
  }
38
 
39
  // Admin enqueue - Landing Page CPT only
68
  // Conditional TINYMCE for landing pages
69
  //wp_dequeue_script('jquery-tinymce');
70
  //wp_enqueue_script('jquery-tinymce', LANDINGPAGES_URLPATH . 'js/libraries/tiny_mce/jquery.tinymce.js');
71
+ wp_enqueue_style('inbound-metaboxes', LANDINGPAGES_URLPATH . 'shared/metaboxes/inbound-metaboxes.css');
72
 
73
  }
74
 
75
+ if (isset($_GET['page']) && $_GET['page'] === 'lp_global_settings') {
76
  wp_enqueue_script('lp-settings-js', LANDINGPAGES_URLPATH . 'js/admin/admin.global-settings.js');
77
  }
78
  // Edit Screen
95
  // New frontend editor
96
  if (isset($_GET['frontend']) && $_GET['frontend'] === 'true') {
97
  //show_admin_bar( false ); // doesnt work
98
+ wp_enqueue_style('new-customizer-admin', LANDINGPAGES_URLPATH . 'css/new-customizer-admin.css');
99
+ wp_enqueue_script('new-customizer-admin', LANDINGPAGES_URLPATH . 'js/admin/new-customizer-admin.js');
 
 
100
  }
101
  }
102
 
131
  foreach ( $store as $handle ) {
132
  wp_enqueue_script( $handle );
133
  }
 
 
134
  }
135
  }
modules/module.javascript-frontend.php CHANGED
@@ -8,33 +8,102 @@ function lp_fontend_enqueue_scripts($hook) {
8
  if (!isset($post)) {
9
  return;
10
  }
11
-
12
  /* dequeue third party scripts */
13
  global $wp_scripts;
14
- $store = '';
15
  if ( !empty( $wp_scripts->queue ) ) {
16
-
17
  $store = $wp_scripts->queue; // store the scripts
18
-
19
  foreach ( $wp_scripts->queue as $handle ) {
20
  wp_dequeue_script( $handle );
21
  }
22
-
23
  }
24
-
25
  /* Load jQuery */
26
  wp_enqueue_script('jquery');
27
 
 
 
 
 
 
 
28
  if (isset($post)&&$post->post_type=='landing-page') {
29
 
30
- if (isset($_GET['template-customize']) &&$_GET['template-customize']=='on') {
31
- echo "<style type='text/css'>#variation-list{background:#eaeaea !important; top: 26px !important; height: 35px !important;padding-top: 10px !important;}#wpadminbar {height: 32px !important;}</style>"; // enqueue styles not firing
32
- }
33
- if (isset($_GET['live-preview-area'])) {
34
- show_admin_bar( false );
35
- wp_register_script('lp-customizer-load-js', LANDINGPAGES_URLPATH . 'js/customizer.load.js', array('jquery'));
36
- wp_enqueue_script('lp-customizer-load-js');
37
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  }
39
  }
40
  /* Requeue third party scripts */
@@ -42,9 +111,6 @@ function lp_fontend_enqueue_scripts($hook) {
42
  foreach ( $store as $handle ) {
43
  wp_enqueue_script( $handle );
44
  }
45
- /* TEMP FIX - this neeeds fixing in CTA plugin */
46
- wp_dequeue_script('lp-customizer-load-js');
47
-
48
  }
49
 
50
  }
@@ -56,15 +122,8 @@ function lp_header_load(){
56
  if (isset($post) && $post->post_type=='landing-page') {
57
  wp_enqueue_style('inbound-wordpress-base', LANDINGPAGES_URLPATH . 'css/frontend/global-landing-page-style.css');
58
  wp_enqueue_style('inbound-shortcodes', INBOUND_FORMS.'css/frontend-render.css');
59
- if ( isset($_GET['live-preview-area']) ) { ?>
60
- <style type="text/css">
61
- html, html.no-js, html[dir="ltr"] {
62
- margin-top: 0px !important;
63
- }
64
- </style>
65
- <?php } ?>
66
- <?php if (isset($_GET['lp-variation-id']) && !isset($_GET['template-customize']) && !isset($_GET['iframe_window']) && !isset($_GET['live-preview-area'])) {
67
- do_action('landing_page_header_script');
68
  ?>
69
  <?php if(!defined('Inbound_Now_Disable_URL_CLEAN')) { ?>
70
  <script type="text/javascript">
8
  if (!isset($post)) {
9
  return;
10
  }
 
11
  /* dequeue third party scripts */
12
  global $wp_scripts;
 
13
  if ( !empty( $wp_scripts->queue ) ) {
14
+
15
  $store = $wp_scripts->queue; // store the scripts
16
+
17
  foreach ( $wp_scripts->queue as $handle ) {
18
  wp_dequeue_script( $handle );
19
  }
20
+
21
  }
22
+
23
  /* Load jQuery */
24
  wp_enqueue_script('jquery');
25
 
26
+ /* Load Page Tracking */
27
+ $variation = (isset($_GET['lp-variation-id'])) ? $_GET['lp-variation-id'] : '0';
28
+ wp_enqueue_script( 'landing-page-view-track' , LANDINGPAGES_URLPATH . 'js/page_view_track.js', array( 'jquery','jquery-cookie'));
29
+ wp_localize_script( 'landing-page-view-track' , 'landing_path_info', array( 'post_id' => $post->ID , 'post_type' => $post->post_type , 'variation' => $variation, 'admin_url' => admin_url( 'admin-ajax.php' )));
30
+
31
+
32
  if (isset($post)&&$post->post_type=='landing-page') {
33
 
34
+ $form_prepopulation = get_option( 'lp-main-landing-page-prepopulate-forms' , 1);
35
+ // load form pre-population script
36
+ if ($form_prepopulation) {
37
+ wp_register_script('form-population',LANDINGPAGES_URLPATH . 'js/jquery.form-population.js', array( 'jquery', 'jquery-cookie' ));
38
+ wp_enqueue_script('form-population');
39
+ }
40
+
41
+ if (isset($_GET['template-customize']) &&$_GET['template-customize']=='on') {
42
+ echo "<style type='text/css'>#variation-list{background:#eaeaea !important; top: 26px !important; height: 35px !important;padding-top: 10px !important;}#wpadminbar {height: 29px !important;}</style>"; // enqueue styles not firing
43
+ }
44
+ if (isset($_GET['live-preview-area'])) {
45
+ show_admin_bar( false );
46
+ wp_register_script('lp-customizer-load-js', LANDINGPAGES_URLPATH . 'js/customizer.load.js', array('jquery'));
47
+ wp_enqueue_script('lp-customizer-load-js');
48
+ // wp_enqueue_style('lp-customizer-load-css', LANDINGPAGES_URLPATH . 'css/customizer-load.css'); doesn't work
49
+ /* Almost working look into this again TODO
50
+ define("QUICK_CACHE_ALLOWED", false);
51
+ define("DONOTCACHEPAGE", true);
52
+ define('DONOTCACHCEOBJECT', true);
53
+ define('DONOTCDN', true);
54
+
55
+ // Function to wrap outputted meta in spans for front end editing
56
+ add_filter( 'lp_get_value', 'lp_customizer_add_span_meta' , 10 , 4);
57
+ function lp_customizer_add_span_meta( $content , $post = null , $key=null, $id=null)
58
+ {
59
+ $id = apply_filters('lp_customizer_span_id',$id);
60
+ $exclude_list = "color|default|tile|repeat-x|repeat-y|left|right";
61
+ // need to exclude these matches only if exact match with no other content
62
+ // Need to exclude /images/img.jpg
63
+ // Need to find single strings with only a url to a .png,.jpg, .gif file and exclude
64
+ // Check for media upload type and ignore. Also ignore common setting words
65
+ //echo $key.':'.$id.":".$content;
66
+ //echo "<hr>";
67
+ //echo "<br>";
68
+ //<img alt="" src="/wp-content/uploads/landing-pages/templates/minimal-responsive/img/placeholder.jpg" /> matches the below preg match but we only want to match the string if its exactly /wp-content/uploads/landing-pages/templates/minimal-responsive/img/placeholder.jpg and nothing else
69
+ if (!@preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $content)&&!strstr($content,'/wp-content/') && !@preg_match('/^[a-f0-9]{1,}$/is', $content) && $content != "color") {
70
+ $content = "<span id='$key-$id' class='live-preview-area-box'>" . $content . "</span>";
71
+ }
72
+
73
+ return $content;
74
+ }
75
+
76
+ add_filter( 'lp_main_headline', 'lp_customizer_add_span_title' ,99);
77
+ function lp_customizer_add_span_title( $content, $id ='title' )
78
+ {
79
+
80
+ $id = apply_filters('lp_customizer_span_id' , $id );
81
+ $content = "<span id='lp-main-headline' class='live-preview-area-box' >" . $content . "</span>";
82
+
83
+ return $content;
84
+ }
85
+
86
+ // Function to wrap outputted meta in spans for front end editing
87
+ add_filter( 'the_content', 'lp_customizer_add_span_content' );
88
+ function lp_customizer_add_span_content( $content , $id = 'content' )
89
+ {
90
+
91
+ $id = apply_filters('lp_customizer_span_id', $id );
92
+ $content = "<span id='the-content' class='live-preview-area-box' >" . $content . "</span>";
93
+
94
+ return $content;
95
+ }
96
+
97
+ // Function to wrap outputted meta in spans for front end editing
98
+ add_filter( 'lp_conversion_area', 'lp_customizer_add_span_conversion_area' );
99
+ function lp_customizer_add_span_conversion_area( $content , $id = 'lp-conversion-area' )
100
+ {
101
+ //echo "here";exit;
102
+ $id = apply_filters('lp_customizer_span_id', $id );
103
+ $content = "<span id='lp-conversion-area' class='live-preview-area-box' >" . $content . "</span>";
104
+
105
+ return $content;
106
+ } */
107
  }
108
  }
109
  /* Requeue third party scripts */
111
  foreach ( $store as $handle ) {
112
  wp_enqueue_script( $handle );
113
  }
 
 
 
114
  }
115
 
116
  }
122
  if (isset($post) && $post->post_type=='landing-page') {
123
  wp_enqueue_style('inbound-wordpress-base', LANDINGPAGES_URLPATH . 'css/frontend/global-landing-page-style.css');
124
  wp_enqueue_style('inbound-shortcodes', INBOUND_FORMS.'css/frontend-render.css');
125
+ if (isset($_GET['lp-variation-id']) && !isset($_GET['template-customize']) && !isset($_GET['iframe_window']) && !isset($_GET['live-preview-area'])) {
126
+ do_action('landing_page_header_script');
 
 
 
 
 
 
 
127
  ?>
128
  <?php if(!defined('Inbound_Now_Disable_URL_CLEAN')) { ?>
129
  <script type="text/javascript">
modules/module.landing-page.php CHANGED
@@ -1,38 +1,53 @@
1
  <?php
2
 
 
 
 
 
 
 
 
 
3
  /* LOAD TEMPLATE */
4
- add_filter('single_template', 'lp_custom_template' , 13 );
5
  function lp_custom_template($single) {
6
  global $wp_query, $post, $query_string;
 
 
 
 
 
7
 
8
- if ($post->post_type != "landing-page") {
9
- return $single;
10
- }
11
- $template = get_post_meta($post->ID, 'lp-selected-template', true);
12
- $template = apply_filters('lp_selected_template',$template);
13
-
14
-
15
- if (!isset($template)) {
16
- return $single;
17
- }
18
-
19
- if (strstr($template,'-slash-')) {
20
- $template = str_replace('-slash-','/',$template);
21
- }
22
 
23
- $my_theme = wp_get_theme($template);
 
24
 
25
- if ($my_theme->exists()) {
26
- return $single;
27
- } else if ( $template != 'default' ) {
 
28
 
29
- $template = str_replace('_','-',$template);
30
-
31
- if ( file_exists( LANDINGPAGES_PATH.'templates/'.$template.'/index.php') ) {
32
- return LANDINGPAGES_PATH.'templates/'.$template.'/index.php';
33
 
34
- } else {
35
- return LANDINGPAGES_UPLOADS_PATH.$template.'/index.php';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  }
37
  }
38
 
@@ -53,7 +68,7 @@ function landing_pages_insert_custom_head()
53
  $custom_js_name = apply_filters('lp_custom_js_name','lp-custom-js');
54
  $custom_css = get_post_meta($post->ID, $custom_css_name, true);
55
  $custom_js = get_post_meta($post->ID, $custom_js_name, true);
56
- echo "<!-- This site landing page was built with the WordPress Landing Pages plugin - https://www.inboundnow.com/landing-pages/ -->";
57
  //Print Custom CSS
58
  if (!stristr($custom_css,'<style'))
59
  {
@@ -166,7 +181,7 @@ function lp_conversion_area($post = null, $content=null,$return=false, $doshortc
166
 
167
 
168
  $content = apply_filters('lp_conversion_area_post',$content, $post);
169
-
170
  if(!$return)
171
  {
172
  $content = str_replace('<p><div id="inbound-form-wrapper"', '<div id="inbound-form-wrapper"', $content);
@@ -562,6 +577,32 @@ function lp_add_option($key,$type,$id,$default=null,$label=null,$description=nul
562
  }
563
  }
564
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
565
  /* LEGACY CALLBACKS -- STILL USED BY SOME OLDER EXTENSIONS AND TEMPLATES */
566
  function lp_list_feature()
567
  {
1
  <?php
2
 
3
+ /* LOAD COMMON FUNCTIONS FOR LANDING PAGES TEMPLATES */
4
+ add_action('lp_init', 'inbound_include_template_functions');
5
+ if (!function_exists('inbound_include_template_functions')) {
6
+ function inbound_include_template_functions(){
7
+ include_once(LANDINGPAGES_PATH.'shared/functions.templates.php');
8
+ }
9
+ }
10
+
11
  /* LOAD TEMPLATE */
12
+ add_filter('single_template', 'lp_custom_template');
13
  function lp_custom_template($single) {
14
  global $wp_query, $post, $query_string;
15
+ //echo 2;exit;
16
+ if ($post->post_type == "landing-page")
17
+ {
18
+ $template = get_post_meta($post->ID, 'lp-selected-template', true);
19
+ $template = apply_filters('lp_selected_template',$template);
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
 
22
+ if (isset($template))
23
+ {
24
 
25
+ if (strstr($template,'-slash-'))
26
+ {
27
+ $template = str_replace('-slash-','/',$template);
28
+ }
29
 
30
+ $my_theme = wp_get_theme($template);
 
 
 
31
 
32
+ if ($my_theme->exists())
33
+ {
34
+ return "";
35
+ }
36
+ else if ($template!='default')
37
+ {
38
+ $template = str_replace('_','-',$template);
39
+ //echo LANDINGPAGES_URLPATH.'templates/'.$template.'/index.php'; exit;
40
+ if (file_exists(LANDINGPAGES_PATH.'templates/'.$template.'/index.php'))
41
+ {
42
+ //query_posts ($query_string . '&showposts=1');
43
+ return LANDINGPAGES_PATH.'templates/'.$template.'/index.php';
44
+ }
45
+ else
46
+ {
47
+ //query_posts ($query_string . '&showposts=1');
48
+ return LANDINGPAGES_UPLOADS_PATH.$template.'/index.php';
49
+ }
50
+ }
51
  }
52
  }
53
 
68
  $custom_js_name = apply_filters('lp_custom_js_name','lp-custom-js');
69
  $custom_css = get_post_meta($post->ID, $custom_css_name, true);
70
  $custom_js = get_post_meta($post->ID, $custom_js_name, true);
71
+
72
  //Print Custom CSS
73
  if (!stristr($custom_css,'<style'))
74
  {
181
 
182
 
183
  $content = apply_filters('lp_conversion_area_post',$content, $post);
184
+
185
  if(!$return)
186
  {
187
  $content = str_replace('<p><div id="inbound-form-wrapper"', '<div id="inbound-form-wrapper"', $content);
577
  }
578
  }
579
 
580
+
581
+ function get_all_template_categories($extension_data) {
582
+
583
+ //$extension_data = lp_get_extension_data();
584
+ //$extension_data_cats = lp_get_extension_data_cats($extension_data);
585
+ //print_r($extension_data_cats);
586
+
587
+ $cat_array = array();
588
+ foreach ($extension_data as $name => $options) {
589
+ //echo $options['info'];
590
+ foreach ($options as $value) {
591
+ if ($value['category'] != "" && strlen ($value['category']) > 1 ){
592
+ $new_cat = explode(",", $value['category']);
593
+ foreach ($new_cat as $test => $zzz) {
594
+ $cat_array[] = trim($zzz);
595
+ }
596
+
597
+ }
598
+
599
+ }
600
+ }
601
+ echo "<pre>";
602
+ print_r(array_unique($cat_array));
603
+ echo "<pre>";
604
+ }
605
+
606
  /* LEGACY CALLBACKS -- STILL USED BY SOME OLDER EXTENSIONS AND TEMPLATES */
607
  function lp_list_feature()
608
  {
modules/module.metaboxes-global.php CHANGED
@@ -1,10 +1,11 @@
1
  <?php
2
 
3
  /* add meta boxes to posts, pages, and non excluded cpts */
4
- add_action('add_meta_boxes', 'lp_add_global_meta_box' , 10 );
5
- function lp_add_global_meta_box( $post_type )
6
  {
7
- global $pagenow;
 
8
 
9
  $exclude[] = 'attachment';
10
  $exclude[] = 'revisions';
@@ -17,18 +18,21 @@ function lp_add_global_meta_box( $post_type )
17
  $exclude[] = 'tracking-event';
18
  $exclude[] = 'inbound-forms';
19
  $exclude[] = 'email-template';
20
- $exclude[] = 'inbound-email';
21
  $exclude[] = 'inbound-log';
22
  $exclude[] = 'landing-page';
23
- $exclude[] = 'acf-field-group';
24
  // add filter
25
 
26
- if ( $pagenow === 'post.php' && !in_array($post_type,$exclude) ) {
27
- add_meta_box( 'lp-post-statistics', __( 'Inbound Statistics' , 'landing-pages' ) , 'lp_global_statistics_meta_box' , $post_type, 'side', 'high');
 
 
 
 
28
  }
29
 
30
  }
31
 
 
32
  function lp_global_statistics_meta_box() {
33
 
34
  global $post;
1
  <?php
2
 
3
  /* add meta boxes to posts, pages, and non excluded cpts */
4
+ add_action('add_meta_boxes', 'lp_add_global_meta_box');
5
+ function lp_add_global_meta_box()
6
  {
7
+
8
+ $post_types= get_post_types('','names');
9
 
10
  $exclude[] = 'attachment';
11
  $exclude[] = 'revisions';
18
  $exclude[] = 'tracking-event';
19
  $exclude[] = 'inbound-forms';
20
  $exclude[] = 'email-template';
 
21
  $exclude[] = 'inbound-log';
22
  $exclude[] = 'landing-page';
 
23
  // add filter
24
 
25
+ foreach ($post_types as $post_type ) {
26
+
27
+ if (!in_array($post_type,$exclude))
28
+ {
29
+ add_meta_box( 'lp-post-statistics', __( 'Inbound Statistics' , 'landing-pages' ) , 'lp_global_statistics_meta_box' , $post_type, 'side', 'high');
30
+ }
31
  }
32
 
33
  }
34
 
35
+
36
  function lp_global_statistics_meta_box() {
37
 
38
  global $post;
modules/module.metaboxes.php CHANGED
@@ -10,7 +10,7 @@ define('WYSIWYG_EDITOR_ID', 'landing-page-myeditor');
10
  define('WYSIWYG_META_KEY', 'lp-conversion-area');
11
 
12
  /* ADD THUMBNAIL METABOX TO SIDEBAR */
13
- //add_action('add_meta_boxes', 'lp_display_thumbnail_metabox');
14
  function lp_display_thumbnail_metabox() {
15
 
16
  add_meta_box(
@@ -32,7 +32,7 @@ function lp_thumbnail_metabox() {
32
  $permalink = $permalink.'?dt='.$datetime;
33
 
34
  if (in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) {
35
-
36
  if (file_exists(LANDINGPAGES_UPLOADS_PATH . $template . '/thumbnail.png')) {
37
  $thumbnail = LANDINGPAGES_UPLOADS_URLPATH . $template . '/thumbnail.png';
38
  }
@@ -169,6 +169,10 @@ function lp_landing_page_header_area()
169
  $variation_notes = apply_filters('lp_edit_variation_notes', $variation_notes, 1);
170
  $variation_id = apply_filters( 'lp_display_notes_input_id' , 'lp-variation-notes' );
171
 
 
 
 
 
172
  echo "<div id='lp-notes-area'>";
173
  echo "<span id='add-lp-notes'>". __('Notes' , 'landing-pages') .":</span><input placeholder='". __('Add Notes to your variation. Example: This version is testing a green submit button ' , 'landing-pages') ."' type='text' class='lp-notes' name='{$variation_id}' id='{$variation_id}' value='{$variation_notes}' size='30'>";
174
  echo '</div><div id="main-title-area"><input type="text" name="lp-main-headline" placeholder="'. __('Primary Headline Goes here. This will be visible on the page' , 'landing-pages') .'" id="lp-main-headline" value="'.$main_title.'" title="'. __('This headline will appear in the landing page template.' , 'landing-pages') .'"></div><div id="lp-current-view">'.$lp_variation.'</div><div id="switch-lp">0</div>';
@@ -276,7 +280,7 @@ function lp_display_meta_box_select_template_container() {
276
 
277
 
278
  $extension_data = lp_get_extension_data();
279
- $extension_data_cats = Landing_Pages_Load_Extensions::get_template_categories();
280
 
281
  unset($extension_data['lp']);
282
 
@@ -468,8 +472,8 @@ function lp_conversion_log_metabox() {
468
  global $wpdb;
469
 
470
  $final_data = array();
471
-
472
-
473
  $query = "SELECT
474
  wposts.*
475
  FROM ".$wpdb->posts." AS wposts
@@ -514,7 +518,7 @@ function lp_conversion_log_metabox() {
514
 
515
  $final_data[] = $this_data;
516
  }
517
-
518
  }
519
  //print_r($final_data);
520
  $this->table_data = $final_data;
10
  define('WYSIWYG_META_KEY', 'lp-conversion-area');
11
 
12
  /* ADD THUMBNAIL METABOX TO SIDEBAR */
13
+ add_action('add_meta_boxes', 'lp_display_thumbnail_metabox');
14
  function lp_display_thumbnail_metabox() {
15
 
16
  add_meta_box(
32
  $permalink = $permalink.'?dt='.$datetime;
33
 
34
  if (in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) {
35
+
36
  if (file_exists(LANDINGPAGES_UPLOADS_PATH . $template . '/thumbnail.png')) {
37
  $thumbnail = LANDINGPAGES_UPLOADS_URLPATH . $template . '/thumbnail.png';
38
  }
169
  $variation_notes = apply_filters('lp_edit_variation_notes', $variation_notes, 1);
170
  $variation_id = apply_filters( 'lp_display_notes_input_id' , 'lp-variation-notes' );
171
 
172
+ $page_conversion_data = get_post_meta( $post->ID, 'inbound_conversion_data', TRUE );
173
+ $page_conversion_data = json_decode($page_conversion_data,true);
174
+ //print_r($page_conversion_data);
175
+ //echo "TEST";
176
  echo "<div id='lp-notes-area'>";
177
  echo "<span id='add-lp-notes'>". __('Notes' , 'landing-pages') .":</span><input placeholder='". __('Add Notes to your variation. Example: This version is testing a green submit button ' , 'landing-pages') ."' type='text' class='lp-notes' name='{$variation_id}' id='{$variation_id}' value='{$variation_notes}' size='30'>";
178
  echo '</div><div id="main-title-area"><input type="text" name="lp-main-headline" placeholder="'. __('Primary Headline Goes here. This will be visible on the page' , 'landing-pages') .'" id="lp-main-headline" value="'.$main_title.'" title="'. __('This headline will appear in the landing page template.' , 'landing-pages') .'"></div><div id="lp-current-view">'.$lp_variation.'</div><div id="switch-lp">0</div>';
280
 
281
 
282
  $extension_data = lp_get_extension_data();
283
+ $extension_data_cats = lp_get_extension_data_cats($extension_data);
284
 
285
  unset($extension_data['lp']);
286
 
472
  global $wpdb;
473
 
474
  $final_data = array();
475
+
476
+
477
  $query = "SELECT
478
  wposts.*
479
  FROM ".$wpdb->posts." AS wposts
518
 
519
  $final_data[] = $this_data;
520
  }
521
+
522
  }
523
  //print_r($final_data);
524
  $this->table_data = $final_data;
modules/module.post-type.php CHANGED
@@ -2,30 +2,30 @@
2
 
3
  add_action('admin_init', 'lp_rebuild_permalinks');
4
  function lp_rebuild_permalinks() {
5
- $activation_check = get_option('lp_activate_rewrite_check',0);
6
 
7
- if ($activation_check) {
8
- global $wp_rewrite;
9
- $wp_rewrite->flush_rules();
10
- update_option( 'lp_activate_rewrite_check', '0');
11
- }
12
  }
13
 
14
  add_action('init', 'landing_page_register');
15
  function landing_page_register() {
16
 
17
- $slug = get_option( 'lp-main-landing-page-permalink-prefix', 'go' );
18
  $labels = array(
19
- 'name' => _x('Landing Pages', 'post type general name' , 'landing-pages' ),
20
- 'singular_name' => _x('Landing Page', 'post type singular name' , 'landing-pages' ),
21
- 'add_new' => _x('Add New', 'Landing Page' , 'landing-pages' ),
22
- 'add_new_item' => __('Add New Landing Page' , 'landing-pages' ),
23
- 'edit_item' => __('Edit Landing Page' , 'landing-pages' ),
24
- 'new_item' => __('New Landing Page' , 'landing-pages' ),
25
- 'view_item' => __('View Landing Page' , 'landing-pages' ),
26
- 'search_items' => __('Search Landing Page' , 'landing-pages' ),
27
- 'not_found' => __('Nothing found' , 'landing-pages' ),
28
- 'not_found_in_trash' => __('Nothing found in Trash' , 'landing-pages' ),
29
  'parent_item_colon' => ''
30
  );
31
 
@@ -39,452 +39,451 @@ function landing_page_register() {
39
  'rewrite' => array("slug" => "$slug",'with_front' => false),
40
  'capability_type' => 'post',
41
  'hierarchical' => false,
42
- 'menu_position' => 32,
43
  'supports' => array('title','custom-fields','editor','thumbnail', 'excerpt')
44
- );
45
 
46
  register_post_type( 'landing-page' , $args );
47
 
48
- //flush_rewrite_rules( false );
49
  }
50
 
51
  add_action('init', 'landing_page_category_registerTaxonomy');
52
  function landing_page_category_registerTaxonomy() {
53
  $args = array(
54
- 'hierarchical' => true,
55
- 'label' => __("Categories" , 'landing-pages' ),
56
- 'singular_label' => __("Landing Page Category" , 'landing-pages' ),
57
- 'show_ui' => true,
58
- 'query_var' => true,
59
- "rewrite" => true
60
- );
61
 
62
  register_taxonomy('landing_page_category', array('landing-page'), $args);
63
  // Set category transient for use in other areas
64
  $terms = get_terms('landing_page_category', array('hide_empty' => false));
65
  $lp_cats = get_transient( 'landing-page-cats' );
66
- if ( false === $lp_cats ) {
67
- $options_categories = array();
68
- $options_categories['all'] = __('All Landing Page Categories' , 'landing-pages');
69
- foreach ($terms as $term) {
70
- $options_categories[$term->term_id] = $term->name;
71
- }
72
- set_transient('landing-page-cats', $options_categories, 24 * HOUR_IN_SECONDS);
73
- }
74
  }
75
 
76
 
77
  // Change except box title
78
  add_action( 'admin_init', 'lp_change_excerpt_to_summary' );
79
  function lp_change_excerpt_to_summary() {
80
- $post_type = "landing-page";
81
- if ( post_type_supports($post_type, 'excerpt') ) {
82
- add_meta_box('postexcerpt', __('Short Description' , 'landing-pages'), 'post_excerpt_meta_box', $post_type, 'normal', 'core'); }
83
  }
84
 
85
 
86
  /* This piece is for the customizer? I'm not sure - H */
87
  add_filter('admin_url','lp_add_fullscreen_param');
88
  function lp_add_fullscreen_param( $link ) {
89
- if (isset($_GET['page']))
90
- return $link;
91
-
92
- if ( ( isset($post) && 'landing-page' == $post->post_type ) || ( isset($_REQUEST['post_type']) && $_REQUEST['post_type']=='landing-page' ) )
93
- {
94
- $params['frontend'] = 'false';
95
- if(isset($_GET['frontend']) && $_GET['frontend'] == 'true') {
96
- $params['frontend'] = 'true';
97
- }
98
- if(isset($_REQUEST['frontend']) && $_REQUEST['frontend'] == 'true') {
99
- $params['frontend'] = 'true';
100
- }
101
- $link = add_query_arg( $params, $link );
102
-
103
- }
104
-
105
- return $link;
106
  }
107
 
108
  /*********PREPARE COLUMNS FOR IMPRESSIONS AND CONVERSIONS***************/
109
  if (is_admin()) {
110
 
111
- //include_once(LANDINGPAGES_PATH.'filters/filters.post-type.php');
112
-
113
- //add_filter('manage_edit-landing-page_sortable_columns', 'lp_column_register_sortable');
114
- add_filter("manage_edit-landing-page_columns", 'lp_columns');
115
- add_action("manage_posts_custom_column", "lp_column");
116
- add_filter('landing-page_orderby','lp_column_orderby', 10, 2);
117
-
118
- // remove SEO filter
119
- if ( (isset($_GET['post_type']) && ($_GET['post_type'] == 'landing-page') ) )
120
- { add_filter( 'wpseo_use_page_analysis', '__return_false' ); }
121
-
122
- //define columns for landing pages
123
- function lp_columns($columns)
124
- {
125
- $columns = array(
126
- "cb" => "<input type=\"checkbox\" />",
127
- //"ID" => "ID",
128
- "thumbnail-lander" => __( "Preview" , 'landing-pages'),
129
- "title" => __( "Landing Page Title" , 'landing-pages'),
130
- "stats" => __( "Variation Testing Stats" , 'landing-pages'),
131
- "impressions" => __( "Total<br>Visits" , 'landing-pages'),
132
- "actions" => __( "Total<br>Conversions" , 'landing-pages'),
133
- "cr" => __( "Total<br>Conversion Rate" , 'landing-pages')
134
-
135
- );
136
- return $columns;
137
- }
138
-
139
- function lp_show_stats_list() {
140
-
141
- global $post;
142
- $permalink = get_permalink($post->ID);
143
- $variations = get_post_meta($post->ID, 'lp-ab-variations', true);
144
- if ($variations)
145
- {
146
- $variations = explode(",", $variations);
147
- $variations = array_filter($variations,'is_numeric');
148
-
149
- //echo "<b>".$lp_impressions."</b> visits";
150
- echo "<span class='show-stats button'>Show Variation Stats</span>";
151
- echo "<ul class='lp-varation-stat-ul'>";
152
-
153
- $first_status = get_post_meta($post->ID,'lp_ab_variation_status', true); // Current status
154
- $first_notes = get_post_meta($post->ID,'lp-variation-notes', true);
155
- $cr_array = array();
156
- $i = 0;
157
- $impressions = 0;
158
- $conversions = 0;
159
- foreach ($variations as $key => $vid)
160
- {
161
- $letter = lp_ab_key_to_letter($key); // convert to letter
162
- $each_impression = get_post_meta($post->ID,'lp-ab-variation-impressions-'.$vid, true); // get impressions
163
- $v_status = get_post_meta($post->ID,'lp_ab_variation_status-'.$vid, true); // Current status
164
-
165
- if ($i === 0) { $v_status = $first_status; } // get status of first
166
-
167
- (($v_status === "")) ? $v_status = "1" : $v_status = $v_status; // Get on/off status
168
-
169
- $each_notes = get_post_meta($post->ID,'lp-variation-notes-'.$vid, true); // Get Notes
170
-
171
- if ($i === 0) { $each_notes = $first_notes; } // Get first notes
172
-
173
- $each_conversion = get_post_meta($post->ID,'lp-ab-variation-conversions-'.$vid, true);
174
- (($each_conversion === "")) ? $final_conversion = 0 : $final_conversion = $each_conversion;
175
-
176
- $impressions += get_post_meta($post->ID,'lp-ab-variation-impressions-'.$vid, true);
177
-
178
- $conversions += get_post_meta($post->ID,'lp-ab-variation-conversions-'.$vid, true);
179
-
180
- if ($each_impression != 0) {
181
- $conversion_rate = $final_conversion / $each_impression;
182
- } else {
183
- $conversion_rate = 0;
184
- }
185
-
186
- $conversion_rate = round($conversion_rate,2) * 100;
187
- $cr_array[] = $conversion_rate;
188
-
189
- if ($v_status === "0")
190
- {
191
- $final_status = __( "(Paused)" , 'landing-pages');
192
- }
193
- else
194
- {
195
- $final_status = "";
196
- }
197
- /*if ($cr_array[$i] > $largest) {
198
- $largest = $cr_array[$i];
199
- }
200
- (($largest === $conversion_rate)) ? $winner_class = 'lp-current-winner' : $winner_class = ""; */
201
- (($final_conversion === "1")) ? $c_text = __( 'conversion' , 'landing-pages') : $c_text = __( "conversions" , 'landing-pages');
202
- (($each_impression === "1")) ? $i_text = __( 'visit' , 'landing-pages') : $i_text = __( "visits" , 'landing-pages');
203
- (($each_notes === "")) ? $each_notes = __( 'No notes' , 'landing-pages') : $each_notes = $each_notes;
204
- $data_letter = "data-letter=\"".$letter."\"";
205
- $edit_link = admin_url( 'post.php?post='.$post->ID.'&lp-variation-id='.$vid.'&action=edit' );
206
- $popup = "data-notes=\"<span class='lp-pop-description'>".$each_notes."</span><span class='lp-pop-controls'><span class='lp-pop-edit button-primary'><a href='".$edit_link."'>Edit This variation</a></span><span class='lp-pop-preview button'><a title='Click to Preview this variation' class='thickbox' href='".$permalink."?lp-variation-id=".$vid."&iframe_window=on&post_id=".$post->ID."&TB_iframe=true&width=640&height=703' target='_blank'>Preview This variation</a></span><span class='lp-bottom-controls'><span class='lp-delete-var-stats' data-letter='".$letter."' data-vid='".$vid."' rel='".$post->ID."'>Clear These Stats</span></span></span>\"";
207
-
208
- echo "<li rel='".$final_status."' data-postid='".$post->ID."' data-letter='".$letter."' data-lp='' class='lp-stat-row-".$vid." ".$post->ID. '-'. $conversion_rate ." status-".$v_status. "'><a ".$popup." ".$data_letter." class='lp-letter' title='click to edit this variation' href='".$edit_link."'>" . $letter . "</a><span class='lp-numbers'> <span class='lp-impress-num'>" . $each_impression . "</span><span class='visit-text'>".$i_text." with</span><span class='lp-con-num'>". $final_conversion . "</span> ".$c_text."</span><a ".$popup." ".$data_letter." class='cr-number cr-empty-".$conversion_rate."' href='".$edit_link."'>". $conversion_rate . "%</a></li>";
209
- $i++;
210
- }
211
- echo "</ul>";
212
-
213
- $winning_cr = max($cr_array); // best conversion rate
214
-
215
- if ($winning_cr != 0) {
216
- echo "<span class='variation-winner-is'>".$post->ID. "-".$winning_cr."</span>";
217
- }
218
- //echo "Total Visits: " . $impressions;
219
- //echo "Total Conversions: " . $conversions;
220
- } else {
221
- $notes = get_post_meta($post->ID,'lp-variation-notes', true); // Get Notes
222
- $cr = lp_show_aggregated_stats("cr");
223
- $edit_link = admin_url( 'post.php?post='.$post->ID.'&lp-variation-id=0&action=edit' );
224
- $start_test_link = admin_url( 'post.php?post='.$post->ID.'&lp-variation-id=1&action=edit&new-variation=1&lp-message=go' );
225
- (($notes === "")) ? $notes = __( 'No notes' , 'landing-pages') : $notes = $notes;
226
- $popup = "data-notes=\"<span class='lp-pop-description'>".$notes."</span><span class='lp-pop-controls'><span class='lp-pop-edit button-primary'><a href='".$edit_link."'>Edit This variation</a></span><span class='lp-pop-preview button'><a title='Click to Preview this variation' class='thickbox' href='".$permalink."?lp-variation-id=0&iframe_window=on&post_id=".$post->ID."&TB_iframe=true&width=640&height=703' target='_blank'>". __( 'Preview This variation' , 'landing-pages') ."</a></span><span class='lp-bottom-controls'><span class='lp-delete-var-stats' data-letter='A' data-vid='0' rel='".$post->ID."'>". __( 'Clear These Stats' , 'landing-pages') ."</span></span></span>\"";
227
-
228
- echo "<ul class='lp-varation-stat-ul'><li rel='' data-postid='".$post->ID."' data-letter='A' data-lp=''><a ".$popup." data-letter=\"A\" class='lp-letter' title='click to edit this variation' href='".$edit_link."'>A</a><span class='lp-numbers'> <span class='lp-impress-num'>" . lp_show_aggregated_stats("impressions") . "</span><span class='visit-text'>visits with</span><span class='lp-con-num'>". lp_show_aggregated_stats("actions") . "</span> conversions</span><a class='cr-number cr-empty-".$cr."' href='".$edit_link."'>". $cr . "%</a></li></ul>";
229
- echo "<div class='no-stats-yet'>". __('No A/B Tests running for this landing page' , 'landing-pages').". <a href='".$start_test_link."'>". __('Start one' , 'landing-pages') ."</a></div>";
230
-
231
-
232
- }
233
- }
234
-
235
- function lp_show_aggregated_stats($type_of_stat){
236
- global $post;
237
-
238
- $variations = get_post_meta($post->ID, 'lp-ab-variations', true);
239
- $variations = explode(",", $variations);
240
-
241
- $impressions = 0;
242
- $conversions = 0;
243
-
244
- foreach ($variations as $vid)
245
- {
246
- $each_impression = get_post_meta($post->ID,'lp-ab-variation-impressions-'.$vid, true);
247
- $each_conversion = get_post_meta($post->ID,'lp-ab-variation-conversions-'.$vid, true);
248
- (($each_conversion === "")) ? $final_conversion = 0 : $final_conversion = $each_conversion;
249
- $impressions += get_post_meta($post->ID,'lp-ab-variation-impressions-'.$vid, true);
250
- $conversions += get_post_meta($post->ID,'lp-ab-variation-conversions-'.$vid, true);
251
- }
252
-
253
- if ($type_of_stat === "actions")
254
- {
255
- return $conversions;
256
- }
257
- if ($type_of_stat === "impressions")
258
- {
259
- return $impressions;
260
- }
261
- if ($type_of_stat === "cr")
262
- {
263
- if ($impressions != 0) {
264
- $conversion_rate = $conversions / $impressions;
265
- } else {
266
- $conversion_rate = 0;
267
- }
268
- $conversion_rate = round($conversion_rate,2) * 100;
269
- return $conversion_rate;
270
- }
271
-
272
- }
273
- //populate collumsn for landing pages
274
- function lp_column($column)
275
- {
276
- global $post;
277
-
278
- if ($post->post_type!='landing-page')
279
- return;
280
-
281
- if ("ID" == $column)
282
- {
283
- echo $post->ID;
284
- }
285
- else if ("title" == $column)
286
- {
287
- }
288
- else if ("author" == $column)
289
- {
290
- }
291
- else if ("date" == $column)
292
- {
293
- }
294
- else if ("thumbnail-lander" == $column)
295
- {
296
- $template = get_post_meta($post->ID, 'lp-selected-template', true);
297
- $permalink = get_permalink($post->ID);
298
- $datetime = the_modified_date('YmjH',null,null,false);
299
- $permalink = $permalink = $permalink.'?dt='.$datetime;
300
-
301
- if (in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) {
302
-
303
- if (file_exists(LANDINGPAGES_UPLOADS_PATH . $template . '/thumbnail.png')) {
304
- $thumbnail = LANDINGPAGES_UPLOADS_URLPATH . $template . '/thumbnail.png';
305
- }
306
- else {
307
- $thumbnail = LANDINGPAGES_URLPATH . 'templates/' . $template . '/thumbnail.png';
308
- }
309
-
310
- } else {
311
- $thumbnail = 'http://s.wordpress.com/mshots/v1/' . urlencode(esc_url($permalink)) . '?w=140';
312
- }
313
-
314
- echo "<a title='".__('Click to Preview this variation' , 'landing-pages') ."' class='thickbox' href='".$permalink."?lp-variation-id=0&iframe_window=on&post_id=".$post->ID."&TB_iframe=true&width=640&height=703' target='_blank'><img src='".$thumbnail."' style='width:130px;height:110px;' title='Click to Preview'></a>";
315
-
316
- }
317
- else if ("stats" == $column)
318
- {
319
- $lp_impressions = lp_get_page_views($post->ID);
320
- $lp_impressions = apply_filters('lp_col_impressions',$lp_impressions);
321
-
322
- lp_show_stats_list();
323
-
324
-
325
- }
326
- else if ("impressions" == $column)
327
- {
328
- echo lp_show_aggregated_stats("impressions");
329
-
330
- }
331
- else if ("actions" == $column)
332
- {
333
- echo lp_show_aggregated_stats("actions");
334
- }
335
- else if ("cr" == $column)
336
- {
337
- echo lp_show_aggregated_stats("cr") . "%";
338
- }
339
- else if ("template" == $column) {
340
- $template_used = get_post_meta($post->ID, 'lp-selected-template', true);
341
- echo $template_used;
342
- }
343
- }
344
-
345
- // Add category sort to landing page list
346
- function lp_taxonomy_filter_restrict_manage_posts()
347
- {
348
- global $typenow;
349
-
350
- if ($typenow === "landing-page") {
351
- $post_types = get_post_types( array( '_builtin' => false ) );
352
- if ( in_array( $typenow, $post_types ) ) {
353
- $filters = get_object_taxonomies( $typenow );
354
-
355
- foreach ( $filters as $tax_slug ) {
356
- $tax_obj = get_taxonomy( $tax_slug );
357
- (isset($_GET[$tax_slug])) ? $current = $_GET[$tax_slug] : $current = 0;
358
- wp_dropdown_categories( array(
359
- 'show_option_all' => __('Show All '.$tax_obj->label ),
360
- 'taxonomy' => $tax_slug,
361
- 'name' => $tax_obj->name,
362
- 'orderby' => 'name',
363
- 'selected' => $current,
364
- 'hierarchical' => $tax_obj->hierarchical,
365
- 'show_count' => false,
366
- 'hide_empty' => true
367
- ) );
368
- }
369
- }
370
- }
371
- }
372
-
373
- add_action( 'restrict_manage_posts', 'lp_taxonomy_filter_restrict_manage_posts' );
374
- function convert_landing_page_category_id_to_taxonomy_term_in_query($query) {
375
- global $pagenow;
376
- $qv = &$query->query_vars;
377
- if( $pagenow=='edit.php' && isset($qv['landing_page_category']) && is_numeric($qv['landing_page_category']) ) {
378
- $term = get_term_by('id',$qv['landing_page_category'],'landing_page_category');
379
- $qv['landing_page_category'] = $term->slug;
380
- }
381
- }
382
- add_filter('parse_query','convert_landing_page_category_id_to_taxonomy_term_in_query');
383
-
384
- // Make these columns sortable
385
- add_filter( 'manage_edit-landing-page_sortable_columns', 'lp_sortable_columns' );
386
- function lp_sortable_columns() {
387
- return array(
388
- 'title' => 'title',
389
- 'impressions' => 'impressions',
390
- 'actions' => 'actions',
391
- 'cr' => 'cr'
392
- );
393
- }
394
-
395
-
396
- //START Custom styling of post state (eg: pretty highlighting of post_status on landing pages page
397
- add_filter( 'display_post_states', 'lp_custom_post_states' );
398
- function lp_custom_post_states( $post_states ) {
399
- foreach ( $post_states as &$state ){
400
- $state = '<span class="'.strtolower( $state ).' states">' . str_replace( ' ', '-', $state ) . '</span>';
401
- }
402
- return $post_states;
403
- }
404
-
405
- //***********ADDS 'CLEAR STATS' BUTTON TO POSTS EDITING AREA******************/
406
- add_filter('post_row_actions', 'lp_add_clear_tracking',10,2);
407
- function lp_add_clear_tracking($actions, $post) {
408
- if ($post->post_type=='landing-page')
409
- {
410
- $actions['clear'] = '<a href="#clear-stats" id="lp_clear_'.$post->ID.'" class="clear_stats" title="'
411
- . esc_attr(__("Clear impression and conversion records", 'landing-pages'))
412
- . '" >' . __('Clear All Stats', 'landing-pages') . '</a><span class="hover-description">'. __('Hover over the letters to the right for more options' , 'landing-pages') .'</span>';
413
- }
414
- return $actions;
415
- }
416
-
417
- /* perform trash actions for landing pages */
418
- add_action('wp_trash_post', 'lp_trash_lander');
419
- function lp_trash_lander($post_id) {
420
- global $post;
421
-
422
- if (!isset($post)||isset($_POST['split_test']))
423
- return;
424
-
425
- if ($post->post_type=='revision')
426
- {
427
- return;
428
- }
429
- if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ||(isset($_POST['post_type'])&&$_POST['post_type']=='revision'))
430
- {
431
- return;
432
- }
433
-
434
- if ($post->post_type=='landing-page')
435
- {
436
-
437
- $lp_id = $post->ID;
438
-
439
- $args=array(
440
- 'post_type' => 'landing-page-group',
441
- 'post_satus'=>'publish'
442
- );
443
-
444
- $my_query = null;
445
- $my_query = new WP_Query($args);
446
-
447
- if( $my_query->have_posts() )
448
- {
449
- $i=1;
450
- while ($my_query->have_posts()) : $my_query->the_post();
451
- $group_id = get_the_ID();
452
- $group_data = get_the_content();
453
- $group_data = json_decode($group_data,true);
454
-
455
- $lp_ids = array();
456
- foreach ($group_data as $key=>$value)
457
- {
458
- $lp_ids[] = $key;
459
- }
460
-
461
- if (in_array($lp_id,$lp_ids))
462
- {
463
- unset($group_data[$lp_id]);
464
-
465
- $this_data = json_encode($group_data);
466
- //print_r($this_data);
467
- $new_post = array(
468
- 'ID' => $group_id,
469
- 'post_title' => get_the_title(),
470
- 'post_content' => $this_data,
471
- 'post_status' => 'publish',
472
- 'post_date' => date('Y-m-d H:i:s'),
473
- 'post_author' => 1,
474
- 'post_type' => 'landing-page-group'
475
- );
476
- //print_r($new_post);
477
- $post_id = wp_update_post($new_post);
478
- }
479
- endwhile;
480
- }
481
- }
482
- }
483
-
484
 
485
  }
486
 
487
  if (!post_type_exists('wp-lead')) {
488
- //add_action('plugins_loaded', 'inbound_leads_register');
489
- // moved to /shared/functions/lead.cpt.php
490
  }
2
 
3
  add_action('admin_init', 'lp_rebuild_permalinks');
4
  function lp_rebuild_permalinks() {
5
+ $activation_check = get_option('lp_activate_rewrite_check',0);
6
 
7
+ if ($activation_check) {
8
+ global $wp_rewrite;
9
+ $wp_rewrite->flush_rules();
10
+ update_option( 'lp_activate_rewrite_check', '0');
11
+ }
12
  }
13
 
14
  add_action('init', 'landing_page_register');
15
  function landing_page_register() {
16
 
17
+ $slug = get_option( 'lp-main-landing-page-permalink-prefix', 'go' );
18
  $labels = array(
19
+ 'name' => _x('Landing Pages', 'post type general name' , 'landing-pages'),
20
+ 'singular_name' => _x('Landing Page', 'post type singular name' , 'landing-pages'),
21
+ 'add_new' => _x('Add New', 'Landing Page' , 'landing-pages'),
22
+ 'add_new_item' => __('Add New Landing Page' , 'landing-pages'),
23
+ 'edit_item' => __('Edit Landing Page' , 'landing-pages'),
24
+ 'new_item' => __('New Landing Page' , 'landing-pages'),
25
+ 'view_item' => __('View Landing Page' , 'landing-pages'),
26
+ 'search_items' => __('Search Landing Page' , 'landing-pages'),
27
+ 'not_found' => __('Nothing found' , 'landing-pages'),
28
+ 'not_found_in_trash' => __('Nothing found in Trash' , 'landing-pages'),
29
  'parent_item_colon' => ''
30
  );
31
 
39
  'rewrite' => array("slug" => "$slug",'with_front' => false),
40
  'capability_type' => 'post',
41
  'hierarchical' => false,
42
+ 'menu_position' => null,
43
  'supports' => array('title','custom-fields','editor','thumbnail', 'excerpt')
44
+ );
45
 
46
  register_post_type( 'landing-page' , $args );
47
 
48
+ //flush_rewrite_rules( false );
49
  }
50
 
51
  add_action('init', 'landing_page_category_registerTaxonomy');
52
  function landing_page_category_registerTaxonomy() {
53
  $args = array(
54
+ 'hierarchical' => true,
55
+ 'label' => __("Categories" , 'landing-pages'),
56
+ 'singular_label' => __("Landing Page Category" , 'landing-pages'),
57
+ 'show_ui' => true,
58
+ 'query_var' => true,
59
+ "rewrite" => true
60
+ );
61
 
62
  register_taxonomy('landing_page_category', array('landing-page'), $args);
63
  // Set category transient for use in other areas
64
  $terms = get_terms('landing_page_category', array('hide_empty' => false));
65
  $lp_cats = get_transient( 'landing-page-cats' );
66
+ if ( false === $lp_cats ) {
67
+ $options_categories = array();
68
+ $options_categories['all'] = __('All Landing Page Categories' , 'landing-pages');
69
+ foreach ($terms as $term) {
70
+ $options_categories[$term->term_id] = $term->name;
71
+ }
72
+ set_transient('landing-page-cats', $options_categories, 24 * HOUR_IN_SECONDS);
73
+ }
74
  }
75
 
76
 
77
  // Change except box title
78
  add_action( 'admin_init', 'lp_change_excerpt_to_summary' );
79
  function lp_change_excerpt_to_summary() {
80
+ $post_type = "landing-page";
81
+ if ( post_type_supports($post_type, 'excerpt') ) {
82
+ add_meta_box('postexcerpt', __('Short Description' , 'landing-pages'), 'post_excerpt_meta_box', $post_type, 'normal', 'core'); }
83
  }
84
 
85
 
86
  /* This piece is for the customizer? I'm not sure - H */
87
  add_filter('admin_url','lp_add_fullscreen_param');
88
  function lp_add_fullscreen_param( $link ) {
89
+ if (isset($_GET['page']))
90
+ return $link;
91
+
92
+ if ( ( isset($post) && 'landing-page' == $post->post_type ) || ( isset($_REQUEST['post_type']) && $_REQUEST['post_type']=='landing-page' ) )
93
+ {
94
+ $params['frontend'] = 'false';
95
+ if(isset($_GET['frontend']) && $_GET['frontend'] == 'true') {
96
+ $params['frontend'] = 'true';
97
+ }
98
+ if(isset($_REQUEST['frontend']) && $_REQUEST['frontend'] == 'true') {
99
+ $params['frontend'] = 'true';
100
+ }
101
+ $link = add_query_arg( $params, $link );
102
+
103
+ }
104
+
105
+ return $link;
106
  }
107
 
108
  /*********PREPARE COLUMNS FOR IMPRESSIONS AND CONVERSIONS***************/
109
  if (is_admin()) {
110
 
111
+ //include_once(LANDINGPAGES_PATH.'filters/filters.post-type.php');
112
+
113
+ //add_filter('manage_edit-landing-page_sortable_columns', 'lp_column_register_sortable');
114
+ add_filter("manage_edit-landing-page_columns", 'lp_columns');
115
+ add_action("manage_posts_custom_column", "lp_column");
116
+ add_filter('landing-page_orderby','lp_column_orderby', 10, 2);
117
+
118
+ // remove SEO filter
119
+ if ( (isset($_GET['post_type']) && ($_GET['post_type'] == 'landing-page') ) )
120
+ { add_filter( 'wpseo_use_page_analysis', '__return_false' ); }
121
+
122
+ //define columns for landing pages
123
+ function lp_columns($columns)
124
+ {
125
+ $columns = array(
126
+ "cb" => "<input type=\"checkbox\" />",
127
+ //"ID" => "ID",
128
+ "thumbnail-lander" => __( "Preview" , 'landing-pages'),
129
+ "title" => __( "Landing Page Title" , 'landing-pages'),
130
+ "stats" => __( "Variation Testing Stats" , 'landing-pages'),
131
+ "impressions" => __( "Total<br>Visits" , 'landing-pages'),
132
+ "actions" => __( "Total<br>Conversions" , 'landing-pages'),
133
+ "cr" => __( "Total<br>Conversion Rate" , 'landing-pages')
134
+
135
+ );
136
+ return $columns;
137
+ }
138
+
139
+ function lp_show_stats_list() {
140
+
141
+ global $post;
142
+ $permalink = get_permalink($post->ID);
143
+ $variations = get_post_meta($post->ID, 'lp-ab-variations', true);
144
+ if ($variations)
145
+ {
146
+ $variations = explode(",", $variations);
147
+ $variations = array_filter($variations,'is_numeric');
148
+
149
+ //echo "<b>".$lp_impressions."</b> visits";
150
+ echo "<span class='show-stats button'>Show Variation Stats</span>";
151
+ echo "<ul class='lp-varation-stat-ul'>";
152
+
153
+ $first_status = get_post_meta($post->ID,'lp_ab_variation_status', true); // Current status
154
+ $first_notes = get_post_meta($post->ID,'lp-variation-notes', true);
155
+ $cr_array = array();
156
+ $i = 0;
157
+ $impressions = 0;
158
+ $conversions = 0;
159
+ foreach ($variations as $key => $vid)
160
+ {
161
+ $letter = lp_ab_key_to_letter($key); // convert to letter
162
+ $each_impression = get_post_meta($post->ID,'lp-ab-variation-impressions-'.$vid, true); // get impressions
163
+ $v_status = get_post_meta($post->ID,'lp_ab_variation_status-'.$vid, true); // Current status
164
+
165
+ if ($i === 0) { $v_status = $first_status; } // get status of first
166
+
167
+ (($v_status === "")) ? $v_status = "1" : $v_status = $v_status; // Get on/off status
168
+
169
+ $each_notes = get_post_meta($post->ID,'lp-variation-notes-'.$vid, true); // Get Notes
170
+
171
+ if ($i === 0) { $each_notes = $first_notes; } // Get first notes
172
+
173
+ $each_conversion = get_post_meta($post->ID,'lp-ab-variation-conversions-'.$vid, true);
174
+ (($each_conversion === "")) ? $final_conversion = 0 : $final_conversion = $each_conversion;
175
+
176
+ $impressions += get_post_meta($post->ID,'lp-ab-variation-impressions-'.$vid, true);
177
+
178
+ $conversions += get_post_meta($post->ID,'lp-ab-variation-conversions-'.$vid, true);
179
+
180
+ if ($each_impression != 0) {
181
+ $conversion_rate = $final_conversion / $each_impression;
182
+ } else {
183
+ $conversion_rate = 0;
184
+ }
185
+
186
+ $conversion_rate = round($conversion_rate,2) * 100;
187
+ $cr_array[] = $conversion_rate;
188
+
189
+ if ($v_status === "0")
190
+ {
191
+ $final_status = __( "(Paused)" , 'landing-pages');
192
+ }
193
+ else
194
+ {
195
+ $final_status = "";
196
+ }
197
+ /*if ($cr_array[$i] > $largest) {
198
+ $largest = $cr_array[$i];
199
+ }
200
+ (($largest === $conversion_rate)) ? $winner_class = 'lp-current-winner' : $winner_class = ""; */
201
+ (($final_conversion === "1")) ? $c_text = __( 'conversion' , 'landing-pages') : $c_text = __( "conversions" , 'landing-pages');
202
+ (($each_impression === "1")) ? $i_text = __( 'visit' , 'landing-pages') : $i_text = __( "visits" , 'landing-pages');
203
+ (($each_notes === "")) ? $each_notes = __( 'No notes' , 'landing-pages') : $each_notes = $each_notes;
204
+ $data_letter = "data-letter=\"".$letter."\"";
205
+ $edit_link = admin_url( 'post.php?post='.$post->ID.'&lp-variation-id='.$vid.'&action=edit' );
206
+ $popup = "data-notes=\"<span class='lp-pop-description'>".$each_notes."</span><span class='lp-pop-controls'><span class='lp-pop-edit button-primary'><a href='".$edit_link."'>Edit This variation</a></span><span class='lp-pop-preview button'><a title='Click to Preview this variation' class='thickbox' href='".$permalink."?lp-variation-id=".$vid."&iframe_window=on&post_id=".$post->ID."&TB_iframe=true&width=640&height=703' target='_blank'>Preview This variation</a></span><span class='lp-bottom-controls'><span class='lp-delete-var-stats' data-letter='".$letter."' data-vid='".$vid."' rel='".$post->ID."'>Clear These Stats</span></span></span>\"";
207
+
208
+ echo "<li rel='".$final_status."' data-postid='".$post->ID."' data-letter='".$letter."' data-lp='' class='lp-stat-row-".$vid." ".$post->ID. '-'. $conversion_rate ." status-".$v_status. "'><a ".$popup." ".$data_letter." class='lp-letter' title='click to edit this variation' href='".$edit_link."'>" . $letter . "</a><span class='lp-numbers'> <span class='lp-impress-num'>" . $each_impression . "</span><span class='visit-text'>".$i_text." with</span><span class='lp-con-num'>". $final_conversion . "</span> ".$c_text."</span><a ".$popup." ".$data_letter." class='cr-number cr-empty-".$conversion_rate."' href='".$edit_link."'>". $conversion_rate . "%</a></li>";
209
+ $i++;
210
+ }
211
+ echo "</ul>";
212
+
213
+ $winning_cr = max($cr_array); // best conversion rate
214
+
215
+ if ($winning_cr != 0) {
216
+ echo "<span class='variation-winner-is'>".$post->ID. "-".$winning_cr."</span>";
217
+ }
218
+ //echo "Total Visits: " . $impressions;
219
+ //echo "Total Conversions: " . $conversions;
220
+ } else {
221
+ $notes = get_post_meta($post->ID,'lp-variation-notes', true); // Get Notes
222
+ $cr = lp_show_aggregated_stats("cr");
223
+ $edit_link = admin_url( 'post.php?post='.$post->ID.'&lp-variation-id=0&action=edit' );
224
+ $start_test_link = admin_url( 'post.php?post='.$post->ID.'&lp-variation-id=1&action=edit&new-variation=1&lp-message=go' );
225
+ (($notes === "")) ? $notes = __( 'No notes' , 'landing-pages') : $notes = $notes;
226
+ $popup = "data-notes=\"<span class='lp-pop-description'>".$notes."</span><span class='lp-pop-controls'><span class='lp-pop-edit button-primary'><a href='".$edit_link."'>Edit This variation</a></span><span class='lp-pop-preview button'><a title='Click to Preview this variation' class='thickbox' href='".$permalink."?lp-variation-id=0&iframe_window=on&post_id=".$post->ID."&TB_iframe=true&width=640&height=703' target='_blank'>". __( 'Preview This variation' , 'landing-pages') ."</a></span><span class='lp-bottom-controls'><span class='lp-delete-var-stats' data-letter='A' data-vid='0' rel='".$post->ID."'>". __( 'Clear These Stats' , 'landing-pages') ."</span></span></span>\"";
227
+
228
+ echo "<ul class='lp-varation-stat-ul'><li rel='' data-postid='".$post->ID."' data-letter='A' data-lp=''><a ".$popup." data-letter=\"A\" class='lp-letter' title='click to edit this variation' href='".$edit_link."'>A</a><span class='lp-numbers'> <span class='lp-impress-num'>" . lp_show_aggregated_stats("impressions") . "</span><span class='visit-text'>visits with</span><span class='lp-con-num'>". lp_show_aggregated_stats("actions") . "</span> conversions</span><a class='cr-number cr-empty-".$cr."' href='".$edit_link."'>". $cr . "%</a></li></ul>";
229
+ echo "<div class='no-stats-yet'>". __('No A/B Tests running for this landing page' , 'landing-pages').". <a href='".$start_test_link."'>". __('Start one' , 'landing-pages') ."</a></div>";
230
+
231
+
232
+ }
233
+ }
234
+
235
+ function lp_show_aggregated_stats($type_of_stat){
236
+ global $post;
237
+
238
+ $variations = get_post_meta($post->ID, 'lp-ab-variations', true);
239
+ $variations = explode(",", $variations);
240
+
241
+ $impressions = 0;
242
+ $conversions = 0;
243
+
244
+ foreach ($variations as $vid)
245
+ {
246
+ $each_impression = get_post_meta($post->ID,'lp-ab-variation-impressions-'.$vid, true);
247
+ $each_conversion = get_post_meta($post->ID,'lp-ab-variation-conversions-'.$vid, true);
248
+ (($each_conversion === "")) ? $final_conversion = 0 : $final_conversion = $each_conversion;
249
+ $impressions += get_post_meta($post->ID,'lp-ab-variation-impressions-'.$vid, true);
250
+ $conversions += get_post_meta($post->ID,'lp-ab-variation-conversions-'.$vid, true);
251
+ }
252
+
253
+ if ($type_of_stat === "actions")
254
+ {
255
+ return $conversions;
256
+ }
257
+ if ($type_of_stat === "impressions")
258
+ {
259
+ return $impressions;
260
+ }
261
+ if ($type_of_stat === "cr")
262
+ {
263
+ if ($impressions != 0) {
264
+ $conversion_rate = $conversions / $impressions;
265
+ } else {
266
+ $conversion_rate = 0;
267
+ }
268
+ $conversion_rate = round($conversion_rate,2) * 100;
269
+ return $conversion_rate;
270
+ }
271
+
272
+ }
273
+ //populate collumsn for landing pages
274
+ function lp_column($column)
275
+ {
276
+ global $post;
277
+
278
+ if ($post->post_type!='landing-page')
279
+ return;
280
+
281
+ if ("ID" == $column)
282
+ {
283
+ echo $post->ID;
284
+ }
285
+ else if ("title" == $column)
286
+ {
287
+ }
288
+ else if ("author" == $column)
289
+ {
290
+ }
291
+ else if ("date" == $column)
292
+ {
293
+ }
294
+ else if ("thumbnail-lander" == $column)
295
+ {
296
+ $template = get_post_meta($post->ID, 'lp-selected-template', true);
297
+ $permalink = get_permalink($post->ID);
298
+ $datetime = the_modified_date('YmjH',null,null,false);
299
+ $permalink = $permalink = $permalink.'?dt='.$datetime;
300
+
301
+ if (in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) {
302
+
303
+ if (file_exists(LANDINGPAGES_UPLOADS_PATH . $template . '/thumbnail.png')) {
304
+ $thumbnail = LANDINGPAGES_UPLOADS_URLPATH . $template . '/thumbnail.png';
305
+ }
306
+ else {
307
+ $thumbnail = LANDINGPAGES_URLPATH . 'templates/' . $template . '/thumbnail.png';
308
+ }
309
+
310
+ } else {
311
+ $thumbnail = 'http://s.wordpress.com/mshots/v1/' . urlencode(esc_url($permalink)) . '?w=140';
312
+ }
313
+
314
+ echo "<a title='".__('Click to Preview this variation' , 'landing-pages') ."' class='thickbox' href='".$permalink."?lp-variation-id=0&iframe_window=on&post_id=".$post->ID."&TB_iframe=true&width=640&height=703' target='_blank'><img src='".$thumbnail."' style='width:150px;height:110px;' title='Click to Preview'></a>";
315
+
316
+ }
317
+ else if ("stats" == $column)
318
+ {
319
+ $lp_impressions = lp_get_page_views($post->ID);
320
+ $lp_impressions = apply_filters('lp_col_impressions',$lp_impressions);
321
+
322
+ lp_show_stats_list();
323
+
324
+
325
+ }
326
+ else if ("impressions" == $column)
327
+ {
328
+ echo lp_show_aggregated_stats("impressions");
329
+
330
+ }
331
+ else if ("actions" == $column)
332
+ {
333
+ echo lp_show_aggregated_stats("actions");
334
+ }
335
+ else if ("cr" == $column)
336
+ {
337
+ echo lp_show_aggregated_stats("cr") . "%";
338
+ }
339
+ else if ("template" == $column) {
340
+ $template_used = get_post_meta($post->ID, 'lp-selected-template', true);
341
+ echo $template_used;
342
+ }
343
+ }
344
+
345
+ // Add category sort to landing page list
346
+ function lp_taxonomy_filter_restrict_manage_posts()
347
+ {
348
+ global $typenow;
349
+
350
+ if ($typenow === "landing-page") {
351
+ $post_types = get_post_types( array( '_builtin' => false ) );
352
+ if ( in_array( $typenow, $post_types ) ) {
353
+ $filters = get_object_taxonomies( $typenow );
354
+
355
+ foreach ( $filters as $tax_slug ) {
356
+ $tax_obj = get_taxonomy( $tax_slug );
357
+ (isset($_GET[$tax_slug])) ? $current = $_GET[$tax_slug] : $current = 0;
358
+ wp_dropdown_categories( array(
359
+ 'show_option_all' => __('Show All '.$tax_obj->label ),
360
+ 'taxonomy' => $tax_slug,
361
+ 'name' => $tax_obj->name,
362
+ 'orderby' => 'name',
363
+ 'selected' => $current,
364
+ 'hierarchical' => $tax_obj->hierarchical,
365
+ 'show_count' => false,
366
+ 'hide_empty' => true
367
+ ) );
368
+ }
369
+ }
370
+ }
371
+ }
372
+
373
+ add_action( 'restrict_manage_posts', 'lp_taxonomy_filter_restrict_manage_posts' );
374
+ function convert_landing_page_category_id_to_taxonomy_term_in_query($query) {
375
+ global $pagenow;
376
+ $qv = &$query->query_vars;
377
+ if( $pagenow=='edit.php' && isset($qv['landing_page_category']) && is_numeric($qv['landing_page_category']) ) {
378
+ $term = get_term_by('id',$qv['landing_page_category'],'landing_page_category');
379
+ $qv['landing_page_category'] = $term->slug;
380
+ }
381
+ }
382
+ add_filter('parse_query','convert_landing_page_category_id_to_taxonomy_term_in_query');
383
+
384
+ // Make these columns sortable
385
+ add_filter( 'manage_edit-landing-page_sortable_columns', 'lp_sortable_columns' );
386
+ function lp_sortable_columns() {
387
+ return array(
388
+ 'title' => 'title',
389
+ 'impressions' => 'impressions',
390
+ 'actions' => 'actions',
391
+ 'cr' => 'cr'
392
+ );
393
+ }
394
+
395
+
396
+ //START Custom styling of post state (eg: pretty highlighting of post_status on landing pages page
397
+ add_filter( 'display_post_states', 'lp_custom_post_states' );
398
+ function lp_custom_post_states( $post_states ) {
399
+ foreach ( $post_states as &$state ){
400
+ $state = '<span class="'.strtolower( $state ).' states">' . str_replace( ' ', '-', $state ) . '</span>';
401
+ }
402
+ return $post_states;
403
+ }
404
+
405
+ //***********ADDS 'CLEAR STATS' BUTTON TO POSTS EDITING AREA******************/
406
+ add_filter('post_row_actions', 'lp_add_clear_tracking',10,2);
407
+ function lp_add_clear_tracking($actions, $post) {
408
+ if ($post->post_type=='landing-page')
409
+ {
410
+ $actions['clear'] = '<a href="#clear-stats" id="lp_clear_'.$post->ID.'" class="clear_stats" title="'
411
+ . esc_attr(__("Clear impression and conversion records", 'landing-pages'))
412
+ . '" >' . __('Clear All Stats', 'landing-pages') . '</a><span class="hover-description">'. __('Hover over the letters to the right for more options' , 'landing-pages') .'</span>';
413
+ }
414
+ return $actions;
415
+ }
416
+
417
+ /* perform trash actions for landing pages */
418
+ add_action('wp_trash_post', 'lp_trash_lander');
419
+ function lp_trash_lander($post_id) {
420
+ global $post;
421
+
422
+ if (!isset($post)||isset($_POST['split_test']))
423
+ return;
424
+
425
+ if ($post->post_type=='revision')
426
+ {
427
+ return;
428
+ }
429
+ if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ||(isset($_POST['post_type'])&&$_POST['post_type']=='revision'))
430
+ {
431
+ return;
432
+ }
433
+
434
+ if ($post->post_type=='landing-page')
435
+ {
436
+
437
+ $lp_id = $post->ID;
438
+
439
+ $args=array(
440
+ 'post_type' => 'landing-page-group',
441
+ 'post_satus'=>'publish'
442
+ );
443
+
444
+ $my_query = null;
445
+ $my_query = new WP_Query($args);
446
+
447
+ if( $my_query->have_posts() )
448
+ {
449
+ $i=1;
450
+ while ($my_query->have_posts()) : $my_query->the_post();
451
+ $group_id = get_the_ID();
452
+ $group_data = get_the_content();
453
+ $group_data = json_decode($group_data,true);
454
+
455
+ $lp_ids = array();
456
+ foreach ($group_data as $key=>$value)
457
+ {
458
+ $lp_ids[] = $key;
459
+ }
460
+
461
+ if (in_array($lp_id,$lp_ids))
462
+ {
463
+ unset($group_data[$lp_id]);
464
+
465
+ $this_data = json_encode($group_data);
466
+ //print_r($this_data);
467
+ $new_post = array(
468
+ 'ID' => $group_id,
469
+ 'post_title' => get_the_title(),
470
+ 'post_content' => $this_data,
471
+ 'post_status' => 'publish',
472
+ 'post_date' => date('Y-m-d H:i:s'),
473
+ 'post_author' => 1,
474
+ 'post_type' => 'landing-page-group'
475
+ );
476
+ //print_r($new_post);
477
+ $post_id = wp_update_post($new_post);
478
+ }
479
+ endwhile;
480
+ }
481
+ }
482
+ }
 
483
 
484
  }
485
 
486
  if (!post_type_exists('wp-lead')) {
487
+ //add_action('plugins_loaded', 'inbound_leads_register');
488
+ // moved to /shared/functions/lead.cpt.php
489
  }
modules/module.redirect-ab-testing.php CHANGED
@@ -5,38 +5,27 @@ define("DONOTCACHEPAGE", true);
5
  define('DONOTCACHCEOBJECT', true);
6
  define('DONOTCDN', true);
7
 
8
- if ( file_exists ( './../../../../wp-load.php' ) )
9
  {
10
- include_once ( './../../../../wp-load.php' );
 
11
  }
12
- else if ( file_exists ( './../../../../../wp-load.php' ) )
13
  {
14
- include_once ( './../../../../../wp-load.php' );
15
- }
16
- else if ( file_exists ( './../../../../../../wp-load.php' ) )
17
- {
18
- include_once ( './../../../../../../wp-load.php' );
19
- }
20
-
21
- else if ( file_exists ( './../../../../../../../wp-load.php' ) )
22
- {
23
- include_once ( './../../../../../../../wp-load.php' );
24
  }
25
 
26
  class LP_Variation_Rotation {
27
 
28
  static $permalink_name;
29
  static $post_id;
30
- static $sticky_variations;
31
  static $last_loaded_variation;
32
  static $variations;
33
  static $marker;
34
  static $next_marker;
35
  static $destination_url;
36
 
37
- /**
38
- * Executes Class
39
- */
40
  public function __construct() {
41
 
42
  self::load_variables();
@@ -45,53 +34,34 @@ class LP_Variation_Rotation {
45
 
46
  }
47
 
48
- /**
49
- * Loads Static Variables
50
- */
51
  private static function load_variables()
52
  {
53
- self::$permalink_name = (isset($_GET['permalink_name'])) ? sanitize_text_field($_GET['permalink_name']) : null;
54
  self::$post_id = self::load_post_id();
55
- self::$sticky_variations = get_option( 'lp-main-landing-page-rotation-halt' , false );
56
  self::$last_loaded_variation = ( isset( $_COOKIE['lp-loaded-variation-'.self::$permalink_name] ) ) ? $_COOKIE['lp-loaded-variation-'.self::$permalink_name] : null;
57
-
58
- if ( self::$sticky_variations && self::$last_loaded_variation ) {
59
- self::$destination_url = self::$last_loaded_variation;
60
- } else {
61
- self::$variations = self::load_variations();
62
- self::$marker = self::load_marker();
63
- self::$next_marker = self::discover_next_variation();
64
- self::$destination_url = self::build_destination_url();
65
- }
66
-
67
  }
68
 
69
- /**
70
- * Debug Information - Prints Class Variable Data
71
- */
72
  static function run_debug() {
73
- echo self::$variations. '<br>';
74
- echo self::$marker. '<br>';
75
- echo self::$next_marker. '<br>';
76
- echo self::$destination_url. '<br>';
77
- exit;
78
  }
79
 
80
- /**
81
- * Loads the ID of the Landing Page
82
- */
83
  static function load_post_id() {
84
  global $wpdb;
85
 
86
- $post_id = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type='landing-page'", self::$permalink_name ));
87
 
88
  return $post_id;
89
 
90
  }
91
 
92
- /**
93
- * Loads an Array of Active Variations Associated with Landing Page
94
- */
95
  static function load_variations() {
96
 
97
  $live_variations = array();
@@ -118,9 +88,7 @@ class LP_Variation_Rotation {
118
  return $live_variations;
119
  }
120
 
121
- /**
122
- * Loads Variation ID of Last Variation Loaded
123
- */
124
  static function load_marker() {
125
 
126
  $marker = get_post_meta( self::$post_id , 'lp-ab-variations-marker' , true );
@@ -133,9 +101,7 @@ class LP_Variation_Rotation {
133
  return $marker;
134
  }
135
 
136
- /**
137
- * Discovers Next Variation in Line
138
- */
139
  static function discover_next_variation() {
140
 
141
  /* Set Pointer to Correct Location in Variations Array */
@@ -158,9 +124,7 @@ class LP_Variation_Rotation {
158
 
159
  }
160
 
161
- /**
162
- * Builds Redirect URL & Stores Cookie Data
163
- */
164
  static function build_destination_url() {
165
 
166
  /* Load Base URL */
@@ -184,13 +148,10 @@ class LP_Variation_Rotation {
184
  return $url;
185
  }
186
 
187
- /**
188
- * Redirects to Correct Variation
189
- */
190
  static function redirect() {
191
- header("HTTP/1.1 302 Temporary Redirect");
192
- header("Location: ".self::$destination_url);
193
- exit;
194
  }
195
  }
196
 
5
  define('DONOTCACHCEOBJECT', true);
6
  define('DONOTCDN', true);
7
 
8
+ if ( file_exists ( './../../../../wp-config.php' ) )
9
  {
10
+ include_once ( './../../../../wp-config.php' );
11
+ include_once ( './../../../../wp-includes/admin-bar.php' );
12
  }
13
+ else if ( file_exists ( './../../../../../wp-config.php' ) )
14
  {
15
+ include_once ( './../../../../../wp-config.php' );
 
 
 
 
 
 
 
 
 
16
  }
17
 
18
  class LP_Variation_Rotation {
19
 
20
  static $permalink_name;
21
  static $post_id;
 
22
  static $last_loaded_variation;
23
  static $variations;
24
  static $marker;
25
  static $next_marker;
26
  static $destination_url;
27
 
28
+ /* Exectutes Class */
 
 
29
  public function __construct() {
30
 
31
  self::load_variables();
34
 
35
  }
36
 
37
+ /* Loads Static Variables */
 
 
38
  private static function load_variables()
39
  {
40
+ self::$permalink_name = (isset($_GET['permalink_name'])) ? $_GET['permalink_name'] : null;
41
  self::$post_id = self::load_post_id();
 
42
  self::$last_loaded_variation = ( isset( $_COOKIE['lp-loaded-variation-'.self::$permalink_name] ) ) ? $_COOKIE['lp-loaded-variation-'.self::$permalink_name] : null;
43
+ self::$variations = self::load_variations();
44
+ self::$marker = self::load_marker();
45
+ self::$next_marker = self::discover_next_variation();
46
+ self::$destination_url = self::build_destination_url();
 
 
 
 
 
 
47
  }
48
 
49
+ /* Debug Information - Prints Class Variable Data */
 
 
50
  static function run_debug() {
51
+ print_r($this);exit;
 
 
 
 
52
  }
53
 
54
+ /* Loads the ID of the Landing Page */
 
 
55
  static function load_post_id() {
56
  global $wpdb;
57
 
58
+ $post_id = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type='landing-page'", $_GET['permalink_name'] ));
59
 
60
  return $post_id;
61
 
62
  }
63
 
64
+ /* Loads an Array of Active Variations Associated with Landing Page */
 
 
65
  static function load_variations() {
66
 
67
  $live_variations = array();
88
  return $live_variations;
89
  }
90
 
91
+ /* Loads Variation ID of Last Variation Loaded */
 
 
92
  static function load_marker() {
93
 
94
  $marker = get_post_meta( self::$post_id , 'lp-ab-variations-marker' , true );
101
  return $marker;
102
  }
103
 
104
+ /* Discovers Next Variation in Line */
 
 
105
  static function discover_next_variation() {
106
 
107
  /* Set Pointer to Correct Location in Variations Array */
124
 
125
  }
126
 
127
+ /* Builds Redirect URL & Stores Cookie Data */
 
 
128
  static function build_destination_url() {
129
 
130
  /* Load Base URL */
148
  return $url;
149
  }
150
 
151
+ /* Redirects to Correct Variation */
 
 
152
  static function redirect() {
153
+ @header("HTTP/1.1 307 Temporary Redirect");
154
+ @header("Location: ".self::$destination_url);
 
155
  }
156
  }
157
 
modules/module.store.php CHANGED
@@ -1 +1 @@
1
- <?php
2
  jQuery("#lp-store-iframe-container iframe").css('height', window.outerHeight + "px");
3
  }, 2000);
 
4
  </div>
 
1
  jQuery("#lp-store-iframe-container iframe").css('height', window.outerHeight + "px");
2
  }, 2000);
3
+ <?php
4
  </div>
modules/module.templates.php CHANGED
@@ -32,28 +32,23 @@ else if (isset($_GET['page'])&&$_GET['page']=='lp_manage_templates')
32
  private $singular;
33
  private $plural;
34
 
35
- function __construct() {
36
-
37
  $lp_data = lp_get_extension_data();
38
- $final_data = array();
39
 
40
  foreach ($lp_data as $key=>$data)
41
  {
42
  $array_core_templates = array('countdown-lander','default','demo','dropcap','half-and-half','simple-two-column','super-slick','svtle','tubelar','rsvp-envelope', 'simple-solid-lite', 'three-column-lander');
43
 
44
- if ($key == 'lp' || substr($key,0,4) == 'ext-' ) {
45
  continue;
46
- }
47
 
48
-
49
- if (isset($data['info']['data_type']) && $data['info']['data_type']=='metabox') {
50
  continue;
51
- }
52
-
53
 
54
- if (in_array($key,$array_core_templates)) {
55
  continue;
56
- }
57
  //if (stristr($data['category'],'Theme Integrated'))
58
  //continue;
59
 
@@ -64,13 +59,12 @@ else if (isset($_GET['page'])&&$_GET['page']=='lp_manage_templates')
64
  }
65
  }
66
 
67
- if (isset($data['thumbnail'])) {
68
  $thumbnail = $data['thumbnail'];
69
- } else if ($key=='default') {
70
  $thumbnail = get_bloginfo('template_directory')."/screenshot.png";
71
- } else {
72
  $thumbnail = LANDINGPAGES_UPLOADS_URLPATH.$key."/thumbnail.png";
73
- }
74
 
75
  $this_data['ID'] = $key;
76
  $this_data['template'] = $key;
@@ -80,9 +74,12 @@ else if (isset($_GET['page'])&&$_GET['page']=='lp_manage_templates')
80
  ( array_key_exists('info',$data) ) ? $this_data['description'] = $data['info']['description'] : $this_data['description'] = $data['description'];
81
 
82
  $this_data['thumbnail'] = $thumbnail;
83
- if (isset($data['info']['version'])&&!empty($data['info']['version'])) {
 
84
  $this_data['version'] = $data['info']['version'];
85
- } else {
 
 
86
  $this_data['version'] = "1.0.1";
87
  }
88
 
@@ -104,7 +101,8 @@ else if (isset($_GET['page'])&&$_GET['page']=='lp_manage_templates')
104
  $this->_args = $args;
105
  }
106
 
107
- function get_columns() {
 
108
  $columns = array(
109
  'cb' => '<input type="checkbox" />',
110
  'template' => __( 'Template' , 'landing-pages'),
32
  private $singular;
33
  private $plural;
34
 
35
+ function __construct()
36
+ {
37
  $lp_data = lp_get_extension_data();
 
38
 
39
  foreach ($lp_data as $key=>$data)
40
  {
41
  $array_core_templates = array('countdown-lander','default','demo','dropcap','half-and-half','simple-two-column','super-slick','svtle','tubelar','rsvp-envelope', 'simple-solid-lite', 'three-column-lander');
42
 
43
+ if ($key == 'lp' || substr($key,0,4) == 'ext-' )
44
  continue;
 
45
 
46
+ if (isset($data['info']['data_type']) && $data['info']['data_type']=='metabox')
 
47
  continue;
 
 
48
 
49
+ if (in_array($key,$array_core_templates))
50
  continue;
51
+
52
  //if (stristr($data['category'],'Theme Integrated'))
53
  //continue;
54
 
59
  }
60
  }
61
 
62
+ if (isset($data['thumbnail']))
63
  $thumbnail = $data['thumbnail'];
64
+ else if ($key=='default')
65
  $thumbnail = get_bloginfo('template_directory')."/screenshot.png";
66
+ else
67
  $thumbnail = LANDINGPAGES_UPLOADS_URLPATH.$key."/thumbnail.png";
 
68
 
69
  $this_data['ID'] = $key;
70
  $this_data['template'] = $key;
74
  ( array_key_exists('info',$data) ) ? $this_data['description'] = $data['info']['description'] : $this_data['description'] = $data['description'];
75
 
76
  $this_data['thumbnail'] = $thumbnail;
77
+ if (isset($data['info']['version'])&&!empty($data['info']['version']))
78
+ {
79
  $this_data['version'] = $data['info']['version'];
80
+ }
81
+ else
82
+ {
83
  $this_data['version'] = "1.0.1";
84
  }
85
 
101
  $this->_args = $args;
102
  }
103
 
104
+ function get_columns()
105
+ {
106
  $columns = array(
107
  'cb' => '<input type="checkbox" />',
108
  'template' => __( 'Template' , 'landing-pages'),
modules/module.track.php CHANGED
@@ -1,50 +1 @@
1
- <?php
2
-
3
- // Tracking impressions and conversions
4
- add_action('inboundnow_store_lead_pre_filter_data','lp_set_conversion',10,1);
5
- function lp_set_conversion($data) {
6
-
7
- if (!isset( $data['page_id'] ) ) {
8
- return;
9
- }
10
-
11
- $post = get_post( $data['page_id'] );
12
- if ($post) {
13
- $data['post_type'] = $post->post_type;
14
- }
15
-
16
- $do_not_track = apply_filters('inbound_analytics_stop_track' , false );
17
-
18
- if ( $do_not_track ) {
19
- return;
20
- }
21
-
22
- /* increment content conversion count */
23
- if( isset($data['post_type']) && $data['post_type'] === 'landing-page' ) {
24
-
25
- $lp_conversions = get_post_meta( $data['page_id'], 'lp-ab-variation-conversions-'.$data['variation'], true );
26
- $lp_conversions++;
27
- update_post_meta( $data['page_id'], 'lp-ab-variation-conversions-'.$data['variation'], $lp_conversions );
28
-
29
-
30
- } else {
31
- $conversions = get_post_meta( $data['page_id'], '_inbound_conversions_count', true );
32
- $conversions++;
33
- update_post_meta( $data['page_id'], '_inbound_conversions_count', $conversions );
34
- }
35
-
36
- return $data;
37
- }
38
-
39
- function lp_get_page_views($postID) {
40
- $count_key = 'lp_page_views_count';
41
- $count = get_post_meta($postID, $count_key, true);
42
- if($count==''){
43
- delete_post_meta($postID, $count_key);
44
- add_post_meta($postID, $count_key, '0');
45
- return;
46
- }
47
- return $count;
48
- }
49
-
50
- ?>
51
  $count_key = 'lp_page_views_count';
52
  $count = get_post_meta($postID, $count_key, true);
53
  if($count==''){
54
  $count = 0;
55
  delete_post_meta($postID, $count_key);
56
  add_post_meta($postID, $count_key, '0');
57
  }else{
58
  $count++;
59
  update_post_meta($postID, $count_key, $count);
60
  }
61
  $count_key = 'lp_page_conversions_count';
62
  $count = get_post_meta($postID, $count_key, true);
63
  if($count==''){
64
  delete_post_meta($postID, $count_key);
65
  add_post_meta($postID, $count_key, '0');
66
  return "0";
67
  }
68
  return $count;
69
  $count_key = 'lp_page_conversions_count';
70
  $count = get_post_meta($postID, $count_key, true);
71
  if($count==''){
72
  $count = 0;
73
  delete_post_meta($postID, $count_key);
74
  add_post_meta($postID, $count_key, '0');
75
  }else{
76
  $count++;
77
  update_post_meta($postID, $count_key, $count);
78
  }
79
  $count_key = 'lp_page_views_count';
80
  $count = get_post_meta($postID, $count_key, true);
81
  if($count==''){
82
  delete_post_meta($postID, $count_key);
83
  add_post_meta($postID, $count_key, '0');
84
  return;
85
  }
86
  return $count;
1
+ <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  $count_key = 'lp_page_views_count';
3
  $count = get_post_meta($postID, $count_key, true);
4
  if($count==''){
5
  $count = 0;
6
  delete_post_meta($postID, $count_key);
7
  add_post_meta($postID, $count_key, '0');
8
  }else{
9
  $count++;
10
  update_post_meta($postID, $count_key, $count);
11
  }
12
  $count_key = 'lp_page_conversions_count';
13
  $count = get_post_meta($postID, $count_key, true);
14
  if($count==''){
15
  delete_post_meta($postID, $count_key);
16
  add_post_meta($postID, $count_key, '0');
17
  return "0";
18
  }
19
  return $count;
20
  $count_key = 'lp_page_conversions_count';
21
  $count = get_post_meta($postID, $count_key, true);
22
  if($count==''){
23
  $count = 0;
24
  delete_post_meta($postID, $count_key);
25
  add_post_meta($postID, $count_key, '0');
26
  }else{
27
  $count++;
28
  update_post_meta($postID, $count_key, $count);
29
  }
30
  $count_key = 'lp_page_views_count';
31
  $count = get_post_meta($postID, $count_key, true);
32
  if($count==''){
33
  delete_post_meta($postID, $count_key);
34
  add_post_meta($postID, $count_key, '0');
35
  return;
36
  }
37
  return $count;
modules/module.utils.php CHANGED
@@ -87,6 +87,34 @@ if (!function_exists('lp_remote_connect'))
87
  }
88
  }
89
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
 
91
  // Fix wp_title for known bad behavior themes */
92
  add_action('wp','landingpage_fix_known_wp_title_isses' , 10);
87
  }
88
  }
89
 
90
+ /* DEBUGGING SUPPORT */
91
+ add_action( 'init', 'inbound_meta_debug' );
92
+ if (!function_exists('inbound_meta_debug')) {
93
+ function inbound_meta_debug()
94
+ {
95
+ //print all global fields for post
96
+ if (isset($_GET['debug']) && ( isset($_GET['post']) && is_numeric($_GET['post']) ) )
97
+ {
98
+ global $wpdb;
99
+ $data = array();
100
+ $wpdb->query("
101
+ SELECT `meta_key`, `meta_value`
102
+ FROM $wpdb->postmeta
103
+ WHERE `post_id` = ".mysql_real_escape_string($_GET['post'])."
104
+ ");
105
+
106
+ foreach($wpdb->last_result as $k => $v){
107
+ $data[$v->meta_key] = $v->meta_value;
108
+ };
109
+ if (isset($_GET['post']))
110
+ {
111
+ echo "<pre>";
112
+ print_r( $data);
113
+ echo "</pre>";
114
+ }
115
+ }
116
+ }
117
+ }
118
 
119
  // Fix wp_title for known bad behavior themes */
120
  add_action('wp','landingpage_fix_known_wp_title_isses' , 10);
package.json DELETED
@@ -1,45 +0,0 @@
1
- {
2
- "name": "landing-pages",
3
- "version": "1.0.0",
4
- "description": "Landing page plugin",
5
- "main": "gulpfile.js",
6
- "scripts": {
7
- "test": "test"
8
- },
9
- "repository": {
10
- "type": "git",
11
- "url": "https://davidwells@github.com/inboundnow/landing-pages.git"
12
- },
13
- "keywords": [
14
- "cta",
15
- "calls",
16
- "to",
17
- "action"
18
- ],
19
- "author": "Inbound Now",
20
- "license": "GPL",
21
- "bugs": {
22
- "url": "https://github.com/inboundnow/landing-pages/issues"
23
- },
24
- "homepage": "https://github.com/inboundnow/landing-pages",
25
- "dependencies": {},
26
- "devDependencies": {
27
- "grunt-wp-readme-to-markdown": "^0.8.0",
28
- "gulp": "^3.8.5",
29
- "gulp-clean": "^0.2.4",
30
- "gulp-concat": "~2.1.7",
31
- "gulp-header": "^1.0.2",
32
- "gulp-jshint": "^1.6.1",
33
- "gulp-karma": "0.0.4",
34
- "gulp-markdox": "^0.1.0",
35
- "gulp-plumber": "~0.6.2",
36
- "gulp-rename": "~1.1.0",
37
- "gulp-uglify": "~0.3.0",
38
- "jshint-stylish": "^0.2.0",
39
- "karma": "^0.12.16",
40
- "karma-chrome-launcher": "^0.1.5",
41
- "karma-jasmine": "~0.2.0",
42
- "karma-phantomjs-launcher": "^0.1.4",
43
- "karma-spec-reporter": "0.0.13"
44
- }
45
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
phpunit.xml.dist CHANGED
@@ -1,8 +1,8 @@
1
- <phpunit bootstrap="tests/travis-ci/bootstrap.php" backupGlobals="false" colors="true">
2
  <testsuites>
3
  <!-- Default test suite to run all tests -->
4
  <testsuite>
5
- <directory prefix="test." suffix=".php">tests/travis-ci/</directory>
6
  </testsuite>
7
  </testsuites>
8
  </phpunit>
1
+ <phpunit bootstrap="tests/bootstrap.php" backupGlobals="false" colors="true">
2
  <testsuites>
3
  <!-- Default test suite to run all tests -->
4
  <testsuite>
5
+ <directory prefix="test_" suffix=".php">tests</directory>
6
  </testsuite>
7
  </testsuites>
8
  </phpunit>
readme.txt CHANGED
@@ -1,13 +1,13 @@
1
  === WordPress Landing Pages ===
2
 
3
- Contributors: David Wells, Hudson Atwell
4
  Donate link: mailto:marketplace@inboundnow.com
5
  License: GPLv2 or later
6
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
7
  Tags: landing pages, inbound marketing, conversion pages, split testing, a b test, a b testing, a/b test, a/b testing, coming soon page, email list, landing page, list building, maintenance page, squeeze page, inbound now, landing-pages, splash pages, cpa, click tracking, goal tracking, analytics, free landing page templates
8
  Requires at least: 3.8
9
- Tested up to: 4.1
10
- Stable Tag: 1.8.5
11
 
12
  Create landing pages for your WordPress site. Monitor and improve conversion rates, run A/B split tests, customize your own templates and more.
13
 
@@ -47,7 +47,7 @@ We built the landing page plugin as a framework! Need A/B testing out of the box
47
 
48
  You can quickly take your existing designs and implement them using our <a href="http://docs.inboundnow.com/section/developer/">templating framework</a>.
49
 
50
- The plugin is also fully extendable and has a number of actions, filters, and hooks available for use. If a hook doesn't exist, simply ask and we can implement custom changes.
51
 
52
 
53
  [Follow Development on GitHub ](https://github.com/inboundnow/landing-pages "Follow & Contribute to core development on GitHub")
@@ -72,63 +72,6 @@ The plugin is also fully extendable and has a number of actions, filters, and ho
72
  4. Choose from a ton of pre-made templates, use your existing design, or design your own theme!
73
 
74
  == Changelog ==
75
- = 1.8.5 =
76
- * Security Patch
77
-
78
- = 1.8.4 =
79
- * preparation for Inbound Attachments
80
- * general bug fixes and improvements
81
-
82
- = 1.8.3 =
83
- * Fixing white screen of death issues with other plugin conflicts
84
- * Improvements on NoConflict jQuery Class
85
-
86
- = 1.8.2 =
87
- * Debugging release issues with 1.8.1
88
- * Security Update
89
-
90
- = 1.8.1 =
91
- * WYSIWYG buttons overlapping fixed
92
- * Fixes issue with Homepage extensions and variation switching
93
- * Template preview links
94
- * Removing 'get short url' from landing pages.
95
- * View full list of changes [here](https://github.com/inboundnow/landing-pages/issues?q=label%3A1.8.1+is%3Aclosed)
96
-
97
- = 1.8.0 =
98
- * Fixing addon store
99
-
100
- = 1.7.9 =
101
- * Even more security updates! Security for the win!
102
-
103
- = 1.7.8 =
104
- * Security Patch
105
-
106
- = 1.7.7 =
107
- * Fix double lead notification email
108
-
109
- = 1.7.6 =
110
- * Fixed double email submission on contact form 7
111
-
112
- = 1.7.5 =
113
- * Added form field exclusions to ignore sensitive data
114
-
115
- = 1.7.3 =
116
- * See changelog here: https://github.com/inboundnow/landing-pages/issues?q=is%3Aissue+is%3Aclosed+label%3Av1.7.3
117
-
118
- = 1.7.2 =
119
- * Improved form email typo detection
120
- * Improved Template Styles
121
- * Fixed content wysiwyg scroll freezing bug
122
-
123
- = 1.7.1 =
124
- * removed iframe of inbound now addon store. For addons please visit: http://inboundnow.com/market
125
-
126
- = 1.7.0 =
127
- * Removed anonymous PHP functions for PHP 5.2 support
128
- * Updated template creation standards
129
- * Converted varition modules to CLASS based system & documented
130
- * Move /lang/ file outside of shared
131
-
132
  = 1.6.2 =
133
  * Bug Fix: Fix with lead email notifications
134
 
1
  === WordPress Landing Pages ===
2
 
3
+ Contributors: David Wells, adbox
4
  Donate link: mailto:marketplace@inboundnow.com
5
  License: GPLv2 or later
6
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
7
  Tags: landing pages, inbound marketing, conversion pages, split testing, a b test, a b testing, a/b test, a/b testing, coming soon page, email list, landing page, list building, maintenance page, squeeze page, inbound now, landing-pages, splash pages, cpa, click tracking, goal tracking, analytics, free landing page templates
8
  Requires at least: 3.8
9
+ Tested up to: 3.9
10
+ Stable Tag: 1.6.2
11
 
12
  Create landing pages for your WordPress site. Monitor and improve conversion rates, run A/B split tests, customize your own templates and more.
13
 
47
 
48
  You can quickly take your existing designs and implement them using our <a href="http://docs.inboundnow.com/section/developer/">templating framework</a>.
49
 
50
+ The plugin is also fully extendable and has a number of <a href='http://docs.inboundnow.com/guide/landing-page-core-hooks-filters/'>actions, filters</a>, and hooks available for use. If a hook doesn't exist, simply ask and we can implement custom changes.
51
 
52
 
53
  [Follow Development on GitHub ](https://github.com/inboundnow/landing-pages "Follow & Contribute to core development on GitHub")
72
  4. Choose from a ton of pre-made templates, use your existing design, or design your own theme!
73
 
74
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  = 1.6.2 =
76
  * Bug Fix: Fix with lead email notifications
77
 
shared/.SyncIgnore ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # .SyncIgnore is a UTF-8 encoded .txt file that helps you specify single files, paths and rules
2
+ # for ignoring during the synchronization job. It supports "?" and "*" wildcard symbols.
3
+ #
4
+ #
5
+ # OS generated files #
6
+ .DS_Store
7
+ .DS_Store?
8
+ ._*
9
+ .Spotlight-V100
10
+ .Trashes
11
+ ehthumbs.db
12
+ desktop.ini
13
+ Thumbs.db
shared/assets/{css/admin → admin/css}/global-inbound-admin.css RENAMED
@@ -1,154 +1,145 @@
1
- #wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing:hover > .ab-item,
2
- #wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing.hover > .ab-item,
3
- #wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item,
4
- #wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item, #inboundnow-media-button {
5
-
6
- background-image: url('../../images/global/shortcodes-blue.png');
7
-
8
- background-repeat: no-repeat;
9
- background-position: 0.15em 50%;
10
- padding-left: 22px;
11
- }
12
- #inboundnow-media-button {
13
- padding-left: 5px;
14
- }
15
- .inbound-nav-marketing div:first-of-type{
16
- color:rgba(240,245,250,1);
17
- }
18
- body #calls-to-action .toggle .switch-versions, body #landing-pages .toggle .switch-versions, body #leads .toggle .switch-versions {
19
- display: none;
20
- }
21
- .switch-versions, .switch-versions {
22
-
23
- }
24
- #wp-admin-bar-ddw-edd-languages-de > .ab-item:before,
25
- #wp-admin-bar-ddw-edd-translations-forum > .ab-item:before {
26
- color: #ff9900;
27
- content: '• ';
28
- }
29
- #wpadminbar .inbound-search-input {
30
- width: 140px;
31
- }
32
- #wp-admin-bar-ddw-edd-inboundsupportsections .ab-item,
33
- #wp-admin-bar-ddw-edd-inbounddocsquick .ab-item,
34
- #wp-admin-bar-ddw-edd-inbounddocssections .ab-item,
35
- #wpadminbar .inbound-search-input,
36
- #wpadminbar .inbound-search-go {
37
- color: #21759b !important;
38
- text-shadow: none;
39
- }
40
- #wpadminbar .inbound-search-input,
41
- #wpadminbar .inbound-search-go {
42
- background-color: #fff;
43
- height: 18px;
44
- line-height: 18px;
45
- padding: 1px 4px;
46
- }
47
- #wpadminbar .inbound-search-go {
48
- -webkit-border-radius: 11px;
49
- -moz-border-radius: 11px;
50
- border-radius: 11px;
51
- font-size: 0.67em;
52
- margin: 0 0 0 2px;
53
- }
54
- @font-face {
55
- font-family: 'FontAwesome';
56
- src: url('../../fonts/fontawesome/fontawesome-webfont.eot');
57
- src: url('../../fonts/fontawesome/fontawesome-webfont.eot') format('embedded-opentype'),
58
- url('../../fonts/fontawesome/fontawesome-webfont.woff?v=3.0.2') format('woff'),
59
- url('../../fonts/fontawesome/fontawesome-webfont.ttf?v=3.0.2') format('truetype');
60
- font-weight: normal;
61
- font-style: normal;
62
- }
63
- #adminmenu .menu-icon-wp-lead div.wp-menu-image:before {
64
- font-family: "FontAwesome" !important;
65
- content: "\f0c0";
66
-
67
- }
68
- .branch-3-7 #adminmenu .menu-icon-wp-lead div.wp-menu-image:before {
69
- display: none;
70
- }
71
- #adminmenu .menu-icon-wp-lead div.wp-menu-image img{
72
- display: none;
73
- }
74
- .branch-3-7 #adminmenu .menu-icon-wp-lead div.wp-menu-image img {
75
- display: block;
76
- }
77
- #wp-admin-bar-inbound-cta a:first-child, #wp-admin-bar-inbound-templates .ab-item.ab-empty-item, #wp-admin-bar-inbound-settings .ab-item.ab-empty-item, #wp-admin-bar-inbound-analytics a:first-child {
78
- padding-left: 30px !important;
79
- }
80
- #wp-admin-bar-inbound-templates .ab-item.ab-empty-item:hover, #wp-admin-bar-inbound-settings .ab-item.ab-empty-item:hover {
81
- color: #2ea2cc;
82
- }
83
- #wp-admin-bar-inbound-leads a:first-child, #wp-admin-bar-inbound-seo a:first-child, #wp-admin-bar-inbound-landingpages a:first-child, #wp-admin-bar-inbound-forms a:first-child {
84
- padding-left: 31px !important;
85
- }
86
- #search-inbound-menu {
87
- max-height: 22px !important;
88
- padding: 0px !important;
89
- min-height: 23px !important;
90
- padding-left: 3px !important;
91
- margin-bottom: 1px !important;
92
- }
93
- #wp-admin-bar-inbound-docs-searchform, #wp-admin-bar-inbound-leads-search{
94
- margin-bottom: 10px !important;
95
- }
96
- #wp-admin-bar-inbound-cta .ab-submenu a, #wp-admin-bar-inbound-leads .ab-submenu a, #wp-admin-bar-inbound-landingpages .ab-submenu a , #wp-admin-bar-inbound-forms .ab-submenu a, #wp-admin-bar-inbound-templates .ab-submenu a, #wp-admin-bar-inbound-analytics .ab-submenu a, #wp-admin-bar-inbound-seo .ab-submenu a{
97
- padding-left: 10px !important;
98
- }
99
- #wp-admin-bar-inbound-cta:before, #wp-admin-bar-inbound-leads:before, #wp-admin-bar-inbound-landingpages:before, #wp-admin-bar-inbound-forms:before, #wp-admin-bar-inbound-templates:before, #wp-admin-bar-inbound-settings:before, #wp-admin-bar-inbound-analytics:before, #wp-admin-bar-inbound-seo:before {
100
- font-family: "FontAwesome" !important;
101
- content: "\f05b" !important;
102
- font: 100 19px/1 "FontAwesome" !important;
103
- padding-top: 4px;
104
- width: 30px;
105
- display: inline-block;
106
- height: 30px;
107
- position: absolute;
108
- left: 6px;
109
- }
110
- #wp-admin-bar-inbound-leads:before {
111
- content: "\f0c0" !important;
112
- font: 100 17px/1 "FontAwesome" !important;
113
- }
114
- #wp-admin-bar-inbound-landingpages:before {
115
- content: "\f15c" !important;
116
- left: 7px;
117
- font-size: 21px !important;
118
- }
119
- #wp-admin-bar-inbound-forms:before {
120
- font: 400 18px/1 dashicons!important;
121
- content: "\f163" !important;
122
- }
123
- #wp-admin-bar-inbound-templates:before {
124
- content: "\f0c5" !important;
125
- font-size: 18px !important;
126
- }
127
- #wp-admin-bar-inbound-settings:before {
128
- content: "\f013" !important;
129
- left: 7px !important;
130
- }
131
- #wp-admin-bar-inbound-analytics:before {
132
- content: "\f012" !important;
133
- font-size: 17px !important;
134
- }
135
- #wp-admin-bar-inbound-seo:before {
136
- content: "\f002" !important;
137
- font-size: 17px !important;
138
- }
139
- #wp-admin-bar-inbound-cta a {
140
- vertical-align: top;
141
- }
142
- #adminmenu .menu-icon-wp-call-to-action div.wp-menu-image:before {
143
- font-family: "FontAwesome" !important;
144
- content: "\f05b";
145
- font: 400 24px/1 "FontAwesome" !important;
146
- padding-top: 6px;
147
-
148
- }
149
- .short-list-inbound .mceIcon {
150
- position: absolute;
151
- top: 0;
152
- left: 0;
153
- width: 22px;
154
  }
1
+ #wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing:hover > .ab-item,
2
+ #wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing.hover > .ab-item,
3
+ #wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item,
4
+ #wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item, #inboundnow-media-button {
5
+
6
+ background-image: url('../../global/images/shortcodes-blue.png');
7
+
8
+ background-repeat: no-repeat;
9
+ background-position: 0.15em 50%;
10
+ padding-left: 22px;
11
+ }
12
+ #inboundnow-media-button {
13
+ padding-left: 5px;
14
+ }
15
+ #wp-admin-bar-ddw-edd-languages-de > .ab-item:before,
16
+ #wp-admin-bar-ddw-edd-translations-forum > .ab-item:before {
17
+ color: #ff9900;
18
+ content: '• ';
19
+ }
20
+ #wpadminbar .inbound-search-input {
21
+ width: 140px;
22
+ }
23
+ #wp-admin-bar-ddw-edd-inboundsupportsections .ab-item,
24
+ #wp-admin-bar-ddw-edd-inbounddocsquick .ab-item,
25
+ #wp-admin-bar-ddw-edd-inbounddocssections .ab-item,
26
+ #wpadminbar .inbound-search-input,
27
+ #wpadminbar .inbound-search-go {
28
+ color: #21759b !important;
29
+ text-shadow: none;
30
+ }
31
+ #wpadminbar .inbound-search-input,
32
+ #wpadminbar .inbound-search-go {
33
+ background-color: #fff;
34
+ height: 18px;
35
+ line-height: 18px;
36
+ padding: 1px 4px;
37
+ }
38
+ #wpadminbar .inbound-search-go {
39
+ -webkit-border-radius: 11px;
40
+ -moz-border-radius: 11px;
41
+ border-radius: 11px;
42
+ font-size: 0.67em;
43
+ margin: 0 0 0 2px;
44
+ }
45
+ @font-face {
46
+ font-family: 'FontAwesome';
47
+ src: url('../../global/fonts/fontawesome/fontawesome-webfont.eot');
48
+ src: url('../../global/fonts/fontawesome/fontawesome-webfont.eot') format('embedded-opentype'),
49
+ url('../../global/fonts/fontawesome/fontawesome-webfont.woff?v=3.0.2') format('woff'),
50
+ url('../../global/fonts/fontawesome/fontawesome-webfont.ttf?v=3.0.2') format('truetype');
51
+ font-weight: normal;
52
+ font-style: normal;
53
+ }
54
+ #adminmenu .menu-icon-wp-lead div.wp-menu-image:before {
55
+ font-family: "FontAwesome" !important;
56
+ content: "\f0c0";
57
+
58
+ }
59
+ .branch-3-7 #adminmenu .menu-icon-wp-lead div.wp-menu-image:before {
60
+ display: none;
61
+ }
62
+ #adminmenu .menu-icon-wp-lead div.wp-menu-image img{
63
+ display: none;
64
+ }
65
+ .branch-3-7 #adminmenu .menu-icon-wp-lead div.wp-menu-image img {
66
+ display: block;
67
+ }
68
+ #wp-admin-bar-inbound-cta a:first-child, #wp-admin-bar-inbound-templates .ab-item.ab-empty-item, #wp-admin-bar-inbound-settings .ab-item.ab-empty-item, #wp-admin-bar-inbound-analytics a:first-child {
69
+ padding-left: 30px !important;
70
+ }
71
+ #wp-admin-bar-inbound-templates .ab-item.ab-empty-item:hover, #wp-admin-bar-inbound-settings .ab-item.ab-empty-item:hover {
72
+ color: #2ea2cc;
73
+ }
74
+ #wp-admin-bar-inbound-leads a:first-child, #wp-admin-bar-inbound-seo a:first-child, #wp-admin-bar-inbound-landingpages a:first-child, #wp-admin-bar-inbound-forms a:first-child {
75
+ padding-left: 31px !important;
76
+ }
77
+ #search-inbound-menu {
78
+ max-height: 22px !important;
79
+ padding: 0px !important;
80
+ min-height: 23px !important;
81
+ padding-left: 3px !important;
82
+ margin-bottom: 1px !important;
83
+ }
84
+ #wp-admin-bar-inbound-docs-searchform, #wp-admin-bar-inbound-leads-search{
85
+ margin-bottom: 10px !important;
86
+ }
87
+ #wp-admin-bar-inbound-cta .ab-submenu a, #wp-admin-bar-inbound-leads .ab-submenu a, #wp-admin-bar-inbound-landingpages .ab-submenu a , #wp-admin-bar-inbound-forms .ab-submenu a, #wp-admin-bar-inbound-templates .ab-submenu a, #wp-admin-bar-inbound-analytics .ab-submenu a, #wp-admin-bar-inbound-seo .ab-submenu a{
88
+ padding-left: 10px !important;
89
+ }
90
+ #wp-admin-bar-inbound-cta:before, #wp-admin-bar-inbound-leads:before, #wp-admin-bar-inbound-landingpages:before, #wp-admin-bar-inbound-forms:before, #wp-admin-bar-inbound-templates:before, #wp-admin-bar-inbound-settings:before, #wp-admin-bar-inbound-analytics:before, #wp-admin-bar-inbound-seo:before {
91
+ font-family: "FontAwesome" !important;
92
+ content: "\f05b" !important;
93
+ font: 100 19px/1 "FontAwesome" !important;
94
+ padding-top: 4px;
95
+ width: 30px;
96
+ display: inline-block;
97
+ height: 30px;
98
+ position: absolute;
99
+ left: 6px;
100
+ }
101
+ #wp-admin-bar-inbound-leads:before {
102
+ content: "\f0c0" !important;
103
+ font: 100 17px/1 "FontAwesome" !important;
104
+ }
105
+ #wp-admin-bar-inbound-landingpages:before {
106
+ content: "\f15c" !important;
107
+ left: 7px;
108
+ font-size: 21px !important;
109
+ }
110
+ #wp-admin-bar-inbound-forms:before {
111
+ font: 400 18px/1 dashicons!important;
112
+ content: "\f163" !important;
113
+ }
114
+ #wp-admin-bar-inbound-templates:before {
115
+ content: "\f0c5" !important;
116
+ font-size: 18px !important;
117
+ }
118
+ #wp-admin-bar-inbound-settings:before {
119
+ content: "\f013" !important;
120
+ left: 7px !important;
121
+ }
122
+ #wp-admin-bar-inbound-analytics:before {
123
+ content: "\f012" !important;
124
+ font-size: 17px !important;
125
+ }
126
+ #wp-admin-bar-inbound-seo:before {
127
+ content: "\f002" !important;
128
+ font-size: 17px !important;
129
+ }
130
+ #wp-admin-bar-inbound-cta a {
131
+ vertical-align: top;
132
+ }
133
+ #adminmenu .menu-icon-wp-call-to-action div.wp-menu-image:before {
134
+ font-family: "FontAwesome" !important;
135
+ content: "\f05b";
136
+ font: 400 24px/1 "FontAwesome" !important;
137
+ padding-top: 6px;
138
+
139
+ }
140
+ .short-list-inbound .mceIcon {
141
+ position: absolute;
142
+ top: 0;
143
+ left: 0;
144
+ width: 22px;
 
 
 
 
 
 
 
 
 
145
  }
shared/assets/{css/admin → admin/css}/image-picker.css RENAMED
File without changes
shared/assets/{css/admin → admin/css}/inbound-metaboxes.css RENAMED
@@ -1,75 +1,76 @@
1
- #inbound-meta .inbound-meta-box-row {
2
- display: block;
3
- padding-bottom: 10px;
4
- }
5
- .inbound-meta-box-label, .inbound-meta-box-option {
6
- display: inline-block;
7
- }
8
- .inbound-meta-box-label {
9
- width: 18%;
10
- }
11
- .inbound-wysiwyg-option, .inbound-textarea-option {
12
- width: 75%;
13
- }
14
- .inbound-meta-box-option {
15
- position: relative;
16
- }
17
- .inbound-textarea-option .button-primary.new-save-wp-cta, .inbound-textarea-option .wp-cta-success-message {
18
- position: absolute;
19
- }
20
- .inbound-datepicker .button-primary.new-save-wp-cta {
21
- display: none;
22
- }
23
- .inbound-description-block-option {
24
- max-width: 55%;
25
- }
26
- .inbound-media-row .button-primary.new-save-wp-cta {
27
- position: absolute;
28
- right: -94px;
29
- top: 0px;
30
- text-align: center;
31
- width: 84px;
32
- }
33
- .inbound-meta-box-option.inbound-text-option, .inbound-meta-box-option.inbound-text-option input[type=text] {
34
- width:80%;
35
- }
36
- .inbound-meta-box-option.inbound-text-option input[type=text].cta-width, .inbound-meta-box-option.inbound-text-option input[type=text].cta-height {
37
- width: 100px;
38
- }
39
- #inbound-meta .inbound-custom-css-row {
40
- padding: 0px;
41
- }
42
- .inbound-media-row .wp-cta-success-message {
43
- position: absolute;
44
- right: -100px;
45
- top: 0px;
46
- text-align: center;
47
- width: 80px;
48
- margin-top: 3px;
49
- padding: 0px;
50
- }
51
- .inbound-wysiwyg-option .button-primary.new-save-wp-cta, .inbound-wysiwyg-option .wp-cta-success-message {
52
- width: 100%;
53
- margin: auto;
54
- text-align: center;
55
- margin-left: 0px !important;
56
- padding-left: 0px;
57
- padding-right: 0px;
58
- display: inline-block;
59
- }
60
- .inbound-wysiwyg, .inbound-media, .inbound-datepicker, .inbound-textarea {
61
- vertical-align: top;
62
- }
63
- .inbound-textarea-option .wp-cta-success-message {
64
- position: absolute;
65
- margin-top: 0px;
66
- }
67
- .jquery-date-picker p {
68
- margin: 0px 0 0 0;
69
- }
70
-
71
- .inbound-wysiwyg-row .wp-cta-success-message {
72
- margin-right: 40px;
73
- text-align: center;
74
- display: block;
 
75
  }
1
+ #inbound-meta .inbound-meta-box-row {
2
+ display: block;
3
+ padding: 10px;
4
+ padding-left: 0px;
5
+ }
6
+ .inbound-meta-box-label, .inbound-meta-box-option {
7
+ display: inline-block;
8
+ }
9
+ .inbound-meta-box-label {
10
+ width: 18%;
11
+ }
12
+ .inbound-wysiwyg-option, .inbound-textarea-option {
13
+ width: 75%;
14
+ }
15
+ .inbound-meta-box-option {
16
+ position: relative;
17
+ }
18
+ .inbound-textarea-option .button-primary.new-save-wp-cta, .inbound-textarea-option .wp-cta-success-message {
19
+ position: absolute;
20
+ }
21
+ .inbound-datepicker .button-primary.new-save-wp-cta {
22
+ display: none;
23
+ }
24
+ .inbound-description-block-option {
25
+ max-width: 55%;
26
+ }
27
+ .inbound-media-row .button-primary.new-save-wp-cta {
28
+ position: absolute;
29
+ right: -94px;
30
+ top: 0px;
31
+ text-align: center;
32
+ width: 84px;
33
+ }
34
+ .inbound-meta-box-option.inbound-text-option, .inbound-meta-box-option.inbound-text-option input[type=text] {
35
+ width:80%;
36
+ }
37
+ .inbound-meta-box-option.inbound-text-option input[type=text].cta-width, .inbound-meta-box-option.inbound-text-option input[type=text].cta-height {
38
+ width: 100px;
39
+ }
40
+ #inbound-meta .inbound-custom-css-row {
41
+ padding: 0px;
42
+ }
43
+ .inbound-media-row .wp-cta-success-message {
44
+ position: absolute;
45
+ right: -100px;
46
+ top: 0px;
47
+ text-align: center;
48
+ width: 80px;
49
+ margin-top: 3px;
50
+ padding: 0px;
51
+ }
52
+ .inbound-wysiwyg-option .button-primary.new-save-wp-cta, .inbound-wysiwyg-option .wp-cta-success-message {
53
+ width: 100%;
54
+ margin: auto;
55
+ text-align: center;
56
+ margin-left: 0px !important;
57
+ padding-left: 0px;
58
+ padding-right: 0px;
59
+ display: inline-block;
60
+ }
61
+ .inbound-wysiwyg, .inbound-media, .inbound-datepicker, .inbound-textarea {
62
+ vertical-align: top;
63
+ }
64
+ .inbound-textarea-option .wp-cta-success-message {
65
+ position: absolute;
66
+ margin-top: 0px;
67
+ }
68
+ .jquery-date-picker p {
69
+ margin: 0px 0 0 0;
70
+ }
71
+
72
+ .inbound-wysiwyg-row .wp-cta-success-message {
73
+ margin-right: 40px;
74
+ text-align: center;
75
+ display: block;
76
  }
shared/assets/{images/admin → admin/images}/inbound-now-logo.png RENAMED
File without changes
shared/assets/{js/admin → admin/js}/image-picker.js RENAMED
File without changes
shared/assets/{js/admin → admin/js}/select2.js RENAMED
@@ -1,4 +1,4 @@
1
- /*
2
  Copyright 2012 Igor Vaynberg
3
 
4
  Version: 3.4.1 Timestamp: Thu Jun 27 18:02:10 PDT 2013
1
+ /*
2
  Copyright 2012 Igor Vaynberg
3
 
4
  Version: 3.4.1 Timestamp: Thu Jun 27 18:02:10 PDT 2013
shared/assets/{js/admin → admin/js}/select2.min.js RENAMED
File without changes
shared/assets/assets.loader.class.php CHANGED
@@ -1,196 +1,175 @@
1
- <?php
2
- /*
3
- Inbound Scripts and CSS Enqueue
4
- */
5
-
6
- if (!class_exists('Inbound_Asset_Loader')) {
7
- class Inbound_Asset_Loader {
8
- static $load_assets;
9
-
10
- static function load_inbound_assets() {
11
- self::$load_assets = true;
12
- add_action('wp_enqueue_scripts', array(__CLASS__, 'register_scripts_and_styles'), 101);
13
- add_action('admin_enqueue_scripts', array(__CLASS__, 'register_scripts_and_styles'), 101);
14
- }
15
-
16
- /**
17
- * Registers and enqueues stylesheets for the administration panel and the
18
- * public facing site.
19
- *
20
- * Example:
21
- * self::enqueue_shared_file('SCRIPT-ID', INBOUNDNOW_SHARED_PATH . 'assets/js/frontend/path-in-shared-assets.js', 'localized_var_name', $localized_array_values, $dependancies_array );
22
- */
23
- static function register_scripts_and_styles() {
24
- /* Frontent and Backend Files */
25
-
26
-
27
- /* Conditionals for admin or frontend */
28
- if(is_admin()) {
29
-
30
- //self::enqueue_shared_file('inbound-analytics', 'assets/js/frontend/analytics/inboundAnalytics.js', array( 'jquery' ), 'inbound_settings', self::localize_lead_data());
31
-
32
- self::enqueue_shared_file('jquery-cookie', 'assets/js/global/jquery.cookie.js', array( 'jquery' ));
33
- self::enqueue_shared_file('jquery-total-storage', 'assets/js/global/jquery.total-storage.min.js', array( 'jquery' ));
34
- $inbound_now_screens = Inbound_Compatibility::return_inbound_now_screens(); // list of inbound now screens
35
- $screen = get_current_screen();
36
-
37
- /* Target Specific screen with // echo $screen->id; */
38
-
39
- if ( $screen->id == 'wp-call-to-action') {
40
- self::enqueue_shared_file('image-picker-js', 'assets/js/admin/image-picker.js');
41
- self::enqueue_shared_file('image-picker-css', 'assets/css/admin/image-picker.css');
42
- }
43
- /* Metabox CSS */
44
- self::enqueue_shared_file('inbound-metaboxes', 'assets/css/admin/inbound-metaboxes.css');
45
- self::enqueue_shared_file('inbound-global-styles', 'assets/css/admin/global-inbound-admin.css');
46
-
47
- } else {
48
-
49
- global $wp_scripts;
50
-
51
- if ( !empty( $wp_scripts->queue ) ) {
52
- $store = $wp_scripts->queue; // store the scripts
53
- foreach ( $wp_scripts->queue as $handle ) {
54
- wp_dequeue_script( $handle );
55
- }
56
- }
57
-
58
- /* unminified source available */
59
- self::enqueue_shared_file('inbound-analytics', 'assets/js/frontend/analytics/inboundAnalytics.min.js', array( 'jquery' ), 'inbound_settings', self::localize_lead_data());
60
-
61
- if (is_array($store)) {
62
- foreach ( $store as $handle ) {
63
- wp_enqueue_script( $handle );
64
- }
65
- }
66
-
67
- }
68
- } // end register_scripts_and_styles
69
-
70
- /**
71
- * Helper function for registering and enqueueing scripts and styles.
72
- *
73
- * @name The ID to register with WordPress
74
- * @file_path The path to the actual file inside /shared/assets/
75
- * @localize_array Optional argument for the localized array
76
- * @deps js dependancies by name example 'jquery'
77
- * @localize_var the localized variable name
78
- */
79
- static function enqueue_shared_file($name, $path, $deps = array(), $localize_var = null, $localize_array = array()) {
80
- $is_script = false;
81
- $deps = (empty($deps)) ? array() : $deps;
82
- $url = INBOUNDNOW_SHARED_URLPATH . $path;
83
- $file = INBOUNDNOW_SHARED_PATH . $path;
84
-
85
- $file_type = strpos($path, '.js');
86
- if (!(false === $file_type)) { $is_script = true; }
87
-
88
- if(file_exists($file)) {
89
- if($is_script) {
90
- wp_register_script($name, $url, $deps);
91
- wp_enqueue_script($name);
92
-
93
- if ($localize_var != null) {
94
- wp_localize_script( $name , $localize_var, $localize_array );
95
- }
96
- } else {
97
- wp_register_style($name, $url);
98
- wp_enqueue_style($name);
99
- }
100
- }
101
-
102
- }
103
-
104
- /* Global Specific localize functions */
105
- static function localize_lead_data() {
106
- global $post;
107
- $post_id = null;
108
- $id_check = false;
109
- $page_tracking = 'on';
110
- $search_tracking = 'on';
111
- $comment_tracking = 'on';
112
- $post_type = isset($post) ? get_post_type( $post ) : null;
113
- $current_page = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
114
- $ip_address = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0.0';
115
- $lead_id = (isset($_COOKIE['wp_lead_id'])) ? $_COOKIE['wp_lead_id'] : false;
116
- $lead_email = (isset($_COOKIE['wp_lead_email'])) ? $_COOKIE['wp_lead_email'] : false;
117
- $lead_uid = (isset($_COOKIE['wp_lead_uid'])) ? $_COOKIE['wp_lead_uid'] : false;
118
- $custom_map_values = array();
119
- $custom_map_values = apply_filters( 'inboundnow_custom_map_values_filter' , $custom_map_values);
120
- // Get correct post ID
121
-
122
- global $wp_query;
123
- $current_page_id = $wp_query->get_queried_object_id();
124
- $post_id = $current_page_id;
125
- $id_check = ($post_id != null) ? true : false;
126
-
127
- if (!is_archive() && !$id_check){
128
- $post_id = (isset($post)) ? $post->ID : false;
129
- $id_check = ($post_id != null) ? true : false;
130
- }
131
- if (!$id_check) {
132
- $post_id = wpl_url_to_postid($current_page);
133
- $id_check = ($post_id != null) ? true : false;
134
- }
135
- if(!$id_check){
136
- $post_id = wp_leads_get_page_final_id();
137
- $id_check = ($post_id != null) ? true : false;
138
- }
139
-
140
- // If page tracking on
141
- $lead_page_view_tracking = get_option( 'wpl-main-page-view-tracking', 1);
142
- $lead_search_tracking = get_option( 'wpl-main-search-tracking', 1);
143
- $lead_comment_tracking = get_option( 'wpl-main-comment-tracking', 1);
144
- if (!$lead_search_tracking) {
145
- $search_tracking = 'off';
146
- }
147
- if (!$lead_comment_tracking) {
148
- $comment_tracking = 'off';
149
- }
150
- if (!$lead_page_view_tracking) {
151
- $page_tracking = 'off';
152
- }
153
-
154
- // Localize lead data
155
- $lead_data_array = array();
156
- $lead_data_array['lead_id'] = ($lead_id) ? $lead_id : null;
157
- $lead_data_array['lead_email'] = ($lead_email) ? $lead_email : null;
158
- $lead_data_array['lead_uid'] = ($lead_uid) ? $lead_uid : null;
159
- $time = current_time( 'timestamp', 0 ); // Current wordpress time from settings
160
- $wordpress_date_time = date("Y/m/d G:i:s", $time);
161
- $inbound_track_include = get_option( 'wpl-main-tracking-ids');
162
- $inbound_track_exclude = get_option( 'wpl-main-exclude-tracking-ids');
163
-
164
- /* get variation id */
165
- if (class_exists('Landing_Pages_Variations')) {
166
- $variation = Landing_Pages_Variations::get_current_variation_id();
167
- } else if( function_exists('lp_ab_testing_get_current_variation_id') ) {
168
- $variation = lp_ab_testing_get_current_variation_id();
169
- }
170
-
171
- $variation = (isset($variation)) ? $variation : 0;
172
-
173
- $inbound_localized_data = array(
174
- 'post_id' => $post_id,
175
- 'variation_id' => $variation,
176
- 'ip_address' => $ip_address,
177
- 'wp_lead_data' => $lead_data_array,
178
- 'admin_url' => admin_url('admin-ajax.php'),
179
- 'track_time' => $wordpress_date_time,
180
- 'post_type' => $post_type,
181
- 'page_tracking' => $page_tracking,
182
- 'search_tracking' => $search_tracking,
183
- 'comment_tracking' => $comment_tracking,
184
- 'custom_mapping' => $custom_map_values,
185
- 'inbound_track_exclude' => $inbound_track_exclude,
186
- 'inbound_track_include' => $inbound_track_include,
187
- 'is_admin' => current_user_can( 'manage_options' )
188
- );
189
-
190
- return apply_filters( 'inbound_analytics_localized_data' , $inbound_localized_data);
191
- } // end localize lead data
192
-
193
- } // end class
194
- }
195
-
196
- Inbound_Asset_Loader::load_inbound_assets();
1
+ <?php
2
+ /*
3
+ Inbound Scripts and CSS Enqueue
4
+ */
5
+
6
+
7
+ if (!class_exists('Inbound_Asset_Loader')) {
8
+ class Inbound_Asset_Loader {
9
+ static $load_assets;
10
+
11
+ static function load_inbound_assets() {
12
+ self::$load_assets = true;
13
+ add_action('wp_enqueue_scripts', array(__CLASS__, 'register_scripts_and_styles'), 101);
14
+ add_action('admin_enqueue_scripts', array(__CLASS__, 'register_scripts_and_styles'), 101);
15
+ }
16
+
17
+ /**
18
+ * Registers and enqueues stylesheets for the administration panel and the
19
+ * public facing site.
20
+ *
21
+ * Example:
22
+ * self::load_file('SCRIPT-ID', 'frontend/js/path-in-shared-assets.js', 'localized_var_name', $localized_array_values, $dependancies_array );
23
+ */
24
+ static function register_scripts_and_styles() {
25
+ /* Frontent and Backend Files */
26
+ self::load_file('jquery-cookie', 'global/js/jquery.cookie.js', array( 'jquery' ));
27
+ self::load_file('jquery-total-storage', 'global/js/jquery.total-storage.min.js', array( 'jquery' ));
28
+ if(is_user_logged_in()){
29
+ self::load_file('inbound-admin', 'admin/css/global-inbound-admin.css');
30
+ }
31
+
32
+ /* Conditionals for admin or frontend */
33
+ if(is_admin()) {
34
+
35
+ $inbound_now_screens = Inbound_Compatibility::return_inbound_now_screens(); // list of inbound now screens
36
+ $screen = get_current_screen();
37
+
38
+ /* Target Specific screen with // echo $screen->id; */
39
+
40
+ if ( $screen->id == 'wp-call-to-action') {
41
+ self::load_file('image-picker-js', 'admin/js/image-picker.js');
42
+ self::load_file('image-picker-css', 'admin/css/image-picker.css');
43
+ }
44
+ /* Metabox CSS */
45
+ self::load_file('inbound-metaboxes', 'admin/css/inbound-metaboxes.css');
46
+
47
+ //self::load_file('script-test', 'admin/js/test.js');
48
+ } else {
49
+ global $wp_scripts;
50
+
51
+ if ( !empty( $wp_scripts->queue ) ) {
52
+ $store = $wp_scripts->queue; // store the scripts
53
+ foreach ( $wp_scripts->queue as $handle ) {
54
+ wp_dequeue_script( $handle );
55
+ }
56
+ }
57
+
58
+ self::load_file('funnel-tracking', 'frontend/js/page-tracking.js', array( 'jquery','jquery-cookie', 'jquery-total-storage'), 'wplft', self::localize_lead_data());
59
+ // TODO: Merge Localize of wplft into inbound_ajax
60
+ self::load_file('store-lead-ajax', 'frontend/js/store.lead.ajax.js', array( 'jquery','jquery-cookie', 'jquery-total-storage'), 'inbound_ajax', self::localize_lead_data());
61
+
62
+ if (is_array($store)) {
63
+ foreach ( $store as $handle ) {
64
+ wp_enqueue_script( $handle );
65
+ }
66
+ }
67
+ /* Target Specific post type with
68
+ if ( is_singular( 'landing-page' ) ) {
69
+
70
+ } */
71
+ //self::load_file('test-css', 'frontend/css/test.css');
72
+ }
73
+ } // end register_scripts_and_styles
74
+
75
+ /**
76
+ * Helper function for registering and enqueueing scripts and styles.
77
+ *
78
+ * @name The ID to register with WordPress
79
+ * @file_path The path to the actual file inside /shared/assets/
80
+ * @localize_array Optional argument for the localized array
81
+ * @deps js dependancies by name example 'jquery'
82
+ * @localize_var the localized variable name
83
+ */
84
+ static function load_file($name, $file_name, $deps = array(), $localize_var = null, $localize_array = array()) {
85
+ $is_script = false;
86
+ $deps = (empty($deps)) ? array() : $deps;
87
+ $url = INBOUDNOW_SHARED_URLPATH . 'assets/' . $file_name;
88
+ $file = INBOUDNOW_SHARED_PATH . 'assets/' . $file_name;
89
+
90
+ $file_type = strpos($file_name, '.js');
91
+ if (!(false === $file_type)) { $is_script = true; }
92
+
93
+ if(file_exists($file)) {
94
+ if($is_script) {
95
+ wp_register_script($name, $url, $deps);
96
+ wp_enqueue_script($name);
97
+
98
+ if ($localize_var != null) {
99
+ wp_localize_script( $name , $localize_var, $localize_array );
100
+ }
101
+ } else {
102
+ wp_register_style($name, $url);
103
+ wp_enqueue_style($name);
104
+ }
105
+ }
106
+
107
+ } // end load_file
108
+
109
+ /* Global Specific localize functions */
110
+ static function localize_lead_data() {
111
+ global $post;
112
+ $post_id = null;
113
+ $id_check = false;
114
+ $page_tracking = 'on';
115
+ $search_tracking = 'on';
116
+ $comment_tracking = 'on';
117
+ $post_type = isset($post) ? get_post_type( $post ) : null;
118
+ $current_page = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
119
+ $ip_address = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0.0';
120
+ $lead_id = (isset($_COOKIE['wp_lead_id'])) ? $_COOKIE['wp_lead_id'] : false;
121
+ $lead_email = (isset($_COOKIE['wp_lead_email'])) ? $_COOKIE['wp_lead_email'] : false;
122
+ $lead_uid = (isset($_COOKIE['wp_lead_uid'])) ? $_COOKIE['wp_lead_uid'] : false;
123
+ $custom_map_values = array();
124
+ $custom_map_values = apply_filters( 'inboundnow_custom_map_values_filter' , $custom_map_values);
125
+ // Get correct post ID
126
+
127
+ global $wp_query;
128
+ $current_page_id = $wp_query->get_queried_object_id();
129
+ $post_id = $current_page_id;
130
+ $id_check = ($post_id != null) ? true : false;
131
+
132
+ if (!is_archive() && !$id_check){
133
+ $post_id = (isset($post)) ? $post->ID : false;
134
+ $id_check = ($post_id != null) ? true : false;
135
+ }
136
+ if (!$id_check) {
137
+ $post_id = wpl_url_to_postid($current_page);
138
+ $id_check = ($post_id != null) ? true : false;
139
+ }
140
+ if(!$id_check){
141
+ $post_id = wp_leads_get_page_final_id();
142
+ $id_check = ($post_id != null) ? true : false;
143
+ }
144
+
145
+ // If page tracking on
146
+ $lead_page_view_tracking = get_option( 'wpl-main-page-view-tracking', 1);
147
+ $lead_search_tracking = get_option( 'wpl-main-search-tracking', 1);
148
+ $lead_comment_tracking = get_option( 'wpl-main-comment-tracking', 1);
149
+ if (!$lead_search_tracking) {
150
+ $search_tracking = 'off';
151
+ }
152
+ if (!$lead_comment_tracking) {
153
+ $comment_tracking = 'off';
154
+ }
155
+ if (!$lead_page_view_tracking) {
156
+ $page_tracking = 'off';
157
+ }
158
+
159
+ // Localize lead data
160
+ $lead_data_array = array();
161
+ $lead_data_array['lead_id'] = ($lead_id) ? $lead_id : null;
162
+ $lead_data_array['lead_email'] = ($lead_email) ? $lead_email : null;
163
+ $lead_data_array['lead_uid'] = ($lead_uid) ? $lead_uid : null;
164
+ $time = current_time( 'timestamp', 0 ); // Current wordpress time from settings
165
+ $wordpress_date_time = date("Y/m/d G:i:s", $time);
166
+
167
+ $inbound_localized_data = array( 'post_id' => $post_id, 'ip_address' => $ip_address, 'wp_lead_data' => $lead_data_array, 'admin_url' => admin_url( 'admin-ajax.php' ), 'track_time' => $wordpress_date_time, 'post_type' => $post_type, 'page_tracking' => $page_tracking, 'search_tracking' => $search_tracking, 'comment_tracking' => $comment_tracking, 'custom_mapping' => $custom_map_values);
168
+
169
+ return $inbound_localized_data;
170
+ } // end localize lead data
171
+
172
+ } // end class
173
+ }
174
+
175
+ Inbound_Asset_Loader::load_inbound_assets();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/css/admin/wpadminbar.css DELETED
@@ -1,154 +0,0 @@
1
- #wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing:hover > .ab-item,
2
- #wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing.hover > .ab-item,
3
- #wpadminbar.nojs .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item,
4
- #wpadminbar .ab-top-menu > li.menupop.inbound-nav-marketing > .ab-item, #inboundnow-media-button {
5
-
6
- background-image: url('../../images/global/shortcodes-blue.png');
7
-
8
- background-repeat: no-repeat;
9
- background-position: 0.15em 50%;
10
- padding-left: 22px;
11
- }
12
- #inboundnow-media-button {
13
- padding-left: 5px;
14
- }
15
-
16
- body #calls-to-action .toggle .switch-versions, body #landing-pages .toggle .switch-versions, body #leads .toggle .switch-versions {
17
- display: none;
18
- }
19
-
20
-
21
- #wpadminbar .inbound-search-input {
22
- width: 140px;
23
- }
24
-
25
- #wpadminbar .inbound-search-input,
26
- #wpadminbar .inbound-search-go {
27
- color: #21759b !important;
28
- text-shadow: none;
29
- }
30
- #wpadminbar .inbound-search-input,
31
- #wpadminbar .inbound-search-go {
32
- background-color: #fff;
33
- height: 18px;
34
- line-height: 18px;
35
- padding: 1px 4px;
36
- }
37
- #wpadminbar .inbound-search-go {
38
- -webkit-border-radius: 11px;
39
- -moz-border-radius: 11px;
40
- border-radius: 11px;
41
- font-size: 0.67em;
42
- margin: 0 0 0 2px;
43
- }
44
- @font-face {
45
- font-family: 'FontAwesome';
46
- src: url('../../fonts/fontawesome/fontawesome-webfont.eot');
47
- src: url('../../fonts/fontawesome/fontawesome-webfont.eot') format('embedded-opentype'),
48
- url('../../fonts/fontawesome/fontawesome-webfont.woff?v=3.0.2') format('woff'),
49
- url('../../fonts/fontawesome/fontawesome-webfont.ttf?v=3.0.2') format('truetype');
50
- font-weight: normal;
51
- font-style: normal;
52
- }
53
- #adminmenu .menu-icon-wp-lead div.wp-menu-image:before {
54
- font-family: "FontAwesome" !important;
55
- content: "\f0c0";
56
-
57
- }
58
- .branch-3-7 #adminmenu .menu-icon-wp-lead div.wp-menu-image:before {
59
- display: none;
60
- }
61
- #adminmenu .menu-icon-wp-lead div.wp-menu-image img{
62
- display: none;
63
- }
64
- .branch-3-7 #adminmenu .menu-icon-wp-lead div.wp-menu-image img {
65
- display: block;
66
- }
67
- #wp-admin-bar-inbound-cta a:first-child, #wp-admin-bar-inbound-mailer a:first-child, #wp-admin-bar-inbound-automation a:first-child, #wp-admin-bar-inbound-templates .ab-item.ab-empty-item, #wp-admin-bar-inbound-settings .ab-item.ab-empty-item, #wp-admin-bar-inbound-analytics a:first-child {
68
- padding-left: 30px !important;
69
- }
70
- #wp-admin-bar-inbound-templates .ab-item.ab-empty-item:hover, #wp-admin-bar-inbound-settings .ab-item.ab-empty-item:hover {
71
- color: #2ea2cc;
72
- }
73
- #wp-admin-bar-inbound-leads a:first-child, #wp-admin-bar-inbound-seo a:first-child, #wp-admin-bar-inbound-landingpages a:first-child, #wp-admin-bar-inbound-forms a:first-child {
74
- padding-left: 31px !important;
75
- }
76
-
77
- #search-inbound-menu {
78
- max-height: 22px !important;
79
- padding: 0px !important;
80
- min-height: 23px !important;
81
- padding-left: 3px !important;
82
- margin-bottom: 1px !important;
83
- }
84
-
85
- #wp-admin-bar-inbound-docs-searchform, #wp-admin-bar-inbound-leads-search{
86
- margin-bottom: 10px !important;
87
- }
88
- #wp-admin-bar-inbound-cta .ab-submenu a, #wp-admin-bar-inbound-leads .ab-submenu a, #wp-admin-bar-inbound-landingpages .ab-submenu a , #wp-admin-bar-inbound-forms .ab-submenu a, #wp-admin-bar-inbound-templates .ab-submenu a, #wp-admin-bar-inbound-analytics .ab-submenu a, #wp-admin-bar-inbound-seo .ab-submenu a{
89
- padding-left: 10px !important;
90
- }
91
- #wp-admin-bar-inbound-mailer:before, #wp-admin-bar-inbound-automation:before, #wp-admin-bar-inbound-cta:before, #wp-admin-bar-inbound-leads:before, #wp-admin-bar-inbound-landingpages:before, #wp-admin-bar-inbound-forms:before, #wp-admin-bar-inbound-templates:before, #wp-admin-bar-inbound-settings:before, #wp-admin-bar-inbound-analytics:before, #wp-admin-bar-inbound-seo:before {
92
- font-family: "FontAwesome" !important;
93
- content: "\f05b" !important;
94
- font: 100 19px/1 "FontAwesome" !important;
95
- padding-top: 4px;
96
- width: 30px;
97
- display: inline-block;
98
- height: 30px;
99
- position: absolute;
100
- left: 6px;
101
- }
102
- #wp-admin-bar-inbound-leads:before {
103
- content: "\f0c0" !important;
104
- font: 100 17px/1 "FontAwesome" !important;
105
- }
106
- #wp-admin-bar-inbound-landingpages:before {
107
- content: "\f15c" !important;
108
- left: 7px;
109
- font-size: 21px !important;
110
- }
111
- #wp-admin-bar-inbound-forms:before {
112
- font: 400 18px/1 dashicons!important;
113
- content: "\f163" !important;
114
- }
115
- #wp-admin-bar-inbound-mailer:before {
116
- font: 400 18px/1!important;
117
- content: "\f003" !important;
118
- }
119
- #wp-admin-bar-inbound-automation:before {
120
- font: 400 18px/1 !important;
121
- content: "\f085" !important;
122
- }
123
- #wp-admin-bar-inbound-templates:before {
124
- content: "\f0c5" !important;
125
- font-size: 18px !important;
126
- }
127
- #wp-admin-bar-inbound-settings:before {
128
- content: "\f013" !important;
129
- left: 7px !important;
130
- }
131
- #wp-admin-bar-inbound-analytics:before {
132
- content: "\f012" !important;
133
- font-size: 17px !important;
134
- }
135
- #wp-admin-bar-inbound-seo:before {
136
- content: "\f002" !important;
137
- font-size: 17px !important;
138
- }
139
- #wp-admin-bar-inbound-cta a {
140
- vertical-align: top;
141
- }
142
- #adminmenu .menu-icon-wp-call-to-action div.wp-menu-image:before {
143
- font-family: "FontAwesome" !important;
144
- content: "\f05b";
145
- font: 400 24px/1 "FontAwesome" !important;
146
- padding-top: 6px;
147
-
148
- }
149
- .short-list-inbound .mceIcon {
150
- position: absolute;
151
- top: 0;
152
- left: 0;
153
- width: 22px;
154
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/frontend/js/form-population.js ADDED
@@ -0,0 +1 @@
 
0
  jQuery(selector).each(
1
  function(){
2
  //if this item has been cookied, restore it
3
  var name = jQuery(this).attr('name');
4
  if( jQuery.cookie( name ) ){
5
  jQuery(this).val( jQuery.cookie(name) );
6
  }
7
  //assign a change function to the item to cookie it
8
  jQuery(this).change(
9
  function(){
10
  jQuery.cookie(name, jQuery(this).val(), { path: '/', expires: 365 });
11
  }
12
  );
13
  }
14
  );
15
  jQuery(selector).each(
16
  function(){
17
  var form_name = jQuery(this).attr('name');
18
  var form_id = jQuery(this).attr('id');
19
  var form_class = jQuery(this).attr('class');
20
  if(typeof(form_name) != "undefined" && form_name !== null) {
21
  jQuery.cookie("wp_cta_form_uid", form_name, { path: '/', expires: 365 });
22
  }
23
  else if(typeof(form_id) != "undefined" && form_id !== null) {
24
  jQuery.cookie("wp_cta_form_uid", form_id, { path: '/', expires: 365 });
25
  }
26
  else if (typeof(form_class) != "undefined" && form_class !== null) {
27
  jQuery.cookie("wp_cta_form_uid", form_class, { path: '/', expires: 365 });
28
  } else {
29
  jQuery.cookie("wp_cta_form_uid", 'form_generic', { path: '/', expires: 365 });
30
  }
31
  }
32
  );
33
  // Fill Form Inputs from Cookies
34
  });
1
+ function wpl_remember_inputs( selector ){
2
  jQuery(selector).each(
3
  function(){
4
  //if this item has been cookied, restore it
5
  var name = jQuery(this).attr('name');
6
  if( jQuery.cookie( name ) ){
7
  jQuery(this).val( jQuery.cookie(name) );
8
  }
9
  //assign a change function to the item to cookie it
10
  jQuery(this).change(
11
  function(){
12
  jQuery.cookie(name, jQuery(this).val(), { path: '/', expires: 365 });
13
  }
14
  );
15
  }
16
  );
17
  jQuery(selector).each(
18
  function(){
19
  var form_name = jQuery(this).attr('name');
20
  var form_id = jQuery(this).attr('id');
21
  var form_class = jQuery(this).attr('class');
22
  if(typeof(form_name) != "undefined" && form_name !== null) {
23
  jQuery.cookie("wp_cta_form_uid", form_name, { path: '/', expires: 365 });
24
  }
25
  else if(typeof(form_id) != "undefined" && form_id !== null) {
26
  jQuery.cookie("wp_cta_form_uid", form_id, { path: '/', expires: 365 });
27
  }
28
  else if (typeof(form_class) != "undefined" && form_class !== null) {
29
  jQuery.cookie("wp_cta_form_uid", form_class, { path: '/', expires: 365 });
30
  } else {
31
  jQuery.cookie("wp_cta_form_uid", 'form_generic', { path: '/', expires: 365 });
32
  }
33
  }
34
  );
35
  // Fill Form Inputs from Cookies
36
  });
shared/assets/frontend/js/inprogress-tracking.js ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Lead Tracking JS
3
+ * http://www.inboundnow.com
4
+ */
5
+
6
+ var InboundAnalytics = (function () {
7
+
8
+ var _privateMethod = function () {};
9
+
10
+ var myObject = {
11
+ someMethod: function () {
12
+
13
+ },
14
+ anotherMethod: function () {
15
+
16
+ }
17
+ };
18
+
19
+ return myObject;
20
+
21
+ })();
22
+
23
+
24
+
25
+ var IA_PageViews = (function (InboundAnalytics) {
26
+
27
+ InboundAnalytics.PageTracking = {
28
+ getPageViews: function () {
29
+ var local_store = InboundAnalytics.Utils.checkLocalStorage();
30
+ if(local_store){
31
+ var page_views = localStorage.getItem("page_views"),
32
+ local_object = JSON.parse(page_views);
33
+ if (typeof local_object =='object' && local_object) {
34
+ return local_object;
35
+ }
36
+ }
37
+ },
38
+ CheckTimeOut: function() {
39
+ var PageViews = InboundAnalytics.PageTracking.getPageViews(),
40
+ page_id = wplft.post_id,
41
+ page_seen = PageViews[page_id],
42
+ time_now = wplft.track_time,
43
+ vc = PageViews[page_id].length - 1,
44
+ last_view = PageViews[page_id][vc];
45
+
46
+ last_view_formatted = new Date(last_view).getTime();
47
+ time_now_formatted = new Date(time_now).getTime();
48
+ var timeout = last_view_formatted + 30*1000;
49
+ console.log('time now= ' + time_now_formatted);
50
+ console.log('time out= ' + timeout);
51
+
52
+ var time_out_check_raw = time_now_formatted > timeout;
53
+ var time_out_check = Date.parse(time_now_formatted) > Date.parse(timeout);
54
+
55
+ var time_check = Math.abs(time_now_formatted - timeout);
56
+
57
+ var test = time_check * .001;
58
+ console.log(test);
59
+ console.log(time_out_check);
60
+ console.log(time_out_check_raw);
61
+
62
+
63
+ if(typeof(page_seen) != "undefined" && page_seen !== null) {
64
+ console.log('page seen');
65
+ } else {
66
+ console.log('page not seen');
67
+ }
68
+ console.log(PageViews);
69
+ }
70
+ }
71
+
72
+ return InboundAnalytics;
73
+
74
+ })(InboundAnalytics || {});
75
+
76
+
77
+ /**
78
+ * Utility functions
79
+ * @param Object InboundAnalytics - Main JS object
80
+ * @return Object - include util functions
81
+ */
82
+ var IA_Utils = (function (InboundAnalytics) {
83
+
84
+ InboundAnalytics.Utils = {
85
+ // Create cookie
86
+ createCookie: function(name, value, days) {
87
+ var expires = "";
88
+ if (days) {
89
+ var date = new Date();
90
+ date.setTime(date.getTime()+(days*24*60*60*1000));
91
+ expires = "; expires="+date.toGMTString();
92
+ }
93
+ document.cookie = name+"="+value+expires+"; path=/";
94
+ },
95
+ // Read cookie
96
+ readCookie: function(name) {
97
+ var nameEQ = name + "=";
98
+ var ca = document.cookie.split(';');
99
+ for(var i=0;i < ca.length;i++) {
100
+ var c = ca[i];
101
+ while (c.charAt(0) === ' ') {
102
+ c = c.substring(1,c.length);
103
+ }
104
+ if (c.indexOf(nameEQ) === 0) {
105
+ return c.substring(nameEQ.length,c.length);
106
+ }
107
+ }
108
+ return null;
109
+ },
110
+ // Erase cookie
111
+ eraseCookie: function(name) {
112
+ createCookie(name,"",-1);
113
+ },
114
+ // Check local storage
115
+ checkLocalStorage: function() {
116
+ if ('localStorage' in window) {
117
+ try {
118
+ ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
119
+ if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
120
+ supported = false;
121
+ } else {
122
+ supported = true;
123
+ }
124
+
125
+ }
126
+ catch (err){
127
+ supported = false;
128
+ }
129
+ }
130
+ return supported;
131
+ },
132
+
133
+ };
134
+
135
+ return InboundAnalytics;
136
+
137
+ })(InboundAnalytics || {});
shared/assets/frontend/js/page-tracking-new.js ADDED
@@ -0,0 +1,1324 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Lead Tracking JS
3
+ * http://www.inboundnow.com
4
+ */
5
+ var inbound_data = inbound_data || {};
6
+ // Ensure global _gaq Google Analytics queue has been initialized.
7
+ var _gaq = _gaq || [];
8
+ var InboundAnalytics = (function () {
9
+
10
+ var debugMode = false;
11
+
12
+ var _privateMethod = function () {
13
+ console.log('Run private');
14
+ };
15
+
16
+ var App = {
17
+ init: function () {
18
+ InboundAnalytics.Utils.init();
19
+ InboundAnalytics.PageTracking.StorePageView();
20
+ InboundAnalytics.Events.loadEvents();
21
+ },
22
+ /* Debugger Function toggled by var debugMode */
23
+ debug: function(msg,callback){
24
+ //if app not in debug mode, exit immediately
25
+ if(!debugMode || !console){return};
26
+ var msg = msg || false;
27
+ //console.log the message
28
+ if(msg && (typeof msg === 'string')){console.log(msg)};
29
+
30
+ //execute the callback if one was passed-in
31
+ if(callback && (callback instanceof Function)){
32
+ callback();
33
+ };
34
+ }
35
+ };
36
+
37
+ return App;
38
+
39
+ })();
40
+
41
+
42
+ /**
43
+ * Utility functions
44
+ * @param Object InboundAnalytics - Main JS object
45
+ * @return Object - include util functions
46
+ */
47
+ var InboundAnalyticsUtils = (function (InboundAnalytics) {
48
+
49
+ InboundAnalytics.Utils = {
50
+ init: function() {
51
+ this.polyFills();
52
+ this.setUrlParams();
53
+ this.SetUID();
54
+ this.getReferer();
55
+
56
+ },
57
+ polyFills: function() {
58
+ /* Console.log fix for old browsers */
59
+ if (!window.console) { window.console = {}; }
60
+ var m = [
61
+ "log", "info", "warn", "error", "debug", "trace", "dir", "group",
62
+ "groupCollapsed", "groupEnd", "time", "timeEnd", "profile", "profileEnd",
63
+ "dirxml", "assert", "count", "markTimeline", "timeStamp", "clear"
64
+ ];
65
+ // define undefined methods as noops to prevent errors
66
+ for (var i = 0; i < m.length; i++) {
67
+ if (!window.console[m[i]]) {
68
+ window.console[m[i]] = function() {};
69
+ }
70
+ }
71
+ /* Event trigger polyfill for IE9 and 10 */
72
+ (function () {
73
+ function CustomEvent ( event, params ) {
74
+ params = params || { bubbles: false, cancelable: false, detail: undefined };
75
+ var evt = document.createEvent( 'CustomEvent' );
76
+ evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
77
+ return evt;
78
+ };
79
+
80
+ CustomEvent.prototype = window.Event.prototype;
81
+
82
+ window.CustomEvent = CustomEvent;
83
+ })();
84
+ },
85
+ // Create cookie
86
+ createCookie: function(name, value, days, custom_time) {
87
+ var expires = "";
88
+ if (days) {
89
+ var date = new Date();
90
+ date.setTime(date.getTime()+(days*24*60*60*1000));
91
+ expires = "; expires="+date.toGMTString();
92
+ }
93
+ if(custom_time){
94
+ expires = "; expires="+days.toGMTString();
95
+ }
96
+ document.cookie = name+"="+value+expires+"; path=/";
97
+ },
98
+ // Read cookie
99
+ readCookie: function(name) {
100
+ var nameEQ = name + "=";
101
+ var ca = document.cookie.split(';');
102
+ for(var i=0;i < ca.length;i++) {
103
+ var c = ca[i];
104
+ while (c.charAt(0) === ' ') {
105
+ c = c.substring(1,c.length);
106
+ }
107
+ if (c.indexOf(nameEQ) === 0) {
108
+ return c.substring(nameEQ.length,c.length);
109
+ }
110
+ }
111
+ return null;
112
+ },
113
+ // Erase cookie
114
+ eraseCookie: function(name) {
115
+ createCookie(name,"",-1);
116
+ },
117
+ getAllCookies: function(){
118
+ var cookies = {};
119
+ if (document.cookie && document.cookie != '') {
120
+ var split = document.cookie.split(';');
121
+ for (var i = 0; i < split.length; i++) {
122
+ var name_value = split[i].split("=");
123
+ name_value[0] = name_value[0].replace(/^ /, '');
124
+ cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
125
+ }
126
+ }
127
+ jQuery.totalStorage('inbound_cookies', cookies); // store cookie data
128
+ return cookies;
129
+ },
130
+ /* Grab URL params and save */
131
+ setUrlParams: function() {
132
+ var urlParams = {},
133
+ local_store = InboundAnalytics.Utils.checkLocalStorage();
134
+
135
+ (function () {
136
+ var e,
137
+ d = function (s) { return decodeURIComponent(s).replace(/\+/g, " "); },
138
+ q = window.location.search.substring(1),
139
+ r = /([^&=]+)=?([^&]*)/g;
140
+
141
+ while (e = r.exec(q)) {
142
+ if (e[1].indexOf("[") == "-1")
143
+ urlParams[d(e[1])] = d(e[2]);
144
+ else {
145
+ var b1 = e[1].indexOf("["),
146
+ aN = e[1].slice(b1+1, e[1].indexOf("]", b1)),
147
+ pN = d(e[1].slice(0, b1));
148
+
149
+ if (typeof urlParams[pN] != "object")
150
+ urlParams[d(pN)] = {},
151
+ urlParams[d(pN)].length = 0;
152
+
153
+ if (aN)
154
+ urlParams[d(pN)][d(aN)] = d(e[2]);
155
+ else
156
+ Array.prototype.push.call(urlParams[d(pN)], d(e[2]));
157
+
158
+ }
159
+ }
160
+ })();
161
+
162
+ if (JSON) {
163
+ for (var k in urlParams) {
164
+ if (typeof urlParams[k] == "object") {
165
+ for (var k2 in urlParams[k])
166
+ this.createCookie(k2, urlParams[k][k2], 30);
167
+ } else {
168
+ this.createCookie(k, urlParams[k], 30);
169
+ }
170
+ }
171
+ }
172
+
173
+ if(local_store){
174
+ var pastParams = jQuery.totalStorage('inbound_url_params');
175
+ var params = this.mergeObjs(pastParams, urlParams);
176
+ jQuery.totalStorage('inbound_url_params', params); // store cookie data
177
+ }
178
+ },
179
+ getUrlParams: function(){
180
+ var local_store = this.checkLocalStorage(),
181
+ get_params = {};
182
+ if(local_store){
183
+ var get_params = jQuery.totalStorage('inbound_url_params');
184
+ }
185
+ return get_params;
186
+ },
187
+ // Check local storage
188
+ // provate browsing safari fix https://github.com/marcuswestin/store.js/issues/42#issuecomment-25274685
189
+ checkLocalStorage: function() {
190
+ if ('localStorage' in window) {
191
+ try {
192
+ ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
193
+ if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
194
+ supported = false;
195
+ } else {
196
+ supported = true;
197
+ }
198
+
199
+ }
200
+ catch (err){
201
+ supported = false;
202
+ }
203
+ }
204
+ return supported;
205
+ /* http://spin.atomicobject.com/2013/01/23/ios-private-browsing-localstorage/
206
+ var hasStorage;
207
+ hasStorage = function() {
208
+ var mod, result;
209
+ try {
210
+ mod = new Date;
211
+ localStorage.setItem(mod, mod.toString());
212
+ result = localStorage.getItem(mod) === mod.toString();
213
+ localStorage.removeItem(mod);
214
+ return result;
215
+ } catch (_error) {}
216
+ };
217
+ */
218
+ },
219
+ /* Add days to datetime */
220
+ addDays: function(myDate,days) {
221
+ return new Date(myDate.getTime() + days*24*60*60*1000);
222
+ },
223
+ GetDate: function(){
224
+ var time_now = new Date(),
225
+ day = time_now.getDate() + 1;
226
+ year = time_now.getFullYear(),
227
+ hour = time_now.getHours(),
228
+ minutes = time_now.getMinutes(),
229
+ seconds = time_now.getSeconds(),
230
+ month = time_now.getMonth() + 1;
231
+ if (month < 10) { month = '0' + month; }
232
+ InboundAnalytics.debug('Current Date:',function(){
233
+ console.log(year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds);
234
+ });
235
+ var datetime = year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds;
236
+ return datetime;
237
+ },
238
+ /* Set Expiration Date of Session Logging */
239
+ SetSessionTimeout: function(){
240
+ var session_check = this.readCookie("lead_session_expire");
241
+ //console.log(session_check);
242
+ if(session_check === null){
243
+ InboundAnalytics.Events.sessionStart(); // trigger 'inbound_analytics_session_start'
244
+ } else {
245
+ InboundAnalytics.Events.sessionActive(); // trigger 'inbound_analytics_session_active'
246
+ }
247
+ var d = new Date();
248
+ d.setTime(d.getTime() + 30*60*1000);
249
+
250
+ this.createCookie("lead_session_expire", true, d, true); // Set cookie on page loads
251
+ var lead_data_expiration = this.readCookie("lead_data_expiration");
252
+ if (lead_data_expiration === null){
253
+ /* Set 3 day timeout for checking DB for new lead data for Lead_Global var */
254
+ var ex = this.addDays(d, 3);
255
+ this.createCookie("lead_data_expiration", ex, ex, true);
256
+ }
257
+
258
+ },
259
+ getReferer: function(){
260
+ //console.log(expire_time);
261
+ var d = new Date();
262
+ d.setTime(d.getTime() + 30*60*1000);
263
+ var referrer_cookie = InboundAnalytics.Utils.readCookie("wp_lead_referral_site");
264
+ if (typeof (referrer_cookie) === "undefined" || referrer_cookie === null || referrer_cookie === "") {
265
+ var referrer = document.referrer || "NA";
266
+ this.createCookie("wp_lead_referral_site", referrer, d, true); // Set cookie on page loads
267
+ }
268
+ },
269
+ CreateUID: function(length) {
270
+ var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split(''),
271
+ str = '';
272
+ if (! length) {
273
+ length = Math.floor(Math.random() * chars.length);
274
+ }
275
+ for (var i = 0; i < length; i++) {
276
+ str += chars[Math.floor(Math.random() * chars.length)];
277
+ }
278
+ return str;
279
+ },
280
+ SetUID: function () {
281
+ /* Set Lead UID */
282
+
283
+ if(this.readCookie("wp_lead_uid") === null) {
284
+ var wp_lead_uid = this.CreateUID(35);
285
+ this.createCookie("wp_lead_uid", wp_lead_uid );
286
+ InboundAnalytics.debug('Set UID');
287
+ }
288
+ },
289
+ /* Count number of session visits */
290
+ countProperties: function (obj) {
291
+ var count = 0;
292
+ for(var prop in obj) {
293
+ if(obj.hasOwnProperty(prop))
294
+ ++count;
295
+ }
296
+ return count;
297
+ },
298
+ mergeObjs: function(obj1,obj2){
299
+ var obj3 = {};
300
+ for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
301
+ for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
302
+ return obj3;
303
+ },
304
+ trim: function(s) {
305
+ s = s.replace(/(^\s*)|(\s*$)/gi,"");
306
+ s = s.replace(/[ ]{2,}/gi," ");
307
+ s = s.replace(/\n /,"\n"); return s;
308
+ },
309
+ doAjax: function(data, responseHandler, method, async){
310
+ // Set the variables
311
+ var url = wplft.admin_url || "",
312
+ method = method || "POST",
313
+ async = async || true,
314
+ data = data || null,
315
+ action = data.action;
316
+
317
+ InboundAnalytics.debug('Ajax Processed:',function(){
318
+ console.log('ran ajax action: ' + action);
319
+ });
320
+
321
+ jQuery.ajax({
322
+ type: method,
323
+ url: wplft.admin_url,
324
+ data: data,
325
+ success: responseHandler,
326
+ error: function(MLHttpRequest, textStatus, errorThrown){
327
+ console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
328
+ InboundAnalytics.Events.analyticsError(MLHttpRequest, textStatus, errorThrown);
329
+ }
330
+
331
+ });
332
+ },
333
+ contentLoaded: function(win, fn) {
334
+
335
+ var done = false, top = true,
336
+
337
+ doc = win.document, root = doc.documentElement,
338
+
339
+ add = doc.addEventListener ? 'addEventListener' : 'attachEvent',
340
+ rem = doc.addEventListener ? 'removeEventListener' : 'detachEvent',
341
+ pre = doc.addEventListener ? '' : 'on',
342
+
343
+ init = function(e) {
344
+ if (e.type == 'readystatechange' && doc.readyState != 'complete') return;
345
+ (e.type == 'load' ? win : doc)[rem](pre + e.type, init, false);
346
+ if (!done && (done = true)) fn.call(win, e.type || e);
347
+ },
348
+
349
+ poll = function() {
350
+ try { root.doScroll('left'); } catch(e) { setTimeout(poll, 50); return; }
351
+ init('poll');
352
+ };
353
+
354
+ if (doc.readyState == 'complete') fn.call(win, 'lazy');
355
+ else {
356
+ if (doc.createEventObject && root.doScroll) {
357
+ try { top = !win.frameElement; } catch(e) { }
358
+ if (top) poll();
359
+ }
360
+ doc[add](pre + 'DOMContentLoaded', init, false);
361
+ doc[add](pre + 'readystatechange', init, false);
362
+ win[add](pre + 'load', init, false);
363
+ }
364
+
365
+ },
366
+ /* Cross-browser event listening */
367
+ addListener: function(obj, eventName, listener) {
368
+ if(obj.addEventListener) {
369
+ obj.addEventListener(eventName, listener, false);
370
+ } else if (obj.attachEvent) {
371
+ obj.attachEvent("on" + eventName, listener);
372
+ } else {
373
+ obj['on' + eventName] = listener;
374
+ }
375
+ }
376
+
377
+ };
378
+
379
+ return InboundAnalytics;
380
+
381
+ })(InboundAnalytics || {});
382
+
383
+ /* Fork of jquery.total-storage.js */
384
+ var InboundTotalStorage = (function (InboundAnalytics){
385
+
386
+ /* Variables I'll need throghout */
387
+
388
+ var supported, ls, mod = 'inboundAnalytics';
389
+ if ('localStorage' in window){
390
+ try {
391
+ ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
392
+ if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
393
+ supported = false;
394
+ } else {
395
+ supported = true;
396
+ }
397
+ window.localStorage.setItem(mod, '1');
398
+ window.localStorage.removeItem(mod);
399
+ }
400
+ catch (err){
401
+ supported = false;
402
+ }
403
+ }
404
+
405
+ /* Make the methods public */
406
+ InboundAnalytics.totalStorage = function(key, value, options){
407
+ return InboundAnalytics.totalStorage.impl.init(key, value);
408
+ };
409
+
410
+ InboundAnalytics.totalStorage.setItem = function(key, value){
411
+ return InboundAnalytics.totalStorage.impl.setItem(key, value);
412
+ };
413
+
414
+ InboundAnalytics.totalStorage.getItem = function(key){
415
+ return InboundAnalytics.totalStorage.impl.getItem(key);
416
+ };
417
+
418
+ InboundAnalytics.totalStorage.getAll = function(){
419
+ return InboundAnalytics.totalStorage.impl.getAll();
420
+ };
421
+
422
+ InboundAnalytics.totalStorage.deleteItem = function(key){
423
+ return InboundAnalytics.totalStorage.impl.deleteItem(key);
424
+ };
425
+
426
+ /* Object to hold all methods: public and private */
427
+
428
+ InboundAnalytics.totalStorage.impl = {
429
+
430
+ init: function(key, value){
431
+ if (typeof value != 'undefined') {
432
+ return this.setItem(key, value);
433
+ } else {
434
+ return this.getItem(key);
435
+ }
436
+ },
437
+
438
+ setItem: function(key, value){
439
+ if (!supported){
440
+ try {
441
+ InboundAnalytics.Utils.createCookie((key, value);
442
+ return value;
443
+ } catch(e){
444
+ console.log('Local Storage not supported by this browser. Install the cookie plugin on your site to take advantage of the same functionality. You can get it at https://github.com/carhartl/jquery-cookie');
445
+ }
446
+ }
447
+ var saver = JSON.stringify(value);
448
+ ls.setItem(key, saver);
449
+ return this.parseResult(saver);
450
+ },
451
+ getItem: function(key){
452
+ if (!supported){
453
+ try {
454
+ return this.parseResult(InboundAnalytics.Utils.readCookie((key));
455
+ } catch(e){
456
+ return null;
457
+ }
458
+ }
459
+ var item = ls.getItem(key);
460
+ return this.parseResult(item);
461
+ },
462
+ deleteItem: function(key){
463
+ if (!supported){
464
+ try {
465
+ InboundAnalytics.Utils.eraseCookie((key, null);
466
+ return true;
467
+ } catch(e){
468
+ return false;
469
+ }
470
+ }
471
+ ls.removeItem(key);
472
+ return true;
473
+ },
474
+ getAll: function(){
475
+ var items = [];
476
+ if (!supported){
477
+ try {
478
+ var pairs = document.cookie.split(";");
479
+ for (var i = 0; i<pairs.length; i++){
480
+ var pair = pairs[i].split('=');
481
+ var key = pair[0];
482
+ items.push({key:key, value:this.parseResult(InboundAnalytics.Utils.readCookie((key))});
483
+ }
484
+ } catch(e){
485
+ return null;
486
+ }
487
+ } else {
488
+ for (var j in ls){
489
+ if (j.length){
490
+ items.push({key:j, value:this.parseResult(ls.getItem(j))});
491
+ }
492
+ }
493
+ }
494
+ return items;
495
+ },
496
+ parseResult: function(res){
497
+ var ret;
498
+ try {
499
+ ret = JSON.parse(res);
500
+ if (typeof ret == 'undefined'){
501
+ ret = res;
502
+ }
503
+ if (ret == 'true'){
504
+ ret = true;
505
+ }
506
+ if (ret == 'false'){
507
+ ret = false;
508
+ }
509
+ if (parseFloat(ret) == ret && typeof ret != "object"){
510
+ ret = parseFloat(ret);
511
+ }
512
+ } catch(e){
513
+ ret = res;
514
+ }
515
+ return ret;
516
+ }
517
+ };
518
+ })(InboundAnalytics || {});
519
+
520
+ var InboundAnalyticsPageTracking = (function (InboundAnalytics) {
521
+
522
+ InboundAnalytics.PageTracking = {
523
+
524
+ getPageViews: function () {
525
+ var local_store = InboundAnalytics.Utils.checkLocalStorage();
526
+ if(local_store){
527
+ var page_views = localStorage.getItem("page_views"),
528
+ local_object = JSON.parse(page_views);
529
+ if (typeof local_object =='object' && local_object) {
530
+ this.StorePageView();
531
+ }
532
+ return local_object;
533
+ }
534
+ },
535
+ StorePageView: function() {
536
+ var timeout = this.CheckTimeOut();
537
+ var pageviewObj = jQuery.totalStorage('page_views');
538
+ if(pageviewObj === null) {
539
+ pageviewObj = {};
540
+ }
541
+ var current_page_id = wplft.post_id;
542
+ var datetime = InboundAnalytics.Utils.GetDate();
543
+
544
+ if (timeout) {
545
+ // If pageviewObj exists, do this
546
+ var page_seen = pageviewObj[current_page_id];
547
+
548
+ if(typeof(page_seen) != "undefined" && page_seen !== null) {
549
+ pageviewObj[current_page_id].push(datetime);
550
+ /* Page Revisit Trigger */
551
+ var page_seen_count = pageviewObj[current_page_id].length;
552
+ InboundAnalytics.Events.pageRevisit(page_seen_count);
553
+
554
+ } else {
555
+ pageviewObj[current_page_id] = [];
556
+ pageviewObj[current_page_id].push(datetime);
557
+ /* Page First Seen Trigger */
558
+ var page_seen_count = 1;
559
+ InboundAnalytics.Events.pageFirstView(page_seen_count);
560
+ }
561
+
562
+ jQuery.totalStorage('page_views', pageviewObj);
563
+
564
+ }
565
+ },
566
+ CheckTimeOut: function() {
567
+ var PageViews = jQuery.totalStorage('page_views');
568
+ if(PageViews === null) {
569
+ var PageViews = {};
570
+ }
571
+ var page_id = wplft.post_id,
572
+ pageviewTimeout = true, /* Default */
573
+ page_seen = PageViews[page_id];
574
+ if(typeof(page_seen) != "undefined" && page_seen !== null) {
575
+
576
+ var time_now = InboundAnalytics.Utils.GetDate(),
577
+ vc = PageViews[page_id].length - 1,
578
+ last_view = PageViews[page_id][vc],
579
+ last_view_ms = new Date(last_view).getTime(),
580
+ time_now_ms = new Date(time_now).getTime(),
581
+ timeout_ms = last_view_ms + 30*1000,
582
+ time_check = Math.abs(last_view_ms - time_now_ms),
583
+ wait_time = 30000;
584
+
585
+ InboundAnalytics.debug('Timeout Checks =',function(){
586
+ console.log('Current Time is: ' + time_now);
587
+ console.log('Last view is: ' + last_view);
588
+ console.log("Last view milliseconds " + last_view_ms);
589
+ console.log("time now milliseconds " + time_now_ms);
590
+ console.log("Wait Check: " + wait_time);
591
+ console.log("TIME CHECK: " + time_check);
592
+ });
593
+
594
+ //var wait_time = Math.abs(last_view_ms - timeout_ms) // output timeout time 30sec;
595
+
596
+ if (time_check < wait_time){
597
+ time_left = Math.abs((wait_time - time_check)) * .001;
598
+ pageviewTimeout = false;
599
+ var status = '30 sec timeout not done: ' + time_left + " seconds left";
600
+ } else {
601
+ var status = 'Timeout Happened. Page view fired';
602
+ this.firePageView();
603
+ pageviewTimeout = true;
604
+ InboundAnalytics.Events.analyticsTriggered();
605
+ }
606
+
607
+ //InboundAnalytics.debug('',function(){
608
+ console.log(status);
609
+ //});
610
+ } else {
611
+ /* Page never seen before */
612
+ this.firePageView();
613
+ }
614
+
615
+ return pageviewTimeout;
616
+
617
+ },
618
+ firePageView: function() {
619
+ var lead_id = InboundAnalytics.Utils.readCookie('wp_lead_id'),
620
+ lead_uid = InboundAnalytics.Utils.readCookie('wp_lead_uid');
621
+
622
+ if (typeof (lead_id) != "undefined" && lead_id != null && lead_id != "") {
623
+
624
+ InboundAnalytics.debug('Run page view ajax');
625
+
626
+ var data = {
627
+ action: 'wpl_track_user',
628
+ wp_lead_uid: lead_uid,
629
+ wp_lead_id: lead_id,
630
+ page_id: wplft.post_id,
631
+ current_url: window.location.href,
632
+ json: '0'
633
+ };
634
+ var firePageCallback = function(user_id){
635
+ InboundAnalytics.Events.analyticsSaved();
636
+ };
637
+ InboundAnalytics.Utils.doAjax(data, firePageCallback);
638
+ }
639
+ },
640
+ tabSwitch: function() {
641
+ /* test out simplier script
642
+ function onBlur() {
643
+ document.body.className = 'blurred';
644
+ };
645
+ function onFocus(){
646
+ document.body.className = 'focused';
647
+ };
648
+
649
+ if (false) { // check for Internet Explorer
650
+ document.onfocusin = onFocus;
651
+ document.onfocusout = onBlur;
652
+ } else {
653
+ window.onfocus = onFocus;
654
+ window.onblur = onBlur;
655
+ }
656
+ */
657
+
658
+ var hidden, visibilityState, visibilityChange;
659
+
660
+ if (typeof document.hidden !== "undefined") {
661
+ hidden = "hidden", visibilityChange = "visibilitychange", visibilityState = "visibilityState";
662
+ } else if (typeof document.mozHidden !== "undefined") {
663
+ hidden = "mozHidden", visibilityChange = "mozvisibilitychange", visibilityState = "mozVisibilityState";
664
+ } else if (typeof document.msHidden !== "undefined") {
665
+ hidden = "msHidden", visibilityChange = "msvisibilitychange", visibilityState = "msVisibilityState";
666
+ } else if (typeof document.webkitHidden !== "undefined") {
667
+ hidden = "webkitHidden", visibilityChange = "webkitvisibilitychange", visibilityState = "webkitVisibilityState";
668
+ } // if
669
+
670
+ var document_hidden = document[hidden];
671
+
672
+ document.addEventListener(visibilityChange, function() {
673
+ if(document_hidden != document[hidden]) {
674
+ if(document[hidden]) {
675
+ // Document hidden
676
+ console.log('hidden');
677
+ InboundAnalytics.Events.browserTabHidden();
678
+ } else {
679
+ // Document shown
680
+ console.log('shown');
681
+ InboundAnalytics.Events.browserTabVisible();
682
+ } // if
683
+
684
+ document_hidden = document[hidden];
685
+ } // if
686
+ });
687
+ }
688
+ }
689
+
690
+ return InboundAnalytics;
691
+
692
+ })(InboundAnalytics || {});
693
+
694
+
695
+ /**
696
+ * Leads API functions
697
+ * @param Object InboundAnalytics - Main JS object
698
+ * @return Object - include event triggers
699
+ */
700
+ var InboundAnalyticsLeadsAPI = (function (InboundAnalytics) {
701
+ var httpRequest;
702
+ InboundAnalytics.LeadsAPI = {
703
+ init: function() {
704
+
705
+ },
706
+ storeLeadData: function(){
707
+ if(element.addEventListener) {
708
+ element.addEventListener("submit", function(evt){
709
+ evt.preventDefault();
710
+ window.history.back();
711
+ }, true);
712
+ } else {
713
+ element.attachEvent('onsubmit', function(evt){
714
+ evt.preventDefault();
715
+ window.history.back();
716
+ });
717
+ }
718
+ },
719
+ attachFormSubmitEvent: function (){
720
+ for(var i=0; i<window.document.forms.length; i++){
721
+ var form = window.document.forms[i];
722
+ var className = "wpl-track-me";
723
+ if ('classList' in document.documentElement) {
724
+ var hasClass = form.classList.contains(className);
725
+ } else {
726
+ var hasClass = new RegExp('(^|\\s)' + className + '(\\s|$)').test(form.className); /* IE Polyfill */
727
+ }
728
+ /* is tracked form */
729
+ if(hasClass){
730
+ console.log("Has Class", hasClass);
731
+ InboundAnalytics.Utils.addListener(form, 'submit', InboundAnalytics.LeadsAPI.formSubmit );
732
+ console.log(form);
733
+ }
734
+
735
+ }
736
+ console.log("RAN attach event");
737
+ },
738
+ makeRequest: function(url) {
739
+ if (window.XMLHttpRequest) { // Mozilla, Safari, ...
740
+ httpRequest = new XMLHttpRequest();
741
+ } else if (window.ActiveXObject) { // IE
742
+ try {
743
+ httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
744
+ }
745
+ catch (e) {
746
+ try {
747
+ httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
748
+ }
749
+ catch (e) {}
750
+ }
751
+ }
752
+
753
+ if (!httpRequest) {
754
+ alert('Giving up :( Cannot create an XMLHTTP instance');
755
+ return false;
756
+ }
757
+ httpRequest.onreadystatechange = InboundAnalytics.LeadsAPI.alertContents;
758
+ httpRequest.open('GET', url);
759
+ httpRequest.send();
760
+ },
761
+ inbound_map_fields: function (el, value, Obj) {
762
+ var formObj = [];
763
+ var $this = el;
764
+ var clean_output = value;
765
+ var label = $this.closest('label').text();
766
+ var exclude = ['credit-card']; // exlcude values from formObj
767
+ var inarray = jQuery.inArray(clean_output, exclude);
768
+ if(inarray == 0){
769
+ return null;
770
+ }
771
+ // Add items to formObj
772
+ formObj.push({
773
+ field_label: label,
774
+ field_name: $this.attr("name"),
775
+ field_value: $this.attr("value"),
776
+ field_id: $this.attr("id"),
777
+ field_class: $this.attr("class"),
778
+ field_type: $this.attr("type"),
779
+ match: clean_output,
780
+ js_selector: $this.attr("data-js-selector")
781
+ });
782
+ return formObj;
783
+ },
784
+ run_field_map_function: function (el, lookingfor) {
785
+ var return_form;
786
+ var formObj = new Array();
787
+ var $this = el;
788
+ var body = jQuery("body");
789
+ var input_id = $this.attr("id") || "NULL";
790
+ var input_name = $this.attr("name") || "NULL";
791
+ var this_val = $this.attr("value");
792
+ var array = lookingfor.split(",");
793
+ var array_length = array.length - 1;
794
+
795
+ // Main Loop
796
+ for (var i = 0; i < array.length; i++) {
797
+ var clean_output = InboundAnalytics.Utils.trim(array[i]);
798
+ var nice_name = clean_output.replace(/^\s+|\s+$/g,'');
799
+ var nice_name = nice_name.replace(" ",'_');
800
+ var in_object_already = nice_name in inbound_data;
801
+ //console.log(clean_output);
802
+
803
+ if (input_name.toLowerCase().indexOf(clean_output)>-1) {
804
+ /* Look for attr name match */
805
+ var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
806
+ InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
807
+ console.log('match name: ' + clean_output);
808
+ console.log(nice_name in inbound_data);
809
+ if (!in_object_already) {
810
+ inbound_data[nice_name] = this_val;
811
+ }
812
+ } else if (input_id.toLowerCase().indexOf(clean_output)>-1) {
813
+ /* look for id match */
814
+ var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
815
+ InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
816
+ console.log('match id: ' + clean_output);
817
+
818
+ if (!in_object_already) {
819
+ inbound_data[nice_name] = this_val;
820
+ }
821
+
822
+ } else if ($this.closest('li').children('label').length>0) {
823
+ /* Look for label name match */
824
+ var closest_label = $this.closest('li').children('label').html() || "NULL";
825
+ if (closest_label.toLowerCase().indexOf(clean_output)>-1) {
826
+
827
+ var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
828
+ InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
829
+ console.log($this.context);
830
+
831
+ var exists_in_dom = body.find("[data-inbound-form-map='inbound_map_" + nice_name + "']").length;
832
+ console.log(exists_in_dom);
833
+ console.log('match li: ' + clean_output);
834
+
835
+ if (!in_object_already) {
836
+ inbound_data[nice_name] = this_val;
837
+ }
838
+
839
+ }
840
+ } else if ($this.closest('div').children('label').length>0) {
841
+ /* Look for closest div label name match */
842
+ var closest_div = $this.closest('div').children('label').html() || "NULL";
843
+ if (closest_div.toLowerCase().indexOf(clean_output)>-1)
844
+ {
845
+ var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
846
+ InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
847
+ console.log('match div: ' + clean_output);
848
+ if (!in_object_already) {
849
+ inbound_data[nice_name] = this_val;
850
+ }
851
+ }
852
+ } else if ($this.closest('p').children('label').length>0) {
853
+ /* Look for closest p label name match */
854
+ var closest_p = $this.closest('p').children('label').html() || "NULL";
855
+ if (closest_p.toLowerCase().indexOf(clean_output)>-1)
856
+ {
857
+ var the_map = InboundAnalytics.LeadsAPI.inbound_map_fields($this, clean_output, formObj);
858
+ InboundAnalytics.LeadsAPI.add_inbound_form_class($this, clean_output);
859
+ console.log('match p: ' + clean_output);
860
+ if (!in_object_already) {
861
+ inbound_data[nice_name] = this_val;
862
+ }
863
+ }
864
+ } else {
865
+ console.log('Need additional mapping data');
866
+ }
867
+ }
868
+ return_form = the_map;
869
+
870
+ return inbound_data;
871
+ },
872
+ add_inbound_form_class: function(el, value) {
873
+ var value = value.replace(" ", "_");
874
+ var value = value.replace("-", "_");
875
+ el.addClass('inbound_map_value');
876
+ el.attr('data-inbound-form-map', 'inbound_map_' + value);
877
+ },
878
+ inbound_form_type: function(this_form) {
879
+ var inbound_data = inbound_data || {},
880
+ form_type = 'normal';
881
+ if ( this_form.is( ".wpl-comment-form" ) ) {
882
+ inbound_data['form_type'] = 'comment';
883
+ form_type = 'comment';
884
+ } else if ( this_form.is( ".wpl-search-box" ) ) {
885
+ var is_search = true;
886
+ form_type = 'search';
887
+ inbound_data['form_type'] = 'search';
888
+ } else if ( this_form.is( '.wpl-track-me-link' ) ){
889
+ var have_email = readCookie('wp_lead_email');
890
+ console.log(have_email);
891
+ inbound_data['form_type'] = 'link';
892
+ form_type = 'search';
893
+ }
894
+ return form_type;
895
+ },
896
+ grab_all_form_input_vals: function(this_form){
897
+ var post_values = post_values || {},
898
+ inbound_exclude = inbound_exclude || [],
899
+ form_inputs = this_form.find('input,textarea,select');
900
+ inbound_exclude.push('inbound_furl', 'inbound_current_page_url', 'inbound_notify', 'inbound_submitted', 'post_type', 'post_status', 's', 'inbound_form_name', 'inbound_form_id', 'inbound_form_lists');
901
+ var form_type = InboundAnalytics.LeadsAPI.inbound_form_type(this_form),
902
+ inbound_data = inbound_data || {},
903
+ email = inbound_data['email'] || false;
904
+
905
+ form_inputs.each(function() {
906
+ var $input = jQuery(this),
907
+ input_type = $input.attr('type'),
908
+ input_val = $input.val();
909
+ if (input_type === 'checkbox') {
910
+ input_checked = $input.attr("checked");
911
+ console.log(input_val);
912
+ console.log(input_checked);
913
+ console.log(post_values[this.name]);
914
+ if (input_checked === "checked"){
915
+ if (typeof (post_values[this.name]) != "undefined") {
916
+ post_values[this.name] = post_values[this.name] + "," + input_val;
917
+ console.log(post_values[this.name]);
918
+ } else {
919
+ post_values[this.name] = input_val;
920
+ }
921
+
922
+ }
923
+ }
924
+ if (jQuery.inArray(this.name, inbound_exclude) === -1 && input_type != 'checkbox'){
925
+ post_values[this.name] = input_val;
926
+ }
927
+ if (this.value.indexOf('@')>-1&&!email){
928
+ email = input_val;
929
+ inbound_data['email'] = email;
930
+ }
931
+ if (form_type === 'search') {
932
+ inbound_data['search_keyword'] = input_val.replace('"', "'");
933
+ }
934
+ });
935
+ var all_form_fields = JSON.stringify(post_values);
936
+ return all_form_fields;
937
+ },
938
+ return_mapped_values: function (this_form) {
939
+ // Map form fields
940
+ jQuery(this_form).find('input[type!="hidden"],textarea,select').each(function() {
941
+ console.log('run');
942
+ var this_input = jQuery(this);
943
+ var this_input_val = this_input.val();
944
+ if (typeof (this_input_val) != "undefined" && this_input_val != null && this_input_val != "") {
945
+ var inbound_data = InboundAnalytics.LeadsAPI.run_field_map_function( this_input, "name, first name, last name, email, e-mail, phone, website, job title, company, tele, address, comment");
946
+ }
947
+ return inbound_data;
948
+ });
949
+ return inbound_data;
950
+ },
951
+ inbound_form_submit: function(this_form, e) {
952
+ /* Define Variables */
953
+ var data = inbound_data || {};
954
+ // Dynamic JS object for passing custom values. This can be hooked into by third parties by using the below syntax.
955
+ var pageviewObj = jQuery.totalStorage('page_views');
956
+ data['page_view_count'] = InboundAnalytics.Utils.countProperties(pageviewObj);
957
+ data['leads_list'] = jQuery(this_form).find('#inbound_form_lists').val();
958
+ data['source'] = jQuery.cookie("wp_lead_referral_site") || "NA";
959
+ data['page_id'] = inbound_ajax.post_id;
960
+ data['page_views'] = JSON.stringify(pageviewObj);
961
+
962
+ // Map form fields
963
+ var returned_form_data = InboundAnalytics.LeadsAPI.return_mapped_values(this_form); //console.log(returned_form_data);
964
+ var data = InboundAnalytics.Utils.mergeObjs(data,returned_form_data); //console.log(data);
965
+ var this_form = jQuery(this_form);
966
+ // Set variables after mapping
967
+ data['email'] = (!data['email']) ? this_form.find('.inbound-email').val() : data['email'];
968
+ data['form_name'] = this_form.find('.inbound_form_name').val() || "Not Found";
969
+ data['form_id'] = this_form.find('.inbound_form_id').val() || "Not Found";
970
+ data['first_name'] = (!data['first_name']) ? data['name'] : data['first_name'];
971
+ data['last_name'] = data['last_name'] || '';
972
+ data['phone'] = data['phone'] || '';
973
+ data['company'] = data['company'] || '';
974
+ data['address'] = data['address'] || '';
975
+
976
+ // Fallbacks for values
977
+ data['name'] = (data['first_name'] && data['last_name']) ? data['first_name'] + " " + data['last_name'] : data['name'];
978
+
979
+ if (!data['last_name'] && data['first_name']) {
980
+ var parts = data['first_name'].split(" ");
981
+ data['first_name'] = parts[0];
982
+ data['last_name'] = parts[1];
983
+ }
984
+
985
+ /* Store form fields & exclude field values */
986
+ var all_form_fields = InboundAnalytics.LeadsAPI.grab_all_form_input_vals(this_form);
987
+ /* end Store form fields & exclude field values */
988
+
989
+ if(data['email']){
990
+ InboundAnalytics.Utils.createCookie("wp_lead_email", data['email'], 365); /* set email cookie */
991
+ }
992
+
993
+ //var variation = (typeof (landing_path_info) != "undefined") ? landing_path_info.variation : false;
994
+
995
+ if (typeof (landing_path_info) != "undefined") {
996
+ var variation = landing_path_info.variation;
997
+ } else if (typeof (cta_path_info) != "undefined") {
998
+ var variation = cta_path_info.variation;
999
+ } else {
1000
+ var variation = 0;
1001
+ }
1002
+
1003
+ data['variation'] = variation;
1004
+ data['post_type'] = inbound_ajax.post_type;
1005
+ data['wp_lead_uid'] = jQuery.cookie("wp_lead_uid") || null;
1006
+ data['ip_address'] = inbound_ajax.ip_address;
1007
+ data['search_data'] = JSON.stringify(jQuery.totalStorage('inbound_search')) || {};
1008
+
1009
+ var lp_check = (inbound_ajax.post_type === 'landing-page') ? 'Landing Page' : "";
1010
+ var cta_check = (inbound_ajax.post_type === 'wp-call-to-action') ? 'Call to Action' : "";
1011
+ var page_type = (!cta_check && !lp_check) ? inbound_ajax.post_type : lp_check + cta_check;
1012
+
1013
+ // jsonify data
1014
+ var mapped_form_data = JSON.stringify(data);
1015
+
1016
+ var return_data = {};
1017
+ var return_data = {
1018
+ "action": 'inbound_store_lead',
1019
+ "emailTo": data['email'],
1020
+ "first_name": data['first_name'],
1021
+ "last_name": data['last_name'],
1022
+ "phone": data['phone'],
1023
+ "address": data['address'],
1024
+ "company_name": data['company'],
1025
+ "page_views": data['page_views'],
1026
+ "form_input_values": all_form_fields,
1027
+ "Mapped_Data": mapped_form_data,
1028
+ "Search_Data": data['search_data']
1029
+ }
1030
+ return return_data;
1031
+ },
1032
+ formSubmit: function (e){
1033
+ /*if(!confirm('Are you sure?')) {
1034
+ e.returnValue = false;
1035
+ if(e.preventDefault) e.preventDefault();
1036
+ return false;
1037
+ }
1038
+ return true;*/
1039
+ /*var inbound_data = inbound_data || {},
1040
+ this_form = e.target,
1041
+ event_type = e.type,
1042
+ is_search = false,
1043
+ form_type = 'normal';*/
1044
+
1045
+ e.preventDefault(); /* Halt form processing */
1046
+ console.log("This works");
1047
+ var data = InboundAnalytics.LeadsAPI.inbound_form_submit(e.target, e); // big function for processing
1048
+ console.log(data);
1049
+ alert('Working');
1050
+ //document.getElementById("ajaxButton").onclick = function() { makeRequest('test.html'); };
1051
+
1052
+ /* Final Ajax Call on Submit */
1053
+ InboundAnalytics.LeadsAPI.makeRequest('test.html');
1054
+ },
1055
+ alertContents: function() {
1056
+ if (httpRequest.readyState === 4) {
1057
+ if (httpRequest.status === 200) {
1058
+ alert(httpRequest.responseText);
1059
+ } else if(xmlhttp.status == 400) {
1060
+ alert('There was an error 400');
1061
+ } else {
1062
+ alert('There was a problem with the request.');
1063
+ }
1064
+ }
1065
+ },
1066
+ getAllLeadData: function(expire_check) {
1067
+ var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id"),
1068
+ old_data = jQuery.totalStorage('inbound_lead_data'),
1069
+ data = {
1070
+ action: 'inbound_get_all_lead_data',
1071
+ wp_lead_id: wp_lead_id,
1072
+ },
1073
+ success = function(returnData){
1074
+ var obj = JSON.parse(returnData);
1075
+ console.log('RAAAAAAn');
1076
+ setGlobalLeadVar(obj);
1077
+ jQuery.totalStorage('inbound_lead_data', obj); // store lead data
1078
+ };
1079
+
1080
+ if(!old_data) {
1081
+ console.log("No old data");
1082
+ }
1083
+
1084
+ if (expire_check === 'true'){
1085
+ console.log("Session has not expired");
1086
+ }
1087
+
1088
+ if(!old_data && expire_check === null) {
1089
+ InboundAnalytics.debug('Go to Database',function(){
1090
+ console.log(expire_check);
1091
+ console.log(old_data);
1092
+ });
1093
+ InboundAnalytics.Utils.doAjax(data, success);
1094
+ } else {
1095
+ setGlobalLeadVar(old_data); // set global lead var with localstorage data
1096
+ var lead_data_expiration = InboundAnalytics.Utils.readCookie("lead_data_expiration");
1097
+ if (lead_data_expiration === null) {
1098
+ InboundAnalytics.Utils.doAjax(data, success);
1099
+ console.log('localized data old. Pull new from DB');
1100
+ }
1101
+ }
1102
+
1103
+ },
1104
+ getLeadLists: function() {
1105
+ var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id");
1106
+ var data = {
1107
+ action: 'wpl_check_lists',
1108
+ wp_lead_id: wp_lead_id,
1109
+ };
1110
+ var success = function(user_id){
1111
+ jQuery.cookie("lead_session_list_check", true, { path: '/', expires: 1 });
1112
+ console.log("Lists checked");
1113
+ };
1114
+ InboundAnalytics.Utils.doAjax(data, success);
1115
+ }
1116
+ };
1117
+
1118
+ return InboundAnalytics;
1119
+
1120
+ })(InboundAnalytics || {});
1121
+
1122
+ /**
1123
+ * Custom Event Triggers for Leads -
1124
+ * The below functions illustrate how to use custom javascript callbacks to fire events
1125
+ * based on lead data and what they have and have not done on the site.
1126
+ */
1127
+ /**
1128
+
1129
+ // Raw Javascript Version - trigger custom function on page view trigger
1130
+
1131
+ window.addEventListener("inbound_analytics_triggered", fireOnPageViewTrigger, false);
1132
+ function fireOnPageViewTrigger(){
1133
+ alert("page view was triggered");
1134
+ }
1135
+
1136
+ // jQuery version - trigger custom function on analytics loaded
1137
+
1138
+ jQuery(document).on('inbound_analytics_loaded', function (event, data) {
1139
+ console.log("inbound_analytics_loaded");
1140
+ });
1141
+
1142
+ // Raw Javascript Version - trigger custom function on page first seen
1143
+
1144
+ window.addEventListener("inbound_analytics_page_first_view", page_first_seen_function, false);
1145
+ function page_first_seen_function(){
1146
+ alert("This is the first time you have seen this page");
1147
+ }
1148
+
1149
+ // Raw Javascript Version - trigger custom function on page already seen
1150
+
1151
+ window.addEventListener("inbound_analytics_page_revisit", page_seen_function, false);
1152
+ function page_seen_function(e){
1153
+ var view_count = e.detail.count;
1154
+ console.log("This page has been seen " + e.detail.count + " times");
1155
+ if(view_count > 10){
1156
+ console.log("Page has been viewed more than 10 times");
1157
+ }
1158
+ }
1159
+
1160
+ // jQuery version - trigger custom function on page already seen via jQuery
1161
+
1162
+ jQuery(document).on('inbound_analytics_page_revisit', function (event, data) {
1163
+ console.log("inbound_analytics_page_revisit action triggered");
1164
+ //console.log(data);
1165
+ if(data.count > 10){
1166
+ console.log("Page has been viewed more than 10 times");
1167
+ }
1168
+ });
1169
+ */
1170
+
1171
+ /**
1172
+ * Event functions
1173
+ * @param Object InboundAnalytics - Main JS object
1174
+ * @return Object - include event triggers
1175
+ */
1176
+ // https://github.com/carldanley/WP-JS-Hooks/blob/master/src/event-manager.js
1177
+ var InboundAnalyticsEvents = (function (InboundAnalytics) {
1178
+
1179
+ InboundAnalytics.Events = {
1180
+ // Create cookie
1181
+ loadEvents: function() {
1182
+ this.analyticsLoaded();
1183
+ },
1184
+ triggerJQueryEvent: function(eventName, data){
1185
+ if (window.jQuery) {
1186
+ var data = data || {};
1187
+ jQuery(document).trigger(eventName, data);
1188
+ /* var something = (function() {
1189
+ var executed = false;
1190
+ return function () {
1191
+ if (!executed) {
1192
+ executed = true;
1193
+ console.log(eventName + " RAN");
1194
+
1195
+ }
1196
+ };
1197
+ })();*/
1198
+ }
1199
+ },
1200
+ analyticsLoaded: function() {
1201
+ var eventName = "inbound_analytics_loaded";
1202
+ var loaded = new CustomEvent(eventName);
1203
+ window.dispatchEvent(loaded);
1204
+ this.triggerJQueryEvent(eventName);
1205
+ },
1206
+ analyticsTriggered: function() {
1207
+ var triggered = new CustomEvent("inbound_analytics_triggered");
1208
+ window.dispatchEvent(triggered);
1209
+ },
1210
+ analyticsSaved: function() {
1211
+ var page_view_saved = new CustomEvent("inbound_analytics_saved");
1212
+ window.dispatchEvent(page_view_saved);
1213
+ console.log('Page View Saved');
1214
+ },
1215
+ analyticsError: function(MLHttpRequest, textStatus, errorThrown) {
1216
+ var error = new CustomEvent("inbound_analytics_error", {
1217
+ detail: {
1218
+ MLHttpRequest: MLHttpRequest,
1219
+ textStatus: textStatus,
1220
+ errorThrown: errorThrown
1221
+ }
1222
+ });
1223
+ window.dispatchEvent(error);
1224
+ console.log('Page Save Error');
1225
+ },
1226
+ pageFirstView: function(page_seen_count) {
1227
+ var page_first_view = new CustomEvent("inbound_analytics_page_first_view", {
1228
+ detail: {
1229
+ count: 1,
1230
+ time: new Date(),
1231
+ },
1232
+ bubbles: true,
1233
+ cancelable: true
1234
+ }
1235
+ );
1236
+ window.dispatchEvent(page_first_view);
1237
+
1238
+ console.log('First Ever Page View of this Page');
1239
+ },
1240
+ pageRevisit: function(page_seen_count) {
1241
+ var eventName = "inbound_analytics_page_revisit";
1242
+ var data = { count: page_seen_count,
1243
+ time: new Date()
1244
+ };
1245
+ var page_revisit = new CustomEvent(eventName, {
1246
+ detail: data,
1247
+ bubbles: true,
1248
+ cancelable: true
1249
+ }
1250
+ );
1251
+ window.dispatchEvent(page_revisit);
1252
+ this.triggerJQueryEvent(eventName, data);
1253
+ console.log('Page Revisit');
1254
+ },
1255
+ /* get idle times https://github.com/robflaherty/riveted/blob/master/riveted.js */
1256
+ browserTabHidden: function() {
1257
+ /* http://www.thefutureoftheweb.com/demo/2007-05-16-detect-browser-window-focus/ */
1258
+ var eventName = "inbound_analytics_tab_hidden";
1259
+ var tab_hidden = new CustomEvent(eventName);
1260
+ window.dispatchEvent(tab_hidden);
1261
+ console.log('Tab Hidden');
1262
+ this.triggerJQueryEvent(eventName);
1263
+ }
1264
+ browserTabVisible: function() {
1265
+ var eventName = "inbound_analytics_tab_visible";
1266
+ var tab_visible = new CustomEvent(eventName);
1267
+ window.dispatchEvent(tab_visible);
1268
+ console.log('Tab Visible');
1269
+ this.triggerJQueryEvent(eventName);
1270
+ },
1271
+ /* Scrol depth https://github.com/robflaherty/jquery-scrolldepth/blob/master/jquery.scrolldepth.js */
1272
+ sessionStart: function() {
1273
+ var session_start = new CustomEvent("inbound_analytics_session_start");
1274
+ window.dispatchEvent(session_start);
1275
+ console.log('Session Start');
1276
+ },
1277
+ sessionActive: function() {
1278
+ var session_active = new CustomEvent("inbound_analytics_session_active");
1279
+ window.dispatchEvent(session_active);
1280
+ console.log('Session Active');
1281
+ },
1282
+
1283
+ };
1284
+
1285
+ return InboundAnalytics;
1286
+
1287
+ })(InboundAnalytics || {});
1288
+
1289
+ var Lead_Globals = jQuery.totalStorage('inbound_lead_data') || null;
1290
+ function setGlobalLeadVar(retString){
1291
+ Lead_Globals = retString;
1292
+ }
1293
+
1294
+ InboundAnalytics.init(); // run analytics
1295
+
1296
+ /* run on ready */
1297
+ jQuery(document).ready(function($) {
1298
+ //record non conversion status
1299
+ var in_u = InboundAnalytics.Utils,
1300
+ wp_lead_uid = in_u.readCookie("wp_lead_uid"),
1301
+ wp_lead_id = in_u.readCookie("wp_lead_id"),
1302
+ expire_check = in_u.readCookie("lead_session_expire"); // check for session
1303
+
1304
+ if (expire_check === null) {
1305
+ console.log('expired vistor. Run Processes');
1306
+ //var data_to_lookup = global-localized-vars;
1307
+ if (typeof (wp_lead_id) != "undefined" && wp_lead_id != null && wp_lead_id != "") {
1308
+ /* Get Lead_Globals */
1309
+ InboundAnalytics.LeadsAPI.getAllLeadData(expire_check);
1310
+ /* Lead list check */
1311
+ InboundAnalytics.LeadsAPI.getLeadLists();
1312
+ }
1313
+ }
1314
+
1315
+ //window.addEventListener('load',function(){
1316
+ // InboundAnalytics.LeadsAPI.attachSubmitEvent(window,InboundAnalytics.LeadsAPI.formSubmit);
1317
+ //}, false);
1318
+
1319
+ in_u.contentLoaded(window, InboundAnalytics.LeadsAPI.attachFormSubmitEvent);
1320
+
1321
+ /* Set Session Timeout */
1322
+ in_u.SetSessionTimeout();
1323
+
1324
+ });
shared/assets/frontend/js/page-tracking.js ADDED
@@ -0,0 +1,693 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Lead Tracking JS
3
+ * http://www.inboundnow.com
4
+ */
5
+ var InboundAnalytics = (function () {
6
+
7
+ var debugMode = false;
8
+
9
+ var _privateMethod = function () {
10
+ console.log('Run private');
11
+ };
12
+
13
+ var App = {
14
+ init: function () {
15
+ this.polyFills();
16
+ InboundAnalytics.PageTracking.StorePageView();
17
+ InboundAnalytics.Events.loadEvents();
18
+ InboundAnalytics.Utils.init();
19
+ },
20
+ polyFills: function() {
21
+ /* Console.log fix for old browsers */
22
+ if (!window.console) { window.console = {}; }
23
+ var m = [
24
+ "log", "info", "warn", "error", "debug", "trace", "dir", "group",
25
+ "groupCollapsed", "groupEnd", "time", "timeEnd", "profile", "profileEnd",
26
+ "dirxml", "assert", "count", "markTimeline", "timeStamp", "clear"
27
+ ];
28
+ // define undefined methods as noops to prevent errors
29
+ for (var i = 0; i < m.length; i++) {
30
+ if (!window.console[m[i]]) {
31
+ window.console[m[i]] = function() {};
32
+ }
33
+ }
34
+ },
35
+ /* Debugger Function toggled by var debugMode */
36
+ debug: function(msg,callback){
37
+ //if app not in debug mode, exit immediately
38
+ if(!debugMode || !console){return};
39
+ var msg = msg || false;
40
+ //console.log the message
41
+ if(msg && (typeof msg === 'string')){console.log(msg)};
42
+
43
+ //execute the callback if one was passed-in
44
+ if(callback && (callback instanceof Function)){
45
+ callback();
46
+ };
47
+ }
48
+ };
49
+
50
+ return App;
51
+
52
+ })();
53
+
54
+
55
+ /**
56
+ * Utility functions
57
+ * @param Object InboundAnalytics - Main JS object
58
+ * @return Object - include util functions
59
+ */
60
+ var InboundAnalyticsUtils = (function (InboundAnalytics) {
61
+
62
+ InboundAnalytics.Utils = {
63
+ init: function() {
64
+ this.setUrlParams();
65
+ this.SetUID();
66
+ this.getReferer();
67
+
68
+ },
69
+ // Create cookie
70
+ createCookie: function(name, value, days, custom_time) {
71
+ var expires = "";
72
+ if (days) {
73
+ var date = new Date();
74
+ date.setTime(date.getTime()+(days*24*60*60*1000));
75
+ expires = "; expires="+date.toGMTString();
76
+ }
77
+ if(custom_time){
78
+ expires = "; expires="+days.toGMTString();
79
+ }
80
+ document.cookie = name+"="+value+expires+"; path=/";
81
+ },
82
+ // Read cookie
83
+ readCookie: function(name) {
84
+ var nameEQ = name + "=";
85
+ var ca = document.cookie.split(';');
86
+ for(var i=0;i < ca.length;i++) {
87
+ var c = ca[i];
88
+ while (c.charAt(0) === ' ') {
89
+ c = c.substring(1,c.length);
90
+ }
91
+ if (c.indexOf(nameEQ) === 0) {
92
+ return c.substring(nameEQ.length,c.length);
93
+ }
94
+ }
95
+ return null;
96
+ },
97
+ // Erase cookie
98
+ eraseCookie: function(name) {
99
+ createCookie(name,"",-1);
100
+ },
101
+ getAllCookies: function(){
102
+ var cookies = {};
103
+ if (document.cookie && document.cookie != '') {
104
+ var split = document.cookie.split(';');
105
+ for (var i = 0; i < split.length; i++) {
106
+ var name_value = split[i].split("=");
107
+ name_value[0] = name_value[0].replace(/^ /, '');
108
+ cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
109
+ }
110
+ }
111
+ jQuery.totalStorage('inbound_cookies', cookies); // store cookie data
112
+ return cookies;
113
+ },
114
+ /* Grab URL params and save */
115
+ setUrlParams: function() {
116
+ var urlParams = {},
117
+ local_store = InboundAnalytics.Utils.checkLocalStorage();
118
+
119
+ (function () {
120
+ var e,
121
+ d = function (s) { return decodeURIComponent(s).replace(/\+/g, " "); },
122
+ q = window.location.search.substring(1),
123
+ r = /([^&=]+)=?([^&]*)/g;
124
+
125
+ while (e = r.exec(q)) {
126
+ if (e[1].indexOf("[") == "-1")
127
+ urlParams[d(e[1])] = d(e[2]);
128
+ else {
129
+ var b1 = e[1].indexOf("["),
130
+ aN = e[1].slice(b1+1, e[1].indexOf("]", b1)),
131
+ pN = d(e[1].slice(0, b1));
132
+
133
+ if (typeof urlParams[pN] != "object")
134
+ urlParams[d(pN)] = {},
135
+ urlParams[d(pN)].length = 0;
136
+
137
+ if (aN)
138
+ urlParams[d(pN)][d(aN)] = d(e[2]);
139
+ else
140
+ Array.prototype.push.call(urlParams[d(pN)], d(e[2]));
141
+
142
+ }
143
+ }
144
+ })();
145
+
146
+ if (JSON) {
147
+ for (var k in urlParams) {
148
+ if (typeof urlParams[k] == "object") {
149
+ for (var k2 in urlParams[k])
150
+ this.createCookie(k2, urlParams[k][k2], 30);
151
+ } else {
152
+ this.createCookie(k, urlParams[k], 30);
153
+ }
154
+ }
155
+ }
156
+
157
+ if(local_store){
158
+ var pastParams = jQuery.totalStorage('inbound_url_params');
159
+ var params = this.mergeObjs(pastParams, urlParams);
160
+ jQuery.totalStorage('inbound_url_params', params); // store cookie data
161
+ }
162
+ },
163
+ getUrlParams: function(){
164
+ var local_store = this.checkLocalStorage(),
165
+ get_params = {};
166
+ if(local_store){
167
+ var get_params = jQuery.totalStorage('inbound_url_params');
168
+ }
169
+ return get_params;
170
+ },
171
+ // Check local storage
172
+ // provate browsing safari fix https://github.com/marcuswestin/store.js/issues/42#issuecomment-25274685
173
+ checkLocalStorage: function() {
174
+ if ('localStorage' in window) {
175
+ try {
176
+ ls = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage;
177
+ if (typeof ls == 'undefined' || typeof window.JSON == 'undefined'){
178
+ supported = false;
179
+ } else {
180
+ supported = true;
181
+ }
182
+
183
+ }
184
+ catch (err){
185
+ supported = false;
186
+ }
187
+ }
188
+ return supported;
189
+ /* http://spin.atomicobject.com/2013/01/23/ios-private-browsing-localstorage/
190
+ var hasStorage;
191
+ hasStorage = function() {
192
+ var mod, result;
193
+ try {
194
+ mod = new Date;
195
+ localStorage.setItem(mod, mod.toString());
196
+ result = localStorage.getItem(mod) === mod.toString();
197
+ localStorage.removeItem(mod);
198
+ return result;
199
+ } catch (_error) {}
200
+ };
201
+ */
202
+ },
203
+ /* Add days to datetime */
204
+ addDays: function(myDate,days) {
205
+ return new Date(myDate.getTime() + days*24*60*60*1000);
206
+ },
207
+ GetDate: function(){
208
+ var time_now = new Date(),
209
+ day = time_now.getDate() + 1;
210
+ year = time_now.getFullYear(),
211
+ hour = time_now.getHours(),
212
+ minutes = time_now.getMinutes(),
213
+ seconds = time_now.getSeconds(),
214
+ month = time_now.getMonth() + 1;
215
+ if (month < 10) { month = '0' + month; }
216
+ InboundAnalytics.debug('Current Date:',function(){
217
+ console.log(year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds);
218
+ });
219
+ var datetime = year + '/' + month + "/" + day + " " + hour + ":" + minutes + ":" + seconds;
220
+ return datetime;
221
+ },
222
+ /* Set Expiration Date of Session Logging */
223
+ SetSessionTimeout: function(){
224
+ var session_check = this.readCookie("lead_session_expire");
225
+ //console.log(session_check);
226
+ if(session_check === null){
227
+ InboundAnalytics.Events.sessionStart(); // trigger 'inbound_analytics_session_start'
228
+ } else {
229
+ InboundAnalytics.Events.sessionActive(); // trigger 'inbound_analytics_session_active'
230
+ }
231
+ var d = new Date();
232
+ d.setTime(d.getTime() + 30*60*1000);
233
+
234
+ this.createCookie("lead_session_expire", true, d, true); // Set cookie on page loads
235
+ var lead_data_expiration = this.readCookie("lead_data_expiration");
236
+ if (lead_data_expiration === null){
237
+ /* Set 3 day timeout for checking DB for new lead data for Lead_Global var */
238
+ var ex = this.addDays(d, 3);
239
+ this.createCookie("lead_data_expiration", ex, ex, true);
240
+ }
241
+
242
+ },
243
+ getReferer: function(){
244
+ //console.log(expire_time);
245
+ var d = new Date();
246
+ d.setTime(d.getTime() + 30*60*1000);
247
+ var referrer_cookie = InboundAnalytics.Utils.readCookie("wp_lead_referral_site");
248
+ if (typeof (referrer_cookie) === "undefined" || referrer_cookie === null || referrer_cookie === "") {
249
+ var referrer = document.referrer || "NA";
250
+ this.createCookie("wp_lead_referral_site", referrer, d, true); // Set cookie on page loads
251
+ }
252
+ },
253
+ CreateUID: function(length) {
254
+ var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split(''),
255
+ str = '';
256
+ if (! length) {
257
+ length = Math.floor(Math.random() * chars.length);
258
+ }
259
+ for (var i = 0; i < length; i++) {
260
+ str += chars[Math.floor(Math.random() * chars.length)];
261
+ }
262
+ return str;
263
+ },
264
+ SetUID: function () {
265
+ /* Set Lead UID */
266
+
267
+ if(this.readCookie("wp_lead_uid") === null) {
268
+ var wp_lead_uid = this.CreateUID(35);
269
+ this.createCookie("wp_lead_uid", wp_lead_uid );
270
+ InboundAnalytics.debug('Set UID');
271
+ }
272
+ },
273
+ /* Count number of session visits */
274
+ countProperties: function (obj) {
275
+ var count = 0;
276
+ for(var prop in obj) {
277
+ if(obj.hasOwnProperty(prop))
278
+ ++count;
279
+ }
280
+ return count;
281
+ },
282
+ mergeObjs: function(obj1,obj2){
283
+ var obj3 = {};
284
+ for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
285
+ for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
286
+ return obj3;
287
+ },
288
+ doAjax: function(data, responseHandler, method, async){
289
+ // Set the variables
290
+ var url = wplft.admin_url || "",
291
+ method = method || "POST",
292
+ async = async || true,
293
+ data = data || null,
294
+ action = data.action;
295
+
296
+ InboundAnalytics.debug('Ajax Processed:',function(){
297
+ console.log('ran ajax action: ' + action);
298
+ });
299
+
300
+ jQuery.ajax({
301
+ type: method,
302
+ url: wplft.admin_url,
303
+ data: data,
304
+ success: responseHandler,
305
+ error: function(MLHttpRequest, textStatus, errorThrown){
306
+ console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
307
+ InboundAnalytics.Events.analyticsError(MLHttpRequest, textStatus, errorThrown);
308
+ }
309
+
310
+ });
311
+ }
312
+
313
+ };
314
+
315
+ return InboundAnalytics;
316
+
317
+ })(InboundAnalytics || {});
318
+
319
+
320
+ var InboundAnalyticsPageTracking = (function (InboundAnalytics) {
321
+
322
+ InboundAnalytics.PageTracking = {
323
+
324
+ getPageViews: function () {
325
+ var local_store = InboundAnalytics.Utils.checkLocalStorage();
326
+ if(local_store){
327
+ var page_views = localStorage.getItem("page_views"),
328
+ local_object = JSON.parse(page_views);
329
+ if (typeof local_object =='object' && local_object) {
330
+ this.StorePageView();
331
+ }
332
+ return local_object;
333
+ }
334
+ },
335
+ StorePageView: function() {
336
+ var timeout = this.CheckTimeOut();
337
+ var pageviewObj = jQuery.totalStorage('page_views');
338
+ if(pageviewObj === null) {
339
+ pageviewObj = {};
340
+ }
341
+ var current_page_id = wplft.post_id;
342
+ var datetime = InboundAnalytics.Utils.GetDate();
343
+
344
+ if (timeout) {
345
+ // If pageviewObj exists, do this
346
+ var page_seen = pageviewObj[current_page_id];
347
+
348
+ if(typeof(page_seen) != "undefined" && page_seen !== null) {
349
+ pageviewObj[current_page_id].push(datetime);
350
+ /* Page Revisit Trigger */
351
+ var page_seen_count = pageviewObj[current_page_id].length;
352
+ InboundAnalytics.Events.pageRevisit(page_seen_count);
353
+
354
+ } else {
355
+ pageviewObj[current_page_id] = [];
356
+ pageviewObj[current_page_id].push(datetime);
357
+ /* Page First Seen Trigger */
358
+ var page_seen_count = 1;
359
+ InboundAnalytics.Events.pageFirstView(page_seen_count);
360
+ }
361
+
362
+ jQuery.totalStorage('page_views', pageviewObj);
363
+
364
+ }
365
+ },
366
+ CheckTimeOut: function() {
367
+ var PageViews = jQuery.totalStorage('page_views');
368
+ if(PageViews === null) {
369
+ var PageViews = {};
370
+ }
371
+ var page_id = wplft.post_id,
372
+ pageviewTimeout = true, /* Default */
373
+ page_seen = PageViews[page_id];
374
+ if(typeof(page_seen) != "undefined" && page_seen !== null) {
375
+
376
+ var time_now = InboundAnalytics.Utils.GetDate(),
377
+ vc = PageViews[page_id].length - 1,
378
+ last_view = PageViews[page_id][vc],
379
+ last_view_ms = new Date(last_view).getTime(),
380
+ time_now_ms = new Date(time_now).getTime(),
381
+ timeout_ms = last_view_ms + 30*1000,
382
+ time_check = Math.abs(last_view_ms - time_now_ms),
383
+ wait_time = 30000;
384
+
385
+ InboundAnalytics.debug('Timeout Checks =',function(){
386
+ console.log('Current Time is: ' + time_now);
387
+ console.log('Last view is: ' + last_view);
388
+ console.log("Last view milliseconds " + last_view_ms);
389
+ console.log("time now milliseconds " + time_now_ms);
390
+ console.log("Wait Check: " + wait_time);
391
+ console.log("TIME CHECK: " + time_check);
392
+ });
393
+
394
+ //var wait_time = Math.abs(last_view_ms - timeout_ms) // output timeout time 30sec;
395
+
396
+ if (time_check < wait_time){
397
+ time_left = Math.abs((wait_time - time_check)) * .001;
398
+ pageviewTimeout = false;
399
+ var status = '30 sec timeout not done: ' + time_left + " seconds left";
400
+ } else {
401
+ var status = 'Timeout Happened. Page view fired';
402
+ this.firePageView();
403
+ pageviewTimeout = true;
404
+ InboundAnalytics.Events.analyticsTriggered();
405
+ }
406
+
407
+ //InboundAnalytics.debug('',function(){
408
+ console.log(status);
409
+ //});
410
+ } else {
411
+ /* Page never seen before */
412
+ this.firePageView();
413
+ }
414
+
415
+ return pageviewTimeout;
416
+
417
+ },
418
+ firePageView: function() {
419
+ var lead_id = InboundAnalytics.Utils.readCookie('wp_lead_id'),
420
+ lead_uid = InboundAnalytics.Utils.readCookie('wp_lead_uid');
421
+
422
+ if (typeof (lead_id) != "undefined" && lead_id != null && lead_id != "") {
423
+
424
+ InboundAnalytics.debug('Run page view ajax');
425
+
426
+ var data = {
427
+ action: 'wpl_track_user',
428
+ wp_lead_uid: lead_uid,
429
+ wp_lead_id: lead_id,
430
+ page_id: wplft.post_id,
431
+ current_url: window.location.href,
432
+ json: '0'
433
+ };
434
+ var firePageCallback = function(user_id){
435
+ InboundAnalytics.Events.analyticsSaved();
436
+ };
437
+ InboundAnalytics.Utils.doAjax(data, firePageCallback);
438
+ }
439
+ }
440
+ }
441
+
442
+ return InboundAnalytics;
443
+
444
+ })(InboundAnalytics || {});
445
+
446
+
447
+ /**
448
+ * Leads API functions
449
+ * @param Object InboundAnalytics - Main JS object
450
+ * @return Object - include event triggers
451
+ */
452
+ var InboundAnalyticsLeadsAPI = (function (InboundAnalytics) {
453
+
454
+ InboundAnalytics.LeadsAPI = {
455
+ init: function() {
456
+
457
+ },
458
+ getAllLeadData: function(expire_check) {
459
+ var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id"),
460
+ old_data = jQuery.totalStorage('inbound_lead_data'),
461
+ data = {
462
+ action: 'inbound_get_all_lead_data',
463
+ wp_lead_id: wp_lead_id,
464
+ },
465
+ success = function(returnData){
466
+ var obj = JSON.parse(returnData);
467
+ console.log('RAAAAAAn');
468
+ setGlobalLeadVar(obj);
469
+ jQuery.totalStorage('inbound_lead_data', obj); // store lead data
470
+ };
471
+
472
+ if(!old_data) {
473
+ console.log("No old data");
474
+ }
475
+
476
+ if (expire_check === 'true'){
477
+ console.log("Session has not expired");
478
+ }
479
+
480
+ if(!old_data && expire_check === null) {
481
+ InboundAnalytics.debug('Go to Database',function(){
482
+ console.log(expire_check);
483
+ console.log(old_data);
484
+ });
485
+ InboundAnalytics.Utils.doAjax(data, success);
486
+ } else {
487
+ setGlobalLeadVar(old_data); // set global lead var with localstorage data
488
+ var lead_data_expiration = InboundAnalytics.Utils.readCookie("lead_data_expiration");
489
+ if (lead_data_expiration === null) {
490
+ InboundAnalytics.Utils.doAjax(data, success);
491
+ console.log('localized data old. Pull new from DB');
492
+ }
493
+ }
494
+
495
+ },
496
+ getLeadLists: function() {
497
+ var wp_lead_id = InboundAnalytics.Utils.readCookie("wp_lead_id");
498
+ var data = {
499
+ action: 'wpl_check_lists',
500
+ wp_lead_id: wp_lead_id,
501
+ };
502
+ var success = function(user_id){
503
+ jQuery.cookie("lead_session_list_check", true, { path: '/', expires: 1 });
504
+ console.log("Lists checked");
505
+ };
506
+ InboundAnalytics.Utils.doAjax(data, success);
507
+ }
508
+ };
509
+
510
+ return InboundAnalytics;
511
+
512
+ })(InboundAnalytics || {});
513
+
514
+
515
+ /**
516
+ * Custom Event Triggers for Leads -
517
+ * The below functions illustrate how to use custom javascript callbacks to fire events
518
+ * based on lead data and what they have and have not done on the site.
519
+ */
520
+ /**
521
+
522
+ // Raw Javascript Version - trigger custom function on page view trigger
523
+
524
+ window.addEventListener("inbound_analytics_triggered", fireOnPageViewTrigger, false);
525
+ function fireOnPageViewTrigger(){
526
+ alert("page view was triggered");
527
+ }
528
+
529
+ // jQuery version - trigger custom function on analytics loaded
530
+
531
+ jQuery(document).on('inbound_analytics_loaded', function (event, data) {
532
+ console.log("inbound_analytics_loaded");
533
+ });
534
+
535
+ // Raw Javascript Version - trigger custom function on page first seen
536
+
537
+ window.addEventListener("inbound_analytics_page_first_view", page_first_seen_function, false);
538
+ function page_first_seen_function(){
539
+ alert("This is the first time you have seen this page");
540
+ }
541
+
542
+ // Raw Javascript Version - trigger custom function on page already seen
543
+
544
+ window.addEventListener("inbound_analytics_page_revisit", page_seen_function, false);
545
+ function page_seen_function(e){
546
+ var view_count = e.detail.count;
547
+ console.log("This page has been seen " + e.detail.count + " times");
548
+ if(view_count > 10){
549
+ console.log("Page has been viewed more than 10 times");
550
+ }
551
+ }
552
+
553
+ // jQuery version - trigger custom function on page already seen via jQuery
554
+
555
+ jQuery(document).on('inbound_analytics_page_revisit', function (event, data) {
556
+ console.log("inbound_analytics_page_revisit action triggered");
557
+ //console.log(data);
558
+ if(data.count > 10){
559
+ console.log("Page has been viewed more than 10 times");
560
+ }
561
+ });
562
+ */
563
+
564
+ /**
565
+ * Event functions
566
+ * @param Object InboundAnalytics - Main JS object
567
+ * @return Object - include event triggers
568
+ */
569
+ var InboundAnalyticsEvents = (function (InboundAnalytics) {
570
+
571
+ InboundAnalytics.Events = {
572
+ // Create cookie
573
+ loadEvents: function() {
574
+ this.analyticsLoaded();
575
+ },
576
+ triggerJQueryEvent: function(eventName, data){
577
+ if (window.jQuery) {
578
+ var data = data || {};
579
+ jQuery(document).trigger(eventName, data);
580
+ /* var something = (function() {
581
+ var executed = false;
582
+ return function () {
583
+ if (!executed) {
584
+ executed = true;
585
+ console.log(eventName + " RAN");
586
+
587
+ }
588
+ };
589
+ })();*/
590
+ }
591
+ },
592
+ analyticsLoaded: function() {
593
+ var eventName = "inbound_analytics_loaded";
594
+ var loaded = new CustomEvent(eventName);
595
+ window.dispatchEvent(loaded);
596
+ this.triggerJQueryEvent(eventName);
597
+ },
598
+ analyticsTriggered: function() {
599
+ var triggered = new CustomEvent("inbound_analytics_triggered");
600
+ window.dispatchEvent(triggered);
601
+ },
602
+ analyticsSaved: function() {
603
+ var page_view_saved = new CustomEvent("inbound_analytics_saved");
604
+ window.dispatchEvent(page_view_saved);
605
+ console.log('Page View Saved');
606
+ },
607
+ analyticsError: function(MLHttpRequest, textStatus, errorThrown) {
608
+ var error = new CustomEvent("inbound_analytics_error", {
609
+ detail: {
610
+ MLHttpRequest: MLHttpRequest,
611
+ textStatus: textStatus,
612
+ errorThrown: errorThrown
613
+ }
614
+ });
615
+ window.dispatchEvent(error);
616
+ console.log('Page Save Error');
617
+ },
618
+ pageFirstView: function(page_seen_count) {
619
+ var page_first_view = new CustomEvent("inbound_analytics_page_first_view", {
620
+ detail: {
621
+ count: 1,
622
+ time: new Date(),
623
+ },
624
+ bubbles: true,
625
+ cancelable: true
626
+ }
627
+ );
628
+ window.dispatchEvent(page_first_view);
629
+
630
+ console.log('First Ever Page View of this Page');
631
+ },
632
+ pageRevisit: function(page_seen_count) {
633
+ var eventName = "inbound_analytics_page_revisit";
634
+ var data = { count: page_seen_count,
635
+ time: new Date()
636
+ };
637
+ var page_revisit = new CustomEvent(eventName, {
638
+ detail: data,
639
+ bubbles: true,
640
+ cancelable: true
641
+ }
642
+ );
643
+ window.dispatchEvent(page_revisit);
644
+ this.triggerJQueryEvent(eventName, data);
645
+ console.log('Page Revisit');
646
+ },
647
+ sessionStart: function() {
648
+ var session_start = new CustomEvent("inbound_analytics_session_start");
649
+ window.dispatchEvent(session_start);
650
+ console.log('Session Start');
651
+ },
652
+ sessionActive: function() {
653
+ var session_active = new CustomEvent("inbound_analytics_session_active");
654
+ window.dispatchEvent(session_active);
655
+ console.log('Session Active');
656
+ },
657
+
658
+ };
659
+
660
+ return InboundAnalytics;
661
+
662
+ })(InboundAnalytics || {});
663
+
664
+ var Lead_Globals = jQuery.totalStorage('inbound_lead_data') || null;
665
+ function setGlobalLeadVar(retString){
666
+ Lead_Globals = retString;
667
+ }
668
+
669
+ InboundAnalytics.init(); // run analytics
670
+
671
+ /* run on ready */
672
+ jQuery(document).ready(function($) {
673
+ //record non conversion status
674
+ var in_u = InboundAnalytics.Utils,
675
+ wp_lead_uid = in_u.readCookie("wp_lead_uid"),
676
+ wp_lead_id = in_u.readCookie("wp_lead_id"),
677
+ expire_check = in_u.readCookie("lead_session_expire"); // check for session
678
+
679
+ if (expire_check === null) {
680
+ console.log('expired vistor. Run Processes');
681
+ //var data_to_lookup = global-localized-vars;
682
+ if (typeof (wp_lead_id) != "undefined" && wp_lead_id != null && wp_lead_id != "") {
683
+ /* Get Lead_Globals */
684
+ InboundAnalytics.LeadsAPI.getAllLeadData(expire_check);
685
+ /* Lead list check */
686
+ InboundAnalytics.LeadsAPI.getLeadLists();
687
+ }
688
+ }
689
+
690
+ /* Set Session Timeout */
691
+ InboundAnalytics.Utils.SetSessionTimeout();
692
+
693
+ });
shared/assets/frontend/js/store.lead.ajax-new.js ADDED
@@ -0,0 +1,699 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //
2
+ //var inbound_data = inbound_data || {};
3
+ //// Ensure global _gaq Google Analytics queue has been initialized.
4
+ //var _gaq = _gaq || [];
5
+ //
6
+ //function add_inbound_form_class(el, value) {
7
+ // //var value = value.replace(" ", "_");
8
+ // //var value = value.replace("-", "_");
9
+ // //el.addClass('inbound_map_value');
10
+ // //el.attr('data-inbound-form-map', 'inbound_map_' + value);
11
+ //}
12
+ //// http://clubmate.fi/setting-and-reading-cookies-with-javascript/
13
+ //function createCookie(name, value, days) {
14
+ // var expires;
15
+ // if (days) {
16
+ // var date = new Date();
17
+ // date.setTime(date.getTime()+(days*24*60*60*1000));
18
+ // expires = "; expires="+date.toGMTString();
19
+ // }
20
+ // else {
21
+ // expires = "";
22
+ // }
23
+ // document.cookie = name+"="+value+expires+"; path=/";
24
+ //}
25
+ //// Read cookie
26
+ //function readCookie(name) {
27
+ // var nameEQ = name + "=";
28
+ // var ca = document.cookie.split(';');
29
+ // for(var i=0;i < ca.length;i++) {
30
+ // var c = ca[i];
31
+ // while (c.charAt(0) === ' ') {
32
+ // c = c.substring(1,c.length);
33
+ // }
34
+ // if (c.indexOf(nameEQ) === 0) {
35
+ // return c.substring(nameEQ.length,c.length);
36
+ // }
37
+ // }
38
+ // return null;
39
+ //}
40
+ //// Erase cookie
41
+ //function eraseCookie(name) {
42
+ // createCookie(name,"",-1);
43
+ //}
44
+ //
45
+ ///* Count number of session visits */
46
+ //function countProperties(obj) {
47
+ // var count = 0;
48
+ // for(var prop in obj) {
49
+ // if(obj.hasOwnProperty(prop))
50
+ // ++count;
51
+ // }
52
+ // return count;
53
+ //}
54
+ //
55
+ //
56
+ //function get_inbound_form_value(el) {
57
+ // var value = el.value;
58
+ // return value;
59
+ //}
60
+ //
61
+ //
62
+ //// Build Form Object
63
+ //function inbound_map_fields(el, value, Obj) {
64
+ // var formObj = [];
65
+ // var $this = el;
66
+ // var clean_output = value;
67
+ // var label = $this.closest('label').text();
68
+ // var exclude = ['credit-card']; // exlcude values from formObj
69
+ // var inarray = jQuery.inArray(clean_output, exclude);
70
+ // if(inarray == 0){
71
+ // return null;
72
+ // }
73
+ // // Add items to formObj
74
+ // formObj.push({
75
+ // field_label: label,
76
+ // field_name: $this.attr("name"),
77
+ // field_value: $this.attr("value"),
78
+ // field_id: $this.attr("id"),
79
+ // field_class: $this.attr("class"),
80
+ // field_type: $this.attr("type"),
81
+ // match: clean_output,
82
+ // js_selector: $this.attr("data-js-selector")
83
+ // });
84
+ // return formObj;
85
+ //}
86
+ //
87
+ //// Trim Whitespace
88
+ //function trim(s) {
89
+ // s = s.replace(/(^\s*)|(\s*$)/gi,"");
90
+ // s = s.replace(/[ ]{2,}/gi," ");
91
+ // s = s.replace(/\n /,"\n"); return s;
92
+ //}
93
+ //
94
+ //function inbound_ga_log_event(category, action, label) {
95
+ // _gaq.push(['_trackEvent', category, action, label]);
96
+ //}
97
+ //
98
+ //// Run Form Mapper
99
+ //// TODO check for already processesed fields via in_object_already
100
+ //// check on the dupe value
101
+ //function run_field_map_function(el, lookingfor) {
102
+ // var return_form;
103
+ // var formObj = new Array();
104
+ // var $this = el;
105
+ // var body = jQuery("body");
106
+ // var input_id = $this.attr("id") || "NULL";
107
+ // var input_name = $this.attr("name") || "NULL";
108
+ // var this_val = $this.attr("value");
109
+ // var array = lookingfor.split(",");
110
+ // var array_length = array.length - 1;
111
+ //
112
+ // // Main Loop
113
+ // for (var i = 0; i < array.length; i++) {
114
+ // var clean_output = trim(array[i]);
115
+ // var nice_name = clean_output.replace(/^\s+|\s+$/g,'');
116
+ // var nice_name = nice_name.replace(" ",'_');
117
+ // var in_object_already = nice_name in inbound_data;
118
+ // //console.log(clean_output);
119
+ //
120
+ // // Look for attr name match
121
+ // if (input_name.toLowerCase().indexOf(clean_output)>-1) {
122
+ // var the_map = inbound_map_fields($this, clean_output, formObj);
123
+ // add_inbound_form_class($this, clean_output);
124
+ // console.log('match name: ' + clean_output);
125
+ // console.log(nice_name in inbound_data);
126
+ // if (!in_object_already) {
127
+ // inbound_data[nice_name] = this_val;
128
+ // }
129
+ // }
130
+ // // look for id match
131
+ // else if (input_id.toLowerCase().indexOf(clean_output)>-1) {
132
+ // var the_map = inbound_map_fields($this, clean_output, formObj);
133
+ // add_inbound_form_class($this, clean_output);
134
+ // console.log('match id: ' + clean_output);
135
+ // if (!in_object_already) {
136
+ // inbound_data[nice_name] = this_val;
137
+ // }
138
+ // }
139
+ // // Look for label name match
140
+ // else if ($this.closest('li').children('label').length>0){
141
+ // var closest_label = $this.closest('li').children('label').html() || "NULL";
142
+ // if (closest_label.toLowerCase().indexOf(clean_output)>-1)
143
+ // {
144
+ // var the_map = inbound_map_fields($this, clean_output, formObj);
145
+ // add_inbound_form_class($this, clean_output);
146
+ // console.log($this.context);
147
+ //
148
+ // var exists_in_dom = body.find("[data-inbound-form-map='inbound_map_" + nice_name + "']").length;
149
+ // console.log(exists_in_dom);
150
+ // console.log('match li: ' + clean_output);
151
+ // if (!in_object_already) {
152
+ // inbound_data[nice_name] = this_val;
153
+ // }
154
+ //
155
+ // }
156
+ // }
157
+ // // Look for closest div label name match
158
+ // else if ($this.closest('div').children('label').length>0) {
159
+ // var closest_div = $this.closest('div').children('label').html() || "NULL";
160
+ // if (closest_div.toLowerCase().indexOf(clean_output)>-1)
161
+ // {
162
+ // var the_map = inbound_map_fields($this, clean_output, formObj);
163
+ // add_inbound_form_class($this, clean_output);
164
+ // console.log('match div: ' + clean_output);
165
+ // if (!in_object_already) {
166
+ // inbound_data[nice_name] = this_val;
167
+ // }
168
+ // }
169
+ // }
170
+ // // Look for closest p label name match
171
+ // else if ($this.closest('p').children('label').length>0) {
172
+ // var closest_p = $this.closest('p').children('label').html() || "NULL";
173
+ // if (closest_p.toLowerCase().indexOf(clean_output)>-1)
174
+ // {
175
+ // var the_map = inbound_map_fields($this, clean_output, formObj);
176
+ // add_inbound_form_class($this, clean_output);
177
+ // console.log('match p: ' + clean_output);
178
+ // if (!in_object_already) {
179
+ // inbound_data[nice_name] = this_val;
180
+ // }
181
+ // }
182
+ // } else {
183
+ // console.log('Need additional mapping data');
184
+ // }
185
+ // }
186
+ // return_form = the_map;
187
+ //
188
+ // return inbound_data;
189
+ //}
190
+ //
191
+ //function return_mapped_values(this_form) {
192
+ // // Map form fields
193
+ // jQuery(this_form).find('input[type!="hidden"],textarea,select').each(function() {
194
+ // console.log('run');
195
+ // var this_input = jQuery(this);
196
+ // var this_input_val = this_input.val();
197
+ // if (typeof (this_input_val) != "undefined" && this_input_val != null && this_input_val != "") {
198
+ //var inbound_data = run_field_map_function( this_input, "name, first name, last name, email, e-mail, phone, website, job title, company, tele, address, comment");
199
+ // }
200
+ // return inbound_data;
201
+ // });
202
+ // return inbound_data;
203
+ //}
204
+ //
205
+ //function merge_form_options(obj1,obj2){
206
+ // var obj3 = {};
207
+ // for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
208
+ // for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
209
+ // return obj3;
210
+ //}
211
+ //
212
+ //function release_form_sub(this_form, element_type, form_type){
213
+ // form_type = typeof form_type !== 'undefined' ? form_type : "normal";
214
+ // jQuery('body, button, input, input[type="button"]').css('cursor', 'default');
215
+ // jQuery.totalStorage.deleteItem('inbound_search'); // remove search
216
+ // if (element_type=='FORM') {
217
+ // this_form.unbind('submit');
218
+ // this_form.submit();
219
+ //
220
+ // if (form_type === "comment"){
221
+ // console.log("RELEASE ME");
222
+ // setTimeout(function() {
223
+ // jQuery(".wpl-comment-form").find('[type="submit"]').click();
224
+ // }, 100);
225
+ // }
226
+ // }
227
+ //
228
+ // if (element_type=='A') {
229
+ // this_form.unbind('wpl-track-me');
230
+ // var link = this_form.attr('href');
231
+ // if (link) {
232
+ // window.location = link;
233
+ // } else {
234
+ // location.reload();
235
+ // }
236
+ // }
237
+ //}
238
+ //
239
+ //function set_lead_fallback(data){
240
+ // jQuery.totalStorage('failed_conversion', data); // store failed data
241
+ // jQuery.cookie("failed_conversion", true, { path: '/', expires: 365 });
242
+ // console.log('Set backup lead storage');
243
+ //}
244
+ //
245
+ ///* Check form type */
246
+ //function inbound_form_type(this_form) {
247
+ // var inbound_data = inbound_data || {},
248
+ // form_type = 'normal';
249
+ // if ( this_form.is( ".wpl-comment-form" ) ) {
250
+ // inbound_data['form_type'] = 'comment';
251
+ // form_type = 'comment';
252
+ // } else if ( this_form.is( ".wpl-search-box" ) ) {
253
+ // var is_search = true;
254
+ // form_type = 'search';
255
+ // inbound_data['form_type'] = 'search';
256
+ // } else if ( this_form.is( '.wpl-track-me-link' ) ){
257
+ // var have_email = readCookie('wp_lead_email');
258
+ // console.log(have_email);
259
+ // inbound_data['form_type'] = 'link';
260
+ // form_type = 'search';
261
+ // }
262
+ // return form_type;
263
+ //}
264
+ //
265
+ //function grab_all_form_input_vals(this_form){
266
+ // var post_values = post_values || {},
267
+ // inbound_exclude = inbound_exclude || [],
268
+ // form_inputs = this_form.find('input,textarea,select');
269
+ //inbound_exclude.push('inbound_furl', 'inbound_current_page_url', 'inbound_notify', 'inbound_submitted', 'post_type', 'post_status', 's', 'inbound_form_name', 'inbound_form_id', 'inbound_form_lists');
270
+ // var form_type = inbound_form_type(this_form),
271
+ // inbound_data = inbound_data || {},
272
+ // email = inbound_data['email'] || false;
273
+ //
274
+ // form_inputs.each(function() {
275
+ // var $input = jQuery(this),
276
+ // input_type = $input.attr('type'),
277
+ // input_val = $input.val();
278
+ // if (input_type === 'checkbox') {
279
+ // input_checked = $input.attr("checked");
280
+ // console.log(input_val);
281
+ // console.log(input_checked);
282
+ // console.log(post_values[this.name]);
283
+ // if (input_checked === "checked"){
284
+ // if (typeof (post_values[this.name]) != "undefined") {
285
+ // post_values[this.name] = post_values[this.name] + "," + input_val;
286
+ // console.log(post_values[this.name]);
287
+ // } else {
288
+ // post_values[this.name] = input_val;
289
+ // }
290
+ //
291
+ // }
292
+ // }
293
+ // if (jQuery.inArray(this.name, inbound_exclude) === -1 && input_type != 'checkbox'){
294
+ // post_values[this.name] = input_val;
295
+ // }
296
+ // if (this.value.indexOf('@')>-1&&!email){
297
+ // email = input_val;
298
+ // inbound_data['email'] = email;
299
+ // }
300
+ // if (form_type === 'search') {
301
+ // inbound_data['search_keyword'] = input_val.replace('"', "'");
302
+ // }
303
+ // });
304
+ // var all_form_fields = JSON.stringify(post_values);
305
+ // return all_form_fields;
306
+ //}
307
+ //
308
+ //function inbound_form_submit(this_form, e) {
309
+ // /* Define Variables */
310
+ // var inbound_data = inbound_data || {};
311
+ // // Dynamic JS object for passing custom values. This can be hooked into by third parties by using the below syntax.
312
+ // var pageviewObj = jQuery.totalStorage('page_views');
313
+ // inbound_data['page_view_count'] = countProperties(pageviewObj);
314
+ // inbound_data['leads_list'] = jQuery(this_form).find('#inbound_form_lists').val();
315
+ // inbound_data['source'] = jQuery.cookie("wp_lead_referral_site") || "NA";
316
+ // inbound_data['page_id'] = inbound_ajax.post_id;
317
+ // inbound_data['page_views'] = JSON.stringify(pageviewObj);
318
+ //
319
+ // // Map form fields
320
+ // var returned_form_data = return_mapped_values(this_form); //console.log(returned_form_data);
321
+ // var inbound_data = merge_form_options(inbound_data,returned_form_data); //console.log(inbound_data);
322
+ //
323
+ // // Set variables after mapping
324
+ // inbound_data['email'] = (!inbound_data['email']) ? this_form.find('.inbound-email').val() : inbound_data['email'];
325
+ // inbound_data['form_name'] = this_form.find('.inbound_form_name').val() || "Not Found";
326
+ // inbound_data['form_id'] = this_form.find('.inbound_form_id').val() || "Not Found";
327
+ // inbound_data['first_name'] = (!inbound_data['first_name']) ? inbound_data['name'] : inbound_data['first_name'];
328
+ // inbound_data['last_name'] = inbound_data['last_name'] || '';
329
+ // inbound_data['phone'] = inbound_data['phone'] || '';
330
+ // inbound_data['company'] = inbound_data['company'] || '';
331
+ // inbound_data['address'] = inbound_data['address'] || '';
332
+ //
333
+ // // Fallbacks for values
334
+ //inbound_data['name'] = (inbound_data['first_name'] && inbound_data['last_name']) ? inbound_data['first_name'] + " " + inbound_data['last_name'] : inbound_data['name'];
335
+ //
336
+ // if (!inbound_data['last_name'] && inbound_data['first_name']) {
337
+ // var parts = inbound_data['first_name'].split(" ");
338
+ // inbound_data['first_name'] = parts[0];
339
+ // inbound_data['last_name'] = parts[1];
340
+ // }
341
+ //
342
+ // /* Store form fields & exclude field values */
343
+ // var all_form_fields = grab_all_form_input_vals(this_form);
344
+ // /* end Store form fields & exclude field values */
345
+ //
346
+ // if(inbound_data['email']){
347
+ // createCookie("wp_lead_email", inbound_data['email'], 365); /* set email cookie */
348
+ // }
349
+ //
350
+ // //var variation = (typeof (landing_path_info) != "undefined") ? landing_path_info.variation : false;
351
+ //
352
+ // if (typeof (landing_path_info) != "undefined") {
353
+ // var variation = landing_path_info.variation;
354
+ // } else if (typeof (cta_path_info) != "undefined") {
355
+ // var variation = cta_path_info.variation;
356
+ // } else {
357
+ // var variation = 0;
358
+ // }
359
+ //
360
+ // inbound_data['variation'] = variation;
361
+ // inbound_data['post_type'] = inbound_ajax.post_type;
362
+ // inbound_data['wp_lead_uid'] = jQuery.cookie("wp_lead_uid") || null;
363
+ // inbound_data['ip_address'] = inbound_ajax.ip_address;
364
+ // inbound_data['search_data'] = JSON.stringify(jQuery.totalStorage('inbound_search')) || {};
365
+ //
366
+ // var lp_check = (inbound_ajax.post_type === 'landing-page') ? 'Landing Page' : "";
367
+ // var cta_check = (inbound_ajax.post_type === 'wp-call-to-action') ? 'Call to Action' : "";
368
+ // var page_type = (!cta_check && !lp_check) ? inbound_ajax.post_type : lp_check + cta_check;
369
+ //
370
+ // // jsonify inbound_data
371
+ // var mapped_form_data = JSON.stringify(inbound_data);
372
+ //
373
+ // var data = {};
374
+ // var data = {
375
+ // "action": 'inbound_store_lead',
376
+ // "emailTo": inbound_data['email'],
377
+ // "first_name": inbound_data['first_name'],
378
+ // "last_name": inbound_data['last_name'],
379
+ // "phone": inbound_data['phone'],
380
+ // "address": inbound_data['address'],
381
+ // "company_name": inbound_data['company'],
382
+ // "page_views": inbound_data['page_views'],
383
+ // "form_input_values": all_form_fields,
384
+ // "Mapped_Data": mapped_form_data,
385
+ // "Search_Data": inbound_data['search_data']
386
+ // }
387
+ // return data;
388
+ //}
389
+ //
390
+ //jQuery(document).ready(function($) {
391
+ //
392
+ // var cookies = InboundAnalytics.Utils.getAllCookies();
393
+ // var inbound_store = jQuery.totalStorage('inbound_cookies');
394
+ //
395
+ // // loop through cookies and assign to inbound_data object
396
+ // if (typeof inbound_store =='object' && inbound_store) {
397
+ // for(var name in inbound_store) {
398
+ // if (name.indexOf('utm')>-1) {
399
+ // inbound_data[name] = cookies[name];
400
+ // //console.log( name + " : " + cookies[name] );
401
+ // }
402
+ // }
403
+ // }
404
+ //
405
+ // //console.log(inbound_data);
406
+ // if ( jQuery('.wpl-search-box').length ) {
407
+ // /* Core Inbound Search Tracking Script */
408
+ // jQuery("body").on('submit', '.wpl-search-box', function (e) {
409
+ // var inbound_search_data = jQuery.totalStorage('inbound_search') || {},
410
+ // $this_form = $(this),
411
+ // processed = false;
412
+ // datetime = wplft.track_time;
413
+ // if( $this_form.is(".search-processes") ) {
414
+ // console.log('yep');
415
+ // processed = true;
416
+ //
417
+ // }
418
+ // //return false;
419
+ // $('body, button, input[type="button"], input').css('cursor', 'wait');
420
+ // e.preventDefault();
421
+ // var has_email = readCookie('wp_lead_email');
422
+ // var search_count = countProperties(inbound_search_data);
423
+ // form_inputs = $this_form.find('input[type=text],input[type=search]');
424
+ //
425
+ // form_inputs.each(function(i) {
426
+ // var value = jQuery(this).val().replace('"', "'");
427
+ // inbound_search_data[search_count + 1] = {"value" : value, "date" : datetime};
428
+ // });
429
+ // jQuery.totalStorage('inbound_search', inbound_search_data); // store search history data
430
+ // console.log(JSON.stringify(inbound_search_data));
431
+ //
432
+ // // If no data to id the user exit
433
+ // if (typeof (has_email) != "undefined" && has_email != null && has_email != "" && processed === false) {
434
+ //
435
+ // // store search data and release
436
+ // var data = {};
437
+ // var data = {
438
+ // "action": 'inbound_store_lead_search',
439
+ // "search_data": inbound_search_data,
440
+ // "email": has_email,
441
+ // "date": datetime
442
+ // }
443
+ //
444
+ // //return false;
445
+ // jQuery.ajax({
446
+ // type: 'POST',
447
+ // url: inbound_ajax.admin_url,
448
+ // timeout: 10000,
449
+ // data: data,
450
+ // dataType: 'html',
451
+ // success: function(user_id){
452
+ // $this_form.trigger("inbound_search_form_complete"); // Trigger custom hook
453
+ // $this_form.addClass('search-processed');
454
+ // $this_form.removeClass('wpl-search-box');
455
+ // // Unbind form
456
+ // //release_form_sub($this_form, 'FORM', inbound_data['form_type']);
457
+ //
458
+ // $('body, button, input[type="button"], input').css('cursor', 'default');
459
+ // jQuery.totalStorage.deleteItem('inbound_search'); // remove search
460
+ // console.log("search fired");
461
+ // $this_form.unbind('submit');
462
+ // $this_form.submit();
463
+ // },
464
+ // error: function(MLHttpRequest, textStatus, errorThrown){
465
+ //
466
+ // console.log("failwhale fired");
467
+ // $this_form.unbind('submit');
468
+ // $this_form.submit();
469
+ //
470
+ // }
471
+ // });
472
+ // } else {
473
+ // $this_form.unbind('submit');
474
+ // $this_form.submit();
475
+ // // storage local storage search history
476
+ // jQuery.totalStorage('inbound_search', inbound_search_data); // store search history data
477
+ // }
478
+ //
479
+ //
480
+ // });
481
+ // }
482
+ //
483
+ //
484
+ // /* Core Inbound Form Tracking Script */
485
+ // if ( jQuery('.wpl-track-me').length ) {
486
+ // jQuery("body").on('submit', '.wpl-track-me', function (e) {
487
+ // var inbound_data = inbound_data || {},
488
+ // this_form = jQuery(this),
489
+ // event_type = e.type,
490
+ // is_search = false,
491
+ // form_type = 'normal';
492
+ //
493
+ //
494
+ // inbound_data['form_type'] = inbound_form_type(this_form);
495
+ //
496
+ // element_type = 'FORM';
497
+ //
498
+ // // halt normal form submission
499
+ // $('body, button, input[type="button"], input').css('cursor', 'wait');
500
+ // e.preventDefault();
501
+ //
502
+ // // Email Validation Check
503
+ // var inbound_form_exists = $("#inbound-form-wrapper").length;
504
+ // var email_validation = $(".inbound-email.invalid-email").length;
505
+ // if (email_validation > 0 && inbound_form_exists > 0) {
506
+ // jQuery(".inbound-email.invalid-email").focus();
507
+ // alert("Please enter a valid email address");
508
+ // return false;
509
+ // }
510
+ // $(this_form).trigger("inbound_form_custom_data"); // trigger custom hook
511
+ // data = inbound_form_submit(this_form, e); // big function for processing
512
+ //
513
+ // ajax_fallback = this_form.is('.wpl-ajax-fallback');
514
+ //
515
+ // if (ajax_fallback === true) {
516
+ // console.log('true');
517
+ // this_form.removeClass('wpl-track-me'); // release submit
518
+ // set_lead_fallback(data);
519
+ // console.log('ajax conflict stop process');
520
+ // $('body, button, input[type="button"], input').css('cursor', 'default');
521
+ // var ninja = this_form.is('.ninja-forms-form');
522
+ // var cf7 = this_form.is('.wpcf7-form');
523
+ // if (!ninja && !cf7){
524
+ // release_form_sub( this_form , element_type );
525
+ // }
526
+ // return false;
527
+ // }
528
+ //
529
+ // var inbound_debug = this_form.is('.inbound-debug');
530
+ // if (inbound_debug) {
531
+ // //console.log("Inbound Form Data:"); console.log(post_form_data);
532
+ // //console.log("Raw Field Data:"); console.log(all_form_fields);
533
+ // console.log("Ajax Data:"); console.log(data);
534
+ // return false;
535
+ // }
536
+ //
537
+ // jQuery.ajax({
538
+ // type: 'POST',
539
+ // url: inbound_ajax.admin_url,
540
+ // timeout: 10000,
541
+ // data: data,
542
+ // success: function(user_id){
543
+ // jQuery(this_form).trigger("inbound_form_complete"); // Trigger custom hook
544
+ // createCookie("wp_lead_id", user_id, 365);
545
+ // jQuery.totalStorage('wp_lead_id', user_id);
546
+ //
547
+ //inbound_ga_log_event('Inbound Form Conversions', 'Conversion', "Conversion on '"+ inbound_data['form_name'] + "' form on page '" + document.title + "' on url '" + window.location.href + "'"); // GA push
548
+ // this_form.removeClass('wpl-track-me');
549
+ // // Unbind form
550
+ //
551
+ // release_form_sub(this_form, 'FORM', inbound_data['form_type']);
552
+ //
553
+ // $('body, button, input[type="button"], input').css('cursor', 'default');
554
+ //
555
+ // jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
556
+ // jQuery.totalStorage.deleteItem('tracking_events'); // remove events
557
+ // //jQuery.totalStorage.deleteItem('cta_clicks'); // remove cta
558
+ //
559
+ // },
560
+ // error: function(MLHttpRequest, textStatus, errorThrown){
561
+ // jQuery(this_form).trigger("inbound_form_fail"); // trigger custom hook
562
+ // set_lead_fallback(data); // Create fallback localstorage object
563
+ // console.log('ajax fail'); console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
564
+ // release_form_sub( this_form , element_type ); // release form
565
+ //
566
+ // }
567
+ // });
568
+ //
569
+ // });
570
+ // }
571
+ //
572
+ // /* Core Inbound Link Tracking */
573
+ // if ( jQuery('.wpl-track-me-link').length ) {
574
+ //
575
+ // jQuery("body").on('click', '.wpl-track-me-link', function (e) {
576
+ //
577
+ // this_link = jQuery(this);
578
+ //
579
+ // var element_type='A';
580
+ // var a_href = jQuery(this).attr("href");
581
+ //
582
+ // // process form only once
583
+ // processed = this_link.hasClass('lead_processed');
584
+ // if (processed === true) {
585
+ // return;
586
+ // }
587
+ //
588
+ // form_id = jQuery(this).attr('id');
589
+ // form_class = jQuery(this).attr('class');
590
+ //
591
+ // jQuery(this).css('cursor', 'wait');
592
+ // jQuery('body').css('cursor', 'wait');
593
+ //
594
+ //
595
+ // e.preventDefault(); // halt normal form
596
+ //
597
+ // var pageviewObj = jQuery.totalStorage('page_views');
598
+ // var page_view_count = countProperties(pageviewObj);
599
+ // //console.log("view count" + page_view_count);
600
+ //
601
+ // var wp_lead_uid = jQuery.cookie("wp_lead_uid");
602
+ // var page_views = JSON.stringify(pageviewObj);
603
+ //
604
+ // var page_id = inbound_ajax.post_id;
605
+ // if (typeof (landing_path_info) != "undefined" && landing_path_info != null && landing_path_info != "") {
606
+ // var lp_variation = landing_path_info.variation;
607
+ // } else if (typeof (cta_path_info) != "undefined" && cta_path_info != null && cta_path_info != "") {
608
+ // var lp_variation = cta_path_info.variation;
609
+ // } else {
610
+ // var lp_variation = null;
611
+ // }
612
+ //
613
+ // jQuery.ajax({
614
+ // type: 'POST',
615
+ // url: inbound_ajax.admin_url,
616
+ // timeout: 10000,
617
+ // data: {
618
+ // action: 'inbound_store_lead',
619
+ // wp_lead_uid: wp_lead_uid,
620
+ // page_views: page_views,
621
+ // post_type: inbound_ajax.post_type,
622
+ // variation: lp_variation,
623
+ // page_id: page_id
624
+ // /* Replace with jquery hook
625
+ // do_action('wpl-lead-collection-add-ajax-data');
626
+ // */
627
+ // },
628
+ // success: function(data){
629
+ // // Unbind form
630
+ // release_form_sub(this_link, 'A');
631
+ // //this_link.click();
632
+ // jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
633
+ // jQuery.totalStorage.deleteItem('tracking_events'); // remove events
634
+ // //jQuery.totalStorage.deleteItem('cta_clicks'); // remove cta
635
+ //
636
+ // return true;
637
+ // },
638
+ // error: function(MLHttpRequest, textStatus, errorThrown){
639
+ // console.log(MLHttpRequest+' '+errorThrown+' '+textStatus); // debug
640
+ //
641
+ // // Create fallback localstorage object
642
+ // var conversionObj = new Array();
643
+ // conversionObj.push({
644
+ // action: 'inbound_store_lead',
645
+ // emailTo: email,
646
+ // first_name: firstname,
647
+ // last_name: lastname,
648
+ // wp_lead_uid: wp_lead_uid,
649
+ //
650
+ // page_views: page_views,
651
+ // post_type: inbound_ajax.post_type,
652
+ // variation: lp_variation,
653
+ // // type: 'form-completion',
654
+ // form_input_values : all_form_fields,
655
+ // page_id: page_id
656
+ // });
657
+ //
658
+ // jQuery.totalStorage('failed_conversion', conversionObj); // store failed data
659
+ // jQuery.cookie("failed_conversion", true, { path: '/', expires: 365 });
660
+ //
661
+ // // If fail, cookie form data and ajax submit on next page load
662
+ // console.log('ajax fail');
663
+ // release_form_sub( this_link , element_type );
664
+ //
665
+ // }
666
+ // });
667
+ //
668
+ // });
669
+ // }
670
+ //
671
+ // // gform_confirmation_loaded
672
+ // /* Fallback for lead storage if ajax fails */
673
+ // var failed_conversion = jQuery.cookie("failed_conversion");
674
+ // var fallback_obj = jQuery.totalStorage('failed_conversion');
675
+ //
676
+ // if (typeof (failed_conversion) != "undefined" && failed_conversion == 'true' ) {
677
+ // if (typeof fallback_obj == 'object' && fallback_obj) {
678
+ //
679
+ // jQuery.ajax({
680
+ // type: 'POST',
681
+ // url: inbound_ajax.admin_url,
682
+ // data: fallback_obj,
683
+ // success: function(user_id){
684
+ // console.log('Fallback fired');
685
+ // jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
686
+ // jQuery.totalStorage.deleteItem('tracking_events'); // remove events
687
+ // jQuery.removeCookie("failed_conversion"); // remove failed cookie
688
+ // jQuery.totalStorage.deleteItem('failed_conversion'); // remove failed data
689
+ // },
690
+ // error: function(MLHttpRequest, textStatus, errorThrown){
691
+ // //alert(MLHttpRequest+' '+errorThrown+' '+textStatus);
692
+ // //die();
693
+ // }
694
+ //
695
+ // });
696
+ // }
697
+ // }
698
+ //
699
+ //});
shared/assets/frontend/js/store.lead.ajax.js ADDED
@@ -0,0 +1,700 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ var inbound_data = inbound_data || {};
3
+ // Ensure global _gaq Google Analytics queue has been initialized.
4
+ var _gaq = _gaq || [];
5
+
6
+ function add_inbound_form_class(el, value) {
7
+ //var value = value.replace(" ", "_");
8
+ //var value = value.replace("-", "_");
9
+ //el.addClass('inbound_map_value');
10
+ //el.attr('data-inbound-form-map', 'inbound_map_' + value);
11
+ }
12
+ // http://clubmate.fi/setting-and-reading-cookies-with-javascript/
13
+ function createCookie(name, value, days) {
14
+ var expires;
15
+ if (days) {
16
+ var date = new Date();
17
+ date.setTime(date.getTime()+(days*24*60*60*1000));
18
+ expires = "; expires="+date.toGMTString();
19
+ }
20
+ else {
21
+ expires = "";
22
+ }
23
+ document.cookie = name+"="+value+expires+"; path=/";
24
+ }
25
+ // Read cookie
26
+ function readCookie(name) {
27
+ var nameEQ = name + "=";
28
+ var ca = document.cookie.split(';');
29
+ for(var i=0;i < ca.length;i++) {
30
+ var c = ca[i];
31
+ while (c.charAt(0) === ' ') {
32
+ c = c.substring(1,c.length);
33
+ }
34
+ if (c.indexOf(nameEQ) === 0) {
35
+ return c.substring(nameEQ.length,c.length);
36
+ }
37
+ }
38
+ return null;
39
+ }
40
+ // Erase cookie
41
+ function eraseCookie(name) {
42
+ createCookie(name,"",-1);
43
+ }
44
+
45
+ /* Count number of session visits */
46
+ function countProperties(obj) {
47
+ var count = 0;
48
+ for(var prop in obj) {
49
+ if(obj.hasOwnProperty(prop))
50
+ ++count;
51
+ }
52
+ return count;
53
+ }
54
+
55
+
56
+ function get_inbound_form_value(el) {
57
+ var value = el.value;
58
+ return value;
59
+ }
60
+
61
+
62
+ // Build Form Object
63
+ function inbound_map_fields(el, value, Obj) {
64
+ var formObj = [];
65
+ var $this = el;
66
+ var clean_output = value;
67
+ var label = $this.closest('label').text();
68
+ var exclude = ['credit-card']; // exlcude values from formObj
69
+ var inarray = jQuery.inArray(clean_output, exclude);
70
+ if(inarray == 0){
71
+ return null;
72
+ }
73
+ // Add items to formObj
74
+ formObj.push({
75
+ field_label: label,
76
+ field_name: $this.attr("name"),
77
+ field_value: $this.attr("value"),
78
+ field_id: $this.attr("id"),
79
+ field_class: $this.attr("class"),
80
+ field_type: $this.attr("type"),
81
+ match: clean_output,
82
+ js_selector: $this.attr("data-js-selector")
83
+ });
84
+ return formObj;
85
+ }
86
+
87
+ // Trim Whitespace
88
+ function trim(s) {
89
+ s = s.replace(/(^\s*)|(\s*$)/gi,"");
90
+ s = s.replace(/[ ]{2,}/gi," ");
91
+ s = s.replace(/\n /,"\n"); return s;
92
+ }
93
+
94
+ function inbound_ga_log_event(category, action, label) {
95
+ _gaq.push(['_trackEvent', category, action, label]);
96
+ }
97
+
98
+ // Run Form Mapper
99
+ // TODO check for already processesed fields via in_object_already
100
+ // check on the dupe value
101
+ function run_field_map_function(el, lookingfor) {
102
+ var return_form;
103
+ var formObj = new Array();
104
+ var $this = el;
105
+ var body = jQuery("body");
106
+ var input_id = $this.attr("id") || "NULL";
107
+ var input_name = $this.attr("name") || "NULL";
108
+ var this_val = $this.attr("value");
109
+ var array = lookingfor.split(",");
110
+ var array_length = array.length - 1;
111
+
112
+ // Main Loop
113
+ for (var i = 0; i < array.length; i++) {
114
+ var clean_output = trim(array[i]);
115
+ var nice_name = clean_output.replace(/^\s+|\s+$/g,'');
116
+ var nice_name = nice_name.replace(" ",'_');
117
+ var in_object_already = nice_name in inbound_data;
118
+ //console.log(clean_output);
119
+
120
+ // Look for attr name match
121
+ if (input_name.toLowerCase().indexOf(clean_output)>-1) {
122
+ var the_map = inbound_map_fields($this, clean_output, formObj);
123
+ add_inbound_form_class($this, clean_output);
124
+ console.log('match name: ' + clean_output);
125
+ console.log(nice_name in inbound_data);
126
+ if (!in_object_already) {
127
+ inbound_data[nice_name] = this_val;
128
+ }
129
+ }
130
+ // look for id match
131
+ else if (input_id.toLowerCase().indexOf(clean_output)>-1) {
132
+ var the_map = inbound_map_fields($this, clean_output, formObj);
133
+ add_inbound_form_class($this, clean_output);
134
+ console.log('match id: ' + clean_output);
135
+ if (!in_object_already) {
136
+ inbound_data[nice_name] = this_val;
137
+ }
138
+ }
139
+ // Look for label name match
140
+ else if ($this.closest('li').children('label').length>0){
141
+ var closest_label = $this.closest('li').children('label').html() || "NULL";
142
+ if (closest_label.toLowerCase().indexOf(clean_output)>-1)
143
+ {
144
+ var the_map = inbound_map_fields($this, clean_output, formObj);
145
+ add_inbound_form_class($this, clean_output);
146
+ console.log($this.context);
147
+
148
+ var exists_in_dom = body.find("[data-inbound-form-map='inbound_map_" + nice_name + "']").length;
149
+ console.log(exists_in_dom);
150
+ console.log('match li: ' + clean_output);
151
+ if (!in_object_already) {
152
+ inbound_data[nice_name] = this_val;
153
+ }
154
+
155
+ }
156
+ }
157
+ // Look for closest div label name match
158
+ else if ($this.closest('div').children('label').length>0) {
159
+ var closest_div = $this.closest('div').children('label').html() || "NULL";
160
+ if (closest_div.toLowerCase().indexOf(clean_output)>-1)
161
+ {
162
+ var the_map = inbound_map_fields($this, clean_output, formObj);
163
+ add_inbound_form_class($this, clean_output);
164
+ console.log('match div: ' + clean_output);
165
+ if (!in_object_already) {
166
+ inbound_data[nice_name] = this_val;
167
+ }
168
+ }
169
+ }
170
+ // Look for closest p label name match
171
+ else if ($this.closest('p').children('label').length>0) {
172
+ var closest_p = $this.closest('p').children('label').html() || "NULL";
173
+ if (closest_p.toLowerCase().indexOf(clean_output)>-1)
174
+ {
175
+ var the_map = inbound_map_fields($this, clean_output, formObj);
176
+ add_inbound_form_class($this, clean_output);
177
+ console.log('match p: ' + clean_output);
178
+ if (!in_object_already) {
179
+ inbound_data[nice_name] = this_val;
180
+ }
181
+ }
182
+ } else {
183
+ console.log('Need additional mapping data');
184
+ }
185
+ }
186
+ return_form = the_map;
187
+
188
+ return inbound_data;
189
+ }
190
+
191
+ function return_mapped_values(this_form) {
192
+ // Map form fields
193
+ jQuery(this_form).find('input[type!="hidden"],textarea,select').each(function() {
194
+ console.log('run');
195
+ var this_input = jQuery(this);
196
+ var this_input_val = this_input.val();
197
+ if (typeof (this_input_val) != "undefined" && this_input_val != null && this_input_val != "") {
198
+ var inbound_data = run_field_map_function( this_input, "name, first name, last name, email, e-mail, phone, website, job title, company, tele, address, comment");
199
+ }
200
+ return inbound_data;
201
+ });
202
+ return inbound_data;
203
+ }
204
+
205
+ function merge_form_options(obj1,obj2){
206
+ var obj3 = {};
207
+ for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
208
+ for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
209
+ return obj3;
210
+ }
211
+
212
+ function release_form_sub(this_form, element_type, form_type){
213
+ form_type = typeof form_type !== 'undefined' ? form_type : "normal";
214
+ jQuery('body, button, input, input[type="button"]').css('cursor', 'default');
215
+ jQuery.totalStorage.deleteItem('inbound_search'); // remove search
216
+ if (element_type=='FORM') {
217
+ this_form.unbind('submit');
218
+ this_form.submit();
219
+
220
+ if (form_type === "comment"){
221
+ console.log("RELEASE ME");
222
+ setTimeout(function() {
223
+ jQuery(".wpl-comment-form").find('[type="submit"]').click();
224
+ }, 100);
225
+ }
226
+ }
227
+
228
+ if (element_type=='A') {
229
+ this_form.unbind('wpl-track-me');
230
+ var link = this_form.attr('href');
231
+ if (link) {
232
+ window.location = link;
233
+ } else {
234
+ location.reload();
235
+ }
236
+ }
237
+ }
238
+
239
+ function set_lead_fallback(data){
240
+ jQuery.totalStorage('failed_conversion', data); // store failed data
241
+ jQuery.cookie("failed_conversion", true, { path: '/', expires: 365 });
242
+ console.log('Set backup lead storage');
243
+ }
244
+
245
+ /* Check form type */
246
+ function inbound_form_type(this_form) {
247
+ var inbound_data = inbound_data || {},
248
+ form_type = 'normal';
249
+ if ( this_form.is( ".wpl-comment-form" ) ) {
250
+ inbound_data['form_type'] = 'comment';
251
+ form_type = 'comment';
252
+ } else if ( this_form.is( ".wpl-search-box" ) ) {
253
+ var is_search = true;
254
+ form_type = 'search';
255
+ inbound_data['form_type'] = 'search';
256
+ } else if ( this_form.is( '.wpl-track-me-link' ) ){
257
+ var have_email = readCookie('wp_lead_email');
258
+ console.log(have_email);
259
+ inbound_data['form_type'] = 'link';
260
+ form_type = 'search';
261
+ }
262
+ return form_type;
263
+ }
264
+
265
+ function grab_all_form_input_vals(this_form){
266
+ var post_values = post_values || {},
267
+ inbound_exclude = inbound_exclude || [],
268
+ form_inputs = this_form.find('input,textarea,select');
269
+ inbound_exclude.push('inbound_furl', 'inbound_current_page_url', 'inbound_notify', 'inbound_submitted', 'post_type', 'post_status', 's', 'inbound_form_name', 'inbound_form_id', 'inbound_form_lists');
270
+ var form_type = inbound_form_type(this_form),
271
+ inbound_data = inbound_data || {},
272
+ email = inbound_data['email'] || false;
273
+
274
+ form_inputs.each(function() {
275
+ var $input = jQuery(this),
276
+ input_type = $input.attr('type'),
277
+ input_val = $input.val();
278
+ if (input_type === 'checkbox') {
279
+ input_checked = $input.attr("checked");
280
+ console.log(input_val);
281
+ console.log(input_checked);
282
+ console.log(post_values[this.name]);
283
+ if (input_checked === "checked"){
284
+ if (typeof (post_values[this.name]) != "undefined") {
285
+ post_values[this.name] = post_values[this.name] + "," + input_val;
286
+ console.log(post_values[this.name]);
287
+ } else {
288
+ post_values[this.name] = input_val;
289
+ }
290
+
291
+ }
292
+ }
293
+ if (jQuery.inArray(this.name, inbound_exclude) === -1 && input_type != 'checkbox'){
294
+ post_values[this.name] = input_val;
295
+ }
296
+ if (this.value.indexOf('@')>-1&&!email){
297
+ email = input_val;
298
+ inbound_data['email'] = email;
299
+ }
300
+ if (form_type === 'search') {
301
+ inbound_data['search_keyword'] = input_val.replace('"', "'");
302
+ }
303
+ });
304
+ var all_form_fields = JSON.stringify(post_values);
305
+ return all_form_fields;
306
+ }
307
+
308
+ function inbound_form_submit(this_form, e) {
309
+ /* Define Variables */
310
+ var inbound_data = inbound_data || {};
311
+ // Dynamic JS object for passing custom values. This can be hooked into by third parties by using the below syntax.
312
+ var pageviewObj = jQuery.totalStorage('page_views');
313
+ inbound_data['page_view_count'] = countProperties(pageviewObj);
314
+ inbound_data['leads_list'] = jQuery(this_form).find('#inbound_form_lists').val();
315
+ inbound_data['source'] = jQuery.cookie("wp_lead_referral_site") || "NA";
316
+ inbound_data['page_id'] = inbound_ajax.post_id;
317
+ inbound_data['page_views'] = JSON.stringify(pageviewObj);
318
+
319
+ // Map form fields
320
+ var returned_form_data = return_mapped_values(this_form); //console.log(returned_form_data);
321
+ var inbound_data = merge_form_options(inbound_data,returned_form_data); //console.log(inbound_data);
322
+
323
+ // Set variables after mapping
324
+ inbound_data['email'] = (!inbound_data['email']) ? this_form.find('.inbound-email').val() : inbound_data['email'];
325
+ inbound_data['form_name'] = this_form.find('.inbound_form_name').val() || "Not Found";
326
+ inbound_data['form_id'] = this_form.find('.inbound_form_id').val() || "Not Found";
327
+ inbound_data['first_name'] = (!inbound_data['first_name']) ? inbound_data['name'] : inbound_data['first_name'];
328
+ inbound_data['last_name'] = inbound_data['last_name'] || '';
329
+ inbound_data['phone'] = inbound_data['phone'] || '';
330
+ inbound_data['company'] = inbound_data['company'] || '';
331
+ inbound_data['address'] = inbound_data['address'] || '';
332
+
333
+ // Fallbacks for values
334
+ inbound_data['name'] = (inbound_data['first_name'] && inbound_data['last_name']) ? inbound_data['first_name'] + " " + inbound_data['last_name'] : inbound_data['name'];
335
+
336
+ if (!inbound_data['last_name'] && inbound_data['first_name']) {
337
+ var parts = inbound_data['first_name'].split(" ");
338
+ inbound_data['first_name'] = parts[0];
339
+ inbound_data['last_name'] = parts[1];
340
+ }
341
+
342
+ /* Store form fields & exclude field values */
343
+ var all_form_fields = grab_all_form_input_vals(this_form);
344
+ /* end Store form fields & exclude field values */
345
+
346
+ if(inbound_data['email']){
347
+ createCookie("wp_lead_email", inbound_data['email'], 365); /* set email cookie */
348
+ }
349
+
350
+ //var variation = (typeof (landing_path_info) != "undefined") ? landing_path_info.variation : false;
351
+
352
+ if (typeof (landing_path_info) != "undefined") {
353
+ var variation = landing_path_info.variation;
354
+ } else if (typeof (cta_path_info) != "undefined") {
355
+ var variation = cta_path_info.variation;
356
+ } else {
357
+ var variation = 0;
358
+ }
359
+
360
+ inbound_data['variation'] = variation;
361
+ inbound_data['post_type'] = inbound_ajax.post_type;
362
+ inbound_data['wp_lead_uid'] = jQuery.cookie("wp_lead_uid") || null;
363
+ inbound_data['ip_address'] = inbound_ajax.ip_address;
364
+ inbound_data['search_data'] = JSON.stringify(jQuery.totalStorage('inbound_search')) || {};
365
+
366
+ var lp_check = (inbound_ajax.post_type === 'landing-page') ? 'Landing Page' : "";
367
+ var cta_check = (inbound_ajax.post_type === 'wp-call-to-action') ? 'Call to Action' : "";
368
+ var page_type = (!cta_check && !lp_check) ? inbound_ajax.post_type : lp_check + cta_check;
369
+
370
+ // jsonify inbound_data
371
+ var mapped_form_data = JSON.stringify(inbound_data);
372
+
373
+ var data = {};
374
+ var data = {
375
+ "action": 'inbound_store_lead',
376
+ "emailTo": inbound_data['email'],
377
+ "first_name": inbound_data['first_name'],
378
+ "last_name": inbound_data['last_name'],
379
+ "phone": inbound_data['phone'],
380
+ "address": inbound_data['address'],
381
+ "company_name": inbound_data['company'],
382
+ "page_views": inbound_data['page_views'],
383
+ "form_input_values": all_form_fields,
384
+ "Mapped_Data": mapped_form_data,
385
+ "Search_Data": inbound_data['search_data']
386
+ }
387
+ return data;
388
+ }
389
+
390
+ jQuery(document).ready(function($) {
391
+
392
+ var cookies = InboundAnalytics.Utils.getAllCookies();
393
+ var inbound_store = jQuery.totalStorage('inbound_cookies');
394
+
395
+ // loop through cookies and assign to inbound_data object
396
+ if (typeof inbound_store =='object' && inbound_store) {
397
+ for(var name in inbound_store) {
398
+ if (name.indexOf('utm')>-1) {
399
+ inbound_data[name] = cookies[name];
400
+ //console.log( name + " : " + cookies[name] );
401
+ }
402
+ }
403
+ }
404
+
405
+
406
+ /* Core Inbound Search Tracking Script */
407
+ jQuery("body").on('submit', '.wpl-search-box', function (e) {
408
+ var inbound_search_data = jQuery.totalStorage('inbound_search') || {},
409
+ $this_form = jQuery(this),
410
+ processed = false;
411
+ datetime = wplft.track_time;
412
+ if( $this_form.is(".search-processes") ) {
413
+ console.log('yep');
414
+ processed = true;
415
+
416
+ }
417
+ //return false;
418
+ jQuery('body, button, input[type="button"], input').css('cursor', 'wait');
419
+ e.preventDefault();
420
+ var has_email = readCookie('wp_lead_email');
421
+ var search_count = countProperties(inbound_search_data);
422
+ form_inputs = $this_form.find('input[type=text],input[type=search]');
423
+
424
+ form_inputs.each(function(i) {
425
+ var value = jQuery(this).val().replace('"', "'");
426
+ inbound_search_data[search_count + 1] = {"value" : value, "date" : datetime};
427
+ });
428
+ jQuery.totalStorage('inbound_search', inbound_search_data); // store search history data
429
+ console.log(JSON.stringify(inbound_search_data));
430
+
431
+ // If no data to id the user exit
432
+ if (typeof (has_email) != "undefined" && has_email != null && has_email != "" && processed === false) {
433
+
434
+ // store search data and release
435
+ var data = {};
436
+ var data = {
437
+ "action": 'inbound_store_lead_search',
438
+ "search_data": inbound_search_data,
439
+ "email": has_email,
440
+ "date": datetime
441
+ }
442
+
443
+ //return false;
444
+ jQuery.ajax({
445
+ type: 'POST',
446
+ url: inbound_ajax.admin_url,
447
+ timeout: 10000,
448
+ data: data,
449
+ dataType: 'html',
450
+ success: function(user_id){
451
+ $this_form.trigger("inbound_search_form_complete"); // Trigger custom hook
452
+ $this_form.addClass('search-processed');
453
+ $this_form.removeClass('wpl-search-box');
454
+ // Unbind form
455
+ //release_form_sub($this_form, 'FORM', inbound_data['form_type']);
456
+
457
+ jQuery('body, button, input[type="button"], input').css('cursor', 'default');
458
+ jQuery.totalStorage.deleteItem('inbound_search'); // remove search
459
+ console.log("search fired");
460
+ $this_form.unbind('submit');
461
+ $this_form.submit();
462
+ },
463
+ error: function(MLHttpRequest, textStatus, errorThrown){
464
+
465
+ console.log("failwhale fired");
466
+ $this_form.unbind('submit');
467
+ $this_form.submit();
468
+
469
+ }
470
+ });
471
+ } else {
472
+ $this_form.unbind('submit');
473
+ $this_form.submit();
474
+ // storage local storage search history
475
+ jQuery.totalStorage('inbound_search', inbound_search_data); // store search history data
476
+ }
477
+
478
+
479
+ });
480
+
481
+
482
+ /* Core Inbound Form Tracking Script */
483
+ jQuery("body").on('submit', '.wpl-track-me', function (e) {
484
+ var inbound_data = inbound_data || {},
485
+ this_form = jQuery(this),
486
+ event_type = e.type,
487
+ is_search = false,
488
+ form_type = 'normal',
489
+ honey_pot = this_form.find('.stop_dirty_subs');
490
+ if (honey_pot.length > 0 && honey_pot.val() != "") {
491
+ alert('Get Lost Spam Bot');
492
+ return false;
493
+ }
494
+
495
+ inbound_data['form_type'] = inbound_form_type(this_form);
496
+
497
+ element_type = 'FORM';
498
+
499
+ // halt normal form submission
500
+ jQuery('body, button, input[type="button"], input').css('cursor', 'wait');
501
+ e.preventDefault();
502
+
503
+ // Email Validation Check
504
+ var inbound_form_exists = jQuery("#inbound-form-wrapper").length;
505
+ var email_validation = jQuery(".inbound-email.invalid-email").length;
506
+ if (email_validation > 0 && inbound_form_exists > 0) {
507
+ jQuery(".inbound-email.invalid-email").focus();
508
+ alert("Please enter a valid email address");
509
+ return false;
510
+ }
511
+ jQuery(this_form).trigger("inbound_form_custom_data"); // trigger custom hook
512
+ data = inbound_form_submit(this_form, e); // big function for processing
513
+
514
+ ajax_fallback = this_form.is('.wpl-ajax-fallback');
515
+
516
+ if (ajax_fallback === true) {
517
+ console.log('true');
518
+ this_form.removeClass('wpl-track-me'); // release submit
519
+ set_lead_fallback(data);
520
+ console.log('ajax conflict stop process');
521
+ jQuery('body, button, input[type="button"], input').css('cursor', 'default');
522
+ var ninja = this_form.is('.ninja-forms-form');
523
+ var cf7 = this_form.is('.wpcf7-form');
524
+ if (!ninja && !cf7){
525
+ release_form_sub( this_form , element_type );
526
+ }
527
+ return false;
528
+ }
529
+
530
+ var inbound_debug = this_form.is('.inbound-debug');
531
+ if (inbound_debug) {
532
+ //console.log("Inbound Form Data:"); console.log(post_form_data);
533
+ //console.log("Raw Field Data:"); console.log(all_form_fields);
534
+ console.log("Ajax Data:"); console.log(data);
535
+ return false;
536
+ }
537
+
538
+ jQuery.ajax({
539
+ type: 'POST',
540
+ url: inbound_ajax.admin_url,
541
+ timeout: 10000,
542
+ data: data,
543
+ success: function(user_id){
544
+ jQuery(this_form).trigger("inbound_form_complete"); // Trigger custom hook
545
+ createCookie("wp_lead_id", user_id, 365);
546
+ jQuery.totalStorage('wp_lead_id', user_id);
547
+
548
+ inbound_ga_log_event('Inbound Form Conversions', 'Conversion', "Conversion on '"+ inbound_data['form_name'] + "' form on page '" + document.title + "' on url '" + window.location.href + "'"); // GA push
549
+ this_form.removeClass('wpl-track-me');
550
+ // Unbind form
551
+
552
+ release_form_sub(this_form, 'FORM', inbound_data['form_type']);
553
+
554
+ jQuery('body, button, input[type="button"], input').css('cursor', 'default');
555
+
556
+ jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
557
+ jQuery.totalStorage.deleteItem('tracking_events'); // remove events
558
+ //jQuery.totalStorage.deleteItem('cta_clicks'); // remove cta
559
+
560
+ },
561
+ error: function(MLHttpRequest, textStatus, errorThrown){
562
+ jQuery(this_form).trigger("inbound_form_fail"); // trigger custom hook
563
+ set_lead_fallback(data); // Create fallback localstorage object
564
+ console.log('ajax fail'); console.log(MLHttpRequest+' '+errorThrown+' '+textStatus);
565
+ release_form_sub( this_form , element_type ); // release form
566
+
567
+ }
568
+ });
569
+
570
+ });
571
+
572
+
573
+ /* Core Inbound Link Tracking */
574
+ if ( jQuery('.wpl-track-me-link').length ) {
575
+
576
+ jQuery("body").on('click', '.wpl-track-me-link', function (e) {
577
+
578
+ this_link = jQuery(this);
579
+
580
+ var element_type='A';
581
+ var a_href = jQuery(this).attr("href");
582
+
583
+ // process form only once
584
+ processed = this_link.hasClass('lead_processed');
585
+ if (processed === true) {
586
+ return;
587
+ }
588
+
589
+ form_id = jQuery(this).attr('id');
590
+ form_class = jQuery(this).attr('class');
591
+
592
+ jQuery(this).css('cursor', 'wait');
593
+ jQuery('body').css('cursor', 'wait');
594
+
595
+
596
+ e.preventDefault(); // halt normal form
597
+
598
+ var pageviewObj = jQuery.totalStorage('page_views');
599
+ var page_view_count = countProperties(pageviewObj);
600
+ //console.log("view count" + page_view_count);
601
+
602
+ var wp_lead_uid = jQuery.cookie("wp_lead_uid");
603
+ var page_views = JSON.stringify(pageviewObj);
604
+
605
+ var page_id = inbound_ajax.post_id;
606
+ if (typeof (landing_path_info) != "undefined" && landing_path_info != null && landing_path_info != "") {
607
+ var lp_variation = landing_path_info.variation;
608
+ } else if (typeof (cta_path_info) != "undefined" && cta_path_info != null && cta_path_info != "") {
609
+ var lp_variation = cta_path_info.variation;
610
+ } else {
611
+ var lp_variation = null;
612
+ }
613
+
614
+ jQuery.ajax({
615
+ type: 'POST',
616
+ url: inbound_ajax.admin_url,
617
+ timeout: 10000,
618
+ data: {
619
+ action: 'inbound_store_lead',
620
+ wp_lead_uid: wp_lead_uid,
621
+ page_views: page_views,
622
+ post_type: inbound_ajax.post_type,
623
+ variation: lp_variation,
624
+ page_id: page_id
625
+ /* Replace with jquery hook
626
+ do_action('wpl-lead-collection-add-ajax-data');
627
+ */
628
+ },
629
+ success: function(data){
630
+ // Unbind form
631
+ release_form_sub(this_link, 'A');
632
+ //this_link.click();
633
+ jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
634
+ jQuery.totalStorage.deleteItem('tracking_events'); // remove events
635
+ //jQuery.totalStorage.deleteItem('cta_clicks'); // remove cta
636
+
637
+ return true;
638
+ },
639
+ error: function(MLHttpRequest, textStatus, errorThrown){
640
+ console.log(MLHttpRequest+' '+errorThrown+' '+textStatus); // debug
641
+
642
+ // Create fallback localstorage object
643
+ var conversionObj = new Array();
644
+ conversionObj.push({
645
+ action: 'inbound_store_lead',
646
+ emailTo: email,
647
+ first_name: firstname,
648
+ last_name: lastname,
649
+ wp_lead_uid: wp_lead_uid,
650
+
651
+ page_views: page_views,
652
+ post_type: inbound_ajax.post_type,
653
+ variation: lp_variation,
654
+ // type: 'form-completion',
655
+ form_input_values : all_form_fields,
656
+ page_id: page_id
657
+ });
658
+
659
+ jQuery.totalStorage('failed_conversion', conversionObj); // store failed data
660
+ jQuery.cookie("failed_conversion", true, { path: '/', expires: 365 });
661
+
662
+ // If fail, cookie form data and ajax submit on next page load
663
+ console.log('ajax fail');
664
+ release_form_sub( this_link , element_type );
665
+
666
+ }
667
+ });
668
+
669
+ });
670
+ }
671
+
672
+ // gform_confirmation_loaded
673
+ /* Fallback for lead storage if ajax fails */
674
+ var failed_conversion = jQuery.cookie("failed_conversion");
675
+ var fallback_obj = jQuery.totalStorage('failed_conversion');
676
+
677
+ if (typeof (failed_conversion) != "undefined" && failed_conversion == 'true' ) {
678
+ if (typeof fallback_obj == 'object' && fallback_obj) {
679
+
680
+ jQuery.ajax({
681
+ type: 'POST',
682
+ url: inbound_ajax.admin_url,
683
+ data: fallback_obj,
684
+ success: function(user_id){
685
+ console.log('Fallback fired');
686
+ jQuery.totalStorage.deleteItem('page_views'); // remove pageviews
687
+ jQuery.totalStorage.deleteItem('tracking_events'); // remove events
688
+ jQuery.removeCookie("failed_conversion"); // remove failed cookie
689
+ jQuery.totalStorage.deleteItem('failed_conversion'); // remove failed data
690
+ },
691
+ error: function(MLHttpRequest, textStatus, errorThrown){
692
+ //alert(MLHttpRequest+' '+errorThrown+' '+textStatus);
693
+ //die();
694
+ }
695
+
696
+ });
697
+ }
698
+ }
699
+
700
+ });
shared/assets/{fonts → global/fonts}/fontawesome/FontAwesome.otf RENAMED
File without changes
shared/assets/{fonts → global/fonts}/fontawesome/README.md RENAMED
File without changes
shared/assets/{fonts → global/fonts}/fontawesome/fontawesome-webfont.eot RENAMED
File without changes
shared/assets/global/fonts/fontawesome/fontawesome-webfont.eot~HEAD ADDED
Binary file
shared/assets/global/fonts/fontawesome/fontawesome-webfont.svg ADDED
@@ -0,0 +1,414 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 xmlns="http://www.w3.org/2000/svg">
4
+ <metadata></metadata>
5
+ <defs>
6
+ <font id="fontawesomeregular" horiz-adv-x="1536" >
7
+ <font-face units-per-em="1792" ascent="1536" descent="-256" />
8
+ <missing-glyph horiz-adv-x="448" />
9
+ <glyph unicode=" " horiz-adv-x="448" />
10
+ <glyph unicode="&#x09;" horiz-adv-x="448" />
11
+ <glyph unicode="&#xa0;" horiz-adv-x="448" />
12
+ <glyph unicode="&#xa8;" horiz-adv-x="1792" />
13
+ <glyph unicode="&#xa9;" horiz-adv-x="1792" />
14
+ <glyph unicode="&#xae;" horiz-adv-x="1792" />
15
+ <glyph unicode="&#xb4;" horiz-adv-x="1792" />
16
+ <glyph unicode="&#xc6;" horiz-adv-x="1792" />
17
+ <glyph unicode="&#x2000;" horiz-adv-x="768" />
18
+ <glyph unicode="&#x2001;" />
19
+ <glyph unicode="&#x2002;" horiz-adv-x="768" />
20
+ <glyph unicode="&#x2003;" />
21
+ <glyph unicode="&#x2004;" horiz-adv-x="512" />
22
+ <glyph unicode="&#x2005;" horiz-adv-x="384" />
23
+ <glyph unicode="&#x2006;" horiz-adv-x="256" />
24
+ <glyph unicode="&#x2007;" horiz-adv-x="256" />
25
+ <glyph unicode="&#x2008;" horiz-adv-x="192" />
26
+ <glyph unicode="&#x2009;" horiz-adv-x="307" />
27
+ <glyph unicode="&#x200a;" horiz-adv-x="85" />
28
+ <glyph unicode="&#x202f;" horiz-adv-x="307" />
29
+ <glyph unicode="&#x205f;" horiz-adv-x="384" />
30
+ <glyph unicode="&#x2122;" horiz-adv-x="1792" />
31
+ <glyph unicode="&#x221e;" horiz-adv-x="1792" />
32
+ <glyph unicode="&#x2260;" horiz-adv-x="1792" />
33
+ <glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
34
+ <glyph unicode="&#xf000;" horiz-adv-x="1792" 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" />
35
+ <glyph unicode="&#xf001;" 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 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" />
36
+ <glyph unicode="&#xf002;" horiz-adv-x="1664" 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 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
37
+ <glyph unicode="&#xf003;" horiz-adv-x="1792" 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 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 M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
38
+ <glyph unicode="&#xf004;" horiz-adv-x="1792" 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 q-18 -18 -44 -18z" />
39
+ <glyph unicode="&#xf005;" horiz-adv-x="1664" 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 l502 -73q56 -9 56 -46z" />
40
+ <glyph unicode="&#xf006;" horiz-adv-x="1664" 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 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
41
+ <glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -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" />
42
+ <glyph unicode="&#xf008;" horiz-adv-x="1920" 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 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 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 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 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" />
43
+ <glyph unicode="&#xf009;" horiz-adv-x="1664" 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 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" />
44
+ <glyph unicode="&#xf00a;" horiz-adv-x="1792" 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 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 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 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" />
45
+ <glyph unicode="&#xf00b;" horiz-adv-x="1792" 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 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 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" />
46
+ <glyph unicode="&#xf00c;" horiz-adv-x="1792" 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" />
47
+ <glyph unicode="&#xf00d;" horiz-adv-x="1408" 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 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
48
+ <glyph unicode="&#xf00e;" horiz-adv-x="1664" 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 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 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" />
49
+ <glyph unicode="&#xf010;" horiz-adv-x="1664" 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 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 " />
50
+ <glyph unicode="&#xf011;" 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 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" />
51
+ <glyph unicode="&#xf012;" horiz-adv-x="1792" 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 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" />
52
+ <glyph unicode="&#xf013;" 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 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 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 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
53
+ <glyph unicode="&#xf014;" horiz-adv-x="1408" 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 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 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" />
54
+ <glyph unicode="&#xf015;" horiz-adv-x="1664" 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 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
55
+ <glyph unicode="&#xf016;" horiz-adv-x="1280" d="M128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280zM768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z " />
56
+ <glyph unicode="&#xf017;" 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 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" />
57
+ <glyph unicode="&#xf018;" horiz-adv-x="1920" 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 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" />
58
+ <glyph unicode="&#xf019;" horiz-adv-x="1664" 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 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" />
59
+ <glyph unicode="&#xf01a;" 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 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" />
60
+ <glyph unicode="&#xf01b;" 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 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" />
61
+ <glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -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 q25 -61 25 -123z" />
62
+ <glyph unicode="&#xf01d;" 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 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" />
63
+ <glyph unicode="&#xf01e;" 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 12q14 0 25 -9 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" />
64
+ <glyph unicode="&#xf021;" 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 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 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
65
+ <glyph unicode="&#xf022;" horiz-adv-x="1792" 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 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 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 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 t47 -113z" />
66
+ <glyph unicode="&#xf023;" horiz-adv-x="1152" 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" />
67
+ <glyph unicode="&#xf024;" horiz-adv-x="1792" 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 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" />
68
+ <glyph unicode="&#xf025;" horiz-adv-x="1664" 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 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 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
69
+ <glyph unicode="&#xf026;" horiz-adv-x="768" 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" />
70
+ <glyph unicode="&#xf027;" horiz-adv-x="1152" 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 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
71
+ <glyph unicode="&#xf028;" horiz-adv-x="1664" 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 35.5 t12 57t-12 57t-29 35.5t-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 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 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" />
72
+ <glyph unicode="&#xf029;" horiz-adv-x="1408" 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 M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
73
+ <glyph unicode="&#xf02a;" horiz-adv-x="1792" 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 M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
74
+ <glyph unicode="&#xf02b;" 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 l715 -714q37 -39 37 -91z" />
75
+ <glyph unicode="&#xf02c;" horiz-adv-x="1920" 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 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" />
76
+ <glyph unicode="&#xf02d;" horiz-adv-x="1664" 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 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 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 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" />
77
+ <glyph unicode="&#xf02e;" horiz-adv-x="1280" 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" />
78
+ <glyph unicode="&#xf02f;" horiz-adv-x="1664" 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 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" />
79
+ <glyph unicode="&#xf030;" horiz-adv-x="1920" 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 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" />
80
+ <glyph unicode="&#xf031;" horiz-adv-x="1664" d="M725 977l-170 -450q73 -1 153.5 -2t119 -1.5t52.5 -0.5l29 2q-32 95 -92 241q-53 132 -92 211zM21 -128h-21l2 79q22 7 80 18q89 16 110 31q20 16 48 68l237 616l280 724h75h53l11 -21l205 -480q103 -242 124 -297q39 -102 96 -235q26 -58 65 -164q24 -67 65 -149 q22 -49 35 -57q22 -19 69 -23q47 -6 103 -27q6 -39 6 -57q0 -14 -1 -26q-80 0 -192 8q-93 8 -189 8q-79 0 -135 -2l-200 -11l-58 -2q0 45 4 78l131 28q56 13 68 23q12 12 12 27t-6 32l-47 114l-92 228l-450 2q-29 -65 -104 -274q-23 -64 -23 -84q0 -31 17 -43 q26 -21 103 -32q3 0 13.5 -2t30 -5t40.5 -6q1 -28 1 -58q0 -17 -2 -27q-66 0 -349 20l-48 -8q-81 -14 -167 -14z" />
81
+ <glyph unicode="&#xf032;" horiz-adv-x="1408" d="M555 15q76 -32 140 -32q131 0 216 41t122 113q38 70 38 181q0 114 -41 180q-58 94 -141 126q-80 32 -247 32q-74 0 -101 -10v-144l-1 -173l3 -270q0 -15 12 -44zM541 761q43 -7 109 -7q175 0 264 65t89 224q0 112 -85 187q-84 75 -255 75q-52 0 -130 -13q0 -44 2 -77 q7 -122 6 -279l-1 -98q0 -43 1 -77zM0 -128l2 94q45 9 68 12q77 12 123 31q17 27 21 51q9 66 9 194l-2 497q-5 256 -9 404q-1 87 -11 109q-1 4 -12 12q-18 12 -69 15q-30 2 -114 13l-4 83l260 6l380 13l45 1q5 0 14 0.5t14 0.5q1 0 21.5 -0.5t40.5 -0.5h74q88 0 191 -27 q43 -13 96 -39q57 -29 102 -76q44 -47 65 -104t21 -122q0 -70 -32 -128t-95 -105q-26 -20 -150 -77q177 -41 267 -146q92 -106 92 -236q0 -76 -29 -161q-21 -62 -71 -117q-66 -72 -140 -108q-73 -36 -203 -60q-82 -15 -198 -11l-197 4q-84 2 -298 -11q-33 -3 -272 -11z" />
82
+ <glyph unicode="&#xf033;" horiz-adv-x="1024" d="M0 -126l17 85q4 1 77 20q76 19 116 39q29 37 41 101l27 139l56 268l12 64q8 44 17 84.5t16 67t12.5 46.5t9 30.5t3.5 11.5l29 157l16 63l22 135l8 50v38q-41 22 -144 28q-28 2 -38 4l19 103l317 -14q39 -2 73 -2q66 0 214 9q33 2 68 4.5t36 2.5q-2 -19 -6 -38 q-7 -29 -13 -51q-55 -19 -109 -31q-64 -16 -101 -31q-12 -31 -24 -88q-9 -44 -13 -82q-44 -199 -66 -306l-61 -311l-38 -158l-43 -235l-12 -45q-2 -7 1 -27q64 -15 119 -21q36 -5 66 -10q-1 -29 -7 -58q-7 -31 -9 -41q-18 0 -23 -1q-24 -2 -42 -2q-9 0 -28 3q-19 4 -145 17 l-198 2q-41 1 -174 -11q-74 -7 -98 -9z" />
83
+ <glyph unicode="&#xf034;" horiz-adv-x="1792" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l215 -1h293l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -42.5 2t-103.5 -1t-111 -1 q-34 0 -67 -5q-10 -97 -8 -136l1 -152v-332l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-88 0 -233 -14q-48 -4 -70 -4q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q8 192 6 433l-5 428q-1 62 -0.5 118.5t0.5 102.5t-2 57t-6 15q-6 5 -14 6q-38 6 -148 6q-43 0 -100 -13.5t-73 -24.5q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1744 128q33 0 42 -18.5t-11 -44.5 l-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-1024h80z" />
84
+ <glyph unicode="&#xf035;" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l446 -1h318l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -58.5 2t-138.5 -1t-128 -1 q-94 0 -127 -5q-10 -97 -8 -136l1 -152v52l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-82 0 -233 -13q-45 -5 -70 -5q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q6 137 6 433l-5 44q0 265 -2 278q-2 11 -6 15q-6 5 -14 6q-38 6 -148 6q-50 0 -168.5 -14t-132.5 -24q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1505 113q26 -20 26 -49t-26 -49l-162 -126 q-26 -20 -44.5 -11t-18.5 42v80h-1024v-80q0 -33 -18.5 -42t-44.5 11l-162 126q-26 20 -26 49t26 49l162 126q26 20 44.5 11t18.5 -42v-80h1024v80q0 33 18.5 42t44.5 -11z" />
85
+ <glyph unicode="&#xf036;" horiz-adv-x="1792" 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 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" />
86
+ <glyph unicode="&#xf037;" horiz-adv-x="1792" 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 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" />
87
+ <glyph unicode="&#xf038;" horiz-adv-x="1792" 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 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" />
88
+ <glyph unicode="&#xf039;" horiz-adv-x="1792" 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 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" />
89
+ <glyph unicode="&#xf03a;" horiz-adv-x="1792" 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 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 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 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 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
90
+ <glyph unicode="&#xf03b;" horiz-adv-x="1792" 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 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 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" />
91
+ <glyph unicode="&#xf03c;" horiz-adv-x="1792" 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 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 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" />
92
+ <glyph unicode="&#xf03d;" horiz-adv-x="1792" 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 q39 -17 39 -59z" />
93
+ <glyph unicode="&#xf03e;" horiz-adv-x="1920" 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 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" />
94
+ <glyph unicode="&#xf040;" 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 q53 0 91 -38l235 -234q37 -39 37 -91z" />
95
+ <glyph unicode="&#xf041;" horiz-adv-x="1024" 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" />
96
+ <glyph unicode="&#xf042;" 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" />
97
+ <glyph unicode="&#xf043;" horiz-adv-x="1024" 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 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" />
98
+ <glyph unicode="&#xf044;" horiz-adv-x="1792" 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 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 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
99
+ <glyph unicode="&#xf045;" horiz-adv-x="1664" 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 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 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" />
100
+ <glyph unicode="&#xf046;" horiz-adv-x="1664" 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 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 q24 -24 24 -57t-24 -57z" />
101
+ <glyph unicode="&#xf047;" horiz-adv-x="1792" 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 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" />
102
+ <glyph unicode="&#xf048;" horiz-adv-x="1024" 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 11 13 19z" />
103
+ <glyph unicode="&#xf049;" horiz-adv-x="1792" 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 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
104
+ <glyph unicode="&#xf04a;" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
105
+ <glyph unicode="&#xf04b;" horiz-adv-x="1408" 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" />
106
+ <glyph unicode="&#xf04c;" 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" />
107
+ <glyph unicode="&#xf04d;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
108
+ <glyph unicode="&#xf04e;" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
109
+ <glyph unicode="&#xf050;" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
110
+ <glyph unicode="&#xf051;" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
111
+ <glyph unicode="&#xf052;" horiz-adv-x="1538" 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" />
112
+ <glyph unicode="&#xf053;" horiz-adv-x="1152" d="M742 -37l-652 651q-37 37 -37 90.5t37 90.5l652 651q37 37 90.5 37t90.5 -37l75 -75q37 -37 37 -90.5t-37 -90.5l-486 -486l486 -485q37 -38 37 -91t-37 -90l-75 -75q-37 -37 -90.5 -37t-90.5 37z" />
113
+ <glyph unicode="&#xf054;" horiz-adv-x="1152" d="M1099 704q0 -52 -37 -91l-652 -651q-37 -37 -90 -37t-90 37l-76 75q-37 39 -37 91q0 53 37 90l486 486l-486 485q-37 39 -37 91q0 53 37 90l76 75q36 38 90 38t90 -38l652 -651q37 -37 37 -90z" />
114
+ <glyph unicode="&#xf055;" 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 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" />
115
+ <glyph unicode="&#xf056;" 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 t103 -385.5z" />
116
+ <glyph unicode="&#xf057;" 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 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" />
117
+ <glyph unicode="&#xf058;" 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 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
118
+ <glyph unicode="&#xf059;" 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 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 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
119
+ <glyph unicode="&#xf05a;" 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 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" />
120
+ <glyph unicode="&#xf05b;" 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 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 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" />
121
+ <glyph unicode="&#xf05c;" 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 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 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
122
+ <glyph unicode="&#xf05d;" 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 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" />
123
+ <glyph unicode="&#xf05e;" 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 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
124
+ <glyph unicode="&#xf060;" 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 t32.5 -90.5z" />
125
+ <glyph unicode="&#xf061;" 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" />
126
+ <glyph unicode="&#xf062;" horiz-adv-x="1664" 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 q37 -39 37 -91z" />
127
+ <glyph unicode="&#xf063;" horiz-adv-x="1664" 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" />
128
+ <glyph unicode="&#xf064;" horiz-adv-x="1792" 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 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" />
129
+ <glyph unicode="&#xf065;" 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 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" />
130
+ <glyph unicode="&#xf066;" 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 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" />
131
+ <glyph unicode="&#xf067;" horiz-adv-x="1408" 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" />
132
+ <glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
133
+ <glyph unicode="&#xf069;" horiz-adv-x="1664" 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 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" />
134
+ <glyph unicode="&#xf06a;" 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 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" />
135
+ <glyph unicode="&#xf06b;" 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 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 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
136
+ <glyph unicode="&#xf06c;" horiz-adv-x="1792" 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 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-30 0 -51 11t-31 24t-27 42q-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 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" />
137
+ <glyph unicode="&#xf06d;" horiz-adv-x="1408" 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 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" />
138
+ <glyph unicode="&#xf06e;" horiz-adv-x="1792" 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 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" />
139
+ <glyph unicode="&#xf070;" horiz-adv-x="1792" 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 q-105 -188 -315 -566t-316 -567l-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 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 " />
140
+ <glyph unicode="&#xf071;" horiz-adv-x="1792" 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 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" />
141
+ <glyph unicode="&#xf072;" horiz-adv-x="1408" 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 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" />
142
+ <glyph unicode="&#xf073;" horiz-adv-x="1664" 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 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 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 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
143
+ <glyph unicode="&#xf074;" horiz-adv-x="1792" 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 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 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 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
144
+ <glyph unicode="&#xf075;" horiz-adv-x="1792" 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 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
145
+ <glyph unicode="&#xf076;" 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 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" />
146
+ <glyph unicode="&#xf077;" horiz-adv-x="1664" d="M1611 320q0 -53 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-486 485l-486 -485q-36 -38 -90 -38t-90 38l-75 75q-38 36 -38 90q0 53 38 91l651 651q37 37 90 37q52 0 91 -37l650 -651q38 -38 38 -91z" />
147
+ <glyph unicode="&#xf078;" horiz-adv-x="1664" d="M1611 832q0 -53 -37 -90l-651 -651q-38 -38 -91 -38q-54 0 -90 38l-651 651q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l486 -486l486 486q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
148
+ <glyph unicode="&#xf079;" horiz-adv-x="1920" 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 -11 7 -21 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 " />
149
+ <glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 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.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.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 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.5 t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
150
+ <glyph unicode="&#xf07b;" horiz-adv-x="1664" 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" />
151
+ <glyph unicode="&#xf07c;" horiz-adv-x="1920" 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 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
152
+ <glyph unicode="&#xf07d;" horiz-adv-x="768" 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" />
153
+ <glyph unicode="&#xf07e;" horiz-adv-x="1792" 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" />
154
+ <glyph unicode="&#xf080;" horiz-adv-x="1920" d="M512 512v-384h-256v384h256zM896 1024v-896h-256v896h256zM1280 768v-640h-256v640h256zM1664 1152v-1024h-256v1024h256zM1792 32v1216q0 13 -9.5 22.5t-22.5 9.5h-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.5z M1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
155
+ <glyph unicode="&#xf081;" 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 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 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
156
+ <glyph unicode="&#xf082;" d="M1307 618l23 219h-198v109q0 49 15.5 68.5t71.5 19.5h110v219h-175q-152 0 -218 -72t-66 -213v-131h-131v-219h131v-635h262v635h175zM1536 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 q119 0 203.5 -84.5t84.5 -203.5z" />
157
+ <glyph unicode="&#xf083;" horiz-adv-x="1792" 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 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 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
158
+ <glyph unicode="&#xf084;" horiz-adv-x="1792" 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 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 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
159
+ <glyph unicode="&#xf085;" horiz-adv-x="1920" 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 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 -10 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 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 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 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 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 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 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 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
160
+ <glyph unicode="&#xf086;" horiz-adv-x="1792" 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 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 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" />
161
+ <glyph unicode="&#xf087;" 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 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 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 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" />
162
+ <glyph unicode="&#xf088;" 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 32 18 69t-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 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 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 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 -74 49 -163z" />
163
+ <glyph unicode="&#xf089;" horiz-adv-x="896" 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" />
164
+ <glyph unicode="&#xf08a;" horiz-adv-x="1792" 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 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 q224 0 351 -124t127 -344z" />
165
+ <glyph unicode="&#xf08b;" horiz-adv-x="1664" 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 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" />
166
+ <glyph unicode="&#xf08c;" 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 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" />
167
+ <glyph unicode="&#xf08d;" horiz-adv-x="1152" 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 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
168
+ <glyph unicode="&#xf08e;" horiz-adv-x="1792" 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 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" />
169
+ <glyph unicode="&#xf090;" 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 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" />
170
+ <glyph unicode="&#xf091;" horiz-adv-x="1664" 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 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 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
171
+ <glyph unicode="&#xf092;" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-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.5t-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 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-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" />
172
+ <glyph unicode="&#xf093;" horiz-adv-x="1664" 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 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" />
173
+ <glyph unicode="&#xf094;" 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 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 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 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
174
+ <glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 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 -174 q2 -1 19 -11.5t24 -14t20.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" />
175
+ <glyph unicode="&#xf096;" horiz-adv-x="1408" 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 q119 0 203.5 -84.5t84.5 -203.5z" />
176
+ <glyph unicode="&#xf097;" horiz-adv-x="1280" 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 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
177
+ <glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 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.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.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" />
178
+ <glyph unicode="&#xf099;" horiz-adv-x="1664" 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 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" />
179
+ <glyph unicode="&#xf09a;" horiz-adv-x="768" d="M511 980h257l-30 -284h-227v-824h-341v824h-170v284h170v171q0 182 86 275.5t283 93.5h227v-284h-142q-39 0 -62.5 -6.5t-34 -23.5t-13.5 -34.5t-3 -49.5v-142z" />
180
+ <glyph unicode="&#xf09b;" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -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.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
181
+ <glyph unicode="&#xf09c;" horiz-adv-x="1664" 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 t316.5 -131.5t131.5 -316.5z" />
182
+ <glyph unicode="&#xf09d;" horiz-adv-x="1920" 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 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
183
+ <glyph unicode="&#xf09e;" horiz-adv-x="1408" 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 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 q187 -186 294 -425.5t120 -501.5z" />
184
+ <glyph unicode="&#xf0a0;" 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 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 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
185
+ <glyph unicode="&#xf0a1;" horiz-adv-x="1792" 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 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" />
186
+ <glyph unicode="&#xf0a2;" horiz-adv-x="1664" d="M848 -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 16zM183 128h1298q-164 181 -246.5 411.5t-82.5 484.5q0 256 -320 256t-320 -256q0 -254 -82.5 -484.5t-246.5 -411.5zM1664 128q0 -52 -38 -90t-90 -38 h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
187
+ <glyph unicode="&#xf0a3;" 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 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 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
188
+ <glyph unicode="&#xf0a4;" horiz-adv-x="1792" 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 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 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 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
189
+ <glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-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-576 q-50 0 -89 -38.5t-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 -45 t45 -19t45 19t19 45zM1792 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 128 q0 122 81.5 189t206.5 67q38 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" />
190
+ <glyph unicode="&#xf0a6;" 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 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 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 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
191
+ <glyph unicode="&#xf0a7;" 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 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 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 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" />
192
+ <glyph unicode="&#xf0a8;" 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 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" />
193
+ <glyph unicode="&#xf0a9;" 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 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" />
194
+ <glyph unicode="&#xf0aa;" 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 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" />
195
+ <glyph unicode="&#xf0ab;" 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 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" />
196
+ <glyph unicode="&#xf0ac;" 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 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 10.5t-9.5 10.5q-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 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 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 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 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 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 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 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 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 -10t17 -20q5 -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 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 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 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 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 -2q7 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 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 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" />
197
+ <glyph unicode="&#xf0ad;" horiz-adv-x="1664" 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 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" />
198
+ <glyph unicode="&#xf0ae;" horiz-adv-x="1792" 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 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" />
199
+ <glyph unicode="&#xf0b0;" horiz-adv-x="1408" 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" />
200
+ <glyph unicode="&#xf0b1;" horiz-adv-x="1792" 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 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
201
+ <glyph unicode="&#xf0b2;" 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 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 " />
202
+ <glyph unicode="&#xf0c0;" horiz-adv-x="1920" 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 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 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 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
203
+ <glyph unicode="&#xf0c1;" horiz-adv-x="1664" 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 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 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 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
204
+ <glyph unicode="&#xf0c2;" horiz-adv-x="1920" 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 " />
205
+ <glyph unicode="&#xf0c3;" horiz-adv-x="1664" 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" />
206
+ <glyph unicode="&#xf0c4;" horiz-adv-x="1792" 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 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 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 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 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
207
+ <glyph unicode="&#xf0c5;" horiz-adv-x="1792" 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 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" />
208
+ <glyph unicode="&#xf0c6;" horiz-adv-x="1408" 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 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 z" />
209
+ <glyph unicode="&#xf0c7;" 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 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" />
210
+ <glyph unicode="&#xf0c8;" 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" />
211
+ <glyph unicode="&#xf0c9;" 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 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
212
+ <glyph unicode="&#xf0ca;" horiz-adv-x="1792" 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 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 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" />
213
+ <glyph unicode="&#xf0cb;" horiz-adv-x="1792" 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 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 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 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-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" />
214
+ <glyph unicode="&#xf0cc;" horiz-adv-x="1792" 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 97 -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 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 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 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" />
215
+ <glyph unicode="&#xf0cd;" 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 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 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 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
216
+ <glyph unicode="&#xf0ce;" horiz-adv-x="1664" 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 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 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 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 z" />
217
+ <glyph unicode="&#xf0d0;" horiz-adv-x="1664" 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 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" />
218
+ <glyph unicode="&#xf0d1;" horiz-adv-x="1792" 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 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 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" />
219
+ <glyph unicode="&#xf0d2;" 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 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 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" />
220
+ <glyph unicode="&#xf0d3;" 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 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 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" />
221
+ <glyph unicode="&#xf0d4;" d="M678 -57q0 -38 -10 -71h-380q-95 0 -171.5 56.5t-103.5 147.5q24 45 69 77.5t100 49.5t107 24t107 7q32 0 49 -2q6 -4 30.5 -21t33 -23t31 -23t32 -25.5t27.5 -25.5t26.5 -29.5t21 -30.5t17.5 -34.5t9.5 -36t4.5 -40.5zM385 294q-234 -7 -385 -85v433q103 -118 273 -118 q32 0 70 5q-21 -61 -21 -86q0 -67 63 -149zM558 805q0 -100 -43.5 -160.5t-140.5 -60.5q-51 0 -97 26t-78 67.5t-56 93.5t-35.5 104t-11.5 99q0 96 51.5 165t144.5 69q66 0 119 -41t84 -104t47 -130t16 -128zM1536 896v-736q0 -119 -84.5 -203.5t-203.5 -84.5h-468 q39 73 39 157q0 66 -22 122.5t-55.5 93t-72 71t-72 59.5t-55.5 54.5t-22 59.5q0 36 23 68t56 61.5t65.5 64.5t55.5 93t23 131t-26.5 145.5t-75.5 118.5q-6 6 -14 11t-12.5 7.5t-10 9.5t-10.5 17h135l135 64h-437q-138 0 -244.5 -38.5t-182.5 -133.5q0 126 81 213t207 87h960 q119 0 203.5 -84.5t84.5 -203.5v-96h-256v256h-128v-256h-256v-128h256v-256h128v256h256z" />
222
+ <glyph unicode="&#xf0d5;" horiz-adv-x="1664" d="M876 71q0 21 -4.5 40.5t-9.5 36t-17.5 34.5t-21 30.5t-26.5 29.5t-27.5 25.5t-32 25.5t-31 23t-33 23t-30.5 21q-17 2 -50 2q-54 0 -106 -7t-108 -25t-98 -46t-69 -75t-27 -107q0 -68 35.5 -121.5t93 -84t120.5 -45.5t127 -15q59 0 112.5 12.5t100.5 39t74.5 73.5 t27.5 110zM756 933q0 60 -16.5 127.5t-47 130.5t-84 104t-119.5 41q-93 0 -144 -69t-51 -165q0 -47 11.5 -99t35.5 -104t56 -93.5t78 -67.5t97 -26q97 0 140.5 60.5t43.5 160.5zM625 1408h437l-135 -79h-135q71 -45 110 -126t39 -169q0 -74 -23 -131.5t-56 -92.5t-66 -64.5 t-56 -61t-23 -67.5q0 -26 16.5 -51t43 -48t58.5 -48t64 -55.5t58.5 -66t43 -85t16.5 -106.5q0 -160 -140 -282q-152 -131 -420 -131q-59 0 -119.5 10t-122 33.5t-108.5 58t-77 89t-30 121.5q0 61 37 135q32 64 96 110.5t145 71t155 36t150 13.5q-64 83 -64 149q0 12 2 23.5 t5 19.5t8 21.5t7 21.5q-40 -5 -70 -5q-149 0 -255.5 98t-106.5 246q0 140 95 250.5t234 141.5q94 20 187 20zM1664 1152v-128h-256v-256h-128v256h-256v128h256v256h128v-256h256z" />
223
+ <glyph unicode="&#xf0d6;" horiz-adv-x="1920" 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 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" />
224
+ <glyph unicode="&#xf0d7;" horiz-adv-x="1024" 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" />
225
+ <glyph unicode="&#xf0d8;" horiz-adv-x="1024" 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" />
226
+ <glyph unicode="&#xf0d9;" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
227
+ <glyph unicode="&#xf0da;" horiz-adv-x="640" 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" />
228
+ <glyph unicode="&#xf0db;" horiz-adv-x="1664" 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" />
229
+ <glyph unicode="&#xf0dc;" horiz-adv-x="1024" 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" />
230
+ <glyph unicode="&#xf0dd;" horiz-adv-x="1024" 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" />
231
+ <glyph unicode="&#xf0de;" horiz-adv-x="1024" 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" />
232
+ <glyph unicode="&#xf0e0;" horiz-adv-x="1792" 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 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" />
233
+ <glyph unicode="&#xf0e1;" 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 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" />
234
+ <glyph unicode="&#xf0e2;" 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 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" />
235
+ <glyph unicode="&#xf0e3;" horiz-adv-x="1792" 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 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 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 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" />
236
+ <glyph unicode="&#xf0e4;" horiz-adv-x="1792" 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 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 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 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
237
+ <glyph unicode="&#xf0e5;" horiz-adv-x="1792" 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 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 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
238
+ <glyph unicode="&#xf0e6;" horiz-adv-x="1792" 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 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 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 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
239
+ <glyph unicode="&#xf0e7;" horiz-adv-x="896" 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" />
240
+ <glyph unicode="&#xf0e8;" horiz-adv-x="1792" 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 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 z" />
241
+ <glyph unicode="&#xf0e9;" horiz-adv-x="1664" 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 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 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" />
242
+ <glyph unicode="&#xf0ea;" horiz-adv-x="1792" 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 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" />
243
+ <glyph unicode="&#xf0eb;" horiz-adv-x="1024" 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 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 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 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
244
+ <glyph unicode="&#xf0ec;" horiz-adv-x="1792" 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 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" />
245
+ <glyph unicode="&#xf0ed;" horiz-adv-x="1920" 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 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" />
246
+ <glyph unicode="&#xf0ee;" horiz-adv-x="1920" 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 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" />
247
+ <glyph unicode="&#xf0f0;" horiz-adv-x="1408" 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 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 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 t271.5 -112.5t112.5 -271.5z" />
248
+ <glyph unicode="&#xf0f1;" horiz-adv-x="1408" 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 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 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
249
+ <glyph unicode="&#xf0f2;" horiz-adv-x="1792" 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 t66 -158z" />
250
+ <glyph unicode="&#xf0f3;" horiz-adv-x="1664" d="M848 -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 16zM1664 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5 q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
251
+ <glyph unicode="&#xf0f4;" horiz-adv-x="1920" 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 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
252
+ <glyph unicode="&#xf0f5;" horiz-adv-x="1408" 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 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" />
253
+ <glyph unicode="&#xf0f6;" horiz-adv-x="1280" d="M1024 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1024 608v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280z M768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z" />
254
+ <glyph unicode="&#xf0f7;" horiz-adv-x="1408" 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 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 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 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 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 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 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 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 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 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" />
255
+ <glyph unicode="&#xf0f8;" horiz-adv-x="1408" 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 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 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 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 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 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 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 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
256
+ <glyph unicode="&#xf0f9;" horiz-adv-x="1920" 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 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 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" />
257
+ <glyph unicode="&#xf0fa;" horiz-adv-x="1792" 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 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" />
258
+ <glyph unicode="&#xf0fb;" horiz-adv-x="1920" 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 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
259
+ <glyph unicode="&#xf0fc;" horiz-adv-x="1664" 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" />
260
+ <glyph unicode="&#xf0fd;" 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 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" />
261
+ <glyph unicode="&#xf0fe;" 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 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" />
262
+ <glyph unicode="&#xf100;" horiz-adv-x="1024" 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 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
263
+ <glyph unicode="&#xf101;" horiz-adv-x="1024" 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 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
264
+ <glyph unicode="&#xf102;" horiz-adv-x="1152" 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 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
265
+ <glyph unicode="&#xf103;" horiz-adv-x="1152" 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 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
266
+ <glyph unicode="&#xf104;" horiz-adv-x="640" 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" />
267
+ <glyph unicode="&#xf105;" horiz-adv-x="640" 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" />
268
+ <glyph unicode="&#xf106;" horiz-adv-x="1152" 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" />
269
+ <glyph unicode="&#xf107;" horiz-adv-x="1152" 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" />
270
+ <glyph unicode="&#xf108;" horiz-adv-x="1920" 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 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
271
+ <glyph unicode="&#xf109;" horiz-adv-x="1920" 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 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" />
272
+ <glyph unicode="&#xf10a;" horiz-adv-x="1152" 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 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
273
+ <glyph unicode="&#xf10b;" horiz-adv-x="768" 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 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" />
274
+ <glyph unicode="&#xf10c;" 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 t279.5 -279.5t103 -385.5z" />
275
+ <glyph unicode="&#xf10d;" horiz-adv-x="1664" 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 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" />
276
+ <glyph unicode="&#xf10e;" horiz-adv-x="1664" 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 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" />
277
+ <glyph unicode="&#xf110;" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 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.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -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.5z" />
278
+ <glyph unicode="&#xf111;" 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" />
279
+ <glyph unicode="&#xf112;" horiz-adv-x="1792" 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 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
280
+ <glyph unicode="&#xf113;" horiz-adv-x="1664" 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 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 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 q0 -87 -27 -168q136 -160 136 -398z" />
281
+ <glyph unicode="&#xf114;" horiz-adv-x="1664" 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 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
282
+ <glyph unicode="&#xf115;" horiz-adv-x="1920" 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 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 " />
283
+ <glyph unicode="&#xf116;" horiz-adv-x="1792" />
284
+ <glyph unicode="&#xf117;" horiz-adv-x="1792" />
285
+ <glyph unicode="&#xf118;" 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 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 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" />
286
+ <glyph unicode="&#xf119;" 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 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 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" />
287
+ <glyph unicode="&#xf11a;" 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 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 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" />
288
+ <glyph unicode="&#xf11b;" horiz-adv-x="1920" 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 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 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
289
+ <glyph unicode="&#xf11c;" horiz-adv-x="1920" 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 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 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 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 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" />
290
+ <glyph unicode="&#xf11d;" horiz-adv-x="1792" 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 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 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" />
291
+ <glyph unicode="&#xf11e;" horiz-adv-x="1792" 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 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 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 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" />
292
+ <glyph unicode="&#xf120;" horiz-adv-x="1664" 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 t9 -23z" />
293
+ <glyph unicode="&#xf121;" horiz-adv-x="1920" 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 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" />
294
+ <glyph unicode="&#xf122;" horiz-adv-x="1792" 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 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" />
295
+ <glyph unicode="&#xf123;" horiz-adv-x="1664" 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 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
296
+ <glyph unicode="&#xf124;" horiz-adv-x="1408" 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" />
297
+ <glyph unicode="&#xf125;" horiz-adv-x="1664" 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 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
298
+ <glyph unicode="&#xf126;" horiz-adv-x="1024" 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 q-2 -287 -226 -414q-68 -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 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" />
299
+ <glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -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 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 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 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" />
300
+ <glyph unicode="&#xf128;" horiz-adv-x="1024" 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 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" />
301
+ <glyph unicode="&#xf129;" horiz-adv-x="640" 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 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
302
+ <glyph unicode="&#xf12a;" horiz-adv-x="640" 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" />
303
+ <glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-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 -296h109zM1534 846v-206h-514l-3 27 q-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.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
304
+ <glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-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 -296h109zM1536 -50v-206h-514l-4 27 q-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 -73h232v80h126z" />
305
+ <glyph unicode="&#xf12d;" horiz-adv-x="1920" 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" />
306
+ <glyph unicode="&#xf12e;" horiz-adv-x="1664" 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 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 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 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
307
+ <glyph unicode="&#xf130;" horiz-adv-x="1152" 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 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" />
308
+ <glyph unicode="&#xf131;" horiz-adv-x="1408" 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 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 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
309
+ <glyph unicode="&#xf132;" horiz-adv-x="1280" 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 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
310
+ <glyph unicode="&#xf133;" horiz-adv-x="1664" 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 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" />
311
+ <glyph unicode="&#xf134;" horiz-adv-x="1408" 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 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 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
312
+ <glyph unicode="&#xf135;" horiz-adv-x="1664" 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 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" />
313
+ <glyph unicode="&#xf136;" horiz-adv-x="1792" 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" />
314
+ <glyph unicode="&#xf137;" 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 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
315
+ <glyph unicode="&#xf138;" 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 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
316
+ <glyph unicode="&#xf139;" 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 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
317
+ <glyph unicode="&#xf13a;" 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 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
318
+ <glyph unicode="&#xf13b;" horiz-adv-x="1408" 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" />
319
+ <glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
320
+ <glyph unicode="&#xf13d;" horiz-adv-x="1792" 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-13 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 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 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" />
321
+ <glyph unicode="&#xf13e;" horiz-adv-x="1152" 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 v-320h736z" />
322
+ <glyph unicode="&#xf140;" 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 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 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" />
323
+ <glyph unicode="&#xf141;" horiz-adv-x="1408" 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 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
324
+ <glyph unicode="&#xf142;" horiz-adv-x="384" 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 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
325
+ <glyph unicode="&#xf143;" 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 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 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-960q0 -119 -84.5 -203.5 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" />
326
+ <glyph unicode="&#xf144;" 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 q16 -8 32 -8q17 0 32 9z" />
327
+ <glyph unicode="&#xf145;" horiz-adv-x="1792" 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 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" />
328
+ <glyph unicode="&#xf146;" 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 t84.5 -203.5z" />
329
+ <glyph unicode="&#xf147;" horiz-adv-x="1408" 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 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" />
330
+ <glyph unicode="&#xf148;" horiz-adv-x="1024" 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" />
331
+ <glyph unicode="&#xf149;" horiz-adv-x="1024" 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" />
332
+ <glyph unicode="&#xf14a;" 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 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
333
+ <glyph unicode="&#xf14b;" 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 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" />
334
+ <glyph unicode="&#xf14c;" 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 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" />
335
+ <glyph unicode="&#xf14d;" 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 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 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" />
336
+ <glyph unicode="&#xf14e;" 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 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
337
+ <glyph unicode="&#xf150;" 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 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" />
338
+ <glyph unicode="&#xf151;" 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 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" />
339
+ <glyph unicode="&#xf152;" 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 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" />
340
+ <glyph unicode="&#xf153;" horiz-adv-x="1024" 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 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 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" />
341
+ <glyph unicode="&#xf154;" horiz-adv-x="1024" 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 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" />
342
+ <glyph unicode="&#xf155;" horiz-adv-x="1024" 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 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 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 t53 -63.5t31.5 -76.5t13 -94z" />
343
+ <glyph unicode="&#xf156;" horiz-adv-x="898" 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 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" />
344
+ <glyph unicode="&#xf157;" horiz-adv-x="1027" 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 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" />
345
+ <glyph unicode="&#xf158;" horiz-adv-x="1280" 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 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" />
346
+ <glyph unicode="&#xf159;" horiz-adv-x="1792" 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 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 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" />
347
+ <glyph unicode="&#xf15a;" horiz-adv-x="1280" 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 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 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" />
348
+ <glyph unicode="&#xf15b;" horiz-adv-x="1280" d="M1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
349
+ <glyph unicode="&#xf15c;" horiz-adv-x="1280" d="M1024 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1024 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28 t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
350
+ <glyph unicode="&#xf15d;" horiz-adv-x="1664" 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 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 l230 -662h70z" />
351
+ <glyph unicode="&#xf15e;" horiz-adv-x="1664" 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 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 v119h121z" />
352
+ <glyph unicode="&#xf160;" horiz-adv-x="1792" 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 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 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
353
+ <glyph unicode="&#xf161;" horiz-adv-x="1792" 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 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 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
354
+ <glyph unicode="&#xf162;" 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 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 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" />
355
+ <glyph unicode="&#xf163;" 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 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 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" />
356
+ <glyph unicode="&#xf164;" horiz-adv-x="1664" 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 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 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" />
357
+ <glyph unicode="&#xf165;" horiz-adv-x="1664" 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 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 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" />
358
+ <glyph unicode="&#xf166;" 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 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 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 q21 -28 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 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-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-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.5h-960 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" />
359
+ <glyph unicode="&#xf167;" 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 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 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 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-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 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" />
360
+ <glyph unicode="&#xf168;" horiz-adv-x="1408" 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 q25 45 64 45h241q22 0 31 -15z" />
361
+ <glyph unicode="&#xf169;" 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 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" />
362
+ <glyph unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
363
+ <glyph unicode="&#xf16b;" horiz-adv-x="1792" 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" />
364
+ <glyph unicode="&#xf16c;" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" />
365
+ <glyph unicode="&#xf16d;" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" />
366
+ <glyph unicode="&#xf16e;" 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 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
367
+ <glyph unicode="&#xf170;" 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" />
368
+ <glyph unicode="&#xf171;" horiz-adv-x="1408" 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 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 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 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" />
369
+ <glyph unicode="&#xf172;" 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 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 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 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" />
370
+ <glyph unicode="&#xf173;" horiz-adv-x="1024" d="M390 1408h219v-388h364v-241h-364v-394q0 -136 14 -172q13 -37 52 -60q50 -31 117 -31q117 0 232 76v-242q-102 -48 -178 -65q-77 -19 -173 -19q-105 0 -186 27q-78 25 -138 75q-58 51 -79 105q-22 54 -22 161v539h-170v217q91 30 155 84q64 55 103 132q39 78 54 196z " />
371
+ <glyph unicode="&#xf174;" d="M1123 127v181q-88 -56 -174 -56q-51 0 -88 23q-29 17 -39 45q-11 30 -11 129v295h274v181h-274v291h-164q-11 -90 -40 -147t-78 -99q-48 -40 -116 -63v-163h127v-404q0 -78 17 -121q17 -42 59 -78q43 -37 104 -57q62 -20 140 -20q67 0 129 14q57 13 134 49zM1536 1120 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" />
372
+ <glyph unicode="&#xf175;" horiz-adv-x="768" 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" />
373
+ <glyph unicode="&#xf176;" horiz-adv-x="768" 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" />
374
+ <glyph unicode="&#xf177;" horiz-adv-x="1792" 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" />
375
+ <glyph unicode="&#xf178;" horiz-adv-x="1792" 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" />
376
+ <glyph unicode="&#xf179;" horiz-adv-x="1408" 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 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 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" />
377
+ <glyph unicode="&#xf17a;" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
378
+ <glyph unicode="&#xf17b;" horiz-adv-x="1408" 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 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 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" />
379
+ <glyph unicode="&#xf17c;" 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-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z 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 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 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 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 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 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 18l-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 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 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-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 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.5t-30 -18.5 t-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 43q-19 4 -51 9.5 t-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 -49t-14 -48 q3 -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 54q110 143 124 195 q-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.5t-40.5 -33.5t-61 -14 q-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.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
380
+ <glyph unicode="&#xf17d;" 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 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 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 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 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" />
381
+ <glyph unicode="&#xf17e;" 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 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 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 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
382
+ <glyph unicode="&#xf180;" horiz-adv-x="1664" d="M1483 512l-587 -587q-52 -53 -127.5 -53t-128.5 53l-587 587q-53 53 -53 128t53 128l587 587q53 53 128 53t128 -53l265 -265l-398 -399l-188 188q-42 42 -99 42q-59 0 -100 -41l-120 -121q-42 -40 -42 -99q0 -58 42 -100l406 -408q30 -28 67 -37l6 -4h28q60 0 99 41 l619 619l2 -3q53 -53 53 -128t-53 -128zM1406 1138l120 -120q14 -15 14 -36t-14 -36l-730 -730q-17 -15 -37 -15v0q-4 0 -6 1q-18 2 -30 14l-407 408q-14 15 -14 36t14 35l121 120q13 15 35 15t36 -15l252 -252l574 575q15 15 36 15t36 -15z" />
383
+ <glyph unicode="&#xf181;" 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 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
384
+ <glyph unicode="&#xf182;" horiz-adv-x="1280" 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 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" />
385
+ <glyph unicode="&#xf183;" horiz-adv-x="1024" 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 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" />
386
+ <glyph unicode="&#xf184;" 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 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
387
+ <glyph unicode="&#xf185;" horiz-adv-x="1792" 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 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 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
388
+ <glyph unicode="&#xf186;" 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 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" />
389
+ <glyph unicode="&#xf187;" horiz-adv-x="1792" 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 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
390
+ <glyph unicode="&#xf188;" horiz-adv-x="1664" 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 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 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
391
+ <glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -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 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 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 24q17 19 38 30q53 26 239 24 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 q39 5 64 -2.5t31 -16.5z" />
392
+ <glyph unicode="&#xf18a;" horiz-adv-x="1792" 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 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 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 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 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" />
393
+ <glyph unicode="&#xf18b;" 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 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
394
+ <glyph unicode="&#xf18c;" horiz-adv-x="1408" 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 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 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 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 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" />
395
+ <glyph unicode="&#xf18d;" horiz-adv-x="1280" 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 " />
396
+ <glyph unicode="&#xf18e;" 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 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" />
397
+ <glyph unicode="&#xf190;" 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 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" />
398
+ <glyph unicode="&#xf191;" 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 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" />
399
+ <glyph unicode="&#xf192;" 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 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" />
400
+ <glyph unicode="&#xf193;" horiz-adv-x="1664" 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 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 16 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" />
401
+ <glyph unicode="&#xf194;" d="M1254 899q16 85 -21 132q-52 65 -187 45q-17 -3 -41 -12.5t-57.5 -30.5t-64.5 -48.5t-59.5 -70t-44.5 -91.5q80 7 113.5 -16t26.5 -99q-5 -52 -52 -143q-43 -78 -71 -99q-44 -32 -87 14q-23 24 -37.5 64.5t-19 73t-10 84t-8.5 71.5q-23 129 -34 164q-12 37 -35.5 69 t-50.5 40q-57 16 -127 -25q-54 -32 -136.5 -106t-122.5 -102v-7q16 -8 25.5 -26t21.5 -20q21 -3 54.5 8.5t58 10.5t41.5 -30q11 -18 18.5 -38.5t15 -48t12.5 -40.5q17 -46 53 -187q36 -146 57 -197q42 -99 103 -125q43 -12 85 -1.5t76 31.5q131 77 250 237 q104 139 172.5 292.5t82.5 226.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" />
402
+ <glyph unicode="&#xf195;" horiz-adv-x="1152" 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 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" />
403
+ <glyph unicode="&#xf196;" horiz-adv-x="1408" 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 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" />
404
+ <glyph unicode="&#xf197;" horiz-adv-x="1792" />
405
+ <glyph unicode="&#xf198;" horiz-adv-x="1792" />
406
+ <glyph unicode="&#xf199;" horiz-adv-x="1792" />
407
+ <glyph unicode="&#xf19a;" horiz-adv-x="1792" />
408
+ <glyph unicode="&#xf19b;" horiz-adv-x="1792" />
409
+ <glyph unicode="&#xf19c;" horiz-adv-x="1792" />
410
+ <glyph unicode="&#xf19d;" horiz-adv-x="1792" />
411
+ <glyph unicode="&#xf19e;" horiz-adv-x="1792" />
412
+ <glyph unicode="&#xf500;" horiz-adv-x="1792" />
413
+ </font>
414
+ </defs></svg>
shared/assets/{fonts/fontawesome/fontawesome-webfont.svg → global/fonts/fontawesome/fontawesome-webfont.svg~HEAD} RENAMED
File without changes
shared/assets/{fonts → global/fonts}/fontawesome/fontawesome-webfont.ttf RENAMED
File without changes
shared/assets/global/fonts/fontawesome/fontawesome-webfont.ttf~HEAD ADDED
Binary file
shared/assets/{fonts → global/fonts}/fontawesome/fontawesome-webfont.woff RENAMED
File without changes
shared/assets/global/fonts/fontawesome/fontawesome-webfont.woff~HEAD ADDED
Binary file
shared/assets/{images/global → global/images}/leads.png RENAMED
File without changes
shared/assets/{images/global → global/images}/shortcodes-blue.png RENAMED
File without changes
shared/assets/{js/global → global/js}/jquery.cookie.js RENAMED
File without changes
shared/assets/{js/global → global/js}/jquery.total-storage.min.js RENAMED
File without changes
shared/assets/includes/Snowplow/RefererParser/Config/INBOUND_ConfigFileReaderTrait.php DELETED
@@ -1,54 +0,0 @@
1
- <?php
2
-
3
- abstract class INBOUND_ConfigFileReaderTrait
4
- {
5
- /** @var string */
6
- private $fileName;
7
-
8
- /** @var array */
9
- private $referers = array();
10
-
11
- public function __construct ()
12
- {
13
-
14
- }
15
-
16
- private function init($fileName)
17
- {
18
- if (!file_exists($fileName)) {
19
- throw INBOUND_InvalidArgumentException::fileNotExists($fileName);
20
- }
21
-
22
- $this->fileName = $fileName;
23
- }
24
-
25
- abstract protected function parse($content);
26
-
27
- private function read()
28
- {
29
- if ($this->referers) {
30
- return;
31
- }
32
-
33
- $hash = $this->parse(file_get_contents($this->fileName));
34
-
35
- foreach ($hash as $medium => $referers) {
36
- foreach ($referers as $source => $referer) {
37
- foreach ($referer['domains'] as $domain) {
38
- $this->referers[$domain] = array(
39
- 'source' => $source,
40
- 'medium' => $medium,
41
- 'parameters' => isset($referer['parameters']) ? $referer['parameters'] : array(),
42
- );
43
- }
44
- }
45
- }
46
- }
47
-
48
- public function lookup($lookupString)
49
- {
50
- $this->read();
51
-
52
- return isset($this->referers[$lookupString]) ? $this->referers[$lookupString] : null;
53
- }
54
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/includes/Snowplow/RefererParser/Config/INBOUND_ConfigReaderInterface.php DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
-
3
- include('INBOUND_ConfigFileReaderTrait.php');
4
-
5
- abstract class INBOUND_ConfigReaderInterface extends INBOUND_ConfigFileReaderTrait
6
- {
7
- /**
8
- * @param string $lookupString
9
- * @return array
10
- */
11
- public function lookup($lookupString)
12
- {
13
-
14
- }
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/includes/Snowplow/RefererParser/Config/INBOUND_JsonConfigReader.php DELETED
@@ -1,57 +0,0 @@
1
- <?php
2
-
3
- class INBOUND_JsonConfigReader extends INBOUND_ConfigReaderInterface
4
- {
5
- /** @var string */
6
- private $fileName;
7
-
8
- /** @var array */
9
- private $referers = array();
10
-
11
- public function __construct ( $fileName )
12
- {
13
- $this->fileName = $fileName;
14
- }
15
-
16
- private function init($fileName)
17
- {
18
- if (!file_exists($fileName)) {
19
- throw INBOUND_InvalidArgumentException::fileNotExists($fileName);
20
- }
21
-
22
- $this->fileName = $fileName;
23
- }
24
-
25
- private function read()
26
- {
27
- if ($this->referers) {
28
- return;
29
- }
30
-
31
- $hash = $this->parse(file_get_contents($this->fileName));
32
-
33
- foreach ($hash as $medium => $referers) {
34
- foreach ($referers as $source => $referer) {
35
- foreach ($referer['domains'] as $domain) {
36
- $this->referers[$domain] = array(
37
- 'source' => $source,
38
- 'medium' => $medium,
39
- 'parameters' => isset($referer['parameters']) ? $referer['parameters'] : array(),
40
- );
41
- }
42
- }
43
- }
44
- }
45
-
46
- public function lookup($lookupString)
47
- {
48
- $this->read();
49
-
50
- return isset($this->referers[$lookupString]) ? $this->referers[$lookupString] : null;
51
- }
52
-
53
- protected function parse($content)
54
- {
55
- return json_decode($content, true);
56
- }
57
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/includes/Snowplow/RefererParser/Exception/INBOUND_InvalidArgumentException.php DELETED
@@ -1,9 +0,0 @@
1
- <?php
2
-
3
- class INBOUND_InvalidArgumentException extends BaseInvalidArgumentException
4
- {
5
- public static function fileNotExists($fileName)
6
- {
7
- return new static(sprintf('File "%s" does not exist', $fileName));
8
- }
9
- }
 
 
 
 
 
 
 
 
 
shared/assets/includes/Snowplow/RefererParser/INBOUND_Medium.php DELETED
@@ -1,16 +0,0 @@
1
- <?php
2
-
3
- final class INBOUND_Medium
4
- {
5
- const SEARCH = 'search';
6
-
7
- const SOCIAL = 'social';
8
-
9
- const UNKNOWN = 'unknown';
10
-
11
- const INTERNAL = 'internal';
12
-
13
- const EMAIL = 'email';
14
-
15
- const INVALID = 'invalid';
16
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/includes/Snowplow/RefererParser/INBOUND_Parser.php DELETED
@@ -1,266 +0,0 @@
1
- <?php
2
-
3
- /* Usage:
4
-
5
- include_once(WP_CTA_URLPATH . '/shared/tracking/sources/Snowplow/RefererParser/INBOUND_Parser.php');
6
- include_once(WP_CTA_URLPATH . '/shared/tracking/sources/Snowplow/RefererParser/INBOUND_Referer.php');
7
- include_once(WP_CTA_URLPATH . '/shared/tracking/sources/Snowplow/RefererParser/INBOUND_Medium.php');
8
-
9
- // intialized the parser class
10
- $this->parser = new INBOUND_Parser();
11
-
12
- $referer = $this->parser->parse($source);
13
- if ( $referer->isKnown() ) {
14
- return $referer->getMedium();
15
- } else {
16
- return 'referral';
17
- }
18
- */
19
-
20
- /*
21
-
22
- Functions to use in plugin
23
-
24
- // $source ex = http://clean.dev/
25
- // $origin ex = http://glocal.dev/?utm_source=the_source&utm_medium=camp%20med&utm_term=Bought%20keyword&utm_content=Funny%20Text&utm_campaign=400kpromo
26
-
27
- // ORIGIN URL grabbed from first ever page view
28
-
29
- function check_lead_source ( $source, $origin_url = '' )
30
- {
31
- if ( $source )
32
- {
33
- $decoded_source = urldecode($source);
34
-
35
- if ( stristr($decoded_source, 'utm_medium=cpc') || stristr($decoded_source, 'utm_medium=ppc') || stristr($decoded_source, 'aclk') || stristr($decoded_source, 'gclid') )
36
- return 'paid';
37
-
38
- if ( stristr($source, 'utm_') )
39
- {
40
- $url = $source;
41
- $url_parts = parse_url($url);
42
- parse_str($url_parts['query'], $path_parts);
43
-
44
- if ( isset($path_parts['adurl']) )
45
- return 'paid';
46
-
47
- if ( isset($path_parts['utm_medium']) )
48
- {
49
- if ( $path_parts['utm_medium'] == 'cpc' || $path_parts['utm_medium'] == 'ppc' )
50
- return 'paid';
51
-
52
- if ( $path_parts['utm_medium'] == 'social' )
53
- return 'social';
54
-
55
- if ( $path_parts['utm_medium'] == 'email' )
56
- return 'email';
57
- }
58
-
59
- if ( isset($path_parts['utm_source']) )
60
- {
61
- if ( stristr($path_parts['utm_source'], 'email') )
62
- return 'email';
63
- }
64
- }
65
-
66
- $referer = $this->parser->parse(
67
- $source
68
- );
69
-
70
- if ( $referer->isKnown() )
71
- return $referer->getMedium();
72
- else
73
- return 'referral';
74
- }
75
- else
76
- {
77
- $decoded_origin_url = urldecode($origin_url);
78
-
79
- if ( stristr($decoded_origin_url, 'utm_medium=cpc') || stristr($decoded_origin_url, 'utm_medium=ppc') || stristr($decoded_origin_url, 'aclk') || stristr($decoded_origin_url, 'gclid') )
80
- return 'paid';
81
-
82
- if ( stristr($decoded_origin_url, 'utm_') )
83
- {
84
- $url = $decoded_origin_url;
85
- $url_parts = parse_url($url);
86
- parse_str($url_parts['query'], $path_parts);
87
-
88
- if ( isset($path_parts['adurl']) )
89
- return 'paid';
90
-
91
- if ( isset($path_parts['utm_medium']) )
92
- {
93
- if ( $path_parts['utm_medium'] == 'cpc' || $path_parts['utm_medium'] == 'ppc' )
94
- return 'paid';
95
-
96
- if ( $path_parts['utm_medium'] == 'social' )
97
- return 'social';
98
-
99
- if ( $path_parts['utm_medium'] == 'email' )
100
- return 'email';
101
- }
102
-
103
- if ( isset($path_parts['utm_source']) )
104
- {
105
- if ( stristr($path_parts['utm_source'], 'email') )
106
- return 'email';
107
- }
108
- }
109
-
110
- return 'direct';
111
- }
112
- }
113
-
114
- function print_readable_source ( $source )
115
- {
116
- switch ( $source )
117
- {
118
- case 'search' :
119
- return 'Organic Search';
120
- break;
121
-
122
- case 'social' :
123
- return 'Social Media';
124
- break;
125
-
126
- case 'email' :
127
- return 'Email Marketing';
128
- break;
129
-
130
- case 'referral' :
131
- return 'Referral';
132
- break;
133
-
134
- case 'paid' :
135
- return 'Paid';
136
- break;
137
-
138
- case 'direct' :
139
- return 'Direct';
140
- break;
141
- }
142
- }
143
-
144
- */
145
-
146
- //echo 'hi';
147
- include_once('Config/INBOUND_ConfigReaderInterface.php');
148
- include_once('Config/INBOUND_JsonConfigReader.php');
149
-
150
- class INBOUND_Parser
151
- {
152
- /** @var ConfigReaderInterface */
153
- private $configReader;
154
-
155
- /**
156
- * @var string[]
157
- */
158
- private $internalHosts = array();
159
-
160
- public function __construct(INBOUND_ConfigReaderInterface $configReader = null, array $internalHosts = array() )
161
- {
162
- $this->configReader = $configReader ? $configReader : self::createDefaultConfigReader();
163
- $this->internalHosts = $internalHosts;
164
- }
165
-
166
- /**
167
- * Parse referer URL
168
- *
169
- * @param string $refererUrl
170
- * @param string $pageUrl
171
- * @return Referer
172
- */
173
- public function parse($refererUrl, $pageUrl = null)
174
- {
175
- $refererParts = $this->parseUrl($refererUrl);
176
- if (!$refererParts) {
177
- return INBOUND_Referer::createInvalid();
178
- }
179
-
180
- $pageUrlParts = $this->parseUrl($pageUrl);
181
-
182
- //print_r($refererParts);
183
-
184
- if ($pageUrlParts
185
- && $pageUrlParts['host'] === $refererParts['host']
186
- || in_array($refererParts['host'], $this->internalHosts)) {
187
- return INBOUND_Referer::createInternal();
188
- }
189
-
190
- $referer = $this->lookup($refererParts['host'], $refererParts['path']);
191
-
192
- if (!$referer) {
193
- return INBOUND_Referer::createUnknown();
194
- }
195
-
196
- $searchTerm = null;
197
-
198
- if (is_array($referer['parameters'])) {
199
- parse_str($refererParts['query'], $queryParts);
200
-
201
- //foreach ($queryParts as $key => $parameter) {
202
- $searchTerm = isset($queryParts['q']) ? $queryParts['q'] : $searchTerm;
203
- //}
204
- }
205
-
206
- return INBOUND_Referer::createKnown($referer['medium'], $referer['source'], $searchTerm);
207
- }
208
-
209
- private static function parseUrl($url)
210
- {
211
- if ($url === null) {
212
- return null;
213
- }
214
-
215
- $parts = parse_url($url);
216
- if (!isset($parts['scheme']) || !in_array(strtolower($parts['scheme']), array('http', 'https'))) {
217
- return null;
218
- }
219
-
220
- return array_merge(array('query' => null, 'path' => '/'), $parts);
221
- }
222
-
223
- private function lookup($host, $path)
224
- {
225
- $referer = $this->lookupPath($host, $path);
226
-
227
- if ($referer) {
228
- return $referer;
229
- }
230
-
231
- return $this->lookupHost($host);
232
- }
233
-
234
- private function lookupPath($host, $path)
235
- {
236
- $referer = $this->lookupHost($host, $path);
237
-
238
- if ($referer) {
239
- return $referer;
240
- }
241
-
242
- $path = substr($path, 0, strrpos($path, '/'));
243
-
244
- if (!$path) {
245
- return null;
246
- }
247
-
248
- return $this->lookupPath($host, $path);
249
- }
250
-
251
- private function lookupHost($host, $path = null)
252
- {
253
- do {
254
- $referer = $this->configReader->lookup($host . $path);
255
- $host = substr($host, strpos($host, '.') + 1);
256
- } while (!$referer && substr_count($host, '.') > 0);
257
-
258
- return $referer;
259
- }
260
-
261
- private static function createDefaultConfigReader()
262
- {
263
- //TODO FIX WITH GLOBAL SHARED CONSTANT
264
- return new INBOUND_JsonConfigReader( INBOUNDNOW_SHARED_PATH . 'assets/includes/referers.json');
265
- }
266
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/includes/Snowplow/RefererParser/INBOUND_Referer.php DELETED
@@ -1,78 +0,0 @@
1
- <?php
2
-
3
- class INBOUND_Referer
4
- {
5
- /** @var string */
6
- private $medium;
7
-
8
- /** @var string */
9
- private $source;
10
-
11
- /** @var string|null */
12
- private $searchTerm;
13
-
14
- private function __construct()
15
- {}
16
-
17
- public static function createKnown($medium, $source, $searchTerm = null)
18
- {
19
- $referer = new self();
20
- $referer->medium = $medium;
21
- $referer->source = $source;
22
- $referer->searchTerm = $searchTerm;
23
-
24
- return $referer;
25
- }
26
-
27
- public static function createUnknown()
28
- {
29
- $referer = new self();
30
- $referer->medium = INBOUND_Medium::UNKNOWN;
31
-
32
- return $referer;
33
- }
34
-
35
- public static function createInternal()
36
- {
37
- $referer = new self();
38
- $referer->medium = INBOUND_Medium::INTERNAL;
39
-
40
- return $referer;
41
- }
42
-
43
- public static function createInvalid()
44
- {
45
- $referer = new self();
46
- $referer->medium = INBOUND_Medium::INVALID;
47
-
48
- return $referer;
49
- }
50
-
51
- /** @return boolean */
52
- public function isValid()
53
- {
54
- return $this->medium !== INBOUND_Medium::INVALID;
55
- }
56
-
57
- /** @return boolean */
58
- public function isKnown()
59
- {
60
- return !in_array($this->medium, array(INBOUND_Medium::UNKNOWN, INBOUND_Medium::INTERNAL, INBOUND_Medium::INVALID), true);
61
- }
62
-
63
- /** @return string */
64
- public function getMedium()
65
- {
66
- return $this->medium;
67
- }
68
-
69
- public function getSource()
70
- {
71
- return $this->source;
72
- }
73
-
74
- public function getSearchTerm()
75
- {
76
- return $this->searchTerm;
77
- }
78
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/includes/referers.json DELETED
@@ -1,3890 +0,0 @@
1
- {
2
- "unknown": {
3
- "Google": {
4
- "domains": [
5
- "support.google.com",
6
- "developers.google.com",
7
- "maps.google.com",
8
- "accounts.google.com",
9
- "drive.google.com",
10
- "sites.google.com",
11
- "groups.google.com",
12
- "groups.google.co.uk",
13
- "news.google.co.uk"
14
- ]
15
- },
16
- "Yahoo!": {
17
- "domains": [
18
- "finance.yahoo.com",
19
- "news.yahoo.com",
20
- "eurosport.yahoo.com",
21
- "sports.yahoo.com",
22
- "astrology.yahoo.com",
23
- "travel.yahoo.com",
24
- "answers.yahoo.com",
25
- "screen.yahoo.com",
26
- "weather.yahoo.com",
27
- "messenger.yahoo.com",
28
- "games.yahoo.com",
29
- "shopping.yahoo.net",
30
- "movies.yahoo.com",
31
- "cars.yahoo.com",
32
- "lifestyle.yahoo.com",
33
- "omg.yahoo.com",
34
- "match.yahoo.net"
35
- ]
36
- }
37
- },
38
- "search": {
39
- "TalkTalk": {
40
- "domains": [
41
- "www.talktalk.co.uk"
42
- ],
43
- "parameters": [
44
- "query"
45
- ]
46
- },
47
- "1.cz": {
48
- "domains": [
49
- "1.cz"
50
- ],
51
- "parameters": [
52
- "q"
53
- ]
54
- },
55
- "Softonic": {
56
- "domains": [
57
- "search.softonic.com"
58
- ],
59
- "parameters": [
60
- "q"
61
- ]
62
- },
63
- "GAIS": {
64
- "domains": [
65
- "gais.cs.ccu.edu.tw"
66
- ],
67
- "parameters": [
68
- "q"
69
- ]
70
- },
71
- "Freecause": {
72
- "domains": [
73
- "search.freecause.com"
74
- ],
75
- "parameters": [
76
- "p"
77
- ]
78
- },
79
- "RPMFind": {
80
- "domains": [
81
- "rpmfind.net",
82
- "fr2.rpmfind.net"
83
- ],
84
- "parameters": [
85
- "rpmfind.net",
86
- "fr2.rpmfind.net"
87
- ]
88
- },
89
- "Comcast": {
90
- "domains": [
91
- "serach.comcast.net"
92
- ],
93
- "parameters": [
94
- "q"
95
- ]
96
- },
97
- "Voila": {
98
- "domains": [
99
- "search.ke.voila.fr",
100
- "www.lemoteur.fr"
101
- ],
102
- "parameters": [
103
- "rdata"
104
- ]
105
- },
106
- "Nifty": {
107
- "domains": [
108
- "search.nifty.com"
109
- ],
110
- "parameters": [
111
- "q"
112
- ]
113
- },
114
- "Atlas": {
115
- "domains": [
116
- "searchatlas.centrum.cz"
117
- ],
118
- "parameters": [
119
- "q"
120
- ]
121
- },
122
- "Lo.st": {
123
- "domains": [
124
- "lo.st"
125
- ],
126
- "parameters": [
127
- "x_query"
128
- ]
129
- },
130
- "DasTelefonbuch": {
131
- "domains": [
132
- "www1.dastelefonbuch.de"
133
- ],
134
- "parameters": [
135
- "kw"
136
- ]
137
- },
138
- "Fireball": {
139
- "domains": [
140
- "www.fireball.de"
141
- ],
142
- "parameters": [
143
- "q"
144
- ]
145
- },
146
- "1und1": {
147
- "domains": [
148
- "search.1und1.de"
149
- ],
150
- "parameters": [
151
- "su"
152
- ]
153
- },
154
- "Virgilio": {
155
- "domains": [
156
- "ricerca.virgilio.it",
157
- "ricercaimmagini.virgilio.it",
158
- "ricercavideo.virgilio.it",
159
- "ricercanews.virgilio.it",
160
- "mobile.virgilio.it"
161
- ],
162
- "parameters": [
163
- "qs"
164
- ]
165
- },
166
- "Web.nl": {
167
- "domains": [
168
- "www.web.nl"
169
- ],
170
- "parameters": [
171
- "zoekwoord"
172
- ]
173
- },
174
- "Plazoo": {
175
- "domains": [
176
- "www.plazoo.com"
177
- ],
178
- "parameters": [
179
- "q"
180
- ]
181
- },
182
- "Goyellow.de": {
183
- "domains": [
184
- "www.goyellow.de"
185
- ],
186
- "parameters": [
187
- "MDN"
188
- ]
189
- },
190
- "AOL": {
191
- "domains": [
192
- "search.aol.com",
193
- "search.aol.it",
194
- "aolsearch.aol.com",
195
- "aolsearch.com",
196
- "www.aolrecherche.aol.fr",
197
- "www.aolrecherches.aol.fr",
198
- "www.aolimages.aol.fr",
199
- "aim.search.aol.com",
200
- "www.recherche.aol.fr",
201
- "find.web.aol.com",
202
- "recherche.aol.ca",
203
- "aolsearch.aol.co.uk",
204
- "search.aol.co.uk",
205
- "aolrecherche.aol.fr",
206
- "sucheaol.aol.de",
207
- "suche.aol.de",
208
- "suche.aolsvc.de",
209
- "aolbusqueda.aol.com.mx",
210
- "alicesuche.aol.de",
211
- "alicesuchet.aol.de",
212
- "suchet2.aol.de",
213
- "search.hp.my.aol.com.au",
214
- "search.hp.my.aol.de",
215
- "search.hp.my.aol.it",
216
- "search-intl.netscape.com"
217
- ],
218
- "parameters": [
219
- "q",
220
- "query"
221
- ]
222
- },
223
- "Acoon": {
224
- "domains": [
225
- "www.acoon.de"
226
- ],
227
- "parameters": [
228
- "begriff"
229
- ]
230
- },
231
- "Free": {
232
- "domains": [
233
- "search.free.fr",
234
- "search1-2.free.fr",
235
- "search1-1.free.fr"
236
- ],
237
- "parameters": [
238
- "q"
239
- ]
240
- },
241
- "Apollo Latvia": {
242
- "domains": [
243
- "apollo.lv/portal/search/"
244
- ],
245
- "parameters": [
246
- "q"
247
- ]
248
- },
249
- "HighBeam": {
250
- "domains": [
251
- "www.highbeam.com"
252
- ],
253
- "parameters": [
254
- "q"
255
- ]
256
- },
257
- "I-play": {
258
- "domains": [
259
- "start.iplay.com"
260
- ],
261
- "parameters": [
262
- "q"
263
- ]
264
- },
265
- "FriendFeed": {
266
- "domains": [
267
- "friendfeed.com"
268
- ],
269
- "parameters": [
270
- "q"
271
- ]
272
- },
273
- "Yasni": {
274
- "domains": [
275
- "www.yasni.de",
276
- "www.yasni.com",
277
- "www.yasni.co.uk",
278
- "www.yasni.ch",
279
- "www.yasni.at"
280
- ],
281
- "parameters": [
282
- "query"
283
- ]
284
- },
285
- "Gigablast": {
286
- "domains": [
287
- "www.gigablast.com",
288
- "dir.gigablast.com"
289
- ],
290
- "parameters": [
291
- "q"
292
- ]
293
- },
294
- "arama": {
295
- "domains": [
296
- "arama.com"
297
- ],
298
- "parameters": [
299
- "q"
300
- ]
301
- },
302
- "Fixsuche": {
303
- "domains": [
304
- "www.fixsuche.de"
305
- ],
306
- "parameters": [
307
- "q"
308
- ]
309
- },
310
- "Apontador": {
311
- "domains": [
312
- "apontador.com.br",
313
- "www.apontador.com.br"
314
- ],
315
- "parameters": [
316
- "q"
317
- ]
318
- },
319
- "Search.com": {
320
- "domains": [
321
- "www.search.com"
322
- ],
323
- "parameters": [
324
- "q"
325
- ]
326
- },
327
- "Monstercrawler": {
328
- "domains": [
329
- "www.monstercrawler.com"
330
- ],
331
- "parameters": [
332
- "qry"
333
- ]
334
- },
335
- "Google Images": {
336
- "domains": [
337
- "google.ac/imgres",
338
- "google.ad/imgres",
339
- "google.ae/imgres",
340
- "google.am/imgres",
341
- "google.as/imgres",
342
- "google.at/imgres",
343
- "google.az/imgres",
344
- "google.ba/imgres",
345
- "google.be/imgres",
346
- "google.bf/imgres",
347
- "google.bg/imgres",
348
- "google.bi/imgres",
349
- "google.bj/imgres",
350
- "google.bs/imgres",
351
- "google.by/imgres",
352
- "google.ca/imgres",
353
- "google.cat/imgres",
354
- "google.cc/imgres",
355
- "google.cd/imgres",
356
- "google.cf/imgres",
357
- "google.cg/imgres",
358
- "google.ch/imgres",
359
- "google.ci/imgres",
360
- "google.cl/imgres",
361
- "google.cm/imgres",
362
- "google.cn/imgres",
363
- "google.co.bw/imgres",
364
- "google.co.ck/imgres",
365
- "google.co.cr/imgres",
366
- "google.co.id/imgres",
367
- "google.co.il/imgres",
368
- "google.co.in/imgres",
369
- "google.co.jp/imgres",
370
- "google.co.ke/imgres",
371
- "google.co.kr/imgres",
372
- "google.co.ls/imgres",
373
- "google.co.ma/imgres",
374
- "google.co.mz/imgres",
375
- "google.co.nz/imgres",
376
- "google.co.th/imgres",
377
- "google.co.tz/imgres",
378
- "google.co.ug/imgres",
379
- "google.co.uk/imgres",
380
- "google.co.uz/imgres",
381
- "google.co.ve/imgres",
382
- "google.co.vi/imgres",
383
- "google.co.za/imgres",
384
- "google.co.zm/imgres",
385
- "google.co.zw/imgres",
386
- "google.com/imgres",
387
- "google.com.af/imgres",
388
- "google.com.ag/imgres",
389
- "google.com.ai/imgres",
390
- "google.com.ar/imgres",
391
- "google.com.au/imgres",
392
- "google.com.bd/imgres",
393
- "google.com.bh/imgres",
394
- "google.com.bn/imgres",
395
- "google.com.bo/imgres",
396
- "google.com.br/imgres",
397
- "google.com.by/imgres",
398
- "google.com.bz/imgres",
399
- "google.com.co/imgres",
400
- "google.com.cu/imgres",
401
- "google.com.cy/imgres",
402
- "google.com.do/imgres",
403
- "google.com.ec/imgres",
404
- "google.com.eg/imgres",
405
- "google.com.et/imgres",
406
- "google.com.fj/imgres",
407
- "google.com.gh/imgres",
408
- "google.com.gi/imgres",
409
- "google.com.gt/imgres",
410
- "google.com.hk/imgres",
411
- "google.com.jm/imgres",
412
- "google.com.kh/imgres",
413
- "google.com.kh/imgres",
414
- "google.com.kw/imgres",
415
- "google.com.lb/imgres",
416
- "google.com.lc/imgres",
417
- "google.com.ly/imgres",
418
- "google.com.mt/imgres",
419
- "google.com.mx/imgres",
420
- "google.com.my/imgres",
421
- "google.com.na/imgres",
422
- "google.com.nf/imgres",
423
- "google.com.ng/imgres",
424
- "google.com.ni/imgres",
425
- "google.com.np/imgres",
426
- "google.com.om/imgres",
427
- "google.com.pa/imgres",
428
- "google.com.pe/imgres",
429
- "google.com.ph/imgres",
430
- "google.com.pk/imgres",
431
- "google.com.pr/imgres",
432
- "google.com.py/imgres",
433
- "google.com.qa/imgres",
434
- "google.com.sa/imgres",
435
- "google.com.sb/imgres",
436
- "google.com.sg/imgres",
437
- "google.com.sl/imgres",
438
- "google.com.sv/imgres",
439
- "google.com.tj/imgres",
440
- "google.com.tn/imgres",
441
- "google.com.tr/imgres",
442
- "google.com.tw/imgres",
443
- "google.com.ua/imgres",
444
- "google.com.uy/imgres",
445
- "google.com.vc/imgres",
446
- "google.com.vn/imgres",
447
- "google.cv/imgres",
448
- "google.cz/imgres",
449
- "google.de/imgres",
450
- "google.dj/imgres",
451
- "google.dk/imgres",
452
- "google.dm/imgres",
453
- "google.dz/imgres",
454
- "google.ee/imgres",
455
- "google.es/imgres",
456
- "google.fi/imgres",
457
- "google.fm/imgres",
458
- "google.fr/imgres",
459
- "google.ga/imgres",
460
- "google.gd/imgres",
461
- "google.ge/imgres",
462
- "google.gf/imgres",
463
- "google.gg/imgres",
464
- "google.gl/imgres",
465
- "google.gm/imgres",
466
- "google.gp/imgres",
467
- "google.gr/imgres",
468
- "google.gy/imgres",
469
- "google.hn/imgres",
470
- "google.hr/imgres",
471
- "google.ht/imgres",
472
- "google.hu/imgres",
473
- "google.ie/imgres",
474
- "google.im/imgres",
475
- "google.io/imgres",
476
- "google.iq/imgres",
477
- "google.is/imgres",
478
- "google.it/imgres",
479
- "google.it.ao/imgres",
480
- "google.je/imgres",
481
- "google.jo/imgres",
482
- "google.kg/imgres",
483
- "google.ki/imgres",
484
- "google.kz/imgres",
485
- "google.la/imgres",
486
- "google.li/imgres",
487
- "google.lk/imgres",
488
- "google.lt/imgres",
489
- "google.lu/imgres",
490
- "google.lv/imgres",
491
- "google.md/imgres",
492
- "google.me/imgres",
493
- "google.mg/imgres",
494
- "google.mk/imgres",
495
- "google.ml/imgres",
496
- "google.mn/imgres",
497
- "google.ms/imgres",
498
- "google.mu/imgres",
499
- "google.mv/imgres",
500
- "google.mw/imgres",
501
- "google.ne/imgres",
502
- "google.nl/imgres",
503
- "google.no/imgres",
504
- "google.nr/imgres",
505
- "google.nu/imgres",
506
- "google.pl/imgres",
507
- "google.pn/imgres",
508
- "google.ps/imgres",
509
- "google.pt/imgres",
510
- "google.ro/imgres",
511
- "google.rs/imgres",
512
- "google.ru/imgres",
513
- "google.rw/imgres",
514
- "google.sc/imgres",
515
- "google.se/imgres",
516
- "google.sh/imgres",
517
- "google.si/imgres",
518
- "google.sk/imgres",
519
- "google.sm/imgres",
520
- "google.sn/imgres",
521
- "google.so/imgres",
522
- "google.st/imgres",
523
- "google.td/imgres",
524
- "google.tg/imgres",
525
- "google.tk/imgres",
526
- "google.tl/imgres",
527
- "google.tm/imgres",
528
- "google.to/imgres",
529
- "google.tt/imgres",
530
- "google.us/imgres",
531
- "google.vg/imgres",
532
- "google.vu/imgres",
533
- "images.google.ws",
534
- "images.google.ac",
535
- "images.google.ad",
536
- "images.google.ae",
537
- "images.google.am",
538
- "images.google.as",
539
- "images.google.at",
540
- "images.google.az",
541
- "images.google.ba",
542
- "images.google.be",
543
- "images.google.bf",
544
- "images.google.bg",
545
- "images.google.bi",
546
- "images.google.bj",
547
- "images.google.bs",
548
- "images.google.by",
549
- "images.google.ca",
550
- "images.google.cat",
551
- "images.google.cc",
552
- "images.google.cd",
553
- "images.google.cf",
554
- "images.google.cg",
555
- "images.google.ch",
556
- "images.google.ci",
557
- "images.google.cl",
558
- "images.google.cm",
559
- "images.google.cn",
560
- "images.google.co.bw",
561
- "images.google.co.ck",
562
- "images.google.co.cr",
563
- "images.google.co.id",
564
- "images.google.co.il",
565
- "images.google.co.in",
566
- "images.google.co.jp",
567
- "images.google.co.ke",
568
- "images.google.co.kr",
569
- "images.google.co.ls",
570
- "images.google.co.ma",
571
- "images.google.co.mz",
572
- "images.google.co.nz",
573
- "images.google.co.th",
574
- "images.google.co.tz",
575
- "images.google.co.ug",
576
- "images.google.co.uk",
577
- "images.google.co.uz",
578
- "images.google.co.ve",
579
- "images.google.co.vi",
580
- "images.google.co.za",
581
- "images.google.co.zm",
582
- "images.google.co.zw",
583
- "images.google.com",
584
- "images.google.com.af",
585
- "images.google.com.ag",
586
- "images.google.com.ai",
587
- "images.google.com.ar",
588
- "images.google.com.au",
589
- "images.google.com.bd",
590
- "images.google.com.bh",
591
- "images.google.com.bn",
592
- "images.google.com.bo",
593
- "images.google.com.br",
594
- "images.google.com.by",
595
- "images.google.com.bz",
596
- "images.google.com.co",
597
- "images.google.com.cu",
598
- "images.google.com.cy",
599
- "images.google.com.do",
600
- "images.google.com.ec",
601
- "images.google.com.eg",
602
- "images.google.com.et",
603
- "images.google.com.fj",
604
- "images.google.com.gh",
605
- "images.google.com.gi",
606
- "images.google.com.gt",
607
- "images.google.com.hk",
608
- "images.google.com.jm",
609
- "images.google.com.kh",
610
- "images.google.com.kh",
611
- "images.google.com.kw",
612
- "images.google.com.lb",
613
- "images.google.com.lc",
614
- "images.google.com.ly",
615
- "images.google.com.mt",
616
- "images.google.com.mx",
617
- "images.google.com.my",
618
- "images.google.com.na",
619
- "images.google.com.nf",
620
- "images.google.com.ng",
621
- "images.google.com.ni",
622
- "images.google.com.np",
623
- "images.google.com.om",
624
- "images.google.com.pa",
625
- "images.google.com.pe",
626
- "images.google.com.ph",
627
- "images.google.com.pk",
628
- "images.google.com.pr",
629
- "images.google.com.py",
630
- "images.google.com.qa",
631
- "images.google.com.sa",
632
- "images.google.com.sb",
633
- "images.google.com.sg",
634
- "images.google.com.sl",
635
- "images.google.com.sv",
636
- "images.google.com.tj",
637
- "images.google.com.tn",
638
- "images.google.com.tr",
639
- "images.google.com.tw",
640
- "images.google.com.ua",
641
- "images.google.com.uy",
642
- "images.google.com.vc",
643
- "images.google.com.vn",
644
- "images.google.cv",
645
- "images.google.cz",
646
- "images.google.de",
647
- "images.google.dj",
648
- "images.google.dk",
649
- "images.google.dm",
650
- "images.google.dz",
651
- "images.google.ee",
652
- "images.google.es",
653
- "images.google.fi",
654
- "images.google.fm",
655
- "images.google.fr",
656
- "images.google.ga",
657
- "images.google.gd",
658
- "images.google.ge",
659
- "images.google.gf",
660
- "images.google.gg",
661
- "images.google.gl",
662
- "images.google.gm",
663
- "images.google.gp",
664
- "images.google.gr",
665
- "images.google.gy",
666
- "images.google.hn",
667
- "images.google.hr",
668
- "images.google.ht",
669
- "images.google.hu",
670
- "images.google.ie",
671
- "images.google.im",
672
- "images.google.io",
673
- "images.google.iq",
674
- "images.google.is",
675
- "images.google.it",
676
- "images.google.it.ao",
677
- "images.google.je",
678
- "images.google.jo",
679
- "images.google.kg",
680
- "images.google.ki",
681
- "images.google.kz",
682
- "images.google.la",
683
- "images.google.li",
684
- "images.google.lk",
685
- "images.google.lt",
686
- "images.google.lu",
687
- "images.google.lv",
688
- "images.google.md",
689
- "images.google.me",
690
- "images.google.mg",
691
- "images.google.mk",
692
- "images.google.ml",
693
- "images.google.mn",
694
- "images.google.ms",
695
- "images.google.mu",
696
- "images.google.mv",
697
- "images.google.mw",
698
- "images.google.ne",
699
- "images.google.nl",
700
- "images.google.no",
701
- "images.google.nr",
702
- "images.google.nu",
703
- "images.google.pl",
704
- "images.google.pn",
705
- "images.google.ps",
706
- "images.google.pt",
707
- "images.google.ro",
708
- "images.google.rs",
709
- "images.google.ru",
710
- "images.google.rw",
711
- "images.google.sc",
712
- "images.google.se",
713
- "images.google.sh",
714
- "images.google.si",
715
- "images.google.sk",
716
- "images.google.sm",
717
- "images.google.sn",
718
- "images.google.so",
719
- "images.google.st",
720
- "images.google.td",
721
- "images.google.tg",
722
- "images.google.tk",
723
- "images.google.tl",
724
- "images.google.tm",
725
- "images.google.to",
726
- "images.google.tt",
727
- "images.google.us",
728
- "images.google.vg",
729
- "images.google.vu",
730
- "images.google.ws"
731
- ],
732
- "parameters": [
733
- "q"
734
- ]
735
- },
736
- "ABCs\u00f8k": {
737
- "domains": [
738
- "abcsolk.no",
739
- "verden.abcsok.no"
740
- ],
741
- "parameters": [
742
- "q"
743
- ]
744
- },
745
- "Google Product Search": {
746
- "domains": [
747
- "google.ac/products",
748
- "google.ad/products",
749
- "google.ae/products",
750
- "google.am/products",
751
- "google.as/products",
752
- "google.at/products",
753
- "google.az/products",
754
- "google.ba/products",
755
- "google.be/products",
756
- "google.bf/products",
757
- "google.bg/products",
758
- "google.bi/products",
759
- "google.bj/products",
760
- "google.bs/products",
761
- "google.by/products",
762
- "google.ca/products",
763
- "google.cat/products",
764
- "google.cc/products",
765
- "google.cd/products",
766
- "google.cf/products",
767
- "google.cg/products",
768
- "google.ch/products",
769
- "google.ci/products",
770
- "google.cl/products",
771
- "google.cm/products",
772
- "google.cn/products",
773
- "google.co.bw/products",
774
- "google.co.ck/products",
775
- "google.co.cr/products",
776
- "google.co.id/products",
777
- "google.co.il/products",
778
- "google.co.in/products",
779
- "google.co.jp/products",
780
- "google.co.ke/products",
781
- "google.co.kr/products",
782
- "google.co.ls/products",
783
- "google.co.ma/products",
784
- "google.co.mz/products",
785
- "google.co.nz/products",
786
- "google.co.th/products",
787
- "google.co.tz/products",
788
- "google.co.ug/products",
789
- "google.co.uk/products",
790
- "google.co.uz/products",
791
- "google.co.ve/products",
792
- "google.co.vi/products",
793
- "google.co.za/products",
794
- "google.co.zm/products",
795
- "google.co.zw/products",
796
- "google.com/products",
797
- "google.com.af/products",
798
- "google.com.ag/products",
799
- "google.com.ai/products",
800
- "google.com.ar/products",
801
- "google.com.au/products",
802
- "google.com.bd/products",
803
- "google.com.bh/products",
804
- "google.com.bn/products",
805
- "google.com.bo/products",
806
- "google.com.br/products",
807
- "google.com.by/products",
808
- "google.com.bz/products",
809
- "google.com.co/products",
810
- "google.com.cu/products",
811
- "google.com.cy/products",
812
- "google.com.do/products",
813
- "google.com.ec/products",
814
- "google.com.eg/products",
815
- "google.com.et/products",
816
- "google.com.fj/products",
817
- "google.com.gh/products",
818
- "google.com.gi/products",
819
- "google.com.gt/products",
820
- "google.com.hk/products",
821
- "google.com.jm/products",
822
- "google.com.kh/products",
823
- "google.com.kh/products",
824
- "google.com.kw/products",
825
- "google.com.lb/products",
826
- "google.com.lc/products",
827
- "google.com.ly/products",
828
- "google.com.mt/products",
829
- "google.com.mx/products",
830
- "google.com.my/products",
831
- "google.com.na/products",
832
- "google.com.nf/products",
833
- "google.com.ng/products",
834
- "google.com.ni/products",
835
- "google.com.np/products",
836
- "google.com.om/products",
837
- "google.com.pa/products",
838
- "google.com.pe/products",
839
- "google.com.ph/products",
840
- "google.com.pk/products",
841
- "google.com.pr/products",
842
- "google.com.py/products",
843
- "google.com.qa/products",
844
- "google.com.sa/products",
845
- "google.com.sb/products",
846
- "google.com.sg/products",
847
- "google.com.sl/products",
848
- "google.com.sv/products",
849
- "google.com.tj/products",
850
- "google.com.tn/products",
851
- "google.com.tr/products",
852
- "google.com.tw/products",
853
- "google.com.ua/products",
854
- "google.com.uy/products",
855
- "google.com.vc/products",
856
- "google.com.vn/products",
857
- "google.cv/products",
858
- "google.cz/products",
859
- "google.de/products",
860
- "google.dj/products",
861
- "google.dk/products",
862
- "google.dm/products",
863
- "google.dz/products",
864
- "google.ee/products",
865
- "google.es/products",
866
- "google.fi/products",
867
- "google.fm/products",
868
- "google.fr/products",
869
- "google.ga/products",
870
- "google.gd/products",
871
- "google.ge/products",
872
- "google.gf/products",
873
- "google.gg/products",
874
- "google.gl/products",
875
- "google.gm/products",
876
- "google.gp/products",
877
- "google.gr/products",
878
- "google.gy/products",
879
- "google.hn/products",
880
- "google.hr/products",
881
- "google.ht/products",
882
- "google.hu/products",
883
- "google.ie/products",
884
- "google.im/products",
885
- "google.io/products",
886
- "google.iq/products",
887
- "google.is/products",
888
- "google.it/products",
889
- "google.it.ao/products",
890
- "google.je/products",
891
- "google.jo/products",
892
- "google.kg/products",
893
- "google.ki/products",
894
- "google.kz/products",
895
- "google.la/products",
896
- "google.li/products",
897
- "google.lk/products",
898
- "google.lt/products",
899
- "google.lu/products",
900
- "google.lv/products",
901
- "google.md/products",
902
- "google.me/products",
903
- "google.mg/products",
904
- "google.mk/products",
905
- "google.ml/products",
906
- "google.mn/products",
907
- "google.ms/products",
908
- "google.mu/products",
909
- "google.mv/products",
910
- "google.mw/products",
911
- "google.ne/products",
912
- "google.nl/products",
913
- "google.no/products",
914
- "google.nr/products",
915
- "google.nu/products",
916
- "google.pl/products",
917
- "google.pn/products",
918
- "google.ps/products",
919
- "google.pt/products",
920
- "google.ro/products",
921
- "google.rs/products",
922
- "google.ru/products",
923
- "google.rw/products",
924
- "google.sc/products",
925
- "google.se/products",
926
- "google.sh/products",
927
- "google.si/products",
928
- "google.sk/products",
929
- "google.sm/products",
930
- "google.sn/products",
931
- "google.so/products",
932
- "google.st/products",
933
- "google.td/products",
934
- "google.tg/products",
935
- "google.tk/products",
936
- "google.tl/products",
937
- "google.tm/products",
938
- "google.to/products",
939
- "google.tt/products",
940
- "google.us/products",
941
- "google.vg/products",
942
- "google.vu/products",
943
- "google.ws/products",
944
- "www.google.ac/products",
945
- "www.google.ad/products",
946
- "www.google.ae/products",
947
- "www.google.am/products",
948
- "www.google.as/products",
949
- "www.google.at/products",
950
- "www.google.az/products",
951
- "www.google.ba/products",
952
- "www.google.be/products",
953
- "www.google.bf/products",
954
- "www.google.bg/products",
955
- "www.google.bi/products",
956
- "www.google.bj/products",
957
- "www.google.bs/products",
958
- "www.google.by/products",
959
- "www.google.ca/products",
960
- "www.google.cat/products",
961
- "www.google.cc/products",
962
- "www.google.cd/products",
963
- "www.google.cf/products",
964
- "www.google.cg/products",
965
- "www.google.ch/products",
966
- "www.google.ci/products",
967
- "www.google.cl/products",
968
- "www.google.cm/products",
969
- "www.google.cn/products",
970
- "www.google.co.bw/products",
971
- "www.google.co.ck/products",
972
- "www.google.co.cr/products",
973
- "www.google.co.id/products",
974
- "www.google.co.il/products",
975
- "www.google.co.in/products",
976
- "www.google.co.jp/products",
977
- "www.google.co.ke/products",
978
- "www.google.co.kr/products",
979
- "www.google.co.ls/products",
980
- "www.google.co.ma/products",
981
- "www.google.co.mz/products",
982
- "www.google.co.nz/products",
983
- "www.google.co.th/products",
984
- "www.google.co.tz/products",
985
- "www.google.co.ug/products",
986
- "www.google.co.uk/products",
987
- "www.google.co.uz/products",
988
- "www.google.co.ve/products",
989
- "www.google.co.vi/products",
990
- "www.google.co.za/products",
991
- "www.google.co.zm/products",
992
- "www.google.co.zw/products",
993
- "www.google.com/products",
994
- "www.google.com.af/products",
995
- "www.google.com.ag/products",
996
- "www.google.com.ai/products",
997
- "www.google.com.ar/products",
998
- "www.google.com.au/products",
999
- "www.google.com.bd/products",
1000
- "www.google.com.bh/products",
1001
- "www.google.com.bn/products",
1002
- "www.google.com.bo/products",
1003
- "www.google.com.br/products",
1004
- "www.google.com.by/products",
1005
- "www.google.com.bz/products",
1006
- "www.google.com.co/products",
1007
- "www.google.com.cu/products",
1008
- "www.google.com.cy/products",
1009
- "www.google.com.do/products",
1010
- "www.google.com.ec/products",
1011
- "www.google.com.eg/products",
1012
- "www.google.com.et/products",
1013
- "www.google.com.fj/products",
1014
- "www.google.com.gh/products",
1015
- "www.google.com.gi/products",
1016
- "www.google.com.gt/products",
1017
- "www.google.com.hk/products",
1018
- "www.google.com.jm/products",
1019
- "www.google.com.kh/products",
1020
- "www.google.com.kh/products",
1021
- "www.google.com.kw/products",
1022
- "www.google.com.lb/products",
1023
- "www.google.com.lc/products",
1024
- "www.google.com.ly/products",
1025
- "www.google.com.mt/products",
1026
- "www.google.com.mx/products",
1027
- "www.google.com.my/products",
1028
- "www.google.com.na/products",
1029
- "www.google.com.nf/products",
1030
- "www.google.com.ng/products",
1031
- "www.google.com.ni/products",
1032
- "www.google.com.np/products",
1033
- "www.google.com.om/products",
1034
- "www.google.com.pa/products",
1035
- "www.google.com.pe/products",
1036
- "www.google.com.ph/products",
1037
- "www.google.com.pk/products",
1038
- "www.google.com.pr/products",
1039
- "www.google.com.py/products",
1040
- "www.google.com.qa/products",
1041
- "www.google.com.sa/products",
1042
- "www.google.com.sb/products",
1043
- "www.google.com.sg/products",
1044
- "www.google.com.sl/products",
1045
- "www.google.com.sv/products",
1046
- "www.google.com.tj/products",
1047
- "www.google.com.tn/products",
1048
- "www.google.com.tr/products",
1049
- "www.google.com.tw/products",
1050
- "www.google.com.ua/products",
1051
- "www.google.com.uy/products",
1052
- "www.google.com.vc/products",
1053
- "www.google.com.vn/products",
1054
- "www.google.cv/products",
1055
- "www.google.cz/products",
1056
- "www.google.de/products",
1057
- "www.google.dj/products",
1058
- "www.google.dk/products",
1059
- "www.google.dm/products",
1060
- "www.google.dz/products",
1061
- "www.google.ee/products",
1062
- "www.google.es/products",
1063
- "www.google.fi/products",
1064
- "www.google.fm/products",
1065
- "www.google.fr/products",
1066
- "www.google.ga/products",
1067
- "www.google.gd/products",
1068
- "www.google.ge/products",
1069
- "www.google.gf/products",
1070
- "www.google.gg/products",
1071
- "www.google.gl/products",
1072
- "www.google.gm/products",
1073
- "www.google.gp/products",
1074
- "www.google.gr/products",
1075
- "www.google.gy/products",
1076
- "www.google.hn/products",
1077
- "www.google.hr/products",
1078
- "www.google.ht/products",
1079
- "www.google.hu/products",
1080
- "www.google.ie/products",
1081
- "www.google.im/products",
1082
- "www.google.io/products",
1083
- "www.google.iq/products",
1084
- "www.google.is/products",
1085
- "www.google.it/products",
1086
- "www.google.it.ao/products",
1087
- "www.google.je/products",
1088
- "www.google.jo/products",
1089
- "www.google.kg/products",
1090
- "www.google.ki/products",
1091
- "www.google.kz/products",
1092
- "www.google.la/products",
1093
- "www.google.li/products",
1094
- "www.google.lk/products",
1095
- "www.google.lt/products",
1096
- "www.google.lu/products",
1097
- "www.google.lv/products",
1098
- "www.google.md/products",
1099
- "www.google.me/products",
1100
- "www.google.mg/products",
1101
- "www.google.mk/products",
1102
- "www.google.ml/products",
1103
- "www.google.mn/products",
1104
- "www.google.ms/products",
1105
- "www.google.mu/products",
1106
- "www.google.mv/products",
1107
- "www.google.mw/products",
1108
- "www.google.ne/products",
1109
- "www.google.nl/products",
1110
- "www.google.no/products",
1111
- "www.google.nr/products",
1112
- "www.google.nu/products",
1113
- "www.google.pl/products",
1114
- "www.google.pn/products",
1115
- "www.google.ps/products",
1116
- "www.google.pt/products",
1117
- "www.google.ro/products",
1118
- "www.google.rs/products",
1119
- "www.google.ru/products",
1120
- "www.google.rw/products",
1121
- "www.google.sc/products",
1122
- "www.google.se/products",
1123
- "www.google.sh/products",
1124
- "www.google.si/products",
1125
- "www.google.sk/products",
1126
- "www.google.sm/products",
1127
- "www.google.sn/products",
1128
- "www.google.so/products",
1129
- "www.google.st/products",
1130
- "www.google.td/products",
1131
- "www.google.tg/products",
1132
- "www.google.tk/products",
1133
- "www.google.tl/products",
1134
- "www.google.tm/products",
1135
- "www.google.to/products",
1136
- "www.google.tt/products",
1137
- "www.google.us/products",
1138
- "www.google.vg/products",
1139
- "www.google.vu/products",
1140
- "www.google.ws/products"
1141
- ],
1142
- "parameters": [
1143
- "q"
1144
- ]
1145
- },
1146
- "DasOertliche": {
1147
- "domains": [
1148
- "www.dasoertliche.de"
1149
- ],
1150
- "parameters": [
1151
- "kw"
1152
- ]
1153
- },
1154
- "InfoSpace": {
1155
- "domains": [
1156
- "infospace.com",
1157
- "dogpile.com",
1158
- "www.dogpile.com",
1159
- "metacrawler.com",
1160
- "webfetch.com",
1161
- "webcrawler.com",
1162
- "search.kiwee.com",
1163
- "isearch.babylon.com",
1164
- "start.facemoods.com",
1165
- "search.magnetic.com",
1166
- "search.searchcompletion.com",
1167
- "clusty.com"
1168
- ],
1169
- "parameters": [
1170
- "q",
1171
- "s"
1172
- ]
1173
- },
1174
- "Weborama": {
1175
- "domains": [
1176
- "www.weborama.com"
1177
- ],
1178
- "parameters": [
1179
- "QUERY"
1180
- ]
1181
- },
1182
- "Bluewin": {
1183
- "domains": [
1184
- "search.bluewin.ch"
1185
- ],
1186
- "parameters": [
1187
- "searchTerm"
1188
- ]
1189
- },
1190
- "Neti": {
1191
- "domains": [
1192
- "www.neti.ee"
1193
- ],
1194
- "parameters": [
1195
- "query"
1196
- ]
1197
- },
1198
- "Winamp": {
1199
- "domains": [
1200
- "search.winamp.com"
1201
- ],
1202
- "parameters": [
1203
- "q"
1204
- ]
1205
- },
1206
- "Nigma": {
1207
- "domains": [
1208
- "nigma.ru"
1209
- ],
1210
- "parameters": [
1211
- "s"
1212
- ]
1213
- },
1214
- "Yahoo! Images": {
1215
- "domains": [
1216
- "image.yahoo.cn",
1217
- "images.search.yahoo.com"
1218
- ],
1219
- "parameters": [
1220
- "p",
1221
- "q"
1222
- ]
1223
- },
1224
- "Exalead": {
1225
- "domains": [
1226
- "www.exalead.fr",
1227
- "www.exalead.com"
1228
- ],
1229
- "parameters": [
1230
- "q"
1231
- ]
1232
- },
1233
- "Teoma": {
1234
- "domains": [
1235
- "www.teoma.com"
1236
- ],
1237
- "parameters": [
1238
- "q"
1239
- ]
1240
- },
1241
- "Needtofind": {
1242
- "domains": [
1243
- "ko.search.need2find.com"
1244
- ],
1245
- "parameters": [
1246
- "searchfor"
1247
- ]
1248
- },
1249
- "Looksmart": {
1250
- "domains": [
1251
- "www.looksmart.com"
1252
- ],
1253
- "parameters": [
1254
- "key"
1255
- ]
1256
- },
1257
- "Wirtualna Polska": {
1258
- "domains": [
1259
- "szukaj.wp.pl"
1260
- ],
1261
- "parameters": [
1262
- "szukaj"
1263
- ]
1264
- },
1265
- "Toolbarhome": {
1266
- "domains": [
1267
- "www.toolbarhome.com",
1268
- "vshare.toolbarhome.com"
1269
- ],
1270
- "parameters": [
1271
- "q"
1272
- ]
1273
- },
1274
- "Searchalot": {
1275
- "domains": [
1276
- "searchalot.com"
1277
- ],
1278
- "parameters": [
1279
- "q"
1280
- ]
1281
- },
1282
- "Yandex": {
1283
- "domains": [
1284
- "yandex.ru",
1285
- "yandex.ua",
1286
- "yandex.com",
1287
- "www.yandex.ru",
1288
- "www.yandex.ua",
1289
- "www.yandex.com"
1290
- ],
1291
- "parameters": [
1292
- "text"
1293
- ]
1294
- },
1295
- "canoe.ca": {
1296
- "domains": [
1297
- "web.canoe.ca"
1298
- ],
1299
- "parameters": [
1300
- "q"
1301
- ]
1302
- },
1303
- "Compuserve": {
1304
- "domains": [
1305
- "websearch.cs.com"
1306
- ],
1307
- "parameters": [
1308
- "query"
1309
- ]
1310
- },
1311
- "Startpagina": {
1312
- "domains": [
1313
- "startgoogle.startpagina.nl"
1314
- ],
1315
- "parameters": [
1316
- "q"
1317
- ]
1318
- },
1319
- "eo": {
1320
- "domains": [
1321
- "eo.st"
1322
- ],
1323
- "parameters": [
1324
- "x_query"
1325
- ]
1326
- },
1327
- "Zhongsou": {
1328
- "domains": [
1329
- "p.zhongsou.com"
1330
- ],
1331
- "parameters": [
1332
- "w"
1333
- ]
1334
- },
1335
- "La Toile Du Quebec Via Google": {
1336
- "domains": [
1337
- "www.toile.com",
1338
- "web.toile.com"
1339
- ],
1340
- "parameters": [
1341
- "q"
1342
- ]
1343
- },
1344
- "Paperball": {
1345
- "domains": [
1346
- "www.paperball.de"
1347
- ],
1348
- "parameters": [
1349
- "q"
1350
- ]
1351
- },
1352
- "Jungle Spider": {
1353
- "domains": [
1354
- "www.jungle-spider.de"
1355
- ],
1356
- "parameters": [
1357
- "q"
1358
- ]
1359
- },
1360
- "PeoplePC": {
1361
- "domains": [
1362
- "search.peoplepc.com"
1363
- ],
1364
- "parameters": [
1365
- "q"
1366
- ]
1367
- },
1368
- "MetaCrawler.de": {
1369
- "domains": [
1370
- "s1.metacrawler.de",
1371
- "s2.metacrawler.de",
1372
- "s3.metacrawler.de"
1373
- ],
1374
- "parameters": [
1375
- "qry"
1376
- ]
1377
- },
1378
- "Orange": {
1379
- "domains": [
1380
- "busca.orange.es",
1381
- "search.orange.co.uk"
1382
- ],
1383
- "parameters": [
1384
- "q"
1385
- ]
1386
- },
1387
- "Gule Sider": {
1388
- "domains": [
1389
- "www.gulesider.no"
1390
- ],
1391
- "parameters": [
1392
- "q"
1393
- ]
1394
- },
1395
- "Francite": {
1396
- "domains": [
1397
- "recherche.francite.com"
1398
- ],
1399
- "parameters": [
1400
- "name"
1401
- ]
1402
- },
1403
- "Ask Toolbar": {
1404
- "domains": [
1405
- "search.tb.ask.com"
1406
- ],
1407
- "parameters": [
1408
- "searchfor"
1409
- ]
1410
- },
1411
- "Aport": {
1412
- "domains": [
1413
- "sm.aport.ru"
1414
- ],
1415
- "parameters": [
1416
- "r"
1417
- ]
1418
- },
1419
- "Trusted-Search": {
1420
- "domains": [
1421
- "www.trusted--search.com"
1422
- ],
1423
- "parameters": [
1424
- "w"
1425
- ]
1426
- },
1427
- "goo": {
1428
- "domains": [
1429
- "search.goo.ne.jp",
1430
- "ocnsearch.goo.ne.jp"
1431
- ],
1432
- "parameters": [
1433
- "MT"
1434
- ]
1435
- },
1436
- "Fast Browser Search": {
1437
- "domains": [
1438
- "www.fastbrowsersearch.com"
1439
- ],
1440
- "parameters": [
1441
- "q"
1442
- ]
1443
- },
1444
- "Blogpulse": {
1445
- "domains": [
1446
- "www.blogpulse.com"
1447
- ],
1448
- "parameters": [
1449
- "query"
1450
- ]
1451
- },
1452
- "Volny": {
1453
- "domains": [
1454
- "web.volny.cz"
1455
- ],
1456
- "parameters": [
1457
- "search"
1458
- ]
1459
- },
1460
- "Icerockeet": {
1461
- "domains": [
1462
- "blogs.icerocket.com"
1463
- ],
1464
- "parameters": [
1465
- "q"
1466
- ]
1467
- },
1468
- "Terra": {
1469
- "domains": [
1470
- "buscador.terra.es",
1471
- "buscador.terra.cl",
1472
- "buscador.terra.com.br"
1473
- ],
1474
- "parameters": [
1475
- "query"
1476
- ]
1477
- },
1478
- "Searchy": {
1479
- "domains": [
1480
- "www.searchy.co.uk"
1481
- ],
1482
- "parameters": [
1483
- "q"
1484
- ]
1485
- },
1486
- "Onet": {
1487
- "domains": [
1488
- "szukaj.onet.pl"
1489
- ],
1490
- "parameters": [
1491
- "qt"
1492
- ]
1493
- },
1494
- "Digg": {
1495
- "domains": [
1496
- "digg.com"
1497
- ],
1498
- "parameters": [
1499
- "s"
1500
- ]
1501
- },
1502
- "Abacho": {
1503
- "domains": [
1504
- "www.abacho.de",
1505
- "www.abacho.com",
1506
- "www.abacho.co.uk",
1507
- "www.se.abacho.com",
1508
- "www.tr.abacho.com",
1509
- "www.abacho.at",
1510
- "www.abacho.fr",
1511
- "www.abacho.es",
1512
- "www.abacho.ch",
1513
- "www.abacho.it"
1514
- ],
1515
- "parameters": [
1516
- "q"
1517
- ]
1518
- },
1519
- "maailm": {
1520
- "domains": [
1521
- "www.maailm.com"
1522
- ],
1523
- "parameters": [
1524
- "tekst"
1525
- ]
1526
- },
1527
- "Flix": {
1528
- "domains": [
1529
- "www.flix.de"
1530
- ],
1531
- "parameters": [
1532
- "keyword"
1533
- ]
1534
- },
1535
- "Suchnase": {
1536
- "domains": [
1537
- "www.suchnase.de"
1538
- ],
1539
- "parameters": [
1540
- "q"
1541
- ]
1542
- },
1543
- "Freenet": {
1544
- "domains": [
1545
- "suche.freenet.de"
1546
- ],
1547
- "parameters": [
1548
- "query",
1549
- "Keywords"
1550
- ]
1551
- },
1552
- "DuckDuckGoL": {
1553
- "domains": [
1554
- "duckduckgo.com"
1555
- ],
1556
- "parameters": [
1557
- "q"
1558
- ]
1559
- },
1560
- "Poisk.ru": {
1561
- "domains": [
1562
- "www.plazoo.com"
1563
- ],
1564
- "parameters": [
1565
- "q"
1566
- ]
1567
- },
1568
- "Sharelook": {
1569
- "domains": [
1570
- "www.sharelook.fr"
1571
- ],
1572
- "parameters": [
1573
- "keyword"
1574
- ]
1575
- },
1576
- "Najdi": {
1577
- "domains": [
1578
- "www.najdi.si"
1579
- ],
1580
- "parameters": [
1581
- "q"
1582
- ]
1583
- },
1584
- "Picsearch": {
1585
- "domains": [
1586
- "www.picsearch.com"
1587
- ],
1588
- "parameters": [
1589
- "q"
1590
- ]
1591
- },
1592
- "Mail.ru": {
1593
- "domains": [
1594
- "go.mail.ru"
1595
- ],
1596
- "parameters": [
1597
- "q"
1598
- ]
1599
- },
1600
- "Alexa": {
1601
- "domains": [
1602
- "alexa.com",
1603
- "search.toolbars.alexa.com"
1604
- ],
1605
- "parameters": [
1606
- "q"
1607
- ]
1608
- },
1609
- "Metager": {
1610
- "domains": [
1611
- "meta.rrzn.uni-hannover.de",
1612
- "www.metager.de"
1613
- ],
1614
- "parameters": [
1615
- "eingabe"
1616
- ]
1617
- },
1618
- "Technorati": {
1619
- "domains": [
1620
- "technorati.com"
1621
- ],
1622
- "parameters": [
1623
- "q"
1624
- ]
1625
- },
1626
- "WWW": {
1627
- "domains": [
1628
- "search.www.ee"
1629
- ],
1630
- "parameters": [
1631
- "query"
1632
- ]
1633
- },
1634
- "Trouvez.com": {
1635
- "domains": [
1636
- "www.trouvez.com"
1637
- ],
1638
- "parameters": [
1639
- "query"
1640
- ]
1641
- },
1642
- "IXquick": {
1643
- "domains": [
1644
- "ixquick.com",
1645
- "www.eu.ixquick.com",
1646
- "ixquick.de",
1647
- "www.ixquick.de",
1648
- "us.ixquick.com",
1649
- "s1.us.ixquick.com",
1650
- "s2.us.ixquick.com",
1651
- "s3.us.ixquick.com",
1652
- "s4.us.ixquick.com",
1653
- "s5.us.ixquick.com",
1654
- "eu.ixquick.com",
1655
- "s8-eu.ixquick.com",
1656
- "s1-eu.ixquick.de"
1657
- ],
1658
- "parameters": [
1659
- "query"
1660
- ]
1661
- },
1662
- "Zapmeta": {
1663
- "domains": [
1664
- "www.zapmeta.com",
1665
- "www.zapmeta.nl",
1666
- "www.zapmeta.de",
1667
- "uk.zapmeta.com"
1668
- ],
1669
- "parameters": [
1670
- "q",
1671
- "query"
1672
- ]
1673
- },
1674
- "Yippy": {
1675
- "domains": [
1676
- "search.yippy.com"
1677
- ],
1678
- "parameters": [
1679
- "q",
1680
- "query"
1681
- ]
1682
- },
1683
- "Gomeo": {
1684
- "domains": [
1685
- "www.gomeo.com"
1686
- ],
1687
- "parameters": [
1688
- "Keywords"
1689
- ]
1690
- },
1691
- "Walhello": {
1692
- "domains": [
1693
- "www.walhello.info",
1694
- "www.walhello.com",
1695
- "www.walhello.de",
1696
- "www.walhello.nl"
1697
- ],
1698
- "parameters": [
1699
- "key"
1700
- ]
1701
- },
1702
- "Meta": {
1703
- "domains": [
1704
- "meta.ua"
1705
- ],
1706
- "parameters": [
1707
- "q"
1708
- ]
1709
- },
1710
- "Skynet": {
1711
- "domains": [
1712
- "www.skynet.be"
1713
- ],
1714
- "parameters": [
1715
- "q"
1716
- ]
1717
- },
1718
- "Blogdigger": {
1719
- "domains": [
1720
- "www.blogdigger.com"
1721
- ],
1722
- "parameters": [
1723
- "q"
1724
- ]
1725
- },
1726
- "WebSearch": {
1727
- "domains": [
1728
- "www.websearch.com"
1729
- ],
1730
- "parameters": [
1731
- "qkw",
1732
- "q"
1733
- ]
1734
- },
1735
- "Rambler": {
1736
- "domains": [
1737
- "nova.rambler.ru"
1738
- ],
1739
- "parameters": [
1740
- "query",
1741
- "words"
1742
- ]
1743
- },
1744
- "Latne": {
1745
- "domains": [
1746
- "www.latne.lv"
1747
- ],
1748
- "parameters": [
1749
- "q"
1750
- ]
1751
- },
1752
- "MySearch": {
1753
- "domains": [
1754
- "www.mysearch.com",
1755
- "ms114.mysearch.com",
1756
- "ms146.mysearch.com",
1757
- "kf.mysearch.myway.com",
1758
- "ki.mysearch.myway.com",
1759
- "search.myway.com",
1760
- "search.mywebsearch.com"
1761
- ],
1762
- "parameters": [
1763
- "searchfor",
1764
- "searchFor"
1765
- ]
1766
- },
1767
- "Cuil": {
1768
- "domains": [
1769
- "www.cuil.com"
1770
- ],
1771
- "parameters": [
1772
- "q"
1773
- ]
1774
- },
1775
- "Tixuma": {
1776
- "domains": [
1777
- "www.tixuma.de"
1778
- ],
1779
- "parameters": [
1780
- "sc"
1781
- ]
1782
- },
1783
- "Sapo": {
1784
- "domains": [
1785
- "pesquisa.sapo.pt"
1786
- ],
1787
- "parameters": [
1788
- "q"
1789
- ]
1790
- },
1791
- "Gnadenmeer": {
1792
- "domains": [
1793
- "www.gnadenmeer.de"
1794
- ],
1795
- "parameters": [
1796
- "keyword"
1797
- ]
1798
- },
1799
- "Arcor": {
1800
- "domains": [
1801
- "www.arcor.de"
1802
- ],
1803
- "parameters": [
1804
- "Keywords"
1805
- ]
1806
- },
1807
- "Naver": {
1808
- "domains": [
1809
- "search.naver.com"
1810
- ],
1811
- "parameters": [
1812
- "query"
1813
- ]
1814
- },
1815
- "Zoeken": {
1816
- "domains": [
1817
- "www.zoeken.nl"
1818
- ],
1819
- "parameters": [
1820
- "q"
1821
- ]
1822
- },
1823
- "Yam": {
1824
- "domains": [
1825
- "search.yam.com"
1826
- ],
1827
- "parameters": [
1828
- "k"
1829
- ]
1830
- },
1831
- "Eniro": {
1832
- "domains": [
1833
- "www.eniro.se"
1834
- ],
1835
- "parameters": [
1836
- "q",
1837
- "search_word"
1838
- ]
1839
- },
1840
- "APOLL07": {
1841
- "domains": [
1842
- "apollo7.de"
1843
- ],
1844
- "parameters": [
1845
- "query"
1846
- ]
1847
- },
1848
- "Biglobe": {
1849
- "domains": [
1850
- "cgi.search.biglobe.ne.jp"
1851
- ],
1852
- "parameters": [
1853
- "q"
1854
- ]
1855
- },
1856
- "Mozbot": {
1857
- "domains": [
1858
- "www.mozbot.fr",
1859
- "www.mozbot.co.uk",
1860
- "www.mozbot.com"
1861
- ],
1862
- "parameters": [
1863
- "q"
1864
- ]
1865
- },
1866
- "ICQ": {
1867
- "domains": [
1868
- "www.icq.com",
1869
- "search.icq.com"
1870
- ],
1871
- "parameters": [
1872
- "q"
1873
- ]
1874
- },
1875
- "Baidu": {
1876
- "domains": [
1877
- "www.baidu.com",
1878
- "www1.baidu.com",
1879
- "zhidao.baidu.com",
1880
- "tieba.baidu.com",
1881
- "news.baidu.com",
1882
- "web.gougou.com"
1883
- ],
1884
- "parameters": [
1885
- "wd",
1886
- "word",
1887
- "kw",
1888
- "k"
1889
- ]
1890
- },
1891
- "Conduit": {
1892
- "domains": [
1893
- "search.conduit.com"
1894
- ],
1895
- "parameters": [
1896
- "q"
1897
- ]
1898
- },
1899
- "Austronaut": {
1900
- "domains": [
1901
- "www2.austronaut.at",
1902
- "www1.astronaut.at"
1903
- ],
1904
- "parameters": [
1905
- "q"
1906
- ]
1907
- },
1908
- "Vindex": {
1909
- "domains": [
1910
- "www.vindex.nl",
1911
- "search.vindex.nl"
1912
- ],
1913
- "parameters": [
1914
- "search_for"
1915
- ]
1916
- },
1917
- "TrovaRapido": {
1918
- "domains": [
1919
- "www.trovarapido.com"
1920
- ],
1921
- "parameters": [
1922
- "q"
1923
- ]
1924
- },
1925
- "Suchmaschine.com": {
1926
- "domains": [
1927
- "www.suchmaschine.com"
1928
- ],
1929
- "parameters": [
1930
- "suchstr"
1931
- ]
1932
- },
1933
- "Lycos": {
1934
- "domains": [
1935
- "search.lycos.com",
1936
- "www.lycos.com",
1937
- "lycos.com"
1938
- ],
1939
- "parameters": [
1940
- "query"
1941
- ]
1942
- },
1943
- "Vinden": {
1944
- "domains": [
1945
- "www.vinden.nl"
1946
- ],
1947
- "parameters": [
1948
- "q"
1949
- ]
1950
- },
1951
- "Altavista": {
1952
- "domains": [
1953
- "www.altavista.com",
1954
- "search.altavista.com",
1955
- "listings.altavista.com",
1956
- "altavista.de",
1957
- "altavista.fr",
1958
- "be-nl.altavista.com",
1959
- "be-fr.altavista.com"
1960
- ],
1961
- "parameters": [
1962
- "q"
1963
- ]
1964
- },
1965
- "dmoz": {
1966
- "domains": [
1967
- "dmoz.org",
1968
- "editors.dmoz.org"
1969
- ],
1970
- "parameters": [
1971
- "q"
1972
- ]
1973
- },
1974
- "Ecosia": {
1975
- "domains": [
1976
- "ecosia.org"
1977
- ],
1978
- "parameters": [
1979
- "q"
1980
- ]
1981
- },
1982
- "Maxwebsearch": {
1983
- "domains": [
1984
- "maxwebsearch.com"
1985
- ],
1986
- "parameters": [
1987
- "query"
1988
- ]
1989
- },
1990
- "Euroseek": {
1991
- "domains": [
1992
- "www.euroseek.com"
1993
- ],
1994
- "parameters": [
1995
- "string"
1996
- ]
1997
- },
1998
- "Bing": {
1999
- "domains": [
2000
- "bing.com",
2001
- "www.bing.com",
2002
- "msnbc.msn.com",
2003
- "dizionario.it.msn.com",
2004
- "cc.bingj.com",
2005
- "m.bing.com"
2006
- ],
2007
- "parameters": [
2008
- "q",
2009
- "Q"
2010
- ]
2011
- },
2012
- "X-recherche": {
2013
- "domains": [
2014
- "www.x-recherche.com"
2015
- ],
2016
- "parameters": [
2017
- "MOTS"
2018
- ]
2019
- },
2020
- "Yandex Images": {
2021
- "domains": [
2022
- "images.yandex.ru",
2023
- "images.yandex.ua",
2024
- "images.yandex.com"
2025
- ],
2026
- "parameters": [
2027
- "text"
2028
- ]
2029
- },
2030
- "GMX": {
2031
- "domains": [
2032
- "suche.gmx.net"
2033
- ],
2034
- "parameters": [
2035
- "su"
2036
- ]
2037
- },
2038
- "Daemon search": {
2039
- "domains": [
2040
- "daemon-search.com",
2041
- "my.daemon-search.com"
2042
- ],
2043
- "parameters": [
2044
- "q"
2045
- ]
2046
- },
2047
- "Jungle Key": {
2048
- "domains": [
2049
- "junglekey.com",
2050
- "junglekey.fr"
2051
- ],
2052
- "parameters": [
2053
- "query"
2054
- ]
2055
- },
2056
- "Firstfind": {
2057
- "domains": [
2058
- "www.firstsfind.com"
2059
- ],
2060
- "parameters": [
2061
- "qry"
2062
- ]
2063
- },
2064
- "Crawler": {
2065
- "domains": [
2066
- "www.crawler.com"
2067
- ],
2068
- "parameters": [
2069
- "q"
2070
- ]
2071
- },
2072
- "Holmes": {
2073
- "domains": [
2074
- "holmes.ge"
2075
- ],
2076
- "parameters": [
2077
- "q"
2078
- ]
2079
- },
2080
- "Charter": {
2081
- "domains": [
2082
- "www.charter.net"
2083
- ],
2084
- "parameters": [
2085
- "q"
2086
- ]
2087
- },
2088
- "Ilse": {
2089
- "domains": [
2090
- "www.ilse.nl"
2091
- ],
2092
- "parameters": [
2093
- "search_for"
2094
- ]
2095
- },
2096
- "earthlink": {
2097
- "domains": [
2098
- "search.earthlink.net"
2099
- ],
2100
- "parameters": [
2101
- "q"
2102
- ]
2103
- },
2104
- "Qualigo": {
2105
- "domains": [
2106
- "www.qualigo.at",
2107
- "www.qualigo.ch",
2108
- "www.qualigo.de",
2109
- "www.qualigo.nl"
2110
- ],
2111
- "parameters": [
2112
- "q"
2113
- ]
2114
- },
2115
- "El Mundo": {
2116
- "domains": [
2117
- "ariadna.elmundo.es"
2118
- ],
2119
- "parameters": [
2120
- "q"
2121
- ]
2122
- },
2123
- "Metager2": {
2124
- "domains": [
2125
- "metager2.de"
2126
- ],
2127
- "parameters": [
2128
- "q"
2129
- ]
2130
- },
2131
- "Forestle": {
2132
- "domains": [
2133
- "forestle.org",
2134
- "www.forestle.org",
2135
- "forestle.mobi"
2136
- ],
2137
- "parameters": [
2138
- "q"
2139
- ]
2140
- },
2141
- "Search.ch": {
2142
- "domains": [
2143
- "www.search.ch"
2144
- ],
2145
- "parameters": [
2146
- "q"
2147
- ]
2148
- },
2149
- "Meinestadt": {
2150
- "domains": [
2151
- "www.meinestadt.de"
2152
- ],
2153
- "parameters": [
2154
- "words"
2155
- ]
2156
- },
2157
- "Freshweather": {
2158
- "domains": [
2159
- "www.fresh-weather.com"
2160
- ],
2161
- "parameters": [
2162
- "q"
2163
- ]
2164
- },
2165
- "AllTheWeb": {
2166
- "domains": [
2167
- "www.alltheweb.com"
2168
- ],
2169
- "parameters": [
2170
- "q"
2171
- ]
2172
- },
2173
- "Zoek": {
2174
- "domains": [
2175
- "www3.zoek.nl"
2176
- ],
2177
- "parameters": [
2178
- "q"
2179
- ]
2180
- },
2181
- "Daum": {
2182
- "domains": [
2183
- "search.daum.net"
2184
- ],
2185
- "parameters": [
2186
- "q"
2187
- ]
2188
- },
2189
- "Marktplaats": {
2190
- "domains": [
2191
- "www.marktplaats.nl"
2192
- ],
2193
- "parameters": [
2194
- "query"
2195
- ]
2196
- },
2197
- "suche.info": {
2198
- "domains": [
2199
- "suche.info"
2200
- ],
2201
- "parameters": [
2202
- "q"
2203
- ]
2204
- },
2205
- "Google News": {
2206
- "domains": [
2207
- "news.google.ac",
2208
- "news.google.ad",
2209
- "news.google.ae",
2210
- "news.google.am",
2211
- "news.google.as",
2212
- "news.google.at",
2213
- "news.google.az",
2214
- "news.google.ba",
2215
- "news.google.be",
2216
- "news.google.bf",
2217
- "news.google.bg",
2218
- "news.google.bi",
2219
- "news.google.bj",
2220
- "news.google.bs",
2221
- "news.google.by",
2222
- "news.google.ca",
2223
- "news.google.cat",
2224
- "news.google.cc",
2225
- "news.google.cd",
2226
- "news.google.cf",
2227
- "news.google.cg",
2228
- "news.google.ch",
2229
- "news.google.ci",
2230
- "news.google.cl",
2231
- "news.google.cm",
2232
- "news.google.cn",
2233
- "news.google.co.bw",
2234
- "news.google.co.ck",
2235
- "news.google.co.cr",
2236
- "news.google.co.id",
2237
- "news.google.co.il",
2238
- "news.google.co.in",
2239
- "news.google.co.jp",
2240
- "news.google.co.ke",
2241
- "news.google.co.kr",
2242
- "news.google.co.ls",
2243
- "news.google.co.ma",
2244
- "news.google.co.mz",
2245
- "news.google.co.nz",
2246
- "news.google.co.th",
2247
- "news.google.co.tz",
2248
- "news.google.co.ug",
2249
- "news.google.co.uk",
2250
- "news.google.co.uz",
2251
- "news.google.co.ve",
2252
- "news.google.co.vi",
2253
- "news.google.co.za",
2254
- "news.google.co.zm",
2255
- "news.google.co.zw",
2256
- "news.google.com",
2257
- "news.google.com.af",
2258
- "news.google.com.ag",
2259
- "news.google.com.ai",
2260
- "news.google.com.ar",
2261
- "news.google.com.au",
2262
- "news.google.com.bd",
2263
- "news.google.com.bh",
2264
- "news.google.com.bn",
2265
- "news.google.com.bo",
2266
- "news.google.com.br",
2267
- "news.google.com.by",
2268
- "news.google.com.bz",
2269
- "news.google.com.co",
2270
- "news.google.com.cu",
2271
- "news.google.com.cy",
2272
- "news.google.com.do",
2273
- "news.google.com.ec",
2274
- "news.google.com.eg",
2275
- "news.google.com.et",
2276
- "news.google.com.fj",
2277
- "news.google.com.gh",
2278
- "news.google.com.gi",
2279
- "news.google.com.gt",
2280
- "news.google.com.hk",
2281
- "news.google.com.jm",
2282
- "news.google.com.kh",
2283
- "news.google.com.kh",
2284
- "news.google.com.kw",
2285
- "news.google.com.lb",
2286
- "news.google.com.lc",
2287
- "news.google.com.ly",
2288
- "news.google.com.mt",
2289
- "news.google.com.mx",
2290
- "news.google.com.my",
2291
- "news.google.com.na",
2292
- "news.google.com.nf",
2293
- "news.google.com.ng",
2294
- "news.google.com.ni",
2295
- "news.google.com.np",
2296
- "news.google.com.om",
2297
- "news.google.com.pa",
2298
- "news.google.com.pe",
2299
- "news.google.com.ph",
2300
- "news.google.com.pk",
2301
- "news.google.com.pr",
2302
- "news.google.com.py",
2303
- "news.google.com.qa",
2304
- "news.google.com.sa",
2305
- "news.google.com.sb",
2306
- "news.google.com.sg",
2307
- "news.google.com.sl",
2308
- "news.google.com.sv",
2309
- "news.google.com.tj",
2310
- "news.google.com.tn",
2311
- "news.google.com.tr",
2312
- "news.google.com.tw",
2313
- "news.google.com.ua",
2314
- "news.google.com.uy",
2315
- "news.google.com.vc",
2316
- "news.google.com.vn",
2317
- "news.google.cv",
2318
- "news.google.cz",
2319
- "news.google.de",
2320
- "news.google.dj",
2321
- "news.google.dk",
2322
- "news.google.dm",
2323
- "news.google.dz",
2324
- "news.google.ee",
2325
- "news.google.es",
2326
- "news.google.fi",
2327
- "news.google.fm",
2328
- "news.google.fr",
2329
- "news.google.ga",
2330
- "news.google.gd",
2331
- "news.google.ge",
2332
- "news.google.gf",
2333
- "news.google.gg",
2334
- "news.google.gl",
2335
- "news.google.gm",
2336
- "news.google.gp",
2337
- "news.google.gr",
2338
- "news.google.gy",
2339
- "news.google.hn",
2340
- "news.google.hr",
2341
- "news.google.ht",
2342
- "news.google.hu",
2343
- "news.google.ie",
2344
- "news.google.im",
2345
- "news.google.io",
2346
- "news.google.iq",
2347
- "news.google.is",
2348
- "news.google.it",
2349
- "news.google.it.ao",
2350
- "news.google.je",
2351
- "news.google.jo",
2352
- "news.google.kg",
2353
- "news.google.ki",
2354
- "news.google.kz",
2355
- "news.google.la",
2356
- "news.google.li",
2357
- "news.google.lk",
2358
- "news.google.lt",
2359
- "news.google.lu",
2360
- "news.google.lv",
2361
- "news.google.md",
2362
- "news.google.me",
2363
- "news.google.mg",
2364
- "news.google.mk",
2365
- "news.google.ml",
2366
- "news.google.mn",
2367
- "news.google.ms",
2368
- "news.google.mu",
2369
- "news.google.mv",
2370
- "news.google.mw",
2371
- "news.google.ne",
2372
- "news.google.nl",
2373
- "news.google.no",
2374
- "news.google.nr",
2375
- "news.google.nu",
2376
- "news.google.pl",
2377
- "news.google.pn",
2378
- "news.google.ps",
2379
- "news.google.pt",
2380
- "news.google.ro",
2381
- "news.google.rs",
2382
- "news.google.ru",
2383
- "news.google.rw",
2384
- "news.google.sc",
2385
- "news.google.se",
2386
- "news.google.sh",
2387
- "news.google.si",
2388
- "news.google.sk",
2389
- "news.google.sm",
2390
- "news.google.sn",
2391
- "news.google.so",
2392
- "news.google.st",
2393
- "news.google.td",
2394
- "news.google.tg",
2395
- "news.google.tk",
2396
- "news.google.tl",
2397
- "news.google.tm",
2398
- "news.google.to",
2399
- "news.google.tt",
2400
- "news.google.us",
2401
- "news.google.vg",
2402
- "news.google.vu",
2403
- "news.google.ws"
2404
- ],
2405
- "parameters": [
2406
- "q"
2407
- ]
2408
- },
2409
- "Zoohoo": {
2410
- "domains": [
2411
- "zoohoo.cz"
2412
- ],
2413
- "parameters": [
2414
- "q"
2415
- ]
2416
- },
2417
- "Seznam": {
2418
- "domains": [
2419
- "search.seznam.cz"
2420
- ],
2421
- "parameters": [
2422
- "q"
2423
- ]
2424
- },
2425
- "Online.no": {
2426
- "domains": [
2427
- "online.no"
2428
- ],
2429
- "parameters": [
2430
- "q"
2431
- ]
2432
- },
2433
- "Eurip": {
2434
- "domains": [
2435
- "www.eurip.com"
2436
- ],
2437
- "parameters": [
2438
- "q"
2439
- ]
2440
- },
2441
- "all.by": {
2442
- "domains": [
2443
- "all.by"
2444
- ],
2445
- "parameters": [
2446
- "query"
2447
- ]
2448
- },
2449
- "Road Runner Search": {
2450
- "domains": [
2451
- "search.rr.com"
2452
- ],
2453
- "parameters": [
2454
- "q"
2455
- ]
2456
- },
2457
- "Opplysningen 1881": {
2458
- "domains": [
2459
- "www.1881.no"
2460
- ],
2461
- "parameters": [
2462
- "Query"
2463
- ]
2464
- },
2465
- "YouGoo": {
2466
- "domains": [
2467
- "www.yougoo.fr"
2468
- ],
2469
- "parameters": [
2470
- "q"
2471
- ]
2472
- },
2473
- "Bing Images": {
2474
- "domains": [
2475
- "bing.com/images/search",
2476
- "www.bing.com/images/search"
2477
- ],
2478
- "parameters": [
2479
- "q",
2480
- "Q"
2481
- ]
2482
- },
2483
- "Geona": {
2484
- "domains": [
2485
- "geona.net"
2486
- ],
2487
- "parameters": [
2488
- "q"
2489
- ]
2490
- },
2491
- "Nate": {
2492
- "domains": [
2493
- "search.nate.com"
2494
- ],
2495
- "parameters": [
2496
- "q"
2497
- ]
2498
- },
2499
- "T-Online": {
2500
- "domains": [
2501
- "suche.t-online.de",
2502
- "brisbane.t-online.de",
2503
- "navigationshilfe.t-online.de"
2504
- ],
2505
- "parameters": [
2506
- "q"
2507
- ]
2508
- },
2509
- "Hotbot": {
2510
- "domains": [
2511
- "www.hotbot.com"
2512
- ],
2513
- "parameters": [
2514
- "query"
2515
- ]
2516
- },
2517
- "Kvasir": {
2518
- "domains": [
2519
- "www.kvasir.no"
2520
- ],
2521
- "parameters": [
2522
- "q"
2523
- ]
2524
- },
2525
- "Babylon": {
2526
- "domains": [
2527
- "search.babylon.com",
2528
- "searchassist.babylon.com"
2529
- ],
2530
- "parameters": [
2531
- "q"
2532
- ]
2533
- },
2534
- "Excite": {
2535
- "domains": [
2536
- "search.excite.it",
2537
- "search.excite.fr",
2538
- "search.excite.de",
2539
- "search.excite.co.uk",
2540
- "serach.excite.es",
2541
- "search.excite.nl",
2542
- "msxml.excite.com",
2543
- "www.excite.co.jp"
2544
- ],
2545
- "parameters": [
2546
- "q",
2547
- "search"
2548
- ]
2549
- },
2550
- "qip": {
2551
- "domains": [
2552
- "search.qip.ru"
2553
- ],
2554
- "parameters": [
2555
- "query"
2556
- ]
2557
- },
2558
- "Yahoo!": {
2559
- "domains": [
2560
- "search.yahoo.com",
2561
- "yahoo.com",
2562
- "ar.search.yahoo.com",
2563
- "ar.yahoo.com",
2564
- "au.search.yahoo.com",
2565
- "au.yahoo.com",
2566
- "br.search.yahoo.com",
2567
- "br.yahoo.com",
2568
- "cade.searchde.yahoo.com",
2569
- "cade.yahoo.com",
2570
- "chinese.searchinese.yahoo.com",
2571
- "chinese.yahoo.com",
2572
- "cn.search.yahoo.com",
2573
- "cn.yahoo.com",
2574
- "de.search.yahoo.com",
2575
- "de.yahoo.com",
2576
- "dk.search.yahoo.com",
2577
- "dk.yahoo.com",
2578
- "es.search.yahoo.com",
2579
- "es.yahoo.com",
2580
- "espanol.searchpanol.yahoo.com",
2581
- "espanol.searchpanol.yahoo.com",
2582
- "espanol.yahoo.com",
2583
- "espanol.yahoo.com",
2584
- "fr.search.yahoo.com",
2585
- "fr.yahoo.com",
2586
- "ie.search.yahoo.com",
2587
- "ie.yahoo.com",
2588
- "it.search.yahoo.com",
2589
- "it.yahoo.com",
2590
- "kr.search.yahoo.com",
2591
- "kr.yahoo.com",
2592
- "mx.search.yahoo.com",
2593
- "mx.yahoo.com",
2594
- "no.search.yahoo.com",
2595
- "no.yahoo.com",
2596
- "nz.search.yahoo.com",
2597
- "nz.yahoo.com",
2598
- "one.cn.yahoo.com",
2599
- "one.searchn.yahoo.com",
2600
- "qc.search.yahoo.com",
2601
- "qc.search.yahoo.com",
2602
- "qc.search.yahoo.com",
2603
- "qc.yahoo.com",
2604
- "qc.yahoo.com",
2605
- "se.search.yahoo.com",
2606
- "se.search.yahoo.com",
2607
- "se.yahoo.com",
2608
- "search.searcharch.yahoo.com",
2609
- "search.yahoo.com",
2610
- "uk.search.yahoo.com",
2611
- "uk.yahoo.com",
2612
- "www.yahoo.co.jp",
2613
- "search.yahoo.co.jp",
2614
- "www.cercato.it",
2615
- "search.offerbox.com",
2616
- "ys.mirostart.com"
2617
- ],
2618
- "parameters": [
2619
- "p",
2620
- "q"
2621
- ]
2622
- },
2623
- "URL.ORGanizier": {
2624
- "domains": [
2625
- "www.url.org"
2626
- ],
2627
- "parameters": [
2628
- "q"
2629
- ]
2630
- },
2631
- "Witch": {
2632
- "domains": [
2633
- "www.witch.de"
2634
- ],
2635
- "parameters": [
2636
- "search"
2637
- ]
2638
- },
2639
- "Mister Wong": {
2640
- "domains": [
2641
- "www.mister-wong.com",
2642
- "www.mister-wong.de"
2643
- ],
2644
- "parameters": [
2645
- "Keywords"
2646
- ]
2647
- },
2648
- "Startsiden": {
2649
- "domains": [
2650
- "www.startsiden.no"
2651
- ],
2652
- "parameters": [
2653
- "q"
2654
- ]
2655
- },
2656
- "Web.de": {
2657
- "domains": [
2658
- "suche.web.de"
2659
- ],
2660
- "parameters": [
2661
- "su"
2662
- ]
2663
- },
2664
- "Ask": {
2665
- "domains": [
2666
- "ask.com",
2667
- "www.ask.com",
2668
- "web.ask.com",
2669
- "int.ask.com",
2670
- "mws.ask.com",
2671
- "uk.ask.com",
2672
- "images.ask.com",
2673
- "ask.reference.com",
2674
- "www.askkids.com",
2675
- "iwon.ask.com",
2676
- "www.ask.co.uk",
2677
- "www.qbyrd.com",
2678
- "search-results.com",
2679
- "uk.search-results.com",
2680
- "www.search-results.com",
2681
- "int.search-results.com"
2682
- ],
2683
- "parameters": [
2684
- "q"
2685
- ]
2686
- },
2687
- "Centrum": {
2688
- "domains": [
2689
- "serach.centrum.cz",
2690
- "morfeo.centrum.cz"
2691
- ],
2692
- "parameters": [
2693
- "q"
2694
- ]
2695
- },
2696
- "Everyclick": {
2697
- "domains": [
2698
- "www.everyclick.com"
2699
- ],
2700
- "parameters": [
2701
- "keyword"
2702
- ]
2703
- },
2704
- "Google Video": {
2705
- "domains": [
2706
- "video.google.com"
2707
- ],
2708
- "parameters": [
2709
- "q"
2710
- ]
2711
- },
2712
- "Delfi": {
2713
- "domains": [
2714
- "otsing.delfi.ee"
2715
- ],
2716
- "parameters": [
2717
- "q"
2718
- ]
2719
- },
2720
- "blekko": {
2721
- "domains": [
2722
- "blekko.com"
2723
- ],
2724
- "parameters": [
2725
- "q"
2726
- ]
2727
- },
2728
- "Jyxo": {
2729
- "domains": [
2730
- "jyxo.1188.cz"
2731
- ],
2732
- "parameters": [
2733
- "q"
2734
- ]
2735
- },
2736
- "Kataweb": {
2737
- "domains": [
2738
- "www.kataweb.it"
2739
- ],
2740
- "parameters": [
2741
- "q"
2742
- ]
2743
- },
2744
- "uol.com.br": {
2745
- "domains": [
2746
- "busca.uol.com.br"
2747
- ],
2748
- "parameters": [
2749
- "q"
2750
- ]
2751
- },
2752
- "Arianna": {
2753
- "domains": [
2754
- "arianna.libero.it",
2755
- "www.arianna.com"
2756
- ],
2757
- "parameters": [
2758
- "query"
2759
- ]
2760
- },
2761
- "Mamma": {
2762
- "domains": [
2763
- "www.mamma.com",
2764
- "mamma75.mamma.com"
2765
- ],
2766
- "parameters": [
2767
- "query"
2768
- ]
2769
- },
2770
- "Yatedo": {
2771
- "domains": [
2772
- "www.yatedo.com",
2773
- "www.yatedo.fr"
2774
- ],
2775
- "parameters": [
2776
- "q"
2777
- ]
2778
- },
2779
- "Twingly": {
2780
- "domains": [
2781
- "www.twingly.com"
2782
- ],
2783
- "parameters": [
2784
- "q"
2785
- ]
2786
- },
2787
- "Delfi latvia": {
2788
- "domains": [
2789
- "smart.delfi.lv"
2790
- ],
2791
- "parameters": [
2792
- "q"
2793
- ]
2794
- },
2795
- "PriceRunner": {
2796
- "domains": [
2797
- "www.pricerunner.co.uk"
2798
- ],
2799
- "parameters": [
2800
- "q"
2801
- ]
2802
- },
2803
- "Rakuten": {
2804
- "domains": [
2805
- "websearch.rakuten.co.jp"
2806
- ],
2807
- "parameters": [
2808
- "qt"
2809
- ]
2810
- },
2811
- "Google": {
2812
- "domains": [
2813
- "www.google.com",
2814
- "www.google.ac",
2815
- "www.google.ad",
2816
- "www.google.com.af",
2817
- "www.google.com.ag",
2818
- "www.google.com.ai",
2819
- "www.google.am",
2820
- "www.google.it.ao",
2821
- "www.google.com.ar",
2822
- "www.google.as",
2823
- "www.google.at",
2824
- "www.google.com.au",
2825
- "www.google.az",
2826
- "www.google.ba",
2827
- "www.google.com.bd",
2828
- "www.google.be",
2829
- "www.google.bf",
2830
- "www.google.bg",
2831
- "www.google.com.bh",
2832
- "www.google.bi",
2833
- "www.google.bj",
2834
- "www.google.com.bn",
2835
- "www.google.com.bo",
2836
- "www.google.com.br",
2837
- "www.google.bs",
2838
- "www.google.co.bw",
2839
- "www.google.com.by",
2840
- "www.google.by",
2841
- "www.google.com.bz",
2842
- "www.google.ca",
2843
- "www.google.com.kh",
2844
- "www.google.cc",
2845
- "www.google.cd",
2846
- "www.google.cf",
2847
- "www.google.cat",
2848
- "www.google.cg",
2849
- "www.google.ch",
2850
- "www.google.ci",
2851
- "www.google.co.ck",
2852
- "www.google.cl",
2853
- "www.google.cm",
2854
- "www.google.cn",
2855
- "www.google.com.co",
2856
- "www.google.co.cr",
2857
- "www.google.com.cu",
2858
- "www.google.cv",
2859
- "www.google.com.cy",
2860
- "www.google.cz",
2861
- "www.google.de",
2862
- "www.google.dj",
2863
- "www.google.dk",
2864
- "www.google.dm",
2865
- "www.google.com.do",
2866
- "www.google.dz",
2867
- "www.google.com.ec",
2868
- "www.google.ee",
2869
- "www.google.com.eg",
2870
- "www.google.es",
2871
- "www.google.com.et",
2872
- "www.google.fi",
2873
- "www.google.com.fj",
2874
- "www.google.fm",
2875
- "www.google.fr",
2876
- "www.google.ga",
2877
- "www.google.gd",
2878
- "www.google.ge",
2879
- "www.google.gf",
2880
- "www.google.gg",
2881
- "www.google.com.gh",
2882
- "www.google.com.gi",
2883
- "www.google.gl",
2884
- "www.google.gm",
2885
- "www.google.gp",
2886
- "www.google.gr",
2887
- "www.google.com.gt",
2888
- "www.google.gy",
2889
- "www.google.com.hk",
2890
- "www.google.hn",
2891
- "www.google.hr",
2892
- "www.google.ht",
2893
- "www.google.hu",
2894
- "www.google.co.id",
2895
- "www.google.iq",
2896
- "www.google.ie",
2897
- "www.google.co.il",
2898
- "www.google.im",
2899
- "www.google.co.in",
2900
- "www.google.io",
2901
- "www.google.is",
2902
- "www.google.it",
2903
- "www.google.je",
2904
- "www.google.com.jm",
2905
- "www.google.jo",
2906
- "www.google.co.jp",
2907
- "www.google.co.ke",
2908
- "www.google.com.kh",
2909
- "www.google.ki",
2910
- "www.google.kg",
2911
- "www.google.co.kr",
2912
- "www.google.com.kw",
2913
- "www.google.kz",
2914
- "www.google.la",
2915
- "www.google.com.lb",
2916
- "www.google.com.lc",
2917
- "www.google.li",
2918
- "www.google.lk",
2919
- "www.google.co.ls",
2920
- "www.google.lt",
2921
- "www.google.lu",
2922
- "www.google.lv",
2923
- "www.google.com.ly",
2924
- "www.google.co.ma",
2925
- "www.google.md",
2926
- "www.google.me",
2927
- "www.google.mg",
2928
- "www.google.mk",
2929
- "www.google.ml",
2930
- "www.google.mn",
2931
- "www.google.ms",
2932
- "www.google.com.mt",
2933
- "www.google.mu",
2934
- "www.google.mv",
2935
- "www.google.mw",
2936
- "www.google.com.mx",
2937
- "www.google.com.my",
2938
- "www.google.co.mz",
2939
- "www.google.com.na",
2940
- "www.google.ne",
2941
- "www.google.com.nf",
2942
- "www.google.com.ng",
2943
- "www.google.com.ni",
2944
- "www.google.nl",
2945
- "www.google.no",
2946
- "www.google.com.np",
2947
- "www.google.nr",
2948
- "www.google.nu",
2949
- "www.google.co.nz",
2950
- "www.google.com.om",
2951
- "www.google.com.pa",
2952
- "www.google.com.pe",
2953
- "www.google.com.ph",
2954
- "www.google.com.pk",
2955
- "www.google.pl",
2956
- "www.google.pn",
2957
- "www.google.com.pr",
2958
- "www.google.ps",
2959
- "www.google.pt",
2960
- "www.google.com.py",
2961
- "www.google.com.qa",
2962
- "www.google.ro",
2963
- "www.google.rs",
2964
- "www.google.ru",
2965
- "www.google.rw",
2966
- "www.google.com.sa",
2967
- "www.google.com.sb",
2968
- "www.google.sc",
2969
- "www.google.se",
2970
- "www.google.com.sg",
2971
- "www.google.sh",
2972
- "www.google.si",
2973
- "www.google.sk",
2974
- "www.google.com.sl",
2975
- "www.google.sn",
2976
- "www.google.sm",
2977
- "www.google.so",
2978
- "www.google.st",
2979
- "www.google.com.sv",
2980
- "www.google.td",
2981
- "www.google.tg",
2982
- "www.google.co.th",
2983
- "www.google.com.tj",
2984
- "www.google.tk",
2985
- "www.google.tl",
2986
- "www.google.tm",
2987
- "www.google.to",
2988
- "www.google.com.tn",
2989
- "www.google.com.tr",
2990
- "www.google.tt",
2991
- "www.google.com.tw",
2992
- "www.google.co.tz",
2993
- "www.google.com.ua",
2994
- "www.google.co.ug",
2995
- "www.google.ae",
2996
- "www.google.co.uk",
2997
- "www.google.us",
2998
- "www.google.com.uy",
2999
- "www.google.co.uz",
3000
- "www.google.com.vc",
3001
- "www.google.co.ve",
3002
- "www.google.vg",
3003
- "www.google.co.vi",
3004
- "www.google.com.vn",
3005
- "www.google.vu",
3006
- "www.google.ws",
3007
- "www.google.co.za",
3008
- "www.google.co.zm",
3009
- "www.google.co.zw",
3010
- "google.com",
3011
- "google.ac",
3012
- "google.ad",
3013
- "google.com.af",
3014
- "google.com.ag",
3015
- "google.com.ai",
3016
- "google.am",
3017
- "google.it.ao",
3018
- "google.com.ar",
3019
- "google.as",
3020
- "google.at",
3021
- "google.com.au",
3022
- "google.az",
3023
- "google.ba",
3024
- "google.com.bd",
3025
- "google.be",
3026
- "google.bf",
3027
- "google.bg",
3028
- "google.com.bh",
3029
- "google.bi",
3030
- "google.bj",
3031
- "google.com.bn",
3032
- "google.com.bo",
3033
- "google.com.br",
3034
- "google.bs",
3035
- "google.co.bw",
3036
- "google.com.by",
3037
- "google.by",
3038
- "google.com.bz",
3039
- "google.ca",
3040
- "google.com.kh",
3041
- "google.cc",
3042
- "google.cd",
3043
- "google.cf",
3044
- "google.cat",
3045
- "google.cg",
3046
- "google.ch",
3047
- "google.ci",
3048
- "google.co.ck",
3049
- "google.cl",
3050
- "google.cm",
3051
- "google.cn",
3052
- "google.com.co",
3053
- "google.co.cr",
3054
- "google.com.cu",
3055
- "google.cv",
3056
- "google.com.cy",
3057
- "google.cz",
3058
- "google.de",
3059
- "google.dj",
3060
- "google.dk",
3061
- "google.dm",
3062
- "google.com.do",
3063
- "google.dz",
3064
- "google.com.ec",
3065
- "google.ee",
3066
- "google.com.eg",
3067
- "google.es",
3068
- "google.com.et",
3069
- "google.fi",
3070
- "google.com.fj",
3071
- "google.fm",
3072
- "google.fr",
3073
- "google.ga",
3074
- "google.gd",
3075
- "google.ge",
3076
- "google.gf",
3077
- "google.gg",
3078
- "google.com.gh",
3079
- "google.com.gi",
3080
- "google.gl",
3081
- "google.gm",
3082
- "google.gp",
3083
- "google.gr",
3084
- "google.com.gt",
3085
- "google.gy",
3086
- "google.com.hk",
3087
- "google.hn",
3088
- "google.hr",
3089
- "google.ht",
3090
- "google.hu",
3091
- "google.co.id",
3092
- "google.iq",
3093
- "google.ie",
3094
- "google.co.il",
3095
- "google.im",
3096
- "google.co.in",
3097
- "google.io",
3098
- "google.is",
3099
- "google.it",
3100
- "google.je",
3101
- "google.com.jm",
3102
- "google.jo",
3103
- "google.co.jp",
3104
- "google.co.ke",
3105
- "google.com.kh",
3106
- "google.ki",
3107
- "google.kg",
3108
- "google.co.kr",
3109
- "google.com.kw",
3110
- "google.kz",
3111
- "google.la",
3112
- "google.com.lb",
3113
- "google.com.lc",
3114
- "google.li",
3115
- "google.lk",
3116
- "google.co.ls",
3117
- "google.lt",
3118
- "google.lu",
3119
- "google.lv",
3120
- "google.com.ly",
3121
- "google.co.ma",
3122
- "google.md",
3123
- "google.me",
3124
- "google.mg",
3125
- "google.mk",
3126
- "google.ml",
3127
- "google.mn",
3128
- "google.ms",
3129
- "google.com.mt",
3130
- "google.mu",
3131
- "google.mv",
3132
- "google.mw",
3133
- "google.com.mx",
3134
- "google.com.my",
3135
- "google.co.mz",
3136
- "google.com.na",
3137
- "google.ne",
3138
- "google.com.nf",
3139
- "google.com.ng",
3140
- "google.com.ni",
3141
- "google.nl",
3142
- "google.no",
3143
- "google.com.np",
3144
- "google.nr",
3145
- "google.nu",
3146
- "google.co.nz",
3147
- "google.com.om",
3148
- "google.com.pa",
3149
- "google.com.pe",
3150
- "google.com.ph",
3151
- "google.com.pk",
3152
- "google.pl",
3153
- "google.pn",
3154
- "google.com.pr",
3155
- "google.ps",
3156
- "google.pt",
3157
- "google.com.py",
3158
- "google.com.qa",
3159
- "google.ro",
3160
- "google.rs",
3161
- "google.ru",
3162
- "google.rw",
3163
- "google.com.sa",
3164
- "google.com.sb",
3165
- "google.sc",
3166
- "google.se",
3167
- "google.com.sg",
3168
- "google.sh",
3169
- "google.si",
3170
- "google.sk",
3171
- "google.com.sl",
3172
- "google.sn",
3173
- "google.sm",
3174
- "google.so",
3175
- "google.st",
3176
- "google.com.sv",
3177
- "google.td",
3178
- "google.tg",
3179
- "google.co.th",
3180
- "google.com.tj",
3181
- "google.tk",
3182
- "google.tl",
3183
- "google.tm",
3184
- "google.to",
3185
- "google.com.tn",
3186
- "google.com.tr",
3187
- "google.tt",
3188
- "google.com.tw",
3189
- "google.co.tz",
3190
- "google.com.ua",
3191
- "google.co.ug",
3192
- "google.ae",
3193
- "google.co.uk",
3194
- "google.us",
3195
- "google.com.uy",
3196
- "google.co.uz",
3197
- "google.com.vc",
3198
- "google.co.ve",
3199
- "google.vg",
3200
- "google.co.vi",
3201
- "google.com.vn",
3202
- "google.vu",
3203
- "google.ws",
3204
- "google.co.za",
3205
- "google.co.zm",
3206
- "google.co.zw",
3207
- "search.avg.com",
3208
- "isearch.avg.com",
3209
- "www.cnn.com",
3210
- "darkoogle.com",
3211
- "search.darkoogle.com",
3212
- "search.foxtab.com",
3213
- "www.gooofullsearch.com",
3214
- "search.hiyo.com",
3215
- "search.incredimail.com",
3216
- "search1.incredimail.com",
3217
- "search2.incredimail.com",
3218
- "search3.incredimail.com",
3219
- "search4.incredimail.com",
3220
- "search.incredibar.com",
3221
- "search.sweetim.com",
3222
- "www.fastweb.it",
3223
- "search.juno.com",
3224
- "find.tdc.dk",
3225
- "searchresults.verizon.com",
3226
- "search.walla.co.il",
3227
- "search.alot.com",
3228
- "www.googleearth.de",
3229
- "www.googleearth.fr",
3230
- "webcache.googleusercontent.com",
3231
- "encrypted.google.com",
3232
- "googlesyndicatedsearch.com"
3233
- ],
3234
- "parameters": [
3235
- "q",
3236
- "query",
3237
- "Keywords"
3238
- ]
3239
- },
3240
- "Google Blogsearch": {
3241
- "domains": [
3242
- "blogsearch.google.ac",
3243
- "blogsearch.google.ad",
3244
- "blogsearch.google.ae",
3245
- "blogsearch.google.am",
3246
- "blogsearch.google.as",
3247
- "blogsearch.google.at",
3248
- "blogsearch.google.az",
3249
- "blogsearch.google.ba",
3250
- "blogsearch.google.be",
3251
- "blogsearch.google.bf",
3252
- "blogsearch.google.bg",
3253
- "blogsearch.google.bi",
3254
- "blogsearch.google.bj",
3255
- "blogsearch.google.bs",
3256
- "blogsearch.google.by",
3257
- "blogsearch.google.ca",
3258
- "blogsearch.google.cat",
3259
- "blogsearch.google.cc",
3260
- "blogsearch.google.cd",
3261
- "blogsearch.google.cf",
3262
- "blogsearch.google.cg",
3263
- "blogsearch.google.ch",
3264
- "blogsearch.google.ci",
3265
- "blogsearch.google.cl",
3266
- "blogsearch.google.cm",
3267
- "blogsearch.google.cn",
3268
- "blogsearch.google.co.bw",
3269
- "blogsearch.google.co.ck",
3270
- "blogsearch.google.co.cr",
3271
- "blogsearch.google.co.id",
3272
- "blogsearch.google.co.il",
3273
- "blogsearch.google.co.in",
3274
- "blogsearch.google.co.jp",
3275
- "blogsearch.google.co.ke",
3276
- "blogsearch.google.co.kr",
3277
- "blogsearch.google.co.ls",
3278
- "blogsearch.google.co.ma",
3279
- "blogsearch.google.co.mz",
3280
- "blogsearch.google.co.nz",
3281
- "blogsearch.google.co.th",
3282
- "blogsearch.google.co.tz",
3283
- "blogsearch.google.co.ug",
3284
- "blogsearch.google.co.uk",
3285
- "blogsearch.google.co.uz",
3286
- "blogsearch.google.co.ve",
3287
- "blogsearch.google.co.vi",
3288
- "blogsearch.google.co.za",
3289
- "blogsearch.google.co.zm",
3290
- "blogsearch.google.co.zw",
3291
- "blogsearch.google.com",
3292
- "blogsearch.google.com.af",
3293
- "blogsearch.google.com.ag",
3294
- "blogsearch.google.com.ai",
3295
- "blogsearch.google.com.ar",
3296
- "blogsearch.google.com.au",
3297
- "blogsearch.google.com.bd",
3298
- "blogsearch.google.com.bh",
3299
- "blogsearch.google.com.bn",
3300
- "blogsearch.google.com.bo",
3301
- "blogsearch.google.com.br",
3302
- "blogsearch.google.com.by",
3303
- "blogsearch.google.com.bz",
3304
- "blogsearch.google.com.co",
3305
- "blogsearch.google.com.cu",
3306
- "blogsearch.google.com.cy",
3307
- "blogsearch.google.com.do",
3308
- "blogsearch.google.com.ec",
3309
- "blogsearch.google.com.eg",
3310
- "blogsearch.google.com.et",
3311
- "blogsearch.google.com.fj",
3312
- "blogsearch.google.com.gh",
3313
- "blogsearch.google.com.gi",
3314
- "blogsearch.google.com.gt",
3315
- "blogsearch.google.com.hk",
3316
- "blogsearch.google.com.jm",
3317
- "blogsearch.google.com.kh",
3318
- "blogsearch.google.com.kh",
3319
- "blogsearch.google.com.kw",
3320
- "blogsearch.google.com.lb",
3321
- "blogsearch.google.com.lc",
3322
- "blogsearch.google.com.ly",
3323
- "blogsearch.google.com.mt",
3324
- "blogsearch.google.com.mx",
3325
- "blogsearch.google.com.my",
3326
- "blogsearch.google.com.na",
3327
- "blogsearch.google.com.nf",
3328
- "blogsearch.google.com.ng",
3329
- "blogsearch.google.com.ni",
3330
- "blogsearch.google.com.np",
3331
- "blogsearch.google.com.om",
3332
- "blogsearch.google.com.pa",
3333
- "blogsearch.google.com.pe",
3334
- "blogsearch.google.com.ph",
3335
- "blogsearch.google.com.pk",
3336
- "blogsearch.google.com.pr",
3337
- "blogsearch.google.com.py",
3338
- "blogsearch.google.com.qa",
3339
- "blogsearch.google.com.sa",
3340
- "blogsearch.google.com.sb",
3341
- "blogsearch.google.com.sg",
3342
- "blogsearch.google.com.sl",
3343
- "blogsearch.google.com.sv",
3344
- "blogsearch.google.com.tj",
3345
- "blogsearch.google.com.tn",
3346
- "blogsearch.google.com.tr",
3347
- "blogsearch.google.com.tw",
3348
- "blogsearch.google.com.ua",
3349
- "blogsearch.google.com.uy",
3350
- "blogsearch.google.com.vc",
3351
- "blogsearch.google.com.vn",
3352
- "blogsearch.google.cv",
3353
- "blogsearch.google.cz",
3354
- "blogsearch.google.de",
3355
- "blogsearch.google.dj",
3356
- "blogsearch.google.dk",
3357
- "blogsearch.google.dm",
3358
- "blogsearch.google.dz",
3359
- "blogsearch.google.ee",
3360
- "blogsearch.google.es",
3361
- "blogsearch.google.fi",
3362
- "blogsearch.google.fm",
3363
- "blogsearch.google.fr",
3364
- "blogsearch.google.ga",
3365
- "blogsearch.google.gd",
3366
- "blogsearch.google.ge",
3367
- "blogsearch.google.gf",
3368
- "blogsearch.google.gg",
3369
- "blogsearch.google.gl",
3370
- "blogsearch.google.gm",
3371
- "blogsearch.google.gp",
3372
- "blogsearch.google.gr",
3373
- "blogsearch.google.gy",
3374
- "blogsearch.google.hn",
3375
- "blogsearch.google.hr",
3376
- "blogsearch.google.ht",
3377
- "blogsearch.google.hu",
3378
- "blogsearch.google.ie",
3379
- "blogsearch.google.im",
3380
- "blogsearch.google.io",
3381
- "blogsearch.google.iq",
3382
- "blogsearch.google.is",
3383
- "blogsearch.google.it",
3384
- "blogsearch.google.it.ao",
3385
- "blogsearch.google.je",
3386
- "blogsearch.google.jo",
3387
- "blogsearch.google.kg",
3388
- "blogsearch.google.ki",
3389
- "blogsearch.google.kz",
3390
- "blogsearch.google.la",
3391
- "blogsearch.google.li",
3392
- "blogsearch.google.lk",
3393
- "blogsearch.google.lt",
3394
- "blogsearch.google.lu",
3395
- "blogsearch.google.lv",
3396
- "blogsearch.google.md",
3397
- "blogsearch.google.me",
3398
- "blogsearch.google.mg",
3399
- "blogsearch.google.mk",
3400
- "blogsearch.google.ml",
3401
- "blogsearch.google.mn",
3402
- "blogsearch.google.ms",
3403
- "blogsearch.google.mu",
3404
- "blogsearch.google.mv",
3405
- "blogsearch.google.mw",
3406
- "blogsearch.google.ne",
3407
- "blogsearch.google.nl",
3408
- "blogsearch.google.no",
3409
- "blogsearch.google.nr",
3410
- "blogsearch.google.nu",
3411
- "blogsearch.google.pl",
3412
- "blogsearch.google.pn",
3413
- "blogsearch.google.ps",
3414
- "blogsearch.google.pt",
3415
- "blogsearch.google.ro",
3416
- "blogsearch.google.rs",
3417
- "blogsearch.google.ru",
3418
- "blogsearch.google.rw",
3419
- "blogsearch.google.sc",
3420
- "blogsearch.google.se",
3421
- "blogsearch.google.sh",
3422
- "blogsearch.google.si",
3423
- "blogsearch.google.sk",
3424
- "blogsearch.google.sm",
3425
- "blogsearch.google.sn",
3426
- "blogsearch.google.so",
3427
- "blogsearch.google.st",
3428
- "blogsearch.google.td",
3429
- "blogsearch.google.tg",
3430
- "blogsearch.google.tk",
3431
- "blogsearch.google.tl",
3432
- "blogsearch.google.tm",
3433
- "blogsearch.google.to",
3434
- "blogsearch.google.tt",
3435
- "blogsearch.google.us",
3436
- "blogsearch.google.vg",
3437
- "blogsearch.google.vu",
3438
- "blogsearch.google.ws"
3439
- ],
3440
- "parameters": [
3441
- "q"
3442
- ]
3443
- },
3444
- "Amazon": {
3445
- "domains": [
3446
- "amazon.com",
3447
- "www.amazon.com"
3448
- ],
3449
- "parameters": [
3450
- "keywords"
3451
- ]
3452
- },
3453
- "Hooseek.com": {
3454
- "domains": [
3455
- "www.hooseek.com"
3456
- ],
3457
- "parameters": [
3458
- "recherche"
3459
- ]
3460
- },
3461
- "Dalesearch": {
3462
- "domains": [
3463
- "www.dalesearch.com"
3464
- ],
3465
- "parameters": [
3466
- "q"
3467
- ]
3468
- },
3469
- "Alice Adsl": {
3470
- "domains": [
3471
- "rechercher.aliceadsl.fr"
3472
- ],
3473
- "parameters": [
3474
- "q"
3475
- ]
3476
- },
3477
- "soso.com": {
3478
- "domains": [
3479
- "www.soso.com"
3480
- ],
3481
- "parameters": [
3482
- "w"
3483
- ]
3484
- },
3485
- "Sogou": {
3486
- "domains": [
3487
- "www.sougou.com"
3488
- ],
3489
- "parameters": [
3490
- "query"
3491
- ]
3492
- },
3493
- "Hit-Parade": {
3494
- "domains": [
3495
- "req.-hit-parade.com",
3496
- "class.hit-parade.com",
3497
- "www.hit-parade.com"
3498
- ],
3499
- "parameters": [
3500
- "p7"
3501
- ]
3502
- },
3503
- "SearchCanvas": {
3504
- "domains": [
3505
- "www.searchcanvas.com"
3506
- ],
3507
- "parameters": [
3508
- "q"
3509
- ]
3510
- },
3511
- "Interia": {
3512
- "domains": [
3513
- "www.google.interia.pl"
3514
- ],
3515
- "parameters": [
3516
- "q"
3517
- ]
3518
- },
3519
- "Tiscali": {
3520
- "domains": [
3521
- "search.tiscali.it",
3522
- "search-dyn.tiscali.it",
3523
- "hledani.tiscali.cz"
3524
- ],
3525
- "parameters": [
3526
- "q",
3527
- "key"
3528
- ]
3529
- },
3530
- "Clix": {
3531
- "domains": [
3532
- "pesquisa.clix.pt"
3533
- ],
3534
- "parameters": [
3535
- "question"
3536
- ]
3537
- }
3538
- },
3539
- "email": {
3540
- "Outlook.com": {
3541
- "domains": [
3542
- "mail.live.com"
3543
- ]
3544
- },
3545
- "Orange Webmail": {
3546
- "domains": [
3547
- "orange.fr/webmail"
3548
- ]
3549
- },
3550
- "Yahoo! Mail": {
3551
- "domains": [
3552
- "mail.yahoo.net",
3553
- "mail.yahoo.com",
3554
- "mail.yahoo.co.uk"
3555
- ]
3556
- },
3557
- "Gmail": {
3558
- "domains": [
3559
- "mail.google.com"
3560
- ]
3561
- }
3562
- },
3563
- "social": {
3564
- "hi5": {
3565
- "domains": [
3566
- "hi5.com"
3567
- ]
3568
- },
3569
- "Friendster": {
3570
- "domains": [
3571
- "friendster.com"
3572
- ]
3573
- },
3574
- "Weibo": {
3575
- "domains": [
3576
- "weibo.com",
3577
- "t.cn"
3578
- ]
3579
- },
3580
- "Xanga": {
3581
- "domains": [
3582
- "xanga.com"
3583
- ]
3584
- },
3585
- "Myspace": {
3586
- "domains": [
3587
- "myspace.com"
3588
- ]
3589
- },
3590
- "Buzznet": {
3591
- "domains": [
3592
- "wayn.com"
3593
- ]
3594
- },
3595
- "MyLife": {
3596
- "domains": [
3597
- "mylife.ru"
3598
- ]
3599
- },
3600
- "Flickr": {
3601
- "domains": [
3602
- "flickr.com"
3603
- ]
3604
- },
3605
- "Sonico.com": {
3606
- "domains": [
3607
- "sonico.com"
3608
- ]
3609
- },
3610
- "Odnoklassniki": {
3611
- "domains": [
3612
- "odnoklassniki.ru"
3613
- ]
3614
- },
3615
- "GitHub": {
3616
- "domains": [
3617
- "github.com"
3618
- ]
3619
- },
3620
- "Classmates": {
3621
- "domains": [
3622
- "classmates.com"
3623
- ]
3624
- },
3625
- "Friends Reunited": {
3626
- "domains": [
3627
- "friendsreunited.com"
3628
- ]
3629
- },
3630
- "Renren": {
3631
- "domains": [
3632
- "renren.com"
3633
- ]
3634
- },
3635
- "vKruguDruzei.ru": {
3636
- "domains": [
3637
- "vkrugudruzei.ru"
3638
- ]
3639
- },
3640
- "Gaia Online": {
3641
- "domains": [
3642
- "gaiaonline.com"
3643
- ]
3644
- },
3645
- "Netlog": {
3646
- "domains": [
3647
- "netlog.com"
3648
- ]
3649
- },
3650
- "Orkut": {
3651
- "domains": [
3652
- "orkut.com"
3653
- ]
3654
- },
3655
- "MyHeritage": {
3656
- "domains": [
3657
- "myheritage.com"
3658
- ]
3659
- },
3660
- "Multiply": {
3661
- "domains": [
3662
- "multiply.com"
3663
- ]
3664
- },
3665
- "myYearbook": {
3666
- "domains": [
3667
- "myyearbook.com"
3668
- ]
3669
- },
3670
- "WeeWorld": {
3671
- "domains": [
3672
- "weeworld.com"
3673
- ]
3674
- },
3675
- "Geni": {
3676
- "domains": [
3677
- "geni.com"
3678
- ]
3679
- },
3680
- "SourceForge": {
3681
- "domains": [
3682
- "sourceforge.net"
3683
- ]
3684
- },
3685
- "Plaxo": {
3686
- "domains": [
3687
- "plaxo.com"
3688
- ]
3689
- },
3690
- "Taringa!": {
3691
- "domains": [
3692
- "taringa.net"
3693
- ]
3694
- },
3695
- "Tagged": {
3696
- "domains": [
3697
- "login.tagged.com"
3698
- ]
3699
- },
3700
- "XING": {
3701
- "domains": [
3702
- "xing.com"
3703
- ]
3704
- },
3705
- "Vkontakte": {
3706
- "domains": [
3707
- "vk.com",
3708
- "vkontakte.ru"
3709
- ]
3710
- },
3711
- "Twitter": {
3712
- "domains": [
3713
- "twitter.com",
3714
- "t.co"
3715
- ]
3716
- },
3717
- "WAYN": {
3718
- "domains": [
3719
- "wayn.com"
3720
- ]
3721
- },
3722
- "Tuenti": {
3723
- "domains": [
3724
- "tuenti.com"
3725
- ]
3726
- },
3727
- "Mail.ru": {
3728
- "domains": [
3729
- "my.mail.ru"
3730
- ]
3731
- },
3732
- "Badoo": {
3733
- "domains": [
3734
- "badoo.com"
3735
- ]
3736
- },
3737
- "Habbo": {
3738
- "domains": [
3739
- "habbo.com"
3740
- ]
3741
- },
3742
- "Pinterest": {
3743
- "domains": [
3744
- "pinterest.com"
3745
- ]
3746
- },
3747
- "LinkedIn": {
3748
- "domains": [
3749
- "linkedin.com"
3750
- ]
3751
- },
3752
- "Foursquare": {
3753
- "domains": [
3754
- "foursquare.com"
3755
- ]
3756
- },
3757
- "Flixster": {
3758
- "domains": [
3759
- "flixster.com"
3760
- ]
3761
- },
3762
- "Windows Live Spaces": {
3763
- "domains": [
3764
- "login.live.com"
3765
- ]
3766
- },
3767
- "BlackPlanet": {
3768
- "domains": [
3769
- "blackplanet.com"
3770
- ]
3771
- },
3772
- "Cyworld": {
3773
- "domains": [
3774
- "global.cyworld.com"
3775
- ]
3776
- },
3777
- "Skyrock": {
3778
- "domains": [
3779
- "skyrock.com"
3780
- ]
3781
- },
3782
- "Facebook": {
3783
- "domains": [
3784
- "facebook.com",
3785
- "fb.me"
3786
- ]
3787
- },
3788
- "StudiVZ": {
3789
- "domains": [
3790
- "studivz.net"
3791
- ]
3792
- },
3793
- "Fotolog": {
3794
- "domains": [
3795
- "fotolog.com"
3796
- ]
3797
- },
3798
- "Google+": {
3799
- "domains": [
3800
- "url.google.com",
3801
- "plus.google.com"
3802
- ]
3803
- },
3804
- "Nasza-klasa.pl": {
3805
- "domains": [
3806
- "nk.pl"
3807
- ]
3808
- },
3809
- "Douban": {
3810
- "domains": [
3811
- "douban.com"
3812
- ]
3813
- },
3814
- "Bebo": {
3815
- "domains": [
3816
- "bebo.com"
3817
- ]
3818
- },
3819
- "Reddit": {
3820
- "domains": [
3821
- "reddit.com"
3822
- ]
3823
- },
3824
- "Identi.ca": {
3825
- "domains": [
3826
- "identi.ca"
3827
- ]
3828
- },
3829
- "StackOverflow": {
3830
- "domains": [
3831
- "stackoverflow.com"
3832
- ]
3833
- },
3834
- "Mixi": {
3835
- "domains": [
3836
- "mixi.jp"
3837
- ]
3838
- },
3839
- "StumbleUpon": {
3840
- "domains": [
3841
- "stumbleupon.com"
3842
- ]
3843
- },
3844
- "Viadeo": {
3845
- "domains": [
3846
- "viadeo.com"
3847
- ]
3848
- },
3849
- "Last.fm": {
3850
- "domains": [
3851
- "lastfm.ru"
3852
- ]
3853
- },
3854
- "LiveJournal": {
3855
- "domains": [
3856
- "livejournal.ru"
3857
- ]
3858
- },
3859
- "Tumblr": {
3860
- "domains": [
3861
- "tumblr.com"
3862
- ]
3863
- },
3864
- "Hacker News": {
3865
- "domains": [
3866
- "news.ycombinator.com"
3867
- ]
3868
- },
3869
- "Qzone": {
3870
- "domains": [
3871
- "qzone.qq.com"
3872
- ]
3873
- },
3874
- "Hyves": {
3875
- "domains": [
3876
- "hyves.nl"
3877
- ]
3878
- },
3879
- "Paper.li": {
3880
- "domains": [
3881
- "paper.li"
3882
- ]
3883
- },
3884
- "MoiKrug.ru": {
3885
- "domains": [
3886
- "moikrug.ru"
3887
- ]
3888
- }
3889
- }
3890
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/js/frontend/analytics-src/analytics.events.js DELETED
@@ -1,529 +0,0 @@
1
- /**
2
- * # Analytics Events
3
- *
4
- * Events are triggered throughout the visitors journey through the site. See more on [Inbound Now][in]
5
- *
6
- * @author David Wells <david@inboundnow.com>
7
- * @version 0.0.1
8
- *
9
- * [in]: http://www.inboundnow.com/
10
- */
11
-
12
- // Add object to _inbound
13
- var _inboundEvents = (function(_inbound) {
14
-
15
-
16
- _inbound.trigger = function(trigger, data) {
17
- _inbound.Events[trigger](data);
18
-
19
- };
20
-
21
- /*!
22
- *
23
- * Private Function that Fires & Emits Events
24
- *
25
- * There are three options for firing events and they trigger in this order:
26
- *
27
- * 1. Vanilla JS dispatch event
28
- * 2. `_inbound.add_action('namespace', callback, priority)`
29
- * 3. jQuery Trigger `jQuery.trigger('namespace', callback);`
30
- *
31
- * The Event `data` can be filtered before events are triggered
32
- * with filters. Example: filter_ + "namespace"
33
- *
34
- * ```js
35
- * // Filter Form Data before submissionsz
36
- * _inbound.add_filter( 'filter_form_before_submission', event_filter_data_example, 10);
37
- *
38
- * function event_filter_data_example(data) {
39
- * var data = data || {};
40
- * // Do something with data
41
- * return data;
42
- * }
43
- * ```
44
- *
45
- * @param {string} eventName Name of the event
46
- * @param {object} data Data passed to external functions/triggers
47
- * @param {object} options Options for configuring events
48
- * @return {null} Nothing returned
49
- */
50
- function fireEvent(eventName, data, options) {
51
- var data = data || {};
52
- options = options || {};
53
- //alert('ran + ' + eventName);
54
- //console.log(eventName);
55
- //console.log(data);
56
- /*! defaults for JS dispatch event */
57
- options.bubbles = options.bubbles || true,
58
- options.cancelable = options.cancelable || true;
59
-
60
- /*! Customize Data via filter_ + "namespace" */
61
- data = _inbound.apply_filters('filter_' + eventName, data);
62
-
63
- var is_IE_11 = !(window.ActiveXObject) && "ActiveXObject" in window;
64
-
65
- if( typeof CustomEvent === 'function') {
66
-
67
- var TriggerEvent = new CustomEvent(eventName, {
68
- detail: data,
69
- bubbles: options.bubbles,
70
- cancelable: options.cancelable
71
- });
72
-
73
- } else {
74
- var TriggerEvent = document.createEvent("Event");
75
- TriggerEvent.initEvent(eventName, true, true);
76
- }
77
-
78
- /*! 1. Trigger Pure Javascript Event See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events for example on creating events */
79
- window.dispatchEvent(TriggerEvent);
80
- /*! 2. Trigger _inbound action */
81
- _inbound.do_action(eventName, data);
82
- /*! 3. jQuery trigger */
83
- triggerJQueryEvent(eventName, data);
84
-
85
- // console.log('Action:' + eventName + " ran on ->", data);
86
-
87
- }
88
-
89
- function triggerJQueryEvent(eventName, data) {
90
- if (window.jQuery) {
91
- var data = data || {};
92
- /*! try catch here */
93
- jQuery(document).trigger(eventName, data);
94
- }
95
- };
96
-
97
- var universalGA,
98
- classicGA,
99
- googleTagManager;
100
-
101
- _inbound.Events = {
102
-
103
- /**
104
- * # Event Usage
105
- *
106
- * Events are triggered throughout the visitors path through the site.
107
- * You can hook into these custom actions and filters much like WordPress Core
108
- *
109
- * See below for examples
110
- */
111
-
112
- /**
113
- * Adding Custom Actions
114
- * ------------------
115
- * You can hook into custom events throughout analytics. See the full list of available [events below](#all-events)
116
- *
117
- * `
118
- * _inbound.add_action( 'action_name', callback, priority );
119
- * `
120
- *
121
- * ```js
122
- * // example:
123
- *
124
- * // Add custom function to `page_visit` event
125
- * _inbound.add_action( 'page_visit', callback, 10 );
126
- *
127
- * // add custom callback to trigger when `page_visit` fires
128
- * function callback(pageData){
129
- * var pageData = pageData || {};
130
- * // run callback on 'page_visit' trigger
131
- * alert(pageData.title);
132
- * }
133
- * ```
134
- *
135
- * @param {string} action_name Name of the event trigger
136
- * @param {function} callback function to trigger when event happens
137
- * @param {int} priority Order to trigger the event in
138
- *
139
- */
140
-
141
- /**
142
- * Removing Custom Actions
143
- * ------------------
144
- * You can hook into custom events throughout analytics. See the full list of available [events below](#all-events)
145
- *
146
- * `
147
- * _inbound.remove_action( 'action_name');
148
- * `
149
- *
150
- * ```js
151
- * // example:
152
- *
153
- * _inbound.remove_action( 'page_visit');
154
- * // all 'page_visit' actions have been deregistered
155
- * ```
156
- *
157
- * @param {string} action_name Name of the event trigger
158
- *
159
- */
160
-
161
- /**
162
- * # Event List
163
- *
164
- * Events are triggered throughout the visitors journey through the site
165
- */
166
-
167
- /**
168
- * Triggers when analyics has finished loading
169
- */
170
- analytics_ready: function() {
171
- var ops = {
172
- 'opt1': true
173
- };
174
- var data = {
175
- 'data': 'xyxy'
176
- };
177
- fireEvent('analytics_ready', data, ops);
178
- },
179
- /**
180
- * Triggers when the browser url params are parsed. You can perform custom actions
181
- * if specific url params exist.
182
- *
183
- * ```js
184
- * // Usage:
185
- *
186
- * // Add function to 'url_parameters' event
187
- * _inbound.add_action( 'url_parameters', url_parameters_func_example, 10);
188
- *
189
- * function url_parameters_func_example(urlParams) {
190
- * var urlParams = urlParams || {};
191
- * for( var param in urlParams ) {
192
- * var key = param;
193
- * var value = urlParams[param];
194
- * }
195
- * // All URL Params
196
- * alert(JSON.stringify(urlParams));
197
- *
198
- * // Check if URL parameter `utm_source` exists and matches value
199
- * if(urlParams.utm_source === "twitter") {
200
- * alert('This person is from twitter!');
201
- * }
202
- * }
203
- * ```
204
- */
205
- url_parameters: function(data) {
206
- fireEvent('url_parameters', data);
207
- },
208
- /**
209
- * Triggers when session starts
210
- *
211
- * ```js
212
- * // Usage:
213
- *
214
- * // Add function to 'session_start' event
215
- * _inbound.add_action( 'session_start', session_start_func_example, 10);
216
- *
217
- * function session_start_func_example(data) {
218
- * var data = data || {};
219
- * // session start. Do something for new visitor
220
- * }
221
- * ```
222
- */
223
- session_start: function() {
224
- console.log('');
225
- fireEvent('session_start');
226
- },
227
- /**
228
- * Triggers when visitor session goes idle for more than 30 minutes.
229
- *
230
- * ```js
231
- * // Usage:
232
- *
233
- * // Add function to 'session_end' event
234
- * _inbound.add_action( 'session_end', session_end_func_example, 10);
235
- *
236
- * function session_end_func_example(data) {
237
- * var data = data || {};
238
- * // Do something when session ends
239
- * alert("Hey! It's been 30 minutes... where did you go?");
240
- * }
241
- * ```
242
- */
243
- session_end: function(clockTime) {
244
- fireEvent('session_end', clockTime);
245
- console.log('Session End');
246
- },
247
- /**
248
- * Triggers if active session is detected
249
- *
250
- * ```js
251
- * // Usage:
252
- *
253
- * // Add function to 'session_active' event
254
- * _inbound.add_action( 'session_active', session_active_func_example, 10);
255
- *
256
- * function session_active_func_example(data) {
257
- * var data = data || {};
258
- * // session active
259
- * }
260
- * ```
261
- */
262
- session_active: function() {
263
- fireEvent('session_active');
264
- },
265
- /**
266
- * Triggers when visitor session goes idle. Idling occurs after 60 seconds of
267
- * inactivity or when the visitor switches browser tabs
268
- *
269
- * ```js
270
- * // Usage:
271
- *
272
- * // Add function to 'session_idle' event
273
- * _inbound.add_action( 'session_idle', session_idle_func_example, 10);
274
- *
275
- * function session_idle_func_example(data) {
276
- * var data = data || {};
277
- * // Do something when session idles
278
- * alert('Here is a special offer for you!');
279
- * }
280
- * ```
281
- */
282
- session_idle: function(clockTime) {
283
- fireEvent('session_idle', clockTime);
284
- },
285
- /**
286
- * Triggers when session is already active and gets resumed
287
- *
288
- * ```js
289
- * // Usage:
290
- *
291
- * // Add function to 'session_resume' event
292
- * _inbound.add_action( 'session_resume', session_resume_func_example, 10);
293
- *
294
- * function session_resume_func_example(data) {
295
- * var data = data || {};
296
- * // Session exists and is being resumed
297
- * }
298
- * ```
299
- */
300
- session_resume: function() {
301
- fireEvent('session_resume');
302
- },
303
- /**
304
- * Session emitter. Runs every 10 seconds. This is a useful function for
305
- * pinging third party services
306
- *
307
- * ```js
308
- * // Usage:
309
- *
310
- * // Add session_heartbeat_func_example function to 'session_heartbeat' event
311
- * _inbound.add_action( 'session_heartbeat', session_heartbeat_func_example, 10);
312
- *
313
- * function session_heartbeat_func_example(data) {
314
- * var data = data || {};
315
- * // Do something with every 10 seconds
316
- * }
317
- * ```
318
- */
319
- session_heartbeat: function(clockTime) {
320
- var data = {
321
- 'clock': clockTime,
322
- 'leadData': InboundLeadData
323
- };
324
- fireEvent('session_heartbeat', data);
325
- },
326
- /**
327
- * Triggers Every Page View
328
- *
329
- * ```js
330
- * // Usage:
331
- *
332
- * // Add function to 'page_visit' event
333
- * _inbound.add_action( 'page_visit', page_visit_func_example, 10);
334
- *
335
- * function session_idle_func_example(pageData) {
336
- * var pageData = pageData || {};
337
- * if( pageData.view_count > 8 ){
338
- * alert('Wow you have been to this page more than 8 times.');
339
- * }
340
- * }
341
- * ```
342
- */
343
- page_visit: function(pageData) {
344
- fireEvent('page_view', pageData);
345
- },
346
- /**
347
- * Triggers If the visitor has never seen the page before
348
- *
349
- * ```js
350
- * // Usage:
351
- *
352
- * // Add function to 'page_first_visit' event
353
- * _inbound.add_action( 'page_first_visit', page_first_visit_func_example, 10);
354
- *
355
- * function page_first_visit_func_example(pageData) {
356
- * var pageData = pageData || {};
357
- * alert('Welcome to this page! Its the first time you have seen it')
358
- * }
359
- * ```
360
- */
361
- page_first_visit: function(pageData) {
362
- fireEvent('page_first_visit');
363
- _inbound.deBugger('pages', 'First Ever Page View of this Page');
364
- },
365
- /**
366
- * Triggers If the visitor has seen the page before
367
- *
368
- * ```js
369
- * // Usage:
370
- *
371
- * // Add function to 'page_revisit' event
372
- * _inbound.add_action( 'page_revisit', page_revisit_func_example, 10);
373
- *
374
- * function page_revisit_func_example(pageData) {
375
- * var pageData = pageData || {};
376
- * alert('Welcome back to this page!');
377
- * // Show visitor special content/offer
378
- * }
379
- * ```
380
- */
381
- page_revisit: function(pageData) {
382
-
383
- fireEvent('page_revisit', pageData);
384
-
385
- var logger = function() {
386
- console.log('pageData', pageData);
387
- console.log('Page Revisit viewed ' + pageData + " times");
388
- }
389
- _inbound.deBugger('pages', status, logger);
390
- },
391
-
392
- /**
393
- * `tab_hidden` is triggered when the visitor switches browser tabs
394
- *
395
- * ```js
396
- * // Usage:
397
- *
398
- * // Adding the callback
399
- * function tab_hidden_function( data ) {
400
- * alert('The Tab is Hidden');
401
- * };
402
- *
403
- * // Hook the function up the the `tab_hidden` event
404
- * _inbound.add_action( 'tab_hidden', tab_hidden_function, 10 );
405
- * ```
406
- */
407
- tab_hidden: function(data) {
408
- _inbound.deBugger('pages', 'Tab Hidden');
409
- fireEvent('tab_hidden');
410
- },
411
- /**
412
- * `tab_visible` is triggered when the visitor switches back to the sites tab
413
- *
414
- * ```js
415
- * // Usage:
416
- *
417
- * // Adding the callback
418
- * function tab_visible_function( data ) {
419
- * alert('Welcome back to this tab!');
420
- * // trigger popup or offer special discount etc.
421
- * };
422
- *
423
- * // Hook the function up the the `tab_visible` event
424
- * _inbound.add_action( 'tab_visible', tab_visible_function, 10 );
425
- * ```
426
- */
427
- tab_visible: function(data) {
428
- _inbound.deBugger('pages', 'Tab Visible');
429
- fireEvent('tab_visible');
430
- },
431
- /**
432
- * `tab_mouseout` is triggered when the visitor mouses out of the browser window.
433
- * This is especially useful for exit popups
434
- *
435
- * ```js
436
- * // Usage:
437
- *
438
- * // Adding the callback
439
- * function tab_mouseout_function( data ) {
440
- * alert("Wait don't Go");
441
- * // trigger popup or offer special discount etc.
442
- * };
443
- *
444
- * // Hook the function up the the `tab_mouseout` event
445
- * _inbound.add_action( 'tab_mouseout', tab_mouseout_function, 10 );
446
- * ```
447
- */
448
- tab_mouseout: function(data) {
449
- _inbound.deBugger('pages', 'Tab Mouseout');
450
- fireEvent('tab_mouseout');
451
- },
452
- /**
453
- * `form_input_change` is triggered when tracked form inputs change
454
- * You can use this to add additional validation or set conditional triggers
455
- *
456
- * ```js
457
- * // Usage:
458
- *
459
- * ```
460
- */
461
- form_input_change: function(inputData) {
462
- var logger = function() {
463
- console.log(inputData);
464
- //console.log('Page Revisit viewed ' + pageData + " times");
465
- }
466
- _inbound.deBugger('forms', 'inputData change. Data=', logger);
467
- fireEvent('form_input_change', inputData);
468
- },
469
- /**
470
- * `form_before_submission` is triggered before the form is submitted to the server.
471
- * You can filter the data here or send it to third party services
472
- *
473
- * ```js
474
- * // Usage:
475
- *
476
- * // Adding the callback
477
- * function form_before_submission_function( data ) {
478
- * var data = data || {};
479
- * // filter form data
480
- * };
481
- *
482
- * // Hook the function up the the `form_before_submission` event
483
- * _inbound.add_action( 'form_before_submission', form_before_submission_function, 10 );
484
- * ```
485
- */
486
- form_before_submission: function(formData) {
487
- fireEvent('form_before_submission', formData);
488
- },
489
- /**
490
- * `form_after_submission` is triggered after the form is submitted to the server.
491
- * You can filter the data here or send it to third party services
492
- *
493
- * ```js
494
- * // Usage:
495
- *
496
- * // Adding the callback
497
- * function form_after_submission_function( data ) {
498
- * var data = data || {};
499
- * // filter form data
500
- * };
501
- *
502
- * // Hook the function up the the `form_after_submission` event
503
- * _inbound.add_action( 'form_after_submission', form_after_submission_function, 10 );
504
- * ```
505
- */
506
- form_after_submission: function(formData) {
507
-
508
- fireEvent('form_after_submission', formData);
509
-
510
- },
511
- /*! Scrol depth https://github.com/robflaherty/jquery-scrolldepth/blob/master/jquery.scrolldepth.js */
512
-
513
- analyticsError: function(MLHttpRequest, textStatus, errorThrown) {
514
- var error = new CustomEvent("inbound_analytics_error", {
515
- detail: {
516
- MLHttpRequest: MLHttpRequest,
517
- textStatus: textStatus,
518
- errorThrown: errorThrown
519
- }
520
- });
521
- window.dispatchEvent(error);
522
- console.log('Page Save Error');
523
- }
524
-
525
- };
526
-
527
- return _inbound;
528
-
529
- })(_inbound || {});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/js/frontend/analytics-src/analytics.examples.js DELETED
@@ -1,185 +0,0 @@
1
- /*
2
- URL param action
3
- */
4
- // Add to page
5
- _inbound.add_action('url_parameters', URL_Param_Function, 10);
6
- // callback function
7
- function URL_Param_Function(urlParams) {
8
-
9
- //urlParams = _inbound.apply_filters( 'urlParamFilter', urlParams);
10
-
11
- for (var param in urlParams) {
12
- var key = param;
13
- var value = urlParams[param];
14
- }
15
-
16
- //alert(JSON.stringify(urlParams));
17
-
18
- /* Check if URL parameter exists and matches value */
19
- if (urlParams.test === "true") {
20
- alert('url param true is true');
21
- }
22
- }
23
-
24
- /* Applying filters to your actions */
25
- _inbound.add_filter('filter_url_parameters', URL_Param_Filter, 10);
26
-
27
- function URL_Param_Filter(urlParams) {
28
-
29
- var params = urlParams || {};
30
- /* check for item in object */
31
- if (params.utm_source !== "undefined") {
32
- //alert('its here');
33
- }
34
- /* delete item from object */
35
- delete params.utm_source;
36
-
37
- return params;
38
-
39
- }
40
-
41
- /* Applying filters to your actions */
42
- _inbound.add_filter('filter_inbound_analytics_loaded', event_filter_data_example, 10);
43
-
44
- function event_filter_data_example(data) {
45
-
46
- var data = data || {};
47
-
48
- /* Add property to data */
49
- data.add_this = 'additional data';
50
-
51
- /* check for item in object */
52
- if (data.opt1 === true) {
53
- alert('options.opt1 = true');
54
- }
55
-
56
- /* Add or modifiy option to event */
57
- data.new_options = 'new option';
58
-
59
- /* delete item from data */
60
- delete data.utm_source;
61
-
62
- return data;
63
-
64
- }
65
-
66
- _inbound.add_action('tab_hidden', Tab_Hidden_Function, 10);
67
-
68
- function Tab_Hidden_Function(data) {
69
- //alert('NOPE! LOOK AT ME!!!!');
70
- }
71
-
72
- _inbound.add_action('tab_visible', tab_visible_function, 9);
73
-
74
- function tab_visible_function(data) {
75
- //alert('Welcome back to the tab');
76
- }
77
-
78
- _inbound.add_action('tab_mouseout', tab_mouseout_function, 10);
79
-
80
- function tab_mouseout_function(data) {
81
- //alert('You moused out of the tab');
82
- document.body.style.background = 'red';
83
- }
84
-
85
- _inbound.add_action('page_first_visit', Tab_vis_Function, 10);
86
-
87
- function Tab_vis_Function(data) {
88
- //alert('Welcome back bro 2');
89
- }
90
-
91
- _inbound.add_action('page_revisit', page_revisit_Function, 10);
92
-
93
- function page_revisit_Function(data) {
94
- console.log('Welcome page_revisit');
95
- }
96
-
97
- window.addEventListener("page_revisit", page_seen_function, false);
98
-
99
- function page_seen_function(e) {
100
- var view_count = e.detail.count;
101
- console.log("This page has been seen " + e.detail.count + " times");
102
- if (view_count > 10) {
103
- console.log("Page has been viewed more than 10 times");
104
- }
105
- }
106
-
107
- _inbound.add_action('session_start', session_start_func, 10);
108
-
109
- function session_start_func(data) {
110
- //alert('Session starting Now');
111
- }
112
-
113
- _inbound.add_action('session_resume', session_resume_func, 10);
114
-
115
- function session_resume_func(data) {
116
- //alert('Session Resume');
117
- }
118
-
119
-
120
-
121
- _inbound.add_action('session_init', session_end_func, 10);
122
-
123
- function session_end_func(data) {
124
- //alert('Session session_end');
125
- }
126
-
127
-
128
- _inbound.add_action('session_end', session_end_func, 10);
129
-
130
- function session_end_func(data) {
131
- //alert('Session session_end');
132
- }
133
-
134
- _inbound.add_action('analytics_ready', analytics_ready_func, 10);
135
-
136
- function analytics_ready_func(data) {
137
- //alert('analytics_ready');
138
- }
139
-
140
- _inbound.add_action('form_input_change', form_input_change_func, 10);
141
-
142
- function form_input_change_func(inputData) {
143
- var inputData = inputData || {};
144
- console.log(inputData); // View input data object
145
- console.log(inputData.node + '[name="' + inputData.name + '"]');
146
- /*jQuery(inputData.node + '[name="'+inputData.name+'"]')
147
- .animate({
148
- opacity: 0.50,
149
- left: "+=50",
150
- }, 1000, function() {
151
- jQuery(this).css('color', 'green');
152
- });*/
153
- }
154
-
155
- _inbound.add_action('form_after_submission', form_after_submission_func, 10);
156
-
157
- function form_after_submission_func(data) {
158
- console.log('do this');
159
- // alert(JSON.stringify(data));
160
- }
161
-
162
- /* Jquery Examples */
163
-
164
- _inbound.add_action('form_before_submission', alert_form_data, 10);
165
-
166
- function alert_form_data(data) {
167
- console.log(JSON.stringify(data));
168
- }
169
- //_inbound.remove_action( 'inbound_form_form_before_submission');
170
- /* raw_js_trigger event trigger */
171
- window.addEventListener("form_before_submission", raw_js_trigger, false);
172
-
173
- function raw_js_trigger(e) {
174
- var data = e.detail;
175
- console.log('Pure Javascript form_before_submission action fire');
176
- //alert(JSON.stringify(data.raw_params));
177
- }
178
-
179
- if (window.jQuery) {
180
- jQuery(document).on('form_before_submission', function(event, data) {
181
-
182
- console.log('Run jQuery form_before_submission trigger');
183
-
184
- });
185
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/js/frontend/analytics-src/analytics.forms.js DELETED
@@ -1,1010 +0,0 @@
1
- /**
2
- * # Inbound Forms
3
- *
4
- * This file contains all of the form functions of the main _inbound object.
5
- * Filters and actions are described below
6
- *
7
- * @author David Wells <david@inboundnow.com>
8
- * @version 0.0.1
9
- */
10
- /* Finish Exclusions for CC */
11
-
12
- /* Launches form class */
13
- var InboundForms = (function(_inbound) {
14
-
15
- var debugMode = false,
16
- utils = _inbound.Utils,
17
- no_match = [],
18
- rawParams = [],
19
- mappedParams = [],
20
- settings = _inbound.Settings;
21
-
22
- var FieldMapArray = [
23
- "first name",
24
- "last name",
25
- "name",
26
- "email",
27
- "e-mail",
28
- "phone",
29
- "website",
30
- "job title",
31
- "your favorite food",
32
- "company",
33
- "tele",
34
- "address",
35
- "comment"
36
- /* Adding values here maps them */
37
- ];
38
-
39
- _inbound.Forms = {
40
-
41
- // Init Form functions
42
- init: function() {
43
- _inbound.Forms.runFieldMappingFilters();
44
- _inbound.Forms.assignTrackClass();
45
- _inbound.Forms.formTrackInit();
46
- },
47
- /**
48
- * This triggers the forms.field_map filter on the mapping array.
49
- * This will allow you to add or remore Items from the mapping lookup
50
- *
51
- * ### Example inbound.form_map_before filter
52
- *
53
- * This is an example of how form mapping can be filtered and
54
- * additional fields can be mapped via javascript
55
- *
56
- * ```js
57
- * // Adding the filter function
58
- * function Inbound_Add_Filter_Example( FieldMapArray ) {
59
- * var map = FieldMapArray || [];
60
- * map.push('new lookup value');
61
- *
62
- * return map;
63
- * };
64
- *
65
- * // Adding the filter on dom ready
66
- * _inbound.hooks.addFilter( 'inbound.form_map_before', Inbound_Add_Filter_Example, 10 );
67
- * ```
68
- *
69
- * @return {[type]} [description]
70
- */
71
- runFieldMappingFilters: function() {
72
- FieldMapArray = _inbound.hooks.applyFilters('forms.field_map', FieldMapArray);
73
- //alert(FieldMapArray);
74
- },
75
- debug: function(msg, callback) {
76
- //if app not in debug mode, exit immediately
77
- if (!debugMode || !console) {
78
- return;
79
- }
80
-
81
- var msg = msg || false;
82
- //console.log the message
83
- if (msg && (typeof msg === 'string')) {
84
- console.log(msg);
85
- }
86
-
87
- //execute the callback if one was passed-in
88
- if (callback && (callback instanceof Function)) {
89
- callback();
90
- }
91
- },
92
- formTrackInit: function() {
93
-
94
- for (var i = 0; i < window.document.forms.length; i++) {
95
- var trackForm = false;
96
- var form = window.document.forms[i];
97
- /* process forms only once */
98
- if (!form.dataset.formProcessed) {
99
- form.dataset.formProcessed = true;
100
- trackForm = this.checkTrackStatus(form);
101
- // var trackForm = _inbound.Utils.hasClass("wpl-track-me", form);
102
- if (trackForm) {
103
- this.attachFormSubmitEvent(form); /* attach form listener */
104
- this.initFormMapping(form);
105
- }
106
- }
107
- }
108
- },
109
- checkTrackStatus: function(form) {
110
- var ClassIs = form.getAttribute('class');
111
- if (ClassIs !== "" && ClassIs !== null) {
112
- if (ClassIs.toLowerCase().indexOf("wpl-track-me") > -1) {
113
- return true;
114
- } else if (ClassIs.toLowerCase().indexOf("inbound-track") > -1) {
115
- return true;
116
- } else {
117
- cb = function() { console.log(form); };
118
- _inbound.deBugger('forms', "This form not tracked. Please assign on in settings...", cb);
119
- return false;
120
- }
121
- }
122
- },
123
- assignTrackClass: function() {
124
- if (window.inbound_settings) {
125
- if (inbound_settings.inbound_track_include) {
126
- var selectors = inbound_settings.inbound_track_include.split(',');
127
- var msg = 'add selectors ' + inbound_settings.inbound_track_include;
128
- _inbound.deBugger('forms', msg);
129
- this.loopClassSelectors(selectors, 'add');
130
- }
131
- if (inbound_settings.inbound_track_exclude) {
132
- var selectors = inbound_settings.inbound_track_exclude.split(',');
133
- var msg = 'remove selectors ' + inbound_settings.inbound_track_exclude;
134
- _inbound.deBugger('forms', msg);
135
- this.loopClassSelectors(selectors, 'remove');
136
- }
137
- }
138
- },
139
- /* Loop through include/exclude items for tracking */
140
- loopClassSelectors: function(selectors, action) {
141
- for (var i = selectors.length - 1; i >= 0; i--) {
142
-
143
- var selector = utils.trim(selectors[i])
144
- if (selector.indexOf("#") === -1 && selector.indexOf(".") === -1) {
145
- // assign ID as default
146
- selector = "#" + selector;
147
- }
148
- //if(selectors[i] match . or # )
149
- selector = document.querySelector(selector);
150
- //console.log("SELECTOR", selector);
151
- if (selector) {
152
- if (action === 'add') {
153
- _inbound.Utils.addClass('wpl-track-me', selector);
154
- _inbound.Utils.addClass('inbound-track', selector);
155
- } else {
156
- _inbound.Utils.removeClass('wpl-track-me', selector);
157
- _inbound.Utils.removeClass('inbound-track', selector);
158
- }
159
- }
160
- }
161
- },
162
- /* Map field fields on load */
163
- initFormMapping: function(form) {
164
- var hiddenInputs = [];
165
-
166
- for (var i = 0; i < form.elements.length; i++) {
167
- formInput = form.elements[i];
168
-
169
- if (formInput.type === 'hidden') {
170
- hiddenInputs.push(formInput);
171
- continue;
172
- }
173
-
174
- //this.ignoreFields(formInput);
175
- /* Map form fields */
176
- this.mapField(formInput);
177
- /* Remember visible inputs */
178
- this.rememberInputValues(formInput);
179
- /* Fill visible inputs */
180
- if (settings.formAutoPopulation && !_inbound.Utils.hasClass( "nopopulate", form ) ) {
181
- this.fillInputValues(formInput);
182
- }
183
-
184
- }
185
-
186
- /* loop hidden inputs */
187
- for (var n = hiddenInputs.length - 1; n >= 0; n--) {
188
- formInput = hiddenInputs[n];
189
- this.mapField(formInput);
190
- }
191
-
192
- //console.log('mapping on load completed');
193
- },
194
- /* Maps data attributes to fields on page load */
195
- mapField: function(input) {
196
-
197
- var input_id = input.id || false;
198
- var input_name = input.name || false;
199
- var label = this.getInputLabel(input);
200
-
201
- if(label){
202
- //console.log(label[0].innerText);
203
- var ignoreField = this.ignoreFieldByLabel(label[0].innerText);
204
- if(ignoreField){
205
- input.dataset.ignoreFormField = true;
206
- return false;
207
- }
208
- }
209
- /* Loop through all match possiblities */
210
- for (i = 0; i < FieldMapArray.length; i++) {
211
- //for (var i = FieldMapArray.length - 1; i >= 0; i--) {
212
- var found = false;
213
- var match = FieldMapArray[i];
214
- var lookingFor = utils.trim(match);
215
- var nice_name = lookingFor.replace(/ /g, '_');
216
-
217
-
218
- //console.log("NICE NAME", nice_name);
219
- //console.log('looking for match on ' + lookingFor);
220
- //_inbound.deBugger('forms', 'looking for match on ' + lookingFor + " nice_name= " + nice_name);
221
-
222
- // Check if input has an attached lable using for= tag
223
- //var $laxbel = $("label[for='" + $element.attr('id') + "']").text();
224
- //var labxel = 'label[for="' + input_id + '"]';
225
-
226
- /* look for name attribute match */
227
- if (input_name && input_name.toLowerCase().indexOf(lookingFor) > -1) {
228
-
229
- found = true;
230
- _inbound.deBugger('forms', 'Found matching name attribute for -> ' + lookingFor);
231
-
232
- /* look for id match */
233
- } else if (input_id && input_id.toLowerCase().indexOf(lookingFor) > -1) {
234
-
235
- found = true;
236
- _inbound.deBugger('forms', 'Found matching ID attribute for ->' + lookingFor);
237
-
238
- /* Check siblings for label */
239
- } else if (label) {
240
- //var label = (label.length > 1 ? label[0] : label);
241
- //console.log('label', label);
242
- if (label[0].innerText.toLowerCase().indexOf(lookingFor) > -1) {
243
-
244
- found = true;
245
- _inbound.deBugger('forms', 'Found matching sibling label for -> ' + lookingFor);
246
-
247
- }
248
-
249
- } else {
250
- /* no match found */
251
- //_inbound.deBugger('forms', 'NO Match on ' + lookingFor + " in " + input_name);
252
- no_match.push(lookingFor);
253
-
254
- }
255
-
256
- /* Map the field */
257
- if (found) {
258
- this.addDataAttr(input, nice_name);
259
- this.removeArrayItem(FieldMapArray, lookingFor);
260
- i--; //decrement count
261
- }
262
-
263
- }
264
-
265
- return inbound_data;
266
-
267
- },
268
- /* prevent default submission temporarily */
269
- formListener: function(event) {
270
- //console.log(event);
271
- event.preventDefault();
272
- _inbound.Forms.saveFormData(event.target);
273
- document.body.style.cursor = "wait";
274
- },
275
- /* attach form listeners */
276
- attachFormSubmitEvent: function(form) {
277
- utils.addListener(form, 'submit', this.formListener);
278
- var email_input = document.querySelector('.inbound-email');
279
- utils.addListener(email_input, 'blur', this.mailCheck);
280
- },
281
- /* Ignore CC data */
282
- ignoreFieldByLabel: function(label) {
283
- var ignore_field = false;
284
-
285
- if(!label){ return false; }
286
-
287
- // Ignore any fields with labels that indicate a credit card field
288
- if (label.toLowerCase().indexOf('credit card') != -1 || label.toLowerCase().indexOf('card number') != -1) {
289
- ignore_field = true;
290
- }
291
-
292
- if (label.toLowerCase().indexOf('expiration') != -1 || label.toLowerCase().indexOf('expiry') != -1) {
293
- ignore_field = true;
294
- }
295
-
296
- if (label.toLowerCase() == 'month' || label.toLowerCase() == 'mm' || label.toLowerCase() == 'yy' || label.toLowerCase() == 'yyyy' || label.toLowerCase() == 'year') {
297
- ignore_field = true;
298
- }
299
-
300
- if (label.toLowerCase().indexOf('cvv') != -1 || label.toLowerCase().indexOf('cvc') != -1 || label.toLowerCase().indexOf('secure code') != -1 || label.toLowerCase().indexOf('security code') != -1) {
301
- ignore_field = true;
302
- }
303
-
304
- if(ignore_field){
305
- _inbound.deBugger('forms', 'ignore ' + label);
306
- }
307
-
308
- return ignore_field;
309
-
310
- },
311
- /* not implemented yet */
312
- ignoreFieldByValue: function(value){
313
- var ignore_field = false;
314
-
315
- if(!value){ return false; }
316
-
317
- if (value.toLowerCase() == 'visa' || value.toLowerCase() == 'mastercard' || value.toLowerCase() == 'american express' || value.toLowerCase() == 'amex' || value.toLowerCase() == 'discover') {
318
- ignore_field = true;
319
- }
320
-
321
- // Check if value has integers, strip out spaces, then ignore anything with a credit card length (>16) or an expiration/cvv length (<5)
322
- var int_regex = new RegExp("/^[0-9]+$/");
323
- if (int_regex.test(value)) {
324
- var value_no_spaces = value.replace(' ', '');
325
-
326
- if (this.isInt(value_no_spaces) && value_no_spaces.length >= 16) {
327
- ignore_field = true;
328
- }
329
-
330
- }
331
-
332
- return ignore_field;
333
-
334
- },
335
- isInt: function(n) {
336
- return typeof n == "number" && isFinite(n) && n % 1 === 0;
337
- },
338
- releaseFormSubmit: function(form) {
339
- //console.log('remove form listener event');
340
- document.body.style.cursor = "default";
341
- utils.removeClass('wpl-track-me', form);
342
- utils.removeListener(form, 'submit', this.formListener);
343
- var formClass = form.getAttribute('class');
344
- if (formClass !== "" && formClass !== null) {
345
- /* If contact form 7 do this */
346
- if (formClass.toLowerCase().indexOf("wpcf7-form") != -1) {
347
- //alert('release')
348
- setTimeout(function() {
349
- document.body.style.cursor = "default";
350
- }, 300);
351
- return true;
352
- }
353
- }
354
-
355
- form.submit();
356
- /* fallback if submit name="submit" */
357
- setTimeout(function() {
358
- for (var i = 0; i < form.elements.length; i++) {
359
- formInput = form.elements[i];
360
- type = formInput.type || false;
361
- if (type === "submit" && formInput.name === "submit") {
362
- form.elements[i].click();
363
- }
364
- }
365
- }, 2000);
366
-
367
- },
368
- saveFormData: function(form) {
369
- var inputsObject = inputsObject || {};
370
- for (var i = 0; i < form.elements.length; i++) {
371
-
372
- // console.log(inputsObject);
373
-
374
- formInput = form.elements[i];
375
- multiple = false;
376
-
377
- if (formInput.name) {
378
-
379
- if (formInput.dataset.ignoreFormField) {
380
- _inbound.deBugger('forms', 'ignore ' + formInput.name);
381
- continue;
382
- }
383
-
384
- inputName = formInput.name.replace(/\[([^\[]*)\]/g, "%5B%5D$1");
385
- //inputName = inputName.replace(/-/g, "_");
386
- if (!inputsObject[inputName]) {
387
- inputsObject[inputName] = {};
388
- }
389
- if (formInput.type) {
390
- inputsObject[inputName]['type'] = formInput.type;
391
- }
392
- if (!inputsObject[inputName]['name']) {
393
- inputsObject[inputName]['name'] = formInput.name;
394
- }
395
- if (formInput.dataset.mapFormField) {
396
- inputsObject[inputName]['map'] = formInput.dataset.mapFormField;
397
- }
398
- /*if (formInput.id) { inputsObject[inputName]['id'] = formInput.id; }
399
- if ('classList' in document.documentElement) {
400
- if (formInput.classList) { inputsObject[inputName]['class'] = formInput.classList; }
401
- }*/
402
-
403
- switch (formInput.nodeName) {
404
-
405
- case 'INPUT':
406
- value = this.getInputValue(formInput);
407
-
408
-
409
- if (value === false) {
410
- continue;
411
- }
412
- break;
413
-
414
- case 'TEXTAREA':
415
- value = formInput.value;
416
- break;
417
-
418
- case 'SELECT':
419
- if (formInput.multiple) {
420
- values = [];
421
- multiple = true;
422
-
423
- for (var j = 0; j < formInput.length; j++) {
424
- if (formInput[j].selected) {
425
- values.push(encodeURIComponent(formInput[j].value));
426
- }
427
- }
428
-
429
- } else {
430
- value = (formInput.value);
431
- }
432
-
433
- //console.log('select val', value);
434
- break;
435
- }
436
-
437
- _inbound.deBugger('forms', 'Input Value = ' + value);
438
-
439
-
440
- if (value) {
441
- /* inputsObject[inputName].push(multiple ? values.join(',') : encodeURIComponent(value)); */
442
- if (!inputsObject[inputName]['value']) {
443
- inputsObject[inputName]['value'] = [];
444
- }
445
- inputsObject[inputName]['value'].push(multiple ? values.join(',') : encodeURIComponent(value));
446
- var value = multiple ? values.join(',') : encodeURIComponent(value);
447
-
448
- }
449
-
450
- }
451
- }
452
- _inbound.deBugger('forms', inputsObject);
453
-
454
- //console.log('These are the raw values', inputsObject);
455
- //_inbound.totalStorage('the_key', inputsObject);
456
- //var inputsObject = sortInputs(inputsObject);
457
-
458
- var matchCommon = /name|first name|last name|email|e-mail|phone|website|job title|company|tele|address|comment/;
459
-
460
- for (var input in inputsObject) {
461
- //console.log(input);
462
-
463
- var inputValue = inputsObject[input]['value'];
464
- var inputMappedField = inputsObject[input]['map'];
465
- //if (matchCommon.test(input) !== false) {
466
- //console.log(input + " Matches Regex run mapping test");
467
- //var map = inputsObject[input];
468
- //console.log("MAPP", map);
469
- //mappedParams.push( input + '=' + inputsObject[input]['value'].join(',') );
470
- //}
471
-
472
- /* Add custom hook here to look for additional values */
473
- if (typeof(inputValue) != "undefined" && inputValue != null && inputValue != "") {
474
- rawParams.push(input + '=' + inputsObject[input]['value'].join(','));
475
- }
476
-
477
- if (typeof(inputMappedField) != "undefined" && inputMappedField != null && inputsObject[input]['value']) {
478
- //console.log('Data ATTR', formInput.dataset.mapFormField);
479
- mappedParams.push(inputMappedField + "=" + inputsObject[input]['value'].join(','));
480
- if (input === 'email') {
481
- var email = inputsObject[input]['value'].join(',');
482
- //alert(email);
483
-
484
- }
485
- }
486
- }
487
-
488
- var raw_params = rawParams.join('&');
489
- _inbound.deBugger('forms', "Stringified Raw Form PARAMS: " + raw_params);
490
-
491
- var mapped_params = mappedParams.join('&');
492
- _inbound.deBugger('forms', "Stringified Mapped PARAMS" + mapped_params);
493
-
494
- /* Check Use form Email or Cookie */
495
- var email = utils.getParameterVal('email', mapped_params) || utils.readCookie('wp_lead_email');
496
-
497
- /* Legacy Email map */
498
- if (!email) {
499
- email = utils.getParameterVal('wpleads_email_address', mapped_params);
500
- }
501
-
502
- var fullName = utils.getParameterVal('name', mapped_params);
503
- var fName = utils.getParameterVal('first_name', mapped_params);
504
- var lName = utils.getParameterVal('last_name', mapped_params);
505
-
506
- // Fallbacks for empty values
507
- if (!lName && fName) {
508
- var parts = decodeURI(fName).split(" ");
509
- if (parts.length > 0) {
510
- fName = parts[0];
511
- lName = parts[1];
512
- }
513
- }
514
-
515
- if (fullName && !lName && !fName) {
516
- var parts = decodeURI(fullName).split(" ");
517
- if (parts.length > 0) {
518
- fName = parts[0];
519
- lName = parts[1];
520
- }
521
- }
522
-
523
- fullName = (fName && lName) ? fName + " " + lName : fullName;
524
-
525
- if(!fName) { fName = ""; }
526
- if(!lName) { lName = ""; }
527
-
528
- _inbound.deBugger('forms', "fName = " + fName);
529
- _inbound.deBugger('forms', "lName = " + lName);
530
- _inbound.deBugger('forms', "fullName = " + fullName);
531
-
532
- //return false;
533
- var page_views = _inbound.totalStorage('page_views') || {};
534
- var urlParams = _inbound.totalStorage('inbound_url_params') || {};
535
-
536
- var inboundDATA = {
537
- 'email': email
538
- };
539
-
540
- /* Get Variation ID */
541
- if (typeof(landing_path_info) != "undefined") {
542
- var variation = landing_path_info.variation;
543
- } else if (typeof(cta_path_info) != "undefined") {
544
- var variation = cta_path_info.variation;
545
- } else {
546
- var variation = inbound_settings.variation_id;
547
- }
548
- var post_type = inbound_settings.post_type || 'page';
549
- var page_id = inbound_settings.post_id || 0;
550
- // data['wp_lead_uid'] = jQuery.cookie("wp_lead_uid") || null;
551
- // data['search_data'] = JSON.stringify(jQuery.totalStorage('inbound_search')) || {};
552
- search_data = {};
553
- /* Filter here for raw */
554
- //alert(mapped_params);
555
- /**
556
- * Old data model
557
- var return_data = {
558
- "action": 'inbound_store_lead',
559
- "emailTo": data['email'],
560
- "first_name": data['first_name'],
561
- "last_name": data['last_name'],
562
- "phone": data['phone'],
563
- "address": data['address'],
564
- "company_name": data['company'],
565
- "page_views": data['page_views'],
566
- "form_input_values": all_form_fields,
567
- "Mapped_Data": mapped_form_data,
568
- "Search_Data": data['search_data']
569
- };
570
- */
571
- formData = {
572
- 'action': 'inbound_lead_store',
573
- 'email': email,
574
- "full_name": fullName,
575
- "first_name": fName,
576
- "last_name": lName,
577
- 'raw_params': raw_params,
578
- 'mapped_params': mapped_params,
579
- 'url_params': JSON.stringify(urlParams),
580
- 'search_data': 'test',
581
- 'page_views': JSON.stringify(page_views),
582
- 'post_type': post_type,
583
- 'page_id': page_id,
584
- 'variation': variation,
585
- 'source': utils.readCookie("inbound_referral_site")
586
- };
587
-
588
- callback = function(leadID) {
589
- /* Action Example */
590
-
591
- _inbound.deBugger('forms', 'Lead Created with ID: ' + leadID);
592
- leadID = parseInt(leadID, 10);
593
- formData.leadID = leadID;
594
- /* Set Lead cookie ID */
595
- if (leadID) {
596
- utils.createCookie("wp_lead_id", leadID);
597
- _inbound.totalStorage.deleteItem('page_views'); // remove pageviews
598
- _inbound.totalStorage.deleteItem('tracking_events'); // remove events
599
- }
600
-
601
- _inbound.trigger('form_after_submission', formData);
602
-
603
- /* Resume normal form functionality */
604
- _inbound.Forms.releaseFormSubmit(form);
605
-
606
- }
607
-
608
- _inbound.trigger('form_before_submission', formData);
609
-
610
- utils.ajaxPost(inbound_settings.admin_url, formData, callback);
611
- },
612
- rememberInputValues: function(input) {
613
- var name = (input.name) ? "inbound_" + input.name : '';
614
- var type = (input.type) ? input.type : 'text';
615
- if (type === 'submit' || type === 'hidden' || type === 'file' || type === "password" || input.dataset.ignoreFormField) {
616
- return false;
617
- }
618
-
619
- utils.addListener(input, 'change', function(e) {
620
- if (e.target.name) {
621
- /* Check for input type */
622
- if (type !== "checkbox") {
623
- var value = e.target.value;
624
- } else {
625
- var values = [];
626
- var checkboxes = document.querySelectorAll('input[name="' + e.target.name + '"]');
627
- for (var i = 0; i < checkboxes.length; i++) {
628
- var checked = checkboxes[i].checked;
629
- if (checked) {
630
- values.push(checkboxes[i].value);
631
- }
632
- value = values.join(',');
633
- };
634
- }
635
- //console.log(e.target.nodeName);
636
- //console.log('change ' + e.target.name + " " + encodeURIComponent(value));
637
-
638
- inputData = {
639
- name: e.target.name,
640
- node: e.target.nodeName.toLowerCase(),
641
- type: type,
642
- value: value,
643
- mapping: e.target.dataset.mapFormField
644
- };
645
-
646
- _inbound.trigger('form_input_change', inputData);
647
- /* Set Field Input Cookies */
648
- utils.createCookie("inbound_" + e.target.name, encodeURIComponent(value));
649
- // _inbound.totalStorage('the_key', FormStore);
650
- /* Push to 'unsubmitted form object' */
651
- }
652
-
653
- });
654
- },
655
- fillInputValues: function(input) {
656
- var name = (input.name) ? "inbound_" + input.name : '';
657
- var type = (input.type) ? input.type : 'text';
658
- if (type === 'submit' || type === 'hidden' || type === 'file' || type === "password") {
659
- return false;
660
- }
661
- if (utils.readCookie(name) && name != 'comment') {
662
-
663
- value = decodeURIComponent(utils.readCookie(name));
664
- if (type === 'checkbox' || type === 'radio') {
665
- var checkbox_vals = value.split(',');
666
- for (var i = 0; i < checkbox_vals.length; i++) {
667
- if (input.value.indexOf(checkbox_vals[i]) > -1) {
668
- input.checked = true;
669
- }
670
- }
671
- } else {
672
- if (value !== "undefined") {
673
- input.value = value;
674
- }
675
- }
676
- }
677
- },
678
- getInputLabel: function(input){
679
- var label;
680
- if(label = this.siblingsIsLabel(input)){
681
- return label;
682
- } else if (label = this.CheckParentForLabel(input)) {
683
- return label;
684
- } else {
685
- //console.log("no label nf", input);
686
- return false;
687
- }
688
- },
689
- /* Get correct input values */
690
- getInputValue: function(input) {
691
- var value = false;
692
-
693
- switch (input.type) {
694
- case 'radio':
695
- case 'checkbox':
696
- if (input.checked) {
697
- value = input.value;
698
- //console.log("CHECKBOX VAL", value)
699
- }
700
- break;
701
-
702
- case 'text':
703
- case 'hidden':
704
- default:
705
- value = input.value;
706
- break;
707
-
708
- }
709
-
710
- return value;
711
- },
712
- /* Add data-map-form-field attr to input */
713
- addDataAttr: function(formInput, match) {
714
-
715
- var getAllInputs = document.getElementsByName(formInput.name);
716
- for (var i = getAllInputs.length - 1; i >= 0; i--) {
717
- if (!formInput.dataset.mapFormField) {
718
- getAllInputs[i].dataset.mapFormField = match;
719
- }
720
- };
721
- },
722
- /* Optimize FieldMapArray array for fewer lookups */
723
- removeArrayItem: function(array, item) {
724
- if (array.indexOf) {
725
- index = array.indexOf(item);
726
- } else {
727
- for (index = array.length - 1; index >= 0; --index) {
728
- if (array[index] === item) {
729
- break;
730
- }
731
- }
732
- }
733
- if (index >= 0) {
734
- array.splice(index, 1);
735
- }
736
- //_inbound.deBugger('forms', 'removed ' + item + " from array");
737
- //console.log('removed ' + item + " from array");
738
- return;
739
- },
740
- /* Look for siblings that are form labels */
741
- siblingsIsLabel: function(input) {
742
- var siblings = this.getSiblings(input);
743
- var labels = [];
744
- for (var i = siblings.length - 1; i >= 0; i--) {
745
- if (siblings[i].nodeName.toLowerCase() === 'label') {
746
- labels.push(siblings[i]);
747
- }
748
- };
749
- /* if only 1 label */
750
- if (labels.length > 0 && labels.length < 2) {
751
- return labels;
752
- }
753
-
754
- return false;
755
- },
756
- getChildren: function(n, skipMe) {
757
- var r = [];
758
- var elem = null;
759
- for (; n; n = n.nextSibling)
760
- if (n.nodeType == 1 && n != skipMe)
761
- r.push(n);
762
- return r;
763
- },
764
- getSiblings: function(n) {
765
- return this.getChildren(n.parentNode.firstChild, n);
766
- },
767
- /* Check parent elements inside form for labels */
768
- CheckParentForLabel: function(element) {
769
- if (element.nodeName === 'FORM') {
770
- return null;
771
- }
772
- do {
773
- var labels = element.getElementsByTagName("label");
774
- if (labels.length > 0 && labels.length < 2) {
775
- return element.getElementsByTagName("label");
776
- }
777
-
778
- } while (element = element.parentNode);
779
-
780
- return null;
781
- },
782
- /* Validate Common Email addresses */
783
- mailCheck: function() {
784
- var email_input = document.querySelector('.inbound-email');
785
- if (email_input) {
786
- //
787
- utils.addListener(email_input, 'blur', this.mailCheck);
788
-
789
- Mailcheck.run({
790
- email: document.querySelector('.inbound-email').value,
791
- suggested: function(suggestion) {
792
- // callback code
793
-
794
- var suggest = document.querySelector('.email_suggestion');
795
- if (suggest) {
796
- utils.removeElement(suggest);
797
- }
798
- var el = document.createElement("span");
799
- el.innerHTML = "<span class=\"email_suggestion\">Did you mean <b><i id='email_correction' style='cursor: pointer;' title=\"click to update\">" + suggestion.full + "</b></i>?</span>";
800
- email_input.parentNode.insertBefore(el, email_input.nextSibling);
801
- var update = document.getElementById('email_correction');
802
- utils.addListener(update, 'click', function() {
803
- email_input.value = update.innerHTML;
804
- update.parentNode.parentNode.innerHTML = "Fixed!";
805
- });
806
- },
807
- empty: function() {
808
- //$(".email_suggestion").html("No Suggestions :(");
809
- }
810
- });
811
- }
812
- }
813
-
814
- };
815
- /* Mailcheck */
816
- if (typeof Mailcheck === "undefined") {
817
- var Mailcheck = {
818
- domainThreshold: 1,
819
- topLevelThreshold: 3,
820
-
821
- defaultDomains: ["yahoo.com", "google.com", "hotmail.com", "gmail.com", "me.com", "aol.com", "mac.com",
822
- "live.com", "comcast.net", "googlemail.com", "msn.com", "hotmail.co.uk", "yahoo.co.uk",
823
- "facebook.com", "verizon.net", "sbcglobal.net", "att.net", "gmx.com", "mail.com", "outlook.com", "icloud.com"
824
- ],
825
-
826
- defaultTopLevelDomains: ["co.jp", "co.uk", "com", "net", "org", "info", "edu", "gov", "mil", "ca", "de"],
827
-
828
- run: function(opts) {
829
- opts.domains = opts.domains || Mailcheck.defaultDomains;
830
- opts.topLevelDomains = opts.topLevelDomains || Mailcheck.defaultTopLevelDomains;
831
- opts.distanceFunction = opts.distanceFunction || Mailcheck.sift3Distance;
832
-
833
- var defaultCallback = function(result) {
834
- return result;
835
- };
836
- var suggestedCallback = opts.suggested || defaultCallback;
837
- var emptyCallback = opts.empty || defaultCallback;
838
-
839
- var result = Mailcheck.suggest(Mailcheck.encodeEmail(opts.email), opts.domains, opts.topLevelDomains, opts.distanceFunction);
840
-
841
- return result ? suggestedCallback(result) : emptyCallback();
842
- },
843
-
844
- suggest: function(email, domains, topLevelDomains, distanceFunction) {
845
- email = email.toLowerCase();
846
-
847
- var emailParts = this.splitEmail(email);
848
-
849
- var closestDomain = this.findClosestDomain(emailParts.domain, domains, distanceFunction, this.domainThreshold);
850
-
851
- if (closestDomain) {
852
- if (closestDomain != emailParts.domain) {
853
- // The email address closely matches one of the supplied domains; return a suggestion
854
- return {
855
- address: emailParts.address,
856
- domain: closestDomain,
857
- full: emailParts.address + "@" + closestDomain
858
- };
859
- }
860
- } else {
861
- // The email address does not closely match one of the supplied domains
862
- var closestTopLevelDomain = this.findClosestDomain(emailParts.topLevelDomain, topLevelDomains, distanceFunction, this.topLevelThreshold);
863
- if (emailParts.domain && closestTopLevelDomain && closestTopLevelDomain != emailParts.topLevelDomain) {
864
- // The email address may have a mispelled top-level domain; return a suggestion
865
- var domain = emailParts.domain;
866
- closestDomain = domain.substring(0, domain.lastIndexOf(emailParts.topLevelDomain)) + closestTopLevelDomain;
867
- return {
868
- address: emailParts.address,
869
- domain: closestDomain,
870
- full: emailParts.address + "@" + closestDomain
871
- };
872
- }
873
- }
874
- /* The email address exactly matches one of the supplied domains, does not closely
875
- * match any domain and does not appear to simply have a mispelled top-level domain,
876
- * or is an invalid email address; do not return a suggestion.
877
- */
878
- return false;
879
- },
880
-
881
- findClosestDomain: function(domain, domains, distanceFunction, threshold) {
882
- threshold = threshold || this.topLevelThreshold;
883
- var dist;
884
- var minDist = 99;
885
- var closestDomain = null;
886
-
887
- if (!domain || !domains) {
888
- return false;
889
- }
890
- if (!distanceFunction) {
891
- distanceFunction = this.sift3Distance;
892
- }
893
-
894
- for (var i = 0; i < domains.length; i++) {
895
- if (domain === domains[i]) {
896
- return domain;
897
- }
898
- dist = distanceFunction(domain, domains[i]);
899
- if (dist < minDist) {
900
- minDist = dist;
901
- closestDomain = domains[i];
902
- }
903
- }
904
-
905
- if (minDist <= threshold && closestDomain !== null) {
906
- return closestDomain;
907
- } else {
908
- return false;
909
- }
910
- },
911
-
912
- sift3Distance: function(s1, s2) {
913
- // sift3: http://siderite.blogspot.com/2007/04/super-fast-and-accurate-string-distance.html
914
- if (s1 === null || s1.length === 0) {
915
- if (s2 === null || s2.length === 0) {
916
- return 0;
917
- } else {
918
- return s2.length;
919
- }
920
- }
921
-
922
- if (s2 === null || s2.length === 0) {
923
- return s1.length;
924
- }
925
-
926
- var c = 0;
927
- var offset1 = 0;
928
- var offset2 = 0;
929
- var lcs = 0;
930
- var maxOffset = 5;
931
-
932
- while ((c + offset1 < s1.length) && (c + offset2 < s2.length)) {
933
- if (s1.charAt(c + offset1) == s2.charAt(c + offset2)) {
934
- lcs++;
935
- } else {
936
- offset1 = 0;
937
- offset2 = 0;
938
- for (var i = 0; i < maxOffset; i++) {
939
- if ((c + i < s1.length) && (s1.charAt(c + i) == s2.charAt(c))) {
940
- offset1 = i;
941
- break;
942
- }
943
- if ((c + i < s2.length) && (s1.charAt(c) == s2.charAt(c + i))) {
944
- offset2 = i;
945
- break;
946
- }
947
- }
948
- }
949
- c++;
950
- }
951
- return (s1.length + s2.length) / 2 - lcs;
952
- },
953
-
954
- splitEmail: function(email) {
955
- var parts = email.trim().split("@");
956
-
957
- if (parts.length < 2) {
958
- return false;
959
- }
960
-
961
- for (var i = 0; i < parts.length; i++) {
962
- if (parts[i] === "") {
963
- return false;
964
- }
965
- }
966
-
967
- var domain = parts.pop();
968
- var domainParts = domain.split(".");
969
- var tld = "";
970
-
971
- if (domainParts.length === 0) {
972
- // The address does not have a top-level domain
973
- return false;
974
- } else if (domainParts.length == 1) {
975
- // The address has only a top-level domain (valid under RFC)
976
- tld = domainParts[0];
977
- } else {
978
- // The address has a domain and a top-level domain
979
- for (var i = 1; i < domainParts.length; i++) {
980
- tld += domainParts[i] + ".";
981
- }
982
- if (domainParts.length >= 2) {
983
- tld = tld.substring(0, tld.length - 1);
984
- }
985
- }
986
-
987
- return {
988
- topLevelDomain: tld,
989
- domain: domain,
990
- address: parts.join("@")
991
- };
992
- },
993
-
994
- // Encode the email address to prevent XSS but leave in valid
995
- // characters, following this official spec:
996
- // http://en.wikipedia.org/wiki/Email_address#Syntax
997
- encodeEmail: function(email) {
998
- var result = encodeURI(email);
999
- result = result.replace("%20", " ").replace("%25", "%").replace("%5E", "^")
1000
- .replace("%60", "`").replace("%7B", "{").replace("%7C", "|")
1001
- .replace("%7D", "}");
1002
- return result;
1003
- }
1004
- };
1005
- } // End Mailcheck
1006
-
1007
-
1008
- return _inbound;
1009
-
1010
- })(_inbound || {});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/js/frontend/analytics-src/analytics.hooks.js DELETED
@@ -1,404 +0,0 @@
1
- /**
2
- * # Hooks & Filters
3
- *
4
- * This file contains all of the form functions of the main _inbound object.
5
- * Filters and actions are described below
6
- *
7
- * Forked from https://github.com/carldanley/WP-JS-Hooks/blob/master/src/event-manager.js
8
- *
9
- * @author David Wells <david@inboundnow.com>
10
- * @version 0.0.1
11
- */
12
-
13
- var _inboundHooks = (function (_inbound) {
14
-
15
- /**
16
- * # EventManager
17
- *
18
- * Actions and filters List
19
- * addAction( 'namespace.identifier', callback, priority )
20
- * addFilter( 'namespace.identifier', callback, priority )
21
- * removeAction( 'namespace.identifier' )
22
- * removeFilter( 'namespace.identifier' )
23
- * doAction( 'namespace.identifier', arg1, arg2, moreArgs, finalArg )
24
- * applyFilters( 'namespace.identifier', content )
25
- * @return {[type]} [description]
26
- */
27
-
28
- /**
29
- * Handles managing all events for whatever you plug it into. Priorities for hooks are based on lowest to highest in
30
- * that, lowest priority hooks are fired first.
31
- */
32
- var EventManager = function() {
33
- /**
34
- * Maintain a reference to the object scope so our public methods never get confusing.
35
- */
36
- var MethodsAvailable = {
37
- removeFilter : removeFilter,
38
- applyFilters : applyFilters,
39
- addFilter : addFilter,
40
- removeAction : removeAction,
41
- doAction : doAction,
42
- addAction : addAction
43
- };
44
-
45
- /**
46
- * Contains the hooks that get registered with this EventManager. The array for storage utilizes a "flat"
47
- * object literal such that looking up the hook utilizes the native object literal hash.
48
- */
49
- var STORAGE = {
50
- actions : {},
51
- filters : {}
52
- };
53
-
54
- /**
55
- * Adds an action to the event manager.
56
- *
57
- * @param action Must contain namespace.identifier
58
- * @param callback Must be a valid callback function before this action is added
59
- * @param [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook
60
- * @param [context] Supply a value to be used for this
61
- */
62
- function addAction( action, callback, priority, context ) {
63
- if( typeof action === 'string' && typeof callback === 'function' ) {
64
- priority = parseInt( ( priority || 10 ), 10 );
65
- _addHook( 'actions', action, callback, priority, context );
66
- }
67
-
68
- return MethodsAvailable;
69
- }
70
-
71
- /**
72
- * Performs an action if it exists. You can pass as many arguments as you want to this function; the only rule is
73
- * that the first argument must always be the action.
74
- */
75
- function doAction( /* action, arg1, arg2, ... */ ) {
76
- var args = Array.prototype.slice.call( arguments );
77
- var action = args.shift();
78
-
79
- if( typeof action === 'string' ) {
80
- _runHook( 'actions', action, args );
81
- }
82
-
83
- return MethodsAvailable;
84
- }
85
-
86
- /**
87
- * Removes the specified action if it contains a namespace.identifier & exists.
88
- *
89
- * @param action The action to remove
90
- * @param [callback] Callback function to remove
91
- */
92
- function removeAction( action, callback ) {
93
- if( typeof action === 'string' ) {
94
- _removeHook( 'actions', action, callback );
95
- }
96
-
97
- return MethodsAvailable;
98
- }
99
-
100
- /**
101
- * Adds a filter to the event manager.
102
- *
103
- * @param filter Must contain namespace.identifier
104
- * @param callback Must be a valid callback function before this action is added
105
- * @param [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook
106
- * @param [context] Supply a value to be used for this
107
- */
108
- function addFilter( filter, callback, priority, context ) {
109
- if( typeof filter === 'string' && typeof callback === 'function' ) {
110
- //console.log('add filter', filter);
111
- priority = parseInt( ( priority || 10 ), 10 );
112
- _addHook( 'filters', filter, callback, priority );
113
- }
114
-
115
- return MethodsAvailable;
116
- }
117
-
118
- /**
119
- * Performs a filter if it exists. You should only ever pass 1 argument to be filtered. The only rule is that
120
- * the first argument must always be the filter.
121
- */
122
- function applyFilters( /* filter, filtered arg, arg2, ... */ ) {
123
- var args = Array.prototype.slice.call( arguments );
124
- var filter = args.shift();
125
-
126
- if( typeof filter === 'string' ) {
127
- return _runHook( 'filters', filter, args );
128
- }
129
-
130
- return MethodsAvailable;
131
- }
132
-
133
- /**
134
- * Removes the specified filter if it contains a namespace.identifier & exists.
135
- *
136
- * @param filter The action to remove
137
- * @param [callback] Callback function to remove
138
- */
139
- function removeFilter( filter, callback ) {
140
- if( typeof filter === 'string') {
141
- _removeHook( 'filters', filter, callback );
142
- }
143
-
144
- return MethodsAvailable;
145
- }
146
-
147
- /**
148
- * Removes the specified hook by resetting the value of it.
149
- *
150
- * @param type Type of hook, either 'actions' or 'filters'
151
- * @param hook The hook (namespace.identifier) to remove
152
- * @private
153
- */
154
- function _removeHook( type, hook, callback, context ) {
155
- if ( !STORAGE[ type ][ hook ] ) {
156
- return;
157
- }
158
- if ( !callback ) {
159
- STORAGE[ type ][ hook ] = [];
160
- } else {
161
- var handlers = STORAGE[ type ][ hook ];
162
- var i;
163
- if ( !context ) {
164
- for ( i = handlers.length; i--; ) {
165
- if ( handlers[i].callback === callback ) {
166
- handlers.splice( i, 1 );
167
- }
168
- }
169
- }
170
- else {
171
- for ( i = handlers.length; i--; ) {
172
- var handler = handlers[i];
173
- if ( handler.callback === callback && handler.context === context) {
174
- handlers.splice( i, 1 );
175
- }
176
- }
177
- }
178
- }
179
- }
180
-
181
- /**
182
- * Adds the hook to the appropriate storage container
183
- *
184
- * @param type 'actions' or 'filters'
185
- * @param hook The hook (namespace.identifier) to add to our event manager
186
- * @param callback The function that will be called when the hook is executed.
187
- * @param priority The priority of this hook. Must be an integer.
188
- * @param [context] A value to be used for this
189
- * @private
190
- */
191
- function _addHook( type, hook, callback, priority, context ) {
192
- var hookObject = {
193
- callback : callback,
194
- priority : priority,
195
- context : context
196
- };
197
-
198
- // Utilize 'prop itself' : http://jsperf.com/hasownproperty-vs-in-vs-undefined/19
199
- var hooks = STORAGE[ type ][ hook ];
200
- if( hooks ) {
201
- hooks.push( hookObject );
202
- hooks = _hookInsertSort( hooks );
203
- }
204
- else {
205
- hooks = [ hookObject ];
206
- }
207
-
208
- STORAGE[ type ][ hook ] = hooks;
209
- }
210
-
211
- /**
212
- * Use an insert sort for keeping our hooks organized based on priority. This function is ridiculously faster
213
- * than bubble sort, etc: http://jsperf.com/javascript-sort
214
- *
215
- * @param hooks The custom array containing all of the appropriate hooks to perform an insert sort on.
216
- * @private
217
- */
218
- function _hookInsertSort( hooks ) {
219
- var tmpHook, j, prevHook;
220
- for( var i = 1, len = hooks.length; i < len; i++ ) {
221
- tmpHook = hooks[ i ];
222
- j = i;
223
- while( ( prevHook = hooks[ j - 1 ] ) && prevHook.priority > tmpHook.priority ) {
224
- hooks[ j ] = hooks[ j - 1 ];
225
- --j;
226
- }
227
- hooks[ j ] = tmpHook;
228
- }
229
-
230
- return hooks;
231
- }
232
-
233
- /**
234
- * Runs the specified hook. If it is an action, the value is not modified but if it is a filter, it is.
235
- *
236
- * @param type 'actions' or 'filters'
237
- * @param hook The hook ( namespace.identifier ) to be ran.
238
- * @param args Arguments to pass to the action/filter. If it's a filter, args is actually a single parameter.
239
- * @private
240
- */
241
- function _runHook( type, hook, args ) {
242
- var handlers = STORAGE[ type ][ hook ];
243
-
244
- if ( !handlers ) {
245
- return (type === 'filters') ? args[0] : false;
246
- }
247
-
248
- var i = 0, len = handlers.length;
249
- if ( type === 'filters' ) {
250
- for ( ; i < len; i++ ) {
251
- args[ 0 ] = handlers[ i ].callback.apply( handlers[ i ].context, args );
252
- }
253
- } else {
254
- for ( ; i < len; i++ ) {
255
- handlers[ i ].callback.apply( handlers[ i ].context, args );
256
- }
257
- }
258
-
259
- return ( type === 'filters' ) ? args[ 0 ] : true;
260
- }
261
-
262
- // return all of the publicly available methods
263
- return MethodsAvailable;
264
-
265
- };
266
-
267
- _inbound.hooks = new EventManager();
268
-
269
-
270
- /**
271
- * Event Hooks and Filters public methods
272
- */
273
- /*
274
- * add_action
275
- *
276
- * This function uses _inbound.hooks to mimics WP add_action
277
- *
278
- * ```js
279
- * function Inbound_Add_Action_Example(data) {
280
- * // Do stuff here.
281
- * };
282
- * // Add action to the hook
283
- * _inbound.add_action( 'name_of_action', Inbound_Add_Action_Example, 10 );
284
- * ```
285
- */
286
- _inbound.add_action = function() {
287
- // allow multiple action parameters such as 'ready append'
288
- var actions = arguments[0].split(' ');
289
-
290
- for( k in actions ) {
291
-
292
- // prefix action
293
- arguments[0] = 'inbound.' + actions[ k ];
294
-
295
- _inbound.hooks.addAction.apply(this, arguments);
296
- }
297
-
298
- return this;
299
-
300
- };
301
- /*
302
- * remove_action
303
- *
304
- * This function uses _inbound.hooks to mimics WP remove_action
305
- *
306
- * ```js
307
- * // Add remove action 'name_of_action'
308
- * _inbound.remove_action( 'name_of_action');
309
- * ```
310
- *
311
- */
312
- _inbound.remove_action = function() {
313
- // prefix action
314
- arguments[0] = 'inbound.' + arguments[0];
315
- _inbound.hooks.removeAction.apply(this, arguments);
316
-
317
- return this;
318
-
319
- };
320
- /*
321
- * do_action
322
- *
323
- * This function uses _inbound.hooks to mimics WP do_action
324
- * This is used if you want to allow for third party JS plugins to act on your functions
325
- *
326
- */
327
- _inbound.do_action = function() {
328
- // prefix action
329
- arguments[0] = 'inbound.' + arguments[0];
330
- _inbound.hooks.doAction.apply(this, arguments);
331
-
332
- return this;
333
-
334
- };
335
- /*
336
- * add_filter
337
- *
338
- * This function uses _inbound.hooks to mimics WP add_filter
339
- *
340
- * ```js
341
- * _inbound.add_filter( 'urlParamFilter', URL_Param_Filter, 10 );
342
- * function URL_Param_Filter(urlParams) {
343
- *
344
- * var params = urlParams || {};
345
- * // check for item in object
346
- * if(params.utm_source !== "undefined"){
347
- * //alert('url param "utm_source" is here');
348
- * }
349
- *
350
- * // delete item from object
351
- * delete params.utm_source;
352
- *
353
- * return params;
354
- *
355
- * }
356
- * ```
357
- */
358
- _inbound.add_filter = function() {
359
- // prefix action
360
- arguments[0] = 'inbound.' + arguments[0];
361
- _inbound.hooks.addFilter.apply(this, arguments);
362
-
363
- return this;
364
-
365
- };
366
- /*
367
- * remove_filter
368
- *
369
- * This function uses _inbound.hooks to mimics WP remove_filter
370
- *
371
- * ```js
372
- * // Add remove filter 'urlParamFilter'
373
- * _inbound.remove_action( 'urlParamFilter');
374
- * ```
375
- *
376
- */
377
- _inbound.remove_filter = function() {
378
- // prefix action
379
- arguments[0] = 'inbound.' + arguments[0];
380
-
381
- _inbound.hooks.removeFilter.apply(this, arguments);
382
-
383
- return this;
384
-
385
- };
386
- /*
387
- * apply_filters
388
- *
389
- * This function uses _inbound.hooks to mimics WP apply_filters
390
- *
391
- */
392
- _inbound.apply_filters = function() {
393
- //console.log('Filter:' + arguments[0] + " ran on ->", arguments[1]);
394
- // prefix action
395
- arguments[0] = 'inbound.' + arguments[0];
396
-
397
- return _inbound.hooks.applyFilters.apply(this, arguments);
398
-
399
- };
400
-
401
-
402
- return _inbound;
403
-
404
- })(_inbound || {});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/js/frontend/analytics-src/analytics.init.js DELETED
@@ -1,130 +0,0 @@
1
- /**
2
- * # _inbound
3
- *
4
- * This main the _inbound class
5
- *
6
- * @author David Wells <david@inboundnow.com>
7
- * @version 0.0.1
8
- */
9
-
10
- var inbound_data = inbound_data || {};
11
- var _inboundOptions = _inboundOptions || {};
12
- /* Ensure global _gaq Google Analytics queue has been initialized. */
13
- var _gaq = _gaq || [];
14
-
15
- var _inbound = (function(options) {
16
-
17
- /* Constants */
18
- var defaults = {
19
- timeout: ( inbound_settings.is_admin ? 500 : 10000 ),
20
- formAutoTracking: true,
21
- formAutoPopulation: true
22
- };
23
-
24
- var Analytics = {
25
- /* Initialize individual modules */
26
- init: function() {
27
- _inbound.Utils.init();
28
-
29
- _inbound.Utils.domReady(window, function() {
30
- /* On Load Analytics Events */
31
- _inbound.DomLoaded();
32
-
33
- });
34
- },
35
- DomLoaded: function() {
36
- _inbound.PageTracking.init();
37
- /* run form mapping */
38
- _inbound.Forms.init();
39
- /* set URL params */
40
- _inbound.Utils.setUrlParams();
41
- _inbound.LeadsAPI.init();
42
- /* run form mapping for dynamically generated forms */
43
- setTimeout(function() {
44
- _inbound.Forms.init();
45
- }, 2000);
46
-
47
- _inbound.trigger('analytics_ready');
48
-
49
- },
50
- /**
51
- * Merge script defaults with user options
52
- * @private
53
- * @param {Object} defaults Default settings
54
- * @param {Object} options User options
55
- * @returns {Object} Merged values of defaults and options
56
- */
57
- extend: function(defaults, options) {
58
- var extended = {};
59
- var prop;
60
- for (prop in defaults) {
61
- if (Object.prototype.hasOwnProperty.call(defaults, prop)) {
62
- extended[prop] = defaults[prop];
63
- }
64
- }
65
- for (prop in options) {
66
- if (Object.prototype.hasOwnProperty.call(options, prop)) {
67
- extended[prop] = options[prop];
68
- }
69
- }
70
- return extended;
71
- },
72
- /* Debugger Function toggled by var debugMode */
73
- debug: function(msg, callback) {
74
- /* legacy */
75
- },
76
- deBugger: function(context, msg, callback) {
77
-
78
- if (!console) {
79
- return;
80
- }
81
- //if app not in debug mode, exit immediately
82
- // check for hash
83
- var hash = (document.location.hash) ? document.location.hash : '',
84
- debugHash = hash.indexOf("#debug") > -1,
85
- msg = msg || false,
86
- logCookie,
87
- logAllMessages,
88
- hashcontext;
89
-
90
- if (hash && hash.match(/debug/)) {
91
- hash = hash.split('-');
92
- hashcontext = hash[1];
93
- }
94
-
95
-
96
- logAllMessages = (_inbound.Utils.readCookie("inbound_debug") === "true") ? true : false;
97
- logCookie = (_inbound.Utils.readCookie("inbound_debug_" + context) === "true") ? true : false;
98
-
99
- if (!logCookie && !debugHash && !logAllMessages) {
100
- // no logger set. exit.
101
- return;
102
- };
103
-
104
- //console.log the message
105
- if (msg && (typeof msg === 'string')) {
106
-
107
- if (logAllMessages || hashcontext === 'all') {
108
- console.log('logAll "' + context + '" =>', msg)
109
- } else if (logCookie) {
110
- console.log('log "' + context + '" =>', msg)
111
- } else if (context === hashcontext) {
112
- console.log('#log "' + context + '" =>', msg)
113
- }
114
-
115
- };
116
-
117
- //execute the callback if one was passed-in
118
- if (callback && (callback instanceof Function)) {
119
- callback();
120
- };
121
- }
122
- };
123
-
124
- var settings = Analytics.extend(defaults, options);
125
- /* Set globals */
126
- Analytics.Settings = settings || {};
127
-
128
- return Analytics;
129
-
130
- })(_inboundOptions);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/js/frontend/analytics-src/analytics.lead.js DELETED
@@ -1,88 +0,0 @@
1
- /**
2
- * Leads API functions
3
- * @param Object _inbound - Main JS object
4
- * @return Object - include event triggers
5
- */
6
- var _inboundLeadsAPI = (function(_inbound) {
7
- var httpRequest;
8
- _inbound.LeadsAPI = {
9
- init: function() {
10
-
11
- var utils = _inbound.Utils,
12
- wp_lead_uid = utils.readCookie("wp_lead_uid"),
13
- wp_lead_id = utils.readCookie("wp_lead_id"),
14
- expire_check = utils.readCookie("lead_session_expire"); // check for session
15
-
16
- if (!expire_check) {
17
- _inbound.deBugger('leads', 'expired vistor. Run Processes');
18
- //var data_to_lookup = global-localized-vars;
19
- if (wp_lead_id) {
20
- /* Get InboundLeadData */
21
- _inbound.LeadsAPI.getAllLeadData();
22
- }
23
- }
24
- },
25
- setGlobalLeadData: function(data) {
26
- InboundLeadData = data;
27
- },
28
- getAllLeadData: function(expire_check) {
29
- var wp_lead_id = _inbound.Utils.readCookie("wp_lead_id"),
30
- leadData = _inbound.totalStorage('inbound_lead_data'),
31
- leadDataExpire = _inbound.Utils.readCookie("lead_data_expire");
32
- data = {
33
- action: 'inbound_get_all_lead_data',
34
- wp_lead_id: wp_lead_id
35
- },
36
- success = function(returnData) {
37
- var leadData = JSON.parse(returnData);
38
- _inbound.LeadsAPI.setGlobalLeadData(leadData);
39
- _inbound.totalStorage('inbound_lead_data', leadData); // store lead data
40
-
41
- /* Set 3 day timeout for checking DB for new lead data for Lead_Global var */
42
- var d = new Date();
43
- d.setTime(d.getTime() + 30 * 60 * 1000);
44
- var expire = _inbound.Utils.addDays(d, 3);
45
- _inbound.Utils.createCookie("lead_data_expire", true, expire);
46
-
47
- };
48
-
49
- if (!leadData) {
50
- // Get New Lead Data from DB
51
- _inbound.Utils.ajaxPost(inbound_settings.admin_url, data, success);
52
-
53
- } else {
54
- // set global lead var with localstorage data
55
- _inbound.LeadsAPI.setGlobalLeadData(leadData);
56
- _inbound.deBugger('lead', 'Set Global Lead Data from Localstorage');
57
-
58
- if (!leadDataExpire) {
59
- _inbound.Utils.ajaxPost(inbound_settings.admin_url, data, success);
60
- //console.log('Set Global Lead Data from Localstorage');
61
- _inbound.deBugger('lead', 'localized data old. Pull new from DB');
62
- //console.log('localized data old. Pull new from DB');
63
- }
64
- }
65
-
66
- },
67
- getLeadLists: function() {
68
- var wp_lead_id = _inbound.Utils.readCookie("wp_lead_id");
69
- var data = {
70
- action: 'wpl_check_lists',
71
- wp_lead_id: wp_lead_id
72
- };
73
- var success = function(user_id) {
74
- _inbound.Utils.createCookie("lead_session_list_check", true, {
75
- path: '/',
76
- expires: 1
77
- });
78
- _inbound.deBugger('lead', "Lists checked");
79
- //console.log("Lists checked");
80
- };
81
- //_inbound.Utils.doAjax(data, success);
82
- _inbound.Utils.ajaxPost(inbound_settings.admin_url, data, success);
83
- }
84
- };
85
-
86
- return _inbound;
87
-
88
- })(_inbound || {});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
shared/assets/js/frontend/analytics-src/analytics.page.js DELETED
@@ -1,373 +0,0 @@
1
- /**
2
- * # Page View Tracking
3
- *
4
- * Page view tracking
5
- *
6
- * @author David Wells <david@inboundnow.com>
7
- * @version 0.0.1
8
- */
9
- /* Launches view tracking */
10
- var _inboundPageTracking = (function(_inbound) {
11
-
12
- var started = false,
13
- stopped = false,
14
- turnedOff = false,
15
- clockTime = parseInt(_inbound.Utils.readCookie("lead_session"), 10) || 0,
16
- inactiveClockTime = 0,
17
- startTime = new Date(),
18
- clockTimer = null,
19
- inactiveClockTimer = null,
20
- idleTimer = null,
21
- reportInterval,
22
- idleTimeout,
23
- utils = _inbound.Utils,
24
- timeNow = _inbound.Utils.GetDate(),
25
- lsType = 'page_views',
26
- Pages = _inbound.totalStorage(lsType) || {},
27
- /*!
28
- Todo: Use UTC offset
29
- var x = new Date();
30
- var currentTime = x.getTimezoneOffset() / 60;
31
- console.log(currentTime) // gets UTC offset
32
- */
33
- id = inbound_settings.post_id || window.location.pathname,
34
- analyticsTimeout = _inbound.Settings.timeout || 10000;
35
-
36
- _inbound.PageTracking = {
37
-
38
- init: function(options) {
39
-
40
- if(lsType !== 'page_views') {
41
- return false; // in admin
42
- }
43
-
44
- this.CheckTimeOut();
45
- // Set up options and defaults
46
- options = options || {};
47
- reportInterval = parseInt(options.reportInterval, 10) || 10;
48
- idleTimeout = parseInt(options.idleTimeout, 10) || 3;
49
-
50
- // Basic activity event listeners
51
- utils.addListener(document, 'keydown', utils.throttle(_inbound.PageTracking.pingSession, 1000));
52
- utils.addListener(document, 'click', utils.throttle(_inbound.PageTracking.pingSession, 1000));
53
- utils.addListener(window, 'mousemove', utils.throttle(_inbound.PageTracking.pingSession, 1000));
54
- //utils.addListener(window, 'scroll', utils.throttle(_inbound.PageTracking.pingSession, 1000));
55
-
56
- // Page visibility listeners
57
- _inbound.PageTracking.checkVisibility();
58
-
59
- /* Start Session on page load */
60
- this.startSession();
61
-
62
- },
63
-
64
- setIdle: function(reason) {
65
- var reason = reason || "No Movement",
66
- msg = 'Session IDLE. Activity Timeout due to ' + reason;
67
-
68
- _inbound.deBugger('pages', msg);
69
-
70
- clearTimeout(_inbound.PageTracking.idleTimer);
71
- _inbound.PageTracking.stopClock();
72
- _inbound.trigger('session_idle');
73
-
74
- },
75
-
76
- checkVisibility: function() {
77
- var hidden, visibilityState, visibilityChange;
78
-
79
- if (typeof document.hidden !== "undefined") {
80
- hidden = "hidden", visibilityChange = "visibilitychange", visibilityState = "visibilityState";
81
- } else if (typeof document.mozHidden !== "undefined") {
82
- hidden = "mozHidden", visibilityChange = "mozvisibilitychange", visibilityState = "mozVisibilityState";
83
- } else if (typeof document.msHidden !== "undefined") {
84
- hidden = "msHidden", visibilityChange = "msvisibilitychange", visibilityState = "msVisibilityState";
85
- } else if (typeof document.webkitHidden !== "undefined") {
86
- hidden = "webkitHidden", visibilityChange = "webkitvisibilitychange", visibilityState = "webkitVisibilityState";
87
- }
88
-
89
- var document_hidden = document[hidden];
90
-
91
- _inbound.Utils.addListener(document, visibilityChange, function(e) {
92
- /*! Listen for visibility changes */
93
- if (document_hidden != document[hidden]) {
94
- if (document[hidden]) {
95
- // Document hidden
96
- _inbound.trigger('tab_hidden');
97
- _inbound.PageTracking.setIdle('browser tab switch');
98
- } else {
99
- // Document shown
100
- _inbound.trigger('tab_visible');
101
- _inbound.PageTracking.pingSession();
102
- }
103
-
104
- document_hidden = document[hidden];
105
- }
106
- });
107
- },
108
- clock: function() {
109
- clockTime += 1;
110
- var niceTime = clockTime / 60;
111
- var msg = 'Total time spent on Page in this Session: ' + niceTime.toFixed(2) + " min";
112
- _inbound.deBugger('pages', msg);
113
- if (clockTime > 0 && (clockTime % reportInterval === 0)) {
114
-
115
- var d = new Date();
116
- d.setTime(d.getTime() + 30 * 60 * 1000);
117
- utils.createCookie("lead_session", clockTime, d); // Set cookie on page load
118
-
119
- /*! every 10 seconds run this */
120
- //console.log('Session Heartbeat every ' + reportInterval + ' secs');
121
- _inbound.trigger('session_heartbeat', clockTime);
122
-
123
- }
124
-
125
- },
126
- inactiveClock: function() {
127
- inactiveClockTime += 1;
128
- var TimeUntilTimeOut = (1800 - inactiveClockTime) / 60;
129
- var msg = 'Time until Session Timeout: ' + TimeUntilTimeOut.toFixed(2) + " min";
130
- _inbound.deBugger('pages', msg);
131
- //console.log('Time until Session Timeout: ', TimeUntilTimeOut.toFixed(2) + " min");
132
- /* Session timeout after 30min */
133
- if (inactiveClockTime > 1800) {
134
-
135
- // sendEvent(clockTime);
136
- /*! End session after 30min timeout */
137
- _inbound.trigger('session_end', InboundLeadData);
138
- _inbound.Utils.eraseCookie("lead_session");
139
- /* todo maybe? remove session Cookie */
140
- inactiveClockTime = 0;
141
- clearTimeout(inactiveClockTimer);
142
- }
143
-
144
-
145
- },
146
- stopClock: function() {
147
- stopped = true;
148
- clearTimeout(clockTimer);
149
- clearTimeout(inactiveClockTimer);
150
- inactiveClockTimer = setInterval(_inbound.PageTracking.inactiveClock, 1000);
151
- },
152
-
153
- restartClock: function() {
154
- stopped = false;
155
-
156
-
157
- _inbound.trigger('session_resume');
158
- _inbound.deBugger('pages', 'Activity resumed. Session Active');
159
- /* todo add session_resume */
160
- clearTimeout(clockTimer);
161
- inactiveClockTime = 0;
162
- clearTimeout(inactiveClockTimer);
163
- clockTimer = setInterval(_inbound.PageTracking.clock, 1000);
164
- },
165
-
166
- turnOff: function() {
167
- _inbound.PageTracking.setIdle();
168
- turnedOff = true;
169
- },
170
-
171
- turnOn: function() {
172
- turnedOff = false;
173
- },
174
- /* This start only runs once */
175
- startSession: function() {
176
- /* todo add session Cookie */
177
- // Calculate seconds from start to first interaction
178
- var currentTime = new Date();
179
- var diff = currentTime - startTime;
180
-
181
-
182
- started = true; // Set global
183
-
184
- // Send User Timing Event
185
- /* Todo session start here */
186
-
187
- // Start clock
188
- clockTimer = setInterval(_inbound.PageTracking.clock, 1000);
189
- //utils.eraseCookie("lead_session");
190
- var session = utils.readCookie("lead_session");
191
-
192
- if (!session) {
193
- _inbound.trigger('session_start'); // trigger 'inbound_analytics_session_start'
194
- var d = new Date();
195
- d.setTime(d.getTime() + 30 * 60 * 1000);
196
- _inbound.Utils.createCookie("lead_session", 1, d); // Set cookie on page load
197
- } else {
198
- _inbound.trigger('session_active');
199
- //console.log("count of secs " + session);
200
- //_inbound.trigger('session_active'); // trigger 'inbound_analytics_session_active'
201
- }
202
-
203
- this.pingSession();
204
-
205
-
206
- },
207
- resetInactiveFunc: function() {
208
- inactiveClockTime = 0;
209
- clearTimeout(inactiveClockTimer);
210
- },
211
- /* Ping Session to keep active */
212
- pingSession: function(e) {
213
-
214
-
215
- if (turnedOff) {
216
- return;
217
- }
218
-
219
- if (!started) {
220
- _inbound.PageTracking.startSession();
221
- }
222
-
223
- if (stopped) {
224
- _inbound.PageTracking.restartClock();
225
- }
226
-
227
- clearTimeout(idleTimer);
228
-
229
- idleTimer = setTimeout(_inbound.PageTracking.setIdle, idleTimeout * 1000 + 100);
230
-
231
- if (typeof(e) != "undefined") {
232
- if (e.type === "mousemove") {
233
- _inbound.PageTracking.mouseEvents(e);
234
- }
235
- }
236
-
237
- },
238
- mouseEvents: function(e) {
239
-
240
- if (e.pageY <= 5) {
241
- _inbound.trigger('tab_mouseout');
242
- }
243
-
244
- },
245
- /**
246
- * Returns the pages viewed by the site visitor
247
- *
248
- * ```js
249
- * var pageViews = _inbound.PageTracking.getPageViews();
250
- * // returns page view object
251
- * ```
252
- *
253
- * @return {object} page view object with page ID as key and timestamp
254
- */
255
- getPageViews: function() {
256
- var local_store = _inbound.Utils.checkLocalStorage();
257
- if (local_store) {
258
- var page_views = localStorage.getItem(lsType),
259
- local_object = JSON.parse(page_views);
260
- if (typeof local_object == 'object' && local_object) {
261
- //this.triggerPageView();
262
- }
263
- return local_object;
264
- }
265
- },
266
- isRevisit: function(Pages) {
267
- var revisitCheck = false;
268
- var Pages = Pages || {};
269
- var pageSeen = Pages[id];
270
- if (typeof(pageSeen) != "undefined" && pageSeen !== null) {
271
- revisitCheck = true;
272
- }
273
- return revisitCheck;
274
- },
275
- triggerPageView: function(pageRevisit) {
276
-
277
- var pageData = {
278
- title: document.title,
279
- url: document.location.href,
280
- path: document.location.pathname,
281
- count: 1 // default
282
- };
283
-
284
- if (pageRevisit) {
285
- /* Page Revisit Trigger */
286
- Pages[id].push(timeNow);
287
- pageData.count = Pages[id].length;
288
- _inbound.trigger('page_revisit', pageData);
289
-
290
- } else {
291
- /* Page First Seen Trigger */
292
- Pages[id] = [];
293
- Pages[id].push(timeNow);
294
- _inbound.trigger('page_first_visit', pageData);
295
- }
296
-
297
- _inbound.trigger('page_visit', pageData);
298
-
299
- _inbound.totalStorage(lsType, Pages);
300
-
301
- this.storePageView();
302
-
303
- },
304
- CheckTimeOut: function() {
305
-
306
- var pageRevisit = this.isRevisit(Pages),
307
- status,
308
- timeout;
309
-
310
- /* Default */
311
- if (pageRevisit) {
312
-
313
- var prev = Pages[id].length - 1,
314
- lastView = Pages[id][prev],
315
- timeDiff = Math.abs(new Date(lastView).getTime() - new Date(timeNow).getTime());
316
-
317
- timeout = timeDiff > analyticsTimeout;
318
-
319
- if (timeout) {
320
- status = 'Timeout Happened. Page view fired';
321
- this.triggerPageView(pageRevisit);
322
- } else {
323
- time_left = Math.abs((analyticsTimeout - timeDiff)) * 0.001;
324
- status = analyticsTimeout / 1000 + ' sec timeout not done: ' + time_left + " seconds left";
325
- }
326
-
327
- } else {
328
- /*! Page never seen before save view */
329
- this.triggerPageView(pageRevisit);
330
- }
331
-
332
- _inbound.deBugger('pages', status);
333
- },
334
- storePageView: function() {
335
-
336
- if ( inbound_settings.page_tracking == 'off' ) {
337
- return;
338
- }
339
-
340
- var leadID = ( _inbound.Utils.readCookie('wp_lead_id') ) ? _inbound.Utils.readCookie('wp_lead_id') : '';
341
- var lead_uid = ( _inbound.Utils.readCookie('wp_lead_uid') ) ? _inbound.Utils.readCookie('wp_lead_uid') : '';
342
-
343
- var data = {
344
- action: 'inbound_track_lead',
345
- wp_lead_uid: lead_uid,
346
- wp_lead_