{"version":3,"sources":["webpack:///scripts/app.77861da34a6cc3389414.js","webpack:///./src/utils/CommonConstants.js","webpack:///./src/modules/shared/module.js","webpack:///./node_modules/markdown-it/lib/common/utils.js","webpack:///./src/utils/scope.js","webpack:///./src/modules/order/module.js","webpack:///./src/shared/commandKeys.js","webpack:///./src/services/communicationService.js","webpack:///./src/utils/shopifyInjector/utils.js","webpack:///./node_modules/jade/lib/runtime.js","webpack:///./src/modules/profile/module.js","webpack:///./src/modules/cart/module.js","webpack:///./node_modules/uc.micro/categories/P/regex.js","webpack:///./node_modules/markdown-it/lib/ruler.js","webpack:///./node_modules/markdown-it/lib/token.js","webpack:///./src/modules/catalog/module.js","webpack:///./src/bootstrap/app.js","webpack:///./src/bootstrap/cartonomy_config.js","webpack:///./src/modules/shared/controllers/ExternalStoreHandler.js","webpack:///./src/modules/shared/services/IdleDetectingService.js","webpack:///./src/services/commandHandlerService.js","webpack:///./src/resources/images/cartonomy-icon.svg","webpack:///./src/modules/shared/controllers/ChangePasswordController.js","webpack:///./src/modules/order/controllers/OrderSetupDialogController.js","webpack:///./node_modules/markdown-it/lib/common/entities.js","webpack:///./node_modules/mdurl/index.js","webpack:///./node_modules/uc.micro/properties/Any/regex.js","webpack:///./node_modules/uc.micro/categories/Cc/regex.js","webpack:///./node_modules/uc.micro/categories/Z/regex.js","webpack:///./node_modules/markdown-it/lib/common/html_re.js","webpack:///./node_modules/markdown-it/lib/rules_inline/strikethrough.js","webpack:///./node_modules/markdown-it/lib/rules_inline/emphasis.js","webpack:///./src/modules/cart/controllers/StoreAdminCartController.js","webpack:///./src/modules/order/controllers/InviteController.js","webpack:///./src/modules/catalog/controllers/ProductDetailController.js","webpack:///./src/libs/emoji/config.js","webpack:///./src/bootstrap/index.js","webpack:///./src/modules/about/index.js","webpack:///./src/modules/about/controllers/AboutController.js","webpack:///./src/modules/about/module.js","webpack:///./src/modules/about/routeConfig.js","webpack:///./src/modules/about/views/about.jade","webpack:///./src/modules/shared/index.js","webpack:///./node_modules/away/index.js","webpack:///./node_modules/xtend/index.js","webpack:///./node_modules/translate-js/src/translate.js","webpack:///./src/modules/shared/controllers/ApplicationController.js","webpack:///./src/modules/shared/controllers/ConfirmTicketController.js","webpack:///./src/modules/shared/controllers/LoginController.js","webpack:///./src/modules/shared/controllers/LoginTicketController.js","webpack:///./src/modules/shared/directives/CategoryHeaderDirective.js","webpack:///./src/modules/shared/directives/FocusMeDirective.js","webpack:///./src/modules/shared/directives/FooterDirective.js","webpack:///./src/modules/shared/views/footer.pug","webpack:///./src/modules/shared/directives/HeaderDirective.js","webpack:///./src/modules/shared/views/header.jade","webpack:///./src/modules/shared/directives/LoadingIndicatorDirective.js","webpack:///./src/modules/shared/directives/InputCompareToDirective.js","webpack:///./src/modules/shared/directives/InputElementErrorDirective.js","webpack:///./src/modules/shared/directives/InputFocusDirective.js","webpack:///./src/modules/shared/directives/PayPalPaymentForm.js","webpack:///./src/modules/shared/directives/SquareUpPaymentForm.js","webpack:///./src/modules/shared/directives/StickyPanelDirective.js","webpack:///./src/modules/shared/directives/WidthChangedHandlerDirective.js","webpack:///./src/modules/shared/directives/InviteLinkDirective.js","webpack:///./src/modules/order/controllers/InviteUserController.js","webpack:///./src/modules/order/views/inviteUser.jade","webpack:///./src/modules/shared/services/AuthenticationService.js","webpack:///./src/modules/shared/views/changePasswordDialog.pug","webpack:///./src/modules/shared/services/AuthInterceptorService.js","webpack:///./src/modules/shared/services/CartService.js","webpack:///./src/modules/shared/services/CheckoutService.js","webpack:///./src/utils/helpers/retailerService.js","webpack:///./src/utils/RestClientService.js","webpack:///./src/modules/shared/services/ConfigurationService.js","webpack:///./src/modules/shared/services/ContactsService.js","webpack:///./src/modules/shared/services/GroupOrderService.js","webpack:///./src/modules/shared/services/MessageService.js","webpack:///./src/modules/shared/views/loadingDialog.pug","webpack:///./src/modules/shared/views/loadingDialogWhitebackground.pug","webpack:///./src/modules/shared/services/OrderSetupService.js","webpack:///./src/modules/order/views/orderSetupTabs/confirmDeleteContact.jade","webpack:///./src/modules/order/views/orderSetupTabs/inviteWelcome.jade","webpack:///./src/modules/order/views/orderSetupDialog.jade","webpack:///./src/modules/shared/services/RealTimeUpdateService.js","webpack:///./src/modules/shared/services/SessionService.js","webpack:///./src/modules/shared/services/SessionStorageService.js","webpack:///./src/modules/shared/services/DbStorageService.js","webpack:///./src/modules/shared/services/storageService.js","webpack:///./src/modules/shared/services/UserProfileService.js","webpack:///./src/modules/shared/services/HeapService.js","webpack:///./src/modules/shared/directives/MoneyDirective.js","webpack:///./src/modules/shared/directives/markdownTranspileDirective.js","webpack:///./node_modules/markdown-it/index.js","webpack:///./node_modules/markdown-it/lib/index.js","webpack:///./node_modules/entities/maps/entities.json","webpack:///./node_modules/mdurl/encode.js","webpack:///./node_modules/mdurl/decode.js","webpack:///./node_modules/mdurl/format.js","webpack:///./node_modules/mdurl/parse.js","webpack:///./node_modules/uc.micro/index.js","webpack:///./node_modules/uc.micro/categories/Cf/regex.js","webpack:///./node_modules/markdown-it/lib/helpers/index.js","webpack:///./node_modules/markdown-it/lib/helpers/parse_link_label.js","webpack:///./node_modules/markdown-it/lib/helpers/parse_link_destination.js","webpack:///./node_modules/markdown-it/lib/helpers/parse_link_title.js","webpack:///./node_modules/markdown-it/lib/renderer.js","webpack:///./node_modules/markdown-it/lib/parser_core.js","webpack:///./node_modules/markdown-it/lib/rules_core/normalize.js","webpack:///./node_modules/markdown-it/lib/rules_core/block.js","webpack:///./node_modules/markdown-it/lib/rules_core/inline.js","webpack:///./node_modules/markdown-it/lib/rules_core/linkify.js","webpack:///./node_modules/markdown-it/lib/rules_core/replacements.js","webpack:///./node_modules/markdown-it/lib/rules_core/smartquotes.js","webpack:///./node_modules/markdown-it/lib/rules_core/state_core.js","webpack:///./node_modules/markdown-it/lib/parser_block.js","webpack:///./node_modules/markdown-it/lib/rules_block/table.js","webpack:///./node_modules/markdown-it/lib/rules_block/code.js","webpack:///./node_modules/markdown-it/lib/rules_block/fence.js","webpack:///./node_modules/markdown-it/lib/rules_block/blockquote.js","webpack:///./node_modules/markdown-it/lib/rules_block/hr.js","webpack:///./node_modules/markdown-it/lib/rules_block/list.js","webpack:///./node_modules/markdown-it/lib/rules_block/reference.js","webpack:///./node_modules/markdown-it/lib/rules_block/heading.js","webpack:///./node_modules/markdown-it/lib/rules_block/lheading.js","webpack:///./node_modules/markdown-it/lib/rules_block/html_block.js","webpack:///./node_modules/markdown-it/lib/common/html_blocks.js","webpack:///./node_modules/markdown-it/lib/rules_block/paragraph.js","webpack:///./node_modules/markdown-it/lib/rules_block/state_block.js","webpack:///./node_modules/markdown-it/lib/parser_inline.js","webpack:///./node_modules/markdown-it/lib/rules_inline/text.js","webpack:///./node_modules/markdown-it/lib/rules_inline/newline.js","webpack:///./node_modules/markdown-it/lib/rules_inline/escape.js","webpack:///./node_modules/markdown-it/lib/rules_inline/backticks.js","webpack:///./node_modules/markdown-it/lib/rules_inline/link.js","webpack:///./node_modules/markdown-it/lib/rules_inline/image.js","webpack:///./node_modules/markdown-it/lib/rules_inline/autolink.js","webpack:///./node_modules/markdown-it/lib/rules_inline/html_inline.js","webpack:///./node_modules/markdown-it/lib/rules_inline/entity.js","webpack:///./node_modules/markdown-it/lib/rules_inline/balance_pairs.js","webpack:///./node_modules/markdown-it/lib/rules_inline/text_collapse.js","webpack:///./node_modules/markdown-it/lib/rules_inline/state_inline.js","webpack:///./node_modules/linkify-it/index.js","webpack:///./node_modules/linkify-it/lib/re.js","webpack:///./node_modules/node-libs-browser/node_modules/punycode/punycode.js","webpack:///./node_modules/markdown-it/lib/presets/default.js","webpack:///./node_modules/markdown-it/lib/presets/zero.js","webpack:///./node_modules/markdown-it/lib/presets/commonmark.js","webpack:///./node_modules/markdown-it-emoji/index.js","webpack:///./node_modules/markdown-it-emoji/lib/data/full.json","webpack:///./node_modules/markdown-it-emoji/lib/data/shortcuts.js","webpack:///./node_modules/markdown-it-emoji/lib/render.js","webpack:///./node_modules/markdown-it-emoji/lib/replace.js","webpack:///./node_modules/markdown-it-emoji/lib/normalize_opts.js","webpack:///./src/modules/shared/services/emojiSupports/emoji-maker.js","webpack:///./node_modules/markdown-it-block-image/lib/index.js","webpack:///./node_modules/markdown-it-block-image/lib/PluginEnvironment.js","webpack:///./node_modules/markdown-it-block-image/lib/tokenizer.js","webpack:///./src/modules/shared/directives/TextOnHoverDirective.js","webpack:///./src/modules/shared/directives/CartonomyLogoDirective.js","webpack:///./src/modules/cart/index.js","webpack:///./src/modules/cart/routeConfig.js","webpack:///./src/modules/cart/views/cartView.pug","webpack:///./src/modules/cart/views/orderStartCheckout.pug","webpack:///./src/modules/cart/views/invitedPeopleView.pug","webpack:///./src/modules/cart/views/storeAdmin.pug","webpack:///./src/modules/cart/views/openCarts.pug","webpack:///./src/modules/cart/controllers/CartController.js","webpack:///./src/modules/cart/controllers/InvitedPeopleListController.js","webpack:///./src/modules/cart/directives/PopupBagDirective.js","webpack:///./src/modules/cart/directives/OrderDetailsDirective.js","webpack:///./src/modules/cart/views/orderDetailsDirective.pug","webpack:///./src/modules/cart/services/CartGroupsService.js","webpack:///./src/modules/cart/directives/CartDirective.js","webpack:///./src/modules/cart/views/cartDirective.pug","webpack:///./src/modules/cart/directives/CartGroupsDirective.js","webpack:///./src/modules/cart/views/cartGroupsDirective.pug","webpack:///./src/modules/cart/views/popupBagDirective.pug","webpack:///./src/modules/order/index.js","webpack:///./src/modules/order/controllers/InviteDialogController.js","webpack:///./src/modules/order/views/inviteConfirmLeavePaidCart.pug","webpack:///./src/modules/order/controllers/OrderCheckoutController.js","webpack:///./src/modules/order/controllers/OrderCheckoutFullMixedController.js","webpack:///./src/modules/order/controllers/OrderConfirmationController.js","webpack:///./src/modules/order/controllers/OrderPayController.js","webpack:///./src/modules/order/controllers/OrderTabAddPeopleController.js","webpack:///./src/modules/order/controllers/OrderTabBudgetController.js","webpack:///./src/modules/order/controllers/OrderTabFinishController.js","webpack:///./src/modules/order/controllers/OrderTabPayModeController.js","webpack:///./src/modules/order/controllers/OrderTabPaymentDetailsController.js","webpack:///./src/modules/order/controllers/OrderTabPreviewController.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment-timezone/data/packed/latest.json","webpack:///./src/modules/order/controllers/OrderTabDeliveryModeController.js","webpack:///./src/modules/order/controllers/OrderSummaryPageController.js","webpack:///./src/modules/order/directives/OrderAddPeopleDirective.js","webpack:///./src/modules/order/views/addPeopleDirective.pug","webpack:///./src/modules/order/directives/OrderContactViewDirective.js","webpack:///./src/modules/order/routeConfig.js","webpack:///./src/modules/order/views/orderSummaryPage.jade","webpack:///./src/modules/profile/index.js","webpack:///./src/modules/profile/controllers/ProfileController.js","webpack:///./src/modules/profile/services/OrderHistoryService.js","webpack:///./src/modules/profile/directives/OrderHistoryDetailsDirective.js","webpack:///./src/modules/profile/directives/OrderHistoryDirective.js","webpack:///./src/modules/profile/directives/OrderHistoryHeaderDirective.js","webpack:///./src/modules/profile/directives/UserProfileDirective.js","webpack:///./src/modules/profile/controllers/EditAddressController.js","webpack:///./src/resources/data/states.json","webpack:///./src/modules/profile/views/userProfile.pug","webpack:///./src/modules/catalog/index.js","webpack:///./src/modules/catalog/controllers/ChatViewController.js","webpack:///./src/modules/catalog/controllers/CategoryController.js","webpack:///./src/modules/catalog/directives/ProductListDirective.js","webpack:///./src/modules/catalog/directives/ChatDirective.js","webpack:///./src/libs/emoji/emoji-picker.js","webpack:///./src/libs/emoji/jquery.emojiarea.js","webpack:///./src/libs/emoji/util.js","webpack:///./src/modules/catalog/directives/ChatCounterDirective.js","webpack:///./src/modules/catalog/services/CatalogService.js","webpack:///./src/modules/catalog/services/ChatService.js","webpack:///./src/modules/catalog/views/chatDirective.pug","webpack:///./node_modules/angular-sanitize/index.js","webpack:///./node_modules/angular-sanitize/angular-sanitize.js","webpack:///./node_modules/angular-marked/lib/angular-marked.js","webpack:///./node_modules/angular-marked/lib/strip-indent.js","webpack:///./node_modules/marked/lib/marked.js","webpack:///./node_modules/angular-smart-table/index.js","webpack:///./node_modules/angular-smart-table/dist/smart-table.js","webpack:///./node_modules/angular-translate/dist/angular-translate.js","webpack:///./node_modules/angular-translate-loader-url/angular-translate-loader-url.js","webpack:///./src/libs/angular-signalr-hub.js","webpack:///./src/libs/jquery.signalR.js","webpack:///./src/libs/fetch.polyfill.js","webpack:///./src/libs/promise.polyfill.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/process/browser.js","webpack:///./src/bootstrap/routes.js","webpack:///./src/modules/catalog/views/categoryView.jade","webpack:///./src/modules/profile/views/profileView.jade","webpack:///./src/services/eventHandlerService.js"],"names":["webpackJsonp","module","exports","__webpack_require__","Object","defineProperty","value","default","SQUARE_UP_APPLICATION_ID","SHOPIFY_RETAILER_TYPE","AMAZON_RETAILER_TYPE","BroadcastMessages","TOGGLE_POPUP_BAG","CART_PAGE_REQUESTED","SESSION_CHANGED","DISPLAY_POPUP_BAG","HIDE_POPUP_BAG","POPUP_BAG_CHANGED","CREATE_GROUP_ORDER","UserTypes","NormalUser","StoreAdmin","RootEvents","CART_CHANGED","PAYMENT_STATUS_CHANGED","USER_PROFILE_UPDATED","DELETE_CONTACT_CONFIRM_FROM_ADDMORE_PEOPLE","WindowMode","minimized","maximized","Notifications","chatNotification","newCartItemNotification","Events","WINDOW_WIDTH_CHANGED","WINDOW_STATE_CHANGED","WINDOW_SCROLL","GROUP_ORDER_STATUS_CHANGED","ORDER_CREATED","ORDER_CANCELLED","ORDER_CLEAR_ITEMS","ORDER_CHANGED","ORDER_CANCELLED_BY_OWNER","ORDER_CLEARED_BY_OWNER","USER_REMOVED_BY_OWNER","USER_JOINED_OTHER_CART","ORDER_CHECKED_OUT","LEFT_ORDER","USER_LOGGED_OUT","USER_LOGGED_IN","INVITATION_ACCEPTED","INVITATION_FAILED_DUE_TO_CART_CLOSED","CHAT_MESSAGE_RECEIVED","CART_ITEMS_CHANGED","CART_OWNERSHIP_TRANSFERRED","REALTIME_CHAT_RECEIVED","EXTERNAL_PRODUCT_DETAIL_REQUESTED","ADD_PEOPLE_ADVANCE_TO_NEXT_PAGE","ORDER_CREATION_CANCEL_REQUESTED","VERSION_PAGE_REQUESTED","LOGIN_PAGE_CANCEL_REQUESTED","ON_WINDOW_UNLOADING","SIGNALR_CONNECTED","CANCEL_INVITATION","WINDOW_RECEIVED_MESSAGE","OPEN_SPLASH_SCREEN","DELETE_CONTACT_COMPLETE","DIALOG_OPENED","DIALOG_CLOSED","BACK_BUTTON_CLICKED","ACCEPT_INVITES","SignalRHubStates","CONNECTING","CONNECTED","RECONNECTING","DISCONNECTED","ElementAnchors","TOP_NAVIGATION_BAR","TOP_NAVIGATION_BAR_PLACEHOLDER","TOP_MOBILE_TOOLBAR","Timeouts","POOLING_INTERVAL","SessionStorage","AUTH_TOKEN","USER_EMAIL","USER_NAME","USER_FIRST_NAME","USER_LAST_NAME","USER_DATA","CART","DELIVERY_PHONE","DELIVERY_ADDRESS","IS_INVITE","NEW_ORDER_CONFIGURATION","ANTI_FORGERY_TOKEN","AwaitingInvitation","UnreadChatMessages","CARTONOMY_BUILD_TIME","CARTONOMY_BUILD_VERSION","LAST_STATE_NAME","LAST_WINDOW_STATE","InvitationUserInvalid","CREATE_ORDER_CONFIGURATION","CREATE_ORDER_CURRENT_TAB","LINKING_SOCIAL_ACCOUNT","SAFARI_WARNING_SHOWED","RETAILER_DATA","RoutingStates","ABOUT","CATALOG","USER_PROFILE","STORE_ADMIN","START_CHECKOUT","CHECKOUT","CHECKOUT_FULL_MIXED","INVITED_PEOPLE","CHAT","INVITE","CONFIRM_TICKET","PAY","CONFIRM_ORDER","LOGIN_TICKET","PAYPAL_REDIRECT","ORDER_SUMMARY_PAGE","OPEN_CARTS","Pagination","PAGE_LIMIT","CartDetails","DEADLINE_HOURS","DeliveryMethods","DELIVERY","PICKUP","SHIPPING","DEFAULT","PaymentMethods","SINGLE","MULTIPLE","MIXED","FULL_MIXED","USER_SELECT","SELF","BudgetTypes","PER_CART","PER_USER","ShippingMethods","Participant","Status","OWNER","INVITE_SENT","INVITED","JOINED","DECLINED","REMOVED","LEFT","AddressType","BILLING","OrderSetupTabs","WELCOME","DELIVERY_MODE","PAY_MODE","DEADLINE","BUDGET","ADD_PEOPLE","PREVIEW","FINISH","CANCEL","CANCELEDITING","PAYMENT_DETAILS","ORDER_CREATE_CONFIRM","CONFIRM_DELETE_CONTACT","INVITE_WELCOME","InvitationTypes","normal","share","CartonomyMode","marketing","PAYPAL_CHECKOUT_URL","EMAIL_REGEX","DEFAULT_AVATAR_URL","DEFAULT_PRODUCT_IMAGE","EMPTY_SESSION_ID","CHAT_MESSAGES_LIMIT","MAXIMUM_CHAT_TEXT_LENGTH","CHAT_TIME_LABEL","INVITE_LINK","GENERAL_MILLS_POC","CART_NAME_DEFAULT_VALUE","_angular2","obj","__esModule","_angular","angular","config","$httpProvider","defaults","headers","common","_class","prototype","toString","call","isString","has","object","key","_hasOwnProperty","assign","Array","slice","arguments","forEach","source","TypeError","keys","arrayReplaceAt","src","pos","newElements","concat","isValidEntityCode","c","fromCodePoint","surrogate1","surrogate2","String","fromCharCode","replaceEntityPattern","match","name","code","entities","charCodeAt","DIGITAL_ENTITY_TEST_RE","test","toLowerCase","parseInt","unescapeMd","str","indexOf","replace","UNESCAPE_MD_RE","unescapeAll","UNESCAPE_ALL_RE","escaped","entity","replaceUnsafeChar","ch","HTML_REPLACEMENTS","escapeHtml","HTML_ESCAPE_TEST_RE","HTML_ESCAPE_REPLACE_RE","escapeRE","REGEXP_ESCAPE_RE","isSpace","isWhiteSpace","isPunctChar","UNICODE_PUNCT_RE","isMdAsciiPunct","normalizeReference","trim","toUpperCase","_typeof","Symbol","iterator","constructor","hasOwnProperty","ENTITY_RE","RegExp","require","lib","mdurl","ucmicro","scopeUtils","apply","$scope","fn","$root","phase","$$phase","$apply","commandKeys","checkOutCart","userLoggedIn","checkCartItems","clearCartItems","addProductToCart","removeAddToCartButton","enableAddToCartButton","windowStateChange","checkoutCart","addToCartButtonDetected","widgetInitialized","removeHashKey","updateMyCartButtonText","createNewGroupOrder","invitationAccepted","checkProductCartCapability","moneyFormatChange","getLocation","getTranslations","_asyncToGenerator","gen","this","Promise","resolve","reject","step","arg","info","error","done","then","err","_classCallCheck","instance","Constructor","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","protoProps","staticProps","CommunicationService","widgetTarget","_tryAttemps","requestToParent","_x","_x2","_ref","regeneratorRuntime","mark","_callee","command","data","wrap","_context","prev","next","abrupt","responseMessageId","Date","getTime","onResponseReceive","event","action","window","removeEventListener","addEventListener","parent","postMessage","responseCommand","stop","requestToWidget","_x3","_x4","_ref2","_callee2","_this","_context2","setTimeout","contentWindow","_instance","communicationService","getInstance","utils","undefined","_translateJs2","_translateJs","$","localStorageCartonomyHashKey","isIOS","navigator","userAgent","isIOSMobile","bodyDOM","headDOM","cartonomyBaseUrl","cartonomyApiUrl","retailerShop","hash","decodeURIComponent","location","localStorage","getItem","cartonomyOpenIndicatorName","addToGroupCartButtonId","possibleProductVariantSelector","possibleProductQuantitySelector","ignoreTriggerCloseSelector","localStorageAddCartBtnTextKey","myGroupOrdertButtonText","addToCartButtonText","addToMyCartButtonText","addToMyGroupButtonText","customCartnameValue","externalStoreWindowTitle","originalWidget","width","height","customAvatarText","moneyFormat","isInvitingMode","isOauthCallbackMode","isShowedCartonomyOnPages","href","isAlwaysShowCartonomy","pathname","toPossessiveString","compileMyCartButtonText","shouldTranslate","user","findClosest","selector","fromChild","is","checkIfIE","nulls","val","joinClasses","isArray","map","filter","join","jade_encode_char","jade_encode_html_rules","jade_escape","html","result","jade_match_html","merge","a","b","attrs","ac","bc","cls","classes","buf","push","escape","text","style","attr","terse","JSON","stringify","console","warn","toISOString","rethrow","filename","lineno","Error","message","readFileSync","ex","context","lines","split","start","Math","max","end","min","line","curr","path","DebugItem","Ruler","__rules__","__cache__","__find__","__compile__","self","chains","rule","enabled","alt","altName","chain","at","options","index","opt","before","beforeName","ruleName","splice","after","afterName","enable","list","ignoreInvalid","idx","enableOnly","disable","getRules","chainName","Token","type","tag","nesting","level","children","content","markup","meta","block","hidden","attrIndex","len","attrPush","attrData","attrSet","attrGet","attrJoin","_interopRequireDefault","_cartonomy_config2","_cartonomy_config","_index2","_index","_index4","_index3","_index6","_index5","_index8","_index7","_index10","_index9","_index12","_index11","_angularAnimate2","_angularAnimate","_angularCookies2","_angularCookies","_angularMaterial2","_angularMaterial","_angularMessages2","_angularMessages","_angularMoment2","_angularMoment","_angularResource2","_angularResource","_angularSanitize2","_angularSanitize","_angularUiRouter2","_angularUiRouter","_angularUiMask2","_angularUiMask","_angularMarked2","_angularMarked","_angularSmartTable2","_angularSmartTable","_ngMaterialDatetimepicker2","_ngMaterialDatetimepicker","_angularTranslate2","_angularTranslate","_angularTranslateLoaderUrl2","_angularTranslateLoaderUrl","_angularSignalrHub2","_angularSignalrHub","dependencies","angularResource","angularCookies","angularMaterial","smartTable","angularMessages","angularMoment","angularAnimate","ngSanitize","uiRouter","uiMask","angularMarked","signalRModule","ngMaterialDatePicker","angularTranslate","angularTranslateUrlLoader","aboutModule","sharedModule","cartModule","catalogModule","orderModule","profileModule","themingProvider","uiMaskConfigProvider","$qProvider","$translateProvider","theme","primaryPalette","accentPalette","maskDefinitions","clearOnBlur","eventsToHandle","errorOnUnhandledRejections","useUrlLoader","cartonomyConfig","backendEndPoint","preferredLanguage","constant","getPageParam","encodeURIComponent","exec","search","shopName","newObj","url","CARTONOMY_API_URL","substr","lastIndexOf","ApiV1","ApiV2","version","buildTime","externalStoreMode","EXTERNAL_STORE_MODE","externalStoreUrl","ExternalStoreHandler","_CommonConstants2","_CommonConstants","_","_scope2","_scope","scope","rootScope","timeoutService","authenticationService","sessionService","cartService","groupOrderService","orderSetupService","stateService","messageService","localForageService","heapService","$translate","_rootScope","_cartService","_groupOrderService","_stateService","_sessionService","_localForageService","_messageService","_orderSetupService","needAddItem","_authenticationService","_heapService","variantId","quantity","isMobile","idleTimeBeforeRefreshing","$on","Constants","_onOrderSetupFinished","_onOrderCancelled","_onParticipantLeftOrder","registration","_onUserLoggedIn","_onUserLoggedOut","_onInvitationAccepted","_onProductItemsChanged","_onUserProfileChanged","shopifyProductUrl","_onProductDetailRequested","debounce","_onOrderCancelledByOwner","_onOrderClearedByOwner","_onUserRemovedByOwner","_onOrderCheckedOut","_onOwnershipTransferred","_onUserJoinedOtherCart","_onCartChanged","toggleWindowState","e","_toggleWindowState","enlargeWidget","_enlargeWidget","collapsed","safariWarningIsShowing","canAddCurrentProduct","_createGroupOrder","createGroupOrderIfNeeded","_createGroupOrderIfNeeded","toggleChat","_toggleChatPage","toggleOrderPage","_toggleOrderPage","toggleProfilePage","_toggleProfilePage","toggleInvitedPeoplePage","_toggleInvitedPeoplePage","showVersionPage","_showVersionPage","isOrderFreezed","addCurrentProduct","addProductToCartHandler","handle","request","sender","sendResponse","onProductAddRequested","windowStateChangeCommandHandler","onWindowStateChanged","canAddCurrentProductHandler","checkProductCartCapabilityHandler","getCart","fromCache","cart","log","moneyFormatChangeHandler","translationsHanler","getTranslationTable","commandHandlerService","registerHandler","_lastSessionState","initialize","_ref10","_callee10","_this2","_context10","IdleDetectingService","idleTime","_onUserActiveAfterIdle","checkWindowState","cartonomyInitialized","retailer","go","retrieve","toState","store","loggedIn","sent","_sendUserCartInfoToParent","orderExists","_goToCart","_x15","_x16","_ref11","_callee11","isStealthMode","qty","_context11","_addingProduct","getStealthUserMode","showErrorPopup","instant","addProductDone","retailerStoreId","storeId","_onProductVariantReceived","productVariantId","productName","productImage","productPrice","productOptions","productUrl","windowState","currentWindowState","$broadcast","orderCreationCancelRequested","isProfile","isChat","status","_x17","_x18","_x19","_x20","_x21","_x22","_x23","_ref12","_callee12","_context12","_checkGroupOrder","t0","addItemToCart","_orderBeingCreated","_setupNewOrder","_x24","_ref13","_callee13","_context13","forceInvite","showMessagePopup","setCartReference","_ref14","_callee14","_this3","_context14","_goToChatPage","_ref15","_callee15","_context15","userDetails","userFirstName","hasCart","trigger","toggleWindowTrigger","enlarged","enlargeWidgetState","enlargeTrigger","showChat","_cancelOrderCreationDialogIfNeeded","resetCartInvitationType","onCartBagClicked","showAccount","showInvitedPeople","orderSetupDialogShowing","_ref16","_callee16","_context16","_ref17","_callee17","_context17","_ref18","_callee18","_context18","_ref19","_callee19","_context19","_ref20","_callee20","messageText","_context20","isOwner","_ref21","_callee21","_context21","_x25","_x26","_ref22","_callee22","fromInvitation","forceGoTCart","_context22","_ref23","_callee23","_context23","_ref24","_callee24","_context24","_ref25","_callee26","cartOwner","currentEmail","_this4","_context26","find","participants","participant","getUserEmail","email","cartName","customCartNames","getUserFirstName","getFirstName","cartOwnerName","t1","t2","t3","t4","t5","t6","t7","t8","requestDetailPage","_ref27","_callee27","_context27","addingProduct","addProductFromShopify","addProductFromCustomSite","showErrorPopupForResponse","closeWindow","finish","_ref28","_callee28","_context28","isGroupOrder","_x28","_ref29","_callee29","_context29","createOrder","_ref30","_callee30","_context30","isCart","_ref31","_callee31","_context31","_x29","_ref32","_callee32","_context32","idleTimeInSecond","reload","_away2","_away","_moment2","_moment","onUserBackActive","idleStart","timer","on","diff","CommandHandlerService","handlers","__instance","handler","some","h","ChangePasswordController","_module3","_module2","$mdDialog","inProgress","errorMessage","password","oldPassword","cancel","changePassword","form","$invalid","highlightAllErrors","hide","getMessageFromErrorResponse","finally","$inject","controllerName","controller","OrderSetupDialogController","windowService","dialogService","tabToShow","initialConfiguration","userProfileService","paymentOptions","editMode","HeapService","initialCart","_onDialogDeleteContact","contact","contactDelete","_resetConfiguration","_setCurrentTabById","_cartonomyConfig","_initialConfiguration","_dialogService","_tabToShow","_tabBeforeCancel","_userProfileService","groupPay","getGroupPay","_paymentOptions","_editMode","_windowService","_initialCart","hasMandatoryDeadline","mandatoryDeadline","onboarding","steps","currentStep","onboardingNextStep","onboardingPreviousStep","returnToPreview","resetConfiguration","setCurrentTabById","id","showCancelTab","_showCancelTab","closeDialog","_closeOrderDialog","cancelOrder","restoreOrder","_restoreOrder","backEnabled","_backEnabled","back","_back","onDialogDeleteContact","cancelPreview","_cancelPreview","_next","finishOrderSetup","_finishOrderSetup","previewTab","tabId","_previewTab","enableTab","_enableTab","isExternalRetailer","_openSplashScreen","formattedUserFirstName","getStarted","_getStarted","singleInviteLink","_singleInviteLink","acceptDeleteContact","_acceptDeleteContact","backToCreateOrder","_backToCreateOrder","startTabIndex","_initialize","_ref3","_callee3","storedCurrentTab","tab","cancelTab","_context3","noBudgetMode","storeWindowTitle","$id","deadline","closeOn","format","budget","orderLimit","formatAmount","orderTitle","title","payerTitle","fulfillment","paymentMethod","_createTabs","getUserAddresses","_onUserAddressesReceived","tabs","save","disabled","findIndex","t","templateUrl","loadFromSessionStorage","_setCurrentTab","_ref4","_callee4","_context4","_ref5","_callee5","_context5","invitationCode","getInviteCode","getInvitationCode","setInviteCode","setInvitationType","_ref6","_callee6","storedConfiguration","_context6","loadConfiguration","parse","initConfiguration","setGroupPay","PayForEveryone","setSinglePayOrder","getSinglePayOrder","enterPaymentInformation","addresses","deliveryAddresses","address","addressType","label","address2","city","state","zip","selectedIndex","customAction","selectedTab","_ref7","_callee7","_context7","_ref8","_callee8","_context8","_ref9","_callee9","forceClose","_context9","_configuration","disableBackButton","__editMode","newIndex","_showFinishDialog","remove","deleteContact","contactUserId","custom","template","encode","decode","open_tag","close_tag","HTML_TAG_RE","HTML_OPEN_CLOSE_TAG_RE","tokenize","silent","scanned","token","marker","scanDelims","delimiters","jump","tokens","open","can_open","close","can_close","postProcess","j","startDelim","endDelim","loneMarkers","pop","isStrong","StoreAdminCartController","CartService","$state","$rootScope","carts","overlayOpened","model","backToProfile","setStealthUserMode","resetCart","CommonConstants","goToCart","cartId","joinToCart","cartToken","$onInit","current","getCartReport","currentUserEmail","_cart","isOwnerOrParticipant","statuses","getCartById","response","shareTokenPromise","acceptInvite","$controllerName","InviteController","_InviteDialogController2","_InviteDialogController","stateParams","OrderSetupService","_stateParams","invitationToken","params","stateToGo","waitForLogin","invitationPromise","_safeAccept","_showInviteError","_acceptInvite","resp","participantToken","track","isTryingToLogIn","showInvitePreview","success","_handleAcceptError","_handleLoginRequest","invitedCart","getCartByInvitationCode","showLoginDialog","parameters","prefillEmail","needSignUp","_x5","isInvitationNotForCurrentUser","_stateToGo","_stateToGo2","_isGroupOrder","_message","_stateToGo3","_stateToGo4","exceptionType","logout","exists","_showInviteConfirmLeavePaidCart","_showInviteConfirm","isErrorResponse","showQuestionPopup","client","yes","no","confirmed","items","deleteCart","show","clickOutsideToClose","accept","ok","product","showFullDescription","showMoreLess","description","descriptionTruncated","substring","buildMap","colons","codes","Config","emoji_data","escape_rx","mapcolon","reversemap","rx_colons","rx_codes","Emoji","EmojiCategories","EmojiCategorySpritesheetDimens","smileys","inits","init_emoticons","emoticons","init_colons","emoticons_data","emoticon","emoji","rx_emoticons","init_unified","unified","_app2","_app","_fetch2","_fetch","_routes","fetch","document","querySelector","classList","add","initializeEventHandlerService","bootstrap","app","_AboutController2","_AboutController","_routeConfig2","_routeConfig","AboutController","$stateProvider","routes","route","versionNumber","utc","json","serverVersion","views","contents","locals","_ExternalStoreHandler","_ApplicationController2","_ApplicationController","_ConfirmTicketController","_ChangePasswordController","_LoginController","_LoginTicketController","_CategoryHeaderDirective","_FocusMeDirective","_FooterDirective","_HeaderDirective","_LoadingIndicatorDirective","_InputCompareToDirective","_InputElementErrorDirective","_InputFocusDirective","_PayPalPaymentForm","_SquareUpPaymentForm","_StickyPanelDirective","_WidthChangedHandlerDirective","_InviteLinkDirective","_AuthenticationService","_AuthInterceptorService","_CartService","_CheckoutService","_ConfigurationService","_ContactsService","_GroupOrderService","_MessageService","_OrderSetupService","_RealTimeUpdateService","_SessionService","_SessionStorageService","_storageService","_UserProfileService","_HeapService","_MoneyDirective","_markdownTranspileDirective2","_markdownTranspileDirective","_CartonomyLogoDirective","ApplicationController","directive","markDownTranslpileDirective","directiveName","run","onbeforeunload","$event","preventReloadMessage","preventReload","textOnHover","input","trimLength","trimHtml","toggleState","idle","elapsed","olddate","timeout","clearTimeout","timer_id","state_fn","fns","idle_fn","active_fn","xtend","Idle","element","events","proto","ev","attach","what","getElapsed","detach","attachEvent","detachEvent","extend","isObject","Keys","objectKeys","k","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","root","factory","define","each","storage","callback","createRegistry","translate","templateData","locale","currentLocale","registry","translation","whenUndefined","translatePlural","pluralizeTo","interpolate","variations","pluralizationRules","dataKeys","pluralizeKey","count","parseFloat","isNaN","getVariationIndex","translationString","interpolateRE","param","en","prefix","registryKey","valueType","setLocale","getLocale","interpolateWith","userRE","setPluralizationRule","clear","configurationService","RealTimeUpdateService","dialogOpened","showBackButton","isShowBackButton","isDialogOpened","dialogClosed","windowTitle","cancelRealtimeUpdate","hideMessage","disconnect","reset","setDefaultProfile","getUserFromCache","profile","welcome","emails","avatar","isGuest","getUser","fullName","firstName","lastName","isInvite","sortBy","userEmails","avatarSrc","avatarCropped","linkOAuthOnly","linkedOAuth","getCartProperties","properties","groupOrderCreated","groupOrderTitle","singlePayGroupOrder","singlePay","groupOrderOwner","updateProperties","setOrderProperties","oldCart","lastLeftCart","getLastLeftCart","getUserLastCart","lastCartStatusResult","isEqual","_lastCartResult","setCartProperties","isLoggedin","ensureConnected","checkAndShowSafariWarning","isStoreAdmin","userType","isUserAdmin","isSafari","safariWarningShowed","showMacSafariMessage","displaySafariWarning","cartonomyLogoSvg","cartonomyLogo","defaultStylesLink","createElement","rel","head","appendChild","retailerStylesLink","top","noError","protocol","siteName","logoImage","safariWarning","isCartOwner","currentState","showPopupBag","showCatalog","showSplashScreen","showSignupDialog","ensureLoggedIn","isCatalog","isInvitePeople","isCheckout","isShowTabButton","isCatalogVisible","isInvitedPeopleAvailable","isProfileVisible","isCartVisible","isChatVisible","isCreateOrderVisible","isEditOrderVisible","createGroupOrder","editGroupOrder","editOrder","headerMessage","loading","userLoggedOut","connectRealtimeUpdate","showLoadingWhiteBackground","identify","getAuthToken","disableCartonomy","retailerImg","externalStoreHandler","checkAndConnectRealtimeUpdateIfNeeded","amount","toFixed","_ExternalStoreHandler2","ConfirmTicketController","$stateParams","sessionStorageService","validated","confirmPassword","_sessionStorageService","continue","sendRequest","$valid","validatePasswordTicket","ticket","catch","LoginController","pages","fileName","prevPage","currentPage","createOrderFlow","$http","MessageService","SessionService","UserProfileService","emailPattern","dialogMode","_currentPage","_invitedCart","isExternalStore","openIds","getOpenIdProviders","customLoginText","_pages","page","get","goToOnboardingStep","pageVersion","requestSent","credentials","presignup","signup","resetLocalCart","loggingInWithOpenId","setCurrentPage","_setCurrentPage","loginOpenId","provider","externalLogin","setForgotPage","_continueState","messageContinue","login","_login","inputFieldKeyPressed","which","sendForgotRequest","_sendForgotRequest","preRegisterUser","_preRegisterUser","registerUser","_registerUser","cancelInvitation","isBeingInvited","vm","onOAuthResponseCallback","onOAuthResponse","responseData","authToken","linkingSocialAccount","eventType","externalLoginFinalize","clearSessionDetails","getUserName","userEmail","userName","setSessionDetails","resetUser","clearLocalCart","exist","_handleLoggedIn","executor","isRegistration","_showErrorMessage","pageId","username","loginRequest","sendValidateRequest","showAlertPopup","checkIfEmailCanRegister","canRegister","errorCode","register","LoginTicketController","cartExists","isInIframe","checkCartAndGo","awaitingInvitation","CategoryHeaderDirectiveController","catalogService","_catalogService","searchInProgress","categoryName","categoryId","categories","searchString","clearSearch","_clearSearch","$watch","category","_loadCategories","scopeUtil","getAllCategories","getDefaultCategory","$timeout","focusMe","link","newValue","focus","FooterDirectiveController","hours","currentYear","getFullYear","hour","HeaderDirectiveController","$window","$document","handleWindowResize","header","getElementById","footer","body","contentsMinHeight","offsetHeight","onScroll","scrollToTop","scrollTo","scrollTop","isLoading","prepend","addClass","removeClass","InputCompareToLink","attributes","$ngModel","$validators","compareTo","modelValue","$validate","InputElementErrorDirectiveLink","$ngForm","field","$setTouched","hideAllErrors","$setUntouched","transclude","messages","inputFocus","selectAll","setSelectionRange","PayPalPaymentFormDirectiveController","SquareUpPaymentFormDirectiveController","visible","_paymentForm","SqPaymentForm","applicationId","inputClass","inputStyles","fontSize","cardNumber","elementId","cvv","expirationDate","postalCode","callbacks","cardNonceResponseReceived","_onCardNonceResponseReceived","bind","build","destroy","nonce","_nonceCallback","errors","cardData","requestCardNonce","StickyPanelDirectiveController","_element","_stickyMode","_onScroll","_onWidthChanged","_paddingElement","display","parentElement","insertBefore","className","offsetTop","offsetParent","stickyMode","clientHeight","WidthChangedHandlerLink","applySizes","offsetWidth","sizeXs","sizeSm","sizeMd","sizeLg","sizeXsSm","invokeEvent","promise","$emit","pageYOffset","documentElement","clientTop","InviteLinkDirectiveController","_configurationService","invitationLink","getInviteSingleLink","invitationType","getInvitationType","minimumOrderMessage","ownerDiscountMessage","copyToClipboard","_copyClipboard","isShowInviteLink","_isShowInviteLink","isMarketingShow","_isMarketingShow","inviteUser","_inviteUser","_initInvitationCode","_cartChanged","_updateMinimumOrderMessage","_dialogOptions","InviteUserController","escapeToClose","onRemoving","removePromise","cartStatus","cartonomyMode","siteLocation","_retailer","siteUrl","retailerSiteUrl","getRetailer","getShareTokenByCartId","website","startsWith","origin","retailerType","setInviteSingleLink","minimumOrderAmount","cartItemTotal","cartDiscount","availableDiscount","copyClipboard","inviteEmails","sendInvitation","_sendInvitation","_cancel","arr","sendInvites","AuthenticationService","httpService","qService","_urlBase","_urlUserBase","_httpService","_qService","_loginPromise","_timeout","checkLoginToken","bearer","_updateSession","payload","onlySuccessful","isLoggingIn","focusOnOpen","item","catalogProductId","comment","_x6","newCart","_prepareNewCart","post","ignoreLocalCart","_doLogin","_x7","_x8","leaveInvite","res","setCachedUser","_x9","_x10","_x11","loginWithInviteToken","_x12","inviteDetails","redirectUri","encodeURI","_x13","_x14","resetToken","newPassword","color","icon","svgIcon","service","AuthInterceptorService","session","_session","_request","responseError","_responseError","method","X_EXTERNAL_STORE","Authorization","interceptors","_urlBaseShopify","_timeoutService","_lastLeftCart","lastCartRequest","_invitationType","_inviteCode","_inviteSingleLink","_inviteMorePeopleMode","clearCart","delete","createdOn","getEmail","deadlineTime","subtract","isAfter","leaveCart","getLocalCart","pageIndex","pageSize","isLoggedIn","getCartReference","setAddCartButtonState","updateGroupOrderStatus","cartNameValue","p","onGroupOrderStatusChanged","getCartAmount","cloneDeep","sumBy","price","_updateLocalCart","externalProductId","itemComment","itemOption","itemName","itemId","image","addProduct","existingItem","_email","onCartReceived","_ret","_this5","participantEmail","updateItem","_itemId","catalogProductImage","total","v","catalogItemId","displayPopupBag","cartItem","isShared","put","deleteItem","newOwnerParticipantId","isParticipantOwner","_callee25","_context25","_ref26","getCartDetails","deliveryMethod","shippingMethod","deliveryDate","expectedOn","deliveryTime","deliveryPhone","shippingPhone","deliveryAddress","shippingCity","street","shippingAddress","shippingZip","aptSuite","shippingAddress2","shippingState","setCartConfiguration","configuration","automaticExpire","automaticProcess","sendCloseNotification","orderLimitType","shippingTotal","taxTotal","setCartDetails","_x27","details","moment","cartInvitationType","shareToken","alreadyJoined","updateCartName","_x30","_x31","_ref33","_callee33","_this6","_context33","getParticipantamounts","_x32","_ref34","_callee34","_context34","updateAmountTopay","_x33","_ref35","_callee35","_context35","copyElement","position","opacity","textContent","contentEditable","readOnly","getElementsByTagName","range","createRange","selectNodeContents","s","getSelection","removeAllRanges","addRange","select","execCommand","removeChild","confirmContinueCheckoutWhenMatchCartItems","_ref36","_callee36","continueCheckout","_context36","confirmContinueCheckout","_ref37","_callee37","_context37","startProcessCheckout","_ref38","_callee38","_context38","cartType","CheckoutService","_getDefaultRetailerId","getVendorList","retailerId","_vendorList","getVendorMap","vendorList","ret","vendor","vendorName","vendorId","beginCheckout","vendorMap","submitOrder","billing","orderTotal","isAuthorization","billing_postal_code","externalPayerId","paymentAuthorizedOrCaptured","_paymentStatusPromise","getShopifyCheckoutInfo","userId","shopifyCheckoutUrl","cartItemUrlPortions","cartInfoObj","shopifyCheckoutInfo","errorsList","externalAPIURL","retailerService","checkRetailer","cartItems","customAttributes","discount","ownerOrderNumber","local","variantID","itemOptions","discountCode","cartInfo","warningInfo","ownerPaid","hulkapps","getAmazonCheckoutInfo","amazonCheckoutUrl","amazonCheckoutInfo","getWalmartCheckoutInfo","walmartCheckoutUrl","walmartCheckoutInfo","getFreshopCheckoutInfo","freshopCheckoutUrl","freshopCheckoutInfo","_RestClientService2","_RestClientService","localRetailer","setItem","restClientService","getLogo","updateRetailer","setRetailerCurrencyFormat","MoneyFormat","RestClientService","RequestMethod","HEAD","GET","POST","PUT","DELETE","getUrls","credentialOptions","keepCredential","customHeaders","actualResponse","existingRequest","getRequest","singleInstance","_singleInstance","ConfigurationService","$q","urlBase","getRetailerSettings","settingsResponse","ContactsService","getContacts","getGroups","createGroup","groupMembers","memberEmail","updateGroup","getGroup","GroupOrderService","checkoutService","EverySelfPays","_checkoutService","_urlGroupBase","_customCartNameSetting","serialize","budgetType","contactDetails","selectedEmails","sessionStorage","delivery","singlePayOrder","deliveryDetails","phone","customCartNameSetting","getPaymentSystems","paymentSystem","system","amountToPay","mode","selectedDeliveryAddress","selectedAddress","vendorDetails","entered","accepted","setDeliveryDetails","isDate","toDate","defineDeadline","placeEntered","setContactDetails","payNow","toastService","_toastService","isError","class","_showMessagePopup","buttonText","multiple","hasBackdrop","yesBtnText","noBtnText","yesBtnClass","noBtnClass","errorResponse","statusText","_OrderSetupDialogController2","_OrderSetupDialogController","isOrderCreating","_inviteMoreOption","_showOrderSetupDialog","reShowDialog","hideDialog","showInviteMorePeople","canAddEmail","exclude","onEmailChanges","prepareSendingInvitations","onDeleteContact","Number","continueOrder","connectionState","connectionStateString","connecting","connected","reconnecting","disconnected","Hub","_hubService","hubOptions","retriesResetConnection","intentionallyDisconnected","signalrServerRoot","hubConfiguration","listeners","onCartUpdated","_onCartUpdated","onCartCheckedOut","_onCartCheckedOut","onCartItemsUpdated","cartUpdate","_onCartItemsUpdated","onChatMessageReceived","messageObj","_onChatMessageReceived","onCartCancelledByOwner","_onCartCancelledByOwner","onCartClearedByOwner","_onCartClearedByOwner","onRemovedByOwner","_onRemovedByOwner","onCartOwnershipTransfererred","_onCartOwnershipTransferred","onSwitchedCart","_onSwitchedCart","serverMethods","rootPath","onError","_onHubError","errorHandler","resetConnection","stateChanged","newState","onLine","intentionally","_createHub","_connect","queryParams","connect","_postList","Audio","play","cartReference","cartEmitTimeout","stealthUserMode","reference","notify","hasAuthToken","clearAuthToken","getCachedUser","_cachedUser","SessionStorageService","cookies","cookiesService","storageCopy","checkLocalStorage","Constant","resetVersionStorage","getStorageKey","removeItem","isUndefined","isNull","DbStorageService","indexedDB","mozIndexedDB","webkitIndexedDB","msIndexedDB","shimIndexedDB","onupgradeneeded","db","createObjectStore","keyPath","createIndex","onsuccess","database","LocalForageServiceAdapter","output","rootScopeService","baseUrl","emailUrl","addressUrl","_addresses","cachedUser","getFromCache","patch","providerId","file","formData","FormData","append","heap","$locale","$filter","isValid","isNumber","toModel","restrict","$element","$attrs","toView","converted","selectionStart","$setViewValue","$render","$formatters","$parsers","currency","$viewValue","$modelValue","unindent","l","getParents","elem","Element","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","ownerDocument","querySelectorAll","parents","parentNode","isElement","HTMLElement","showEmoji","node","nodeParents","getAttribute","textToCheck","modifiedText","emojiExist","markdownTranspileDirective","emojiConvertor","replace_unified","innerHTML","markdownTranspile","processImageTag","startingPos","chatImageStartingIndex","chatImageStringEndindex","chatImageStr","proceededText","set","transpiledText","marked","render","transpiledDOM","_markdownIt2","_markdownIt","_markdownItEmoji2","_markdownItEmoji","_emojiMaker2","_emojiMaker","_markdownItBlockImage2","_markdownItBlockImage","MarkdownIt","use","MarkdownItEmoji","blockImagePlugin","outputContainer","containerClassName","EmojiConvertor","use_sheet","validateLink","BAD_PROTO_RE","GOOD_DATA_RE","normalizeLink","parsed","hostname","RECODE_HOSTNAME_FOR","punycode","toASCII","er","normalizeLinkText","toUnicode","presetName","inline","ParserInline","ParserBlock","core","ParserCore","renderer","Renderer","linkify","LinkifyIt","helpers","configure","zero","commonmark","presets","components","rules","ruler","rules2","ruler2","missed","plugin","args","env","State","process","parseInline","inlineMode","renderInline","getEncodeCache","cache","encodeCache","string","keepEscaped","nextCode","defaultChars","componentChars","getDecodeCache","decodeCache","seq","b1","b2","b3","b4","chr","slashes","auth","port","Url","urlParse","slashesDenoteHost","u","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","hostlessProtocol","slashedProtocol","lowerProto","hec","rest","simplePath","hostEnd","atSign","host","parseHost","ipv6Hostname","hostparts","part","newpart","validParts","notHost","bit","unshift","qm","Any","Cc","Cf","P","Z","parseLinkLabel","parseLinkDestination","parseLinkTitle","disableNested","found","prevPos","labelEnd","posMax","oldPos","md","skipToken","default_rules","code_inline","slf","renderAttrs","code_block","fence","highlighted","tmpAttrs","tmpToken","langName","highlight","langPrefix","renderInlineAsText","renderToken","hardbreak","xhtmlOut","softbreak","breaks","html_block","html_inline","nextToken","needLf","Core","_rules","NEWLINES_RE","NULL_RE","tok","isLinkOpen","isLinkClose","currentToken","nodes","ln","lastPos","htmlLinkLevel","fullUrl","urlText","links","blockTokens","pretest","schema","lastIndex","replaceFn","SCOPED_ABBR","replace_scoped","inlineTokens","inside_autolink","SCOPED_ABBR_RE","replace_rare","RARE_RE","SCOPED_ABBR_TEST_RE","r","tm","blkIdx","typographer","replaceAt","process_inlines","thisLevel","lastChar","nextChar","isLastPunctChar","isNextPunctChar","isLastWhiteSpace","isNextWhiteSpace","canOpen","canClose","isSingle","stack","openQuote","closeQuote","OUTER","QUOTE_RE","single","quotes","APOSTROPHE","QUOTE_TEST_RE","StateCore","startLine","endLine","hasEmptyLines","maxNesting","skipEmptyLines","sCount","blkIndent","tight","isEmpty","outTokens","lineMax","getLine","bMarks","eMarks","escapedSplit","escapes","backTicked","lastBackTick","lineText","nextLine","columns","columnCount","aligns","tableLines","tbodyLines","tShift","last","getLines","mem","haveEndMarker","skipChars","skipSpaces","adjustTab","initial","lastLineEmpty","offset","oldBMarks","oldBSCount","oldIndent","oldParentType","oldSCount","oldTShift","spaceAfterMarker","terminate","terminatorRules","wasOutdented","oldLineMax","bsCount","parentType","cnt","skipBulletListMarker","skipOrderedListMarker","markTightParagraphs","contentStart","indent","indentAfterMarker","isOrdered","itemLines","listLines","listTokIdx","markerCharCode","markerValue","oldLIndent","oldTight","posAfterMarker","prevEmptyEnd","isTerminatingParagraph","_endLine","destEndPos","destEndLineNo","references","tmp","skipSpacesBack","skipCharsBack","block_names","HTML_SEQUENCES","StateBlock","indent_found","ddIndent","from","begin","keepLastLF","lineIndent","first","queue","lineStart","_rules2","pending","pushPending","isTerminatorChar","pmax","ESCAPED","matchStart","matchEnd","labelStart","ref","parseReference","EMAIL_RE","AUTOLINK_RE","tail","linkMatch","emailMatch","isLetter","lc","DIGITAL_RE","NAMED_RE","lastDelim","currDelim","odd_match","StateInline","pendingLevel","canSplitWord","left_flanking","right_flanking","isRegExp","isFunction","isOptionsObj","reduce","acc","defaultOptions","resetScanCache","__index__","__text_cache__","createValidator","re","createNormalizer","normalize","compile","untpl","tpl","src_tlds","schemaError","__opts__","tlds","__tlds__","onCompile","__tlds_replaced__","tlds_2ch_src_re","src_xn","email_fuzzy","tpl_email_fuzzy","link_fuzzy","tpl_link_fuzzy","link_no_ip_fuzzy","tpl_link_no_ip_fuzzy","host_fuzzy_test","tpl_host_fuzzy_test","aliases","__compiled__","__schemas__","compiled","validate","alias","slist","schema_test","src_ZPCc","schema_search","Match","shift","__last_index__","__schema__","raw","createMatch","schemas","defaultSchemas","tlds_default","fuzzyLink","fuzzyEmail","fuzzyIP","http","src_auth","src_host_port_strict","src_path","no_http","src_domain","src_domain_root","src_port","src_host_terminator","mailto","src_email_name","src_host_strict","definition","m","ml","me","tld_pos","testSchemaAt","keepOld","sort","el","reverse","opts","src_Any","src_Cc","src_Z","src_P","src_ZCc","src_pseudo_letter","src_ip4","src_host","tpl_host_fuzzy","tpl_host_no_ip_fuzzy","tpl_host_fuzzy_strict","tpl_host_port_fuzzy_strict","tpl_host_port_no_ip_fuzzy_strict","global","RangeError","array","mapDomain","parts","regexSeparators","ucs2decode","extra","counter","ucs2encode","stringFromCharCode","basicToDigit","codePoint","base","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","floor","damp","baseMinusTMin","tMax","skew","out","basic","oldi","w","baseMinusT","inputLength","n","initialN","bias","initialBias","delimiter","maxInt","tMin","handledCPCount","basicLength","q","currentValue","handledCPCountPlusOne","qMinusT","regexPunycode","regexNonASCII","freeExports","nodeType","freeModule","freeGlobal","emojies_defs","emojies_shortcuts","emoji_html","emoji_replace","normalize_opts","defs","shortcuts","scanRE","replaceRE","angry","blush","broken_heart","confused","cry","frowning","heart","imp","innocent","joy","kissing","laughing","neutral_face","open_mouth","rage","smile","smiley","smiling_imp","sob","stuck_out_tongue","sunglasses","sweat","sweat_smile","unamused","wink","emojies","splitTextToken","last_pos","emoji_name","ZPCc","ucm","autolinkLevel","quoteRE","names","previous_emoji","img_set","img_sets","use_css_imgs","colons_mode","text_mode","include_title","include_text","allow_native","avoid_ms_emoji","allow_caps","img_suffix","init_env","noConflict","replace_emoticons","colonized","replace_emoticons_with_colons","replace_colons","_prev_offset","emoticons_with_parens","str_replaced","$1","prev_offset","has_open_paren","has_close_paren","piece","escaped_emoticons","parenthetical_rx","$2","skin_tone","skin_idx","skin_val","replacement","rx_unified","p1","p2","actual","wrapper","unified_vars","addAliases","removeAliases","finder_block","variation","var_idx","text_name","replace_mode","img","find_image","px","py","is_var","supports_css","mul","sheet_size","sheet","full_idx","use_mask","variations_data","var_data","try_order","mask","obsoletes_data","ob_data","ua","getComputedStyle","st","setup","PluginEnvironment","tokenizer","getDefaultOptions","advanceToSymbol","symbol","pointer","maxPos","symbolLine","symbolIndex","startPos","prevLineStartPos","SYNTAX_CODES","nextLineStartPos","SYNTAX_CHARS","char","backupText","_CartController2","_CartController","_InvitedPeopleListController2","_InvitedPeopleListController","_PopupBagDirective2","_PopupBagDirective","_OrderDetailsDirective","_CartGroupsService","_CartDirective","_CartGroupsDirective","_StoreAdminCartController2","_StoreAdminCartController","CartController","InvitedPeopleListController","hasGroupOrder","PopupBagDirectiveController","cartGroupsService","groupSpending","numbers","_deleteItem","payMyTab","_payMyTab","leaveOrder","_leaveOrder","quantityKeyPressed","_quantityKeyPressed","showPayButton","_shouldShowPayButton","shouldShowStartIndividualPaymentButton","_shouldShowStartIndividualPaymentButton","_clearCart","_cancelOrder","canCancelOrder","_canCancelOrder","separatePayments","_separatePayments","startCheckoutProcess","_startCheckoutProcess","toggleCollapse","group","_toggleCollapse","updateQuantity","updateValue","_updateQuantity","backToCart","_backToCart","confirmStartCheckout","_confirmStartCheckout","goToOrderSettings","_goToOrderSetting","startNewOrder","_startNewOrder","_state","_cartGroupsService","_cartChanging","checkOut","groupsCollapses","quantityUpdating","quantityUpdateClicked","updateSelectedTab","number","setQuantity","_setQuantity","startEditingItem","isEditing","stopEditingItem","savedQuantity","isStealthUserMode","showClearButtonCart","_showClearButtonCart","isGeneralMillsPOC","poc","resetCartToEmpty","_getAndSetupCart","payAllowed","paymentAuthorized","_participants","paymentStatus","_checkOrderAvailable","_cartChangeTimeout","isUserLoggedIn","cartOwnerBtn","recentlyAddedProduct","_setupCart","recursiveChangeValue","_updateItem","_updateGroups","__setQuantityRecursively","blur","recentUpdated","maxBy","recordedOn","recentlyUpdated","groupItems","groups","myTab","subtotal","myTapDiscounted","currentUser","currentParticipant","groupAllowance","orderDeadline","isBefore","to","canDeleteItem","marketingMode","_itemsCount","awaitPayment","paymentStatusMessage","isAllowChangeQuantity","_amazonCheckout","_walmartCheckout","_freshopCheckout","_shopifyCheckout","loadingDialog","showLoading","checkoutUrl","myCartItems","existingShopifyCartItems","hasMyCartItems","continueCheckoutWhenMatch","_continueCheckout","checkoutResult","myCart","item_count","isItemsResp","qtyChangeTimeout","contacts","inviteMorePeople","_inviteMorePeople","filterContacts","_filterContacts","isCurrentUser","_isCurrentUser","resendInvitation","_resendInvitation","removeFromCart","_removeFromCart","makeContactGroupOwner","_makeContactGroupOwner","isLocked","canRemoveUser","_fetchParticipants","_onReceivedParticipants","getParticipants","invitationResending","contactName","removeParticipant","contactEmail","participantId","firstLetter","_participantToContact","transferOwner","setInviteMorePeopleMode","countHot","subTotal","_close","viewOrder","_viewOrder","_onPaymentStatusChanged","_updateBagState","bagOpened","updateHot","previousCount","highlightItem","itemsForCounting","_getOnlyMyItems","_loadScope","_emptyScope","paymentProvided","OrderDetailsDirective","$interval","intervals","year","singular","plural","month","week","day","minute","_savedCart","sections","doNotAutoProcess","notificationsForParticipants","editSection","_editSection","_updateCartName","cancelCartNameChange","_cancelCartNameChange","saveCartName","_saveCartName","showUpdateCartName","cartModel","cartNameOldValue","isDefined","deadlineInterval","_reloadConfiguration","_loadCustomCartName","oldValue","_onDoNotAutoProcessChanged","_onNotificationsForParticipantsChanged","_setupTab","retailerTimezone","timeZoneSettingName","dealine","_getDeadlineString","tz","editable","localTimeDeadline","duration","_getDeliverySection","cartDetails","pickupAddress","_getPaymentMethodSection","_getOrderDeadlineSection","_getBudgetSection","section","CartGroupsService","owner","groupBy","values","participantName","iconLetter","paid","g","groupCartButtonText","attribute","openItem","isGneralMillsPOC","canPayForParticipant","getItemOptions","canShowGroupOwner","canShowPaidStatus","_OrderCheckoutController","_OrderCheckoutFullMixedController","_OrderConfirmationController","_OrderPayController","_OrderTabAddPeopleController","_OrderTabBudgetController","_OrderTabDeliveryAddressController","_OrderTabFinishController","_OrderTabPayModeController","_OrderTabPaymentDetailsController","_OrderTabPreviewController","_OrderTabDeliveryModeController","_OrderSummaryPageController2","_OrderSummaryPageController","_OrderAddPeopleDirective","_OrderContactViewDirective","_orderDateService2","_orderDateService","storeHours","deliveryDaysRange","addMinutes","maximumDate","OrderDateService","OrderTabDeadlineController","OrderSummaryPageController","InviteDialogController","_inviteDetails","userFirstLetter","_continue","_signup","onInviteAccepted","_goToCatalog","OrderCheckoutController","init","paymentSystemReady","paymentSystemChanged","paymentError","paymentConfiguration","clientToken","pay","getCardNonce","groupOrder","cartTotal","OrderCheckoutFullMixedController","participantAmounts","totalAllocated","totalRemaining","amountToPayChange","saveForLater","completeAndStartPaying","update","shopifyCheckout","OrderConfirmationController","OrderPayController","paymentDetails","cardName","securityCode","payTitle","getAmountToPay","OrderTabAddPeopleController","onContactListChanged","nextDisabled","checkDisableGoingForward","selectedContacts","getContactDetails","createdGroups","createdContacts","allContacts","allGroups","addPeopleToOrder","goBack","OrderTabBudgetController","orderDateServicePromise","$location","_filterService","_locationService","_orderDateServicePromise","maxAllowedBudget","_joinDateTime","parentBack","acceptSinglePayOrderNoBudget","_acceptSinglePayOrderNoBudget","acceptSinglePayOrderNoPayment","_acceptSinglePayOrderNoPayment","onBudgetChanged","_onBudgetChanged","acceptSinglePayOrderBudget","_acceptSinglePayOrderBudget","acceptPaymentInformation","_acceptPaymentInformation","shouldDisablePaymentInformationNextButton","_shouldDisablePaymentInformationNextButton","_onPaymentSystemChanged","paymentInformation","getPaymentSystem","getVendorDetails","getDeliveryDetails","defineBudget","budgetEntered","setVendorDetails","setPaymentSystem","saveAndGotoNext","budgetExceeds","budgetMaximumReach","currentAmount","processingPayment","saveToSessionStorage","_onCreditCardSelected","paymentSystemError","_onPaypalSelected","OrderTabFinishController","userProfile","ownerEmail","orderOwnerEmail","orderOwnerName","deadlineTimeText","OrderTabPayModeController","selectGroupPay","OrderTabPaymentDetailsController","acceptPaymentDetails","OrderTabPreviewController","mdSelect","_deadlineExpired","__mdSelectBackdropCallback","_mdSelect","editDeliveryInfo","editOrderDeadline","editInvitees","editBudget","createOrderAndSendInvites","_createOrderAndSendInvites","saveAndGoNext","_saveAndGoNext","onDeadlineDateChanged","_onDeadlineDateChanged","onMdSelectOpen","_onMdSelectOpen","onMdSelectClose","_onMdSelectClose","cartNameChange","_cartNameChange","orderModel","deadlineDate","customCartName","deliverTimeValues","modelValidation","currencySymbol","getDeliveryMode","getDeliveryAddress","canChangeDeadline","hasDeliveryDate","createInstruction","invitedPeopleCount","pickup","_setupDeliveryTime","isSelectPaymentType","paymentType","isSelectBudgetType","_submitOrder","_saveOrderInfo","_isModelValid","budgetInvalid","saveDeadline","setPaymentMethod","placeDateAndTime","minimumTime","minimumDeliveryTime","minimumDate","maximumTime","getTimeValues","timeValues","timeZoneDisplayName","startOf","clone","endOf","placeDate","placeTime","date","currentDate","endDate","isSameOrBefore","_minimumTime","_maximumTime","isBetween","acceptedDateFilter","isSameOrAfter","_deliveryDate","isSame","saveBudget","listener","addOptions","removeOptions","addEventListenerOnce","time","setCustomCartName","load","charCodeToInt","charCode","unpackBase60","num","whole","fractional","multiplier","sign","arrayToInt","intToUntil","round","Infinity","mapIndices","indices","unpack","offsets","untils","abbrs","population","Zone","packedString","_set","Country","country_name","zone_names","zones","OffsetAt","timeString","toTimeString","abbr","getTimezoneOffset","ZoneScore","zone","offsetScore","abbrScore","findChange","low","high","mid","userOffsets","change","startYear","sortZoneScores","localeCompare","addToGuesses","guesses","guessesForUserOffsets","guessesOffset","offsetsLength","filteredGuesses","rebuildGuess","intlName","Intl","DateTimeFormat","resolvedOptions","timeZone","normalizeName","logError","zoneScore","zoneScores","getZone","scoreOffsetAt","guess","ignoreCache","cachedGuess","addZone","packed","normalized","caller","getNames","getCountryNames","countries","addLink","normal0","normal1","addCountries","country_code","country_zones","getCountry","zonesForCountry","country","with_offset","zone_name","utcOffset","loadData","dataVersion","zoneExists","didShowError","needsOffset","isUnixTimestamp","_f","_a","_tzm","isMoment","abbrWrap","old","_z","resetZoneWrap","momentVersion","major","minor","unpacked","timestamp","offsetNext","offsetPrev","moveAmbiguousForward","moveInvalidForward","mom","offsetAt","abs","_zones","_links","_names","_countries","defaultZone","updateOffset","keepTime","_isUTC","_d","z","zoneName","zoneAbbr","setDefault","momentProperties","OrderTabDeliveryModeController","selectDelivery","setDeliveryMode","OrderAddPeopleDirectiveController","contactsService","_userEmails","_excludedEmails","_allContactsAndGroups","_contactsService","foundContacts","addAsGroup","created","selectedTwoContacts","groupNameToAdd","nameToAdd","recent","allContactsMinusRecent","showErrorMessage","addSelectedContactsToGroup","_addSelectedContactsToGroup","selectContact","_selectContact","unselectContact","_unselectContact","nameToAddChanged","_nameToAddChanged","closeFoundContactsForm","_closeFoundContactsForm","nameToAddKeyPressed","_nameToAddKeyPressed","groupToAddKeyPressed","_groupToAddKeyPressed","addEnteredEmails","_addEnteredEmails","updateSelectedContacts","_updateSelectedContacts","onNextBtnClicked","_onNextBtnClicked","onBackBtnClicked","_onBackBtnClicked","onDeleteContactClicked","_onDeleteContactClicked","contactsLoaded","_addContextContacts","_getUserAndContacts","_fetchGroups","_onGroupReceived","_updateRecentContacts","_sortContactsAndGroups","_updateSelectableGroups","groupDefinition","forcedSelected","_initializeGroup","groupMember","_initializeContact","memberName","selected","_fetchContacts","selectableGroups","addedContacts","contactsAdded","isGroup","groupName","_this7","_addSelectedContactsToExistingGroup","recentContacts","_getContactSortBy","alreadyInCartContacts","includes","take","avatarModel","getUserAvatar","expanded","_addEnteredEmail","existingContact","newContact","updatedNameToAdd","excludedEmails","selectedOn","addedEmails","incorrectEmails","hasOwnerEmail","toast","excludedEmailsLength","simple","emailsSet","onChanged","goNext","conctact","cancelAction","showCancelButton","OrderContactViewDirective","setFirstLetter","toggleContact","expandCollapseGroup","onContactDelete","groupView","_ProfileController","_OrderHistoryService","_OrderHistoryDetailsDirective","_OrderHistoryDirective","_OrderHistoryHeaderDirective","_UserProfileDirective","ProfileController","OrderHistoryService","getDetails","getHistory","OrderHistoryDetailsDirectiveController","orderHistoryService","_orderHistoryService","printDetails","_printDetails","_getItems","orderDetails","orderId","history","print","OrderHistoryDirectiveController","viewDetails","_viewDetails","closeDetails","orderedFormatted","orderedOn","expectedFormatted","record","_EditAddressController","UserProfileDirectiveController","_translateService","emailEditMode","addressEditMode","openIdProviders","toggleEmailEditMode","toggleAddressEditMode","toggleNameEditMode","nameEditMode","showChangePasswordDialog","canChangePassword","_canChangePassword","canLoadAvatarFrom","openIdProvider","_canLoadAvatarFrom","updateAvatarFromProvider","_updateAvatarFromProvider","canLinkAccount","_canLinkAccount","linkToProvider","_linkAccountToProvider","changeAvatar","_changeAvatar","goToGroupOrderReport","goToOpenCarts","addEmailInput","_addEmailInput","saveProfile","_save","upload","files","uploadAvatar","updateOpenIdAvatar","_states2","_states","EditAddressController","states","_ChatViewController2","_ChatViewController","_CategoryController2","_CategoryController","_ProductDetailController","_ProductListDirective2","_ProductListDirective","_ChatDirective2","_ChatDirective","_ChatCounterDirective2","_ChatCounterDirective","_CatalogService2","_CatalogService","_ChatService2","_ChatService","ChatViewController","CategoryController","ProductListDirectiveController","ChatDirectiveController","CatalogService","CatalogChatService","ChatCounterDirectiveController","chatService","getUnreadMessages","chatListener","unreadMessages","CHATVIEW","INVITEDPEOPLE","switchTab","_switchTab","switchToChatTab","_switchToChatTab","switchToInvitedPeopleTab","_switchToInvitedPeopleTab","underConstruction","hasSavedSession","_ProductDetailController2","mdDialog","locationService","products","pageNum","hasMore","loadMore","_loadMore","customizeProduct","_customizeProduct","endCustomizeProduct","_endCustomizeProduct","customizeKeyPressed","_customizeKeyPressed","_onCategoryIdChanged","refreshList","showProductDetail","_showProductDetail","addToCart","_addToCart","showComment","setFocus","catDefaults","addedState","limit","getProductsBySuperCategory","_products","prepareProducts","searchProducts","productList","getProduct","ProductDetailController","_emojiPicker2","_emojiPicker","logoPath","catalogChatService","Session","_onChatUpdated","scrollHeight","refreshing","_catalogChatService","getMessages","newMessages","compactMode","Name","Email","_formatMessage","Message","isMy","currentLoggedInUserEmail","AvatarCropped","Avatar","pick","uniqWith","selectedParticipants","currentClientTime","currentClientTimeCount","newMessage","maxTextLength","jQuery","getTimeForMessage","messageUTCTime","currentTime","participantsFilter","_participantsFilter","selectAllParticipants","_selectAllParticipants","checkedAllParticipants","_checkedAllParticipants","isSvg","startWatchingOnUnreadMessage","stopWatchingForUnreadMessage","_postMessage","onMessageTextAreaKeyPress","showMore","_showMore","_refreshTimes","_lastRefreshTime","emojiEditor","emojiArea","EmojiPicker","emojiable_selector","assetsPath","popupButtonClasses","onLoaded","setAttribute","onKeyUp","discover","_refreshData","_signalrConnectedTimeOut","updateByCartId","userData","newMessageObj","preventDefault","emojiMenu","isSending","empty","utcLabelIndex","timeStringFormated","ref1","emojiarea","iconSize","generateEmojiIconSets","_jquery2","_jquery","_config2","_config","_jquery4","_jquery3","jquery","MSStream","emojiPopup","norealTime","column","dataItem","icons","reverseIcons","row","totalColumns","colonToUnicode","appendUnicodeAsImageToElement","split_on_unicode","createIcon","createTextNode","colonToImage","initialEmojiArea","getGuid","random","TAGS_BLOCK","MAX_LENGTH_ALLOWED_KEYS","spriteSheetPath","blankGifPath","defaultRecentEmojis","originalInput","wysiwyg","EmojiArea_WYSIWYG","EmojiArea_Plain","util","restoreSelection","savedSelection","sel","selection","saveSelection","ranges","rangeCount","getRangeAt","replaceSelection","deleteContents","insertNode","setStart","setStartAfter","collapse","pasteHTML","outerHTML","insertAtCursor","startIndex","selectionEnd","escapeRegex","htmlEntities","emojiInserted","emojiKey","menu","ConfigStorage","curEmojis","emojis_recent","EmojiArea","$editor","hasFocus","EmojiMenu","setupButton","$button","$dontHideOnClick","Mobile","xoffset","yoffset","scaledWidth","scaledHeight","$textarea","insert","inputMethod","outerHeight","changeEvents","onChange","editorDiv","ctrlKey","metaKey","updateBodyPadding","charsRemaining","originalEvent","clipboardData","getData","onPaste","emojiPicker","hasScrollbar","hasClass","CustomEvent","bubbles","dispatchEvent","insertionContent","$img","returnValue","flush","childNodes","sanitizeNode","nodeValue","tagName","isBlock","$body","menuZIndex","$menu","$itemsTailWrap","appendTo","$categoryTabs","$itemsWrap","$items","keyCode","stopPropagation","getTabIndex","currentCategory","selectCategory","onItemSelected","charAt","updateItems","css","storageSetPrefix","newPrefix","keyPrefix","storageSetNoPrefix","noPrefix","storageGetPrefix","storageGetValue","allFound","useLs","useCs","chrome","resultObj","storageSetValue","keyValues","storageRemoveValue","ChatService","_chatService","_cachedSuperCategoryProducts","_allCategories","productId","catalogSearchParams","SearchString","MaxProductsPerPage","CurrentPage","_chatFailRetries","_refreshing","chatActive","realtimeUpdateService","_unreadMessages","_onResponseReceived","Id","_handleCartPostDetails","checkAndReturnMessageList","lockMsgList","notifyUnreadMessageIfNeeded","playSound","existingChatMsg","currentLoggedInUser","_currentLoggedInUser","_playSound","without","IsOwner","$SanitizeProvider","toMap","lowercaseKeys","lowercase","htmlParserImpl","inertBodyElement","mXSSAttempts","$sanitizeMinErr","documentMode","stripCustomNsAttrs","firstChild","nodeName","attrToMap","chars","nextNode","getNonDescendant","ii","encodeEntities","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","htmlSanitizeWriterImpl","uriValidator","ignoreCurrentElement","blockedElements","validElements","lkey","isImage","validAttrs","uriAttrs","voidElements","Node","ELEMENT_NODE","attrNode","attrName","removeAttributeNode","propName","nodeContains","outerText","svgEnabled","$get","$$sanitizeUri","svgElements","htmlParser","htmlSanitizeWriter","uri","enableSvg","noop","contains","compareDocumentPosition","optionalEndTagBlockElements","optionalEndTagInlineElements","optionalEndTagElements","blockElements","inlineElements","htmlAttrs","svgAttrs","doc","implementation","createHTMLDocument","docElement","getDocumentElement","bodyElements","sanitizeText","$$minErr","angularVersion","$sanitize","LINKY_URL_REGEXP","MAILTO_REGEXP","linkyMinErr","addText","attributesFn","linkAttributes","markedProvider","setRenderer","setOptions","$log","wrapNonBindable","o","renderCode","lang","renderCodespan","codespan","markedDirective","$templateRequest","$compile","$eval","$parent","Lexer","gfm","tables","InlineLexer","pedantic","TextRenderer","Parser","unescape","edit","regex","getRegex","resolveUrl","baseUrls","lex","newline","fences","hr","heading","nptable","blockquote","def","table","lheading","paragraph","_label","_title","bullet","_tag","loose","cap","bull","space","isordered","depth","align","cells","ordered","smartLists","sanitize","pre","sanitizer","autolink","reflink","nolink","strong","em","br","del","_scheme","_inside","_href","_backpedal","mangle","inLink","outputLink","smartypants","quote","headerPrefix","xhtml","listitem","tablerow","tablecell","flags","prot","originIndependentUrl","inlineText","peek","parseText","cell","parser","lexer","inlineLexer","ng","$templateCache","pagination","itemsByPage","displayedPages","delay","inputEvent","trimSearch","selectedClass","ascentClass","descentClass","descendingFirst","skipNatural","pipe","$parse","copyRefs","updateSafeCopy","safeCopy","safeGetter","pipeAfterSafeCopy","ctrl","deepDelete","partials","parentPath","parentObject","filtered","lastSelected","propertyName","stTable","displayGetter","displaySetter","orderBy","tableState","totalItemCount","stSafeSrc","safeSrc","predicate","functionName","comparator","predicateObject","prop","numberOfPages","ceil","rows","isSelected","getFilteredCollection","setFilterFunction","filterName","setSortFunction","sortFunctionName","preventPipeOnWatch","stSetFilter","stSetSort","stConfig","tableCtrl","throttle","stDelay","stInputEvent","$observe","predicateExpression","stSearch","evt","stSelectMode","func","getter","stSort","sortDefault","classAscent","stClassAscent","classDescent","stClassDescent","stateClasses","stSkipNatural","stDescendingFirst","stSortDefault","stItemsByPage","stDisplayedPages","stPageChange","stTemplate","redraw","paginationState","numPages","newPage","selectPage","stPipe","pipePromise","runTranslate","storageKey","fallbackFromIncorrectStorageValue","preferred","displayName","$translateSanitizationProvider","$sce","strategies","currentStrategy","hasConfiguredStrategy","hasShownNoStrategyConfiguredWarning","htmlSanitizeValue","htmlEscapeValue","sanitizeParameters","mapInterpolationParameters","escapeParameters","sce","htmlTrustValue","sceParameters","addStrategy","strategyName","strategyFunction","removeStrategy","useStrategy","strategy","$injector","cachedStrategyMap","applyStrategies","selectedStrategies","selectedStrategy","showNoStrategyConfiguredWarning","trustAsHtml","iteratee","propertyValue","propertyKey","$STORAGE_KEY","$windowProvider","pascalprechtTranslateOverrider","$preferredLanguage","$languageKeyAliases","$fallbackLanguage","$fallbackWasString","$uses","$nextLang","$storageFactory","$storagePrefix","$missingTranslationHandlerFactory","$interpolationFactory","$loaderFactory","$loaderOptions","$notFoundIndicatorLeft","$notFoundIndicatorRight","loaderCache","postProcessFn","$translationTable","$availableLanguageKeys","$storageKey","$interpolatorFactories","$cloakClassName","$postCompilingEnabled","$forceAsyncReloadEnabled","$nestedObjectDelimeter","$isReady","$keepContent","directivePriority","statefulFilter","uniformLanguageTagResolver","languageTagResolver","java","temp","bcp47","getFirstBrowserLanguage","language","nav","browserLanguagePropertyKeys","languages","searchElement","negotiateLocale","avail","langKeyAlias","hasWildcardKey","hasExactKey","translations","langKey","translationTable","flatObject","cloakClassName","nestedObjectDelimeter","prevKey","keyWithPath","keyWithShortPath","addInterpolation","useMessageFormatInterpolation","useInterpolation","useSanitizeValueStrategy","setupPreferredLanguage","translationNotFoundIndicator","indicator","translationNotFoundIndicatorLeft","translationNotFoundIndicatorRight","fallbackLanguage","fallbackStack","resolveClientLocale","useLoader","useStaticFilesLoader","loaderFactory","useLocalStorage","useStorage","useCookieStorage","storageFactory","storagePrefix","useMissingTranslationHandlerLog","useMissingTranslationHandler","usePostCompiling","forceAsyncReload","uniformLanguageTag","standard","determinePreferredLanguage","registerAvailableLanguageKeys","languageKeys","useLoaderCache","priority","keepContent","Storage","fallbackIndex","startFallbackIteration","defaultInterpolator","pendingLoader","interpolatorHashMap","langPromises","translationId","interpolateParams","interpolationId","defaultTranslationText","forceLanguage","sanitizeStrategy","uses","loadTranslationsIfMissing","translationIds","results","promises","deferred","defer","regardless","all","promiseToWaitFor","promiseResolved","determineTranslation","applyNotFoundIndicators","useLanguage","eachInterpolator","interpolator","loadAsync","loaderOptions","onLoaderSuccess","onLoaderError","eachInterpolationFactory","interpolatorFactory","getInterpolationIdentifier","onResolve","getFallbackTranslation","Interpolator","interpolatedValue","applyPostProcessing","getFallbackTranslationInstant","$$unwrapTrustedValue","result2","translateByHandler","resolveForFallbackLanguage","fallbackLanguageIndex","missingTranslationHandlerTranslation","resolveForFallbackLanguageInstant","fallbackTranslation","fallbackTranslationInstant","resolvedTranslation","_translationId","determineTranslationInstant","clearNextLangAndPromise","useFallbackLanguage","langKeyPosition","proposedLanguage","aliasedKey","isPostCompilingEnabled","isForceAsyncReloadEnabled","isKeepContent","refresh","loadNewData","languageKey","updatedLanguages","languagesToReload","possibleLangKeys","d","possibleLangKey","versionInfo","isReady","$onReadyDeferred","onReady","getAvailableLanguageKeys","copy","globalOnReadyListener","globalOnChangeListener","equals","processAsyncResult","fallbackLanguageId","$translateDefaultInterpolation","$interpolate","$translateSanitization","$translateInterpolator","interpolationParams","interpolatedText","translateDirective","tElement","tAttr","translateValuesExist","translateValues","translateInterpolation","translateSanitizeStrategyExist","translateSanitizeStrategy","translateValueExist","interpolateRegExp","startSymbol","endSymbol","watcherRegExp","iElement","iAttr","preText","postText","translateNamespace","getTranslateNamespace","observeElementTranslation","_unwatchOld","iElementText","interpolateMatches","watcherMatches","updateTranslations","attributeName","firstAttributeChangedEvent","translateAttr","defaultText","updateTranslation","translateLanguage","applyTranslation","successful","translateKeepContent","globallyEnabled","locallyDefined","translateCompile","locallyEnabled","$attr","translateDefault","unbind","translateAttrDirective","previousAttributes","removeAttr","watchAttribute","valueCallback","changeCallback","translateCloakDirective","applyCloak","removeCloak","iRemoveCloak","iApplyCloak","translateCloak","translateNamespaceDirective","iAttrs","_getTranslateNamespace","translateLanguageDirective","newTranslateLanguage","translateFilterFactory","translateFilter","interpolation","ctx","$stateful","$translationCache","$cacheFactory","$translateUrlLoader","requestParams","queryParameter","initNewConnection","connection","hubConnection","useDefaultPath","logging","getConnection","makeArray","setInterval","SignalRHub","hubName","proxy","createHubProxy","getOwnPropertyNames","methods","invoke","qs","autoConnect","startOptions","transport","jsonp","withCredentials","validateTransport","requestedTransport","signalR","transports","ieVersion","getDefaultPort","addDefaultPort","ConnectingMessageBuffer","drainCallback","that","buffer","tryBuffer","drain","resources","nojQuery","noTransportOnInit","errorOnNegotiate","stoppedWhileLoading","stoppedWhileNegotiating","errorParsingNegotiateResponse","errorDuringStartRequest","stoppedDuringStartRequest","errorParsingStartResponse","invalidStartResponse","protocolIncompatible","sendFailed","parseFailed","longPollFailed","eventSourceFailedToConnect","eventSourceError","webSocketClosed","pingServerFailedInvalidResponse","pingServerFailed","pingServerFailedStatusCode","pingServerFailedParse","noConnectionTransport","webSocketsInvalidState","reconnectTimeout","reconnectWindowTimeout","_connection","_pageLoaded","readyState","_pageWindow","onStart","onStarting","onReceived","onConnectionSlow","onReconnecting","onReconnect","onStateChanged","onDisconnect","ajaxDefaults","processData","async","msg","debug","changeState","expectedState","triggerHandler","oldState","isDisconnecting","supportsKeepAlive","keepAliveData","activated","configureStopReconnectingTimeout","stopReconnectingTimeout","onReconnectTimeout","configuredStopReconnectingTimeout","disconnectTimeout","defaultContentType","appName","transportError","firefoxMajorVersion","configurePingInterval","onFail","pingIntervalId","pingInterval","_logic","pingServer","fail","hub","$connection","lastError","connectingMessageBuffer","lastMessageAt","lastActiveAt","beatInterval","beatHandle","totalTransportConnectTimeout","_parseResponse","_originalJson","isCrossDomain","against","ajaxDataType","contentType","clientProtocol","reconnectDelay","transportConnectTimeout","reconnectWindow","keepAliveWarnAt","waitForPageLoad","_deferral","Deferred","deferredStartHandler","wsProtocol","support","cors","initHandler","noTransportError","transportName","onFallback","isFirefox11OrGreater","asyncAbort","monitorKeepAlive","startHeartbeat","onFailed","negotiateRequest","prepareQueryString","ajax","protocolError","supportedTransports","appRelativeUrl","ConnectionId","ConnectionToken","webSocketServerUrl","WebSocketServerUrl","pollTimeout","ConnectionTimeout","DisconnectTimeout","TransportConnectTimeout","KeepAliveTimeout","timeoutWarning","ProtocolVersion","TryWebSockets","inArray","starting","send","received","errorData","sendData","connectionSlow","reconnected","notifyServer","deferral","clearInterval","abort","stopMonitoringKeepAlive","messageId","groupsToken","beat","monitoring","checkIfAlive","transportLogic","markActive","timeElapsed","lostConnection","userNotified","getAjaxUrl","InitHandler","startRequested","startCompleted","connectionStopped","onSuccess","failCalled","initReceived","transportFailed","transportTimeoutHandle","tryAbortStartRequest","ajaxStart","wrappedError","xhrFields","dataType","xhr","addQs","Response","preparedUrl","firstChar","appender","getUrl","poll","ajaxPost","maximizePersistentResponse","minPersistentResponse","MessageId","C","Messages","M","Initialized","S","ShouldReconnect","T","LongPollDelay","L","GroupsToken","G","updateGroups","stringifySend","ajaxSend","triggerReceived","textStatus","ajaxAbort","rejectDeferred","triggerStartError","startRequest","tryInitialize","persistentResponse","onInitialized","processMessages","minData","markLastMessage","reconnectKeepAliveUpdate","verifyLastActive","isConnectedOrReconnecting","ensureReconnectingState","clearReconnectTimeout","reconnect","handleParseFailure","foreverFrame","connections","webSockets","socket","opened","WebSocket","onopen","onclose","wasClean","reason","onmessage","isEmptyObject","clearReconnectAttemptTimeout","reconnectAttemptTimeoutHandle","serverSentEvents","timeOut","eventSource","EventSource","OPEN","eventPhase","CLOSED","createFrame","frame","loadPreventer","loadingFixIntervalId","attachedTo","prevent","tempFrame","iframeClearThreshold","frameId","frameLoadHandler","receive","cw","frameMessageCount","contentDocument","started","longPolling","fireConnect","tryFailConnect","privateData","reconnectErrors","fireReconnected","reconnectTimeoutId","pollXhr","pollTimeoutId","raiseReconnect","polling","postData","onprogress","shouldReconnect","responseText","pow","makeEventName","eventNamespace","fun","thisp","getArgValue","hasMembers","clearInvocationCallbacks","invocationCallbacks","invocationCallbackId","callbackId","E","hubProxy","settings","callbackMap","hasSubscriptions","eventName","off","callbackSpace","methodName","argValues","H","A","I","minResult","_maximizeHubResponse","Progress","notifyWith","Data","progressjQueryVersionLogged","StackTrace","IsHubException","ErrorData","rejectWith","resolveWith","Result","minHubResponse","R","D","proxies","dataCallbackId","_maximizeClientHubInvocation","Method","Args","errData","origData","minClientHubInvocation","_registerSubscribedHubs","_subscribedToHubs","subscribedHubs","fetchPolyfill","normalizeValue","iteratorFor","iterable","Headers","consumed","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","view","Uint8Array","bufferClone","byteLength","Body","_initBody","_bodyInit","_bodyText","Blob","isPrototypeOf","_bodyBlob","_bodyFormData","searchParams","URLSearchParams","arrayBuffer","isDataView","_bodyArrayBuffer","ArrayBuffer","isArrayBufferView","rejected","normalizeMethod","upcased","Request","referrer","bytes","parseHeaders","rawHeaders","bodyInit","viewClasses","DataView","isView","thisArg","entries","redirectStatuses","redirect","XMLHttpRequest","getAllResponseHeaders","responseURL","ontimeout","responseType","setRequestHeader","polyfill","_promise2","_promise","setImmediate","promisePolyfill","_handled","_value","_deferreds","doResolve","_immediateFn","cb","onFulfilled","onRejected","finale","_unhandledRejectionFn","Handler","setTimeoutFunc","prom","remaining","race","_setImmediateFn","_setUnhandledRejectionFn","Timeout","clearFn","_id","_clearFn","Function","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","task","tasksByHandle","nextHandle","registerImmediate","runIfPresent","currentlyRunningATask","attachTo","getPrototypeOf","nextTick","importScripts","postMessageIsAsynchronous","oldOnMessage","messagePrefix","onGlobalMessage","MessageChannel","channel","port1","port2","script","onreadystatechange","defaultSetTimout","defaultClearTimeout","runTimeout","cachedSetTimeout","runClearTimeout","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","Item","browser","argv","versions","addListener","once","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","dir","umask","$urlRouterProvider","$locationProvider","hashPrefix","otherwise","absUrl","hasHandler","handleCommand","callbackData"],"mappings":"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AAUsf,GdwoDX,SAAUvf,EAAQC,EAASC,GAEjC,YAGAC,QAAOC,eAAeH,EAAS,cAC7BI,OAAO,Gel1DT,afu1DIqL,EAEJ,SAAgCC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQrL,QAASqL,IAFhDE,EAIvC5L,GAAQK,Qez1DOwL,UAAQ9L,OAAO,yBf41DrB,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,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AAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,UACngC,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,OAAQ,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,QAAS,QAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,UAChgE,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,OAAQ,QAAS,QAAS,OAAQ,QAAS,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,QAAS,QAAS,OAAQ,QAAS,QAAS,OAAQ,QAAS,QAAS,QAAS,QAAS,QAAS,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,gBACj7B,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,OAAQ,QAAS,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,OAAQ,OAAQ,QAAS,QAAS,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ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ACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEH,SAAUzrC,EAAQC,EAASC,GAEjC,YAiBA,SAASugB,GAAuB9U,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQrL,QAASqL,GoCz3QvF,apC62QImhC,EAAQrsB,EAAuBssB,GoC52QnC,SpCg3QIC,EAAUvsB,EAAuBwsB,GoC/2QrC,SACA,GpCk3QexsB,EAAuBysB,GoCl3QtC,OAEKp3B,QAAOq3B,QACR,aAAcr3B,QAGd,WAAWtH,KAAKgJ,UAAUC,YAC1B21B,SAASC,cAAc,QAAQC,UAAUC,IAAI,qBAG5C,iCAAkC/+B,KAAKgJ,UAAUC,YAClD21B,SAASC,cAAc,QAAQC,UAAUC,IAAI,qBAGjD,IAAAC,iCAEA1hC,QAAQ2hC,UAAUL,UAAYM,UAAIv/B,QpC03Q5B,SAAUnO,EAAQC,EAASC,GAEjC,YAmBA,SAASugB,GAAuB9U,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQrL,QAASqL,GAhBvFxL,OAAOC,eAAeH,EAAS,cA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ACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gB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nE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,EAAG,GAAI,GAElE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,IAAU,MAAiB,UAAW,MAAO,GAAI,GAAI,GAAI,GAE3F,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GAAI,GAEnE,gBACK,QAA6B,GAAI,IAAK,WAAY,GAAI,GAAI,GA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SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,UAC9T,SAAW,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,UACjU,SAAW,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,UACjU,SAAW,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,UACjU,SAAW,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,UACjU,SAAW,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,UACjU,SAAW,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,UACjU,SAAW,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,SAA8B,SAAU,cAAe,GAAI,GAAI,IAAK,UACjU,SAAW,SAAU,cA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I,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,aAC9d,wBAA0B,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,aAC9d,wBAA0B,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,aAC9d,wBAA0B,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,aAC9d,wBAA0B,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,aAC9d,wBAA0B,SAAU,6BAA8B,GAAI,EAAG,GAAI,YAAgD,SAAU,6BAA8B,GAAI,EAAG,GAAI,YAAgD,SAAU,6BAA8B,GAAI,EAAG,GAAI,YAAgD,SAAU,6BAA8B,GAAI,EAAG,GAAI,YAAgD,SAAU,6BAA8B,GAAI,EAAG,GAAI,aACzd,wBAA0B,SAAU,6BAA8B,GAAI,EAAG,GAAI,YAAgD,SAAU,6BAA8B,GAAI,EAAG,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,YAAgD,SAAU,6BAA8B,GAAI,GAAI,GAAI,aAC5d,wBAA0B,SAAU,6BAA8B,GAAI,GAAI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8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,wBAAyB,QAAS,GAAI,GAAI,IAC1C,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,wBAAyB,QAAS,GAAI,GAAI,IAC1C,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,wBAAyB,QAAS,GAAI,GAAI,IAC1C,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,wBAAyB,QAAS,GAAI,GAAI,IAC1C,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,wBAAyB,QAAS,GAAI,GAAI,IAC1C,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,wBAAyB,QAAS,GAAI,GAAI,IAC1C,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,wBAAyB,QAAS,GAAI,GAAI,IAC1C,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IACtD,8BAA+B,cAAe,GAAI,GAAI,IA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","file":"scripts/app.77861da34a6cc3389414.js","sourcesContent":["webpackJsonp([0],[\n/* 0 */,\n/* 1 */,\n/* 2 */,\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n\n SQUARE_UP_APPLICATION_ID: 'sandbox-sq0idp-6o35glEKAVY0GtW8MmMvhg',\n\n SHOPIFY_RETAILER_TYPE: 'Shopify',\n AMAZON_RETAILER_TYPE: 'Amazon',\n\n BroadcastMessages: {\n TOGGLE_POPUP_BAG: 'togglePopupBag',\n CART_PAGE_REQUESTED: 'cartPageRequested',\n SESSION_CHANGED: 'sessionChanged',\n DISPLAY_POPUP_BAG: 'displayPopupBag',\n HIDE_POPUP_BAG: 'hidePopupBag',\n POPUP_BAG_CHANGED: 'popupBagChanged',\n CREATE_GROUP_ORDER: 'createGroupOrder'\n },\n\n UserTypes: {\n NormalUser: null,\n StoreAdmin: 1\n },\n\n RootEvents: {\n CART_CHANGED: 'cartChanged',\n PAYMENT_STATUS_CHANGED: 'paymentStatusChanged',\n USER_PROFILE_UPDATED: 'userProfileUpdated',\n DELETE_CONTACT_CONFIRM_FROM_ADDMORE_PEOPLE: 'DELETE_CONTACT_CONFIRM_FROM_ADDMORE_PEOPLE'\n },\n\n WindowMode: {\n minimized: 'MINIMIZED',\n maximized: 'MAXIMIZED'\n },\n Notifications: {\n chatNotification: 'resources/media/chat_notif.wav',\n newCartItemNotification: 'resources/media/chat_notif.wav'\n },\n Events: {\n WINDOW_WIDTH_CHANGED: 'windowWidthChanged',\n WINDOW_STATE_CHANGED: 'windowStateChanged',\n WINDOW_SCROLL: 'windowScroll',\n GROUP_ORDER_STATUS_CHANGED: 'groupOrderStatusChanged',\n ORDER_CREATED: 'setupOrderFinished',\n ORDER_CANCELLED: 'orderStatusCancelled',\n ORDER_CLEAR_ITEMS: 'clearCartItems',\n ORDER_CHANGED: 'orderChanged',\n ORDER_CANCELLED_BY_OWNER: 'orderCancelledByOwner',\n ORDER_CLEARED_BY_OWNER: 'orderClearedByOwner',\n USER_REMOVED_BY_OWNER: 'userRemovedByOwner',\n USER_JOINED_OTHER_CART: 'userJoinedOtherCart',\n ORDER_CHECKED_OUT: 'orderCheckedOut',\n LEFT_ORDER: 'participantLeftOrder',\n USER_LOGGED_OUT: 'userLoggedOut',\n USER_LOGGED_IN: 'userLoggedIn',\n INVITATION_ACCEPTED: 'invitationAccepted',\n INVITATION_FAILED_DUE_TO_CART_CLOSED: 'invitationFailedDueToCartClosed',\n CHAT_MESSAGE_RECEIVED: 'chatMessageReceived',\n CART_ITEMS_CHANGED: 'cartItemsUpdated',\n CART_OWNERSHIP_TRANSFERRED: 'CartOwnershipTransferred',\n REALTIME_CHAT_RECEIVED: 'RealtimeChatMessageReceived',\n EXTERNAL_PRODUCT_DETAIL_REQUESTED: 'externalProductDetailRequested',\n ADD_PEOPLE_ADVANCE_TO_NEXT_PAGE: 'AddPeopleAdvanceToNextPage',\n ORDER_CREATION_CANCEL_REQUESTED: 'OrderCreationCancelRequest',\n VERSION_PAGE_REQUESTED: \"VersionPageRequested\",\n LOGIN_PAGE_CANCEL_REQUESTED: 'LogInPageCancelRequest',\n ON_WINDOW_UNLOADING: 'WINDOW_UNLOADING',\n SIGNALR_CONNECTED: 'SignalrConnected',\n CANCEL_INVITATION: 'CANCEL_INVITATION',\n WINDOW_RECEIVED_MESSAGE: 'WINDOW_MESSAGE_RECEIVED',\n OPEN_SPLASH_SCREEN: 'OPEN_SPLASH_SCREEN',\n DELETE_CONTACT_COMPLETE: 'DELETE_CONTACT_COMPLETE',\n DIALOG_OPENED: 'DIALOG_OPENED',\n DIALOG_CLOSED: 'DIALOG_CLOSED',\n BACK_BUTTON_CLICKED: \"BACK_BUTTON_CLICKED\",\n ACCEPT_INVITES: \"ACCEPT_INVITES\"\n },\n\n SignalRHubStates: {\n CONNECTING: 0,\n CONNECTED: 1,\n RECONNECTING: 2,\n DISCONNECTED: 4\n },\n\n ElementAnchors: {\n TOP_NAVIGATION_BAR: 'top-navbar',\n TOP_NAVIGATION_BAR_PLACEHOLDER: 'top-navbar-placeholder',\n TOP_MOBILE_TOOLBAR: 'top-mobile-toolbar'\n },\n\n Timeouts: {\n POOLING_INTERVAL: 6000\n },\n\n SessionStorage: {\n AUTH_TOKEN: 'authToken',\n USER_EMAIL: 'userEmail',\n USER_NAME: 'userName',\n USER_FIRST_NAME: 'userFirstName',\n USER_LAST_NAME: 'userLastName',\n USER_DATA: 'userData',\n CART: 'cart',\n DELIVERY_PHONE: 'deliveryPhone',\n DELIVERY_ADDRESS: 'deliveryAddress',\n IS_INVITE: 'isInvite',\n NEW_ORDER_CONFIGURATION: 'newOrderConfiguration',\n ANTI_FORGERY_TOKEN: 'requestVerificationToken',\n AwaitingInvitation: 'awaiting_invitation',\n UnreadChatMessages: 'unread_chat_messages',\n CARTONOMY_BUILD_TIME: 'CARTONOMY_BUILD_TIME',\n CARTONOMY_BUILD_VERSION: 'CARTONOMY_BUILD_VERSION',\n LAST_STATE_NAME: 'LAST_STATE_BEFORE_UNLOAD',\n LAST_WINDOW_STATE: 'LAST_WINDOW_STATE',\n InvitationUserInvalid: 'InvitationUserInvalid',\n CREATE_ORDER_CONFIGURATION: 'CREATING_ORDER_CONFIGURATION',\n CREATE_ORDER_CURRENT_TAB: 'CREATING_ORDER_CURRENT_TAB',\n LINKING_SOCIAL_ACCOUNT: 'LINKING_SOCIAL_ACCOUNT',\n SAFARI_WARNING_SHOWED: 'SAFARI_WARNING_SHOWED',\n RETAILER_DATA: 'RETAILER_DATA_CHECK'\n },\n\n RoutingStates: {\n ABOUT: 'about',\n CATALOG: 'catalog',\n USER_PROFILE: 'profile',\n STORE_ADMIN: 'storeAdmin',\n START_CHECKOUT: 'start_checkout',\n CHECKOUT: 'checkout',\n CHECKOUT_FULL_MIXED: 'fullmixed',\n CART: 'cart',\n INVITED_PEOPLE: 'invited_people',\n CHAT: 'chat',\n INVITE: 'invite',\n CONFIRM_TICKET: 'confirm_ticket',\n PAY: 'pay',\n CONFIRM_ORDER: 'confirm_order',\n LOGIN_TICKET: 'login_ticket',\n PAYPAL_REDIRECT: 'paypal',\n ORDER_SUMMARY_PAGE: 'orderSummaryPage',\n OPEN_CARTS: 'openCarts'\n },\n\n Pagination: {\n PAGE_LIMIT: 10\n },\n\n CartDetails: {\n\n DEADLINE_HOURS: 1,\n\n DeliveryMethods: {\n DELIVERY: \"DELIVERY\",\n PICKUP: \"PICKUP\",\n SHIPPING: \"SHIPPING\",\n DEFAULT: \"DELIVERY\"\n },\n\n PaymentMethods: {\n SINGLE: \"single\",\n MULTIPLE: \"multiple\",\n DEFAULT: \"multiple\",\n MIXED: 'mixed',\n FULL_MIXED: 'fullmixed',\n USER_SELECT: 'user-select',\n SELF: 'self'\n },\n\n BudgetTypes: {\n PER_CART: 'per-cart',\n PER_USER: 'per-user',\n USER_SELECT: 'user-select'\n },\n\n ShippingMethods: {\n DEFAULT: \"default\"\n },\n\n Participant: {\n Status: {\n OWNER: 'OWNER',\n INVITE_SENT: 'INVITESENT',\n INVITED: 'INVITED',\n JOINED: 'JOINED',\n DECLINED: 'DECLINED',\n REMOVED: 'REMOVED',\n LEFT: 'LEFT'\n }\n }\n },\n\n AddressType: {\n BILLING: \"billing\",\n SHIPPING: \"shipping\"\n },\n\n OrderSetupTabs: {\n WELCOME: 'welcome',\n DELIVERY_MODE: 'deliveryMode',\n DELIVERY_ADDRESS: 'deliveryAddress',\n PAY_MODE: 'payMode',\n DEADLINE: 'deadline',\n BUDGET: 'budget',\n ADD_PEOPLE: 'addPeople',\n PREVIEW: 'preview',\n FINISH: 'finish',\n CANCEL: 'cancel',\n CANCELEDITING: 'cancelEditing',\n PAYMENT_DETAILS: 'paymentDetails',\n ORDER_CREATE_CONFIRM: 'orderCreateConfirm',\n CONFIRM_DELETE_CONTACT: 'confirmDeleteContact',\n INVITE_WELCOME: 'inviteWelcome'\n },\n\n InvitationTypes: {\n normal: 1,\n share: 2\n },\n\n CartonomyMode: {\n default: 0,\n marketing: 1\n },\n\n PAYPAL_CHECKOUT_URL: 'https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=',\n\n EMAIL_REGEX: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n DEFAULT_AVATAR_URL: 'resources/images/in_page_img/def_avatar.png',\n DEFAULT_PRODUCT_IMAGE: '/resources/images/in_page_img/coming_soon_image_1.jpg',\n EMPTY_SESSION_ID: '00000000-0000-0000-0000-000000000000',\n CHAT_MESSAGES_LIMIT: 5,\n MAXIMUM_CHAT_TEXT_LENGTH: 256,\n CHAT_TIME_LABEL: '[timeUtc]',\n INVITE_LINK: '?t=1/#/invite/',\n\n GENERAL_MILLS_POC: ['pillsbury.com', 'bettycrocker.com', 'tablespoon.com'],\n CART_NAME_DEFAULT_VALUE: 'client.external.custom_cart_name'\n};\n\n/***/ }),\n/* 4 */,\n/* 5 */,\n/* 6 */,\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _angular = __webpack_require__(22);\n\nvar _angular2 = _interopRequireDefault(_angular);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _module = _angular2.default.module('Cartonomy.Shared', ['ngResource']);\n\n_module.config(['$httpProvider', function ($httpProvider) {\n $httpProvider.defaults.headers.common[\"X-Requested-With\"] = 'XMLHttpRequest';\n}]);\n\nexports.default = _module;\n\n/***/ }),\n/* 8 */,\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Utilities\n//\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _class(obj) {\n return Object.prototype.toString.call(obj);\n}\n\nfunction isString(obj) {\n return _class(obj) === '[object String]';\n}\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction has(object, key) {\n return _hasOwnProperty.call(object, key);\n}\n\n// Merge objects\n//\nfunction assign(obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n\n sources.forEach(function (source) {\n if (!source) {\n return;\n }\n\n if ((typeof source === 'undefined' ? 'undefined' : _typeof(source)) !== 'object') {\n throw new TypeError(source + 'must be object');\n }\n\n Object.keys(source).forEach(function (key) {\n obj[key] = source[key];\n });\n });\n\n return obj;\n}\n\n// Remove element from array and put another array at those position.\n// Useful for some operations with tokens\nfunction arrayReplaceAt(src, pos, newElements) {\n return [].concat(src.slice(0, pos), newElements, src.slice(pos + 1));\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction isValidEntityCode(c) {\n /*eslint no-bitwise:0*/\n // broken sequence\n if (c >= 0xD800 && c <= 0xDFFF) {\n return false;\n }\n // never used\n if (c >= 0xFDD0 && c <= 0xFDEF) {\n return false;\n }\n if ((c & 0xFFFF) === 0xFFFF || (c & 0xFFFF) === 0xFFFE) {\n return false;\n }\n // control codes\n if (c >= 0x00 && c <= 0x08) {\n return false;\n }\n if (c === 0x0B) {\n return false;\n }\n if (c >= 0x0E && c <= 0x1F) {\n return false;\n }\n if (c >= 0x7F && c <= 0x9F) {\n return false;\n }\n // out of range\n if (c > 0x10FFFF) {\n return false;\n }\n return true;\n}\n\nfunction fromCodePoint(c) {\n /*eslint no-bitwise:0*/\n if (c > 0xffff) {\n c -= 0x10000;\n var surrogate1 = 0xd800 + (c >> 10),\n surrogate2 = 0xdc00 + (c & 0x3ff);\n\n return String.fromCharCode(surrogate1, surrogate2);\n }\n return String.fromCharCode(c);\n}\n\nvar UNESCAPE_MD_RE = /\\\\([!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~])/g;\nvar ENTITY_RE = /&([a-z#][a-z0-9]{1,31});/gi;\nvar UNESCAPE_ALL_RE = new RegExp(UNESCAPE_MD_RE.source + '|' + ENTITY_RE.source, 'gi');\n\nvar DIGITAL_ENTITY_TEST_RE = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;\n\nvar entities = __webpack_require__(420);\n\nfunction replaceEntityPattern(match, name) {\n var code = 0;\n\n if (has(entities, name)) {\n return entities[name];\n }\n\n if (name.charCodeAt(0) === 0x23 /* # */ && DIGITAL_ENTITY_TEST_RE.test(name)) {\n code = name[1].toLowerCase() === 'x' ? parseInt(name.slice(2), 16) : parseInt(name.slice(1), 10);\n if (isValidEntityCode(code)) {\n return fromCodePoint(code);\n }\n }\n\n return match;\n}\n\n/*function replaceEntities(str) {\n if (str.indexOf('&') < 0) { return str; }\n\n return str.replace(ENTITY_RE, replaceEntityPattern);\n}*/\n\nfunction unescapeMd(str) {\n if (str.indexOf('\\\\') < 0) {\n return str;\n }\n return str.replace(UNESCAPE_MD_RE, '$1');\n}\n\nfunction unescapeAll(str) {\n if (str.indexOf('\\\\') < 0 && str.indexOf('&') < 0) {\n return str;\n }\n\n return str.replace(UNESCAPE_ALL_RE, function (match, escaped, entity) {\n if (escaped) {\n return escaped;\n }\n return replaceEntityPattern(match, entity);\n });\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar HTML_ESCAPE_TEST_RE = /[&<>\"]/;\nvar HTML_ESCAPE_REPLACE_RE = /[&<>\"]/g;\nvar HTML_REPLACEMENTS = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"'\n};\n\nfunction replaceUnsafeChar(ch) {\n return HTML_REPLACEMENTS[ch];\n}\n\nfunction escapeHtml(str) {\n if (HTML_ESCAPE_TEST_RE.test(str)) {\n return str.replace(HTML_ESCAPE_REPLACE_RE, replaceUnsafeChar);\n }\n return str;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar REGEXP_ESCAPE_RE = /[.?*+^$[\\]\\\\(){}|-]/g;\n\nfunction escapeRE(str) {\n return str.replace(REGEXP_ESCAPE_RE, '\\\\$&');\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction isSpace(code) {\n switch (code) {\n case 0x09:\n case 0x20:\n return true;\n }\n return false;\n}\n\n// Zs (unicode class) || [\\t\\f\\v\\r\\n]\nfunction isWhiteSpace(code) {\n if (code >= 0x2000 && code <= 0x200A) {\n return true;\n }\n switch (code) {\n case 0x09: // \\t\n case 0x0A: // \\n\n case 0x0B: // \\v\n case 0x0C: // \\f\n case 0x0D: // \\r\n case 0x20:\n case 0xA0:\n case 0x1680:\n case 0x202F:\n case 0x205F:\n case 0x3000:\n return true;\n }\n return false;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n/*eslint-disable max-len*/\nvar UNICODE_PUNCT_RE = __webpack_require__(113);\n\n// Currently without astral characters support.\nfunction isPunctChar(ch) {\n return UNICODE_PUNCT_RE.test(ch);\n}\n\n// Markdown ASCII punctuation characters.\n//\n// !, \", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \\, ], ^, _, `, {, |, }, or ~\n// http://spec.commonmark.org/0.15/#ascii-punctuation-character\n//\n// Don't confuse with unicode punctuation !!! It lacks some chars in ascii range.\n//\nfunction isMdAsciiPunct(ch) {\n switch (ch) {\n case 0x21 /* ! */:\n case 0x22 /* \" */:\n case 0x23 /* # */:\n case 0x24 /* $ */:\n case 0x25 /* % */:\n case 0x26 /* & */:\n case 0x27 /* ' */:\n case 0x28 /* ( */:\n case 0x29 /* ) */:\n case 0x2A /* * */:\n case 0x2B /* + */:\n case 0x2C /* , */:\n case 0x2D /* - */:\n case 0x2E /* . */:\n case 0x2F /* / */:\n case 0x3A /* : */:\n case 0x3B /* ; */:\n case 0x3C /* < */:\n case 0x3D /* = */:\n case 0x3E /* > */:\n case 0x3F /* ? */:\n case 0x40 /* @ */:\n case 0x5B /* [ */:\n case 0x5C /* \\ */:\n case 0x5D /* ] */:\n case 0x5E /* ^ */:\n case 0x5F /* _ */:\n case 0x60 /* ` */:\n case 0x7B /* { */:\n case 0x7C /* | */:\n case 0x7D /* } */:\n case 0x7E /* ~ */:\n return true;\n default:\n return false;\n }\n}\n\n// Hepler to unify [reference labels].\n//\nfunction normalizeReference(str) {\n // use .toUpperCase() instead of .toLowerCase()\n // here to avoid a conflict with Object.prototype\n // members (most notably, `__proto__`)\n return str.trim().replace(/\\s+/g, ' ').toUpperCase();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n// Re-export libraries commonly used in both markdown-it and its plugins,\n// so plugins won't have to depend on them explicitly, which reduces their\n// bundled size (e.g. a browser build).\n//\nexports.lib = {};\nexports.lib.mdurl = __webpack_require__(421);\nexports.lib.ucmicro = __webpack_require__(710);\n\nexports.assign = assign;\nexports.isString = isString;\nexports.has = has;\nexports.unescapeMd = unescapeMd;\nexports.unescapeAll = unescapeAll;\nexports.isValidEntityCode = isValidEntityCode;\nexports.fromCodePoint = fromCodePoint;\n// exports.replaceEntities = replaceEntities;\nexports.escapeHtml = escapeHtml;\nexports.arrayReplaceAt = arrayReplaceAt;\nexports.isSpace = isSpace;\nexports.isWhiteSpace = isWhiteSpace;\nexports.isMdAsciiPunct = isMdAsciiPunct;\nexports.isPunctChar = isPunctChar;\nexports.escapeRE = escapeRE;\nexports.normalizeReference = normalizeReference;\n\n/***/ }),\n/* 10 */,\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar scopeUtils = {\n apply: function apply($scope, fn) {\n if (!$scope || !$scope.$root) return;\n\n var phase = $scope.$root.$$phase;\n if (phase === '$apply' || phase === '$digest') {\n if (fn && typeof fn === 'function') {\n fn();\n }\n } else {\n $scope.$apply(fn);\n }\n }\n};\n\nexports.default = scopeUtils;\n\n/***/ }),\n/* 12 */,\n/* 13 */,\n/* 14 */,\n/* 15 */,\n/* 16 */,\n/* 17 */,\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _angular = __webpack_require__(22);\n\nvar _angular2 = _interopRequireDefault(_angular);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _angular2.default.module('Cartonomy.Order', []);\n\n/***/ }),\n/* 19 */,\n/* 20 */,\n/* 21 */,\n/* 22 */,\n/* 23 */,\n/* 24 */,\n/* 25 */,\n/* 26 */,\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar commandKeys = exports.commandKeys = {\n checkOutCart: \"CHECK_OUT_CART\",\n userLoggedIn: \"USER_LOGGED_IN\",\n checkCartItems: \"CHECK_CART_ITEMS\",\n clearCartItems: \"CLEAR_CART_ITEMS\",\n addProductToCart: \"ADD_PRODUCT_TO_CART\",\n removeAddToCartButton: \"REMOVE_ADD_TO_CART_BUTTON\",\n enableAddToCartButton: \"ENABLE_ADD_TO_CART_BUTTON\",\n windowStateChange: \"WIDGET_WINDOW_STATE_CHANGE\",\n checkoutCart: \"CHECKOUT_CART_ITEMS\",\n addToCartButtonDetected: \"ADD_TO_CART_BUTTON_DETECTED\",\n widgetInitialized: \"WIDGET_INITIALIZATION_FINISHED\",\n removeHashKey: \"REMOVE_HASH_KEY\",\n updateMyCartButtonText: \"UPDATE_MY_CART_BUTTON_TEXT\",\n createNewGroupOrder: \"CREATE_NEW_GROUP_ORDER\",\n invitationAccepted: \"INVITATION_ACCEPTED\",\n checkProductCartCapability: \"CHECK_PRODUCT_CART_CAPABILITY\",\n moneyFormatChange: \"MONEY_FORMAT_CHANGE\",\n getLocation: \"GET_LOCATION\",\n getTranslations: \"GET_TRANSLATION\"\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CommunicationService = exports.CommunicationService = function () {\n function CommunicationService() {\n _classCallCheck(this, CommunicationService);\n }\n\n _createClass(CommunicationService, [{\n key: 'setWidgetTarget',\n value: function setWidgetTarget(widgetTarget) {\n this.widgetTarget = widgetTarget;\n this._tryAttemps = 0;\n }\n }, {\n key: 'requestToParent',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(command, data) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt('return', new Promise(function (resolve, reject) {\n var responseMessageId = 'ResponseToCommand_' + command + '_' + new Date().getTime();\n var onResponseReceive = function onResponseReceive(event) {\n if (event.data.action === responseMessageId) {\n delete event.data.action;\n resolve(event.data);\n window.removeEventListener('message', onResponseReceive);\n }\n };\n\n window.addEventListener('message', onResponseReceive);\n\n window.parent.postMessage({\n action: command,\n responseCommand: responseMessageId,\n data: data\n }, '*');\n }));\n\n case 1:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function requestToParent(_x, _x2) {\n return _ref.apply(this, arguments);\n }\n\n return requestToParent;\n }()\n }, {\n key: 'requestToWidget',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(command, data) {\n var _this = this;\n\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (this.widgetTarget) {\n _context2.next = 8;\n break;\n }\n\n if (!(this._tryAttemps >= 3)) {\n _context2.next = 6;\n break;\n }\n\n this._tryAttemps = 0;\n return _context2.abrupt('return');\n\n case 6:\n this._tryAttemps++;\n setTimeout(function () {\n return _this.requestToWidget(command, data);\n }, 500);\n\n case 8:\n return _context2.abrupt('return', new Promise(function (resolve, reject) {\n var responseMessageId = 'ResponseToCommand_' + command + '_' + new Date().getTime();\n var onResponseReceive = function onResponseReceive(event) {\n if (event.data.action === responseMessageId) {\n delete event.data.action;\n resolve(event.data);\n window.removeEventListener('message', onResponseReceive);\n }\n };\n\n window.addEventListener('message', onResponseReceive);\n\n _this.widgetTarget.contentWindow.postMessage({\n action: command,\n responseCommand: responseMessageId,\n data: data\n }, '*');\n }));\n\n case 9:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function requestToWidget(_x3, _x4) {\n return _ref2.apply(this, arguments);\n }\n\n return requestToWidget;\n }()\n }], [{\n key: 'getInstance',\n value: function getInstance() {\n return CommunicationService._instance || (CommunicationService._instance = new CommunicationService());\n }\n }]);\n\n return CommunicationService;\n}();\n\nCommunicationService._instance = null;\nvar communicationService = exports.communicationService = CommunicationService.getInstance();\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.utils = undefined;\n\nvar _translateJs = __webpack_require__(655);\n\nvar _translateJs2 = _interopRequireDefault(_translateJs);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar localStorageCartonomyHashKey = 'cartonomy_shopify_url_hash';\n\nvar utils = exports.utils = {\n $: null,\n localStorageCartonomyHashKey: localStorageCartonomyHashKey,\n isIOS: /ios|iphone|android/gi.test(navigator.userAgent),\n isIOSMobile: /ios|iphone/gi.test(navigator.userAgent),\n bodyDOM: null,\n headDOM: null,\n cartonomyBaseUrl: '//apppartner1.cartonomy.com',\n cartonomyApiUrl: 'https://apipartner1.cartonomy.com/api/',\n retailerShop: '',\n hash: decodeURIComponent(window.location.hash) || window.localStorage.getItem(localStorageCartonomyHashKey) || '',\n cartonomyOpenIndicatorName: 'cartonomy-opened',\n addToGroupCartButtonId: 'AddToGroupCart',\n possibleProductVariantSelector: [],\n possibleProductQuantitySelector: [],\n ignoreTriggerCloseSelector: [],\n localStorageAddCartBtnTextKey: 'cartonomy_group_shopping_button_text',\n myGroupOrdertButtonText: 'client.button.my_group_order',\n addToCartButtonText: 'client.button.add_to_new_order',\n addToMyCartButtonText: 'client.button.add_to_my_cart',\n addToMyGroupButtonText: 'client.button.add_to_my_group',\n customCartnameValue: 'client.external.custom_cart_name',\n externalStoreWindowTitle: 'client.external.external_store_title',\n originalWidget: {\n width: null,\n height: null\n },\n customAvatarText: '',\n moneyFormat: '',\n isInvitingMode: function isInvitingMode() {\n return this.hash.toLowerCase().indexOf('invite/') > -1;\n },\n isOauthCallbackMode: function isOauthCallbackMode() {\n return this.hash.toLowerCase().indexOf('auth_token') > -1;\n },\n isShowedCartonomyOnPages: function isShowedCartonomyOnPages() {\n //Apply for Shopify\n return window.location.href.indexOf('/collections/') > -1 || window.location.href.indexOf('/products/') > -1;\n },\n isAlwaysShowCartonomy: function isAlwaysShowCartonomy() {\n return window.location.hash.indexOf('/invite/') > -1 || window.location.pathname === '/';\n },\n toPossessiveString: function toPossessiveString(name) {\n return (0, _translateJs2.default)('client.possessive_name', { name: name });\n },\n compileMyCartButtonText: function compileMyCartButtonText(value) {\n var shouldTranslate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (!value) return shouldTranslate ? (0, _translateJs2.default)(this.addToMyCartButtonText) : this.addToMyCartButtonText;\n\n return shouldTranslate ? (0, _translateJs2.default)('client.button.add_to', { user: (0, _translateJs2.default)(value) }) : 'client.button.add_to';\n },\n findClosest: function findClosest(selector, fromChild) {\n var parent = fromChild.parent();\n while (parent) {\n if (parent.is('body')) return null;\n\n if (parent.is(selector)) return parent;\n\n parent = parent.parent();\n }\n\n return null;\n },\n checkIfIE: function checkIfIE() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf(\"Trident\");\n\n return msie > 0;\n }\n};\n\n/***/ }),\n/* 30 */,\n/* 31 */,\n/* 32 */,\n/* 33 */,\n/* 34 */,\n/* 35 */,\n/* 36 */,\n/* 37 */,\n/* 38 */,\n/* 39 */,\n/* 40 */,\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Merge two attribute objects giving precedence\n * to values in object `b`. Classes are special-cased\n * allowing for arrays and merging/joining appropriately\n * resulting in a string.\n *\n * @param {Object} a\n * @param {Object} b\n * @return {Object} a\n * @api private\n */\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.merge = function merge(a, b) {\n if (arguments.length === 1) {\n var attrs = a[0];\n for (var i = 1; i < a.length; i++) {\n attrs = merge(attrs, a[i]);\n }\n return attrs;\n }\n var ac = a['class'];\n var bc = b['class'];\n\n if (ac || bc) {\n ac = ac || [];\n bc = bc || [];\n if (!Array.isArray(ac)) ac = [ac];\n if (!Array.isArray(bc)) bc = [bc];\n a['class'] = ac.concat(bc).filter(nulls);\n }\n\n for (var key in b) {\n if (key != 'class') {\n a[key] = b[key];\n }\n }\n\n return a;\n};\n\n/**\n * Filter null `val`s.\n *\n * @param {*} val\n * @return {Boolean}\n * @api private\n */\n\nfunction nulls(val) {\n return val != null && val !== '';\n}\n\n/**\n * join array as classes.\n *\n * @param {*} val\n * @return {String}\n */\nexports.joinClasses = joinClasses;\nfunction joinClasses(val) {\n return (Array.isArray(val) ? val.map(joinClasses) : val && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' ? Object.keys(val).filter(function (key) {\n return val[key];\n }) : [val]).filter(nulls).join(' ');\n}\n\n/**\n * Render the given classes.\n *\n * @param {Array} classes\n * @param {Array.} escaped\n * @return {String}\n */\nexports.cls = function cls(classes, escaped) {\n var buf = [];\n for (var i = 0; i < classes.length; i++) {\n if (escaped && escaped[i]) {\n buf.push(exports.escape(joinClasses([classes[i]])));\n } else {\n buf.push(joinClasses(classes[i]));\n }\n }\n var text = joinClasses(buf);\n if (text.length) {\n return ' class=\"' + text + '\"';\n } else {\n return '';\n }\n};\n\nexports.style = function (val) {\n if (val && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object') {\n return Object.keys(val).map(function (style) {\n return style + ':' + val[style];\n }).join(';');\n } else {\n return val;\n }\n};\n/**\n * Render the given attribute.\n *\n * @param {String} key\n * @param {String} val\n * @param {Boolean} escaped\n * @param {Boolean} terse\n * @return {String}\n */\nexports.attr = function attr(key, val, escaped, terse) {\n if (key === 'style') {\n val = exports.style(val);\n }\n if ('boolean' == typeof val || null == val) {\n if (val) {\n return ' ' + (terse ? key : key + '=\"' + key + '\"');\n } else {\n return '';\n }\n } else if (0 == key.indexOf('data') && 'string' != typeof val) {\n if (JSON.stringify(val).indexOf('&') !== -1) {\n console.warn('Since Jade 2.0.0, ampersands (`&`) in data attributes ' + 'will be escaped to `&`');\n };\n if (val && typeof val.toISOString === 'function') {\n console.warn('Jade will eliminate the double quotes around dates in ' + 'ISO form after 2.0.0');\n }\n return ' ' + key + \"='\" + JSON.stringify(val).replace(/'/g, ''') + \"'\";\n } else if (escaped) {\n if (val && typeof val.toISOString === 'function') {\n console.warn('Jade will stringify dates in ISO form after 2.0.0');\n }\n return ' ' + key + '=\"' + exports.escape(val) + '\"';\n } else {\n if (val && typeof val.toISOString === 'function') {\n console.warn('Jade will stringify dates in ISO form after 2.0.0');\n }\n return ' ' + key + '=\"' + val + '\"';\n }\n};\n\n/**\n * Render the given attributes object.\n *\n * @param {Object} obj\n * @param {Object} escaped\n * @return {String}\n */\nexports.attrs = function attrs(obj, terse) {\n var buf = [];\n\n var keys = Object.keys(obj);\n\n if (keys.length) {\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i],\n val = obj[key];\n\n if ('class' == key) {\n if (val = joinClasses(val)) {\n buf.push(' ' + key + '=\"' + val + '\"');\n }\n } else {\n buf.push(exports.attr(key, val, false, terse));\n }\n }\n }\n\n return buf.join('');\n};\n\n/**\n * Escape the given string of `html`.\n *\n * @param {String} html\n * @return {String}\n * @api private\n */\n\nvar jade_encode_html_rules = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"'\n};\nvar jade_match_html = /[&<>\"]/g;\n\nfunction jade_encode_char(c) {\n return jade_encode_html_rules[c] || c;\n}\n\nexports.escape = jade_escape;\nfunction jade_escape(html) {\n var result = String(html).replace(jade_match_html, jade_encode_char);\n if (result === '' + html) return html;else return result;\n};\n\n/**\n * Re-throw the given `err` in context to the\n * the jade in `filename` at the given `lineno`.\n *\n * @param {Error} err\n * @param {String} filename\n * @param {String} lineno\n * @api private\n */\n\nexports.rethrow = function rethrow(err, filename, lineno, str) {\n if (!(err instanceof Error)) throw err;\n if ((typeof window != 'undefined' || !filename) && !str) {\n err.message += ' on line ' + lineno;\n throw err;\n }\n try {\n str = str || __webpack_require__(651).readFileSync(filename, 'utf8');\n } catch (ex) {\n rethrow(err, null, lineno);\n }\n var context = 3,\n lines = str.split('\\n'),\n start = Math.max(lineno - context, 0),\n end = Math.min(lines.length, lineno + context);\n\n // Error context\n var context = lines.slice(start, end).map(function (line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? ' > ' : ' ') + curr + '| ' + line;\n }).join('\\n');\n\n // Alter exception message\n err.path = filename;\n err.message = (filename || 'Jade') + ':' + lineno + '\\n' + context + '\\n\\n' + err.message;\n throw err;\n};\n\nexports.DebugItem = function DebugItem(lineno, filename) {\n this.lineno = lineno;\n this.filename = filename;\n};\n\n/***/ }),\n/* 42 */,\n/* 43 */,\n/* 44 */,\n/* 45 */,\n/* 46 */,\n/* 47 */,\n/* 48 */,\n/* 49 */,\n/* 50 */,\n/* 51 */,\n/* 52 */,\n/* 53 */,\n/* 54 */,\n/* 55 */,\n/* 56 */,\n/* 57 */,\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _angular = __webpack_require__(22);\n\nvar _angular2 = _interopRequireDefault(_angular);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _angular2.default.module('Cartonomy.Profile', []);\n\n/***/ }),\n/* 59 */,\n/* 60 */,\n/* 61 */,\n/* 62 */,\n/* 63 */,\n/* 64 */,\n/* 65 */,\n/* 66 */,\n/* 67 */,\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _angular = __webpack_require__(22);\n\nvar _angular2 = _interopRequireDefault(_angular);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _angular2.default.module('Cartonomy.Cart', []);\n\n/***/ }),\n/* 69 */,\n/* 70 */,\n/* 71 */,\n/* 72 */,\n/* 73 */,\n/* 74 */,\n/* 75 */,\n/* 76 */,\n/* 77 */,\n/* 78 */,\n/* 79 */,\n/* 80 */,\n/* 81 */,\n/* 82 */,\n/* 83 */,\n/* 84 */,\n/* 85 */,\n/* 86 */,\n/* 87 */,\n/* 88 */,\n/* 89 */,\n/* 90 */,\n/* 91 */,\n/* 92 */,\n/* 93 */,\n/* 94 */,\n/* 95 */,\n/* 96 */,\n/* 97 */,\n/* 98 */,\n/* 99 */,\n/* 100 */,\n/* 101 */,\n/* 102 */,\n/* 103 */,\n/* 104 */,\n/* 105 */,\n/* 106 */,\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */,\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = /[!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4E\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD803[\\uDF55-\\uDF59]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD806[\\uDC3B\\uDE3F-\\uDE46\\uDE9A-\\uDE9C\\uDE9E-\\uDEA2]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71\\uDEF7\\uDEF8]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD81B[\\uDE97-\\uDE9A]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]/;\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * class Ruler\n *\n * Helper class, used by [[MarkdownIt#core]], [[MarkdownIt#block]] and\n * [[MarkdownIt#inline]] to manage sequences of functions (rules):\n *\n * - keep rules in defined order\n * - assign the name to each rule\n * - enable/disable rules\n * - add/replace rules\n * - allow assign rules to additional named chains (in the same)\n * - cacheing lists of active rules\n *\n * You will not need use this class directly until write plugins. For simple\n * rules control use [[MarkdownIt.disable]], [[MarkdownIt.enable]] and\n * [[MarkdownIt.use]].\n **/\n\n\n/**\n * new Ruler()\n **/\n\nfunction Ruler() {\n // List of added rules. Each element is:\n //\n // {\n // name: XXX,\n // enabled: Boolean,\n // fn: Function(),\n // alt: [ name2, name3 ]\n // }\n //\n this.__rules__ = [];\n\n // Cached rule chains.\n //\n // First level - chain name, '' for default.\n // Second level - diginal anchor for fast filtering by charcodes.\n //\n this.__cache__ = null;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Helper methods, should not be used directly\n\n\n// Find rule index by name\n//\nRuler.prototype.__find__ = function (name) {\n for (var i = 0; i < this.__rules__.length; i++) {\n if (this.__rules__[i].name === name) {\n return i;\n }\n }\n return -1;\n};\n\n// Build rules lookup cache\n//\nRuler.prototype.__compile__ = function () {\n var self = this;\n var chains = [''];\n\n // collect unique names\n self.__rules__.forEach(function (rule) {\n if (!rule.enabled) {\n return;\n }\n\n rule.alt.forEach(function (altName) {\n if (chains.indexOf(altName) < 0) {\n chains.push(altName);\n }\n });\n });\n\n self.__cache__ = {};\n\n chains.forEach(function (chain) {\n self.__cache__[chain] = [];\n self.__rules__.forEach(function (rule) {\n if (!rule.enabled) {\n return;\n }\n\n if (chain && rule.alt.indexOf(chain) < 0) {\n return;\n }\n\n self.__cache__[chain].push(rule.fn);\n });\n });\n};\n\n/**\n * Ruler.at(name, fn [, options])\n * - name (String): rule name to replace.\n * - fn (Function): new rule function.\n * - options (Object): new rule options (not mandatory).\n *\n * Replace rule by name with new function & options. Throws error if name not\n * found.\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * Replace existing typographer replacement rule with new one:\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.core.ruler.at('replacements', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.at = function (name, fn, options) {\n var index = this.__find__(name);\n var opt = options || {};\n\n if (index === -1) {\n throw new Error('Parser rule not found: ' + name);\n }\n\n this.__rules__[index].fn = fn;\n this.__rules__[index].alt = opt.alt || [];\n this.__cache__ = null;\n};\n\n/**\n * Ruler.before(beforeName, ruleName, fn [, options])\n * - beforeName (String): new rule will be added before this one.\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Add new rule to chain before one with given name. See also\n * [[Ruler.after]], [[Ruler.push]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.block.ruler.before('paragraph', 'my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.before = function (beforeName, ruleName, fn, options) {\n var index = this.__find__(beforeName);\n var opt = options || {};\n\n if (index === -1) {\n throw new Error('Parser rule not found: ' + beforeName);\n }\n\n this.__rules__.splice(index, 0, {\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n/**\n * Ruler.after(afterName, ruleName, fn [, options])\n * - afterName (String): new rule will be added after this one.\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Add new rule to chain after one with given name. See also\n * [[Ruler.before]], [[Ruler.push]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.inline.ruler.after('text', 'my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.after = function (afterName, ruleName, fn, options) {\n var index = this.__find__(afterName);\n var opt = options || {};\n\n if (index === -1) {\n throw new Error('Parser rule not found: ' + afterName);\n }\n\n this.__rules__.splice(index + 1, 0, {\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n/**\n * Ruler.push(ruleName, fn [, options])\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Push new rule to the end of chain. See also\n * [[Ruler.before]], [[Ruler.after]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.core.ruler.push('my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.push = function (ruleName, fn, options) {\n var opt = options || {};\n\n this.__rules__.push({\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n/**\n * Ruler.enable(list [, ignoreInvalid]) -> Array\n * - list (String|Array): list of rule names to enable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable rules with given names. If any rule name not found - throw Error.\n * Errors can be disabled by second param.\n *\n * Returns list of found rule names (if no exception happened).\n *\n * See also [[Ruler.disable]], [[Ruler.enableOnly]].\n **/\nRuler.prototype.enable = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) {\n list = [list];\n }\n\n var result = [];\n\n // Search by name and enable\n list.forEach(function (name) {\n var idx = this.__find__(name);\n\n if (idx < 0) {\n if (ignoreInvalid) {\n return;\n }\n throw new Error('Rules manager: invalid rule name ' + name);\n }\n this.__rules__[idx].enabled = true;\n result.push(name);\n }, this);\n\n this.__cache__ = null;\n return result;\n};\n\n/**\n * Ruler.enableOnly(list [, ignoreInvalid])\n * - list (String|Array): list of rule names to enable (whitelist).\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable rules with given names, and disable everything else. If any rule name\n * not found - throw Error. Errors can be disabled by second param.\n *\n * See also [[Ruler.disable]], [[Ruler.enable]].\n **/\nRuler.prototype.enableOnly = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) {\n list = [list];\n }\n\n this.__rules__.forEach(function (rule) {\n rule.enabled = false;\n });\n\n this.enable(list, ignoreInvalid);\n};\n\n/**\n * Ruler.disable(list [, ignoreInvalid]) -> Array\n * - list (String|Array): list of rule names to disable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Disable rules with given names. If any rule name not found - throw Error.\n * Errors can be disabled by second param.\n *\n * Returns list of found rule names (if no exception happened).\n *\n * See also [[Ruler.enable]], [[Ruler.enableOnly]].\n **/\nRuler.prototype.disable = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) {\n list = [list];\n }\n\n var result = [];\n\n // Search by name and disable\n list.forEach(function (name) {\n var idx = this.__find__(name);\n\n if (idx < 0) {\n if (ignoreInvalid) {\n return;\n }\n throw new Error('Rules manager: invalid rule name ' + name);\n }\n this.__rules__[idx].enabled = false;\n result.push(name);\n }, this);\n\n this.__cache__ = null;\n return result;\n};\n\n/**\n * Ruler.getRules(chainName) -> Array\n *\n * Return array of active functions (rules) for given chain name. It analyzes\n * rules configuration, compiles caches if not exists and returns result.\n *\n * Default chain name is `''` (empty string). It can't be skipped. That's\n * done intentionally, to keep signature monomorphic for high speed.\n **/\nRuler.prototype.getRules = function (chainName) {\n if (this.__cache__ === null) {\n this.__compile__();\n }\n\n // Chain can be empty, if rules disabled. But we still have to return Array.\n return this.__cache__[chainName] || [];\n};\n\nmodule.exports = Ruler;\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Token class\n\n\n\n/**\n * class Token\n **/\n\n/**\n * new Token(type, tag, nesting)\n *\n * Create new token and fill passed properties.\n **/\n\nfunction Token(type, tag, nesting) {\n /**\n * Token#type -> String\n *\n * Type of the token (string, e.g. \"paragraph_open\")\n **/\n this.type = type;\n\n /**\n * Token#tag -> String\n *\n * html tag name, e.g. \"p\"\n **/\n this.tag = tag;\n\n /**\n * Token#attrs -> Array\n *\n * Html attributes. Format: `[ [ name1, value1 ], [ name2, value2 ] ]`\n **/\n this.attrs = null;\n\n /**\n * Token#map -> Array\n *\n * Source map info. Format: `[ line_begin, line_end ]`\n **/\n this.map = null;\n\n /**\n * Token#nesting -> Number\n *\n * Level change (number in {-1, 0, 1} set), where:\n *\n * - `1` means the tag is opening\n * - `0` means the tag is self-closing\n * - `-1` means the tag is closing\n **/\n this.nesting = nesting;\n\n /**\n * Token#level -> Number\n *\n * nesting level, the same as `state.level`\n **/\n this.level = 0;\n\n /**\n * Token#children -> Array\n *\n * An array of child nodes (inline and img tokens)\n **/\n this.children = null;\n\n /**\n * Token#content -> String\n *\n * In a case of self-closing tag (code, html, fence, etc.),\n * it has contents of this tag.\n **/\n this.content = '';\n\n /**\n * Token#markup -> String\n *\n * '*' or '_' for emphasis, fence string for fence, etc.\n **/\n this.markup = '';\n\n /**\n * Token#info -> String\n *\n * fence infostring\n **/\n this.info = '';\n\n /**\n * Token#meta -> Object\n *\n * A place for plugins to store an arbitrary data\n **/\n this.meta = null;\n\n /**\n * Token#block -> Boolean\n *\n * True for block-level tokens, false for inline tokens.\n * Used in renderer to calculate line breaks\n **/\n this.block = false;\n\n /**\n * Token#hidden -> Boolean\n *\n * If it's true, ignore this element when rendering. Used for tight lists\n * to hide paragraphs.\n **/\n this.hidden = false;\n}\n\n/**\n * Token.attrIndex(name) -> Number\n *\n * Search attribute index by name.\n **/\nToken.prototype.attrIndex = function attrIndex(name) {\n var attrs, i, len;\n\n if (!this.attrs) {\n return -1;\n }\n\n attrs = this.attrs;\n\n for (i = 0, len = attrs.length; i < len; i++) {\n if (attrs[i][0] === name) {\n return i;\n }\n }\n return -1;\n};\n\n/**\n * Token.attrPush(attrData)\n *\n * Add `[ name, value ]` attribute to list. Init attrs if necessary\n **/\nToken.prototype.attrPush = function attrPush(attrData) {\n if (this.attrs) {\n this.attrs.push(attrData);\n } else {\n this.attrs = [attrData];\n }\n};\n\n/**\n * Token.attrSet(name, value)\n *\n * Set `name` attribute to `value`. Override old value if exists.\n **/\nToken.prototype.attrSet = function attrSet(name, value) {\n var idx = this.attrIndex(name),\n attrData = [name, value];\n\n if (idx < 0) {\n this.attrPush(attrData);\n } else {\n this.attrs[idx] = attrData;\n }\n};\n\n/**\n * Token.attrGet(name)\n *\n * Get the value of attribute `name`, or null if it does not exist.\n **/\nToken.prototype.attrGet = function attrGet(name) {\n var idx = this.attrIndex(name),\n value = null;\n if (idx >= 0) {\n value = this.attrs[idx][1];\n }\n return value;\n};\n\n/**\n * Token.attrJoin(name, value)\n *\n * Join value to existing attribute via space. Or create new attribute if not\n * exists. Useful to operate with token classes.\n **/\nToken.prototype.attrJoin = function attrJoin(name, value) {\n var idx = this.attrIndex(name);\n\n if (idx < 0) {\n this.attrPush([name, value]);\n } else {\n this.attrs[idx][1] = this.attrs[idx][1] + ' ' + value;\n }\n};\n\nmodule.exports = Token;\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _angular = __webpack_require__(22);\n\nvar _angular2 = _interopRequireDefault(_angular);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _angular2.default.module('Cartonomy.Catalog', []);\n\n/***/ }),\n/* 117 */,\n/* 118 */,\n/* 119 */,\n/* 120 */,\n/* 121 */,\n/* 122 */,\n/* 123 */,\n/* 124 */,\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */,\n/* 135 */,\n/* 136 */,\n/* 137 */,\n/* 138 */,\n/* 139 */,\n/* 140 */,\n/* 141 */,\n/* 142 */,\n/* 143 */,\n/* 144 */,\n/* 145 */,\n/* 146 */,\n/* 147 */,\n/* 148 */,\n/* 149 */,\n/* 150 */,\n/* 151 */,\n/* 152 */,\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */,\n/* 313 */,\n/* 314 */,\n/* 315 */,\n/* 316 */,\n/* 317 */,\n/* 318 */,\n/* 319 */,\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */,\n/* 326 */,\n/* 327 */,\n/* 328 */,\n/* 329 */,\n/* 330 */,\n/* 331 */,\n/* 332 */,\n/* 333 */,\n/* 334 */,\n/* 335 */,\n/* 336 */,\n/* 337 */,\n/* 338 */,\n/* 339 */,\n/* 340 */,\n/* 341 */,\n/* 342 */,\n/* 343 */,\n/* 344 */,\n/* 345 */,\n/* 346 */,\n/* 347 */,\n/* 348 */,\n/* 349 */,\n/* 350 */,\n/* 351 */,\n/* 352 */,\n/* 353 */,\n/* 354 */,\n/* 355 */,\n/* 356 */,\n/* 357 */,\n/* 358 */,\n/* 359 */,\n/* 360 */,\n/* 361 */,\n/* 362 */,\n/* 363 */,\n/* 364 */,\n/* 365 */,\n/* 366 */,\n/* 367 */,\n/* 368 */,\n/* 369 */,\n/* 370 */,\n/* 371 */,\n/* 372 */,\n/* 373 */,\n/* 374 */,\n/* 375 */,\n/* 376 */,\n/* 377 */,\n/* 378 */,\n/* 379 */,\n/* 380 */,\n/* 381 */,\n/* 382 */,\n/* 383 */,\n/* 384 */,\n/* 385 */,\n/* 386 */,\n/* 387 */,\n/* 388 */,\n/* 389 */,\n/* 390 */,\n/* 391 */,\n/* 392 */,\n/* 393 */,\n/* 394 */,\n/* 395 */,\n/* 396 */,\n/* 397 */,\n/* 398 */,\n/* 399 */,\n/* 400 */,\n/* 401 */,\n/* 402 */,\n/* 403 */,\n/* 404 */,\n/* 405 */,\n/* 406 */,\n/* 407 */,\n/* 408 */,\n/* 409 */,\n/* 410 */,\n/* 411 */,\n/* 412 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _cartonomy_config = __webpack_require__(413);\n\nvar _cartonomy_config2 = _interopRequireDefault(_cartonomy_config);\n\nvar _index = __webpack_require__(646);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _index3 = __webpack_require__(652);\n\nvar _index4 = _interopRequireDefault(_index3);\n\nvar _index5 = __webpack_require__(770);\n\nvar _index6 = _interopRequireDefault(_index5);\n\nvar _index7 = __webpack_require__(788);\n\nvar _index8 = _interopRequireDefault(_index7);\n\nvar _index9 = __webpack_require__(814);\n\nvar _index10 = _interopRequireDefault(_index9);\n\nvar _index11 = __webpack_require__(824);\n\nvar _index12 = _interopRequireDefault(_index11);\n\nvar _angular = __webpack_require__(22);\n\nvar _angular2 = _interopRequireDefault(_angular);\n\nvar _angularAnimate = __webpack_require__(85);\n\nvar _angularAnimate2 = _interopRequireDefault(_angularAnimate);\n\nvar _angularCookies = __webpack_require__(118);\n\nvar _angularCookies2 = _interopRequireDefault(_angularCookies);\n\nvar _angularMaterial = __webpack_require__(119);\n\nvar _angularMaterial2 = _interopRequireDefault(_angularMaterial);\n\nvar _angularMessages = __webpack_require__(120);\n\nvar _angularMessages2 = _interopRequireDefault(_angularMessages);\n\nvar _angularMoment = __webpack_require__(121);\n\nvar _angularMoment2 = _interopRequireDefault(_angularMoment);\n\nvar _angularResource = __webpack_require__(237);\n\nvar _angularResource2 = _interopRequireDefault(_angularResource);\n\nvar _angularSanitize = __webpack_require__(836);\n\nvar _angularSanitize2 = _interopRequireDefault(_angularSanitize);\n\nvar _angularUiRouter = __webpack_require__(238);\n\nvar _angularUiRouter2 = _interopRequireDefault(_angularUiRouter);\n\nvar _angularUiMask = __webpack_require__(239);\n\nvar _angularUiMask2 = _interopRequireDefault(_angularUiMask);\n\nvar _angularMarked = __webpack_require__(838);\n\nvar _angularMarked2 = _interopRequireDefault(_angularMarked);\n\nvar _angularSmartTable = __webpack_require__(841);\n\nvar _angularSmartTable2 = _interopRequireDefault(_angularSmartTable);\n\nvar _ngMaterialDatetimepicker = __webpack_require__(240);\n\nvar _ngMaterialDatetimepicker2 = _interopRequireDefault(_ngMaterialDatetimepicker);\n\nvar _angularTranslate = __webpack_require__(843);\n\nvar _angularTranslate2 = _interopRequireDefault(_angularTranslate);\n\nvar _angularTranslateLoaderUrl = __webpack_require__(844);\n\nvar _angularTranslateLoaderUrl2 = _interopRequireDefault(_angularTranslateLoaderUrl);\n\nvar _angularSignalrHub = __webpack_require__(845);\n\nvar _angularSignalrHub2 = _interopRequireDefault(_angularSignalrHub);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar dependencies = [_angularResource2.default, _angularCookies2.default, _angularMaterial2.default, _angularSmartTable2.default, _angularMessages2.default, _angularMoment2.default, _angularAnimate2.default, _angularSanitize2.default, _angularUiRouter2.default, _angularUiMask2.default, _angularMarked2.default, _angularSignalrHub2.default.name, _ngMaterialDatetimepicker2.default, _angularTranslate2.default, _angularTranslateLoaderUrl2.default,\n\n// application modules\n_index2.default, _index4.default, _index6.default, _index12.default, _index8.default, _index10.default];\n\nvar _module = _angular2.default.module('Cartonomy', dependencies);\n_module.config(['$mdThemingProvider', 'uiMask.ConfigProvider', '$qProvider', '$translateProvider', function (themingProvider, uiMaskConfigProvider, $qProvider, $translateProvider) {\n themingProvider.theme('default').primaryPalette('blue').accentPalette('grey');\n uiMaskConfigProvider.maskDefinitions({ '9': /\\d/, 'A': /[a-zA-Z]/, '*': /[a-zA-Z0-9]/, '2': /[2-9]/ });\n uiMaskConfigProvider.clearOnBlur(false);\n uiMaskConfigProvider.eventsToHandle(['input', 'keyup', 'click']);\n\n $qProvider.errorOnUnhandledRejections(false);\n\n $translateProvider.useUrlLoader(_cartonomy_config2.default.backendEndPoint + '/api/locales');\n $translateProvider.preferredLanguage('default');\n}]);\n\n_module.constant('cartonomyConfig', _cartonomy_config2.default);\n\nexports.default = _module;\n\n/***/ }),\n/* 413 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction getPageParam(name) {\n if (name = new RegExp('[?&]' + encodeURIComponent(name) + '=([^&]*)').exec(location.search)) return decodeURIComponent(name[1]);\n}\n\nvar shopName = getPageParam(\"shop\");\n\n// TODO: this line should be removed in production\nvar url = window.CARTONOMY_API_URL || 'https://apipartner1.cartonomy.com/api/';\n\nvar backendEndPoint = url.substr(0, url.lastIndexOf('/api'));\n\nvar cartonomyConfig = {\n backendEndPoint: backendEndPoint,\n ApiV1: url + 'v1/',\n ApiV2: url + 'v2/',\n version: '4.4.21',\n buildTime: '2023-10-25T09:24:53.841Z',\n externalStoreMode: window.EXTERNAL_STORE_MODE || false,\n externalStoreUrl: shopName,\n getPageParam: getPageParam\n};\n\nexports.default = cartonomyConfig;\n\n/***/ }),\n/* 414 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ExternalStoreHandler = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _IdleDetectingService = __webpack_require__(415);\n\nvar _commandKeys = __webpack_require__(27);\n\nvar _commandHandlerService = __webpack_require__(416);\n\nvar _communicationService = __webpack_require__(28);\n\nvar _utils = __webpack_require__(29);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ExternalStoreHandler = exports.ExternalStoreHandler = function () {\n function ExternalStoreHandler(scope, rootScope, timeoutService, authenticationService, sessionService, cartService, groupOrderService, orderSetupService, stateService, messageService, localForageService, heapService, $translate) {\n var _this = this;\n\n _classCallCheck(this, ExternalStoreHandler);\n\n this._scope = scope;\n this._rootScope = rootScope;\n this._cartService = cartService;\n this._groupOrderService = groupOrderService;\n this._stateService = stateService;\n this._sessionService = sessionService;\n //this._sessionStorageService = sessionStorageService;\n this._localForageService = localForageService;\n this._messageService = messageService;\n this._orderSetupService = orderSetupService;\n this._scope.needAddItem = false;\n this._authenticationService = authenticationService;\n this._heapService = heapService;\n this.timeoutService = timeoutService;\n this.$translate = $translate;\n\n this._scope.variantId = null;\n this._scope.quantity = null;\n this.isMobile = /iphone|android/gi.test(navigator.userAgent);\n\n this.idleTimeBeforeRefreshing = this.isMobile ? 5 : 15; // minutes\n\n this._scope.$on(_CommonConstants2.default.Events.ORDER_CREATED, _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt('return', _this._onOrderSetupFinished());\n\n case 1:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n })));\n this._scope.$on(_CommonConstants2.default.Events.ORDER_CANCELLED, _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt('return', _this._onOrderCancelled());\n\n case 1:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this);\n })));\n this._scope.$on(_CommonConstants2.default.Events.LEFT_ORDER, _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt('return', _this._onParticipantLeftOrder());\n\n case 1:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, _this);\n })));\n\n this._scope.$on(_CommonConstants2.default.Events.USER_LOGGED_IN, function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(scope, registration) {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt('return', _this._onUserLoggedIn(registration));\n\n case 1:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, _this);\n }));\n\n return function (_x, _x2) {\n return _ref4.apply(this, arguments);\n };\n }());\n this._scope.$on(_CommonConstants2.default.Events.USER_LOGGED_OUT, function () {\n return _this._onUserLoggedOut();\n });\n this._scope.$on(_CommonConstants2.default.Events.INVITATION_ACCEPTED, function () {\n return _this._onInvitationAccepted();\n });\n this._scope.$on(_CommonConstants2.default.Events.CART_ITEMS_CHANGED, function () {\n return _this._onProductItemsChanged();\n });\n this._scope.$on(_CommonConstants2.default.RootEvents.USER_PROFILE_UPDATED, function () {\n return _this._onUserProfileChanged();\n });\n this._scope.$on(_CommonConstants2.default.Events.EXTERNAL_PRODUCT_DETAIL_REQUESTED, function (scope, shopifyProductUrl) {\n return _this._onProductDetailRequested(shopifyProductUrl);\n });\n this._scope.$on(_CommonConstants2.default.Events.ORDER_CANCELLED_BY_OWNER, _.debounce(function () {\n return _this._onOrderCancelledByOwner();\n }, 300));\n this._scope.$on(_CommonConstants2.default.Events.ORDER_CLEARED_BY_OWNER, _.debounce(function () {\n return _this._onOrderClearedByOwner();\n }, 300));\n this._scope.$on(_CommonConstants2.default.Events.USER_REMOVED_BY_OWNER, _.debounce(function () {\n return _this._onUserRemovedByOwner();\n }, 300));\n this._scope.$on(_CommonConstants2.default.Events.ORDER_CHECKED_OUT, _.debounce(function () {\n return _this._onOrderCheckedOut();\n }, 300));\n this._scope.$on(_CommonConstants2.default.Events.CART_OWNERSHIP_TRANSFERRED, _.debounce(function (scope, obj) {\n return _this._onOwnershipTransferred(obj);\n }, 300));\n this._scope.$on(_CommonConstants2.default.Events.USER_JOINED_OTHER_CART, _.debounce(function (scope, obj) {\n return _this._onUserJoinedOtherCart(obj);\n }, 300));\n\n this._scope.$on(_CommonConstants2.default.RootEvents.CART_CHANGED, _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return _this._onCartChanged();\n\n case 2:\n return _context5.abrupt('return', _context5.sent);\n\n case 3:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, _this);\n })));\n\n this._rootScope.toggleWindowState = function (e) {\n return _this._toggleWindowState(\"\", e);\n };\n this._rootScope.enlargeWidget = function (e) {\n return _this._enlargeWidget();\n };\n this._rootScope.collapsed = !stateService.is(_CommonConstants2.default.RoutingStates.CONFIRM_TICKET) && !stateService.is(_CommonConstants2.default.RoutingStates.INVITE) && !stateService.is(_CommonConstants2.default.RoutingStates.LOGIN_TICKET) && !rootScope.safariWarningIsShowing;\n\n this._scope.externalStoreWindowTitle = '';\n this.canAddCurrentProduct = false;\n\n this._scope._createGroupOrder = function () {\n return _this._createGroupOrder();\n };\n this._scope.createGroupOrderIfNeeded = function (e) {\n return _this._createGroupOrderIfNeeded(e);\n };\n this._scope.toggleChat = function () {\n return _this._toggleChatPage();\n };\n this._scope.toggleOrderPage = function () {\n return _this._toggleOrderPage();\n };\n this._scope.toggleProfilePage = function () {\n return _this._toggleProfilePage();\n };\n this._scope.toggleInvitedPeoplePage = function () {\n return _this._toggleInvitedPeoplePage();\n };\n this._scope.showVersionPage = function () {\n return _this._showVersionPage();\n };\n this._scope.isOrderFreezed = false;\n\n this._rootScope.canAddCurrentProduct = function () {\n return _this.canAddCurrentProduct;\n };\n this._rootScope.addCurrentProduct = function () {\n return _this.addCurrentProduct();\n };\n\n this.addProductToCartHandler = {\n command: _commandKeys.commandKeys.addProductToCart,\n\n handle: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(request, sender, sendResponse) {\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return _this.onProductAddRequested(request, sendResponse);\n\n case 2:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, _this);\n }));\n\n return function handle(_x3, _x4, _x5) {\n return _ref6.apply(this, arguments);\n };\n }()\n };\n\n this.windowStateChangeCommandHandler = {\n command: _commandKeys.commandKeys.windowStateChange,\n\n handle: function handle(request, sender, sendResponse) {\n _this.onWindowStateChanged(request, sendResponse);\n }\n };\n\n this.canAddCurrentProductHandler = {\n command: _commandKeys.commandKeys.addToCartButtonDetected,\n\n handle: function handle(request, sender, sendResponse) {\n _this.canAddCurrentProduct = true;\n }\n };\n\n this.checkProductCartCapabilityHandler = {\n command: _commandKeys.commandKeys.checkProductCartCapability,\n\n handle: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(request, sender, sendResponse) {\n var cart;\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return _this._cartService.getCart(undefined, request.data && request.data.fromCache);\n\n case 2:\n cart = _context7.sent;\n\n console.log(cart);\n\n case 4:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, _this);\n }));\n\n return function handle(_x6, _x7, _x8) {\n return _ref7.apply(this, arguments);\n };\n }()\n };\n\n this.moneyFormatChangeHandler = {\n command: _commandKeys.commandKeys.moneyFormatChange,\n\n handle: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8(request, sender, sendResponse) {\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n console.log(request.data.moneyFormat);\n _this._rootScope.moneyFormat = request.data.moneyFormat;\n\n case 2:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, _this);\n }));\n\n return function handle(_x9, _x10, _x11) {\n return _ref8.apply(this, arguments);\n };\n }()\n };\n\n this.translationsHanler = {\n command: _commandKeys.commandKeys.getTranslations,\n\n handle: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9(request, sender, sendResponse) {\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n sendResponse(_this.$translate.getTranslationTable());\n\n case 1:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, _this);\n }));\n\n return function handle(_x12, _x13, _x14) {\n return _ref9.apply(this, arguments);\n };\n }()\n };\n\n _commandHandlerService.commandHandlerService.registerHandler(this.addProductToCartHandler);\n _commandHandlerService.commandHandlerService.registerHandler(this.windowStateChangeCommandHandler);\n _commandHandlerService.commandHandlerService.registerHandler(this.canAddCurrentProductHandler);\n _commandHandlerService.commandHandlerService.registerHandler(this.checkProductCartCapabilityHandler);\n _commandHandlerService.commandHandlerService.registerHandler(this.moneyFormatChangeHandler);\n _commandHandlerService.commandHandlerService.registerHandler(this.translationsHanler);\n\n this._lastSessionState = null;\n }\n\n _createClass(ExternalStoreHandler, [{\n key: 'initialize',\n value: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n var _this2 = this;\n\n var self;\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n new _IdleDetectingService.IdleDetectingService(function (idleTime) {\n return _this2._onUserActiveAfterIdle(idleTime);\n });\n window.parent.postMessage({\n checkWindowState: true,\n cartonomyInitialized: true,\n retailer: this._scope.retailer\n }, '*');\n\n _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.widgetInitialized, {});\n\n if (!this._stateService.is(_CommonConstants2.default.RoutingStates.CONFIRM_TICKET)) {\n _context10.next = 7;\n break;\n }\n\n _context10.next = 6;\n return this._stateService.go(_CommonConstants2.default.RoutingStates.CONFIRM_TICKET);\n\n case 6:\n return _context10.abrupt('return');\n\n case 7:\n _context10.next = 9;\n return this._localForageService.retrieve(_CommonConstants2.default.SessionStorage.LAST_STATE_NAME);\n\n case 9:\n this._lastSessionState = _context10.sent;\n\n if (!(this._lastSessionState && this._lastSessionState !== \"invite\")) {\n _context10.next = 13;\n break;\n }\n\n _context10.next = 13;\n return this._stateService.go(this._lastSessionState);\n\n case 13:\n self = this;\n\n this._rootScope.$on('$stateChangeStart', function (event, toState) {\n if (toState.name !== _CommonConstants2.default.RoutingStates.CHECKOUT_FULL_MIXED) {\n self._localForageService.store(_CommonConstants2.default.SessionStorage.LAST_STATE_NAME, toState.name).then(function () {});\n }\n });\n\n _context10.next = 17;\n return this._sessionService.loggedIn();\n\n case 17:\n if (_context10.sent) {\n _context10.next = 25;\n break;\n }\n\n _context10.next = 20;\n return this._sendUserCartInfoToParent();\n\n case 20:\n window.parent.postMessage({\n orderExists: false,\n retailer: this._scope.retailer\n }, '*');\n\n if (this._stateService.is(_CommonConstants2.default.RoutingStates.LOGIN_TICKET)) {\n _context10.next = 24;\n break;\n }\n\n _context10.next = 24;\n return this._goToCart();\n\n case 24:\n return _context10.abrupt('return');\n\n case 25:\n if (!this._stateService.is(_CommonConstants2.default.RoutingStates.INVITE)) {\n _context10.next = 28;\n break;\n }\n\n this._scope.$on(_CommonConstants2.default.Events.INVITATION_ACCEPTED, function () {\n return _this2._onUserLoggedIn(true);\n });\n return _context10.abrupt('return');\n\n case 28:\n if (this._stateService.is(_CommonConstants2.default.RoutingStates.LOGIN_TICKET)) {\n _context10.next = 31;\n break;\n }\n\n _context10.next = 31;\n return this._onUserLoggedIn();\n\n case 31:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function initialize() {\n return _ref10.apply(this, arguments);\n }\n\n return initialize;\n }()\n }, {\n key: 'addCurrentProduct',\n value: function addCurrentProduct() {\n _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.addProductToCart, {});\n }\n }, {\n key: 'onProductAddRequested',\n value: function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11(request, sendResponse) {\n var isStealthMode, qty, cart;\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n if (!this._addingProduct) {\n _context11.next = 2;\n break;\n }\n\n return _context11.abrupt('return');\n\n case 2:\n\n //Check Stealth mode\n isStealthMode = this._sessionService.getStealthUserMode();\n\n if (!isStealthMode) {\n _context11.next = 8;\n break;\n }\n\n _context11.next = 6;\n return this._messageService.showErrorPopup(this.$translate.instant('client.user.cart_restrict'));\n\n case 6:\n window.parent.postMessage({\n addProductDone: true\n }, '*');\n return _context11.abrupt('return');\n\n case 8:\n qty = request.data.quantity || 1;\n _context11.next = 11;\n return this._cartService.getCart(undefined);\n\n case 11:\n cart = _context11.sent;\n\n if (!(cart.retailerStoreId && request.data.storeId !== cart.retailerStoreId)) {\n _context11.next = 16;\n break;\n }\n\n this._messageService.showErrorPopup(this.$translate.instant('client.user.product_restrict'));\n window.parent.postMessage({\n addProductDone: true\n }, '*');\n return _context11.abrupt('return');\n\n case 16:\n _context11.next = 18;\n return this._onProductVariantReceived(request.data.productVariantId, qty, request.data.productName, request.data.productImage, request.data.productPrice, request.data.productOptions, request.data.productUrl);\n\n case 18:\n\n _scope2.default.apply(this._scope);\n\n case 19:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function onProductAddRequested(_x15, _x16) {\n return _ref11.apply(this, arguments);\n }\n\n return onProductAddRequested;\n }()\n }, {\n key: 'onWindowStateChanged',\n value: function onWindowStateChanged(event, sendResponse) {\n this._rootScope.collapsed = event.data.windowState === _CommonConstants2.default.WindowMode.minimized;\n\n this._rootScope.currentWindowState = event.data.windowState;\n this._rootScope.$broadcast(_CommonConstants2.default.Events.WINDOW_STATE_CHANGED, event.data.windowState);\n\n if (!this._rootScope.collapsed) {\n if (this._rootScope.orderCreationCancelRequested) {\n this._rootScope.orderCreationCancelRequested = false;\n this._goToCart();\n } else if (!this._scope.isProfile() && !this._scope.isChat() && !this._stateService.is(_CommonConstants2.default.RoutingStates.INVITE) && !this._stateService.is(_CommonConstants2.default.RoutingStates.INVITED_PEOPLE) && !this._stateService.is(_CommonConstants2.default.RoutingStates.STORE_ADMIN) && !this._stateService.is(_CommonConstants2.default.RoutingStates.OPEN_CARTS) && !this._stateService.is(_CommonConstants2.default.RoutingStates.LOGIN_TICKET) && !this._stateService.is(_CommonConstants2.default.RoutingStates.CONFIRM_TICKET)) {\n this._goToCart();\n }\n }\n\n _scope2.default.apply(this._scope);\n sendResponse({\n status: \"onWindowStateChanged: event handled\"\n });\n }\n }, {\n key: '_onProductVariantReceived',\n value: function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12(productVariantId, quantity, productName, productImage, productPrice, productOptions, productUrl) {\n return regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n this._scope.variantId = productVariantId;\n this._scope.quantity = quantity;\n this._scope.productName = productName;\n this._scope.productImage = productImage;\n this._scope.productPrice = productPrice;\n this._scope.productOptions = productOptions;\n this._scope.productUrl = productUrl;\n\n _context12.next = 9;\n return this._checkGroupOrder();\n\n case 9:\n _context12.next = 11;\n return this._sessionService.loggedIn();\n\n case 11:\n _context12.t0 = _context12.sent;\n\n if (!_context12.t0) {\n _context12.next = 14;\n break;\n }\n\n _context12.t0 = this.orderExists;\n\n case 14:\n if (!_context12.t0) {\n _context12.next = 20;\n break;\n }\n\n _context12.next = 17;\n return this.addItemToCart();\n\n case 17:\n return _context12.abrupt('return');\n\n case 20:\n this._scope.needAddItem = true;\n\n if (!this._orderBeingCreated) {\n _context12.next = 23;\n break;\n }\n\n return _context12.abrupt('return');\n\n case 23:\n\n this._toggleWindowState(\"addProductTrigger\");\n window.parent.postMessage({\n addProductDone: true\n }, '*');\n\n _context12.next = 27;\n return this._setupNewOrder(this._scope.needAddItem);\n\n case 27:\n case 'end':\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function _onProductVariantReceived(_x17, _x18, _x19, _x20, _x21, _x22, _x23) {\n return _ref12.apply(this, arguments);\n }\n\n return _onProductVariantReceived;\n }()\n }, {\n key: '_onUserJoinedOtherCart',\n value: function () {\n var _ref13 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13(obj) {\n return regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n if (this._rootScope.forceInvite) {\n _context13.next = 3;\n break;\n }\n\n _context13.next = 3;\n return this._messageService.showMessagePopup(this.$translate.instant('client.order.joined_diff_group'));\n\n case 3:\n this._rootScope.forceInvite = false;\n this._sessionService.setCartReference(null);\n\n case 5:\n case 'end':\n return _context13.stop();\n }\n }\n }, _callee13, this);\n }));\n\n function _onUserJoinedOtherCart(_x24) {\n return _ref13.apply(this, arguments);\n }\n\n return _onUserJoinedOtherCart;\n }()\n }, {\n key: '_onOrderSetupFinished',\n value: function () {\n var _ref14 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14() {\n var _this3 = this;\n\n return regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n if (!this._scope.needAddItem) {\n _context14.next = 15;\n break;\n }\n\n if (this.orderExists) {\n _context14.next = 10;\n break;\n }\n\n _context14.prev = 2;\n _context14.next = 5;\n return this._stateService.go(_CommonConstants2.default.RoutingStates.USER_PROFILE);\n\n case 5:\n _context14.next = 10;\n break;\n\n case 7:\n _context14.prev = 7;\n _context14.t0 = _context14['catch'](2);\n\n console.log(_context14.t0);\n\n case 10:\n // this._sessionStorageService.set(Constants.LAST_STATE_NAME, Constants.SessionStorage.CART);\n setTimeout(function () {\n return _this3._goToCart();\n }, 10);\n _context14.next = 13;\n return this.addItemToCart();\n\n case 13:\n _context14.next = 16;\n break;\n\n case 15:\n this._goToChatPage();\n\n case 16:\n _context14.next = 18;\n return this._checkGroupOrder();\n\n case 18:\n _context14.next = 20;\n return this._sendUserCartInfoToParent();\n\n case 20:\n case 'end':\n return _context14.stop();\n }\n }\n }, _callee14, this, [[2, 7]]);\n }));\n\n function _onOrderSetupFinished() {\n return _ref14.apply(this, arguments);\n }\n\n return _onOrderSetupFinished;\n }()\n }, {\n key: '_goToChatPage',\n value: function _goToChatPage() {\n this._stateService.go(_CommonConstants2.default.RoutingStates.CHAT);\n }\n }, {\n key: '_onUserLoggedOut',\n value: function () {\n var _ref15 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15() {\n return regeneratorRuntime.wrap(function _callee15$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n window.parent.postMessage({\n userDetails: {\n userFirstName: null,\n hasCart: null\n },\n orderExists: false,\n retailer: this._scope.retailer\n }, '*');\n this._scope.externalStoreWindowTitle = this.$translate.instant('client.auth.signin');\n _context15.next = 4;\n return this._checkGroupOrder();\n\n case 4:\n _context15.next = 6;\n return this._sendUserCartInfoToParent();\n\n case 6:\n case 'end':\n return _context15.stop();\n }\n }\n }, _callee15, this);\n }));\n\n function _onUserLoggedOut() {\n return _ref15.apply(this, arguments);\n }\n\n return _onUserLoggedOut;\n }()\n }, {\n key: '_toggleWindowState',\n value: function _toggleWindowState(trigger, e) {\n if (trigger === \"\") trigger = \"titleBar\";\n window.parent.postMessage({\n toggleWindowState: true,\n toggleWindowTrigger: trigger\n }, '*');\n }\n }, {\n key: '_enlargeWidget',\n value: function _enlargeWidget(e) {\n this._rootScope.enlarged = !this._rootScope.enlarged;\n window.parent.postMessage({\n enlargeWidgetState: true,\n enlargeTrigger: this._rootScope.enlarged ? 'enlarge' : 'decrease'\n }, '*');\n }\n }, {\n key: '_toggleChatPage',\n value: function _toggleChatPage() {\n this._scope.showChat();\n\n if (this._rootScope.collapsed) {\n this._toggleWindowState(\"chat\");\n }\n\n this._cancelOrderCreationDialogIfNeeded();\n }\n }, {\n key: '_createGroupOrder',\n value: function _createGroupOrder() {\n this._goToCart();\n\n if (this._rootScope.collapsed) this._toggleWindowState(\"createOrder\");\n }\n }, {\n key: '_createGroupOrderIfNeeded',\n value: function _createGroupOrderIfNeeded(e) {\n if (this._rootScope.collapsed) this._toggleWindowState(\"\");\n // if(this._scope.groupOrderCreated) {\n // return;\n // }\n // let trigger = \"createOrder\";\n // if (e != undefined && e.srcElement != undefined && e.srcElement.outerText == \"My Group Order\")\n // trigger = \"titleBar\";\n // if (this.orderExists) {\n // return;\n // }else{\n // this._cartService.resetCartInvitationType();\n // this._rootScope.$broadcast(Constants.Events.OPEN_SPLASH_SCREEN);\n // }\n //\n // this._goToCart();\n }\n }, {\n key: '_toggleOrderPage',\n value: function _toggleOrderPage() {\n if (this._scope.isOrderFreezed) {\n return;\n }\n if (!this.orderExists) {\n this._cartService.resetCartInvitationType();\n this._rootScope.$broadcast(_CommonConstants2.default.Events.OPEN_SPLASH_SCREEN);\n }\n\n this._scope.onCartBagClicked();\n\n if (this._rootScope.collapsed) this._toggleWindowState(\"cartBag\");\n\n //this._cancelOrderCreationDialogIfNeeded();\n }\n }, {\n key: '_toggleProfilePage',\n value: function _toggleProfilePage() {\n this._scope.showAccount();\n\n this._cancelOrderCreationDialogIfNeeded();\n\n if (this._rootScope.collapsed) {\n this._toggleWindowState(\"profile\");\n }\n }\n }, {\n key: '_showVersionPage',\n value: function _showVersionPage() {\n this._stateService.go(_CommonConstants2.default.RoutingStates.ABOUT);\n\n this._cancelOrderCreationDialogIfNeeded();\n\n this._rootScope.$broadcast(_CommonConstants2.default.Events.VERSION_PAGE_REQUESTED);\n\n if (this._rootScope.collapsed) {\n this._toggleWindowState(\"version\");\n }\n }\n }, {\n key: '_toggleInvitedPeoplePage',\n value: function _toggleInvitedPeoplePage() {\n this._scope.showInvitedPeople();\n\n if (this._rootScope.collapsed) {\n this._toggleWindowState(\"invitedPeople\");\n }\n\n this._cancelOrderCreationDialogIfNeeded();\n }\n }, {\n key: '_cancelOrderCreationDialogIfNeeded',\n value: function _cancelOrderCreationDialogIfNeeded() {\n if (this._orderSetupService.orderSetupDialogShowing) {\n this._rootScope.orderCreationCancelRequested = true;\n this._rootScope.$broadcast(_CommonConstants2.default.Events.ORDER_CREATION_CANCEL_REQUESTED);\n }\n }\n }, {\n key: '_onOrderCancelled',\n value: function () {\n var _ref16 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16() {\n return regeneratorRuntime.wrap(function _callee16$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n _context16.next = 2;\n return this._scope.showAccount();\n\n case 2:\n this._sessionService.setCartReference(null);\n _context16.next = 5;\n return this._onUserLoggedIn();\n\n case 5:\n case 'end':\n return _context16.stop();\n }\n }\n }, _callee16, this);\n }));\n\n function _onOrderCancelled() {\n return _ref16.apply(this, arguments);\n }\n\n return _onOrderCancelled;\n }()\n }, {\n key: '_onOrderCancelledByOwner',\n value: function () {\n var _ref17 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee17() {\n return regeneratorRuntime.wrap(function _callee17$(_context17) {\n while (1) {\n switch (_context17.prev = _context17.next) {\n case 0:\n this._scope.isOrderFreezed = true;\n _context17.next = 3;\n return this._scope.showAccount();\n\n case 3:\n this._messageService.showMessagePopup(this.$translate.instant('client.order.owner_cancelled'));\n this._sessionService.setCartReference(null);\n _context17.next = 7;\n return this._goToCart();\n\n case 7:\n this._scope.isOrderFreezed = false;\n\n case 8:\n case 'end':\n return _context17.stop();\n }\n }\n }, _callee17, this);\n }));\n\n function _onOrderCancelledByOwner() {\n return _ref17.apply(this, arguments);\n }\n\n return _onOrderCancelledByOwner;\n }()\n }, {\n key: '_onOrderClearedByOwner',\n value: function () {\n var _ref18 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee18() {\n return regeneratorRuntime.wrap(function _callee18$(_context18) {\n while (1) {\n switch (_context18.prev = _context18.next) {\n case 0:\n this._scope.isOrderFreezed = true;\n _context18.next = 3;\n return this._scope.showAccount();\n\n case 3:\n this._messageService.showMessagePopup(this.$translate.instant('client.order.owner_cleared'));\n this._sessionService.setCartReference(null);\n _context18.next = 7;\n return this._onUserLoggedIn(false, true);\n\n case 7:\n this._scope.isOrderFreezed = false;\n\n case 8:\n case 'end':\n return _context18.stop();\n }\n }\n }, _callee18, this);\n }));\n\n function _onOrderClearedByOwner() {\n return _ref18.apply(this, arguments);\n }\n\n return _onOrderClearedByOwner;\n }()\n }, {\n key: '_onUserRemovedByOwner',\n value: function () {\n var _ref19 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee19() {\n return regeneratorRuntime.wrap(function _callee19$(_context19) {\n while (1) {\n switch (_context19.prev = _context19.next) {\n case 0:\n this._scope.isOrderFreezed = true;\n _context19.next = 3;\n return this._scope.showAccount();\n\n case 3:\n this._messageService.showMessagePopup(this.$translate.instant('client.order.owner_removed'));\n this._sessionService.setCartReference(null);\n _context19.next = 7;\n return this._goToCart(false, true);\n\n case 7:\n this._scope.isOrderFreezed = false;\n\n case 8:\n case 'end':\n return _context19.stop();\n }\n }\n }, _callee19, this);\n }));\n\n function _onUserRemovedByOwner() {\n return _ref19.apply(this, arguments);\n }\n\n return _onUserRemovedByOwner;\n }()\n }, {\n key: '_onOrderCheckedOut',\n value: function () {\n var _ref20 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee20() {\n var messageText;\n return regeneratorRuntime.wrap(function _callee20$(_context20) {\n while (1) {\n switch (_context20.prev = _context20.next) {\n case 0:\n this._scope.isOrderFreezed = true;\n _context20.next = 3;\n return this._scope.showAccount();\n\n case 3:\n messageText = this.$translate.instant('client.order.owner_closed');\n\n\n if (this.isOwner) {\n messageText = this.$translate.instant('client.order.owner_fulfilled');\n }\n _context20.next = 7;\n return this._messageService.showMessagePopup(messageText);\n\n case 7:\n this._sessionService.setCartReference(null);\n _context20.next = 10;\n return this._onUserLoggedIn(false, true);\n\n case 10:\n this._scope.isOrderFreezed = false;\n\n case 11:\n case 'end':\n return _context20.stop();\n }\n }\n }, _callee20, this);\n }));\n\n function _onOrderCheckedOut() {\n return _ref20.apply(this, arguments);\n }\n\n return _onOrderCheckedOut;\n }()\n }, {\n key: '_onParticipantLeftOrder',\n value: function () {\n var _ref21 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee21() {\n return regeneratorRuntime.wrap(function _callee21$(_context21) {\n while (1) {\n switch (_context21.prev = _context21.next) {\n case 0:\n _context21.next = 2;\n return this._onUserLoggedIn();\n\n case 2:\n case 'end':\n return _context21.stop();\n }\n }\n }, _callee21, this);\n }));\n\n function _onParticipantLeftOrder() {\n return _ref21.apply(this, arguments);\n }\n\n return _onParticipantLeftOrder;\n }()\n }, {\n key: '_onUserLoggedIn',\n value: function () {\n var _ref22 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee22(fromInvitation, forceGoTCart) {\n return regeneratorRuntime.wrap(function _callee22$(_context22) {\n while (1) {\n switch (_context22.prev = _context22.next) {\n case 0:\n _context22.next = 2;\n return this._checkGroupOrder();\n\n case 2:\n _context22.next = 4;\n return this._sendUserCartInfoToParent();\n\n case 4:\n if (!(forceGoTCart || !fromInvitation && !this._lastSessionState)) {\n _context22.next = 7;\n break;\n }\n\n _context22.next = 7;\n return this._goToCart();\n\n case 7:\n case 'end':\n return _context22.stop();\n }\n }\n }, _callee22, this);\n }));\n\n function _onUserLoggedIn(_x25, _x26) {\n return _ref22.apply(this, arguments);\n }\n\n return _onUserLoggedIn;\n }()\n }, {\n key: '_onUserProfileChanged',\n value: function () {\n var _ref23 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee23() {\n return regeneratorRuntime.wrap(function _callee23$(_context23) {\n while (1) {\n switch (_context23.prev = _context23.next) {\n case 0:\n _context23.next = 2;\n return this._checkGroupOrder(false);\n\n case 2:\n _context23.next = 4;\n return this._sendUserCartInfoToParent();\n\n case 4:\n case 'end':\n return _context23.stop();\n }\n }\n }, _callee23, this);\n }));\n\n function _onUserProfileChanged() {\n return _ref23.apply(this, arguments);\n }\n\n return _onUserProfileChanged;\n }()\n }, {\n key: '_goToCart',\n value: function () {\n var _ref24 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee24() {\n return regeneratorRuntime.wrap(function _callee24$(_context24) {\n while (1) {\n switch (_context24.prev = _context24.next) {\n case 0:\n _context24.next = 2;\n return this._stateService.go(_CommonConstants2.default.RoutingStates.CART);\n\n case 2:\n case 'end':\n return _context24.stop();\n }\n }\n }, _callee24, this);\n }));\n\n function _goToCart() {\n return _ref24.apply(this, arguments);\n }\n\n return _goToCart;\n }()\n }, {\n key: '_sendUserCartInfoToParent',\n value: function () {\n var _ref25 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee26() {\n var _this4 = this;\n\n var cartOwner, currentEmail, isOwner;\n return regeneratorRuntime.wrap(function _callee26$(_context26) {\n while (1) {\n switch (_context26.prev = _context26.next) {\n case 0:\n cartOwner = this.orderExists ? _.find(this.cart.participants, function (participant) {\n return participant.status === 'OWNER';\n }) : null;\n _context26.next = 3;\n return this._sessionService.getUserEmail();\n\n case 3:\n currentEmail = _context26.sent;\n isOwner = cartOwner && cartOwner.email === currentEmail;\n\n this.isOwner = isOwner;\n\n this.timeoutService(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee25() {\n var cartName, getFirstName, name;\n return regeneratorRuntime.wrap(function _callee25$(_context25) {\n while (1) {\n switch (_context25.prev = _context25.next) {\n case 0:\n if (!(cartOwner && cartOwner.name)) {\n _context25.next = 19;\n break;\n }\n\n cartName = 'My Group Order';\n\n if (_this4._scope.retailer.customCartNames === '1' && _this4.cart.cartName && _this4.cart.cartName !== _CommonConstants2.default.CART_NAME_DEFAULT_VALUE) {\n cartName = _this4.cart.cartName;\n }\n\n if (!_this4.isMobile) {\n _context25.next = 7;\n break;\n }\n\n _this4._scope.externalStoreWindowTitle = _this4.$translate.instant('client.group_order');\n _context25.next = 17;\n break;\n\n case 7:\n if (isOwner) {\n _context25.next = 16;\n break;\n }\n\n _context25.next = 10;\n return _this4._sessionService.getUserFirstName();\n\n case 10:\n getFirstName = _context25.sent;\n name = cartOwner && cartOwner.name || getFirstName;\n\n if (_this4._scope.retailer.customCartNames === '1' && _this4.cart.cartName && _this4.cart.cartName !== _CommonConstants2.default.CART_NAME_DEFAULT_VALUE) {\n name = _this4.cart.cartName;\n } else {\n name = _this4.$translate.instant('client.user.in_order', { name: ExternalStoreHandler.toPossessiveString(name) });\n }\n _this4._scope.externalStoreWindowTitle = '' + name;\n _context25.next = 17;\n break;\n\n case 16:\n _this4._scope.externalStoreWindowTitle = '' + cartName;\n\n case 17:\n _context25.next = 26;\n break;\n\n case 19:\n _context25.next = 21;\n return _this4._sessionService.loggedIn();\n\n case 21:\n if (!_context25.sent) {\n _context25.next = 25;\n break;\n }\n\n _this4._scope.externalStoreWindowTitle = _this4.$translate.instant(_utils.utils.externalStoreWindowTitle);\n _context25.next = 26;\n break;\n\n case 25:\n _this4._scope.externalStoreWindowTitle = _this4.$translate.instant('client.auth.signin');\n\n case 26:\n case 'end':\n return _context25.stop();\n }\n }\n }, _callee25, _this4);\n })), 300);\n\n _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.userLoggedIn, {\n cartOwnerName: cartOwner && cartOwner.name,\n isOwner: isOwner,\n hasCart: this.orderExists\n });\n\n _context26.t0 = window.parent;\n _context26.next = 11;\n return this._sessionService.getUserFirstName();\n\n case 11:\n _context26.t1 = _context26.sent;\n _context26.t2 = cartOwner && cartOwner.name;\n _context26.t3 = isOwner;\n _context26.t4 = this.orderExists;\n _context26.t5 = this._scope.retailer.customCartNames;\n _context26.t6 = this.cart ? this.cart.cartName : \"\";\n _context26.t7 = {\n userFirstName: _context26.t1,\n cartOwnerName: _context26.t2,\n isOwner: _context26.t3,\n hasCart: _context26.t4,\n customCartNames: _context26.t5,\n cartName: _context26.t6\n };\n _context26.t8 = {\n userDetails: _context26.t7\n };\n\n _context26.t0.postMessage.call(_context26.t0, _context26.t8, '*');\n\n case 20:\n case 'end':\n return _context26.stop();\n }\n }\n }, _callee26, this);\n }));\n\n function _sendUserCartInfoToParent() {\n return _ref25.apply(this, arguments);\n }\n\n return _sendUserCartInfoToParent;\n }()\n }, {\n key: '_onProductDetailRequested',\n value: function _onProductDetailRequested(shopifyProductUrl) {\n window.parent.postMessage({\n requestDetailPage: {\n shopifyProductUrl: shopifyProductUrl\n }\n }, '*');\n }\n }, {\n key: 'addItemToCart',\n value: function () {\n var _ref27 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee27() {\n return regeneratorRuntime.wrap(function _callee27$(_context27) {\n while (1) {\n switch (_context27.prev = _context27.next) {\n case 0:\n _context27.next = 2;\n return this._checkGroupOrder();\n\n case 2:\n if (!(this._addingProduct || !this.orderExists)) {\n _context27.next = 4;\n break;\n }\n\n return _context27.abrupt('return');\n\n case 4:\n\n this._addingProduct = true;\n _context27.prev = 5;\n\n this._rootScope.addingProduct = {\n variantId: this._scope.variantId,\n quantity: this._scope.quantity\n };\n\n if (!(!this._scope.productName && !this._scope.productImage)) {\n _context27.next = 12;\n break;\n }\n\n _context27.next = 10;\n return this._cartService.addProductFromShopify(this._scope.variantId, this._scope.quantity, this._scope.productOptions);\n\n case 10:\n _context27.next = 14;\n break;\n\n case 12:\n _context27.next = 14;\n return this._cartService.addProductFromCustomSite(this._scope.variantId, this._scope.quantity, this._scope.productName, this._scope.productImage, this._scope.productPrice, this._scope.productOptions, this._scope.productUrl);\n\n case 14:\n\n _scope2.default.apply(this._scope);\n\n this._goToCart();\n _context27.next = 22;\n break;\n\n case 18:\n _context27.prev = 18;\n _context27.t0 = _context27['catch'](5);\n\n this._messageService.showErrorPopupForResponse(_context27.t0);\n\n window.parent.postMessage({\n closeWindow: true\n }, '*');\n\n case 22:\n _context27.prev = 22;\n\n window.parent.postMessage({\n addProductDone: true\n }, '*');\n this._addingProduct = false;\n this._scope.needAddItem = false;\n return _context27.finish(22);\n\n case 27:\n case 'end':\n return _context27.stop();\n }\n }\n }, _callee27, this, [[5, 18, 22, 27]]);\n }));\n\n function addItemToCart() {\n return _ref27.apply(this, arguments);\n }\n\n return addItemToCart;\n }()\n }, {\n key: '_checkGroupOrder',\n value: function () {\n var _ref28 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee28() {\n var fromCache = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return regeneratorRuntime.wrap(function _callee28$(_context28) {\n while (1) {\n switch (_context28.prev = _context28.next) {\n case 0:\n _context28.next = 2;\n return this._cartService.getCart(undefined, fromCache);\n\n case 2:\n this.cart = _context28.sent;\n _context28.next = 5;\n return this._cartService.isGroupOrder();\n\n case 5:\n this.orderExists = _context28.sent;\n\n this._rootScope.orderExists = this.orderExists;\n\n window.parent.postMessage({\n orderExists: this.orderExists,\n retailer: this._scope.retailer\n }, '*');\n\n case 8:\n case 'end':\n return _context28.stop();\n }\n }\n }, _callee28, this);\n }));\n\n function _checkGroupOrder() {\n return _ref28.apply(this, arguments);\n }\n\n return _checkGroupOrder;\n }()\n }, {\n key: '_setupNewOrder',\n value: function () {\n var _ref29 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee29(needAddItem) {\n return regeneratorRuntime.wrap(function _callee29$(_context29) {\n while (1) {\n switch (_context29.prev = _context29.next) {\n case 0:\n this._orderBeingCreated = true;\n _context29.next = 3;\n return this._orderSetupService.createOrder(needAddItem);\n\n case 3:\n this._orderBeingCreated = false;\n\n case 4:\n case 'end':\n return _context29.stop();\n }\n }\n }, _callee29, this);\n }));\n\n function _setupNewOrder(_x28) {\n return _ref29.apply(this, arguments);\n }\n\n return _setupNewOrder;\n }()\n }, {\n key: '_onInvitationAccepted',\n value: function () {\n var _ref30 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee30() {\n return regeneratorRuntime.wrap(function _callee30$(_context30) {\n while (1) {\n switch (_context30.prev = _context30.next) {\n case 0:\n _context30.next = 2;\n return this._checkGroupOrder(false);\n\n case 2:\n _context30.next = 4;\n return this._sendUserCartInfoToParent();\n\n case 4:\n case 'end':\n return _context30.stop();\n }\n }\n }, _callee30, this);\n }));\n\n function _onInvitationAccepted() {\n return _ref30.apply(this, arguments);\n }\n\n return _onInvitationAccepted;\n }()\n }, {\n key: '_onProductItemsChanged',\n value: function _onProductItemsChanged() {\n if (this._scope.isCart()) {\n this._rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.CART_PAGE_REQUESTED);\n }\n }\n }, {\n key: '_onCartChanged',\n value: function () {\n var _ref31 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee31() {\n return regeneratorRuntime.wrap(function _callee31$(_context31) {\n while (1) {\n switch (_context31.prev = _context31.next) {\n case 0:\n _context31.next = 2;\n return this._checkGroupOrder();\n\n case 2:\n _context31.next = 4;\n return this._sendUserCartInfoToParent();\n\n case 4:\n case 'end':\n return _context31.stop();\n }\n }\n }, _callee31, this);\n }));\n\n function _onCartChanged() {\n return _ref31.apply(this, arguments);\n }\n\n return _onCartChanged;\n }()\n }, {\n key: '_onOwnershipTransferred',\n value: function () {\n var _ref32 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee32(obj) {\n var message;\n return regeneratorRuntime.wrap(function _callee32$(_context32) {\n while (1) {\n switch (_context32.prev = _context32.next) {\n case 0:\n message = this.$translate.instant('client.order.owner_shared');\n _context32.next = 3;\n return this._messageService.showMessagePopup('' + message);\n\n case 3:\n case 'end':\n return _context32.stop();\n }\n }\n }, _callee32, this);\n }));\n\n function _onOwnershipTransferred(_x29) {\n return _ref32.apply(this, arguments);\n }\n\n return _onOwnershipTransferred;\n }()\n }, {\n key: '_onUserActiveAfterIdle',\n value: function _onUserActiveAfterIdle(idleTimeInSecond) {\n\n if (idleTimeInSecond >= this.idleTimeBeforeRefreshing * 60) {\n window.location.reload(true);\n }\n }\n }], [{\n key: 'toPossessiveString',\n value: function toPossessiveString(name) {\n if (name[name.length - 1] === 's') {\n return name + '\\'';\n }\n\n return name + '\\'s';\n }\n }]);\n\n return ExternalStoreHandler;\n}();\n\nexports.default = ExternalStoreHandler;\n\n/***/ }),\n/* 415 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.IdleDetectingService = undefined;\n\nvar _away = __webpack_require__(653);\n\nvar _away2 = _interopRequireDefault(_away);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar IdleDetectingService = exports.IdleDetectingService = function IdleDetectingService(onUserBackActive) {\n var _this = this;\n\n _classCallCheck(this, IdleDetectingService);\n\n this.idleStart = null;\n\n var timer = (0, _away2.default)(10000);\n\n timer.on('idle', function () {\n _this.idleStart = (0, _moment2.default)();\n });\n timer.on('active', function () {\n onUserBackActive((0, _moment2.default)().diff(_this.idleStart, 'second'));\n });\n};\n\n/***/ }),\n/* 416 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CommandHandlerService = exports.CommandHandlerService = function () {\n _createClass(CommandHandlerService, null, [{\n key: \"getInstance\",\n value: function getInstance() {\n return CommandHandlerService.__instance || (CommandHandlerService.__instance = new CommandHandlerService());\n }\n }]);\n\n function CommandHandlerService() {\n _classCallCheck(this, CommandHandlerService);\n\n this.handlers = [];\n }\n\n _createClass(CommandHandlerService, [{\n key: \"registerHandler\",\n value: function registerHandler(handler) {\n this.handlers.push(handler);\n }\n }, {\n key: \"hasHandler\",\n value: function hasHandler(command) {\n return this.handlers.some(function (h) {\n return h.command === command;\n });\n }\n }, {\n key: \"handleCommand\",\n value: function handleCommand(command, request, sender, sendResponse) {\n var handlers = this.handlers.filter(function (h) {\n return h.command === command;\n });\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = handlers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var handler = _step.value;\n\n handler.handle(request, sender, sendResponse);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }]);\n\n return CommandHandlerService;\n}();\n\nCommandHandlerService.__instance = null;\nvar commandHandlerService = exports.commandHandlerService = CommandHandlerService.getInstance();\n\n/***/ }),\n/* 417 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\\r\\n\\r\\n\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\r\\n\\t\\r\\n\\r\\n\\r\\n\"\n\n/***/ }),\n/* 418 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChangePasswordController = undefined;\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ChangePasswordController = exports.ChangePasswordController = function ChangePasswordController($scope, $mdDialog, authenticationService, messageService) {\n var _this = this;\n\n _classCallCheck(this, ChangePasswordController);\n\n $scope.inProgress = false;\n $scope.errorMessage = '';\n\n $scope.data = {\n password: '',\n oldPassword: ''\n };\n\n $scope.cancel = function () {\n $mdDialog.cancel();\n };\n\n $scope.changePassword = function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(form) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n\n $scope.errorMessage = '';\n\n if (!form.$invalid) {\n _context.next = 4;\n break;\n }\n\n form.highlightAllErrors();\n return _context.abrupt('return');\n\n case 4:\n\n $scope.inProgress = true;\n\n return _context.abrupt('return', authenticationService.changePassword($scope.data.oldPassword, $scope.data.password).then(function () {\n return $mdDialog.hide();\n }, function (error) {\n $scope.errorMessage = messageService.getMessageFromErrorResponse(error);\n }).finally(function () {\n $scope.inProgress = false;\n }));\n\n case 6:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }();\n};\n\nChangePasswordController.$inject = ['$scope', '$mdDialog', 'AuthenticationService', 'Message'];\nChangePasswordController.controllerName = 'ChangePasswordController';\n\n\n_module3.default.controller(ChangePasswordController.controllerName, ChangePasswordController);\n\n/***/ }),\n/* 419 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _utils = __webpack_require__(29);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderSetupDialogController = function () {\n function OrderSetupDialogController(scope, windowService, cartonomyConfig, rootScope, dialogService, messageService, tabToShow, initialConfiguration, userProfileService, groupOrderService, paymentOptions, editMode, sessionService, localForageService, cartService, stateService, HeapService, initialCart, $translate) {\n var _this = this;\n\n _classCallCheck(this, OrderSetupDialogController);\n\n this._onDialogDeleteContact = function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(contact) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this._scope.contactDelete = contact;\n _context.next = 3;\n return _this._resetConfiguration();\n\n case 3:\n _this._setCurrentTabById(_CommonConstants2.default.OrderSetupTabs.CONFIRM_DELETE_CONTACT);\n\n case 4:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }();\n\n this._scope = scope;\n this._cartonomyConfig = cartonomyConfig;\n this._rootScope = rootScope;\n this._initialConfiguration = initialConfiguration;\n this._dialogService = dialogService;\n this._tabToShow = tabToShow;\n this._tabBeforeCancel = null;\n this._groupOrderService = groupOrderService;\n this._userProfileService = userProfileService;\n this._scope.groupPay = groupOrderService.getGroupPay();\n this._paymentOptions = paymentOptions;\n this._scope._editMode = editMode;\n this._windowService = windowService;\n this._messageService = messageService;\n //this._sessionStorageService = SessionStorage;\n this._localForageService = localForageService;\n this._cartService = cartService;\n this._sessionService = sessionService;\n this._stateService = stateService;\n this._heapService = HeapService;\n this._initialCart = initialCart;\n this.$translate = $translate;\n\n scope.hasMandatoryDeadline = !!rootScope.retailer.mandatoryDeadline;\n\n // onboarding\n scope.onboarding = {\n steps: 5,\n currentStep: 0\n };\n\n scope.onboardingNextStep = function () {\n console.log(scope.onboarding.currentStep);\n scope.onboarding.currentStep++;\n };\n\n scope.onboardingPreviousStep = function () {\n scope.onboarding.currentStep--;\n };\n\n scope.returnToPreview = false;\n scope.resetConfiguration = function () {\n return _this._resetConfiguration();\n };\n scope.setCurrentTabById = function (id) {\n return _this._setCurrentTabById(id);\n };\n scope.showCancelTab = function () {\n return _this._showCancelTab();\n };\n scope.closeDialog = function () {\n return _this._closeOrderDialog(true);\n };\n scope.cancelOrder = function () {\n return _this._closeOrderDialog();\n };\n scope.restoreOrder = function () {\n return _this._restoreOrder();\n };\n scope.backEnabled = function () {\n return _this._backEnabled();\n };\n scope.back = function () {\n return _this._back();\n };\n scope.onDialogDeleteContact = function (contact) {\n return _this._onDialogDeleteContact(contact);\n };\n scope.cancelPreview = function () {\n return _this._cancelPreview();\n };\n scope.next = function () {\n return _this._next();\n };\n scope.finishOrderSetup = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt('return', _this._finishOrderSetup());\n\n case 1:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this);\n }));\n scope.previewTab = function (tabId) {\n return _this._previewTab(tabId);\n };\n scope.enableTab = function (tabId, enable) {\n return _this._enableTab(tabId, enable);\n };\n scope.isExternalRetailer = function () {\n return cartonomyConfig.externalStoreMode;\n };\n scope.$on(_CommonConstants2.default.Events.ORDER_CREATION_CANCEL_REQUESTED, function () {\n return _this._closeOrderDialog();\n });\n scope.$on(_CommonConstants2.default.Events.OPEN_SPLASH_SCREEN, function () {\n return _this._openSplashScreen();\n });\n rootScope.$on(_CommonConstants2.default.Events.BACK_BUTTON_CLICKED, function () {\n return _this._closeOrderDialog();\n });\n scope.formattedUserFirstName = \"\";\n\n scope.getStarted = function () {\n return _this._getStarted();\n };\n scope.singleInviteLink = function () {\n return _this._singleInviteLink();\n };\n scope.acceptDeleteContact = function () {\n return _this._acceptDeleteContact();\n };\n scope.backToCreateOrder = function () {\n return _this._backToCreateOrder();\n };\n scope.contactDelete = null;\n\n this.startTabIndex = null;\n this._initialize();\n }\n\n _createClass(OrderSetupDialogController, [{\n key: '_initialize',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n var _this2 = this;\n\n var storedCurrentTab, tab, cancelTab;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n this._scope.noBudgetMode = this._rootScope.retailer && this._rootScope.retailer.noBudgetMode;\n if (this._scope._editMode) {\n this._rootScope.storeWindowTitle = 'client.order.group_setting';\n } else if (!this._initialCart.$id) {\n this._rootScope.storeWindowTitle = 'client.order.group_creating';\n } else {\n this._rootScope.storeWindowTitle = 'client.order.group_join';\n }\n if (this._initialCart) {\n this._scope.deadline = this._initialCart.closeOn && (0, _moment2.default)(this._initialCart.closeOn).format('L LT') || 'client.unlimited';\n this._scope.budget = this._initialCart.orderLimit && this._rootScope.formatAmount(this._initialCart.orderLimit) || 'client.unlimited';\n this._scope.orderTitle = this._initialCart.cartName || this._initialCart.title;\n this._scope.payerTitle = this._initialCart.fulfillment && (this._initialCart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.SELF || this._initialCart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.MIXED) ? 'client.order.group_member_pay' : 'client.order.group_owner_pay';\n }\n\n _scope2.default.apply(this._scope);\n _context3.t0 = this;\n _context3.next = 7;\n return this._sessionService.getUserFirstName();\n\n case 7:\n _context3.t1 = _context3.sent;\n this._scope.formattedUserFirstName = _context3.t0.toPossessiveString.call(_context3.t0, _context3.t1);\n\n this._createTabs();\n _context3.next = 12;\n return this._resetConfiguration();\n\n case 12:\n _context3.t2 = this;\n _context3.next = 15;\n return this._userProfileService.getUserAddresses();\n\n case 15:\n _context3.t3 = _context3.sent;\n\n _context3.t2._onUserAddressesReceived.call(_context3.t2, _context3.t3);\n\n _context3.next = 19;\n return this._localForageService.retrieve(_CommonConstants2.default.SessionStorage.CREATE_ORDER_CURRENT_TAB);\n\n case 19:\n storedCurrentTab = _context3.sent;\n\n\n this.startTabIndex = 0;\n\n if (this._tabToShow) {\n tab = _.find(this._scope.tabs, { id: this._tabToShow });\n\n tab.save = true;\n tab.disabled = false;\n cancelTab = this._scope.tabs.find(function (tab) {\n return tab.id === _CommonConstants2.default.OrderSetupTabs.CANCELEDITING;\n });\n\n this._scope.tabs = [tab, cancelTab];\n this.startTabIndex = _.findIndex(this._scope.tabs, function (t) {\n return t.id === _this2._tabToShow;\n });\n }\n\n this._scope.tabs.forEach(function (tab) {\n tab.templateUrl = 'modules/order/views/orderSetupTabs/' + tab.templateUrl;\n });\n\n if (!this._paymentOptions) {\n _context3.next = 27;\n break;\n }\n\n this._groupOrderService.loadFromSessionStorage();\n this._setCurrentTabById(_CommonConstants2.default.OrderSetupTabs.ADD_PEOPLE);\n return _context3.abrupt('return', null);\n\n case 27:\n if (!(storedCurrentTab && !this._tabToShow)) {\n _context3.next = 30;\n break;\n }\n\n this._setCurrentTabById(storedCurrentTab);\n return _context3.abrupt('return');\n\n case 30:\n\n this._setCurrentTab(this.startTabIndex);\n\n case 31:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function _initialize() {\n return _ref3.apply(this, arguments);\n }\n\n return _initialize;\n }()\n }, {\n key: 'toPossessiveString',\n value: function toPossessiveString(name) {\n if (name[name.length - 1] === 's') {\n return name + '\\'';\n }\n\n return name + '\\'s';\n }\n }, {\n key: '_getStarted',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._singleInviteLink();\n\n case 2:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function _getStarted() {\n return _ref4.apply(this, arguments);\n }\n\n return _getStarted;\n }()\n }, {\n key: '_singleInviteLink',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n this._scope.invitationCode = this._cartService.getInviteCode();\n\n if (this._scope.invitationCode) {\n _context5.next = 7;\n break;\n }\n\n _context5.next = 4;\n return this._cartService.getInvitationCode();\n\n case 4:\n this._scope.invitationCode = _context5.sent;\n\n this._cartService.setInviteCode(this._scope.invitationCode);\n this._cartService.setInvitationType(_CommonConstants2.default.InvitationTypes.share);\n\n case 7:\n\n this._scope.returnToPreview = false;\n this._setCurrentTabById(_CommonConstants2.default.OrderSetupTabs.PREVIEW);\n\n case 9:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function _singleInviteLink() {\n return _ref5.apply(this, arguments);\n }\n\n return _singleInviteLink;\n }()\n }, {\n key: '_resetConfiguration',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n var storedConfiguration;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return this._localForageService.retrieve(_CommonConstants2.default.SessionStorage.CREATE_ORDER_CONFIGURATION);\n\n case 2:\n storedConfiguration = _context6.sent;\n\n if (!storedConfiguration) {\n _context6.next = 8;\n break;\n }\n\n _context6.next = 6;\n return this._groupOrderService.loadConfiguration(JSON.parse(storedConfiguration));\n\n case 6:\n _context6.next = 15;\n break;\n\n case 8:\n if (!this._initialConfiguration) {\n _context6.next = 13;\n break;\n }\n\n _context6.next = 11;\n return this._groupOrderService.loadConfiguration(this._initialConfiguration);\n\n case 11:\n _context6.next = 15;\n break;\n\n case 13:\n _context6.next = 15;\n return this._groupOrderService.initConfiguration();\n\n case 15:\n\n // external store: always pay for everyone - set this up before showing set up wizard\n if (this._cartonomyConfig.externalStoreMode) {\n this._groupOrderService.setGroupPay(this._groupOrderService.PayForEveryone);\n this._groupOrderService.setSinglePayOrder(this._groupOrderService.getSinglePayOrder() || {\n enterPaymentInformation: 'no'\n });\n }\n\n case 16:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _resetConfiguration() {\n return _ref6.apply(this, arguments);\n }\n\n return _resetConfiguration;\n }()\n }, {\n key: '_onUserAddressesReceived',\n value: function _onUserAddressesReceived(addresses) {\n if (!addresses) {\n return;\n }\n\n this._scope.deliveryAddresses = addresses.filter(function (address) {\n return address.addressType === _CommonConstants2.default.AddressType.SHIPPING;\n }).map(function (address) {\n return {\n label: address.address + (address.address2 ? ', ' + address.address2 : '') + ', ' + address.city + ', ' + address.state + ' ' + address.zip,\n id: address.id,\n source: address\n };\n });\n\n this._scope.deliveryAddresses.push({\n label: this.$translate.instant('client.user.address_enter'),\n id: 0\n });\n }\n }, {\n key: '_setCurrentTab',\n value: function _setCurrentTab(index) {\n this._scope.groupPay = this._groupOrderService.getGroupPay();\n this._scope.selectedIndex = index;\n var tab = this._scope.tabs[this._scope.selectedIndex];\n\n if (tab && tab.customAction) {\n tab.customAction();\n return;\n }\n\n this._scope.selectedTab = tab;\n\n _scope2.default.apply(this._scope);\n }\n }, {\n key: '_setCurrentTabById',\n value: function _setCurrentTabById(id) {\n var tab = _.find(this._scope.tabs, { id: id });\n this._setCurrentTab(_.indexOf(this._scope.tabs, tab));\n }\n }, {\n key: '_showCancelTab',\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n return _context7.abrupt('return');\n\n case 4:\n return _context7.abrupt('return');\n\n case 5:\n //\n // if (this._scope.selectedTab.id === Constants.OrderSetupTabs.CANCEL) {\n // this._scope.restoreOrder();\n // return;\n // }\n //\n // if (this._tabToShow && (this._scope._editMode || !this._cartonomyConfig.externalStoreMode)) {\n // this._scope.cancelOrder();\n // return;\n // }\n //\n this._tabBeforeCancel = this._scope.selectedTab.id;\n this._setCurrentTabById(_CommonConstants2.default.OrderSetupTabs.CANCELEDITING);\n\n case 7:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function _showCancelTab() {\n return _ref7.apply(this, arguments);\n }\n\n return _showCancelTab;\n }()\n }, {\n key: '_openSplashScreen',\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return this._resetConfiguration();\n\n case 2:\n this._setCurrentTabById(_CommonConstants2.default.OrderSetupTabs.PREVIEW);\n\n case 3:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function _openSplashScreen() {\n return _ref8.apply(this, arguments);\n }\n\n return _openSplashScreen;\n }()\n }, {\n key: '_closeOrderDialog',\n value: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9(forceClose) {\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n if (!(this._scope._editMode || !this._cartonomyConfig.externalStoreMode || forceClose)) {\n _context9.next = 4;\n break;\n }\n\n this._dialogService.cancel();\n this._rootScope.$broadcast(_CommonConstants2.default.Events.DIALOG_CLOSED);\n return _context9.abrupt('return');\n\n case 4:\n _context9.next = 6;\n return this._localForageService.store(_CommonConstants2.default.SessionStorage.CREATE_ORDER_CURRENT_TAB, this._scope.selectedTab.id);\n\n case 6:\n _context9.next = 8;\n return this._localForageService.store(_CommonConstants2.default.SessionStorage.CREATE_ORDER_CONFIGURATION, JSON.stringify(this._groupOrderService._configuration));\n\n case 8:\n\n if (!this._rootScope.collapsed) {\n if (!this._rootScope.orderCreationCancelRequested) {\n this._rootScope.toggleWindowState();\n }\n this._dialogService.cancel();\n }\n\n case 9:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function _closeOrderDialog(_x2) {\n return _ref9.apply(this, arguments);\n }\n\n return _closeOrderDialog;\n }()\n }, {\n key: '_restoreOrder',\n value: function _restoreOrder() {\n this._setCurrentTabById(this._tabBeforeCancel);\n }\n }, {\n key: '_backEnabled',\n value: function _backEnabled() {\n return (this._cartonomyConfig.externalStoreMode || !this._tabToShow) && this._scope.selectedIndex > this.startTabIndex && this._scope.selectedIndex <= this._scope.tabs.length - 1 && !this._scope.returnToPreview && this._scope.tabs[this._scope.selectedIndex].id !== _CommonConstants2.default.OrderSetupTabs.FINISH && !this._scope.tabs[this._scope.selectedIndex].disableBackButton;\n }\n }, {\n key: '_back',\n value: function _back() {\n if (this._scope.__editMode) {}\n var newIndex = this._scope.selectedIndex - 1;\n for (; newIndex > 0; newIndex--) {\n if (!this._scope.tabs[newIndex].disabled) {\n break;\n }\n }\n this._setCurrentTab(newIndex);\n }\n }, {\n key: '_cancelPreview',\n value: function _cancelPreview() {\n this._scope.returnToPreview = false;\n }\n }, {\n key: '_next',\n value: function _next() {\n if ((this._scope._editMode || !this._cartonomyConfig.externalStoreMode) && this._tabToShow) {\n this._dialogService.hide();\n return;\n }\n\n if (this._scope.returnToPreview) {\n this._scope.returnToPreview = false;\n this._setCurrentTabById(_CommonConstants2.default.OrderSetupTabs.PREVIEW);\n return;\n }\n\n var newIndex = this._scope.selectedIndex + 1;\n for (; newIndex < this._scope.tabs.length; newIndex++) {\n if (!this._scope.tabs[newIndex].disabled) {\n break;\n }\n }\n this._setCurrentTab(newIndex);\n }\n }, {\n key: '_showFinishDialog',\n value: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return this._finishOrderSetup();\n\n case 2:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function _showFinishDialog() {\n return _ref10.apply(this, arguments);\n }\n\n return _showFinishDialog;\n }()\n }, {\n key: '_finishOrderSetup',\n value: function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n _context11.next = 2;\n return this._stateService.go(_CommonConstants2.default.RoutingStates.CART);\n\n case 2:\n this._rootScope.$broadcast(_CommonConstants2.default.Events.ORDER_CREATED);\n this._dialogService.hide();\n _context11.next = 6;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.CREATE_ORDER_CONFIGURATION);\n\n case 6:\n _context11.next = 8;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.CREATE_ORDER_CURRENT_TAB);\n\n case 8:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function _finishOrderSetup() {\n return _ref11.apply(this, arguments);\n }\n\n return _finishOrderSetup;\n }()\n }, {\n key: '_previewTab',\n value: function _previewTab(tabId) {\n this._scope.returnToPreview = true;\n this._scope.setCurrentTabById(tabId);\n }\n }, {\n key: '_enableTab',\n value: function _enableTab(tabId, enable) {\n var tab = _.find(this._scope.tabs, { id: tabId });\n tab.disabled = !enable;\n }\n }, {\n key: '_acceptDeleteContact',\n value: function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {\n return regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n _context12.next = 2;\n return this._groupOrderService.deleteContact(this._scope.contactDelete.contactUserId);\n\n case 2:\n\n // 2. back to Add people tab\n this._setCurrentTabById(_CommonConstants2.default.OrderSetupTabs.ADD_PEOPLE);\n\n case 3:\n case 'end':\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function _acceptDeleteContact() {\n return _ref12.apply(this, arguments);\n }\n\n return _acceptDeleteContact;\n }()\n }, {\n key: '_backToCreateOrder',\n value: function _backToCreateOrder() {\n this._setCurrentTabById(_CommonConstants2.default.OrderSetupTabs.ADD_PEOPLE);\n }\n }, {\n key: '_createTabs',\n value: function _createTabs() {\n var _this3 = this;\n\n this._scope.tabs = [\n // {\n // id: Constants.OrderSetupTabs.WELCOME,\n // title: '',\n // templateUrl: 'welcome.html',\n // template: require('../views/orderSetupTabs/welcome.jade')()\n // },\n {\n id: _CommonConstants2.default.OrderSetupTabs.PREVIEW,\n title: 'client.order.tab.finalize_details',\n templateUrl: 'preview.html',\n custom: true\n }, {\n id: _CommonConstants2.default.OrderSetupTabs.ADD_PEOPLE,\n title: 'client.order.tab.add_people',\n templateUrl: 'addPeople.html',\n custom: true,\n disableBackButton: true\n }, {\n id: _CommonConstants2.default.OrderSetupTabs.DELIVERY_MODE,\n title: 'client.order.tab.choose_delivery',\n templateUrl: 'deliveryMode.html',\n disabled: !!this._cartonomyConfig.externalStoreMode\n }, {\n id: _CommonConstants2.default.OrderSetupTabs.DELIVERY_ADDRESS,\n title: '',\n templateUrl: 'deliveryAddress.html',\n disabled: !!this._cartonomyConfig.externalStoreMode\n }, {\n id: _CommonConstants2.default.OrderSetupTabs.PAY_MODE,\n title: 'client.order.tab.who_pay',\n templateUrl: 'payMode.html',\n disabled: !!this._cartonomyConfig.externalStoreMode\n }, {\n id: _CommonConstants2.default.OrderSetupTabs.DEADLINE,\n title: '',\n templateUrl: 'deadline.html',\n disabled: !!this._cartonomyConfig.externalStoreMode\n }, {\n id: _CommonConstants2.default.OrderSetupTabs.BUDGET,\n title: '',\n templateUrl: 'budget.html',\n disabled: !!this._cartonomyConfig.externalStoreMode\n }, {\n id: _CommonConstants2.default.OrderSetupTabs.PAYMENT_DETAILS,\n title: 'client.order.tab.payment_info',\n templateUrl: 'paymentDetails.html',\n disabled: true\n }, {\n id: _CommonConstants2.default.OrderSetupTabs.FINISH,\n title: 'client.order.tab.all_set',\n templateUrl: 'finish.html',\n custom: true,\n customAction: function () {\n var _ref13 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13() {\n return regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n _context13.next = 2;\n return _this3._showFinishDialog();\n\n case 2:\n return _context13.abrupt('return', _context13.sent);\n\n case 3:\n case 'end':\n return _context13.stop();\n }\n }\n }, _callee13, _this3);\n }));\n\n return function customAction() {\n return _ref13.apply(this, arguments);\n };\n }()\n }, {\n id: _CommonConstants2.default.OrderSetupTabs.CANCEL,\n title: 'client.order.tab.cancel_order',\n templateUrl: 'cancel.html',\n disabled: true,\n custom: true\n }, {\n id: _CommonConstants2.default.OrderSetupTabs.CANCELEDITING,\n title: 'client.order.tab.cancel_editing',\n templateUrl: 'cancelEditing.html',\n disabled: true,\n custom: true\n }, {\n id: _CommonConstants2.default.OrderSetupTabs.CONFIRM_DELETE_CONTACT,\n title: '',\n templateUrl: 'confirmDeleteContact.html',\n template: __webpack_require__(691)()\n }, {\n id: _CommonConstants2.default.OrderSetupTabs.INVITE_WELCOME,\n title: '',\n templateUrl: 'inviteWelcome.html',\n template: __webpack_require__(692)(),\n custom: true\n }];\n }\n }]);\n\n return OrderSetupDialogController;\n}();\n\nOrderSetupDialogController.$inject = ['$scope', '$window', 'cartonomyConfig', '$rootScope', '$mdDialog', 'Message', 'tabToShow', 'initialConfiguration', 'UserProfile', 'GroupOrder', 'paymentOptions', 'editMode', 'Session', 'LocalForageService', 'CartService', '$state', 'HeapService', 'initialCart', '$translate'];\nexports.default = OrderSetupDialogController;\n\n/***/ }),\n/* 420 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// HTML5 entities map: { name -> utf16string }\n//\n\n\n/*eslint quotes:0*/\n\nmodule.exports = __webpack_require__(705);\n\n/***/ }),\n/* 421 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports.encode = __webpack_require__(706);\nmodule.exports.decode = __webpack_require__(707);\nmodule.exports.format = __webpack_require__(708);\nmodule.exports.parse = __webpack_require__(709);\n\n/***/ }),\n/* 422 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = /[\\0-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\n/***/ }),\n/* 423 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = /[\\0-\\x1F\\x7F-\\x9F]/;\n\n/***/ }),\n/* 424 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = /[ \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/;\n\n/***/ }),\n/* 425 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Regexps to match html elements\n\n\n\nvar attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*';\n\nvar unquoted = '[^\"\\'=<>`\\\\x00-\\\\x20]+';\nvar single_quoted = \"'[^']*'\";\nvar double_quoted = '\"[^\"]*\"';\n\nvar attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')';\n\nvar attribute = '(?:\\\\s+' + attr_name + '(?:\\\\s*=\\\\s*' + attr_value + ')?)';\n\nvar open_tag = '<[A-Za-z][A-Za-z0-9\\\\-]*' + attribute + '*\\\\s*\\\\/?>';\n\nvar close_tag = '<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>';\nvar comment = '|';\nvar processing = '<[?].*?[?]>';\nvar declaration = ']*>';\nvar cdata = '';\n\nvar HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment + '|' + processing + '|' + declaration + '|' + cdata + ')');\nvar HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + ')');\n\nmodule.exports.HTML_TAG_RE = HTML_TAG_RE;\nmodule.exports.HTML_OPEN_CLOSE_TAG_RE = HTML_OPEN_CLOSE_TAG_RE;\n\n/***/ }),\n/* 426 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// ~~strike through~~\n//\n\n\n// Insert each marker as a separate text token, and add it to delimiter list\n//\n\nmodule.exports.tokenize = function strikethrough(state, silent) {\n var i,\n scanned,\n token,\n len,\n ch,\n start = state.pos,\n marker = state.src.charCodeAt(start);\n\n if (silent) {\n return false;\n }\n\n if (marker !== 0x7E /* ~ */) {\n return false;\n }\n\n scanned = state.scanDelims(state.pos, true);\n len = scanned.length;\n ch = String.fromCharCode(marker);\n\n if (len < 2) {\n return false;\n }\n\n if (len % 2) {\n token = state.push('text', '', 0);\n token.content = ch;\n len--;\n }\n\n for (i = 0; i < len; i += 2) {\n token = state.push('text', '', 0);\n token.content = ch + ch;\n\n state.delimiters.push({\n marker: marker,\n jump: i,\n token: state.tokens.length - 1,\n level: state.level,\n end: -1,\n open: scanned.can_open,\n close: scanned.can_close\n });\n }\n\n state.pos += scanned.length;\n\n return true;\n};\n\n// Walk through delimiter list and replace text tokens with tags\n//\nmodule.exports.postProcess = function strikethrough(state) {\n var i,\n j,\n startDelim,\n endDelim,\n token,\n loneMarkers = [],\n delimiters = state.delimiters,\n max = state.delimiters.length;\n\n for (i = 0; i < max; i++) {\n startDelim = delimiters[i];\n\n if (startDelim.marker !== 0x7E /* ~ */) {\n continue;\n }\n\n if (startDelim.end === -1) {\n continue;\n }\n\n endDelim = delimiters[startDelim.end];\n\n token = state.tokens[startDelim.token];\n token.type = 's_open';\n token.tag = 's';\n token.nesting = 1;\n token.markup = '~~';\n token.content = '';\n\n token = state.tokens[endDelim.token];\n token.type = 's_close';\n token.tag = 's';\n token.nesting = -1;\n token.markup = '~~';\n token.content = '';\n\n if (state.tokens[endDelim.token - 1].type === 'text' && state.tokens[endDelim.token - 1].content === '~') {\n\n loneMarkers.push(endDelim.token - 1);\n }\n }\n\n // If a marker sequence has an odd number of characters, it's splitted\n // like this: `~~~~~` -> `~` + `~~` + `~~`, leaving one marker at the\n // start of the sequence.\n //\n // So, we have to move all those markers after subsequent s_close tags.\n //\n while (loneMarkers.length) {\n i = loneMarkers.pop();\n j = i + 1;\n\n while (j < state.tokens.length && state.tokens[j].type === 's_close') {\n j++;\n }\n\n j--;\n\n if (i !== j) {\n token = state.tokens[j];\n state.tokens[j] = state.tokens[i];\n state.tokens[i] = token;\n }\n }\n};\n\n/***/ }),\n/* 427 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Process *this* and _that_\n//\n\n\n// Insert each marker as a separate text token, and add it to delimiter list\n//\n\nmodule.exports.tokenize = function emphasis(state, silent) {\n var i,\n scanned,\n token,\n start = state.pos,\n marker = state.src.charCodeAt(start);\n\n if (silent) {\n return false;\n }\n\n if (marker !== 0x5F /* _ */ && marker !== 0x2A /* * */) {\n return false;\n }\n\n scanned = state.scanDelims(state.pos, marker === 0x2A);\n\n for (i = 0; i < scanned.length; i++) {\n token = state.push('text', '', 0);\n token.content = String.fromCharCode(marker);\n\n state.delimiters.push({\n // Char code of the starting marker (number).\n //\n marker: marker,\n\n // Total length of these series of delimiters.\n //\n length: scanned.length,\n\n // An amount of characters before this one that's equivalent to\n // current one. In plain English: if this delimiter does not open\n // an emphasis, neither do previous `jump` characters.\n //\n // Used to skip sequences like \"*****\" in one step, for 1st asterisk\n // value will be 0, for 2nd it's 1 and so on.\n //\n jump: i,\n\n // A position of the token this delimiter corresponds to.\n //\n token: state.tokens.length - 1,\n\n // Token level.\n //\n level: state.level,\n\n // If this delimiter is matched as a valid opener, `end` will be\n // equal to its position, otherwise it's `-1`.\n //\n end: -1,\n\n // Boolean flags that determine if this delimiter could open or close\n // an emphasis.\n //\n open: scanned.can_open,\n close: scanned.can_close\n });\n }\n\n state.pos += scanned.length;\n\n return true;\n};\n\n// Walk through delimiter list and replace text tokens with tags\n//\nmodule.exports.postProcess = function emphasis(state) {\n var i,\n startDelim,\n endDelim,\n token,\n ch,\n isStrong,\n delimiters = state.delimiters,\n max = state.delimiters.length;\n\n for (i = max - 1; i >= 0; i--) {\n startDelim = delimiters[i];\n\n if (startDelim.marker !== 0x5F /* _ */ && startDelim.marker !== 0x2A /* * */) {\n continue;\n }\n\n // Process only opening markers\n if (startDelim.end === -1) {\n continue;\n }\n\n endDelim = delimiters[startDelim.end];\n\n // If the previous delimiter has the same marker and is adjacent to this one,\n // merge those into one strong delimiter.\n //\n // `whatever` -> `whatever`\n //\n isStrong = i > 0 && delimiters[i - 1].end === startDelim.end + 1 && delimiters[i - 1].token === startDelim.token - 1 && delimiters[startDelim.end + 1].token === endDelim.token + 1 && delimiters[i - 1].marker === startDelim.marker;\n\n ch = String.fromCharCode(startDelim.marker);\n\n token = state.tokens[startDelim.token];\n token.type = isStrong ? 'strong_open' : 'em_open';\n token.tag = isStrong ? 'strong' : 'em';\n token.nesting = 1;\n token.markup = isStrong ? ch + ch : ch;\n token.content = '';\n\n token = state.tokens[endDelim.token];\n token.type = isStrong ? 'strong_close' : 'em_close';\n token.tag = isStrong ? 'strong' : 'em';\n token.nesting = -1;\n token.markup = isStrong ? ch + ch : ch;\n token.content = '';\n\n if (isStrong) {\n state.tokens[delimiters[i - 1].token].content = '';\n state.tokens[delimiters[startDelim.end + 1].token].content = '';\n i--;\n }\n }\n};\n\n/***/ }),\n/* 428 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar StoreAdminCartController = function () {\n function StoreAdminCartController(scope, CartService, $state, $rootScope, sessionService) {\n var _this = this;\n\n _classCallCheck(this, StoreAdminCartController);\n\n this._scope = scope;\n this._sessionService = sessionService;\n this._cartService = CartService;\n this._stateService = $state;\n this._rootScope = $rootScope;\n this.carts = [];\n\n scope.overlayOpened = false;\n scope.model = this;\n\n scope.backToProfile = function () {\n if (_this._sessionService.getStealthUserMode()) {\n _this._sessionService.setStealthUserMode(null);\n _this._cartService.resetCart();\n _this._rootScope.$broadcast(_CommonConstants2.default.Events.ORDER_CANCELLED);\n }\n\n _this._stateService.go(_CommonConstants2.default.RoutingStates.USER_PROFILE);\n };\n scope.goToCart = function (cartId) {\n return _this.goToCart(cartId);\n };\n scope.joinToCart = function (cartId, cartToken) {\n return _this.joinToCart(cartId, cartToken);\n };\n }\n\n _createClass(StoreAdminCartController, [{\n key: \"$onInit\",\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var _this2 = this;\n\n var carts;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n carts = {};\n\n if (!(this._stateService.current.name === _CommonConstants2.default.RoutingStates.OPEN_CARTS)) {\n _context.next = 8;\n break;\n }\n\n this._rootScope.storeWindowTitle = 'client.carts';\n _context.next = 5;\n return this._cartService.getCartReport(\"OPEN\");\n\n case 5:\n carts = _context.sent;\n _context.next = 12;\n break;\n\n case 8:\n this._rootScope.storeWindowTitle = 'client.order.group_report';\n _context.next = 11;\n return this._cartService.getCartReport();\n\n case 11:\n carts = _context.sent;\n\n case 12:\n\n _scope2.default.apply(this._scope, function () {\n _this2.carts = carts;\n });\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function $onInit() {\n return _ref.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: \"goToCart\",\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(cartId) {\n var currentUserEmail, _cart, isOwnerOrParticipant, statuses;\n\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n this._cartService.resetCartInvitationType();\n _context2.next = 3;\n return this._sessionService.getUserEmail();\n\n case 3:\n currentUserEmail = _context2.sent;\n\n this._sessionService.setCartReference(null, false);\n _context2.next = 7;\n return this._cartService.getCartById(cartId);\n\n case 7:\n _cart = _context2.sent;\n isOwnerOrParticipant = false;\n statuses = ['OWNER', 'JOINED'];\n\n if (_cart.participants && _cart.participants.length > 0) {\n isOwnerOrParticipant = _cart.participants.some(function (c) {\n return c.email === currentUserEmail && statuses.indexOf(c.status) > -1;\n });\n }\n\n if (isOwnerOrParticipant) {\n _context2.next = 15;\n break;\n }\n\n this._sessionService.setStealthUserMode(true);\n _context2.next = 19;\n break;\n\n case 15:\n this._sessionService.setStealthUserMode(null);\n // make sure cart is loaded before going to chat;\n this._sessionService.setCartReference(null, false);\n _context2.next = 19;\n return this._cartService.getCart(cartId);\n\n case 19:\n\n this._stateService.go(_CommonConstants2.default.RoutingStates.CART);\n\n case 20:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function goToCart(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return goToCart;\n }()\n\n // accept cart [CW-2538]\n\n }, {\n key: \"joinToCart\",\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(cartId, cartToken) {\n var response;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n this._cartService.shareTokenPromise = null;\n\n _context3.next = 3;\n return this._cartService.acceptInvite(cartToken, true);\n\n case 3:\n response = _context3.sent;\n\n\n this._sessionService.setStealthUserMode(null);\n\n _context3.next = 7;\n return this._cartService.getCart(cartId, false);\n\n case 7:\n\n this._stateService.go(_CommonConstants2.default.RoutingStates.CART);\n\n case 8:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function joinToCart(_x2, _x3) {\n return _ref3.apply(this, arguments);\n }\n\n return joinToCart;\n }()\n }]);\n\n return StoreAdminCartController;\n}();\n\nStoreAdminCartController.$controllerName = 'Cartonomy.Cart.StoreAdminCartController';\nStoreAdminCartController.$inject = ['$scope', 'CartService', '$state', '$rootScope', 'Session'];\nexports.default = StoreAdminCartController;\n\n/***/ }),\n/* 429 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InviteController = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _InviteDialogController = __webpack_require__(789);\n\nvar _InviteDialogController2 = _interopRequireDefault(_InviteDialogController);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _communicationService = __webpack_require__(28);\n\nvar _commandKeys = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar InviteController = exports.InviteController = function () {\n function InviteController($scope, $rootScope, stateParams, cartService, dialogService, stateService, authenticationService, sessionService, localForageService, messageService, cartonomyConfig, HeapService, OrderSetupService, $translate) {\n var _this = this;\n\n _classCallCheck(this, InviteController);\n\n this._stateParams = stateParams;\n this._cartService = cartService;\n this._dialogService = dialogService;\n this._stateService = stateService;\n this._authenticationService = authenticationService;\n this._sessionService = sessionService;\n this._messageService = messageService;\n this._cartonomyConfig = cartonomyConfig;\n //this._sessionStorageService = sessionStorage;\n this._localForageService = localForageService;\n this._rootScope = $rootScope;\n this._heapService = HeapService;\n this._orderSetupService = OrderSetupService;\n this.invitationToken = this._stateService.params;\n this._scope = $scope;\n this.$translate = $translate;\n\n this._rootScope.$on(_CommonConstants2.default.Events.CANCEL_INVITATION, _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this.invitationToken = null;\n _context.next = 3;\n return _this._localForageService.remove(_CommonConstants2.default.SessionStorage.AwaitingInvitation);\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n })));\n\n this._rootScope.$on(_CommonConstants2.default.Events.USER_LOGGED_IN, function () {});\n\n this._scope.$on(\"$destroy\", _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var stateToGo;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _this._sessionService.setCartReference(null);\n _context2.next = 3;\n return _this._cartService.getCart();\n\n case 3:\n stateToGo = _this._cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CHAT : _CommonConstants2.default.RoutingStates.CATALOG;\n _context2.next = 6;\n return _this._stateService.go(stateToGo);\n\n case 6:\n _scope2.default.apply(_this._scope);\n\n case 7:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this);\n })));\n }\n\n _createClass(InviteController, [{\n key: '$onInit',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n var cart;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n\n this.invitationToken = this._stateService.params;\n _context3.next = 4;\n return this._authenticationService.waitForLogin(true);\n\n case 4:\n _context3.next = 6;\n return this._cartService.getCart();\n\n case 6:\n cart = _context3.sent;\n\n this._orderSetupService.invitationPromise = this._safeAccept(cart);\n\n _context3.next = 13;\n break;\n\n case 10:\n _context3.prev = 10;\n _context3.t0 = _context3['catch'](0);\n\n this._showInviteError();\n //await this._handleAcceptError(error);\n\n case 13:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this, [[0, 10]]);\n }));\n\n function $onInit() {\n return _ref3.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: '_acceptInvite',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(forceInvite, resolve) {\n var response, cart, resp;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.prev = 0;\n _context4.next = 3;\n return this._localForageService.store(_CommonConstants2.default.SessionStorage.AwaitingInvitation, JSON.stringify(this.invitationToken));\n\n case 3:\n _context4.next = 5;\n return this._cartService.acceptInvite(this._stateParams.participantToken, forceInvite || false);\n\n case 5:\n response = _context4.sent;\n _context4.next = 8;\n return this._heapService.track('Invite-Accepted', { token: this._stateParams.participantToken });\n\n case 8:\n _context4.next = 10;\n return this._sessionService.setCartReference(null, false);\n\n case 10:\n _context4.next = 12;\n return this._rootScope.$broadcast(_CommonConstants2.default.Events.INVITATION_ACCEPTED);\n\n case 12:\n _context4.next = 14;\n return this._cartService.getCart(response.cartId, false);\n\n case 14:\n cart = _context4.sent;\n _context4.next = 17;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.AwaitingInvitation);\n\n case 17:\n _context4.next = 19;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.InvitationUserInvalid);\n\n case 19:\n if (this._sessionService.isTryingToLogIn) {\n _context4.next = 22;\n break;\n }\n\n _context4.next = 22;\n return this._orderSetupService.showInvitePreview();\n\n case 22:\n _context4.next = 24;\n return this._stateService.go(_CommonConstants2.default.RoutingStates.CHAT);\n\n case 24:\n _context4.next = 26;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.invitationAccepted, { cart: cart });\n\n case 26:\n resp = _context4.sent;\n\n if (!resp.success) {\n this._messageService.showErrorPopup(this.$translate.instant('client.order.group_restrict_add'));\n }\n _context4.next = 34;\n break;\n\n case 30:\n _context4.prev = 30;\n _context4.t0 = _context4['catch'](0);\n _context4.next = 34;\n return this._handleAcceptError(_context4.t0, forceInvite);\n\n case 34:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this, [[0, 30]]);\n }));\n\n function _acceptInvite(_x, _x2) {\n return _ref4.apply(this, arguments);\n }\n\n return _acceptInvite;\n }()\n }, {\n key: '_handleLoginRequest',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(response) {\n var invitedCart, stateToGo;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.prev = 0;\n\n if (!this._sessionService.isTryingToLogIn) {\n _context5.next = 3;\n break;\n }\n\n return _context5.abrupt('return');\n\n case 3:\n _context5.next = 5;\n return this._sessionService.loggedIn();\n\n case 5:\n if (_context5.sent) {\n _context5.next = 12;\n break;\n }\n\n this._sessionService.isTryingToLogIn = true;\n _context5.next = 9;\n return this._cartService.getCartByInvitationCode(this._stateParams.participantToken);\n\n case 9:\n invitedCart = _context5.sent;\n _context5.next = 12;\n return this._authenticationService.showLoginDialog(response.data && response.data.parameters && response.data.parameters.prefillEmail, response.data && response.data.parameters && response.data.parameters.needSignUp ? 'signup' : null, false, invitedCart);\n\n case 12:\n _context5.next = 14;\n return this._sessionService.loggedIn();\n\n case 14:\n if (!_context5.sent) {\n _context5.next = 19;\n break;\n }\n\n _context5.next = 17;\n return this._acceptInvite(null);\n\n case 17:\n this._sessionService.isTryingToLogIn = false;\n return _context5.abrupt('return', false);\n\n case 19:\n _context5.next = 27;\n break;\n\n case 21:\n _context5.prev = 21;\n _context5.t0 = _context5['catch'](0);\n\n if (!(_context5.t0 && _context5.t0.cancel)) {\n _context5.next = 27;\n break;\n }\n\n stateToGo = this._cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CHAT : _CommonConstants2.default.RoutingStates.CATALOG;\n\n this._stateService.go(stateToGo);\n return _context5.abrupt('return', false);\n\n case 27:\n return _context5.abrupt('return', true);\n\n case 28:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this, [[0, 21]]);\n }));\n\n function _handleLoginRequest(_x3) {\n return _ref5.apply(this, arguments);\n }\n\n return _handleLoginRequest;\n }()\n }, {\n key: '_handleAcceptError',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(response, forceInvite) {\n var isInvitationNotForCurrentUser, stateToGo, _stateToGo, isGroupOrder, message, _stateToGo2, _isGroupOrder, _message, _stateToGo3, _stateToGo4;\n\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.t0 = response.status === 401;\n\n if (!_context6.t0) {\n _context6.next = 5;\n break;\n }\n\n _context6.next = 4;\n return this._sessionService.loggedIn();\n\n case 4:\n _context6.t0 = !_context6.sent;\n\n case 5:\n if (!_context6.t0) {\n _context6.next = 14;\n break;\n }\n\n _context6.prev = 6;\n _context6.next = 9;\n return this._handleLoginRequest(response);\n\n case 9:\n _context6.next = 13;\n break;\n\n case 11:\n _context6.prev = 11;\n _context6.t1 = _context6['catch'](6);\n\n case 13:\n return _context6.abrupt('return', null);\n\n case 14:\n _context6.next = 16;\n return this._localForageService.retrieve(_CommonConstants2.default.SessionStorage.InvitationUserInvalid);\n\n case 16:\n isInvitationNotForCurrentUser = _context6.sent;\n\n if (!(response.status === 403 && response.data.exceptionType === 'UnauthorizedGroupOrderInvitationException')) {\n _context6.next = 31;\n break;\n }\n\n if (!isInvitationNotForCurrentUser) {\n _context6.next = 21;\n break;\n }\n\n _context6.next = 21;\n return this._messageService.showMessagePopup(this.$translate.instant('client.user.email_different', { email: response.data.parameters.prefillEmail }), this.$translate.instant('client.order.joining'));\n\n case 21:\n _context6.next = 23;\n return this._authenticationService.logout();\n\n case 23:\n _context6.next = 25;\n return this._localForageService.exists(_CommonConstants2.default.SessionStorage.InvitationUserInvalid);\n\n case 25:\n if (!_context6.sent) {\n _context6.next = 28;\n break;\n }\n\n _context6.next = 28;\n return this._localForageService.store(_CommonConstants2.default.SessionStorage.InvitationUserInvalid, true);\n\n case 28:\n _context6.next = 30;\n return this._acceptInvite();\n\n case 30:\n return _context6.abrupt('return', null);\n\n case 31:\n if (!(response.status === 403 && response.data.exceptionType === 'JoiningCartHasBeenClosedException')) {\n _context6.next = 51;\n break;\n }\n\n _context6.next = 34;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.AwaitingInvitation);\n\n case 34:\n _context6.next = 36;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.InvitationUserInvalid);\n\n case 36:\n\n this._sessionService.setCartReference(null, false);\n _context6.next = 39;\n return this._cartService.getCart();\n\n case 39:\n this._rootScope.$broadcast(_CommonConstants2.default.Events.INVITATION_FAILED_DUE_TO_CART_CLOSED);\n\n _context6.next = 42;\n return this._messageService.showMessagePopup(response.data.message);\n\n case 42:\n _context6.next = 44;\n return this._sessionService.loggedIn();\n\n case 44:\n if (_context6.sent) {\n _context6.next = 47;\n break;\n }\n\n _context6.next = 47;\n return this._authenticationService.showLoginDialog('', 'facade', true);\n\n case 47:\n stateToGo = this._cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CHAT : _CommonConstants2.default.RoutingStates.CATALOG;\n _context6.next = 50;\n return this._stateService.go(stateToGo);\n\n case 50:\n return _context6.abrupt('return', null);\n\n case 51:\n if (!(response.status === 403 && response.data.exceptionType === 'JoiningOwnCartException')) {\n _context6.next = 57;\n break;\n }\n\n _context6.next = 54;\n return this._messageService.showErrorPopupForResponse(response);\n\n case 54:\n _stateToGo = this._cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CHAT : _CommonConstants2.default.RoutingStates.CATALOG;\n\n this._stateService.go(_stateToGo);\n return _context6.abrupt('return', null);\n\n case 57:\n if (!(response.status === 409 && response.data.exceptionType === 'CartPaidMergeException' && !forceInvite)) {\n _context6.next = 78;\n break;\n }\n\n _context6.prev = 58;\n _context6.next = 61;\n return this._showInviteConfirmLeavePaidCart();\n\n case 61:\n this._rootScope.forceInvite = true;\n _context6.next = 64;\n return this._acceptInvite(true);\n\n case 64:\n _context6.next = 77;\n break;\n\n case 66:\n _context6.prev = 66;\n _context6.t2 = _context6['catch'](58);\n\n this._sessionService.setCartReference(null, false);\n _context6.next = 71;\n return this._cartService.isGroupOrder();\n\n case 71:\n isGroupOrder = _context6.sent;\n message = this.$translate.instant('client.order.group_order_declined') + ' ' + (isGroupOrder ? this.$translate.instant('client.order.group_order_taken') : this.$translate.instant('client.order.group_order_prompted'));\n _context6.next = 75;\n return this._messageService.showMessagePopup(message);\n\n case 75:\n _stateToGo2 = this._cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CHAT : _CommonConstants2.default.RoutingStates.CATALOG;\n\n this._stateService.go(_stateToGo2);\n\n case 77:\n return _context6.abrupt('return', null);\n\n case 78:\n if (!(response.status === 409 && !forceInvite)) {\n _context6.next = 99;\n break;\n }\n\n _context6.prev = 79;\n _context6.next = 82;\n return this._showInviteConfirm();\n\n case 82:\n this._rootScope.forceInvite = true;\n _context6.next = 85;\n return this._acceptInvite(true);\n\n case 85:\n _context6.next = 98;\n break;\n\n case 87:\n _context6.prev = 87;\n _context6.t3 = _context6['catch'](79);\n\n this._sessionService.setCartReference(null, false);\n _context6.next = 92;\n return this._cartService.isGroupOrder();\n\n case 92:\n _isGroupOrder = _context6.sent;\n _message = this.$translate.instant('client.order.group_order_declined') + ' ' + (_isGroupOrder ? this.$translate.instant('client.order.group_order_taken') : this.$translate.instant('client.order.group_order_prompted'));\n _context6.next = 96;\n return this._messageService.showMessagePopup(_message);\n\n case 96:\n _stateToGo3 = this._cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CHAT : _CommonConstants2.default.RoutingStates.CATALOG;\n\n this._stateService.go(_stateToGo3);\n\n case 98:\n return _context6.abrupt('return', null);\n\n case 99:\n if (!this._messageService.isErrorResponse(response)) {\n _context6.next = 105;\n break;\n }\n\n _context6.next = 102;\n return this._messageService.showErrorPopupForResponse(response);\n\n case 102:\n _stateToGo4 = this._cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CHAT : _CommonConstants2.default.RoutingStates.CATALOG;\n\n this._stateService.go(_stateToGo4);\n return _context6.abrupt('return', null);\n\n case 105:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this, [[6, 11], [58, 66], [79, 87]]);\n }));\n\n function _handleAcceptError(_x4, _x5) {\n return _ref6.apply(this, arguments);\n }\n\n return _handleAcceptError;\n }()\n }, {\n key: '_safeAccept',\n value: function _safeAccept(cart) {\n var _this2 = this;\n\n return new Promise(function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(resolve) {\n var confirmed, _confirmed;\n\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return _this2._sessionService.loggedIn();\n\n case 2:\n if (!_context7.sent) {\n _context7.next = 7;\n break;\n }\n\n _context7.next = 5;\n return _this2._acceptInvite(false);\n\n case 5:\n _context7.next = 33;\n break;\n\n case 7:\n _context7.next = 9;\n return _this2._cartService.isGroupOrder(cart);\n\n case 9:\n if (!_context7.sent) {\n _context7.next = 18;\n break;\n }\n\n _context7.next = 12;\n return _this2._messageService.showQuestionPopup(_this2.$translate.instant('client.order.user_removed'), _this2.$translate.instant('client.order.joining'), _this2.$translate.instant(client.yes), _this2.$translate.instant(client.no), 'md-warn');\n\n case 12:\n confirmed = _context7.sent;\n\n if (!confirmed) {\n _context7.next = 16;\n break;\n }\n\n _context7.next = 16;\n return _this2._acceptInvite(false);\n\n case 16:\n _context7.next = 33;\n break;\n\n case 18:\n if (cart.items.length) {\n _context7.next = 25;\n break;\n }\n\n _context7.next = 21;\n return _this2._cartService.deleteCart();\n\n case 21:\n _context7.next = 23;\n return _this2._acceptInvite(false);\n\n case 23:\n _context7.next = 33;\n break;\n\n case 25:\n _context7.next = 27;\n return _this2._messageService.showQuestionPopup(_this2.$translate.instant('client.order.item_removed'), _this2.$translate.instant('client.order.joining'), _this2.$translate.instant(client.yes), _this2.$translate.instant(client.no), 'md-warn');\n\n case 27:\n _confirmed = _context7.sent;\n\n if (!_confirmed) {\n _context7.next = 33;\n break;\n }\n\n _context7.next = 31;\n return _this2._cartService.deleteCart();\n\n case 31:\n _context7.next = 33;\n return _this2._acceptInvite(false);\n\n case 33:\n resolve();\n\n case 34:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, _this2);\n }));\n\n return function (_x6) {\n return _ref7.apply(this, arguments);\n };\n }());\n }\n }, {\n key: '_showInviteWelcome',\n value: function _showInviteWelcome(response) {\n\n // if (response.alreadyJoined) {\n // this._authenticationService.loginWithInviteToken(response);\n // this._stateService.go(Constants.RoutingStates.CATALOG);\n // }\n\n\n return this._dialogService.show({\n controller: (0, _InviteDialogController2.default)(response),\n templateUrl: \"modules/order/views/inviteWelcome.html\",\n clickOutsideToClose: false\n });\n }\n }, {\n key: '_showInviteConfirm',\n value: function _showInviteConfirm() {\n var _this3 = this;\n\n // [CW-2417]\n this._rootScope.storeWindowTitle = \"client.order.joining_group\";\n return this._dialogService.show({\n controller: ['$scope', '$mdDialog', function (scope, dialogService) {\n scope.accept = function () {\n dialogService.hide();\n _this3._rootScope.storeWindowTitle = null;\n };\n scope.cancel = function () {\n dialogService.cancel();\n _this3._rootScope.storeWindowTitle = null;\n };\n }],\n templateUrl: \"modules/order/views/inviteConfirm.html\",\n clickOutsideToClose: false\n });\n }\n }, {\n key: '_showInviteConfirmLeavePaidCart',\n value: function _showInviteConfirmLeavePaidCart() {\n return this._dialogService.show({\n controller: ['$scope', '$mdDialog', function (scope, dialogService) {\n scope.accept = function () {\n dialogService.hide();\n };\n scope.cancel = function () {\n dialogService.cancel();\n };\n }],\n template: __webpack_require__(790),\n clickOutsideToClose: false\n });\n }\n }, {\n key: '_showInviteError',\n value: function _showInviteError() {\n var _this4 = this;\n\n return this._dialogService.show({\n controller: ['$scope', '$mdDialog', function (scope, dialogService) {\n\n scope.ok = function () {\n dialogService.hide();\n var stateToGo = _this4._cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CART : _CommonConstants2.default.RoutingStates.CATALOG;\n _this4._stateService.go(stateToGo);\n };\n }],\n templateUrl: \"modules/order/views/inviteFailed.html\",\n clickOutsideToClose: false\n });\n }\n }]);\n\n return InviteController;\n}();\n\nInviteController.$inject = ['$scope', '$rootScope', '$stateParams', 'CartService', '$mdDialog', '$state', 'AuthenticationService', 'Session', 'LocalForageService', 'Message', 'cartonomyConfig', 'HeapService', 'OrderSetupService', '$translate'];\n\n/***/ }),\n/* 430 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nexports.default = ['$scope', '$mdDialog', 'product', function (scope, dialogService, product) {\n\n var shortDescriptionLimit = 160;\n\n _.assign(scope, product);\n\n scope.showFullDescription = false;\n scope.showMoreLess = product.description.length > shortDescriptionLimit;\n scope.descriptionTruncated = product.description.substring(0, shortDescriptionLimit);\n\n scope.ok = function () {\n return dialogService.hide();\n };\n}];\n\n/***/ }),\n/* 431 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar Config = {};\nConfig.Emoji = {\n \"00a9\": [\"\\xA9\", [\"copyright\"]],\n \"00ae\": [\"\\xAE\", [\"registered\"]],\n \"203c\": [\"\\u203C\", [\"bangbang\"]],\n \"2049\": [\"\\u2049\", [\"interrobang\"]],\n \"2122\": [\"\\u2122\", [\"tm\"]],\n \"2139\": [\"\\u2139\", [\"information_source\"]],\n \"2194\": [\"\\u2194\", [\"left_right_arrow\"]],\n \"2195\": [\"\\u2195\", [\"arrow_up_down\"]],\n \"2196\": [\"\\u2196\", [\"arrow_upper_left\"]],\n \"2197\": [\"\\u2197\", [\"arrow_upper_right\"]],\n \"2198\": [\"\\u2198\", [\"arrow_lower_right\"]],\n \"2199\": [\"\\u2199\", [\"arrow_lower_left\"]],\n \"21a9\": [\"\\u21A9\", [\"leftwards_arrow_with_hook\"]],\n \"21aa\": [\"\\u21AA\", [\"arrow_right_hook\"]],\n \"231a\": [\"\\u231A\", [\"watch\"]],\n \"231b\": [\"\\u231B\", [\"hourglass\"]],\n \"23e9\": [\"\\u23E9\", [\"fast_forward\"]],\n \"23ea\": [\"\\u23EA\", [\"rewind\"]],\n \"23eb\": [\"\\u23EB\", [\"arrow_double_up\"]],\n \"23ec\": [\"\\u23EC\", [\"arrow_double_down\"]],\n \"23f0\": [\"\\u23F0\", [\"alarm_clock\"]],\n \"23f3\": [\"\\u23F3\", [\"hourglass_flowing_sand\"]],\n \"24c2\": [\"\\u24C2\", [\"m\"]],\n \"25aa\": [\"\\u25AA\", [\"black_small_square\"]],\n \"25ab\": [\"\\u25AB\", [\"white_small_square\"]],\n \"25b6\": [\"\\u25B6\", [\"arrow_forward\"]],\n \"25c0\": [\"\\u25C0\", [\"arrow_backward\"]],\n \"25fb\": [\"\\u25FB\", [\"white_medium_square\"]],\n \"25fc\": [\"\\u25FC\", [\"black_medium_square\"]],\n \"25fd\": [\"\\u25FD\", [\"white_medium_small_square\"]],\n \"25fe\": [\"\\u25FE\", [\"black_medium_small_square\"]],\n \"2600\": [\"\\u2600\", [\"sunny\"]],\n \"2601\": [\"\\u2601\", [\"cloud\"]],\n \"260e\": [\"\\u260E\", [\"phone\", \"telephone\"]],\n \"2611\": [\"\\u2611\", [\"ballot_box_with_check\"]],\n \"2614\": [\"\\u2614\", [\"umbrella\"]],\n \"2615\": [\"\\u2615\", [\"coffee\"]],\n \"261d\": [\"\\u261D\", [\"point_up\"]],\n \"263a\": [\"\\u263A\", [\"relaxed\"]],\n \"2648\": [\"\\u2648\", [\"aries\"]],\n \"2649\": [\"\\u2649\", [\"taurus\"]],\n \"264a\": [\"\\u264A\", [\"gemini\"]],\n \"264b\": [\"\\u264B\", [\"cancer\"]],\n \"264c\": [\"\\u264C\", [\"leo\"]],\n \"264d\": [\"\\u264D\", [\"virgo\"]],\n \"264e\": [\"\\u264E\", [\"libra\"]],\n \"264f\": [\"\\u264F\", [\"scorpius\"]],\n \"2650\": [\"\\u2650\", [\"sagittarius\"]],\n \"2651\": [\"\\u2651\", [\"capricorn\"]],\n \"2652\": [\"\\u2652\", [\"aquarius\"]],\n \"2653\": [\"\\u2653\", [\"pisces\"]],\n \"2660\": [\"\\u2660\", [\"spades\"]],\n \"2663\": [\"\\u2663\", [\"clubs\"]],\n \"2665\": [\"\\u2665\", [\"hearts\"]],\n \"2666\": [\"\\u2666\", [\"diamonds\"]],\n \"2668\": [\"\\u2668\", [\"hotsprings\"]],\n \"267b\": [\"\\u267B\", [\"recycle\"]],\n \"267f\": [\"\\u267F\", [\"wheelchair\"]],\n \"2693\": [\"\\u2693\", [\"anchor\"]],\n \"26a0\": [\"\\u26A0\", [\"warning\"]],\n \"26a1\": [\"\\u26A1\", [\"zap\"]],\n \"26aa\": [\"\\u26AA\", [\"white_circle\"]],\n \"26ab\": [\"\\u26AB\", [\"black_circle\"]],\n \"26bd\": [\"\\u26BD\", [\"soccer\"]],\n \"26be\": [\"\\u26BE\", [\"baseball\"]],\n \"26c4\": [\"\\u26C4\", [\"snowman\"]],\n \"26c5\": [\"\\u26C5\", [\"partly_sunny\"]],\n \"26ce\": [\"\\u26CE\", [\"ophiuchus\"]],\n \"26d4\": [\"\\u26D4\", [\"no_entry\"]],\n \"26ea\": [\"\\u26EA\", [\"church\"]],\n \"26f2\": [\"\\u26F2\", [\"fountain\"]],\n \"26f3\": [\"\\u26F3\", [\"golf\"]],\n \"26f5\": [\"\\u26F5\", [\"boat\", \"sailboat\"]],\n \"26fa\": [\"\\u26FA\", [\"tent\"]],\n \"26fd\": [\"\\u26FD\", [\"fuelpump\"]],\n \"2702\": [\"\\u2702\", [\"scissors\"]],\n \"2705\": [\"\\u2705\", [\"white_check_mark\"]],\n \"2708\": [\"\\u2708\", [\"airplane\"]],\n \"2709\": [\"\\u2709\", [\"email\", \"envelope\"]],\n \"270a\": [\"\\u270A\", [\"fist\"]],\n \"270b\": [\"\\u270B\", [\"hand\", \"raised_hand\"]],\n \"270c\": [\"\\u270C\", [\"v\"]],\n \"270f\": [\"\\u270F\", [\"pencil2\"]],\n \"2712\": [\"\\u2712\", [\"black_nib\"]],\n \"2714\": [\"\\u2714\", [\"heavy_check_mark\"]],\n \"2716\": [\"\\u2716\", [\"heavy_multiplication_x\"]],\n \"2728\": [\"\\u2728\", [\"sparkles\"]],\n \"2733\": [\"\\u2733\", [\"eight_spoked_asterisk\"]],\n \"2734\": [\"\\u2734\", [\"eight_pointed_black_star\"]],\n \"2744\": [\"\\u2744\", [\"snowflake\"]],\n \"2747\": [\"\\u2747\", [\"sparkle\"]],\n \"274c\": [\"\\u274C\", [\"x\"]],\n \"274e\": [\"\\u274E\", [\"negative_squared_cross_mark\"]],\n \"2753\": [\"\\u2753\", [\"question\"]],\n \"2754\": [\"\\u2754\", [\"grey_question\"]],\n \"2755\": [\"\\u2755\", [\"grey_exclamation\"]],\n \"2757\": [\"\\u2757\", [\"exclamation\", \"heavy_exclamation_mark\"]],\n \"2764\": [\"\\u2764\", [\"heart\"], \"<3\"],\n \"2795\": [\"\\u2795\", [\"heavy_plus_sign\"]],\n \"2796\": [\"\\u2796\", [\"heavy_minus_sign\"]],\n \"2797\": [\"\\u2797\", [\"heavy_division_sign\"]],\n \"27a1\": [\"\\u27A1\", [\"arrow_right\"]],\n \"27b0\": [\"\\u27B0\", [\"curly_loop\"]],\n \"27bf\": [\"\\u27BF\", [\"loop\"]],\n \"2934\": [\"\\u2934\", [\"arrow_heading_up\"]],\n \"2935\": [\"\\u2935\", [\"arrow_heading_down\"]],\n \"2b05\": [\"\\u2B05\", [\"arrow_left\"]],\n \"2b06\": [\"\\u2B06\", [\"arrow_up\"]],\n \"2b07\": [\"\\u2B07\", [\"arrow_down\"]],\n \"2b1b\": [\"\\u2B1B\", [\"black_large_square\"]],\n \"2b1c\": [\"\\u2B1C\", [\"white_large_square\"]],\n \"2b50\": [\"\\u2B50\", [\"star\"]],\n \"2b55\": [\"\\u2B55\", [\"o\"]],\n \"3030\": [\"\\u3030\", [\"wavy_dash\"]],\n \"303d\": [\"\\u303D\", [\"part_alternation_mark\"]],\n \"3297\": [\"\\u3297\", [\"congratulations\"]],\n \"3299\": [\"\\u3299\", [\"secret\"]],\n \"1f004\": [\"\\uD83C\\uDC04\", [\"mahjong\"]],\n \"1f0cf\": [\"\\uD83C\\uDCCF\", [\"black_joker\"]],\n \"1f170\": [\"\\uD83C\\uDD70\", [\"a\"]],\n \"1f171\": [\"\\uD83C\\uDD71\", [\"b\"]],\n \"1f17e\": [\"\\uD83C\\uDD7E\", [\"o2\"]],\n \"1f17f\": [\"\\uD83C\\uDD7F\", [\"parking\"]],\n \"1f18e\": [\"\\uD83C\\uDD8E\", [\"ab\"]],\n \"1f191\": [\"\\uD83C\\uDD91\", [\"cl\"]],\n \"1f192\": [\"\\uD83C\\uDD92\", [\"cool\"]],\n \"1f193\": [\"\\uD83C\\uDD93\", [\"free\"]],\n \"1f194\": [\"\\uD83C\\uDD94\", [\"id\"]],\n \"1f195\": [\"\\uD83C\\uDD95\", [\"new\"]],\n \"1f196\": [\"\\uD83C\\uDD96\", [\"ng\"]],\n \"1f197\": [\"\\uD83C\\uDD97\", [\"ok\"]],\n \"1f198\": [\"\\uD83C\\uDD98\", [\"sos\"]],\n \"1f199\": [\"\\uD83C\\uDD99\", [\"up\"]],\n \"1f19a\": [\"\\uD83C\\uDD9A\", [\"vs\"]],\n \"1f201\": [\"\\uD83C\\uDE01\", [\"koko\"]],\n \"1f202\": [\"\\uD83C\\uDE02\", [\"sa\"]],\n \"1f21a\": [\"\\uD83C\\uDE1A\", [\"u7121\"]],\n \"1f22f\": [\"\\uD83C\\uDE2F\", [\"u6307\"]],\n \"1f232\": [\"\\uD83C\\uDE32\", [\"u7981\"]],\n \"1f233\": [\"\\uD83C\\uDE33\", [\"u7a7a\"]],\n \"1f234\": [\"\\uD83C\\uDE34\", [\"u5408\"]],\n \"1f235\": [\"\\uD83C\\uDE35\", [\"u6e80\"]],\n \"1f236\": [\"\\uD83C\\uDE36\", [\"u6709\"]],\n \"1f237\": [\"\\uD83C\\uDE37\", [\"u6708\"]],\n \"1f238\": [\"\\uD83C\\uDE38\", [\"u7533\"]],\n \"1f239\": [\"\\uD83C\\uDE39\", [\"u5272\"]],\n \"1f23a\": [\"\\uD83C\\uDE3A\", [\"u55b6\"]],\n \"1f250\": [\"\\uD83C\\uDE50\", [\"ideograph_advantage\"]],\n \"1f251\": [\"\\uD83C\\uDE51\", [\"accept\"]],\n \"1f300\": [\"\\uD83C\\uDF00\", [\"cyclone\"]],\n \"1f301\": [\"\\uD83C\\uDF01\", [\"foggy\"]],\n \"1f302\": [\"\\uD83C\\uDF02\", [\"closed_umbrella\"]],\n \"1f303\": [\"\\uD83C\\uDF03\", [\"night_with_stars\"]],\n \"1f304\": [\"\\uD83C\\uDF04\", [\"sunrise_over_mountains\"]],\n \"1f305\": [\"\\uD83C\\uDF05\", [\"sunrise\"]],\n \"1f306\": [\"\\uD83C\\uDF06\", [\"city_sunset\"]],\n \"1f307\": [\"\\uD83C\\uDF07\", [\"city_sunrise\"]],\n \"1f308\": [\"\\uD83C\\uDF08\", [\"rainbow\"]],\n \"1f309\": [\"\\uD83C\\uDF09\", [\"bridge_at_night\"]],\n \"1f30a\": [\"\\uD83C\\uDF0A\", [\"ocean\"]],\n \"1f30b\": [\"\\uD83C\\uDF0B\", [\"volcano\"]],\n \"1f30c\": [\"\\uD83C\\uDF0C\", [\"milky_way\"]],\n \"1f30d\": [\"\\uD83C\\uDF0D\", [\"earth_africa\"]],\n \"1f30e\": [\"\\uD83C\\uDF0E\", [\"earth_americas\"]],\n \"1f30f\": [\"\\uD83C\\uDF0F\", [\"earth_asia\"]],\n \"1f310\": [\"\\uD83C\\uDF10\", [\"globe_with_meridians\"]],\n \"1f311\": [\"\\uD83C\\uDF11\", [\"new_moon\"]],\n \"1f312\": [\"\\uD83C\\uDF12\", [\"waxing_crescent_moon\"]],\n \"1f313\": [\"\\uD83C\\uDF13\", [\"first_quarter_moon\"]],\n \"1f314\": [\"\\uD83C\\uDF14\", [\"moon\", \"waxing_gibbous_moon\"]],\n \"1f315\": [\"\\uD83C\\uDF15\", [\"full_moon\"]],\n \"1f316\": [\"\\uD83C\\uDF16\", [\"waning_gibbous_moon\"]],\n \"1f317\": [\"\\uD83C\\uDF17\", [\"last_quarter_moon\"]],\n \"1f318\": [\"\\uD83C\\uDF18\", [\"waning_crescent_moon\"]],\n \"1f319\": [\"\\uD83C\\uDF19\", [\"crescent_moon\"]],\n \"1f320\": [\"\\uD83C\\uDF20\", [\"stars\"]],\n \"1f31a\": [\"\\uD83C\\uDF1A\", [\"new_moon_with_face\"]],\n \"1f31b\": [\"\\uD83C\\uDF1B\", [\"first_quarter_moon_with_face\"]],\n \"1f31c\": [\"\\uD83C\\uDF1C\", [\"last_quarter_moon_with_face\"]],\n \"1f31d\": [\"\\uD83C\\uDF1D\", [\"full_moon_with_face\"]],\n \"1f31e\": [\"\\uD83C\\uDF1E\", [\"sun_with_face\"]],\n \"1f31f\": [\"\\uD83C\\uDF1F\", [\"star2\"]],\n \"1f330\": [\"\\uD83C\\uDF30\", [\"chestnut\"]],\n \"1f331\": [\"\\uD83C\\uDF31\", [\"seedling\"]],\n \"1f332\": [\"\\uD83C\\uDF32\", [\"evergreen_tree\"]],\n \"1f333\": [\"\\uD83C\\uDF33\", [\"deciduous_tree\"]],\n \"1f334\": [\"\\uD83C\\uDF34\", [\"palm_tree\"]],\n \"1f335\": [\"\\uD83C\\uDF35\", [\"cactus\"]],\n \"1f337\": [\"\\uD83C\\uDF37\", [\"tulip\"]],\n \"1f338\": [\"\\uD83C\\uDF38\", [\"cherry_blossom\"]],\n \"1f339\": [\"\\uD83C\\uDF39\", [\"rose\"]],\n \"1f33a\": [\"\\uD83C\\uDF3A\", [\"hibiscus\"]],\n \"1f33b\": [\"\\uD83C\\uDF3B\", [\"sunflower\"]],\n \"1f33c\": [\"\\uD83C\\uDF3C\", [\"blossom\"]],\n \"1f33d\": [\"\\uD83C\\uDF3D\", [\"corn\"]],\n \"1f33e\": [\"\\uD83C\\uDF3E\", [\"ear_of_rice\"]],\n \"1f33f\": [\"\\uD83C\\uDF3F\", [\"herb\"]],\n \"1f340\": [\"\\uD83C\\uDF40\", [\"four_leaf_clover\"]],\n \"1f341\": [\"\\uD83C\\uDF41\", [\"maple_leaf\"]],\n \"1f342\": [\"\\uD83C\\uDF42\", [\"fallen_leaf\"]],\n \"1f343\": [\"\\uD83C\\uDF43\", [\"leaves\"]],\n \"1f344\": [\"\\uD83C\\uDF44\", [\"mushroom\"]],\n \"1f345\": [\"\\uD83C\\uDF45\", [\"tomato\"]],\n \"1f346\": [\"\\uD83C\\uDF46\", [\"eggplant\"]],\n \"1f347\": [\"\\uD83C\\uDF47\", [\"grapes\"]],\n \"1f348\": [\"\\uD83C\\uDF48\", [\"melon\"]],\n \"1f349\": [\"\\uD83C\\uDF49\", [\"watermelon\"]],\n \"1f34a\": [\"\\uD83C\\uDF4A\", [\"tangerine\"]],\n \"1f34b\": [\"\\uD83C\\uDF4B\", [\"lemon\"]],\n \"1f34c\": [\"\\uD83C\\uDF4C\", [\"banana\"]],\n \"1f34d\": [\"\\uD83C\\uDF4D\", [\"pineapple\"]],\n \"1f34e\": [\"\\uD83C\\uDF4E\", [\"apple\"]],\n \"1f34f\": [\"\\uD83C\\uDF4F\", [\"green_apple\"]],\n \"1f350\": [\"\\uD83C\\uDF50\", [\"pear\"]],\n \"1f351\": [\"\\uD83C\\uDF51\", [\"peach\"]],\n \"1f352\": [\"\\uD83C\\uDF52\", [\"cherries\"]],\n \"1f353\": [\"\\uD83C\\uDF53\", [\"strawberry\"]],\n \"1f354\": [\"\\uD83C\\uDF54\", [\"hamburger\"]],\n \"1f355\": [\"\\uD83C\\uDF55\", [\"pizza\"]],\n \"1f356\": [\"\\uD83C\\uDF56\", [\"meat_on_bone\"]],\n \"1f357\": [\"\\uD83C\\uDF57\", [\"poultry_leg\"]],\n \"1f358\": [\"\\uD83C\\uDF58\", [\"rice_cracker\"]],\n \"1f359\": [\"\\uD83C\\uDF59\", [\"rice_ball\"]],\n \"1f35a\": [\"\\uD83C\\uDF5A\", [\"rice\"]],\n \"1f35b\": [\"\\uD83C\\uDF5B\", [\"curry\"]],\n \"1f35c\": [\"\\uD83C\\uDF5C\", [\"ramen\"]],\n \"1f35d\": [\"\\uD83C\\uDF5D\", [\"spaghetti\"]],\n \"1f35e\": [\"\\uD83C\\uDF5E\", [\"bread\"]],\n \"1f35f\": [\"\\uD83C\\uDF5F\", [\"fries\"]],\n \"1f360\": [\"\\uD83C\\uDF60\", [\"sweet_potato\"]],\n \"1f361\": [\"\\uD83C\\uDF61\", [\"dango\"]],\n \"1f362\": [\"\\uD83C\\uDF62\", [\"oden\"]],\n \"1f363\": [\"\\uD83C\\uDF63\", [\"sushi\"]],\n \"1f364\": [\"\\uD83C\\uDF64\", [\"fried_shrimp\"]],\n \"1f365\": [\"\\uD83C\\uDF65\", [\"fish_cake\"]],\n \"1f366\": [\"\\uD83C\\uDF66\", [\"icecream\"]],\n \"1f367\": [\"\\uD83C\\uDF67\", [\"shaved_ice\"]],\n \"1f368\": [\"\\uD83C\\uDF68\", [\"ice_cream\"]],\n \"1f369\": [\"\\uD83C\\uDF69\", [\"doughnut\"]],\n \"1f36a\": [\"\\uD83C\\uDF6A\", [\"cookie\"]],\n \"1f36b\": [\"\\uD83C\\uDF6B\", [\"chocolate_bar\"]],\n \"1f36c\": [\"\\uD83C\\uDF6C\", [\"candy\"]],\n \"1f36d\": [\"\\uD83C\\uDF6D\", [\"lollipop\"]],\n \"1f36e\": [\"\\uD83C\\uDF6E\", [\"custard\"]],\n \"1f36f\": [\"\\uD83C\\uDF6F\", [\"honey_pot\"]],\n \"1f370\": [\"\\uD83C\\uDF70\", [\"cake\"]],\n \"1f371\": [\"\\uD83C\\uDF71\", [\"bento\"]],\n \"1f372\": [\"\\uD83C\\uDF72\", [\"stew\"]],\n \"1f373\": [\"\\uD83C\\uDF73\", [\"egg\"]],\n \"1f374\": [\"\\uD83C\\uDF74\", [\"fork_and_knife\"]],\n \"1f375\": [\"\\uD83C\\uDF75\", [\"tea\"]],\n \"1f376\": [\"\\uD83C\\uDF76\", [\"sake\"]],\n \"1f377\": [\"\\uD83C\\uDF77\", [\"wine_glass\"]],\n \"1f378\": [\"\\uD83C\\uDF78\", [\"cocktail\"]],\n \"1f379\": [\"\\uD83C\\uDF79\", [\"tropical_drink\"]],\n \"1f37a\": [\"\\uD83C\\uDF7A\", [\"beer\"]],\n \"1f37b\": [\"\\uD83C\\uDF7B\", [\"beers\"]],\n \"1f37c\": [\"\\uD83C\\uDF7C\", [\"baby_bottle\"]],\n \"1f380\": [\"\\uD83C\\uDF80\", [\"ribbon\"]],\n \"1f381\": [\"\\uD83C\\uDF81\", [\"gift\"]],\n \"1f382\": [\"\\uD83C\\uDF82\", [\"birthday\"]],\n \"1f383\": [\"\\uD83C\\uDF83\", [\"jack_o_lantern\"]],\n \"1f384\": [\"\\uD83C\\uDF84\", [\"christmas_tree\"]],\n \"1f385\": [\"\\uD83C\\uDF85\", [\"santa\"]],\n \"1f386\": [\"\\uD83C\\uDF86\", [\"fireworks\"]],\n \"1f387\": [\"\\uD83C\\uDF87\", [\"sparkler\"]],\n \"1f388\": [\"\\uD83C\\uDF88\", [\"balloon\"]],\n \"1f389\": [\"\\uD83C\\uDF89\", [\"tada\"]],\n \"1f38a\": [\"\\uD83C\\uDF8A\", [\"confetti_ball\"]],\n \"1f38b\": [\"\\uD83C\\uDF8B\", [\"tanabata_tree\"]],\n \"1f38c\": [\"\\uD83C\\uDF8C\", [\"crossed_flags\"]],\n \"1f38d\": [\"\\uD83C\\uDF8D\", [\"bamboo\"]],\n \"1f38e\": [\"\\uD83C\\uDF8E\", [\"dolls\"]],\n \"1f38f\": [\"\\uD83C\\uDF8F\", [\"flags\"]],\n \"1f390\": [\"\\uD83C\\uDF90\", [\"wind_chime\"]],\n \"1f391\": [\"\\uD83C\\uDF91\", [\"rice_scene\"]],\n \"1f392\": [\"\\uD83C\\uDF92\", [\"school_satchel\"]],\n \"1f393\": [\"\\uD83C\\uDF93\", [\"mortar_board\"]],\n \"1f3a0\": [\"\\uD83C\\uDFA0\", [\"carousel_horse\"]],\n \"1f3a1\": [\"\\uD83C\\uDFA1\", [\"ferris_wheel\"]],\n \"1f3a2\": [\"\\uD83C\\uDFA2\", [\"roller_coaster\"]],\n \"1f3a3\": [\"\\uD83C\\uDFA3\", [\"fishing_pole_and_fish\"]],\n \"1f3a4\": [\"\\uD83C\\uDFA4\", [\"microphone\"]],\n \"1f3a5\": [\"\\uD83C\\uDFA5\", [\"movie_camera\"]],\n \"1f3a6\": [\"\\uD83C\\uDFA6\", [\"cinema\"]],\n \"1f3a7\": [\"\\uD83C\\uDFA7\", [\"headphones\"]],\n \"1f3a8\": [\"\\uD83C\\uDFA8\", [\"art\"]],\n \"1f3a9\": [\"\\uD83C\\uDFA9\", [\"tophat\"]],\n \"1f3aa\": [\"\\uD83C\\uDFAA\", [\"circus_tent\"]],\n \"1f3ab\": [\"\\uD83C\\uDFAB\", [\"ticket\"]],\n \"1f3ac\": [\"\\uD83C\\uDFAC\", [\"clapper\"]],\n \"1f3ad\": [\"\\uD83C\\uDFAD\", [\"performing_arts\"]],\n \"1f3ae\": [\"\\uD83C\\uDFAE\", [\"video_game\"]],\n \"1f3af\": [\"\\uD83C\\uDFAF\", [\"dart\"]],\n \"1f3b0\": [\"\\uD83C\\uDFB0\", [\"slot_machine\"]],\n \"1f3b1\": [\"\\uD83C\\uDFB1\", [\"8ball\"]],\n \"1f3b2\": [\"\\uD83C\\uDFB2\", [\"game_die\"]],\n \"1f3b3\": [\"\\uD83C\\uDFB3\", [\"bowling\"]],\n \"1f3b4\": [\"\\uD83C\\uDFB4\", [\"flower_playing_cards\"]],\n \"1f3b5\": [\"\\uD83C\\uDFB5\", [\"musical_note\"]],\n \"1f3b6\": [\"\\uD83C\\uDFB6\", [\"notes\"]],\n \"1f3b7\": [\"\\uD83C\\uDFB7\", [\"saxophone\"]],\n \"1f3b8\": [\"\\uD83C\\uDFB8\", [\"guitar\"]],\n \"1f3b9\": [\"\\uD83C\\uDFB9\", [\"musical_keyboard\"]],\n \"1f3ba\": [\"\\uD83C\\uDFBA\", [\"trumpet\"]],\n \"1f3bb\": [\"\\uD83C\\uDFBB\", [\"violin\"]],\n \"1f3bc\": [\"\\uD83C\\uDFBC\", [\"musical_score\"]],\n \"1f3bd\": [\"\\uD83C\\uDFBD\", [\"running_shirt_with_sash\"]],\n \"1f3be\": [\"\\uD83C\\uDFBE\", [\"tennis\"]],\n \"1f3bf\": [\"\\uD83C\\uDFBF\", [\"ski\"]],\n \"1f3c0\": [\"\\uD83C\\uDFC0\", [\"basketball\"]],\n \"1f3c1\": [\"\\uD83C\\uDFC1\", [\"checkered_flag\"]],\n \"1f3c2\": [\"\\uD83C\\uDFC2\", [\"snowboarder\"]],\n \"1f3c3\": [\"\\uD83C\\uDFC3\", [\"runner\", \"running\"]],\n \"1f3c4\": [\"\\uD83C\\uDFC4\", [\"surfer\"]],\n \"1f3c6\": [\"\\uD83C\\uDFC6\", [\"trophy\"]],\n \"1f3c7\": [\"\\uD83C\\uDFC7\", [\"horse_racing\"]],\n \"1f3c8\": [\"\\uD83C\\uDFC8\", [\"football\"]],\n \"1f3c9\": [\"\\uD83C\\uDFC9\", [\"rugby_football\"]],\n \"1f3ca\": [\"\\uD83C\\uDFCA\", [\"swimmer\"]],\n \"1f3e0\": [\"\\uD83C\\uDFE0\", [\"house\"]],\n \"1f3e1\": [\"\\uD83C\\uDFE1\", [\"house_with_garden\"]],\n \"1f3e2\": [\"\\uD83C\\uDFE2\", [\"office\"]],\n \"1f3e3\": [\"\\uD83C\\uDFE3\", [\"post_office\"]],\n \"1f3e4\": [\"\\uD83C\\uDFE4\", [\"european_post_office\"]],\n \"1f3e5\": [\"\\uD83C\\uDFE5\", [\"hospital\"]],\n \"1f3e6\": [\"\\uD83C\\uDFE6\", [\"bank\"]],\n \"1f3e7\": [\"\\uD83C\\uDFE7\", [\"atm\"]],\n \"1f3e8\": [\"\\uD83C\\uDFE8\", [\"hotel\"]],\n \"1f3e9\": [\"\\uD83C\\uDFE9\", [\"love_hotel\"]],\n \"1f3ea\": [\"\\uD83C\\uDFEA\", [\"convenience_store\"]],\n \"1f3eb\": [\"\\uD83C\\uDFEB\", [\"school\"]],\n \"1f3ec\": [\"\\uD83C\\uDFEC\", [\"department_store\"]],\n \"1f3ed\": [\"\\uD83C\\uDFED\", [\"factory\"]],\n \"1f3ee\": [\"\\uD83C\\uDFEE\", [\"izakaya_lantern\", \"lantern\"]],\n \"1f3ef\": [\"\\uD83C\\uDFEF\", [\"japanese_castle\"]],\n \"1f3f0\": [\"\\uD83C\\uDFF0\", [\"european_castle\"]],\n \"1f400\": [\"\\uD83D\\uDC00\", [\"rat\"]],\n \"1f401\": [\"\\uD83D\\uDC01\", [\"mouse2\"]],\n \"1f402\": [\"\\uD83D\\uDC02\", [\"ox\"]],\n \"1f403\": [\"\\uD83D\\uDC03\", [\"water_buffalo\"]],\n \"1f404\": [\"\\uD83D\\uDC04\", [\"cow2\"]],\n \"1f405\": [\"\\uD83D\\uDC05\", [\"tiger2\"]],\n \"1f406\": [\"\\uD83D\\uDC06\", [\"leopard\"]],\n \"1f407\": [\"\\uD83D\\uDC07\", [\"rabbit2\"]],\n \"1f408\": [\"\\uD83D\\uDC08\", [\"cat2\"]],\n \"1f409\": [\"\\uD83D\\uDC09\", [\"dragon\"]],\n \"1f40a\": [\"\\uD83D\\uDC0A\", [\"crocodile\"]],\n \"1f40b\": [\"\\uD83D\\uDC0B\", [\"whale2\"]],\n \"1f40c\": [\"\\uD83D\\uDC0C\", [\"snail\"]],\n \"1f40d\": [\"\\uD83D\\uDC0D\", [\"snake\"]],\n \"1f40e\": [\"\\uD83D\\uDC0E\", [\"racehorse\"]],\n \"1f40f\": [\"\\uD83D\\uDC0F\", [\"ram\"]],\n \"1f410\": [\"\\uD83D\\uDC10\", [\"goat\"]],\n \"1f411\": [\"\\uD83D\\uDC11\", [\"sheep\"]],\n \"1f412\": [\"\\uD83D\\uDC12\", [\"monkey\"]],\n \"1f413\": [\"\\uD83D\\uDC13\", [\"rooster\"]],\n \"1f414\": [\"\\uD83D\\uDC14\", [\"chicken\"]],\n \"1f415\": [\"\\uD83D\\uDC15\", [\"dog2\"]],\n \"1f416\": [\"\\uD83D\\uDC16\", [\"pig2\"]],\n \"1f417\": [\"\\uD83D\\uDC17\", [\"boar\"]],\n \"1f418\": [\"\\uD83D\\uDC18\", [\"elephant\"]],\n \"1f419\": [\"\\uD83D\\uDC19\", [\"octopus\"]],\n \"1f41a\": [\"\\uD83D\\uDC1A\", [\"shell\"]],\n \"1f41b\": [\"\\uD83D\\uDC1B\", [\"bug\"]],\n \"1f41c\": [\"\\uD83D\\uDC1C\", [\"ant\"]],\n \"1f41d\": [\"\\uD83D\\uDC1D\", [\"bee\", \"honeybee\"]],\n \"1f41e\": [\"\\uD83D\\uDC1E\", [\"beetle\"]],\n \"1f41f\": [\"\\uD83D\\uDC1F\", [\"fish\"]],\n \"1f420\": [\"\\uD83D\\uDC20\", [\"tropical_fish\"]],\n \"1f421\": [\"\\uD83D\\uDC21\", [\"blowfish\"]],\n \"1f422\": [\"\\uD83D\\uDC22\", [\"turtle\"]],\n \"1f423\": [\"\\uD83D\\uDC23\", [\"hatching_chick\"]],\n \"1f424\": [\"\\uD83D\\uDC24\", [\"baby_chick\"]],\n \"1f425\": [\"\\uD83D\\uDC25\", [\"hatched_chick\"]],\n \"1f426\": [\"\\uD83D\\uDC26\", [\"bird\"]],\n \"1f427\": [\"\\uD83D\\uDC27\", [\"penguin\"]],\n \"1f428\": [\"\\uD83D\\uDC28\", [\"koala\"]],\n \"1f429\": [\"\\uD83D\\uDC29\", [\"poodle\"]],\n \"1f42a\": [\"\\uD83D\\uDC2A\", [\"dromedary_camel\"]],\n \"1f42b\": [\"\\uD83D\\uDC2B\", [\"camel\"]],\n \"1f42c\": [\"\\uD83D\\uDC2C\", [\"dolphin\", \"flipper\"]],\n \"1f42d\": [\"\\uD83D\\uDC2D\", [\"mouse\"]],\n \"1f42e\": [\"\\uD83D\\uDC2E\", [\"cow\"]],\n \"1f42f\": [\"\\uD83D\\uDC2F\", [\"tiger\"]],\n \"1f430\": [\"\\uD83D\\uDC30\", [\"rabbit\"]],\n \"1f431\": [\"\\uD83D\\uDC31\", [\"cat\"]],\n \"1f432\": [\"\\uD83D\\uDC32\", [\"dragon_face\"]],\n \"1f433\": [\"\\uD83D\\uDC33\", [\"whale\"]],\n \"1f434\": [\"\\uD83D\\uDC34\", [\"horse\"]],\n \"1f435\": [\"\\uD83D\\uDC35\", [\"monkey_face\"]],\n \"1f436\": [\"\\uD83D\\uDC36\", [\"dog\"]],\n \"1f437\": [\"\\uD83D\\uDC37\", [\"pig\"]],\n \"1f438\": [\"\\uD83D\\uDC38\", [\"frog\"]],\n \"1f439\": [\"\\uD83D\\uDC39\", [\"hamster\"]],\n \"1f43a\": [\"\\uD83D\\uDC3A\", [\"wolf\"]],\n \"1f43b\": [\"\\uD83D\\uDC3B\", [\"bear\"]],\n \"1f43c\": [\"\\uD83D\\uDC3C\", [\"panda_face\"]],\n \"1f43d\": [\"\\uD83D\\uDC3D\", [\"pig_nose\"]],\n \"1f43e\": [\"\\uD83D\\uDC3E\", [\"feet\", \"paw_prints\"]],\n \"1f440\": [\"\\uD83D\\uDC40\", [\"eyes\"]],\n \"1f442\": [\"\\uD83D\\uDC42\", [\"ear\"]],\n \"1f443\": [\"\\uD83D\\uDC43\", [\"nose\"]],\n \"1f444\": [\"\\uD83D\\uDC44\", [\"lips\"]],\n \"1f445\": [\"\\uD83D\\uDC45\", [\"tongue\"]],\n \"1f446\": [\"\\uD83D\\uDC46\", [\"point_up_2\"]],\n \"1f447\": [\"\\uD83D\\uDC47\", [\"point_down\"]],\n \"1f448\": [\"\\uD83D\\uDC48\", [\"point_left\"]],\n \"1f449\": [\"\\uD83D\\uDC49\", [\"point_right\"]],\n \"1f44a\": [\"\\uD83D\\uDC4A\", [\"facepunch\", \"punch\"]],\n \"1f44b\": [\"\\uD83D\\uDC4B\", [\"wave\"]],\n \"1f44c\": [\"\\uD83D\\uDC4C\", [\"ok_hand\"]],\n \"1f44d\": [\"\\uD83D\\uDC4D\", [\"+1\", \"thumbsup\"]],\n \"1f44e\": [\"\\uD83D\\uDC4E\", [\"-1\", \"thumbsdown\"]],\n \"1f44f\": [\"\\uD83D\\uDC4F\", [\"clap\"]],\n \"1f450\": [\"\\uD83D\\uDC50\", [\"open_hands\"]],\n \"1f451\": [\"\\uD83D\\uDC51\", [\"crown\"]],\n \"1f452\": [\"\\uD83D\\uDC52\", [\"womans_hat\"]],\n \"1f453\": [\"\\uD83D\\uDC53\", [\"eyeglasses\"]],\n \"1f454\": [\"\\uD83D\\uDC54\", [\"necktie\"]],\n \"1f455\": [\"\\uD83D\\uDC55\", [\"shirt\", \"tshirt\"]],\n \"1f456\": [\"\\uD83D\\uDC56\", [\"jeans\"]],\n \"1f457\": [\"\\uD83D\\uDC57\", [\"dress\"]],\n \"1f458\": [\"\\uD83D\\uDC58\", [\"kimono\"]],\n \"1f459\": [\"\\uD83D\\uDC59\", [\"bikini\"]],\n \"1f45a\": [\"\\uD83D\\uDC5A\", [\"womans_clothes\"]],\n \"1f45b\": [\"\\uD83D\\uDC5B\", [\"purse\"]],\n \"1f45c\": [\"\\uD83D\\uDC5C\", [\"handbag\"]],\n \"1f45d\": [\"\\uD83D\\uDC5D\", [\"pouch\"]],\n \"1f45e\": [\"\\uD83D\\uDC5E\", [\"mans_shoe\", \"shoe\"]],\n \"1f45f\": [\"\\uD83D\\uDC5F\", [\"athletic_shoe\"]],\n \"1f460\": [\"\\uD83D\\uDC60\", [\"high_heel\"]],\n \"1f461\": [\"\\uD83D\\uDC61\", [\"sandal\"]],\n \"1f462\": [\"\\uD83D\\uDC62\", [\"boot\"]],\n \"1f463\": [\"\\uD83D\\uDC63\", [\"footprints\"]],\n \"1f464\": [\"\\uD83D\\uDC64\", [\"bust_in_silhouette\"]],\n \"1f465\": [\"\\uD83D\\uDC65\", [\"busts_in_silhouette\"]],\n \"1f466\": [\"\\uD83D\\uDC66\", [\"boy\"]],\n \"1f467\": [\"\\uD83D\\uDC67\", [\"girl\"]],\n \"1f468\": [\"\\uD83D\\uDC68\", [\"man\"]],\n \"1f469\": [\"\\uD83D\\uDC69\", [\"woman\"]],\n \"1f46a\": [\"\\uD83D\\uDC6A\", [\"family\"]],\n \"1f46b\": [\"\\uD83D\\uDC6B\", [\"couple\"]],\n \"1f46c\": [\"\\uD83D\\uDC6C\", [\"two_men_holding_hands\"]],\n \"1f46d\": [\"\\uD83D\\uDC6D\", [\"two_women_holding_hands\"]],\n \"1f46e\": [\"\\uD83D\\uDC6E\", [\"cop\"]],\n \"1f46f\": [\"\\uD83D\\uDC6F\", [\"dancers\"]],\n \"1f470\": [\"\\uD83D\\uDC70\", [\"bride_with_veil\"]],\n \"1f471\": [\"\\uD83D\\uDC71\", [\"person_with_blond_hair\"]],\n \"1f472\": [\"\\uD83D\\uDC72\", [\"man_with_gua_pi_mao\"]],\n \"1f473\": [\"\\uD83D\\uDC73\", [\"man_with_turban\"]],\n \"1f474\": [\"\\uD83D\\uDC74\", [\"older_man\"]],\n \"1f475\": [\"\\uD83D\\uDC75\", [\"older_woman\"]],\n \"1f476\": [\"\\uD83D\\uDC76\", [\"baby\"]],\n \"1f477\": [\"\\uD83D\\uDC77\", [\"construction_worker\"]],\n \"1f478\": [\"\\uD83D\\uDC78\", [\"princess\"]],\n \"1f479\": [\"\\uD83D\\uDC79\", [\"japanese_ogre\"]],\n \"1f47a\": [\"\\uD83D\\uDC7A\", [\"japanese_goblin\"]],\n \"1f47b\": [\"\\uD83D\\uDC7B\", [\"ghost\"]],\n \"1f47c\": [\"\\uD83D\\uDC7C\", [\"angel\"]],\n \"1f47d\": [\"\\uD83D\\uDC7D\", [\"alien\"]],\n \"1f47e\": [\"\\uD83D\\uDC7E\", [\"space_invader\"]],\n \"1f47f\": [\"\\uD83D\\uDC7F\", [\"imp\"]],\n \"1f480\": [\"\\uD83D\\uDC80\", [\"skull\"]],\n \"1f481\": [\"\\uD83D\\uDC81\", [\"information_desk_person\"]],\n \"1f482\": [\"\\uD83D\\uDC82\", [\"guardsman\"]],\n \"1f483\": [\"\\uD83D\\uDC83\", [\"dancer\"]],\n \"1f484\": [\"\\uD83D\\uDC84\", [\"lipstick\"]],\n \"1f485\": [\"\\uD83D\\uDC85\", [\"nail_care\"]],\n \"1f486\": [\"\\uD83D\\uDC86\", [\"massage\"]],\n \"1f487\": [\"\\uD83D\\uDC87\", [\"haircut\"]],\n \"1f488\": [\"\\uD83D\\uDC88\", [\"barber\"]],\n \"1f489\": [\"\\uD83D\\uDC89\", [\"syringe\"]],\n \"1f48a\": [\"\\uD83D\\uDC8A\", [\"pill\"]],\n \"1f48b\": [\"\\uD83D\\uDC8B\", [\"kiss\"]],\n \"1f48c\": [\"\\uD83D\\uDC8C\", [\"love_letter\"]],\n \"1f48d\": [\"\\uD83D\\uDC8D\", [\"ring\"]],\n \"1f48e\": [\"\\uD83D\\uDC8E\", [\"gem\"]],\n \"1f48f\": [\"\\uD83D\\uDC8F\", [\"couplekiss\"]],\n \"1f490\": [\"\\uD83D\\uDC90\", [\"bouquet\"]],\n \"1f491\": [\"\\uD83D\\uDC91\", [\"couple_with_heart\"]],\n \"1f492\": [\"\\uD83D\\uDC92\", [\"wedding\"]],\n \"1f493\": [\"\\uD83D\\uDC93\", [\"heartbeat\"]],\n \"1f494\": [\"\\uD83D\\uDC94\", [\"broken_heart\"], \"<\\/3\"],\n \"1f495\": [\"\\uD83D\\uDC95\", [\"two_hearts\"]],\n \"1f496\": [\"\\uD83D\\uDC96\", [\"sparkling_heart\"]],\n \"1f497\": [\"\\uD83D\\uDC97\", [\"heartpulse\"]],\n \"1f498\": [\"\\uD83D\\uDC98\", [\"cupid\"]],\n \"1f499\": [\"\\uD83D\\uDC99\", [\"blue_heart\"], \"<3\"],\n \"1f49a\": [\"\\uD83D\\uDC9A\", [\"green_heart\"], \"<3\"],\n \"1f49b\": [\"\\uD83D\\uDC9B\", [\"yellow_heart\"], \"<3\"],\n \"1f49c\": [\"\\uD83D\\uDC9C\", [\"purple_heart\"], \"<3\"],\n \"1f49d\": [\"\\uD83D\\uDC9D\", [\"gift_heart\"]],\n \"1f49e\": [\"\\uD83D\\uDC9E\", [\"revolving_hearts\"]],\n \"1f49f\": [\"\\uD83D\\uDC9F\", [\"heart_decoration\"]],\n \"1f4a0\": [\"\\uD83D\\uDCA0\", [\"diamond_shape_with_a_dot_inside\"]],\n \"1f4a1\": [\"\\uD83D\\uDCA1\", [\"bulb\"]],\n \"1f4a2\": [\"\\uD83D\\uDCA2\", [\"anger\"]],\n \"1f4a3\": [\"\\uD83D\\uDCA3\", [\"bomb\"]],\n \"1f4a4\": [\"\\uD83D\\uDCA4\", [\"zzz\"]],\n \"1f4a5\": [\"\\uD83D\\uDCA5\", [\"boom\", \"collision\"]],\n \"1f4a6\": [\"\\uD83D\\uDCA6\", [\"sweat_drops\"]],\n \"1f4a7\": [\"\\uD83D\\uDCA7\", [\"droplet\"]],\n \"1f4a8\": [\"\\uD83D\\uDCA8\", [\"dash\"]],\n \"1f4a9\": [\"\\uD83D\\uDCA9\", [\"hankey\", \"poop\", \"shit\"]],\n \"1f4aa\": [\"\\uD83D\\uDCAA\", [\"muscle\"]],\n \"1f4ab\": [\"\\uD83D\\uDCAB\", [\"dizzy\"]],\n \"1f4ac\": [\"\\uD83D\\uDCAC\", [\"speech_balloon\"]],\n \"1f4ad\": [\"\\uD83D\\uDCAD\", [\"thought_balloon\"]],\n \"1f4ae\": [\"\\uD83D\\uDCAE\", [\"white_flower\"]],\n \"1f4af\": [\"\\uD83D\\uDCAF\", [\"100\"]],\n \"1f4b0\": [\"\\uD83D\\uDCB0\", [\"moneybag\"]],\n \"1f4b1\": [\"\\uD83D\\uDCB1\", [\"currency_exchange\"]],\n \"1f4b2\": [\"\\uD83D\\uDCB2\", [\"heavy_dollar_sign\"]],\n \"1f4b3\": [\"\\uD83D\\uDCB3\", [\"credit_card\"]],\n \"1f4b4\": [\"\\uD83D\\uDCB4\", [\"yen\"]],\n \"1f4b5\": [\"\\uD83D\\uDCB5\", [\"dollar\"]],\n \"1f4b6\": [\"\\uD83D\\uDCB6\", [\"euro\"]],\n \"1f4b7\": [\"\\uD83D\\uDCB7\", [\"pound\"]],\n \"1f4b8\": [\"\\uD83D\\uDCB8\", [\"money_with_wings\"]],\n \"1f4b9\": [\"\\uD83D\\uDCB9\", [\"chart\"]],\n \"1f4ba\": [\"\\uD83D\\uDCBA\", [\"seat\"]],\n \"1f4bb\": [\"\\uD83D\\uDCBB\", [\"computer\"]],\n \"1f4bc\": [\"\\uD83D\\uDCBC\", [\"briefcase\"]],\n \"1f4bd\": [\"\\uD83D\\uDCBD\", [\"minidisc\"]],\n \"1f4be\": [\"\\uD83D\\uDCBE\", [\"floppy_disk\"]],\n \"1f4bf\": [\"\\uD83D\\uDCBF\", [\"cd\"]],\n \"1f4c0\": [\"\\uD83D\\uDCC0\", [\"dvd\"]],\n \"1f4c1\": [\"\\uD83D\\uDCC1\", [\"file_folder\"]],\n \"1f4c2\": [\"\\uD83D\\uDCC2\", [\"open_file_folder\"]],\n \"1f4c3\": [\"\\uD83D\\uDCC3\", [\"page_with_curl\"]],\n \"1f4c4\": [\"\\uD83D\\uDCC4\", [\"page_facing_up\"]],\n \"1f4c5\": [\"\\uD83D\\uDCC5\", [\"date\"]],\n \"1f4c6\": [\"\\uD83D\\uDCC6\", [\"calendar\"]],\n \"1f4c7\": [\"\\uD83D\\uDCC7\", [\"card_index\"]],\n \"1f4c8\": [\"\\uD83D\\uDCC8\", [\"chart_with_upwards_trend\"]],\n \"1f4c9\": [\"\\uD83D\\uDCC9\", [\"chart_with_downwards_trend\"]],\n \"1f4ca\": [\"\\uD83D\\uDCCA\", [\"bar_chart\"]],\n \"1f4cb\": [\"\\uD83D\\uDCCB\", [\"clipboard\"]],\n \"1f4cc\": [\"\\uD83D\\uDCCC\", [\"pushpin\"]],\n \"1f4cd\": [\"\\uD83D\\uDCCD\", [\"round_pushpin\"]],\n \"1f4ce\": [\"\\uD83D\\uDCCE\", [\"paperclip\"]],\n \"1f4cf\": [\"\\uD83D\\uDCCF\", [\"straight_ruler\"]],\n \"1f4d0\": [\"\\uD83D\\uDCD0\", [\"triangular_ruler\"]],\n \"1f4d1\": [\"\\uD83D\\uDCD1\", [\"bookmark_tabs\"]],\n \"1f4d2\": [\"\\uD83D\\uDCD2\", [\"ledger\"]],\n \"1f4d3\": [\"\\uD83D\\uDCD3\", [\"notebook\"]],\n \"1f4d4\": [\"\\uD83D\\uDCD4\", [\"notebook_with_decorative_cover\"]],\n \"1f4d5\": [\"\\uD83D\\uDCD5\", [\"closed_book\"]],\n \"1f4d6\": [\"\\uD83D\\uDCD6\", [\"book\", \"open_book\"]],\n \"1f4d7\": [\"\\uD83D\\uDCD7\", [\"green_book\"]],\n \"1f4d8\": [\"\\uD83D\\uDCD8\", [\"blue_book\"]],\n \"1f4d9\": [\"\\uD83D\\uDCD9\", [\"orange_book\"]],\n \"1f4da\": [\"\\uD83D\\uDCDA\", [\"books\"]],\n \"1f4db\": [\"\\uD83D\\uDCDB\", [\"name_badge\"]],\n \"1f4dc\": [\"\\uD83D\\uDCDC\", [\"scroll\"]],\n \"1f4dd\": [\"\\uD83D\\uDCDD\", [\"memo\", \"pencil\"]],\n \"1f4de\": [\"\\uD83D\\uDCDE\", [\"telephone_receiver\"]],\n \"1f4df\": [\"\\uD83D\\uDCDF\", [\"pager\"]],\n \"1f4e0\": [\"\\uD83D\\uDCE0\", [\"fax\"]],\n \"1f4e1\": [\"\\uD83D\\uDCE1\", [\"satellite\"]],\n \"1f4e2\": [\"\\uD83D\\uDCE2\", [\"loudspeaker\"]],\n \"1f4e3\": [\"\\uD83D\\uDCE3\", [\"mega\"]],\n \"1f4e4\": [\"\\uD83D\\uDCE4\", [\"outbox_tray\"]],\n \"1f4e5\": [\"\\uD83D\\uDCE5\", [\"inbox_tray\"]],\n \"1f4e6\": [\"\\uD83D\\uDCE6\", [\"package\"]],\n \"1f4e7\": [\"\\uD83D\\uDCE7\", [\"e-mail\"]],\n \"1f4e8\": [\"\\uD83D\\uDCE8\", [\"incoming_envelope\"]],\n \"1f4e9\": [\"\\uD83D\\uDCE9\", [\"envelope_with_arrow\"]],\n \"1f4ea\": [\"\\uD83D\\uDCEA\", [\"mailbox_closed\"]],\n \"1f4eb\": [\"\\uD83D\\uDCEB\", [\"mailbox\"]],\n \"1f4ec\": [\"\\uD83D\\uDCEC\", [\"mailbox_with_mail\"]],\n \"1f4ed\": [\"\\uD83D\\uDCED\", [\"mailbox_with_no_mail\"]],\n \"1f4ee\": [\"\\uD83D\\uDCEE\", [\"postbox\"]],\n \"1f4ef\": [\"\\uD83D\\uDCEF\", [\"postal_horn\"]],\n \"1f4f0\": [\"\\uD83D\\uDCF0\", [\"newspaper\"]],\n \"1f4f1\": [\"\\uD83D\\uDCF1\", [\"iphone\"]],\n \"1f4f2\": [\"\\uD83D\\uDCF2\", [\"calling\"]],\n \"1f4f3\": [\"\\uD83D\\uDCF3\", [\"vibration_mode\"]],\n \"1f4f4\": [\"\\uD83D\\uDCF4\", [\"mobile_phone_off\"]],\n \"1f4f5\": [\"\\uD83D\\uDCF5\", [\"no_mobile_phones\"]],\n \"1f4f6\": [\"\\uD83D\\uDCF6\", [\"signal_strength\"]],\n \"1f4f7\": [\"\\uD83D\\uDCF7\", [\"camera\"]],\n \"1f4f9\": [\"\\uD83D\\uDCF9\", [\"video_camera\"]],\n \"1f4fa\": [\"\\uD83D\\uDCFA\", [\"tv\"]],\n \"1f4fb\": [\"\\uD83D\\uDCFB\", [\"radio\"]],\n \"1f4fc\": [\"\\uD83D\\uDCFC\", [\"vhs\"]],\n \"1f500\": [\"\\uD83D\\uDD00\", [\"twisted_rightwards_arrows\"]],\n \"1f501\": [\"\\uD83D\\uDD01\", [\"repeat\"]],\n \"1f502\": [\"\\uD83D\\uDD02\", [\"repeat_one\"]],\n \"1f503\": [\"\\uD83D\\uDD03\", [\"arrows_clockwise\"]],\n \"1f504\": [\"\\uD83D\\uDD04\", [\"arrows_counterclockwise\"]],\n \"1f505\": [\"\\uD83D\\uDD05\", [\"low_brightness\"]],\n \"1f506\": [\"\\uD83D\\uDD06\", [\"high_brightness\"]],\n \"1f507\": [\"\\uD83D\\uDD07\", [\"mute\"]],\n \"1f508\": [\"\\uD83D\\uDD09\", [\"speaker\"]],\n \"1f509\": [\"\\uD83D\\uDD09\", [\"sound\"]],\n \"1f50a\": [\"\\uD83D\\uDD0A\", [\"loud_sound\"]],\n \"1f50b\": [\"\\uD83D\\uDD0B\", [\"battery\"]],\n \"1f50c\": [\"\\uD83D\\uDD0C\", [\"electric_plug\"]],\n \"1f50d\": [\"\\uD83D\\uDD0D\", [\"mag\"]],\n \"1f50e\": [\"\\uD83D\\uDD0E\", [\"mag_right\"]],\n \"1f50f\": [\"\\uD83D\\uDD0F\", [\"lock_with_ink_pen\"]],\n \"1f510\": [\"\\uD83D\\uDD10\", [\"closed_lock_with_key\"]],\n \"1f511\": [\"\\uD83D\\uDD11\", [\"key\"]],\n \"1f512\": [\"\\uD83D\\uDD12\", [\"lock\"]],\n \"1f513\": [\"\\uD83D\\uDD13\", [\"unlock\"]],\n \"1f514\": [\"\\uD83D\\uDD14\", [\"bell\"]],\n \"1f515\": [\"\\uD83D\\uDD15\", [\"no_bell\"]],\n \"1f516\": [\"\\uD83D\\uDD16\", [\"bookmark\"]],\n \"1f517\": [\"\\uD83D\\uDD17\", [\"link\"]],\n \"1f518\": [\"\\uD83D\\uDD18\", [\"radio_button\"]],\n \"1f519\": [\"\\uD83D\\uDD19\", [\"back\"]],\n \"1f51a\": [\"\\uD83D\\uDD1A\", [\"end\"]],\n \"1f51b\": [\"\\uD83D\\uDD1B\", [\"on\"]],\n \"1f51c\": [\"\\uD83D\\uDD1C\", [\"soon\"]],\n \"1f51d\": [\"\\uD83D\\uDD1D\", [\"top\"]],\n \"1f51e\": [\"\\uD83D\\uDD1E\", [\"underage\"]],\n \"1f51f\": [\"\\uD83D\\uDD1F\", [\"keycap_ten\"]],\n \"1f520\": [\"\\uD83D\\uDD20\", [\"capital_abcd\"]],\n \"1f521\": [\"\\uD83D\\uDD21\", [\"abcd\"]],\n \"1f522\": [\"\\uD83D\\uDD22\", [\"1234\"]],\n \"1f523\": [\"\\uD83D\\uDD23\", [\"symbols\"]],\n \"1f524\": [\"\\uD83D\\uDD24\", [\"abc\"]],\n \"1f525\": [\"\\uD83D\\uDD25\", [\"fire\"]],\n \"1f526\": [\"\\uD83D\\uDD26\", [\"flashlight\"]],\n \"1f527\": [\"\\uD83D\\uDD27\", [\"wrench\"]],\n \"1f528\": [\"\\uD83D\\uDD28\", [\"hammer\"]],\n \"1f529\": [\"\\uD83D\\uDD29\", [\"nut_and_bolt\"]],\n \"1f52a\": [\"\\uD83D\\uDD2A\", [\"hocho\"]],\n \"1f52b\": [\"\\uD83D\\uDD2B\", [\"gun\"]],\n \"1f52c\": [\"\\uD83D\\uDD2C\", [\"microscope\"]],\n \"1f52d\": [\"\\uD83D\\uDD2D\", [\"telescope\"]],\n \"1f52e\": [\"\\uD83D\\uDD2E\", [\"crystal_ball\"]],\n \"1f52f\": [\"\\uD83D\\uDD2F\", [\"six_pointed_star\"]],\n \"1f530\": [\"\\uD83D\\uDD30\", [\"beginner\"]],\n \"1f531\": [\"\\uD83D\\uDD31\", [\"trident\"]],\n \"1f532\": [\"\\uD83D\\uDD32\", [\"black_square_button\"]],\n \"1f533\": [\"\\uD83D\\uDD33\", [\"white_square_button\"]],\n \"1f534\": [\"\\uD83D\\uDD34\", [\"red_circle\"]],\n \"1f535\": [\"\\uD83D\\uDD35\", [\"large_blue_circle\"]],\n \"1f536\": [\"\\uD83D\\uDD36\", [\"large_orange_diamond\"]],\n \"1f537\": [\"\\uD83D\\uDD37\", [\"large_blue_diamond\"]],\n \"1f538\": [\"\\uD83D\\uDD38\", [\"small_orange_diamond\"]],\n \"1f539\": [\"\\uD83D\\uDD39\", [\"small_blue_diamond\"]],\n \"1f53a\": [\"\\uD83D\\uDD3A\", [\"small_red_triangle\"]],\n \"1f53b\": [\"\\uD83D\\uDD3B\", [\"small_red_triangle_down\"]],\n \"1f53c\": [\"\\uD83D\\uDD3C\", [\"arrow_up_small\"]],\n \"1f53d\": [\"\\uD83D\\uDD3D\", [\"arrow_down_small\"]],\n \"1f550\": [\"\\uD83D\\uDD50\", [\"clock1\"]],\n \"1f551\": [\"\\uD83D\\uDD51\", [\"clock2\"]],\n \"1f552\": [\"\\uD83D\\uDD52\", [\"clock3\"]],\n \"1f553\": [\"\\uD83D\\uDD53\", [\"clock4\"]],\n \"1f554\": [\"\\uD83D\\uDD54\", [\"clock5\"]],\n \"1f555\": [\"\\uD83D\\uDD55\", [\"clock6\"]],\n \"1f556\": [\"\\uD83D\\uDD56\", [\"clock7\"]],\n \"1f557\": [\"\\uD83D\\uDD57\", [\"clock8\"]],\n \"1f558\": [\"\\uD83D\\uDD58\", [\"clock9\"]],\n \"1f559\": [\"\\uD83D\\uDD59\", [\"clock10\"]],\n \"1f55a\": [\"\\uD83D\\uDD5A\", [\"clock11\"]],\n \"1f55b\": [\"\\uD83D\\uDD5B\", [\"clock12\"]],\n \"1f55c\": [\"\\uD83D\\uDD5C\", [\"clock130\"]],\n \"1f55d\": [\"\\uD83D\\uDD5D\", [\"clock230\"]],\n \"1f55e\": [\"\\uD83D\\uDD5E\", [\"clock330\"]],\n \"1f55f\": [\"\\uD83D\\uDD5F\", [\"clock430\"]],\n \"1f560\": [\"\\uD83D\\uDD60\", [\"clock530\"]],\n \"1f561\": [\"\\uD83D\\uDD61\", [\"clock630\"]],\n \"1f562\": [\"\\uD83D\\uDD62\", [\"clock730\"]],\n \"1f563\": [\"\\uD83D\\uDD63\", [\"clock830\"]],\n \"1f564\": [\"\\uD83D\\uDD64\", [\"clock930\"]],\n \"1f565\": [\"\\uD83D\\uDD65\", [\"clock1030\"]],\n \"1f566\": [\"\\uD83D\\uDD66\", [\"clock1130\"]],\n \"1f567\": [\"\\uD83D\\uDD67\", [\"clock1230\"]],\n \"1f5fb\": [\"\\uD83D\\uDDFB\", [\"mount_fuji\"]],\n \"1f5fc\": [\"\\uD83D\\uDDFC\", [\"tokyo_tower\"]],\n \"1f5fd\": [\"\\uD83D\\uDDFD\", [\"statue_of_liberty\"]],\n \"1f5fe\": [\"\\uD83D\\uDDFE\", [\"japan\"]],\n \"1f5ff\": [\"\\uD83D\\uDDFF\", [\"moyai\"]],\n \"1f600\": [\"\\uD83D\\uDE00\", [\"grinning\"]],\n \"1f601\": [\"\\uD83D\\uDE01\", [\"grin\"]],\n \"1f602\": [\"\\uD83D\\uDE02\", [\"joy\"]],\n \"1f603\": [\"\\uD83D\\uDE03\", [\"smiley\"], \":)\"],\n \"1f604\": [\"\\uD83D\\uDE04\", [\"smile\"], \":)\"],\n \"1f605\": [\"\\uD83D\\uDE05\", [\"sweat_smile\"]],\n \"1f606\": [\"\\uD83D\\uDE06\", [\"satisfied\"]],\n \"1f607\": [\"\\uD83D\\uDE07\", [\"innocent\"]],\n \"1f608\": [\"\\uD83D\\uDE08\", [\"smiling_imp\"]],\n \"1f609\": [\"\\uD83D\\uDE09\", [\"wink\"], \";)\"],\n \"1f60a\": [\"\\uD83D\\uDE0A\", [\"blush\"]],\n \"1f60b\": [\"\\uD83D\\uDE0B\", [\"yum\"]],\n \"1f60c\": [\"\\uD83D\\uDE0C\", [\"relieved\"]],\n \"1f60d\": [\"\\uD83D\\uDE0D\", [\"heart_eyes\"]],\n \"1f60e\": [\"\\uD83D\\uDE0E\", [\"sunglasses\"]],\n \"1f60f\": [\"\\uD83D\\uDE0F\", [\"smirk\"]],\n \"1f610\": [\"\\uD83D\\uDE10\", [\"neutral_face\"]],\n \"1f611\": [\"\\uD83D\\uDE11\", [\"expressionless\"]],\n \"1f612\": [\"\\uD83D\\uDE12\", [\"unamused\"]],\n \"1f613\": [\"\\uD83D\\uDE13\", [\"sweat\"]],\n \"1f614\": [\"\\uD83D\\uDE14\", [\"pensive\"]],\n \"1f615\": [\"\\uD83D\\uDE15\", [\"confused\"]],\n \"1f616\": [\"\\uD83D\\uDE16\", [\"confounded\"]],\n \"1f617\": [\"\\uD83D\\uDE17\", [\"kissing\"]],\n \"1f618\": [\"\\uD83D\\uDE18\", [\"kissing_heart\"]],\n \"1f619\": [\"\\uD83D\\uDE19\", [\"kissing_smiling_eyes\"]],\n \"1f61a\": [\"\\uD83D\\uDE1A\", [\"kissing_closed_eyes\"]],\n \"1f61b\": [\"\\uD83D\\uDE1B\", [\"stuck_out_tongue\"]],\n \"1f61c\": [\"\\uD83D\\uDE1C\", [\"stuck_out_tongue_winking_eye\"], \";p\"],\n \"1f61d\": [\"\\uD83D\\uDE1D\", [\"stuck_out_tongue_closed_eyes\"]],\n \"1f61e\": [\"\\uD83D\\uDE1E\", [\"disappointed\"], \":(\"],\n \"1f61f\": [\"\\uD83D\\uDE1F\", [\"worried\"]],\n \"1f620\": [\"\\uD83D\\uDE20\", [\"angry\"]],\n \"1f621\": [\"\\uD83D\\uDE21\", [\"rage\"]],\n \"1f622\": [\"\\uD83D\\uDE22\", [\"cry\"], \":'(\"],\n \"1f623\": [\"\\uD83D\\uDE23\", [\"persevere\"]],\n \"1f624\": [\"\\uD83D\\uDE24\", [\"triumph\"]],\n \"1f625\": [\"\\uD83D\\uDE25\", [\"disappointed_relieved\"]],\n \"1f626\": [\"\\uD83D\\uDE26\", [\"frowning\"]],\n \"1f627\": [\"\\uD83D\\uDE27\", [\"anguished\"]],\n \"1f628\": [\"\\uD83D\\uDE28\", [\"fearful\"]],\n \"1f629\": [\"\\uD83D\\uDE29\", [\"weary\"]],\n \"1f62a\": [\"\\uD83D\\uDE2A\", [\"sleepy\"]],\n \"1f62b\": [\"\\uD83D\\uDE2B\", [\"tired_face\"]],\n \"1f62c\": [\"\\uD83D\\uDE2C\", [\"grimacing\"]],\n \"1f62d\": [\"\\uD83D\\uDE2D\", [\"sob\"], \":'(\"],\n \"1f62e\": [\"\\uD83D\\uDE2E\", [\"open_mouth\"]],\n \"1f62f\": [\"\\uD83D\\uDE2F\", [\"hushed\"]],\n \"1f630\": [\"\\uD83D\\uDE30\", [\"cold_sweat\"]],\n \"1f631\": [\"\\uD83D\\uDE31\", [\"scream\"]],\n \"1f632\": [\"\\uD83D\\uDE32\", [\"astonished\"]],\n \"1f633\": [\"\\uD83D\\uDE33\", [\"flushed\"]],\n \"1f634\": [\"\\uD83D\\uDE34\", [\"sleeping\"]],\n \"1f635\": [\"\\uD83D\\uDE35\", [\"dizzy_face\"]],\n \"1f636\": [\"\\uD83D\\uDE36\", [\"no_mouth\"]],\n \"1f637\": [\"\\uD83D\\uDE37\", [\"mask\"]],\n \"1f638\": [\"\\uD83D\\uDE38\", [\"smile_cat\"]],\n \"1f639\": [\"\\uD83D\\uDE39\", [\"joy_cat\"]],\n \"1f63a\": [\"\\uD83D\\uDE3A\", [\"smiley_cat\"]],\n \"1f63b\": [\"\\uD83D\\uDE3B\", [\"heart_eyes_cat\"]],\n \"1f63c\": [\"\\uD83D\\uDE3C\", [\"smirk_cat\"]],\n \"1f63d\": [\"\\uD83D\\uDE3D\", [\"kissing_cat\"]],\n \"1f63e\": [\"\\uD83D\\uDE3E\", [\"pouting_cat\"]],\n \"1f63f\": [\"\\uD83D\\uDE3F\", [\"crying_cat_face\"]],\n \"1f640\": [\"\\uD83D\\uDE40\", [\"scream_cat\"]],\n \"1f645\": [\"\\uD83D\\uDE45\", [\"no_good\"]],\n \"1f646\": [\"\\uD83D\\uDE46\", [\"ok_woman\"]],\n \"1f647\": [\"\\uD83D\\uDE47\", [\"bow\"]],\n \"1f648\": [\"\\uD83D\\uDE48\", [\"see_no_evil\"]],\n \"1f649\": [\"\\uD83D\\uDE49\", [\"hear_no_evil\"]],\n \"1f64a\": [\"\\uD83D\\uDE4A\", [\"speak_no_evil\"]],\n \"1f64b\": [\"\\uD83D\\uDE4B\", [\"raising_hand\"]],\n \"1f64c\": [\"\\uD83D\\uDE4C\", [\"raised_hands\"]],\n \"1f64d\": [\"\\uD83D\\uDE4D\", [\"person_frowning\"]],\n \"1f64e\": [\"\\uD83D\\uDE4E\", [\"person_with_pouting_face\"]],\n \"1f64f\": [\"\\uD83D\\uDE4F\", [\"pray\"]],\n \"1f680\": [\"\\uD83D\\uDE80\", [\"rocket\"]],\n \"1f681\": [\"\\uD83D\\uDE81\", [\"helicopter\"]],\n \"1f682\": [\"\\uD83D\\uDE82\", [\"steam_locomotive\"]],\n \"1f683\": [\"\\uD83D\\uDE83\", [\"railway_car\"]],\n \"1f68b\": [\"\\uD83D\\uDE8B\", [\"train\"]],\n \"1f684\": [\"\\uD83D\\uDE84\", [\"bullettrain_side\"]],\n \"1f685\": [\"\\uD83D\\uDE85\", [\"bullettrain_front\"]],\n \"1f686\": [\"\\uD83D\\uDE86\", [\"train2\"]],\n \"1f687\": [\"\\uD83D\\uDE87\", [\"metro\"]],\n \"1f688\": [\"\\uD83D\\uDE88\", [\"light_rail\"]],\n \"1f689\": [\"\\uD83D\\uDE89\", [\"station\"]],\n \"1f68a\": [\"\\uD83D\\uDE8A\", [\"tram\"]],\n \"1f68c\": [\"\\uD83D\\uDE8C\", [\"bus\"]],\n \"1f68d\": [\"\\uD83D\\uDE8D\", [\"oncoming_bus\"]],\n \"1f68e\": [\"\\uD83D\\uDE8E\", [\"trolleybus\"]],\n \"1f68f\": [\"\\uD83D\\uDE8F\", [\"busstop\"]],\n \"1f690\": [\"\\uD83D\\uDE90\", [\"minibus\"]],\n \"1f691\": [\"\\uD83D\\uDE91\", [\"ambulance\"]],\n \"1f692\": [\"\\uD83D\\uDE92\", [\"fire_engine\"]],\n \"1f693\": [\"\\uD83D\\uDE93\", [\"police_car\"]],\n \"1f694\": [\"\\uD83D\\uDE94\", [\"oncoming_police_car\"]],\n \"1f695\": [\"\\uD83D\\uDE95\", [\"taxi\"]],\n \"1f696\": [\"\\uD83D\\uDE96\", [\"oncoming_taxi\"]],\n \"1f697\": [\"\\uD83D\\uDE97\", [\"car\", \"red_car\"]],\n \"1f698\": [\"\\uD83D\\uDE98\", [\"oncoming_automobile\"]],\n \"1f699\": [\"\\uD83D\\uDE99\", [\"blue_car\"]],\n \"1f69a\": [\"\\uD83D\\uDE9A\", [\"truck\"]],\n \"1f69b\": [\"\\uD83D\\uDE9B\", [\"articulated_lorry\"]],\n \"1f69c\": [\"\\uD83D\\uDE9C\", [\"tractor\"]],\n \"1f69d\": [\"\\uD83D\\uDE9D\", [\"monorail\"]],\n \"1f69e\": [\"\\uD83D\\uDE9E\", [\"mountain_railway\"]],\n \"1f69f\": [\"\\uD83D\\uDE9F\", [\"suspension_railway\"]],\n \"1f6a0\": [\"\\uD83D\\uDEA0\", [\"mountain_cableway\"]],\n \"1f6a1\": [\"\\uD83D\\uDEA1\", [\"aerial_tramway\"]],\n \"1f6a2\": [\"\\uD83D\\uDEA2\", [\"ship\"]],\n \"1f6a3\": [\"\\uD83D\\uDEA3\", [\"rowboat\"]],\n \"1f6a4\": [\"\\uD83D\\uDEA4\", [\"speedboat\"]],\n \"1f6a5\": [\"\\uD83D\\uDEA5\", [\"traffic_light\"]],\n \"1f6a6\": [\"\\uD83D\\uDEA6\", [\"vertical_traffic_light\"]],\n \"1f6a7\": [\"\\uD83D\\uDEA7\", [\"construction\"]],\n \"1f6a8\": [\"\\uD83D\\uDEA8\", [\"rotating_light\"]],\n \"1f6a9\": [\"\\uD83D\\uDEA9\", [\"triangular_flag_on_post\"]],\n \"1f6aa\": [\"\\uD83D\\uDEAA\", [\"door\"]],\n \"1f6ab\": [\"\\uD83D\\uDEAB\", [\"no_entry_sign\"]],\n \"1f6ac\": [\"\\uD83D\\uDEAC\", [\"smoking\"]],\n \"1f6ad\": [\"\\uD83D\\uDEAD\", [\"no_smoking\"]],\n \"1f6ae\": [\"\\uD83D\\uDEAE\", [\"put_litter_in_its_place\"]],\n \"1f6af\": [\"\\uD83D\\uDEAF\", [\"do_not_litter\"]],\n \"1f6b0\": [\"\\uD83D\\uDEB0\", [\"potable_water\"]],\n \"1f6b1\": [\"\\uD83D\\uDEB1\", [\"non-potable_water\"]],\n \"1f6b2\": [\"\\uD83D\\uDEB2\", [\"bike\"]],\n \"1f6b3\": [\"\\uD83D\\uDEB3\", [\"no_bicycles\"]],\n \"1f6b4\": [\"\\uD83D\\uDEB4\", [\"bicyclist\"]],\n \"1f6b5\": [\"\\uD83D\\uDEB5\", [\"mountain_bicyclist\"]],\n \"1f6b6\": [\"\\uD83D\\uDEB6\", [\"walking\"]],\n \"1f6b7\": [\"\\uD83D\\uDEB7\", [\"no_pedestrians\"]],\n \"1f6b8\": [\"\\uD83D\\uDEB8\", [\"children_crossing\"]],\n \"1f6b9\": [\"\\uD83D\\uDEB9\", [\"mens\"]],\n \"1f6ba\": [\"\\uD83D\\uDEBA\", [\"womens\"]],\n \"1f6bb\": [\"\\uD83D\\uDEBB\", [\"restroom\"]],\n \"1f6bc\": [\"\\uD83D\\uDEBC\", [\"baby_symbol\"]],\n \"1f6bd\": [\"\\uD83D\\uDEBD\", [\"toilet\"]],\n \"1f6be\": [\"\\uD83D\\uDEBE\", [\"wc\"]],\n \"1f6bf\": [\"\\uD83D\\uDEBF\", [\"shower\"]],\n \"1f6c0\": [\"\\uD83D\\uDEC0\", [\"bath\"]],\n \"1f6c1\": [\"\\uD83D\\uDEC1\", [\"bathtub\"]],\n \"1f6c2\": [\"\\uD83D\\uDEC2\", [\"passport_control\"]],\n \"1f6c3\": [\"\\uD83D\\uDEC3\", [\"customs\"]],\n \"1f6c4\": [\"\\uD83D\\uDEC4\", [\"baggage_claim\"]],\n \"1f6c5\": [\"\\uD83D\\uDEC5\", [\"left_luggage\"]],\n \"0023\": [\"#\\u20E3\", [\"hash\"]],\n \"0030\": [\"0\\u20E3\", [\"zero\"]],\n \"0031\": [\"1\\u20E3\", [\"one\"]],\n \"0032\": [\"2\\u20E3\", [\"two\"]],\n \"0033\": [\"3\\u20E3\", [\"three\"]],\n \"0034\": [\"4\\u20E3\", [\"four\"]],\n \"0035\": [\"5\\u20E3\", [\"five\"]],\n \"0036\": [\"6\\u20E3\", [\"six\"]],\n \"0037\": [\"7\\u20E3\", [\"seven\"]],\n \"0038\": [\"8\\u20E3\", [\"eight\"]],\n \"0039\": [\"9\\u20E3\", [\"nine\"]],\n \"1f1e8-1f1f3\": [\"\\uD83C\\uDDE8\\uD83C\\uDDF3\", [\"cn\"]],\n \"1f1e9-1f1ea\": [\"\\uD83C\\uDDE9\\uD83C\\uDDEA\", [\"de\"]],\n \"1f1ea-1f1f8\": [\"\\uD83C\\uDDEA\\uD83C\\uDDF8\", [\"es\"]],\n \"1f1eb-1f1f7\": [\"\\uD83C\\uDDEB\\uD83C\\uDDF7\", [\"fr\"]],\n \"1f1ec-1f1e7\": [\"\\uD83C\\uDDEC\\uD83C\\uDDE7\", [\"gb\", \"uk\"]],\n \"1f1ee-1f1f9\": [\"\\uD83C\\uDDEE\\uD83C\\uDDF9\", [\"it\"]],\n \"1f1ef-1f1f5\": [\"\\uD83C\\uDDEF\\uD83C\\uDDF5\", [\"jp\"]],\n \"1f1f0-1f1f7\": [\"\\uD83C\\uDDF0\\uD83C\\uDDF7\", [\"kr\"]],\n \"1f1f7-1f1fa\": [\"\\uD83C\\uDDF7\\uD83C\\uDDFA\", [\"ru\"]],\n \"1f1fa-1f1f8\": [\"\\uD83C\\uDDFA\\uD83C\\uDDF8\", [\"us\"]]\n};\n\nConfig.EmojiCategories = [[\"1f604\", \"1f603\", \"1f600\", \"1f60a\", \"263a\", \"1f609\", \"1f60d\", \"1f618\", \"1f61a\", \"1f617\", \"1f619\", \"1f61c\", \"1f61d\", \"1f61b\", \"1f633\", \"1f601\", \"1f614\", \"1f60c\", \"1f612\", \"1f61e\", \"1f623\", \"1f622\", \"1f602\", \"1f62d\", \"1f62a\", \"1f625\", \"1f630\", \"1f605\", \"1f613\", \"1f629\", \"1f62b\", \"1f628\", \"1f631\", \"1f620\", \"1f621\", \"1f624\", \"1f616\", \"1f606\", \"1f60b\", \"1f637\", \"1f60e\", \"1f634\", \"1f635\", \"1f632\", \"1f61f\", \"1f626\", \"1f627\", \"1f608\", \"1f47f\", \"1f62e\", \"1f62c\", \"1f610\", \"1f615\", \"1f62f\", \"1f636\", \"1f607\", \"1f60f\", \"1f611\", \"1f472\", \"1f473\", \"1f46e\", \"1f477\", \"1f482\", \"1f476\", \"1f466\", \"1f467\", \"1f468\", \"1f469\", \"1f474\", \"1f475\", \"1f471\", \"1f47c\", \"1f478\", \"1f63a\", \"1f638\", \"1f63b\", \"1f63d\", \"1f63c\", \"1f640\", \"1f63f\", \"1f639\", \"1f63e\", \"1f479\", \"1f47a\", \"1f648\", \"1f649\", \"1f64a\", \"1f480\", \"1f47d\", \"1f4a9\", \"1f525\", \"2728\", \"1f31f\", \"1f4ab\", \"1f4a5\", \"1f4a2\", \"1f4a6\", \"1f4a7\", \"1f4a4\", \"1f4a8\", \"1f442\", \"1f440\", \"1f443\", \"1f445\", \"1f444\", \"1f44d\", \"1f44e\", \"1f44c\", \"1f44a\", \"270a\", \"270c\", \"1f44b\", \"270b\", \"1f450\", \"1f446\", \"1f447\", \"1f449\", \"1f448\", \"1f64c\", \"1f64f\", \"261d\", \"1f44f\", \"1f4aa\", \"1f6b6\", \"1f3c3\", \"1f483\", \"1f46b\", \"1f46a\", \"1f46c\", \"1f46d\", \"1f48f\", \"1f491\", \"1f46f\", \"1f646\", \"1f645\", \"1f481\", \"1f64b\", \"1f486\", \"1f487\", \"1f485\", \"1f470\", \"1f64e\", \"1f64d\", \"1f647\", \"1f3a9\", \"1f451\", \"1f452\", \"1f45f\", \"1f45e\", \"1f461\", \"1f460\", \"1f462\", \"1f455\", \"1f454\", \"1f45a\", \"1f457\", \"1f3bd\", \"1f456\", \"1f458\", \"1f459\", \"1f4bc\", \"1f45c\", \"1f45d\", \"1f45b\", \"1f453\", \"1f380\", \"1f302\", \"1f484\", \"1f49b\", \"1f499\", \"1f49c\", \"1f49a\", \"2764\", \"1f494\", \"1f497\", \"1f493\", \"1f495\", \"1f496\", \"1f49e\", \"1f498\", \"1f48c\", \"1f48b\", \"1f48d\", \"1f48e\", \"1f464\", \"1f465\", \"1f4ac\", \"1f463\", \"1f4ad\"], [\"1f436\", \"1f43a\", \"1f431\", \"1f42d\", \"1f439\", \"1f430\", \"1f438\", \"1f42f\", \"1f428\", \"1f43b\", \"1f437\", \"1f43d\", \"1f42e\", \"1f417\", \"1f435\", \"1f412\", \"1f434\", \"1f411\", \"1f418\", \"1f43c\", \"1f427\", \"1f426\", \"1f424\", \"1f425\", \"1f423\", \"1f414\", \"1f40d\", \"1f422\", \"1f41b\", \"1f41d\", \"1f41c\", \"1f41e\", \"1f40c\", \"1f419\", \"1f41a\", \"1f420\", \"1f41f\", \"1f42c\", \"1f433\", \"1f40b\", \"1f404\", \"1f40f\", \"1f400\", \"1f403\", \"1f405\", \"1f407\", \"1f409\", \"1f40e\", \"1f410\", \"1f413\", \"1f415\", \"1f416\", \"1f401\", \"1f402\", \"1f432\", \"1f421\", \"1f40a\", \"1f42b\", \"1f42a\", \"1f406\", \"1f408\", \"1f429\", \"1f43e\", \"1f490\", \"1f338\", \"1f337\", \"1f340\", \"1f339\", \"1f33b\", \"1f33a\", \"1f341\", \"1f343\", \"1f342\", \"1f33f\", \"1f33e\", \"1f344\", \"1f335\", \"1f334\", \"1f332\", \"1f333\", \"1f330\", \"1f331\", \"1f33c\", \"1f310\", \"1f31e\", \"1f31d\", \"1f31a\", \"1f311\", \"1f312\", \"1f313\", \"1f314\", \"1f315\", \"1f316\", \"1f317\", \"1f318\", \"1f31c\", \"1f31b\", \"1f319\", \"1f30d\", \"1f30e\", \"1f30f\", \"1f30b\", \"1f30c\", \"1f320\", \"2b50\", \"2600\", \"26c5\", \"2601\", \"26a1\", \"2614\", \"2744\", \"26c4\", \"1f300\", \"1f301\", \"1f308\", \"1f30a\"], [\"1f38d\", \"1f49d\", \"1f38e\", \"1f392\", \"1f393\", \"1f38f\", \"1f386\", \"1f387\", \"1f390\", \"1f391\", \"1f383\", \"1f47b\", \"1f385\", \"1f384\", \"1f381\", \"1f38b\", \"1f389\", \"1f38a\", \"1f388\", \"1f38c\", \"1f52e\", \"1f3a5\", \"1f4f7\", \"1f4f9\", \"1f4fc\", \"1f4bf\", \"1f4c0\", \"1f4bd\", \"1f4be\", \"1f4bb\", \"1f4f1\", \"260e\", \"1f4de\", \"1f4df\", \"1f4e0\", \"1f4e1\", \"1f4fa\", \"1f4fb\", \"1f50a\", \"1f509\", \"1f508\", \"1f507\", \"1f514\", \"1f515\", \"1f4e3\", \"1f4e2\", \"23f3\", \"231b\", \"23f0\", \"231a\", \"1f513\", \"1f512\", \"1f50f\", \"1f510\", \"1f511\", \"1f50e\", \"1f4a1\", \"1f526\", \"1f506\", \"1f505\", \"1f50c\", \"1f50b\", \"1f50d\", \"1f6c0\", \"1f6c1\", \"1f6bf\", \"1f6bd\", \"1f527\", \"1f529\", \"1f528\", \"1f6aa\", \"1f6ac\", \"1f4a3\", \"1f52b\", \"1f52a\", \"1f48a\", \"1f489\", \"1f4b0\", \"1f4b4\", \"1f4b5\", \"1f4b7\", \"1f4b6\", \"1f4b3\", \"1f4b8\", \"1f4f2\", \"1f4e7\", \"1f4e5\", \"1f4e4\", \"2709\", \"1f4e9\", \"1f4e8\", \"1f4ef\", \"1f4eb\", \"1f4ea\", \"1f4ec\", \"1f4ed\", \"1f4ee\", \"1f4e6\", \"1f4dd\", \"1f4c4\", \"1f4c3\", \"1f4d1\", \"1f4ca\", \"1f4c8\", \"1f4c9\", \"1f4dc\", \"1f4cb\", \"1f4c5\", \"1f4c6\", \"1f4c7\", \"1f4c1\", \"1f4c2\", \"2702\", \"1f4cc\", \"1f4ce\", \"2712\", \"270f\", \"1f4cf\", \"1f4d0\", \"1f4d5\", \"1f4d7\", \"1f4d8\", \"1f4d9\", \"1f4d3\", \"1f4d4\", \"1f4d2\", \"1f4da\", \"1f4d6\", \"1f516\", \"1f4db\", \"1f52c\", \"1f52d\", \"1f4f0\", \"1f3a8\", \"1f3ac\", \"1f3a4\", \"1f3a7\", \"1f3bc\", \"1f3b5\", \"1f3b6\", \"1f3b9\", \"1f3bb\", \"1f3ba\", \"1f3b7\", \"1f3b8\", \"1f47e\", \"1f3ae\", \"1f0cf\", \"1f3b4\", \"1f004\", \"1f3b2\", \"1f3af\", \"1f3c8\", \"1f3c0\", \"26bd\", \"26be\", \"1f3be\", \"1f3b1\", \"1f3c9\", \"1f3b3\", \"26f3\", \"1f6b5\", \"1f6b4\", \"1f3c1\", \"1f3c7\", \"1f3c6\", \"1f3bf\", \"1f3c2\", \"1f3ca\", \"1f3c4\", \"1f3a3\", \"2615\", \"1f375\", \"1f376\", \"1f37c\", \"1f37a\", \"1f37b\", \"1f378\", \"1f379\", \"1f377\", \"1f374\", \"1f355\", \"1f354\", \"1f35f\", \"1f357\", \"1f356\", \"1f35d\", \"1f35b\", \"1f364\", \"1f371\", \"1f363\", \"1f365\", \"1f359\", \"1f358\", \"1f35a\", \"1f35c\", \"1f372\", \"1f362\", \"1f361\", \"1f373\", \"1f35e\", \"1f369\", \"1f36e\", \"1f366\", \"1f368\", \"1f367\", \"1f382\", \"1f370\", \"1f36a\", \"1f36b\", \"1f36c\", \"1f36d\", \"1f36f\", \"1f34e\", \"1f34f\", \"1f34a\", \"1f34b\", \"1f352\", \"1f347\", \"1f349\", \"1f353\", \"1f351\", \"1f348\", \"1f34c\", \"1f350\", \"1f34d\", \"1f360\", \"1f346\", \"1f345\", \"1f33d\"], [\"1f3e0\", \"1f3e1\", \"1f3eb\", \"1f3e2\", \"1f3e3\", \"1f3e5\", \"1f3e6\", \"1f3ea\", \"1f3e9\", \"1f3e8\", \"1f492\", \"26ea\", \"1f3ec\", \"1f3e4\", \"1f307\", \"1f306\", \"1f3ef\", \"1f3f0\", \"26fa\", \"1f3ed\", \"1f5fc\", \"1f5fe\", \"1f5fb\", \"1f304\", \"1f305\", \"1f303\", \"1f5fd\", \"1f309\", \"1f3a0\", \"1f3a1\", \"26f2\", \"1f3a2\", \"1f6a2\", \"26f5\", \"1f6a4\", \"1f6a3\", \"2693\", \"1f680\", \"2708\", \"1f4ba\", \"1f681\", \"1f682\", \"1f68a\", \"1f689\", \"1f69e\", \"1f686\", \"1f684\", \"1f685\", \"1f688\", \"1f687\", \"1f69d\", \"1f683\", \"1f68b\", \"1f68e\", \"1f68c\", \"1f68d\", \"1f699\", \"1f698\", \"1f697\", \"1f695\", \"1f696\", \"1f69b\", \"1f69a\", \"1f6a8\", \"1f693\", \"1f694\", \"1f692\", \"1f691\", \"1f690\", \"1f6b2\", \"1f6a1\", \"1f69f\", \"1f6a0\", \"1f69c\", \"1f488\", \"1f68f\", \"1f3ab\", \"1f6a6\", \"1f6a5\", \"26a0\", \"1f6a7\", \"1f530\", \"26fd\", \"1f3ee\", \"1f3b0\", \"2668\", \"1f5ff\", \"1f3aa\", \"1f3ad\", \"1f4cd\", \"1f6a9\", \"1f1ef-1f1f5\", \"1f1f0-1f1f7\", \"1f1e9-1f1ea\", \"1f1e8-1f1f3\", \"1f1fa-1f1f8\", \"1f1eb-1f1f7\", \"1f1ea-1f1f8\", \"1f1ee-1f1f9\", \"1f1f7-1f1fa\", \"1f1ec-1f1e7\"], [\"0031\", \"0032\", \"0033\", \"0034\", \"0035\", \"0036\", \"0037\", \"0038\", \"0039\", \"0030\", \"1f51f\", \"1f522\", \"0023\", \"1f523\", \"2b06\", \"2b07\", \"2b05\", \"27a1\", \"1f520\", \"1f521\", \"1f524\", \"2197\", \"2196\", \"2198\", \"2199\", \"2194\", \"2195\", \"1f504\", \"25c0\", \"25b6\", \"1f53c\", \"1f53d\", \"21a9\", \"21aa\", \"2139\", \"23ea\", \"23e9\", \"23eb\", \"23ec\", \"2935\", \"2934\", \"1f197\", \"1f500\", \"1f501\", \"1f502\", \"1f195\", \"1f199\", \"1f192\", \"1f193\", \"1f196\", \"1f4f6\", \"1f3a6\", \"1f201\", \"1f22f\", \"1f233\", \"1f235\", \"1f234\", \"1f232\", \"1f250\", \"1f239\", \"1f23a\", \"1f236\", \"1f21a\", \"1f6bb\", \"1f6b9\", \"1f6ba\", \"1f6bc\", \"1f6be\", \"1f6b0\", \"1f6ae\", \"1f17f\", \"267f\", \"1f6ad\", \"1f237\", \"1f238\", \"1f202\", \"24c2\", \"1f6c2\", \"1f6c4\", \"1f6c5\", \"1f6c3\", \"1f251\", \"3299\", \"3297\", \"1f191\", \"1f198\", \"1f194\", \"1f6ab\", \"1f51e\", \"1f4f5\", \"1f6af\", \"1f6b1\", \"1f6b3\", \"1f6b7\", \"1f6b8\", \"26d4\", \"2733\", \"2747\", \"274e\", \"2705\", \"2734\", \"1f49f\", \"1f19a\", \"1f4f3\", \"1f4f4\", \"1f170\", \"1f171\", \"1f18e\", \"1f17e\", \"1f4a0\", \"27bf\", \"267b\", \"2648\", \"2649\", \"264a\", \"264b\", \"264c\", \"264d\", \"264e\", \"264f\", \"2650\", \"2651\", \"2652\", \"2653\", \"26ce\", \"1f52f\", \"1f3e7\", \"1f4b9\", \"1f4b2\", \"1f4b1\", \"00a9\", \"00ae\", \"2122\", \"274c\", \"203c\", \"2049\", \"2757\", \"2753\", \"2755\", \"2754\", \"2b55\", \"1f51d\", \"1f51a\", \"1f519\", \"1f51b\", \"1f51c\", \"1f503\", \"1f55b\", \"1f567\", \"1f550\", \"1f55c\", \"1f551\", \"1f55d\", \"1f552\", \"1f55e\", \"1f553\", \"1f55f\", \"1f554\", \"1f560\", \"1f555\", \"1f556\", \"1f557\", \"1f558\", \"1f559\", \"1f55a\", \"1f561\", \"1f562\", \"1f563\", \"1f564\", \"1f565\", \"1f566\", \"2716\", \"2795\", \"2796\", \"2797\", \"2660\", \"2665\", \"2663\", \"2666\", \"1f4ae\", \"1f4af\", \"2714\", \"2611\", \"1f518\", \"1f517\", \"27b0\", \"3030\", \"303d\", \"1f531\", \"25fc\", \"25fb\", \"25fe\", \"25fd\", \"25aa\", \"25ab\", \"1f53a\", \"1f532\", \"1f533\", \"26ab\", \"26aa\", \"1f534\", \"1f535\", \"1f53b\", \"2b1c\", \"2b1b\", \"1f536\", \"1f537\", \"1f538\", \"1f539\"]];\n\nConfig.EmojiCategorySpritesheetDimens = [[7, 27], [4, 29], [7, 33], [3, 34], [7, 34]];\n\nConfig.emoji_data = {\n \"00a9\": [[\"\\xA9\"], \"\\uE24E\", \"\\uDBBA\\uDF29\", [\"copyright\"], 0, 0],\n \"00ae\": [[\"\\xAE\"], \"\\uE24F\", \"\\uDBBA\\uDF2D\", [\"registered\"], 0, 1],\n \"203c\": [[\"\\u203C\\uFE0F\", \"\\u203C\"], \"\", \"\\uDBBA\\uDF06\", [\"bangbang\"], 0, 2],\n \"2049\": [[\"\\u2049\\uFE0F\", \"\\u2049\"], \"\", \"\\uDBBA\\uDF05\", [\"interrobang\"], 0, 3],\n \"2122\": [[\"\\u2122\"], \"\\uE537\", \"\\uDBBA\\uDF2A\", [\"tm\"], 0, 4],\n \"2139\": [[\"\\u2139\\uFE0F\", \"\\u2139\"], \"\", \"\\uDBBA\\uDF47\", [\"information_source\"], 0, 5],\n \"2194\": [[\"\\u2194\\uFE0F\", \"\\u2194\"], \"\", \"\\uDBBA\\uDEF6\", [\"left_right_arrow\"], 0, 6],\n \"2195\": [[\"\\u2195\\uFE0F\", \"\\u2195\"], \"\", \"\\uDBBA\\uDEF7\", [\"arrow_up_down\"], 0, 7],\n \"2196\": [[\"\\u2196\\uFE0F\", \"\\u2196\"], \"\\uE237\", \"\\uDBBA\\uDEF2\", [\"arrow_upper_left\"], 0, 8],\n \"2197\": [[\"\\u2197\\uFE0F\", \"\\u2197\"], \"\\uE236\", \"\\uDBBA\\uDEF0\", [\"arrow_upper_right\"], 0, 9],\n \"2198\": [[\"\\u2198\\uFE0F\", \"\\u2198\"], \"\\uE238\", \"\\uDBBA\\uDEF1\", [\"arrow_lower_right\"], 0, 10],\n \"2199\": [[\"\\u2199\\uFE0F\", \"\\u2199\"], \"\\uE239\", \"\\uDBBA\\uDEF3\", [\"arrow_lower_left\"], 0, 11],\n \"21a9\": [[\"\\u21A9\\uFE0F\", \"\\u21A9\"], \"\", \"\\uDBBA\\uDF83\", [\"leftwards_arrow_with_hook\"], 0, 12],\n \"21aa\": [[\"\\u21AA\\uFE0F\", \"\\u21AA\"], \"\", \"\\uDBBA\\uDF88\", [\"arrow_right_hook\"], 0, 13],\n \"231a\": [[\"\\u231A\\uFE0F\", \"\\u231A\"], \"\", \"\\uDBB8\\uDC1D\", [\"watch\"], 0, 14],\n \"231b\": [[\"\\u231B\\uFE0F\", \"\\u231B\"], \"\", \"\\uDBB8\\uDC1C\", [\"hourglass\"], 0, 15],\n \"23e9\": [[\"\\u23E9\"], \"\\uE23C\", \"\\uDBBA\\uDEFE\", [\"fast_forward\"], 0, 16],\n \"23ea\": [[\"\\u23EA\"], \"\\uE23D\", \"\\uDBBA\\uDEFF\", [\"rewind\"], 0, 17],\n \"23eb\": [[\"\\u23EB\"], \"\", \"\\uDBBA\\uDF03\", [\"arrow_double_up\"], 0, 18],\n \"23ec\": [[\"\\u23EC\"], \"\", \"\\uDBBA\\uDF02\", [\"arrow_double_down\"], 0, 19],\n \"23f0\": [[\"\\u23F0\"], \"\\uE02D\", \"\\uDBB8\\uDC2A\", [\"alarm_clock\"], 0, 20],\n \"23f3\": [[\"\\u23F3\"], \"\", \"\\uDBB8\\uDC1B\", [\"hourglass_flowing_sand\"], 0, 21],\n \"24c2\": [[\"\\u24C2\\uFE0F\", \"\\u24C2\"], \"\\uE434\", \"\\uDBB9\\uDFE1\", [\"m\"], 0, 22],\n \"25aa\": [[\"\\u25AA\\uFE0F\", \"\\u25AA\"], \"\\uE21A\", \"\\uDBBA\\uDF6E\", [\"black_small_square\"], 0, 23],\n \"25ab\": [[\"\\u25AB\\uFE0F\", \"\\u25AB\"], \"\\uE21B\", \"\\uDBBA\\uDF6D\", [\"white_small_square\"], 0, 24],\n \"25b6\": [[\"\\u25B6\\uFE0F\", \"\\u25B6\"], \"\\uE23A\", \"\\uDBBA\\uDEFC\", [\"arrow_forward\"], 0, 25],\n \"25c0\": [[\"\\u25C0\\uFE0F\", \"\\u25C0\"], \"\\uE23B\", \"\\uDBBA\\uDEFD\", [\"arrow_backward\"], 0, 26],\n \"25fb\": [[\"\\u25FB\\uFE0F\", \"\\u25FB\"], \"\\uE21B\", \"\\uDBBA\\uDF71\", [\"white_medium_square\"], 0, 27],\n \"25fc\": [[\"\\u25FC\\uFE0F\", \"\\u25FC\"], \"\\uE21A\", \"\\uDBBA\\uDF72\", [\"black_medium_square\"], 0, 28],\n \"25fd\": [[\"\\u25FD\\uFE0F\", \"\\u25FD\"], \"\\uE21B\", \"\\uDBBA\\uDF6F\", [\"white_medium_small_square\"], 0, 29],\n \"25fe\": [[\"\\u25FE\\uFE0F\", \"\\u25FE\"], \"\\uE21A\", \"\\uDBBA\\uDF70\", [\"black_medium_small_square\"], 1, 0],\n \"2600\": [[\"\\u2600\\uFE0F\", \"\\u2600\"], \"\\uE04A\", \"\\uDBB8\\uDC00\", [\"sunny\"], 1, 1],\n \"2601\": [[\"\\u2601\\uFE0F\", \"\\u2601\"], \"\\uE049\", \"\\uDBB8\\uDC01\", [\"cloud\"], 1, 2],\n \"260e\": [[\"\\u260E\\uFE0F\", \"\\u260E\"], \"\\uE009\", \"\\uDBB9\\uDD23\", [\"phone\", \"telephone\"], 1, 3],\n \"2611\": [[\"\\u2611\\uFE0F\", \"\\u2611\"], \"\", \"\\uDBBA\\uDF8B\", [\"ballot_box_with_check\"], 1, 4],\n \"2614\": [[\"\\u2614\\uFE0F\", \"\\u2614\"], \"\\uE04B\", \"\\uDBB8\\uDC02\", [\"umbrella\"], 1, 5],\n \"2615\": [[\"\\u2615\\uFE0F\", \"\\u2615\"], \"\\uE045\", \"\\uDBBA\\uDD81\", [\"coffee\"], 1, 6],\n \"261d\": [[\"\\u261D\\uFE0F\", \"\\u261D\"], \"\\uE00F\", \"\\uDBBA\\uDF98\", [\"point_up\"], 1, 7],\n \"263a\": [[\"\\u263A\\uFE0F\", \"\\u263A\"], \"\\uE414\", \"\\uDBB8\\uDF36\", [\"relaxed\"], 1, 8],\n \"2648\": [[\"\\u2648\\uFE0F\", \"\\u2648\"], \"\\uE23F\", \"\\uDBB8\\uDC2B\", [\"aries\"], 1, 9],\n \"2649\": [[\"\\u2649\\uFE0F\", \"\\u2649\"], \"\\uE240\", \"\\uDBB8\\uDC2C\", [\"taurus\"], 1, 10],\n \"264a\": [[\"\\u264A\\uFE0F\", \"\\u264A\"], \"\\uE241\", \"\\uDBB8\\uDC2D\", [\"gemini\"], 1, 11],\n \"264b\": [[\"\\u264B\\uFE0F\", \"\\u264B\"], \"\\uE242\", \"\\uDBB8\\uDC2E\", [\"cancer\"], 1, 12],\n \"264c\": [[\"\\u264C\\uFE0F\", \"\\u264C\"], \"\\uE243\", \"\\uDBB8\\uDC2F\", [\"leo\"], 1, 13],\n \"264d\": [[\"\\u264D\\uFE0F\", \"\\u264D\"], \"\\uE244\", \"\\uDBB8\\uDC30\", [\"virgo\"], 1, 14],\n \"264e\": [[\"\\u264E\\uFE0F\", \"\\u264E\"], \"\\uE245\", \"\\uDBB8\\uDC31\", [\"libra\"], 1, 15],\n \"264f\": [[\"\\u264F\\uFE0F\", \"\\u264F\"], \"\\uE246\", \"\\uDBB8\\uDC32\", [\"scorpius\"], 1, 16],\n \"2650\": [[\"\\u2650\\uFE0F\", \"\\u2650\"], \"\\uE247\", \"\\uDBB8\\uDC33\", [\"sagittarius\"], 1, 17],\n \"2651\": [[\"\\u2651\\uFE0F\", \"\\u2651\"], \"\\uE248\", \"\\uDBB8\\uDC34\", [\"capricorn\"], 1, 18],\n \"2652\": [[\"\\u2652\\uFE0F\", \"\\u2652\"], \"\\uE249\", \"\\uDBB8\\uDC35\", [\"aquarius\"], 1, 19],\n \"2653\": [[\"\\u2653\\uFE0F\", \"\\u2653\"], \"\\uE24A\", \"\\uDBB8\\uDC36\", [\"pisces\"], 1, 20],\n \"2660\": [[\"\\u2660\\uFE0F\", \"\\u2660\"], \"\\uE20E\", \"\\uDBBA\\uDF1B\", [\"spades\"], 1, 21],\n \"2663\": [[\"\\u2663\\uFE0F\", \"\\u2663\"], \"\\uE20F\", \"\\uDBBA\\uDF1D\", [\"clubs\"], 1, 22],\n \"2665\": [[\"\\u2665\\uFE0F\", \"\\u2665\"], \"\\uE20C\", \"\\uDBBA\\uDF1A\", [\"hearts\"], 1, 23],\n \"2666\": [[\"\\u2666\\uFE0F\", \"\\u2666\"], \"\\uE20D\", \"\\uDBBA\\uDF1C\", [\"diamonds\"], 1, 24],\n \"2668\": [[\"\\u2668\\uFE0F\", \"\\u2668\"], \"\\uE123\", \"\\uDBB9\\uDFFA\", [\"hotsprings\"], 1, 25],\n \"267b\": [[\"\\u267B\\uFE0F\", \"\\u267B\"], \"\", \"\\uDBBA\\uDF2C\", [\"recycle\"], 1, 26],\n \"267f\": [[\"\\u267F\\uFE0F\", \"\\u267F\"], \"\\uE20A\", \"\\uDBBA\\uDF20\", [\"wheelchair\"], 1, 27],\n \"2693\": [[\"\\u2693\\uFE0F\", \"\\u2693\"], \"\\uE202\", \"\\uDBB9\\uDCC1\", [\"anchor\"], 1, 28],\n \"26a0\": [[\"\\u26A0\\uFE0F\", \"\\u26A0\"], \"\\uE252\", \"\\uDBBA\\uDF23\", [\"warning\"], 1, 29],\n \"26a1\": [[\"\\u26A1\\uFE0F\", \"\\u26A1\"], \"\\uE13D\", \"\\uDBB8\\uDC04\", [\"zap\"], 2, 0],\n \"26aa\": [[\"\\u26AA\\uFE0F\", \"\\u26AA\"], \"\\uE219\", \"\\uDBBA\\uDF65\", [\"white_circle\"], 2, 1],\n \"26ab\": [[\"\\u26AB\\uFE0F\", \"\\u26AB\"], \"\\uE219\", \"\\uDBBA\\uDF66\", [\"black_circle\"], 2, 2],\n \"26bd\": [[\"\\u26BD\\uFE0F\", \"\\u26BD\"], \"\\uE018\", \"\\uDBB9\\uDFD4\", [\"soccer\"], 2, 3],\n \"26be\": [[\"\\u26BE\\uFE0F\", \"\\u26BE\"], \"\\uE016\", \"\\uDBB9\\uDFD1\", [\"baseball\"], 2, 4],\n \"26c4\": [[\"\\u26C4\\uFE0F\", \"\\u26C4\"], \"\\uE048\", \"\\uDBB8\\uDC03\", [\"snowman\"], 2, 5],\n \"26c5\": [[\"\\u26C5\\uFE0F\", \"\\u26C5\"], \"\\uE04A\\uE049\", \"\\uDBB8\\uDC0F\", [\"partly_sunny\"], 2, 6],\n \"26ce\": [[\"\\u26CE\"], \"\\uE24B\", \"\\uDBB8\\uDC37\", [\"ophiuchus\"], 2, 7],\n \"26d4\": [[\"\\u26D4\\uFE0F\", \"\\u26D4\"], \"\\uE137\", \"\\uDBBA\\uDF26\", [\"no_entry\"], 2, 8],\n \"26ea\": [[\"\\u26EA\\uFE0F\", \"\\u26EA\"], \"\\uE037\", \"\\uDBB9\\uDCBB\", [\"church\"], 2, 9],\n \"26f2\": [[\"\\u26F2\\uFE0F\", \"\\u26F2\"], \"\\uE121\", \"\\uDBB9\\uDCBC\", [\"fountain\"], 2, 10],\n \"26f3\": [[\"\\u26F3\\uFE0F\", \"\\u26F3\"], \"\\uE014\", \"\\uDBB9\\uDFD2\", [\"golf\"], 2, 11],\n \"26f5\": [[\"\\u26F5\\uFE0F\", \"\\u26F5\"], \"\\uE01C\", \"\\uDBB9\\uDFEA\", [\"boat\", \"sailboat\"], 2, 12],\n \"26fa\": [[\"\\u26FA\\uFE0F\", \"\\u26FA\"], \"\\uE122\", \"\\uDBB9\\uDFFB\", [\"tent\"], 2, 13],\n \"26fd\": [[\"\\u26FD\\uFE0F\", \"\\u26FD\"], \"\\uE03A\", \"\\uDBB9\\uDFF5\", [\"fuelpump\"], 2, 14],\n \"2702\": [[\"\\u2702\\uFE0F\", \"\\u2702\"], \"\\uE313\", \"\\uDBB9\\uDD3E\", [\"scissors\"], 2, 15],\n \"2705\": [[\"\\u2705\"], \"\", \"\\uDBBA\\uDF4A\", [\"white_check_mark\"], 2, 16],\n \"2708\": [[\"\\u2708\\uFE0F\", \"\\u2708\"], \"\\uE01D\", \"\\uDBB9\\uDFE9\", [\"airplane\"], 2, 17],\n \"2709\": [[\"\\u2709\\uFE0F\", \"\\u2709\"], \"\\uE103\", \"\\uDBB9\\uDD29\", [\"email\", \"envelope\"], 2, 18],\n \"270a\": [[\"\\u270A\"], \"\\uE010\", \"\\uDBBA\\uDF93\", [\"fist\"], 2, 19],\n \"270b\": [[\"\\u270B\"], \"\\uE012\", \"\\uDBBA\\uDF95\", [\"hand\", \"raised_hand\"], 2, 20],\n \"270c\": [[\"\\u270C\\uFE0F\", \"\\u270C\"], \"\\uE011\", \"\\uDBBA\\uDF94\", [\"v\"], 2, 21],\n \"270f\": [[\"\\u270F\\uFE0F\", \"\\u270F\"], \"\\uE301\", \"\\uDBB9\\uDD39\", [\"pencil2\"], 2, 22],\n \"2712\": [[\"\\u2712\\uFE0F\", \"\\u2712\"], \"\", \"\\uDBB9\\uDD36\", [\"black_nib\"], 2, 23],\n \"2714\": [[\"\\u2714\\uFE0F\", \"\\u2714\"], \"\", \"\\uDBBA\\uDF49\", [\"heavy_check_mark\"], 2, 24],\n \"2716\": [[\"\\u2716\\uFE0F\", \"\\u2716\"], \"\\uE333\", \"\\uDBBA\\uDF53\", [\"heavy_multiplication_x\"], 2, 25],\n \"2728\": [[\"\\u2728\"], \"\\uE32E\", \"\\uDBBA\\uDF60\", [\"sparkles\"], 2, 26],\n \"2733\": [[\"\\u2733\\uFE0F\", \"\\u2733\"], \"\\uE206\", \"\\uDBBA\\uDF62\", [\"eight_spoked_asterisk\"], 2, 27],\n \"2734\": [[\"\\u2734\\uFE0F\", \"\\u2734\"], \"\\uE205\", \"\\uDBBA\\uDF61\", [\"eight_pointed_black_star\"], 2, 28],\n \"2744\": [[\"\\u2744\\uFE0F\", \"\\u2744\"], \"\", \"\\uDBB8\\uDC0E\", [\"snowflake\"], 2, 29],\n \"2747\": [[\"\\u2747\\uFE0F\", \"\\u2747\"], \"\\uE32E\", \"\\uDBBA\\uDF77\", [\"sparkle\"], 3, 0],\n \"274c\": [[\"\\u274C\"], \"\\uE333\", \"\\uDBBA\\uDF45\", [\"x\"], 3, 1],\n \"274e\": [[\"\\u274E\"], \"\\uE333\", \"\\uDBBA\\uDF46\", [\"negative_squared_cross_mark\"], 3, 2],\n \"2753\": [[\"\\u2753\"], \"\\uE020\", \"\\uDBBA\\uDF09\", [\"question\"], 3, 3],\n \"2754\": [[\"\\u2754\"], \"\\uE336\", \"\\uDBBA\\uDF0A\", [\"grey_question\"], 3, 4],\n \"2755\": [[\"\\u2755\"], \"\\uE337\", \"\\uDBBA\\uDF0B\", [\"grey_exclamation\"], 3, 5],\n \"2757\": [[\"\\u2757\\uFE0F\", \"\\u2757\"], \"\\uE021\", \"\\uDBBA\\uDF04\", [\"exclamation\", \"heavy_exclamation_mark\"], 3, 6],\n \"2764\": [[\"\\u2764\\uFE0F\", \"\\u2764\"], \"\\uE022\", \"\\uDBBA\\uDF0C\", [\"heart\"], 3, 7, \"<3\"],\n \"2795\": [[\"\\u2795\"], \"\", \"\\uDBBA\\uDF51\", [\"heavy_plus_sign\"], 3, 8],\n \"2796\": [[\"\\u2796\"], \"\", \"\\uDBBA\\uDF52\", [\"heavy_minus_sign\"], 3, 9],\n \"2797\": [[\"\\u2797\"], \"\", \"\\uDBBA\\uDF54\", [\"heavy_division_sign\"], 3, 10],\n \"27a1\": [[\"\\u27A1\\uFE0F\", \"\\u27A1\"], \"\\uE234\", \"\\uDBBA\\uDEFA\", [\"arrow_right\"], 3, 11],\n \"27b0\": [[\"\\u27B0\"], \"\", \"\\uDBBA\\uDF08\", [\"curly_loop\"], 3, 12],\n \"27bf\": [[\"\\u27BF\"], \"\\uE211\", \"\\uDBBA\\uDC2B\", [\"loop\"], 3, 13],\n \"2934\": [[\"\\u2934\\uFE0F\", \"\\u2934\"], \"\\uE236\", \"\\uDBBA\\uDEF4\", [\"arrow_heading_up\"], 3, 14],\n \"2935\": [[\"\\u2935\\uFE0F\", \"\\u2935\"], \"\\uE238\", \"\\uDBBA\\uDEF5\", [\"arrow_heading_down\"], 3, 15],\n \"2b05\": [[\"\\u2B05\\uFE0F\", \"\\u2B05\"], \"\\uE235\", \"\\uDBBA\\uDEFB\", [\"arrow_left\"], 3, 16],\n \"2b06\": [[\"\\u2B06\\uFE0F\", \"\\u2B06\"], \"\\uE232\", \"\\uDBBA\\uDEF8\", [\"arrow_up\"], 3, 17],\n \"2b07\": [[\"\\u2B07\\uFE0F\", \"\\u2B07\"], \"\\uE233\", \"\\uDBBA\\uDEF9\", [\"arrow_down\"], 3, 18],\n \"2b1b\": [[\"\\u2B1B\\uFE0F\", \"\\u2B1B\"], \"\\uE21A\", \"\\uDBBA\\uDF6C\", [\"black_large_square\"], 3, 19],\n \"2b1c\": [[\"\\u2B1C\\uFE0F\", \"\\u2B1C\"], \"\\uE21B\", \"\\uDBBA\\uDF6B\", [\"white_large_square\"], 3, 20],\n \"2b50\": [[\"\\u2B50\\uFE0F\", \"\\u2B50\"], \"\\uE32F\", \"\\uDBBA\\uDF68\", [\"star\"], 3, 21],\n \"2b55\": [[\"\\u2B55\\uFE0F\", \"\\u2B55\"], \"\\uE332\", \"\\uDBBA\\uDF44\", [\"o\"], 3, 22],\n \"3030\": [[\"\\u3030\"], \"\", \"\\uDBBA\\uDF07\", [\"wavy_dash\"], 3, 23],\n \"303d\": [[\"\\u303D\\uFE0F\", \"\\u303D\"], \"\\uE12C\", \"\\uDBBA\\uDC1B\", [\"part_alternation_mark\"], 3, 24],\n \"3297\": [[\"\\u3297\\uFE0F\", \"\\u3297\"], \"\\uE30D\", \"\\uDBBA\\uDF43\", [\"congratulations\"], 3, 25],\n \"3299\": [[\"\\u3299\\uFE0F\", \"\\u3299\"], \"\\uE315\", \"\\uDBBA\\uDF2B\", [\"secret\"], 3, 26],\n \"1f004\": [[\"\\uD83C\\uDC04\\uFE0F\", \"\\uD83C\\uDC04\"], \"\\uE12D\", \"\\uDBBA\\uDC0B\", [\"mahjong\"], 3, 27],\n \"1f0cf\": [[\"\\uD83C\\uDCCF\"], \"\", \"\\uDBBA\\uDC12\", [\"black_joker\"], 3, 28],\n \"1f170\": [[\"\\uD83C\\uDD70\"], \"\\uE532\", \"\\uDBB9\\uDD0B\", [\"a\"], 3, 29],\n \"1f171\": [[\"\\uD83C\\uDD71\"], \"\\uE533\", \"\\uDBB9\\uDD0C\", [\"b\"], 4, 0],\n \"1f17e\": [[\"\\uD83C\\uDD7E\"], \"\\uE535\", \"\\uDBB9\\uDD0E\", [\"o2\"], 4, 1],\n \"1f17f\": [[\"\\uD83C\\uDD7F\\uFE0F\", \"\\uD83C\\uDD7F\"], \"\\uE14F\", \"\\uDBB9\\uDFF6\", [\"parking\"], 4, 2],\n \"1f18e\": [[\"\\uD83C\\uDD8E\"], \"\\uE534\", \"\\uDBB9\\uDD0D\", [\"ab\"], 4, 3],\n \"1f191\": [[\"\\uD83C\\uDD91\"], \"\", \"\\uDBBA\\uDF84\", [\"cl\"], 4, 4],\n \"1f192\": [[\"\\uD83C\\uDD92\"], \"\\uE214\", \"\\uDBBA\\uDF38\", [\"cool\"], 4, 5],\n \"1f193\": [[\"\\uD83C\\uDD93\"], \"\", \"\\uDBBA\\uDF21\", [\"free\"], 4, 6],\n \"1f194\": [[\"\\uD83C\\uDD94\"], \"\\uE229\", \"\\uDBBA\\uDF81\", [\"id\"], 4, 7],\n \"1f195\": [[\"\\uD83C\\uDD95\"], \"\\uE212\", \"\\uDBBA\\uDF36\", [\"new\"], 4, 8],\n \"1f196\": [[\"\\uD83C\\uDD96\"], \"\", \"\\uDBBA\\uDF28\", [\"ng\"], 4, 9],\n \"1f197\": [[\"\\uD83C\\uDD97\"], \"\\uE24D\", \"\\uDBBA\\uDF27\", [\"ok\"], 4, 10],\n \"1f198\": [[\"\\uD83C\\uDD98\"], \"\", \"\\uDBBA\\uDF4F\", [\"sos\"], 4, 11],\n \"1f199\": [[\"\\uD83C\\uDD99\"], \"\\uE213\", \"\\uDBBA\\uDF37\", [\"up\"], 4, 12],\n \"1f19a\": [[\"\\uD83C\\uDD9A\"], \"\\uE12E\", \"\\uDBBA\\uDF32\", [\"vs\"], 4, 13],\n \"1f201\": [[\"\\uD83C\\uDE01\"], \"\\uE203\", \"\\uDBBA\\uDF24\", [\"koko\"], 4, 14],\n \"1f202\": [[\"\\uD83C\\uDE02\"], \"\\uE228\", \"\\uDBBA\\uDF3F\", [\"sa\"], 4, 15],\n \"1f21a\": [[\"\\uD83C\\uDE1A\\uFE0F\", \"\\uD83C\\uDE1A\"], \"\\uE216\", \"\\uDBBA\\uDF3A\", [\"u7121\"], 4, 16],\n \"1f22f\": [[\"\\uD83C\\uDE2F\\uFE0F\", \"\\uD83C\\uDE2F\"], \"\\uE22C\", \"\\uDBBA\\uDF40\", [\"u6307\"], 4, 17],\n \"1f232\": [[\"\\uD83C\\uDE32\"], \"\", \"\\uDBBA\\uDF2E\", [\"u7981\"], 4, 18],\n \"1f233\": [[\"\\uD83C\\uDE33\"], \"\\uE22B\", \"\\uDBBA\\uDF2F\", [\"u7a7a\"], 4, 19],\n \"1f234\": [[\"\\uD83C\\uDE34\"], \"\", \"\\uDBBA\\uDF30\", [\"u5408\"], 4, 20],\n \"1f235\": [[\"\\uD83C\\uDE35\"], \"\\uE22A\", \"\\uDBBA\\uDF31\", [\"u6e80\"], 4, 21],\n \"1f236\": [[\"\\uD83C\\uDE36\"], \"\\uE215\", \"\\uDBBA\\uDF39\", [\"u6709\"], 4, 22],\n \"1f237\": [[\"\\uD83C\\uDE37\"], \"\\uE217\", \"\\uDBBA\\uDF3B\", [\"u6708\"], 4, 23],\n \"1f238\": [[\"\\uD83C\\uDE38\"], \"\\uE218\", \"\\uDBBA\\uDF3C\", [\"u7533\"], 4, 24],\n \"1f239\": [[\"\\uD83C\\uDE39\"], \"\\uE227\", \"\\uDBBA\\uDF3E\", [\"u5272\"], 4, 25],\n \"1f23a\": [[\"\\uD83C\\uDE3A\"], \"\\uE22D\", \"\\uDBBA\\uDF41\", [\"u55b6\"], 4, 26],\n \"1f250\": [[\"\\uD83C\\uDE50\"], \"\\uE226\", \"\\uDBBA\\uDF3D\", [\"ideograph_advantage\"], 4, 27],\n \"1f251\": [[\"\\uD83C\\uDE51\"], \"\", \"\\uDBBA\\uDF50\", [\"accept\"], 4, 28],\n \"1f300\": [[\"\\uD83C\\uDF00\"], \"\\uE443\", \"\\uDBB8\\uDC05\", [\"cyclone\"], 4, 29],\n \"1f301\": [[\"\\uD83C\\uDF01\"], \"\", \"\\uDBB8\\uDC06\", [\"foggy\"], 5, 0],\n \"1f302\": [[\"\\uD83C\\uDF02\"], \"\\uE43C\", \"\\uDBB8\\uDC07\", [\"closed_umbrella\"], 5, 1],\n \"1f303\": [[\"\\uD83C\\uDF03\"], \"\\uE44B\", \"\\uDBB8\\uDC08\", [\"night_with_stars\"], 5, 2],\n \"1f304\": [[\"\\uD83C\\uDF04\"], \"\\uE04D\", \"\\uDBB8\\uDC09\", [\"sunrise_over_mountains\"], 5, 3],\n \"1f305\": [[\"\\uD83C\\uDF05\"], \"\\uE449\", \"\\uDBB8\\uDC0A\", [\"sunrise\"], 5, 4],\n \"1f306\": [[\"\\uD83C\\uDF06\"], \"\\uE146\", \"\\uDBB8\\uDC0B\", [\"city_sunset\"], 5, 5],\n \"1f307\": [[\"\\uD83C\\uDF07\"], \"\\uE44A\", \"\\uDBB8\\uDC0C\", [\"city_sunrise\"], 5, 6],\n \"1f308\": [[\"\\uD83C\\uDF08\"], \"\\uE44C\", \"\\uDBB8\\uDC0D\", [\"rainbow\"], 5, 7],\n \"1f309\": [[\"\\uD83C\\uDF09\"], \"\\uE44B\", \"\\uDBB8\\uDC10\", [\"bridge_at_night\"], 5, 8],\n \"1f30a\": [[\"\\uD83C\\uDF0A\"], \"\\uE43E\", \"\\uDBB8\\uDC38\", [\"ocean\"], 5, 9],\n \"1f30b\": [[\"\\uD83C\\uDF0B\"], \"\", \"\\uDBB8\\uDC3A\", [\"volcano\"], 5, 10],\n \"1f30c\": [[\"\\uD83C\\uDF0C\"], \"\\uE44B\", \"\\uDBB8\\uDC3B\", [\"milky_way\"], 5, 11],\n \"1f30d\": [[\"\\uD83C\\uDF0D\"], \"\", \"\", [\"earth_africa\"], 5, 12],\n \"1f30e\": [[\"\\uD83C\\uDF0E\"], \"\", \"\", [\"earth_americas\"], 5, 13],\n \"1f30f\": [[\"\\uD83C\\uDF0F\"], \"\", \"\\uDBB8\\uDC39\", [\"earth_asia\"], 5, 14],\n \"1f310\": [[\"\\uD83C\\uDF10\"], \"\", \"\", [\"globe_with_meridians\"], 5, 15],\n \"1f311\": [[\"\\uD83C\\uDF11\"], \"\", \"\\uDBB8\\uDC11\", [\"new_moon\"], 5, 16],\n \"1f312\": [[\"\\uD83C\\uDF12\"], \"\", \"\", [\"waxing_crescent_moon\"], 5, 17],\n \"1f313\": [[\"\\uD83C\\uDF13\"], \"\\uE04C\", \"\\uDBB8\\uDC13\", [\"first_quarter_moon\"], 5, 18],\n \"1f314\": [[\"\\uD83C\\uDF14\"], \"\\uE04C\", \"\\uDBB8\\uDC12\", [\"moon\", \"waxing_gibbous_moon\"], 5, 19],\n \"1f315\": [[\"\\uD83C\\uDF15\"], \"\", \"\\uDBB8\\uDC15\", [\"full_moon\"], 5, 20],\n \"1f316\": [[\"\\uD83C\\uDF16\"], \"\", \"\", [\"waning_gibbous_moon\"], 5, 21],\n \"1f317\": [[\"\\uD83C\\uDF17\"], \"\", \"\", [\"last_quarter_moon\"], 5, 22],\n \"1f318\": [[\"\\uD83C\\uDF18\"], \"\", \"\", [\"waning_crescent_moon\"], 5, 23],\n \"1f319\": [[\"\\uD83C\\uDF19\"], \"\\uE04C\", \"\\uDBB8\\uDC14\", [\"crescent_moon\"], 5, 24],\n \"1f31a\": [[\"\\uD83C\\uDF1A\"], \"\", \"\", [\"new_moon_with_face\"], 5, 25],\n \"1f31b\": [[\"\\uD83C\\uDF1B\"], \"\\uE04C\", \"\\uDBB8\\uDC16\", [\"first_quarter_moon_with_face\"], 5, 26],\n \"1f31c\": [[\"\\uD83C\\uDF1C\"], \"\", \"\", [\"last_quarter_moon_with_face\"], 5, 27],\n \"1f31d\": [[\"\\uD83C\\uDF1D\"], \"\", \"\", [\"full_moon_with_face\"], 5, 28],\n \"1f31e\": [[\"\\uD83C\\uDF1E\"], \"\", \"\", [\"sun_with_face\"], 5, 29],\n \"1f31f\": [[\"\\uD83C\\uDF1F\"], \"\\uE335\", \"\\uDBBA\\uDF69\", [\"star2\"], 6, 0],\n \"1f320\": [[\"\\uD83C\\uDF20\"], \"\", \"\\uDBBA\\uDF6A\", [\"stars\"], 6, 1],\n \"1f330\": [[\"\\uD83C\\uDF30\"], \"\", \"\\uDBB8\\uDC4C\", [\"chestnut\"], 6, 2],\n \"1f331\": [[\"\\uD83C\\uDF31\"], \"\\uE110\", \"\\uDBB8\\uDC3E\", [\"seedling\"], 6, 3],\n \"1f332\": [[\"\\uD83C\\uDF32\"], \"\", \"\", [\"evergreen_tree\"], 6, 4],\n \"1f333\": [[\"\\uD83C\\uDF33\"], \"\", \"\", [\"deciduous_tree\"], 6, 5],\n \"1f334\": [[\"\\uD83C\\uDF34\"], \"\\uE307\", \"\\uDBB8\\uDC47\", [\"palm_tree\"], 6, 6],\n \"1f335\": [[\"\\uD83C\\uDF35\"], \"\\uE308\", \"\\uDBB8\\uDC48\", [\"cactus\"], 6, 7],\n \"1f337\": [[\"\\uD83C\\uDF37\"], \"\\uE304\", \"\\uDBB8\\uDC3D\", [\"tulip\"], 6, 8],\n \"1f338\": [[\"\\uD83C\\uDF38\"], \"\\uE030\", \"\\uDBB8\\uDC40\", [\"cherry_blossom\"], 6, 9],\n \"1f339\": [[\"\\uD83C\\uDF39\"], \"\\uE032\", \"\\uDBB8\\uDC41\", [\"rose\"], 6, 10],\n \"1f33a\": [[\"\\uD83C\\uDF3A\"], \"\\uE303\", \"\\uDBB8\\uDC45\", [\"hibiscus\"], 6, 11],\n \"1f33b\": [[\"\\uD83C\\uDF3B\"], \"\\uE305\", \"\\uDBB8\\uDC46\", [\"sunflower\"], 6, 12],\n \"1f33c\": [[\"\\uD83C\\uDF3C\"], \"\\uE305\", \"\\uDBB8\\uDC4D\", [\"blossom\"], 6, 13],\n \"1f33d\": [[\"\\uD83C\\uDF3D\"], \"\", \"\\uDBB8\\uDC4A\", [\"corn\"], 6, 14],\n \"1f33e\": [[\"\\uD83C\\uDF3E\"], \"\\uE444\", \"\\uDBB8\\uDC49\", [\"ear_of_rice\"], 6, 15],\n \"1f33f\": [[\"\\uD83C\\uDF3F\"], \"\\uE110\", \"\\uDBB8\\uDC4E\", [\"herb\"], 6, 16],\n \"1f340\": [[\"\\uD83C\\uDF40\"], \"\\uE110\", \"\\uDBB8\\uDC3C\", [\"four_leaf_clover\"], 6, 17],\n \"1f341\": [[\"\\uD83C\\uDF41\"], \"\\uE118\", \"\\uDBB8\\uDC3F\", [\"maple_leaf\"], 6, 18],\n \"1f342\": [[\"\\uD83C\\uDF42\"], \"\\uE119\", \"\\uDBB8\\uDC42\", [\"fallen_leaf\"], 6, 19],\n \"1f343\": [[\"\\uD83C\\uDF43\"], \"\\uE447\", \"\\uDBB8\\uDC43\", [\"leaves\"], 6, 20],\n \"1f344\": [[\"\\uD83C\\uDF44\"], \"\", \"\\uDBB8\\uDC4B\", [\"mushroom\"], 6, 21],\n \"1f345\": [[\"\\uD83C\\uDF45\"], \"\\uE349\", \"\\uDBB8\\uDC55\", [\"tomato\"], 6, 22],\n \"1f346\": [[\"\\uD83C\\uDF46\"], \"\\uE34A\", \"\\uDBB8\\uDC56\", [\"eggplant\"], 6, 23],\n \"1f347\": [[\"\\uD83C\\uDF47\"], \"\", \"\\uDBB8\\uDC59\", [\"grapes\"], 6, 24],\n \"1f348\": [[\"\\uD83C\\uDF48\"], \"\", \"\\uDBB8\\uDC57\", [\"melon\"], 6, 25],\n \"1f349\": [[\"\\uD83C\\uDF49\"], \"\\uE348\", \"\\uDBB8\\uDC54\", [\"watermelon\"], 6, 26],\n \"1f34a\": [[\"\\uD83C\\uDF4A\"], \"\\uE346\", \"\\uDBB8\\uDC52\", [\"tangerine\"], 6, 27],\n \"1f34b\": [[\"\\uD83C\\uDF4B\"], \"\", \"\", [\"lemon\"], 6, 28],\n \"1f34c\": [[\"\\uD83C\\uDF4C\"], \"\", \"\\uDBB8\\uDC50\", [\"banana\"], 6, 29],\n \"1f34d\": [[\"\\uD83C\\uDF4D\"], \"\", \"\\uDBB8\\uDC58\", [\"pineapple\"], 7, 0],\n \"1f34e\": [[\"\\uD83C\\uDF4E\"], \"\\uE345\", \"\\uDBB8\\uDC51\", [\"apple\"], 7, 1],\n \"1f34f\": [[\"\\uD83C\\uDF4F\"], \"\\uE345\", \"\\uDBB8\\uDC5B\", [\"green_apple\"], 7, 2],\n \"1f350\": [[\"\\uD83C\\uDF50\"], \"\", \"\", [\"pear\"], 7, 3],\n \"1f351\": [[\"\\uD83C\\uDF51\"], \"\", \"\\uDBB8\\uDC5A\", [\"peach\"], 7, 4],\n \"1f352\": [[\"\\uD83C\\uDF52\"], \"\", \"\\uDBB8\\uDC4F\", [\"cherries\"], 7, 5],\n \"1f353\": [[\"\\uD83C\\uDF53\"], \"\\uE347\", \"\\uDBB8\\uDC53\", [\"strawberry\"], 7, 6],\n \"1f354\": [[\"\\uD83C\\uDF54\"], \"\\uE120\", \"\\uDBBA\\uDD60\", [\"hamburger\"], 7, 7],\n \"1f355\": [[\"\\uD83C\\uDF55\"], \"\", \"\\uDBBA\\uDD75\", [\"pizza\"], 7, 8],\n \"1f356\": [[\"\\uD83C\\uDF56\"], \"\", \"\\uDBBA\\uDD72\", [\"meat_on_bone\"], 7, 9],\n \"1f357\": [[\"\\uD83C\\uDF57\"], \"\", \"\\uDBBA\\uDD76\", [\"poultry_leg\"], 7, 10],\n \"1f358\": [[\"\\uD83C\\uDF58\"], \"\\uE33D\", \"\\uDBBA\\uDD69\", [\"rice_cracker\"], 7, 11],\n \"1f359\": [[\"\\uD83C\\uDF59\"], \"\\uE342\", \"\\uDBBA\\uDD61\", [\"rice_ball\"], 7, 12],\n \"1f35a\": [[\"\\uD83C\\uDF5A\"], \"\\uE33E\", \"\\uDBBA\\uDD6A\", [\"rice\"], 7, 13],\n \"1f35b\": [[\"\\uD83C\\uDF5B\"], \"\\uE341\", \"\\uDBBA\\uDD6C\", [\"curry\"], 7, 14],\n \"1f35c\": [[\"\\uD83C\\uDF5C\"], \"\\uE340\", \"\\uDBBA\\uDD63\", [\"ramen\"], 7, 15],\n \"1f35d\": [[\"\\uD83C\\uDF5D\"], \"\\uE33F\", \"\\uDBBA\\uDD6B\", [\"spaghetti\"], 7, 16],\n \"1f35e\": [[\"\\uD83C\\uDF5E\"], \"\\uE339\", \"\\uDBBA\\uDD64\", [\"bread\"], 7, 17],\n \"1f35f\": [[\"\\uD83C\\uDF5F\"], \"\\uE33B\", \"\\uDBBA\\uDD67\", [\"fries\"], 7, 18],\n \"1f360\": [[\"\\uD83C\\uDF60\"], \"\", \"\\uDBBA\\uDD74\", [\"sweet_potato\"], 7, 19],\n \"1f361\": [[\"\\uD83C\\uDF61\"], \"\\uE33C\", \"\\uDBBA\\uDD68\", [\"dango\"], 7, 20],\n \"1f362\": [[\"\\uD83C\\uDF62\"], \"\\uE343\", \"\\uDBBA\\uDD6D\", [\"oden\"], 7, 21],\n \"1f363\": [[\"\\uD83C\\uDF63\"], \"\\uE344\", \"\\uDBBA\\uDD6E\", [\"sushi\"], 7, 22],\n \"1f364\": [[\"\\uD83C\\uDF64\"], \"\", \"\\uDBBA\\uDD7F\", [\"fried_shrimp\"], 7, 23],\n \"1f365\": [[\"\\uD83C\\uDF65\"], \"\", \"\\uDBBA\\uDD73\", [\"fish_cake\"], 7, 24],\n \"1f366\": [[\"\\uD83C\\uDF66\"], \"\\uE33A\", \"\\uDBBA\\uDD66\", [\"icecream\"], 7, 25],\n \"1f367\": [[\"\\uD83C\\uDF67\"], \"\\uE43F\", \"\\uDBBA\\uDD71\", [\"shaved_ice\"], 7, 26],\n \"1f368\": [[\"\\uD83C\\uDF68\"], \"\", \"\\uDBBA\\uDD77\", [\"ice_cream\"], 7, 27],\n \"1f369\": [[\"\\uD83C\\uDF69\"], \"\", \"\\uDBBA\\uDD78\", [\"doughnut\"], 7, 28],\n \"1f36a\": [[\"\\uD83C\\uDF6A\"], \"\", \"\\uDBBA\\uDD79\", [\"cookie\"], 7, 29],\n \"1f36b\": [[\"\\uD83C\\uDF6B\"], \"\", \"\\uDBBA\\uDD7A\", [\"chocolate_bar\"], 8, 0],\n \"1f36c\": [[\"\\uD83C\\uDF6C\"], \"\", \"\\uDBBA\\uDD7B\", [\"candy\"], 8, 1],\n \"1f36d\": [[\"\\uD83C\\uDF6D\"], \"\", \"\\uDBBA\\uDD7C\", [\"lollipop\"], 8, 2],\n \"1f36e\": [[\"\\uD83C\\uDF6E\"], \"\", \"\\uDBBA\\uDD7D\", [\"custard\"], 8, 3],\n \"1f36f\": [[\"\\uD83C\\uDF6F\"], \"\", \"\\uDBBA\\uDD7E\", [\"honey_pot\"], 8, 4],\n \"1f370\": [[\"\\uD83C\\uDF70\"], \"\\uE046\", \"\\uDBBA\\uDD62\", [\"cake\"], 8, 5],\n \"1f371\": [[\"\\uD83C\\uDF71\"], \"\\uE34C\", \"\\uDBBA\\uDD6F\", [\"bento\"], 8, 6],\n \"1f372\": [[\"\\uD83C\\uDF72\"], \"\\uE34D\", \"\\uDBBA\\uDD70\", [\"stew\"], 8, 7],\n \"1f373\": [[\"\\uD83C\\uDF73\"], \"\\uE147\", \"\\uDBBA\\uDD65\", [\"egg\"], 8, 8],\n \"1f374\": [[\"\\uD83C\\uDF74\"], \"\\uE043\", \"\\uDBBA\\uDD80\", [\"fork_and_knife\"], 8, 9],\n \"1f375\": [[\"\\uD83C\\uDF75\"], \"\\uE338\", \"\\uDBBA\\uDD84\", [\"tea\"], 8, 10],\n \"1f376\": [[\"\\uD83C\\uDF76\"], \"\\uE30B\", \"\\uDBBA\\uDD85\", [\"sake\"], 8, 11],\n \"1f377\": [[\"\\uD83C\\uDF77\"], \"\\uE044\", \"\\uDBBA\\uDD86\", [\"wine_glass\"], 8, 12],\n \"1f378\": [[\"\\uD83C\\uDF78\"], \"\\uE044\", \"\\uDBBA\\uDD82\", [\"cocktail\"], 8, 13],\n \"1f379\": [[\"\\uD83C\\uDF79\"], \"\\uE044\", \"\\uDBBA\\uDD88\", [\"tropical_drink\"], 8, 14],\n \"1f37a\": [[\"\\uD83C\\uDF7A\"], \"\\uE047\", \"\\uDBBA\\uDD83\", [\"beer\"], 8, 15],\n \"1f37b\": [[\"\\uD83C\\uDF7B\"], \"\\uE30C\", \"\\uDBBA\\uDD87\", [\"beers\"], 8, 16],\n \"1f37c\": [[\"\\uD83C\\uDF7C\"], \"\", \"\", [\"baby_bottle\"], 8, 17],\n \"1f380\": [[\"\\uD83C\\uDF80\"], \"\\uE314\", \"\\uDBB9\\uDD0F\", [\"ribbon\"], 8, 18],\n \"1f381\": [[\"\\uD83C\\uDF81\"], \"\\uE112\", \"\\uDBB9\\uDD10\", [\"gift\"], 8, 19],\n \"1f382\": [[\"\\uD83C\\uDF82\"], \"\\uE34B\", \"\\uDBB9\\uDD11\", [\"birthday\"], 8, 20],\n \"1f383\": [[\"\\uD83C\\uDF83\"], \"\\uE445\", \"\\uDBB9\\uDD1F\", [\"jack_o_lantern\"], 8, 21],\n \"1f384\": [[\"\\uD83C\\uDF84\"], \"\\uE033\", \"\\uDBB9\\uDD12\", [\"christmas_tree\"], 8, 22],\n \"1f385\": [[\"\\uD83C\\uDF85\"], \"\\uE448\", \"\\uDBB9\\uDD13\", [\"santa\"], 8, 23],\n \"1f386\": [[\"\\uD83C\\uDF86\"], \"\\uE117\", \"\\uDBB9\\uDD15\", [\"fireworks\"], 8, 24],\n \"1f387\": [[\"\\uD83C\\uDF87\"], \"\\uE440\", \"\\uDBB9\\uDD1D\", [\"sparkler\"], 8, 25],\n \"1f388\": [[\"\\uD83C\\uDF88\"], \"\\uE310\", \"\\uDBB9\\uDD16\", [\"balloon\"], 8, 26],\n \"1f389\": [[\"\\uD83C\\uDF89\"], \"\\uE312\", \"\\uDBB9\\uDD17\", [\"tada\"], 8, 27],\n \"1f38a\": [[\"\\uD83C\\uDF8A\"], \"\", \"\\uDBB9\\uDD20\", [\"confetti_ball\"], 8, 28],\n \"1f38b\": [[\"\\uD83C\\uDF8B\"], \"\", \"\\uDBB9\\uDD21\", [\"tanabata_tree\"], 8, 29],\n \"1f38c\": [[\"\\uD83C\\uDF8C\"], \"\\uE143\", \"\\uDBB9\\uDD14\", [\"crossed_flags\"], 9, 0],\n \"1f38d\": [[\"\\uD83C\\uDF8D\"], \"\\uE436\", \"\\uDBB9\\uDD18\", [\"bamboo\"], 9, 1],\n \"1f38e\": [[\"\\uD83C\\uDF8E\"], \"\\uE438\", \"\\uDBB9\\uDD19\", [\"dolls\"], 9, 2],\n \"1f38f\": [[\"\\uD83C\\uDF8F\"], \"\\uE43B\", \"\\uDBB9\\uDD1C\", [\"flags\"], 9, 3],\n \"1f390\": [[\"\\uD83C\\uDF90\"], \"\\uE442\", \"\\uDBB9\\uDD1E\", [\"wind_chime\"], 9, 4],\n \"1f391\": [[\"\\uD83C\\uDF91\"], \"\\uE446\", \"\\uDBB8\\uDC17\", [\"rice_scene\"], 9, 5],\n \"1f392\": [[\"\\uD83C\\uDF92\"], \"\\uE43A\", \"\\uDBB9\\uDD1B\", [\"school_satchel\"], 9, 6],\n \"1f393\": [[\"\\uD83C\\uDF93\"], \"\\uE439\", \"\\uDBB9\\uDD1A\", [\"mortar_board\"], 9, 7],\n \"1f3a0\": [[\"\\uD83C\\uDFA0\"], \"\", \"\\uDBB9\\uDFFC\", [\"carousel_horse\"], 9, 8],\n \"1f3a1\": [[\"\\uD83C\\uDFA1\"], \"\\uE124\", \"\\uDBB9\\uDFFD\", [\"ferris_wheel\"], 9, 9],\n \"1f3a2\": [[\"\\uD83C\\uDFA2\"], \"\\uE433\", \"\\uDBB9\\uDFFE\", [\"roller_coaster\"], 9, 10],\n \"1f3a3\": [[\"\\uD83C\\uDFA3\"], \"\\uE019\", \"\\uDBB9\\uDFFF\", [\"fishing_pole_and_fish\"], 9, 11],\n \"1f3a4\": [[\"\\uD83C\\uDFA4\"], \"\\uE03C\", \"\\uDBBA\\uDC00\", [\"microphone\"], 9, 12],\n \"1f3a5\": [[\"\\uD83C\\uDFA5\"], \"\\uE03D\", \"\\uDBBA\\uDC01\", [\"movie_camera\"], 9, 13],\n \"1f3a6\": [[\"\\uD83C\\uDFA6\"], \"\\uE507\", \"\\uDBBA\\uDC02\", [\"cinema\"], 9, 14],\n \"1f3a7\": [[\"\\uD83C\\uDFA7\"], \"\\uE30A\", \"\\uDBBA\\uDC03\", [\"headphones\"], 9, 15],\n \"1f3a8\": [[\"\\uD83C\\uDFA8\"], \"\\uE502\", \"\\uDBBA\\uDC04\", [\"art\"], 9, 16],\n \"1f3a9\": [[\"\\uD83C\\uDFA9\"], \"\\uE503\", \"\\uDBBA\\uDC05\", [\"tophat\"], 9, 17],\n \"1f3aa\": [[\"\\uD83C\\uDFAA\"], \"\", \"\\uDBBA\\uDC06\", [\"circus_tent\"], 9, 18],\n \"1f3ab\": [[\"\\uD83C\\uDFAB\"], \"\\uE125\", \"\\uDBBA\\uDC07\", [\"ticket\"], 9, 19],\n \"1f3ac\": [[\"\\uD83C\\uDFAC\"], \"\\uE324\", \"\\uDBBA\\uDC08\", [\"clapper\"], 9, 20],\n \"1f3ad\": [[\"\\uD83C\\uDFAD\"], \"\\uE503\", \"\\uDBBA\\uDC09\", [\"performing_arts\"], 9, 21],\n \"1f3ae\": [[\"\\uD83C\\uDFAE\"], \"\", \"\\uDBBA\\uDC0A\", [\"video_game\"], 9, 22],\n \"1f3af\": [[\"\\uD83C\\uDFAF\"], \"\\uE130\", \"\\uDBBA\\uDC0C\", [\"dart\"], 9, 23],\n \"1f3b0\": [[\"\\uD83C\\uDFB0\"], \"\\uE133\", \"\\uDBBA\\uDC0D\", [\"slot_machine\"], 9, 24],\n \"1f3b1\": [[\"\\uD83C\\uDFB1\"], \"\\uE42C\", \"\\uDBBA\\uDC0E\", [\"8ball\"], 9, 25],\n \"1f3b2\": [[\"\\uD83C\\uDFB2\"], \"\", \"\\uDBBA\\uDC0F\", [\"game_die\"], 9, 26],\n \"1f3b3\": [[\"\\uD83C\\uDFB3\"], \"\", \"\\uDBBA\\uDC10\", [\"bowling\"], 9, 27],\n \"1f3b4\": [[\"\\uD83C\\uDFB4\"], \"\", \"\\uDBBA\\uDC11\", [\"flower_playing_cards\"], 9, 28],\n \"1f3b5\": [[\"\\uD83C\\uDFB5\"], \"\\uE03E\", \"\\uDBBA\\uDC13\", [\"musical_note\"], 9, 29],\n \"1f3b6\": [[\"\\uD83C\\uDFB6\"], \"\\uE326\", \"\\uDBBA\\uDC14\", [\"notes\"], 10, 0],\n \"1f3b7\": [[\"\\uD83C\\uDFB7\"], \"\\uE040\", \"\\uDBBA\\uDC15\", [\"saxophone\"], 10, 1],\n \"1f3b8\": [[\"\\uD83C\\uDFB8\"], \"\\uE041\", \"\\uDBBA\\uDC16\", [\"guitar\"], 10, 2],\n \"1f3b9\": [[\"\\uD83C\\uDFB9\"], \"\", \"\\uDBBA\\uDC17\", [\"musical_keyboard\"], 10, 3],\n \"1f3ba\": [[\"\\uD83C\\uDFBA\"], \"\\uE042\", \"\\uDBBA\\uDC18\", [\"trumpet\"], 10, 4],\n \"1f3bb\": [[\"\\uD83C\\uDFBB\"], \"\", \"\\uDBBA\\uDC19\", [\"violin\"], 10, 5],\n \"1f3bc\": [[\"\\uD83C\\uDFBC\"], \"\\uE326\", \"\\uDBBA\\uDC1A\", [\"musical_score\"], 10, 6],\n \"1f3bd\": [[\"\\uD83C\\uDFBD\"], \"\", \"\\uDBB9\\uDFD0\", [\"running_shirt_with_sash\"], 10, 7],\n \"1f3be\": [[\"\\uD83C\\uDFBE\"], \"\\uE015\", \"\\uDBB9\\uDFD3\", [\"tennis\"], 10, 8],\n \"1f3bf\": [[\"\\uD83C\\uDFBF\"], \"\\uE013\", \"\\uDBB9\\uDFD5\", [\"ski\"], 10, 9],\n \"1f3c0\": [[\"\\uD83C\\uDFC0\"], \"\\uE42A\", \"\\uDBB9\\uDFD6\", [\"basketball\"], 10, 10],\n \"1f3c1\": [[\"\\uD83C\\uDFC1\"], \"\\uE132\", \"\\uDBB9\\uDFD7\", [\"checkered_flag\"], 10, 11],\n \"1f3c2\": [[\"\\uD83C\\uDFC2\"], \"\", \"\\uDBB9\\uDFD8\", [\"snowboarder\"], 10, 12],\n \"1f3c3\": [[\"\\uD83C\\uDFC3\"], \"\\uE115\", \"\\uDBB9\\uDFD9\", [\"runner\", \"running\"], 10, 13],\n \"1f3c4\": [[\"\\uD83C\\uDFC4\"], \"\\uE017\", \"\\uDBB9\\uDFDA\", [\"surfer\"], 10, 14],\n \"1f3c6\": [[\"\\uD83C\\uDFC6\"], \"\\uE131\", \"\\uDBB9\\uDFDB\", [\"trophy\"], 10, 15],\n \"1f3c7\": [[\"\\uD83C\\uDFC7\"], \"\", \"\", [\"horse_racing\"], 10, 16],\n \"1f3c8\": [[\"\\uD83C\\uDFC8\"], \"\\uE42B\", \"\\uDBB9\\uDFDD\", [\"football\"], 10, 17],\n \"1f3c9\": [[\"\\uD83C\\uDFC9\"], \"\", \"\", [\"rugby_football\"], 10, 18],\n \"1f3ca\": [[\"\\uD83C\\uDFCA\"], \"\\uE42D\", \"\\uDBB9\\uDFDE\", [\"swimmer\"], 10, 19],\n \"1f3e0\": [[\"\\uD83C\\uDFE0\"], \"\\uE036\", \"\\uDBB9\\uDCB0\", [\"house\"], 10, 20],\n \"1f3e1\": [[\"\\uD83C\\uDFE1\"], \"\\uE036\", \"\\uDBB9\\uDCB1\", [\"house_with_garden\"], 10, 21],\n \"1f3e2\": [[\"\\uD83C\\uDFE2\"], \"\\uE038\", \"\\uDBB9\\uDCB2\", [\"office\"], 10, 22],\n \"1f3e3\": [[\"\\uD83C\\uDFE3\"], \"\\uE153\", \"\\uDBB9\\uDCB3\", [\"post_office\"], 10, 23],\n \"1f3e4\": [[\"\\uD83C\\uDFE4\"], \"\", \"\", [\"european_post_office\"], 10, 24],\n \"1f3e5\": [[\"\\uD83C\\uDFE5\"], \"\\uE155\", \"\\uDBB9\\uDCB4\", [\"hospital\"], 10, 25],\n \"1f3e6\": [[\"\\uD83C\\uDFE6\"], \"\\uE14D\", \"\\uDBB9\\uDCB5\", [\"bank\"], 10, 26],\n \"1f3e7\": [[\"\\uD83C\\uDFE7\"], \"\\uE154\", \"\\uDBB9\\uDCB6\", [\"atm\"], 10, 27],\n \"1f3e8\": [[\"\\uD83C\\uDFE8\"], \"\\uE158\", \"\\uDBB9\\uDCB7\", [\"hotel\"], 10, 28],\n \"1f3e9\": [[\"\\uD83C\\uDFE9\"], \"\\uE501\", \"\\uDBB9\\uDCB8\", [\"love_hotel\"], 10, 29],\n \"1f3ea\": [[\"\\uD83C\\uDFEA\"], \"\\uE156\", \"\\uDBB9\\uDCB9\", [\"convenience_store\"], 11, 0],\n \"1f3eb\": [[\"\\uD83C\\uDFEB\"], \"\\uE157\", \"\\uDBB9\\uDCBA\", [\"school\"], 11, 1],\n \"1f3ec\": [[\"\\uD83C\\uDFEC\"], \"\\uE504\", \"\\uDBB9\\uDCBD\", [\"department_store\"], 11, 2],\n \"1f3ed\": [[\"\\uD83C\\uDFED\"], \"\\uE508\", \"\\uDBB9\\uDCC0\", [\"factory\"], 11, 3],\n \"1f3ee\": [[\"\\uD83C\\uDFEE\"], \"\\uE30B\", \"\\uDBB9\\uDCC2\", [\"izakaya_lantern\", \"lantern\"], 11, 4],\n \"1f3ef\": [[\"\\uD83C\\uDFEF\"], \"\\uE505\", \"\\uDBB9\\uDCBE\", [\"japanese_castle\"], 11, 5],\n \"1f3f0\": [[\"\\uD83C\\uDFF0\"], \"\\uE506\", \"\\uDBB9\\uDCBF\", [\"european_castle\"], 11, 6],\n \"1f400\": [[\"\\uD83D\\uDC00\"], \"\", \"\", [\"rat\"], 11, 7],\n \"1f401\": [[\"\\uD83D\\uDC01\"], \"\", \"\", [\"mouse2\"], 11, 8],\n \"1f402\": [[\"\\uD83D\\uDC02\"], \"\", \"\", [\"ox\"], 11, 9],\n \"1f403\": [[\"\\uD83D\\uDC03\"], \"\", \"\", [\"water_buffalo\"], 11, 10],\n \"1f404\": [[\"\\uD83D\\uDC04\"], \"\", \"\", [\"cow2\"], 11, 11],\n \"1f405\": [[\"\\uD83D\\uDC05\"], \"\", \"\", [\"tiger2\"], 11, 12],\n \"1f406\": [[\"\\uD83D\\uDC06\"], \"\", \"\", [\"leopard\"], 11, 13],\n \"1f407\": [[\"\\uD83D\\uDC07\"], \"\", \"\", [\"rabbit2\"], 11, 14],\n \"1f408\": [[\"\\uD83D\\uDC08\"], \"\", \"\", [\"cat2\"], 11, 15],\n \"1f409\": [[\"\\uD83D\\uDC09\"], \"\", \"\", [\"dragon\"], 11, 16],\n \"1f40a\": [[\"\\uD83D\\uDC0A\"], \"\", \"\", [\"crocodile\"], 11, 17],\n \"1f40b\": [[\"\\uD83D\\uDC0B\"], \"\", \"\", [\"whale2\"], 11, 18],\n \"1f40c\": [[\"\\uD83D\\uDC0C\"], \"\", \"\\uDBB8\\uDDB9\", [\"snail\"], 11, 19],\n \"1f40d\": [[\"\\uD83D\\uDC0D\"], \"\\uE52D\", \"\\uDBB8\\uDDD3\", [\"snake\"], 11, 20],\n \"1f40e\": [[\"\\uD83D\\uDC0E\"], \"\\uE134\", \"\\uDBB9\\uDFDC\", [\"racehorse\"], 11, 21],\n \"1f40f\": [[\"\\uD83D\\uDC0F\"], \"\", \"\", [\"ram\"], 11, 22],\n \"1f410\": [[\"\\uD83D\\uDC10\"], \"\", \"\", [\"goat\"], 11, 23],\n \"1f411\": [[\"\\uD83D\\uDC11\"], \"\\uE529\", \"\\uDBB8\\uDDCF\", [\"sheep\"], 11, 24],\n \"1f412\": [[\"\\uD83D\\uDC12\"], \"\\uE528\", \"\\uDBB8\\uDDCE\", [\"monkey\"], 11, 25],\n \"1f413\": [[\"\\uD83D\\uDC13\"], \"\", \"\", [\"rooster\"], 11, 26],\n \"1f414\": [[\"\\uD83D\\uDC14\"], \"\\uE52E\", \"\\uDBB8\\uDDD4\", [\"chicken\"], 11, 27],\n \"1f415\": [[\"\\uD83D\\uDC15\"], \"\", \"\", [\"dog2\"], 11, 28],\n \"1f416\": [[\"\\uD83D\\uDC16\"], \"\", \"\", [\"pig2\"], 11, 29],\n \"1f417\": [[\"\\uD83D\\uDC17\"], \"\\uE52F\", \"\\uDBB8\\uDDD5\", [\"boar\"], 12, 0],\n \"1f418\": [[\"\\uD83D\\uDC18\"], \"\\uE526\", \"\\uDBB8\\uDDCC\", [\"elephant\"], 12, 1],\n \"1f419\": [[\"\\uD83D\\uDC19\"], \"\\uE10A\", \"\\uDBB8\\uDDC5\", [\"octopus\"], 12, 2],\n \"1f41a\": [[\"\\uD83D\\uDC1A\"], \"\\uE441\", \"\\uDBB8\\uDDC6\", [\"shell\"], 12, 3],\n \"1f41b\": [[\"\\uD83D\\uDC1B\"], \"\\uE525\", \"\\uDBB8\\uDDCB\", [\"bug\"], 12, 4],\n \"1f41c\": [[\"\\uD83D\\uDC1C\"], \"\", \"\\uDBB8\\uDDDA\", [\"ant\"], 12, 5],\n \"1f41d\": [[\"\\uD83D\\uDC1D\"], \"\", \"\\uDBB8\\uDDE1\", [\"bee\", \"honeybee\"], 12, 6],\n \"1f41e\": [[\"\\uD83D\\uDC1E\"], \"\", \"\\uDBB8\\uDDE2\", [\"beetle\"], 12, 7],\n \"1f41f\": [[\"\\uD83D\\uDC1F\"], \"\\uE019\", \"\\uDBB8\\uDDBD\", [\"fish\"], 12, 8],\n \"1f420\": [[\"\\uD83D\\uDC20\"], \"\\uE522\", \"\\uDBB8\\uDDC9\", [\"tropical_fish\"], 12, 9],\n \"1f421\": [[\"\\uD83D\\uDC21\"], \"\\uE019\", \"\\uDBB8\\uDDD9\", [\"blowfish\"], 12, 10],\n \"1f422\": [[\"\\uD83D\\uDC22\"], \"\", \"\\uDBB8\\uDDDC\", [\"turtle\"], 12, 11],\n \"1f423\": [[\"\\uD83D\\uDC23\"], \"\\uE523\", \"\\uDBB8\\uDDDD\", [\"hatching_chick\"], 12, 12],\n \"1f424\": [[\"\\uD83D\\uDC24\"], \"\\uE523\", \"\\uDBB8\\uDDBA\", [\"baby_chick\"], 12, 13],\n \"1f425\": [[\"\\uD83D\\uDC25\"], \"\\uE523\", \"\\uDBB8\\uDDBB\", [\"hatched_chick\"], 12, 14],\n \"1f426\": [[\"\\uD83D\\uDC26\"], \"\\uE521\", \"\\uDBB8\\uDDC8\", [\"bird\"], 12, 15],\n \"1f427\": [[\"\\uD83D\\uDC27\"], \"\\uE055\", \"\\uDBB8\\uDDBC\", [\"penguin\"], 12, 16],\n \"1f428\": [[\"\\uD83D\\uDC28\"], \"\\uE527\", \"\\uDBB8\\uDDCD\", [\"koala\"], 12, 17],\n \"1f429\": [[\"\\uD83D\\uDC29\"], \"\\uE052\", \"\\uDBB8\\uDDD8\", [\"poodle\"], 12, 18],\n \"1f42a\": [[\"\\uD83D\\uDC2A\"], \"\", \"\", [\"dromedary_camel\"], 12, 19],\n \"1f42b\": [[\"\\uD83D\\uDC2B\"], \"\\uE530\", \"\\uDBB8\\uDDD6\", [\"camel\"], 12, 20],\n \"1f42c\": [[\"\\uD83D\\uDC2C\"], \"\\uE520\", \"\\uDBB8\\uDDC7\", [\"dolphin\", \"flipper\"], 12, 21],\n \"1f42d\": [[\"\\uD83D\\uDC2D\"], \"\\uE053\", \"\\uDBB8\\uDDC2\", [\"mouse\"], 12, 22],\n \"1f42e\": [[\"\\uD83D\\uDC2E\"], \"\\uE52B\", \"\\uDBB8\\uDDD1\", [\"cow\"], 12, 23],\n \"1f42f\": [[\"\\uD83D\\uDC2F\"], \"\\uE050\", \"\\uDBB8\\uDDC0\", [\"tiger\"], 12, 24],\n \"1f430\": [[\"\\uD83D\\uDC30\"], \"\\uE52C\", \"\\uDBB8\\uDDD2\", [\"rabbit\"], 12, 25],\n \"1f431\": [[\"\\uD83D\\uDC31\"], \"\\uE04F\", \"\\uDBB8\\uDDB8\", [\"cat\"], 12, 26],\n \"1f432\": [[\"\\uD83D\\uDC32\"], \"\", \"\\uDBB8\\uDDDE\", [\"dragon_face\"], 12, 27],\n \"1f433\": [[\"\\uD83D\\uDC33\"], \"\\uE054\", \"\\uDBB8\\uDDC3\", [\"whale\"], 12, 28],\n \"1f434\": [[\"\\uD83D\\uDC34\"], \"\\uE01A\", \"\\uDBB8\\uDDBE\", [\"horse\"], 12, 29],\n \"1f435\": [[\"\\uD83D\\uDC35\"], \"\\uE109\", \"\\uDBB8\\uDDC4\", [\"monkey_face\"], 13, 0],\n \"1f436\": [[\"\\uD83D\\uDC36\"], \"\\uE052\", \"\\uDBB8\\uDDB7\", [\"dog\"], 13, 1],\n \"1f437\": [[\"\\uD83D\\uDC37\"], \"\\uE10B\", \"\\uDBB8\\uDDBF\", [\"pig\"], 13, 2],\n \"1f438\": [[\"\\uD83D\\uDC38\"], \"\\uE531\", \"\\uDBB8\\uDDD7\", [\"frog\"], 13, 3],\n \"1f439\": [[\"\\uD83D\\uDC39\"], \"\\uE524\", \"\\uDBB8\\uDDCA\", [\"hamster\"], 13, 4],\n \"1f43a\": [[\"\\uD83D\\uDC3A\"], \"\\uE52A\", \"\\uDBB8\\uDDD0\", [\"wolf\"], 13, 5],\n \"1f43b\": [[\"\\uD83D\\uDC3B\"], \"\\uE051\", \"\\uDBB8\\uDDC1\", [\"bear\"], 13, 6],\n \"1f43c\": [[\"\\uD83D\\uDC3C\"], \"\", \"\\uDBB8\\uDDDF\", [\"panda_face\"], 13, 7],\n \"1f43d\": [[\"\\uD83D\\uDC3D\"], \"\\uE10B\", \"\\uDBB8\\uDDE0\", [\"pig_nose\"], 13, 8],\n \"1f43e\": [[\"\\uD83D\\uDC3E\"], \"\\uE536\", \"\\uDBB8\\uDDDB\", [\"feet\", \"paw_prints\"], 13, 9],\n \"1f440\": [[\"\\uD83D\\uDC40\"], \"\\uE419\", \"\\uDBB8\\uDD90\", [\"eyes\"], 13, 10],\n \"1f442\": [[\"\\uD83D\\uDC42\"], \"\\uE41B\", \"\\uDBB8\\uDD91\", [\"ear\"], 13, 11],\n \"1f443\": [[\"\\uD83D\\uDC43\"], \"\\uE41A\", \"\\uDBB8\\uDD92\", [\"nose\"], 13, 12],\n \"1f444\": [[\"\\uD83D\\uDC44\"], \"\\uE41C\", \"\\uDBB8\\uDD93\", [\"lips\"], 13, 13],\n \"1f445\": [[\"\\uD83D\\uDC45\"], \"\\uE409\", \"\\uDBB8\\uDD94\", [\"tongue\"], 13, 14],\n \"1f446\": [[\"\\uD83D\\uDC46\"], \"\\uE22E\", \"\\uDBBA\\uDF99\", [\"point_up_2\"], 13, 15],\n \"1f447\": [[\"\\uD83D\\uDC47\"], \"\\uE22F\", \"\\uDBBA\\uDF9A\", [\"point_down\"], 13, 16],\n \"1f448\": [[\"\\uD83D\\uDC48\"], \"\\uE230\", \"\\uDBBA\\uDF9B\", [\"point_left\"], 13, 17],\n \"1f449\": [[\"\\uD83D\\uDC49\"], \"\\uE231\", \"\\uDBBA\\uDF9C\", [\"point_right\"], 13, 18],\n \"1f44a\": [[\"\\uD83D\\uDC4A\"], \"\\uE00D\", \"\\uDBBA\\uDF96\", [\"facepunch\", \"punch\"], 13, 19],\n \"1f44b\": [[\"\\uD83D\\uDC4B\"], \"\\uE41E\", \"\\uDBBA\\uDF9D\", [\"wave\"], 13, 20],\n \"1f44c\": [[\"\\uD83D\\uDC4C\"], \"\\uE420\", \"\\uDBBA\\uDF9F\", [\"ok_hand\"], 13, 21],\n \"1f44d\": [[\"\\uD83D\\uDC4D\"], \"\\uE00E\", \"\\uDBBA\\uDF97\", [\"+1\", \"thumbsup\"], 13, 22],\n \"1f44e\": [[\"\\uD83D\\uDC4E\"], \"\\uE421\", \"\\uDBBA\\uDFA0\", [\"-1\", \"thumbsdown\"], 13, 23],\n \"1f44f\": [[\"\\uD83D\\uDC4F\"], \"\\uE41F\", \"\\uDBBA\\uDF9E\", [\"clap\"], 13, 24],\n \"1f450\": [[\"\\uD83D\\uDC50\"], \"\\uE422\", \"\\uDBBA\\uDFA1\", [\"open_hands\"], 13, 25],\n \"1f451\": [[\"\\uD83D\\uDC51\"], \"\\uE10E\", \"\\uDBB9\\uDCD1\", [\"crown\"], 13, 26],\n \"1f452\": [[\"\\uD83D\\uDC52\"], \"\\uE318\", \"\\uDBB9\\uDCD4\", [\"womans_hat\"], 13, 27],\n \"1f453\": [[\"\\uD83D\\uDC53\"], \"\", \"\\uDBB9\\uDCCE\", [\"eyeglasses\"], 13, 28],\n \"1f454\": [[\"\\uD83D\\uDC54\"], \"\\uE302\", \"\\uDBB9\\uDCD3\", [\"necktie\"], 13, 29],\n \"1f455\": [[\"\\uD83D\\uDC55\"], \"\\uE006\", \"\\uDBB9\\uDCCF\", [\"shirt\", \"tshirt\"], 14, 0],\n \"1f456\": [[\"\\uD83D\\uDC56\"], \"\", \"\\uDBB9\\uDCD0\", [\"jeans\"], 14, 1],\n \"1f457\": [[\"\\uD83D\\uDC57\"], \"\\uE319\", \"\\uDBB9\\uDCD5\", [\"dress\"], 14, 2],\n \"1f458\": [[\"\\uD83D\\uDC58\"], \"\\uE321\", \"\\uDBB9\\uDCD9\", [\"kimono\"], 14, 3],\n \"1f459\": [[\"\\uD83D\\uDC59\"], \"\\uE322\", \"\\uDBB9\\uDCDA\", [\"bikini\"], 14, 4],\n \"1f45a\": [[\"\\uD83D\\uDC5A\"], \"\\uE006\", \"\\uDBB9\\uDCDB\", [\"womans_clothes\"], 14, 5],\n \"1f45b\": [[\"\\uD83D\\uDC5B\"], \"\", \"\\uDBB9\\uDCDC\", [\"purse\"], 14, 6],\n \"1f45c\": [[\"\\uD83D\\uDC5C\"], \"\\uE323\", \"\\uDBB9\\uDCF0\", [\"handbag\"], 14, 7],\n \"1f45d\": [[\"\\uD83D\\uDC5D\"], \"\", \"\\uDBB9\\uDCF1\", [\"pouch\"], 14, 8],\n \"1f45e\": [[\"\\uD83D\\uDC5E\"], \"\\uE007\", \"\\uDBB9\\uDCCC\", [\"mans_shoe\", \"shoe\"], 14, 9],\n \"1f45f\": [[\"\\uD83D\\uDC5F\"], \"\\uE007\", \"\\uDBB9\\uDCCD\", [\"athletic_shoe\"], 14, 10],\n \"1f460\": [[\"\\uD83D\\uDC60\"], \"\\uE13E\", \"\\uDBB9\\uDCD6\", [\"high_heel\"], 14, 11],\n \"1f461\": [[\"\\uD83D\\uDC61\"], \"\\uE31A\", \"\\uDBB9\\uDCD7\", [\"sandal\"], 14, 12],\n \"1f462\": [[\"\\uD83D\\uDC62\"], \"\\uE31B\", \"\\uDBB9\\uDCD8\", [\"boot\"], 14, 13],\n \"1f463\": [[\"\\uD83D\\uDC63\"], \"\\uE536\", \"\\uDBB9\\uDD53\", [\"footprints\"], 14, 14],\n \"1f464\": [[\"\\uD83D\\uDC64\"], \"\", \"\\uDBB8\\uDD9A\", [\"bust_in_silhouette\"], 14, 15],\n \"1f465\": [[\"\\uD83D\\uDC65\"], \"\", \"\", [\"busts_in_silhouette\"], 14, 16],\n \"1f466\": [[\"\\uD83D\\uDC66\"], \"\\uE001\", \"\\uDBB8\\uDD9B\", [\"boy\"], 14, 17],\n \"1f467\": [[\"\\uD83D\\uDC67\"], \"\\uE002\", \"\\uDBB8\\uDD9C\", [\"girl\"], 14, 18],\n \"1f468\": [[\"\\uD83D\\uDC68\"], \"\\uE004\", \"\\uDBB8\\uDD9D\", [\"man\"], 14, 19],\n \"1f469\": [[\"\\uD83D\\uDC69\"], \"\\uE005\", \"\\uDBB8\\uDD9E\", [\"woman\"], 14, 20],\n \"1f46a\": [[\"\\uD83D\\uDC6A\"], \"\", \"\\uDBB8\\uDD9F\", [\"family\"], 14, 21],\n \"1f46b\": [[\"\\uD83D\\uDC6B\"], \"\\uE428\", \"\\uDBB8\\uDDA0\", [\"couple\"], 14, 22],\n \"1f46c\": [[\"\\uD83D\\uDC6C\"], \"\", \"\", [\"two_men_holding_hands\"], 14, 23],\n \"1f46d\": [[\"\\uD83D\\uDC6D\"], \"\", \"\", [\"two_women_holding_hands\"], 14, 24],\n \"1f46e\": [[\"\\uD83D\\uDC6E\"], \"\\uE152\", \"\\uDBB8\\uDDA1\", [\"cop\"], 14, 25],\n \"1f46f\": [[\"\\uD83D\\uDC6F\"], \"\\uE429\", \"\\uDBB8\\uDDA2\", [\"dancers\"], 14, 26],\n \"1f470\": [[\"\\uD83D\\uDC70\"], \"\", \"\\uDBB8\\uDDA3\", [\"bride_with_veil\"], 14, 27],\n \"1f471\": [[\"\\uD83D\\uDC71\"], \"\\uE515\", \"\\uDBB8\\uDDA4\", [\"person_with_blond_hair\"], 14, 28],\n \"1f472\": [[\"\\uD83D\\uDC72\"], \"\\uE516\", \"\\uDBB8\\uDDA5\", [\"man_with_gua_pi_mao\"], 14, 29],\n \"1f473\": [[\"\\uD83D\\uDC73\"], \"\\uE517\", \"\\uDBB8\\uDDA6\", [\"man_with_turban\"], 15, 0],\n \"1f474\": [[\"\\uD83D\\uDC74\"], \"\\uE518\", \"\\uDBB8\\uDDA7\", [\"older_man\"], 15, 1],\n \"1f475\": [[\"\\uD83D\\uDC75\"], \"\\uE519\", \"\\uDBB8\\uDDA8\", [\"older_woman\"], 15, 2],\n \"1f476\": [[\"\\uD83D\\uDC76\"], \"\\uE51A\", \"\\uDBB8\\uDDA9\", [\"baby\"], 15, 3],\n \"1f477\": [[\"\\uD83D\\uDC77\"], \"\\uE51B\", \"\\uDBB8\\uDDAA\", [\"construction_worker\"], 15, 4],\n \"1f478\": [[\"\\uD83D\\uDC78\"], \"\\uE51C\", \"\\uDBB8\\uDDAB\", [\"princess\"], 15, 5],\n \"1f479\": [[\"\\uD83D\\uDC79\"], \"\", \"\\uDBB8\\uDDAC\", [\"japanese_ogre\"], 15, 6],\n \"1f47a\": [[\"\\uD83D\\uDC7A\"], \"\", \"\\uDBB8\\uDDAD\", [\"japanese_goblin\"], 15, 7],\n \"1f47b\": [[\"\\uD83D\\uDC7B\"], \"\\uE11B\", \"\\uDBB8\\uDDAE\", [\"ghost\"], 15, 8],\n \"1f47c\": [[\"\\uD83D\\uDC7C\"], \"\\uE04E\", \"\\uDBB8\\uDDAF\", [\"angel\"], 15, 9],\n \"1f47d\": [[\"\\uD83D\\uDC7D\"], \"\\uE10C\", \"\\uDBB8\\uDDB0\", [\"alien\"], 15, 10],\n \"1f47e\": [[\"\\uD83D\\uDC7E\"], \"\\uE12B\", \"\\uDBB8\\uDDB1\", [\"space_invader\"], 15, 11],\n \"1f47f\": [[\"\\uD83D\\uDC7F\"], \"\\uE11A\", \"\\uDBB8\\uDDB2\", [\"imp\"], 15, 12],\n \"1f480\": [[\"\\uD83D\\uDC80\"], \"\\uE11C\", \"\\uDBB8\\uDDB3\", [\"skull\"], 15, 13],\n \"1f481\": [[\"\\uD83D\\uDC81\"], \"\\uE253\", \"\\uDBB8\\uDDB4\", [\"information_desk_person\"], 15, 14],\n \"1f482\": [[\"\\uD83D\\uDC82\"], \"\\uE51E\", \"\\uDBB8\\uDDB5\", [\"guardsman\"], 15, 15],\n \"1f483\": [[\"\\uD83D\\uDC83\"], \"\\uE51F\", \"\\uDBB8\\uDDB6\", [\"dancer\"], 15, 16],\n \"1f484\": [[\"\\uD83D\\uDC84\"], \"\\uE31C\", \"\\uDBB8\\uDD95\", [\"lipstick\"], 15, 17],\n \"1f485\": [[\"\\uD83D\\uDC85\"], \"\\uE31D\", \"\\uDBB8\\uDD96\", [\"nail_care\"], 15, 18],\n \"1f486\": [[\"\\uD83D\\uDC86\"], \"\\uE31E\", \"\\uDBB8\\uDD97\", [\"massage\"], 15, 19],\n \"1f487\": [[\"\\uD83D\\uDC87\"], \"\\uE31F\", \"\\uDBB8\\uDD98\", [\"haircut\"], 15, 20],\n \"1f488\": [[\"\\uD83D\\uDC88\"], \"\\uE320\", \"\\uDBB8\\uDD99\", [\"barber\"], 15, 21],\n \"1f489\": [[\"\\uD83D\\uDC89\"], \"\\uE13B\", \"\\uDBB9\\uDD09\", [\"syringe\"], 15, 22],\n \"1f48a\": [[\"\\uD83D\\uDC8A\"], \"\\uE30F\", \"\\uDBB9\\uDD0A\", [\"pill\"], 15, 23],\n \"1f48b\": [[\"\\uD83D\\uDC8B\"], \"\\uE003\", \"\\uDBBA\\uDC23\", [\"kiss\"], 15, 24],\n \"1f48c\": [[\"\\uD83D\\uDC8C\"], \"\\uE103\\uE328\", \"\\uDBBA\\uDC24\", [\"love_letter\"], 15, 25],\n \"1f48d\": [[\"\\uD83D\\uDC8D\"], \"\\uE034\", \"\\uDBBA\\uDC25\", [\"ring\"], 15, 26],\n \"1f48e\": [[\"\\uD83D\\uDC8E\"], \"\\uE035\", \"\\uDBBA\\uDC26\", [\"gem\"], 15, 27],\n \"1f48f\": [[\"\\uD83D\\uDC8F\"], \"\\uE111\", \"\\uDBBA\\uDC27\", [\"couplekiss\"], 15, 28],\n \"1f490\": [[\"\\uD83D\\uDC90\"], \"\\uE306\", \"\\uDBBA\\uDC28\", [\"bouquet\"], 15, 29],\n \"1f491\": [[\"\\uD83D\\uDC91\"], \"\\uE425\", \"\\uDBBA\\uDC29\", [\"couple_with_heart\"], 16, 0],\n \"1f492\": [[\"\\uD83D\\uDC92\"], \"\\uE43D\", \"\\uDBBA\\uDC2A\", [\"wedding\"], 16, 1],\n \"1f493\": [[\"\\uD83D\\uDC93\"], \"\\uE327\", \"\\uDBBA\\uDF0D\", [\"heartbeat\"], 16, 2],\n \"1f494\": [[\"\\uD83D\\uDC94\"], \"\\uE023\", \"\\uDBBA\\uDF0E\", [\"broken_heart\"], 16, 3, \"<\\/3\"],\n \"1f495\": [[\"\\uD83D\\uDC95\"], \"\\uE327\", \"\\uDBBA\\uDF0F\", [\"two_hearts\"], 16, 4],\n \"1f496\": [[\"\\uD83D\\uDC96\"], \"\\uE327\", \"\\uDBBA\\uDF10\", [\"sparkling_heart\"], 16, 5],\n \"1f497\": [[\"\\uD83D\\uDC97\"], \"\\uE328\", \"\\uDBBA\\uDF11\", [\"heartpulse\"], 16, 6],\n \"1f498\": [[\"\\uD83D\\uDC98\"], \"\\uE329\", \"\\uDBBA\\uDF12\", [\"cupid\"], 16, 7],\n \"1f499\": [[\"\\uD83D\\uDC99\"], \"\\uE32A\", \"\\uDBBA\\uDF13\", [\"blue_heart\"], 16, 8, \"<3\"],\n \"1f49a\": [[\"\\uD83D\\uDC9A\"], \"\\uE32B\", \"\\uDBBA\\uDF14\", [\"green_heart\"], 16, 9, \"<3\"],\n \"1f49b\": [[\"\\uD83D\\uDC9B\"], \"\\uE32C\", \"\\uDBBA\\uDF15\", [\"yellow_heart\"], 16, 10, \"<3\"],\n \"1f49c\": [[\"\\uD83D\\uDC9C\"], \"\\uE32D\", \"\\uDBBA\\uDF16\", [\"purple_heart\"], 16, 11, \"<3\"],\n \"1f49d\": [[\"\\uD83D\\uDC9D\"], \"\\uE437\", \"\\uDBBA\\uDF17\", [\"gift_heart\"], 16, 12],\n \"1f49e\": [[\"\\uD83D\\uDC9E\"], \"\\uE327\", \"\\uDBBA\\uDF18\", [\"revolving_hearts\"], 16, 13],\n \"1f49f\": [[\"\\uD83D\\uDC9F\"], \"\\uE204\", \"\\uDBBA\\uDF19\", [\"heart_decoration\"], 16, 14],\n \"1f4a0\": [[\"\\uD83D\\uDCA0\"], \"\", \"\\uDBBA\\uDF55\", [\"diamond_shape_with_a_dot_inside\"], 16, 15],\n \"1f4a1\": [[\"\\uD83D\\uDCA1\"], \"\\uE10F\", \"\\uDBBA\\uDF56\", [\"bulb\"], 16, 16],\n \"1f4a2\": [[\"\\uD83D\\uDCA2\"], \"\\uE334\", \"\\uDBBA\\uDF57\", [\"anger\"], 16, 17],\n \"1f4a3\": [[\"\\uD83D\\uDCA3\"], \"\\uE311\", \"\\uDBBA\\uDF58\", [\"bomb\"], 16, 18],\n \"1f4a4\": [[\"\\uD83D\\uDCA4\"], \"\\uE13C\", \"\\uDBBA\\uDF59\", [\"zzz\"], 16, 19],\n \"1f4a5\": [[\"\\uD83D\\uDCA5\"], \"\", \"\\uDBBA\\uDF5A\", [\"boom\", \"collision\"], 16, 20],\n \"1f4a6\": [[\"\\uD83D\\uDCA6\"], \"\\uE331\", \"\\uDBBA\\uDF5B\", [\"sweat_drops\"], 16, 21],\n \"1f4a7\": [[\"\\uD83D\\uDCA7\"], \"\\uE331\", \"\\uDBBA\\uDF5C\", [\"droplet\"], 16, 22],\n \"1f4a8\": [[\"\\uD83D\\uDCA8\"], \"\\uE330\", \"\\uDBBA\\uDF5D\", [\"dash\"], 16, 23],\n \"1f4a9\": [[\"\\uD83D\\uDCA9\"], \"\\uE05A\", \"\\uDBB9\\uDCF4\", [\"hankey\", \"poop\", \"shit\"], 16, 24],\n \"1f4aa\": [[\"\\uD83D\\uDCAA\"], \"\\uE14C\", \"\\uDBBA\\uDF5E\", [\"muscle\"], 16, 25],\n \"1f4ab\": [[\"\\uD83D\\uDCAB\"], \"\\uE407\", \"\\uDBBA\\uDF5F\", [\"dizzy\"], 16, 26],\n \"1f4ac\": [[\"\\uD83D\\uDCAC\"], \"\", \"\\uDBB9\\uDD32\", [\"speech_balloon\"], 16, 27],\n \"1f4ad\": [[\"\\uD83D\\uDCAD\"], \"\", \"\", [\"thought_balloon\"], 16, 28],\n \"1f4ae\": [[\"\\uD83D\\uDCAE\"], \"\", \"\\uDBBA\\uDF7A\", [\"white_flower\"], 16, 29],\n \"1f4af\": [[\"\\uD83D\\uDCAF\"], \"\", \"\\uDBBA\\uDF7B\", [\"100\"], 17, 0],\n \"1f4b0\": [[\"\\uD83D\\uDCB0\"], \"\\uE12F\", \"\\uDBB9\\uDCDD\", [\"moneybag\"], 17, 1],\n \"1f4b1\": [[\"\\uD83D\\uDCB1\"], \"\\uE149\", \"\\uDBB9\\uDCDE\", [\"currency_exchange\"], 17, 2],\n \"1f4b2\": [[\"\\uD83D\\uDCB2\"], \"\\uE12F\", \"\\uDBB9\\uDCE0\", [\"heavy_dollar_sign\"], 17, 3],\n \"1f4b3\": [[\"\\uD83D\\uDCB3\"], \"\", \"\\uDBB9\\uDCE1\", [\"credit_card\"], 17, 4],\n \"1f4b4\": [[\"\\uD83D\\uDCB4\"], \"\", \"\\uDBB9\\uDCE2\", [\"yen\"], 17, 5],\n \"1f4b5\": [[\"\\uD83D\\uDCB5\"], \"\\uE12F\", \"\\uDBB9\\uDCE3\", [\"dollar\"], 17, 6],\n \"1f4b6\": [[\"\\uD83D\\uDCB6\"], \"\", \"\", [\"euro\"], 17, 7],\n \"1f4b7\": [[\"\\uD83D\\uDCB7\"], \"\", \"\", [\"pound\"], 17, 8],\n \"1f4b8\": [[\"\\uD83D\\uDCB8\"], \"\", \"\\uDBB9\\uDCE4\", [\"money_with_wings\"], 17, 9],\n \"1f4b9\": [[\"\\uD83D\\uDCB9\"], \"\\uE14A\", \"\\uDBB9\\uDCDF\", [\"chart\"], 17, 10],\n \"1f4ba\": [[\"\\uD83D\\uDCBA\"], \"\\uE11F\", \"\\uDBB9\\uDD37\", [\"seat\"], 17, 11],\n \"1f4bb\": [[\"\\uD83D\\uDCBB\"], \"\\uE00C\", \"\\uDBB9\\uDD38\", [\"computer\"], 17, 12],\n \"1f4bc\": [[\"\\uD83D\\uDCBC\"], \"\\uE11E\", \"\\uDBB9\\uDD3B\", [\"briefcase\"], 17, 13],\n \"1f4bd\": [[\"\\uD83D\\uDCBD\"], \"\\uE316\", \"\\uDBB9\\uDD3C\", [\"minidisc\"], 17, 14],\n \"1f4be\": [[\"\\uD83D\\uDCBE\"], \"\\uE316\", \"\\uDBB9\\uDD3D\", [\"floppy_disk\"], 17, 15],\n \"1f4bf\": [[\"\\uD83D\\uDCBF\"], \"\\uE126\", \"\\uDBBA\\uDC1D\", [\"cd\"], 17, 16],\n \"1f4c0\": [[\"\\uD83D\\uDCC0\"], \"\\uE127\", \"\\uDBBA\\uDC1E\", [\"dvd\"], 17, 17],\n \"1f4c1\": [[\"\\uD83D\\uDCC1\"], \"\", \"\\uDBB9\\uDD43\", [\"file_folder\"], 17, 18],\n \"1f4c2\": [[\"\\uD83D\\uDCC2\"], \"\", \"\\uDBB9\\uDD44\", [\"open_file_folder\"], 17, 19],\n \"1f4c3\": [[\"\\uD83D\\uDCC3\"], \"\\uE301\", \"\\uDBB9\\uDD40\", [\"page_with_curl\"], 17, 20],\n \"1f4c4\": [[\"\\uD83D\\uDCC4\"], \"\\uE301\", \"\\uDBB9\\uDD41\", [\"page_facing_up\"], 17, 21],\n \"1f4c5\": [[\"\\uD83D\\uDCC5\"], \"\", \"\\uDBB9\\uDD42\", [\"date\"], 17, 22],\n \"1f4c6\": [[\"\\uD83D\\uDCC6\"], \"\", \"\\uDBB9\\uDD49\", [\"calendar\"], 17, 23],\n \"1f4c7\": [[\"\\uD83D\\uDCC7\"], \"\\uE148\", \"\\uDBB9\\uDD4D\", [\"card_index\"], 17, 24],\n \"1f4c8\": [[\"\\uD83D\\uDCC8\"], \"\\uE14A\", \"\\uDBB9\\uDD4B\", [\"chart_with_upwards_trend\"], 17, 25],\n \"1f4c9\": [[\"\\uD83D\\uDCC9\"], \"\", \"\\uDBB9\\uDD4C\", [\"chart_with_downwards_trend\"], 17, 26],\n \"1f4ca\": [[\"\\uD83D\\uDCCA\"], \"\\uE14A\", \"\\uDBB9\\uDD4A\", [\"bar_chart\"], 17, 27],\n \"1f4cb\": [[\"\\uD83D\\uDCCB\"], \"\\uE301\", \"\\uDBB9\\uDD48\", [\"clipboard\"], 17, 28],\n \"1f4cc\": [[\"\\uD83D\\uDCCC\"], \"\", \"\\uDBB9\\uDD4E\", [\"pushpin\"], 17, 29],\n \"1f4cd\": [[\"\\uD83D\\uDCCD\"], \"\", \"\\uDBB9\\uDD3F\", [\"round_pushpin\"], 18, 0],\n \"1f4ce\": [[\"\\uD83D\\uDCCE\"], \"\", \"\\uDBB9\\uDD3A\", [\"paperclip\"], 18, 1],\n \"1f4cf\": [[\"\\uD83D\\uDCCF\"], \"\", \"\\uDBB9\\uDD50\", [\"straight_ruler\"], 18, 2],\n \"1f4d0\": [[\"\\uD83D\\uDCD0\"], \"\", \"\\uDBB9\\uDD51\", [\"triangular_ruler\"], 18, 3],\n \"1f4d1\": [[\"\\uD83D\\uDCD1\"], \"\\uE301\", \"\\uDBB9\\uDD52\", [\"bookmark_tabs\"], 18, 4],\n \"1f4d2\": [[\"\\uD83D\\uDCD2\"], \"\\uE148\", \"\\uDBB9\\uDD4F\", [\"ledger\"], 18, 5],\n \"1f4d3\": [[\"\\uD83D\\uDCD3\"], \"\\uE148\", \"\\uDBB9\\uDD45\", [\"notebook\"], 18, 6],\n \"1f4d4\": [[\"\\uD83D\\uDCD4\"], \"\\uE148\", \"\\uDBB9\\uDD47\", [\"notebook_with_decorative_cover\"], 18, 7],\n \"1f4d5\": [[\"\\uD83D\\uDCD5\"], \"\\uE148\", \"\\uDBB9\\uDD02\", [\"closed_book\"], 18, 8],\n \"1f4d6\": [[\"\\uD83D\\uDCD6\"], \"\\uE148\", \"\\uDBB9\\uDD46\", [\"book\", \"open_book\"], 18, 9],\n \"1f4d7\": [[\"\\uD83D\\uDCD7\"], \"\\uE148\", \"\\uDBB9\\uDCFF\", [\"green_book\"], 18, 10],\n \"1f4d8\": [[\"\\uD83D\\uDCD8\"], \"\\uE148\", \"\\uDBB9\\uDD00\", [\"blue_book\"], 18, 11],\n \"1f4d9\": [[\"\\uD83D\\uDCD9\"], \"\\uE148\", \"\\uDBB9\\uDD01\", [\"orange_book\"], 18, 12],\n \"1f4da\": [[\"\\uD83D\\uDCDA\"], \"\\uE148\", \"\\uDBB9\\uDD03\", [\"books\"], 18, 13],\n \"1f4db\": [[\"\\uD83D\\uDCDB\"], \"\", \"\\uDBB9\\uDD04\", [\"name_badge\"], 18, 14],\n \"1f4dc\": [[\"\\uD83D\\uDCDC\"], \"\", \"\\uDBB9\\uDCFD\", [\"scroll\"], 18, 15],\n \"1f4dd\": [[\"\\uD83D\\uDCDD\"], \"\\uE301\", \"\\uDBB9\\uDD27\", [\"memo\", \"pencil\"], 18, 16],\n \"1f4de\": [[\"\\uD83D\\uDCDE\"], \"\\uE009\", \"\\uDBB9\\uDD24\", [\"telephone_receiver\"], 18, 17],\n \"1f4df\": [[\"\\uD83D\\uDCDF\"], \"\", \"\\uDBB9\\uDD22\", [\"pager\"], 18, 18],\n \"1f4e0\": [[\"\\uD83D\\uDCE0\"], \"\\uE00B\", \"\\uDBB9\\uDD28\", [\"fax\"], 18, 19],\n \"1f4e1\": [[\"\\uD83D\\uDCE1\"], \"\\uE14B\", \"\\uDBB9\\uDD31\", [\"satellite\"], 18, 20],\n \"1f4e2\": [[\"\\uD83D\\uDCE2\"], \"\\uE142\", \"\\uDBB9\\uDD2F\", [\"loudspeaker\"], 18, 21],\n \"1f4e3\": [[\"\\uD83D\\uDCE3\"], \"\\uE317\", \"\\uDBB9\\uDD30\", [\"mega\"], 18, 22],\n \"1f4e4\": [[\"\\uD83D\\uDCE4\"], \"\", \"\\uDBB9\\uDD33\", [\"outbox_tray\"], 18, 23],\n \"1f4e5\": [[\"\\uD83D\\uDCE5\"], \"\", \"\\uDBB9\\uDD34\", [\"inbox_tray\"], 18, 24],\n \"1f4e6\": [[\"\\uD83D\\uDCE6\"], \"\\uE112\", \"\\uDBB9\\uDD35\", [\"package\"], 18, 25],\n \"1f4e7\": [[\"\\uD83D\\uDCE7\"], \"\\uE103\", \"\\uDBBA\\uDF92\", [\"e-mail\"], 18, 26],\n \"1f4e8\": [[\"\\uD83D\\uDCE8\"], \"\\uE103\", \"\\uDBB9\\uDD2A\", [\"incoming_envelope\"], 18, 27],\n \"1f4e9\": [[\"\\uD83D\\uDCE9\"], \"\\uE103\", \"\\uDBB9\\uDD2B\", [\"envelope_with_arrow\"], 18, 28],\n \"1f4ea\": [[\"\\uD83D\\uDCEA\"], \"\\uE101\", \"\\uDBB9\\uDD2C\", [\"mailbox_closed\"], 18, 29],\n \"1f4eb\": [[\"\\uD83D\\uDCEB\"], \"\\uE101\", \"\\uDBB9\\uDD2D\", [\"mailbox\"], 19, 0],\n \"1f4ec\": [[\"\\uD83D\\uDCEC\"], \"\", \"\", [\"mailbox_with_mail\"], 19, 1],\n \"1f4ed\": [[\"\\uD83D\\uDCED\"], \"\", \"\", [\"mailbox_with_no_mail\"], 19, 2],\n \"1f4ee\": [[\"\\uD83D\\uDCEE\"], \"\\uE102\", \"\\uDBB9\\uDD2E\", [\"postbox\"], 19, 3],\n \"1f4ef\": [[\"\\uD83D\\uDCEF\"], \"\", \"\", [\"postal_horn\"], 19, 4],\n \"1f4f0\": [[\"\\uD83D\\uDCF0\"], \"\", \"\\uDBBA\\uDC22\", [\"newspaper\"], 19, 5],\n \"1f4f1\": [[\"\\uD83D\\uDCF1\"], \"\\uE00A\", \"\\uDBB9\\uDD25\", [\"iphone\"], 19, 6],\n \"1f4f2\": [[\"\\uD83D\\uDCF2\"], \"\\uE104\", \"\\uDBB9\\uDD26\", [\"calling\"], 19, 7],\n \"1f4f3\": [[\"\\uD83D\\uDCF3\"], \"\\uE250\", \"\\uDBBA\\uDC39\", [\"vibration_mode\"], 19, 8],\n \"1f4f4\": [[\"\\uD83D\\uDCF4\"], \"\\uE251\", \"\\uDBBA\\uDC3A\", [\"mobile_phone_off\"], 19, 9],\n \"1f4f5\": [[\"\\uD83D\\uDCF5\"], \"\", \"\", [\"no_mobile_phones\"], 19, 10],\n \"1f4f6\": [[\"\\uD83D\\uDCF6\"], \"\\uE20B\", \"\\uDBBA\\uDC38\", [\"signal_strength\"], 19, 11],\n \"1f4f7\": [[\"\\uD83D\\uDCF7\"], \"\\uE008\", \"\\uDBB9\\uDCEF\", [\"camera\"], 19, 12],\n \"1f4f9\": [[\"\\uD83D\\uDCF9\"], \"\\uE03D\", \"\\uDBB9\\uDCF9\", [\"video_camera\"], 19, 13],\n \"1f4fa\": [[\"\\uD83D\\uDCFA\"], \"\\uE12A\", \"\\uDBBA\\uDC1C\", [\"tv\"], 19, 14],\n \"1f4fb\": [[\"\\uD83D\\uDCFB\"], \"\\uE128\", \"\\uDBBA\\uDC1F\", [\"radio\"], 19, 15],\n \"1f4fc\": [[\"\\uD83D\\uDCFC\"], \"\\uE129\", \"\\uDBBA\\uDC20\", [\"vhs\"], 19, 16],\n \"1f500\": [[\"\\uD83D\\uDD00\"], \"\", \"\", [\"twisted_rightwards_arrows\"], 19, 17],\n \"1f501\": [[\"\\uD83D\\uDD01\"], \"\", \"\", [\"repeat\"], 19, 18],\n \"1f502\": [[\"\\uD83D\\uDD02\"], \"\", \"\", [\"repeat_one\"], 19, 19],\n \"1f503\": [[\"\\uD83D\\uDD03\"], \"\", \"\\uDBBA\\uDF91\", [\"arrows_clockwise\"], 19, 20],\n \"1f504\": [[\"\\uD83D\\uDD04\"], \"\", \"\", [\"arrows_counterclockwise\"], 19, 21],\n \"1f505\": [[\"\\uD83D\\uDD05\"], \"\", \"\", [\"low_brightness\"], 19, 22],\n \"1f506\": [[\"\\uD83D\\uDD06\"], \"\", \"\", [\"high_brightness\"], 19, 23],\n \"1f507\": [[\"\\uD83D\\uDD07\"], \"\", \"\", [\"mute\"], 19, 24],\n \"1f508\": [[\"\\uD83D\\uDD08\"], \"\", \"\", [\"speaker\"], 19, 25],\n \"1f509\": [[\"\\uD83D\\uDD09\"], \"\", \"\", [\"sound\"], 19, 26],\n \"1f50a\": [[\"\\uD83D\\uDD0A\"], \"\\uE141\", \"\\uDBBA\\uDC21\", [\"loud_sound\"], 19, 27],\n \"1f50b\": [[\"\\uD83D\\uDD0B\"], \"\", \"\\uDBB9\\uDCFC\", [\"battery\"], 19, 28],\n \"1f50c\": [[\"\\uD83D\\uDD0C\"], \"\", \"\\uDBB9\\uDCFE\", [\"electric_plug\"], 19, 29],\n \"1f50d\": [[\"\\uD83D\\uDD0D\"], \"\\uE114\", \"\\uDBBA\\uDF85\", [\"mag\"], 20, 0],\n \"1f50e\": [[\"\\uD83D\\uDD0E\"], \"\\uE114\", \"\\uDBBA\\uDF8D\", [\"mag_right\"], 20, 1],\n \"1f50f\": [[\"\\uD83D\\uDD0F\"], \"\\uE144\", \"\\uDBBA\\uDF90\", [\"lock_with_ink_pen\"], 20, 2],\n \"1f510\": [[\"\\uD83D\\uDD10\"], \"\\uE144\", \"\\uDBBA\\uDF8A\", [\"closed_lock_with_key\"], 20, 3],\n \"1f511\": [[\"\\uD83D\\uDD11\"], \"\\uE03F\", \"\\uDBBA\\uDF82\", [\"key\"], 20, 4],\n \"1f512\": [[\"\\uD83D\\uDD12\"], \"\\uE144\", \"\\uDBBA\\uDF86\", [\"lock\"], 20, 5],\n \"1f513\": [[\"\\uD83D\\uDD13\"], \"\\uE145\", \"\\uDBBA\\uDF87\", [\"unlock\"], 20, 6],\n \"1f514\": [[\"\\uD83D\\uDD14\"], \"\\uE325\", \"\\uDBB9\\uDCF2\", [\"bell\"], 20, 7],\n \"1f515\": [[\"\\uD83D\\uDD15\"], \"\", \"\", [\"no_bell\"], 20, 8],\n \"1f516\": [[\"\\uD83D\\uDD16\"], \"\", \"\\uDBBA\\uDF8F\", [\"bookmark\"], 20, 9],\n \"1f517\": [[\"\\uD83D\\uDD17\"], \"\", \"\\uDBBA\\uDF4B\", [\"link\"], 20, 10],\n \"1f518\": [[\"\\uD83D\\uDD18\"], \"\", \"\\uDBBA\\uDF8C\", [\"radio_button\"], 20, 11],\n \"1f519\": [[\"\\uD83D\\uDD19\"], \"\\uE235\", \"\\uDBBA\\uDF8E\", [\"back\"], 20, 12],\n \"1f51a\": [[\"\\uD83D\\uDD1A\"], \"\", \"\\uDBB8\\uDC1A\", [\"end\"], 20, 13],\n \"1f51b\": [[\"\\uD83D\\uDD1B\"], \"\", \"\\uDBB8\\uDC19\", [\"on\"], 20, 14],\n \"1f51c\": [[\"\\uD83D\\uDD1C\"], \"\", \"\\uDBB8\\uDC18\", [\"soon\"], 20, 15],\n \"1f51d\": [[\"\\uD83D\\uDD1D\"], \"\\uE24C\", \"\\uDBBA\\uDF42\", [\"top\"], 20, 16],\n \"1f51e\": [[\"\\uD83D\\uDD1E\"], \"\\uE207\", \"\\uDBBA\\uDF25\", [\"underage\"], 20, 17],\n \"1f51f\": [[\"\\uD83D\\uDD1F\"], \"\", \"\\uDBBA\\uDC3B\", [\"keycap_ten\"], 20, 18],\n \"1f520\": [[\"\\uD83D\\uDD20\"], \"\", \"\\uDBBA\\uDF7C\", [\"capital_abcd\"], 20, 19],\n \"1f521\": [[\"\\uD83D\\uDD21\"], \"\", \"\\uDBBA\\uDF7D\", [\"abcd\"], 20, 20],\n \"1f522\": [[\"\\uD83D\\uDD22\"], \"\", \"\\uDBBA\\uDF7E\", [\"1234\"], 20, 21],\n \"1f523\": [[\"\\uD83D\\uDD23\"], \"\", \"\\uDBBA\\uDF7F\", [\"symbols\"], 20, 22],\n \"1f524\": [[\"\\uD83D\\uDD24\"], \"\", \"\\uDBBA\\uDF80\", [\"abc\"], 20, 23],\n \"1f525\": [[\"\\uD83D\\uDD25\"], \"\\uE11D\", \"\\uDBB9\\uDCF6\", [\"fire\"], 20, 24],\n \"1f526\": [[\"\\uD83D\\uDD26\"], \"\", \"\\uDBB9\\uDCFB\", [\"flashlight\"], 20, 25],\n \"1f527\": [[\"\\uD83D\\uDD27\"], \"\", \"\\uDBB9\\uDCC9\", [\"wrench\"], 20, 26],\n \"1f528\": [[\"\\uD83D\\uDD28\"], \"\\uE116\", \"\\uDBB9\\uDCCA\", [\"hammer\"], 20, 27],\n \"1f529\": [[\"\\uD83D\\uDD29\"], \"\", \"\\uDBB9\\uDCCB\", [\"nut_and_bolt\"], 20, 28],\n \"1f52a\": [[\"\\uD83D\\uDD2A\"], \"\", \"\\uDBB9\\uDCFA\", [\"hocho\", \"knife\"], 20, 29],\n \"1f52b\": [[\"\\uD83D\\uDD2B\"], \"\\uE113\", \"\\uDBB9\\uDCF5\", [\"gun\"], 21, 0],\n \"1f52c\": [[\"\\uD83D\\uDD2C\"], \"\", \"\", [\"microscope\"], 21, 1],\n \"1f52d\": [[\"\\uD83D\\uDD2D\"], \"\", \"\", [\"telescope\"], 21, 2],\n \"1f52e\": [[\"\\uD83D\\uDD2E\"], \"\\uE23E\", \"\\uDBB9\\uDCF7\", [\"crystal_ball\"], 21, 3],\n \"1f52f\": [[\"\\uD83D\\uDD2F\"], \"\\uE23E\", \"\\uDBB9\\uDCF8\", [\"six_pointed_star\"], 21, 4],\n \"1f530\": [[\"\\uD83D\\uDD30\"], \"\\uE209\", \"\\uDBB8\\uDC44\", [\"beginner\"], 21, 5],\n \"1f531\": [[\"\\uD83D\\uDD31\"], \"\\uE031\", \"\\uDBB9\\uDCD2\", [\"trident\"], 21, 6],\n \"1f532\": [[\"\\uD83D\\uDD32\"], \"\\uE21A\", \"\\uDBBA\\uDF64\", [\"black_square_button\"], 21, 7],\n \"1f533\": [[\"\\uD83D\\uDD33\"], \"\\uE21B\", \"\\uDBBA\\uDF67\", [\"white_square_button\"], 21, 8],\n \"1f534\": [[\"\\uD83D\\uDD34\"], \"\\uE219\", \"\\uDBBA\\uDF63\", [\"red_circle\"], 21, 9],\n \"1f535\": [[\"\\uD83D\\uDD35\"], \"\\uE21A\", \"\\uDBBA\\uDF64\", [\"large_blue_circle\"], 21, 10],\n \"1f536\": [[\"\\uD83D\\uDD36\"], \"\\uE21B\", \"\\uDBBA\\uDF73\", [\"large_orange_diamond\"], 21, 11],\n \"1f537\": [[\"\\uD83D\\uDD37\"], \"\\uE21B\", \"\\uDBBA\\uDF74\", [\"large_blue_diamond\"], 21, 12],\n \"1f538\": [[\"\\uD83D\\uDD38\"], \"\\uE21B\", \"\\uDBBA\\uDF75\", [\"small_orange_diamond\"], 21, 13],\n \"1f539\": [[\"\\uD83D\\uDD39\"], \"\\uE21B\", \"\\uDBBA\\uDF76\", [\"small_blue_diamond\"], 21, 14],\n \"1f53a\": [[\"\\uD83D\\uDD3A\"], \"\", \"\\uDBBA\\uDF78\", [\"small_red_triangle\"], 21, 15],\n \"1f53b\": [[\"\\uD83D\\uDD3B\"], \"\", \"\\uDBBA\\uDF79\", [\"small_red_triangle_down\"], 21, 16],\n \"1f53c\": [[\"\\uD83D\\uDD3C\"], \"\", \"\\uDBBA\\uDF01\", [\"arrow_up_small\"], 21, 17],\n \"1f53d\": [[\"\\uD83D\\uDD3D\"], \"\", \"\\uDBBA\\uDF00\", [\"arrow_down_small\"], 21, 18],\n \"1f550\": [[\"\\uD83D\\uDD50\"], \"\\uE024\", \"\\uDBB8\\uDC1E\", [\"clock1\"], 21, 19],\n \"1f551\": [[\"\\uD83D\\uDD51\"], \"\\uE025\", \"\\uDBB8\\uDC1F\", [\"clock2\"], 21, 20],\n \"1f552\": [[\"\\uD83D\\uDD52\"], \"\\uE026\", \"\\uDBB8\\uDC20\", [\"clock3\"], 21, 21],\n \"1f553\": [[\"\\uD83D\\uDD53\"], \"\\uE027\", \"\\uDBB8\\uDC21\", [\"clock4\"], 21, 22],\n \"1f554\": [[\"\\uD83D\\uDD54\"], \"\\uE028\", \"\\uDBB8\\uDC22\", [\"clock5\"], 21, 23],\n \"1f555\": [[\"\\uD83D\\uDD55\"], \"\\uE029\", \"\\uDBB8\\uDC23\", [\"clock6\"], 21, 24],\n \"1f556\": [[\"\\uD83D\\uDD56\"], \"\\uE02A\", \"\\uDBB8\\uDC24\", [\"clock7\"], 21, 25],\n \"1f557\": [[\"\\uD83D\\uDD57\"], \"\\uE02B\", \"\\uDBB8\\uDC25\", [\"clock8\"], 21, 26],\n \"1f558\": [[\"\\uD83D\\uDD58\"], \"\\uE02C\", \"\\uDBB8\\uDC26\", [\"clock9\"], 21, 27],\n \"1f559\": [[\"\\uD83D\\uDD59\"], \"\\uE02D\", \"\\uDBB8\\uDC27\", [\"clock10\"], 21, 28],\n \"1f55a\": [[\"\\uD83D\\uDD5A\"], \"\\uE02E\", \"\\uDBB8\\uDC28\", [\"clock11\"], 21, 29],\n \"1f55b\": [[\"\\uD83D\\uDD5B\"], \"\\uE02F\", \"\\uDBB8\\uDC29\", [\"clock12\"], 22, 0],\n \"1f55c\": [[\"\\uD83D\\uDD5C\"], \"\", \"\", [\"clock130\"], 22, 1],\n \"1f55d\": [[\"\\uD83D\\uDD5D\"], \"\", \"\", [\"clock230\"], 22, 2],\n \"1f55e\": [[\"\\uD83D\\uDD5E\"], \"\", \"\", [\"clock330\"], 22, 3],\n \"1f55f\": [[\"\\uD83D\\uDD5F\"], \"\", \"\", [\"clock430\"], 22, 4],\n \"1f560\": [[\"\\uD83D\\uDD60\"], \"\", \"\", [\"clock530\"], 22, 5],\n \"1f561\": [[\"\\uD83D\\uDD61\"], \"\", \"\", [\"clock630\"], 22, 6],\n \"1f562\": [[\"\\uD83D\\uDD62\"], \"\", \"\", [\"clock730\"], 22, 7],\n \"1f563\": [[\"\\uD83D\\uDD63\"], \"\", \"\", [\"clock830\"], 22, 8],\n \"1f564\": [[\"\\uD83D\\uDD64\"], \"\", \"\", [\"clock930\"], 22, 9],\n \"1f565\": [[\"\\uD83D\\uDD65\"], \"\", \"\", [\"clock1030\"], 22, 10],\n \"1f566\": [[\"\\uD83D\\uDD66\"], \"\", \"\", [\"clock1130\"], 22, 11],\n \"1f567\": [[\"\\uD83D\\uDD67\"], \"\", \"\", [\"clock1230\"], 22, 12],\n \"1f5fb\": [[\"\\uD83D\\uDDFB\"], \"\\uE03B\", \"\\uDBB9\\uDCC3\", [\"mount_fuji\"], 22, 13],\n \"1f5fc\": [[\"\\uD83D\\uDDFC\"], \"\\uE509\", \"\\uDBB9\\uDCC4\", [\"tokyo_tower\"], 22, 14],\n \"1f5fd\": [[\"\\uD83D\\uDDFD\"], \"\\uE51D\", \"\\uDBB9\\uDCC6\", [\"statue_of_liberty\"], 22, 15],\n \"1f5fe\": [[\"\\uD83D\\uDDFE\"], \"\", \"\\uDBB9\\uDCC7\", [\"japan\"], 22, 16],\n \"1f5ff\": [[\"\\uD83D\\uDDFF\"], \"\", \"\\uDBB9\\uDCC8\", [\"moyai\"], 22, 17],\n \"1f600\": [[\"\\uD83D\\uDE00\"], \"\", \"\", [\"grinning\"], 22, 18, \":D\"],\n \"1f601\": [[\"\\uD83D\\uDE01\"], \"\\uE404\", \"\\uDBB8\\uDF33\", [\"grin\"], 22, 19],\n \"1f602\": [[\"\\uD83D\\uDE02\"], \"\\uE412\", \"\\uDBB8\\uDF34\", [\"joy\"], 22, 20],\n \"1f603\": [[\"\\uD83D\\uDE03\"], \"\\uE057\", \"\\uDBB8\\uDF30\", [\"smiley\"], 22, 21, \":)\"],\n \"1f604\": [[\"\\uD83D\\uDE04\"], \"\\uE415\", \"\\uDBB8\\uDF38\", [\"smile\"], 22, 22, \":)\"],\n \"1f605\": [[\"\\uD83D\\uDE05\"], \"\\uE415\\uE331\", \"\\uDBB8\\uDF31\", [\"sweat_smile\"], 22, 23],\n \"1f606\": [[\"\\uD83D\\uDE06\"], \"\\uE40A\", \"\\uDBB8\\uDF32\", [\"satisfied\"], 22, 24],\n \"1f607\": [[\"\\uD83D\\uDE07\"], \"\", \"\", [\"innocent\"], 22, 25],\n \"1f608\": [[\"\\uD83D\\uDE08\"], \"\", \"\", [\"smiling_imp\"], 22, 26],\n \"1f609\": [[\"\\uD83D\\uDE09\"], \"\\uE405\", \"\\uDBB8\\uDF47\", [\"wink\"], 22, 27, \";)\"],\n \"1f60a\": [[\"\\uD83D\\uDE0A\"], \"\\uE056\", \"\\uDBB8\\uDF35\", [\"blush\"], 22, 28],\n \"1f60b\": [[\"\\uD83D\\uDE0B\"], \"\\uE056\", \"\\uDBB8\\uDF2B\", [\"yum\"], 22, 29],\n \"1f60c\": [[\"\\uD83D\\uDE0C\"], \"\\uE40A\", \"\\uDBB8\\uDF3E\", [\"relieved\"], 23, 0],\n \"1f60d\": [[\"\\uD83D\\uDE0D\"], \"\\uE106\", \"\\uDBB8\\uDF27\", [\"heart_eyes\"], 23, 1],\n \"1f60e\": [[\"\\uD83D\\uDE0E\"], \"\", \"\", [\"sunglasses\"], 23, 2],\n \"1f60f\": [[\"\\uD83D\\uDE0F\"], \"\\uE402\", \"\\uDBB8\\uDF43\", [\"smirk\"], 23, 3],\n \"1f610\": [[\"\\uD83D\\uDE10\"], \"\", \"\", [\"neutral_face\"], 23, 4],\n \"1f611\": [[\"\\uD83D\\uDE11\"], \"\", \"\", [\"expressionless\"], 23, 5],\n \"1f612\": [[\"\\uD83D\\uDE12\"], \"\\uE40E\", \"\\uDBB8\\uDF26\", [\"unamused\"], 23, 6],\n \"1f613\": [[\"\\uD83D\\uDE13\"], \"\\uE108\", \"\\uDBB8\\uDF44\", [\"sweat\"], 23, 7],\n \"1f614\": [[\"\\uD83D\\uDE14\"], \"\\uE403\", \"\\uDBB8\\uDF40\", [\"pensive\"], 23, 8],\n \"1f615\": [[\"\\uD83D\\uDE15\"], \"\", \"\", [\"confused\"], 23, 9],\n \"1f616\": [[\"\\uD83D\\uDE16\"], \"\\uE407\", \"\\uDBB8\\uDF3F\", [\"confounded\"], 23, 10],\n \"1f617\": [[\"\\uD83D\\uDE17\"], \"\", \"\", [\"kissing\"], 23, 11],\n \"1f618\": [[\"\\uD83D\\uDE18\"], \"\\uE418\", \"\\uDBB8\\uDF2C\", [\"kissing_heart\"], 23, 12],\n \"1f619\": [[\"\\uD83D\\uDE19\"], \"\", \"\", [\"kissing_smiling_eyes\"], 23, 13],\n \"1f61a\": [[\"\\uD83D\\uDE1A\"], \"\\uE417\", \"\\uDBB8\\uDF2D\", [\"kissing_closed_eyes\"], 23, 14],\n \"1f61b\": [[\"\\uD83D\\uDE1B\"], \"\", \"\", [\"stuck_out_tongue\"], 23, 15, \":p\"],\n \"1f61c\": [[\"\\uD83D\\uDE1C\"], \"\\uE105\", \"\\uDBB8\\uDF29\", [\"stuck_out_tongue_winking_eye\"], 23, 16, \";p\"],\n \"1f61d\": [[\"\\uD83D\\uDE1D\"], \"\\uE409\", \"\\uDBB8\\uDF2A\", [\"stuck_out_tongue_closed_eyes\"], 23, 17],\n \"1f61e\": [[\"\\uD83D\\uDE1E\"], \"\\uE058\", \"\\uDBB8\\uDF23\", [\"disappointed\"], 23, 18, \":(\"],\n \"1f61f\": [[\"\\uD83D\\uDE1F\"], \"\", \"\", [\"worried\"], 23, 19],\n \"1f620\": [[\"\\uD83D\\uDE20\"], \"\\uE059\", \"\\uDBB8\\uDF20\", [\"angry\"], 23, 20],\n \"1f621\": [[\"\\uD83D\\uDE21\"], \"\\uE416\", \"\\uDBB8\\uDF3D\", [\"rage\"], 23, 21],\n \"1f622\": [[\"\\uD83D\\uDE22\"], \"\\uE413\", \"\\uDBB8\\uDF39\", [\"cry\"], 23, 22, \":'(\"],\n \"1f623\": [[\"\\uD83D\\uDE23\"], \"\\uE406\", \"\\uDBB8\\uDF3C\", [\"persevere\"], 23, 23],\n \"1f624\": [[\"\\uD83D\\uDE24\"], \"\\uE404\", \"\\uDBB8\\uDF28\", [\"triumph\"], 23, 24],\n \"1f625\": [[\"\\uD83D\\uDE25\"], \"\\uE401\", \"\\uDBB8\\uDF45\", [\"disappointed_relieved\"], 23, 25],\n \"1f626\": [[\"\\uD83D\\uDE26\"], \"\", \"\", [\"frowning\"], 23, 26],\n \"1f627\": [[\"\\uD83D\\uDE27\"], \"\", \"\", [\"anguished\"], 23, 27],\n \"1f628\": [[\"\\uD83D\\uDE28\"], \"\\uE40B\", \"\\uDBB8\\uDF3B\", [\"fearful\"], 23, 28],\n \"1f629\": [[\"\\uD83D\\uDE29\"], \"\\uE403\", \"\\uDBB8\\uDF21\", [\"weary\"], 23, 29],\n \"1f62a\": [[\"\\uD83D\\uDE2A\"], \"\\uE408\", \"\\uDBB8\\uDF42\", [\"sleepy\"], 24, 0],\n \"1f62b\": [[\"\\uD83D\\uDE2B\"], \"\\uE406\", \"\\uDBB8\\uDF46\", [\"tired_face\"], 24, 1],\n \"1f62c\": [[\"\\uD83D\\uDE2C\"], \"\", \"\", [\"grimacing\"], 24, 2],\n \"1f62d\": [[\"\\uD83D\\uDE2D\"], \"\\uE411\", \"\\uDBB8\\uDF3A\", [\"sob\"], 24, 3, \":'(\"],\n \"1f62e\": [[\"\\uD83D\\uDE2E\"], \"\", \"\", [\"open_mouth\"], 24, 4],\n \"1f62f\": [[\"\\uD83D\\uDE2F\"], \"\", \"\", [\"hushed\"], 24, 5],\n \"1f630\": [[\"\\uD83D\\uDE30\"], \"\\uE40F\", \"\\uDBB8\\uDF25\", [\"cold_sweat\"], 24, 6],\n \"1f631\": [[\"\\uD83D\\uDE31\"], \"\\uE107\", \"\\uDBB8\\uDF41\", [\"scream\"], 24, 7],\n \"1f632\": [[\"\\uD83D\\uDE32\"], \"\\uE410\", \"\\uDBB8\\uDF22\", [\"astonished\"], 24, 8],\n \"1f633\": [[\"\\uD83D\\uDE33\"], \"\\uE40D\", \"\\uDBB8\\uDF2F\", [\"flushed\"], 24, 9],\n \"1f634\": [[\"\\uD83D\\uDE34\"], \"\", \"\", [\"sleeping\"], 24, 10],\n \"1f635\": [[\"\\uD83D\\uDE35\"], \"\\uE406\", \"\\uDBB8\\uDF24\", [\"dizzy_face\"], 24, 11],\n \"1f636\": [[\"\\uD83D\\uDE36\"], \"\", \"\", [\"no_mouth\"], 24, 12],\n \"1f637\": [[\"\\uD83D\\uDE37\"], \"\\uE40C\", \"\\uDBB8\\uDF2E\", [\"mask\"], 24, 13],\n \"1f638\": [[\"\\uD83D\\uDE38\"], \"\\uE404\", \"\\uDBB8\\uDF49\", [\"smile_cat\"], 24, 14],\n \"1f639\": [[\"\\uD83D\\uDE39\"], \"\\uE412\", \"\\uDBB8\\uDF4A\", [\"joy_cat\"], 24, 15],\n \"1f63a\": [[\"\\uD83D\\uDE3A\"], \"\\uE057\", \"\\uDBB8\\uDF48\", [\"smiley_cat\"], 24, 16],\n \"1f63b\": [[\"\\uD83D\\uDE3B\"], \"\\uE106\", \"\\uDBB8\\uDF4C\", [\"heart_eyes_cat\"], 24, 17],\n \"1f63c\": [[\"\\uD83D\\uDE3C\"], \"\\uE404\", \"\\uDBB8\\uDF4F\", [\"smirk_cat\"], 24, 18],\n \"1f63d\": [[\"\\uD83D\\uDE3D\"], \"\\uE418\", \"\\uDBB8\\uDF4B\", [\"kissing_cat\"], 24, 19],\n \"1f63e\": [[\"\\uD83D\\uDE3E\"], \"\\uE416\", \"\\uDBB8\\uDF4E\", [\"pouting_cat\"], 24, 20],\n \"1f63f\": [[\"\\uD83D\\uDE3F\"], \"\\uE413\", \"\\uDBB8\\uDF4D\", [\"crying_cat_face\"], 24, 21],\n \"1f640\": [[\"\\uD83D\\uDE40\"], \"\\uE403\", \"\\uDBB8\\uDF50\", [\"scream_cat\"], 24, 22],\n \"1f645\": [[\"\\uD83D\\uDE45\"], \"\\uE423\", \"\\uDBB8\\uDF51\", [\"no_good\"], 24, 23],\n \"1f646\": [[\"\\uD83D\\uDE46\"], \"\\uE424\", \"\\uDBB8\\uDF52\", [\"ok_woman\"], 24, 24],\n \"1f647\": [[\"\\uD83D\\uDE47\"], \"\\uE426\", \"\\uDBB8\\uDF53\", [\"bow\"], 24, 25],\n \"1f648\": [[\"\\uD83D\\uDE48\"], \"\", \"\\uDBB8\\uDF54\", [\"see_no_evil\"], 24, 26],\n \"1f649\": [[\"\\uD83D\\uDE49\"], \"\", \"\\uDBB8\\uDF56\", [\"hear_no_evil\"], 24, 27],\n \"1f64a\": [[\"\\uD83D\\uDE4A\"], \"\", \"\\uDBB8\\uDF55\", [\"speak_no_evil\"], 24, 28],\n \"1f64b\": [[\"\\uD83D\\uDE4B\"], \"\\uE012\", \"\\uDBB8\\uDF57\", [\"raising_hand\"], 24, 29],\n \"1f64c\": [[\"\\uD83D\\uDE4C\"], \"\\uE427\", \"\\uDBB8\\uDF58\", [\"raised_hands\"], 25, 0],\n \"1f64d\": [[\"\\uD83D\\uDE4D\"], \"\\uE403\", \"\\uDBB8\\uDF59\", [\"person_frowning\"], 25, 1],\n \"1f64e\": [[\"\\uD83D\\uDE4E\"], \"\\uE416\", \"\\uDBB8\\uDF5A\", [\"person_with_pouting_face\"], 25, 2],\n \"1f64f\": [[\"\\uD83D\\uDE4F\"], \"\\uE41D\", \"\\uDBB8\\uDF5B\", [\"pray\"], 25, 3],\n \"1f680\": [[\"\\uD83D\\uDE80\"], \"\\uE10D\", \"\\uDBB9\\uDFED\", [\"rocket\"], 25, 4],\n \"1f681\": [[\"\\uD83D\\uDE81\"], \"\", \"\", [\"helicopter\"], 25, 5],\n \"1f682\": [[\"\\uD83D\\uDE82\"], \"\", \"\", [\"steam_locomotive\"], 25, 6],\n \"1f683\": [[\"\\uD83D\\uDE83\"], \"\\uE01E\", \"\\uDBB9\\uDFDF\", [\"railway_car\"], 25, 7],\n \"1f684\": [[\"\\uD83D\\uDE84\"], \"\\uE435\", \"\\uDBB9\\uDFE2\", [\"bullettrain_side\"], 25, 8],\n \"1f685\": [[\"\\uD83D\\uDE85\"], \"\\uE01F\", \"\\uDBB9\\uDFE3\", [\"bullettrain_front\"], 25, 9],\n \"1f686\": [[\"\\uD83D\\uDE86\"], \"\", \"\", [\"train2\"], 25, 10],\n \"1f687\": [[\"\\uD83D\\uDE87\"], \"\\uE434\", \"\\uDBB9\\uDFE0\", [\"metro\"], 25, 11],\n \"1f688\": [[\"\\uD83D\\uDE88\"], \"\", \"\", [\"light_rail\"], 25, 12],\n \"1f689\": [[\"\\uD83D\\uDE89\"], \"\\uE039\", \"\\uDBB9\\uDFEC\", [\"station\"], 25, 13],\n \"1f68a\": [[\"\\uD83D\\uDE8A\"], \"\", \"\", [\"tram\"], 25, 14],\n \"1f68b\": [[\"\\uD83D\\uDE8B\"], \"\", \"\", [\"train\"], 25, 15],\n \"1f68c\": [[\"\\uD83D\\uDE8C\"], \"\\uE159\", \"\\uDBB9\\uDFE6\", [\"bus\"], 25, 16],\n \"1f68d\": [[\"\\uD83D\\uDE8D\"], \"\", \"\", [\"oncoming_bus\"], 25, 17],\n \"1f68e\": [[\"\\uD83D\\uDE8E\"], \"\", \"\", [\"trolleybus\"], 25, 18],\n \"1f68f\": [[\"\\uD83D\\uDE8F\"], \"\\uE150\", \"\\uDBB9\\uDFE7\", [\"busstop\"], 25, 19],\n \"1f690\": [[\"\\uD83D\\uDE90\"], \"\", \"\", [\"minibus\"], 25, 20],\n \"1f691\": [[\"\\uD83D\\uDE91\"], \"\\uE431\", \"\\uDBB9\\uDFF3\", [\"ambulance\"], 25, 21],\n \"1f692\": [[\"\\uD83D\\uDE92\"], \"\\uE430\", \"\\uDBB9\\uDFF2\", [\"fire_engine\"], 25, 22],\n \"1f693\": [[\"\\uD83D\\uDE93\"], \"\\uE432\", \"\\uDBB9\\uDFF4\", [\"police_car\"], 25, 23],\n \"1f694\": [[\"\\uD83D\\uDE94\"], \"\", \"\", [\"oncoming_police_car\"], 25, 24],\n \"1f695\": [[\"\\uD83D\\uDE95\"], \"\\uE15A\", \"\\uDBB9\\uDFEF\", [\"taxi\"], 25, 25],\n \"1f696\": [[\"\\uD83D\\uDE96\"], \"\", \"\", [\"oncoming_taxi\"], 25, 26],\n \"1f697\": [[\"\\uD83D\\uDE97\"], \"\\uE01B\", \"\\uDBB9\\uDFE4\", [\"car\", \"red_car\"], 25, 27],\n \"1f698\": [[\"\\uD83D\\uDE98\"], \"\", \"\", [\"oncoming_automobile\"], 25, 28],\n \"1f699\": [[\"\\uD83D\\uDE99\"], \"\\uE42E\", \"\\uDBB9\\uDFE5\", [\"blue_car\"], 25, 29],\n \"1f69a\": [[\"\\uD83D\\uDE9A\"], \"\\uE42F\", \"\\uDBB9\\uDFF1\", [\"truck\"], 26, 0],\n \"1f69b\": [[\"\\uD83D\\uDE9B\"], \"\", \"\", [\"articulated_lorry\"], 26, 1],\n \"1f69c\": [[\"\\uD83D\\uDE9C\"], \"\", \"\", [\"tractor\"], 26, 2],\n \"1f69d\": [[\"\\uD83D\\uDE9D\"], \"\", \"\", [\"monorail\"], 26, 3],\n \"1f69e\": [[\"\\uD83D\\uDE9E\"], \"\", \"\", [\"mountain_railway\"], 26, 4],\n \"1f69f\": [[\"\\uD83D\\uDE9F\"], \"\", \"\", [\"suspension_railway\"], 26, 5],\n \"1f6a0\": [[\"\\uD83D\\uDEA0\"], \"\", \"\", [\"mountain_cableway\"], 26, 6],\n \"1f6a1\": [[\"\\uD83D\\uDEA1\"], \"\", \"\", [\"aerial_tramway\"], 26, 7],\n \"1f6a2\": [[\"\\uD83D\\uDEA2\"], \"\\uE202\", \"\\uDBB9\\uDFE8\", [\"ship\"], 26, 8],\n \"1f6a3\": [[\"\\uD83D\\uDEA3\"], \"\", \"\", [\"rowboat\"], 26, 9],\n \"1f6a4\": [[\"\\uD83D\\uDEA4\"], \"\\uE135\", \"\\uDBB9\\uDFEE\", [\"speedboat\"], 26, 10],\n \"1f6a5\": [[\"\\uD83D\\uDEA5\"], \"\\uE14E\", \"\\uDBB9\\uDFF7\", [\"traffic_light\"], 26, 11],\n \"1f6a6\": [[\"\\uD83D\\uDEA6\"], \"\", \"\", [\"vertical_traffic_light\"], 26, 12],\n \"1f6a7\": [[\"\\uD83D\\uDEA7\"], \"\\uE137\", \"\\uDBB9\\uDFF8\", [\"construction\"], 26, 13],\n \"1f6a8\": [[\"\\uD83D\\uDEA8\"], \"\\uE432\", \"\\uDBB9\\uDFF9\", [\"rotating_light\"], 26, 14],\n \"1f6a9\": [[\"\\uD83D\\uDEA9\"], \"\", \"\\uDBBA\\uDF22\", [\"triangular_flag_on_post\"], 26, 15],\n \"1f6aa\": [[\"\\uD83D\\uDEAA\"], \"\", \"\\uDBB9\\uDCF3\", [\"door\"], 26, 16],\n \"1f6ab\": [[\"\\uD83D\\uDEAB\"], \"\", \"\\uDBBA\\uDF48\", [\"no_entry_sign\"], 26, 17],\n \"1f6ac\": [[\"\\uD83D\\uDEAC\"], \"\\uE30E\", \"\\uDBBA\\uDF1E\", [\"smoking\"], 26, 18],\n \"1f6ad\": [[\"\\uD83D\\uDEAD\"], \"\\uE208\", \"\\uDBBA\\uDF1F\", [\"no_smoking\"], 26, 19],\n \"1f6ae\": [[\"\\uD83D\\uDEAE\"], \"\", \"\", [\"put_litter_in_its_place\"], 26, 20],\n \"1f6af\": [[\"\\uD83D\\uDEAF\"], \"\", \"\", [\"do_not_litter\"], 26, 21],\n \"1f6b0\": [[\"\\uD83D\\uDEB0\"], \"\", \"\", [\"potable_water\"], 26, 22],\n \"1f6b1\": [[\"\\uD83D\\uDEB1\"], \"\", \"\", [\"non-potable_water\"], 26, 23],\n \"1f6b2\": [[\"\\uD83D\\uDEB2\"], \"\\uE136\", \"\\uDBB9\\uDFEB\", [\"bike\"], 26, 24],\n \"1f6b3\": [[\"\\uD83D\\uDEB3\"], \"\", \"\", [\"no_bicycles\"], 26, 25],\n \"1f6b4\": [[\"\\uD83D\\uDEB4\"], \"\", \"\", [\"bicyclist\"], 26, 26],\n \"1f6b5\": [[\"\\uD83D\\uDEB5\"], \"\", \"\", [\"mountain_bicyclist\"], 26, 27],\n \"1f6b6\": [[\"\\uD83D\\uDEB6\"], \"\\uE201\", \"\\uDBB9\\uDFF0\", [\"walking\"], 26, 28],\n \"1f6b7\": [[\"\\uD83D\\uDEB7\"], \"\", \"\", [\"no_pedestrians\"], 26, 29],\n \"1f6b8\": [[\"\\uD83D\\uDEB8\"], \"\", \"\", [\"children_crossing\"], 27, 0],\n \"1f6b9\": [[\"\\uD83D\\uDEB9\"], \"\\uE138\", \"\\uDBBA\\uDF33\", [\"mens\"], 27, 1],\n \"1f6ba\": [[\"\\uD83D\\uDEBA\"], \"\\uE139\", \"\\uDBBA\\uDF34\", [\"womens\"], 27, 2],\n \"1f6bb\": [[\"\\uD83D\\uDEBB\"], \"\\uE151\", \"\\uDBB9\\uDD06\", [\"restroom\"], 27, 3],\n \"1f6bc\": [[\"\\uD83D\\uDEBC\"], \"\\uE13A\", \"\\uDBBA\\uDF35\", [\"baby_symbol\"], 27, 4],\n \"1f6bd\": [[\"\\uD83D\\uDEBD\"], \"\\uE140\", \"\\uDBB9\\uDD07\", [\"toilet\"], 27, 5],\n \"1f6be\": [[\"\\uD83D\\uDEBE\"], \"\\uE309\", \"\\uDBB9\\uDD08\", [\"wc\"], 27, 6],\n \"1f6bf\": [[\"\\uD83D\\uDEBF\"], \"\", \"\", [\"shower\"], 27, 7],\n \"1f6c0\": [[\"\\uD83D\\uDEC0\"], \"\\uE13F\", \"\\uDBB9\\uDD05\", [\"bath\"], 27, 8],\n \"1f6c1\": [[\"\\uD83D\\uDEC1\"], \"\", \"\", [\"bathtub\"], 27, 9],\n \"1f6c2\": [[\"\\uD83D\\uDEC2\"], \"\", \"\", [\"passport_control\"], 27, 10],\n \"1f6c3\": [[\"\\uD83D\\uDEC3\"], \"\", \"\", [\"customs\"], 27, 11],\n \"1f6c4\": [[\"\\uD83D\\uDEC4\"], \"\", \"\", [\"baggage_claim\"], 27, 12],\n \"1f6c5\": [[\"\\uD83D\\uDEC5\"], \"\", \"\", [\"left_luggage\"], 27, 13],\n \"0023-20e3\": [[\"#\\uFE0F\\u20E3\", \"#\\u20E3\"], \"\\uE210\", \"\\uDBBA\\uDC2C\", [\"hash\"], 27, 14],\n \"0030-20e3\": [[\"0\\uFE0F\\u20E3\", \"0\\u20E3\"], \"\\uE225\", \"\\uDBBA\\uDC37\", [\"zero\"], 27, 15],\n \"0031-20e3\": [[\"1\\uFE0F\\u20E3\", \"1\\u20E3\"], \"\\uE21C\", \"\\uDBBA\\uDC2E\", [\"one\"], 27, 16],\n \"0032-20e3\": [[\"2\\uFE0F\\u20E3\", \"2\\u20E3\"], \"\\uE21D\", \"\\uDBBA\\uDC2F\", [\"two\"], 27, 17],\n \"0033-20e3\": [[\"3\\uFE0F\\u20E3\", \"3\\u20E3\"], \"\\uE21E\", \"\\uDBBA\\uDC30\", [\"three\"], 27, 18],\n \"0034-20e3\": [[\"4\\uFE0F\\u20E3\", \"4\\u20E3\"], \"\\uE21F\", \"\\uDBBA\\uDC31\", [\"four\"], 27, 19],\n \"0035-20e3\": [[\"5\\uFE0F\\u20E3\", \"5\\u20E3\"], \"\\uE220\", \"\\uDBBA\\uDC32\", [\"five\"], 27, 20],\n \"0036-20e3\": [[\"6\\uFE0F\\u20E3\", \"6\\u20E3\"], \"\\uE221\", \"\\uDBBA\\uDC33\", [\"six\"], 27, 21],\n \"0037-20e3\": [[\"7\\uFE0F\\u20E3\", \"7\\u20E3\"], \"\\uE222\", \"\\uDBBA\\uDC34\", [\"seven\"], 27, 22],\n \"0038-20e3\": [[\"8\\uFE0F\\u20E3\", \"8\\u20E3\"], \"\\uE223\", \"\\uDBBA\\uDC35\", [\"eight\"], 27, 23],\n \"0039-20e3\": [[\"9\\uFE0F\\u20E3\", \"9\\u20E3\"], \"\\uE224\", \"\\uDBBA\\uDC36\", [\"nine\"], 27, 24],\n \"1f1e8-1f1f3\": [[\"\\uD83C\\uDDE8\\uD83C\\uDDF3\"], \"\\uE513\", \"\\uDBB9\\uDCED\", [\"cn\"], 27, 25],\n \"1f1e9-1f1ea\": [[\"\\uD83C\\uDDE9\\uD83C\\uDDEA\"], \"\\uE50E\", \"\\uDBB9\\uDCE8\", [\"de\"], 27, 26],\n \"1f1ea-1f1f8\": [[\"\\uD83C\\uDDEA\\uD83C\\uDDF8\"], \"\\uE511\", \"\\uDBB9\\uDCEB\", [\"es\"], 27, 27],\n \"1f1eb-1f1f7\": [[\"\\uD83C\\uDDEB\\uD83C\\uDDF7\"], \"\\uE50D\", \"\\uDBB9\\uDCE7\", [\"fr\"], 27, 28],\n \"1f1ec-1f1e7\": [[\"\\uD83C\\uDDEC\\uD83C\\uDDE7\"], \"\\uE510\", \"\\uDBB9\\uDCEA\", [\"gb\", \"uk\"], 27, 29],\n \"1f1ee-1f1f9\": [[\"\\uD83C\\uDDEE\\uD83C\\uDDF9\"], \"\\uE50F\", \"\\uDBB9\\uDCE9\", [\"it\"], 28, 0],\n \"1f1ef-1f1f5\": [[\"\\uD83C\\uDDEF\\uD83C\\uDDF5\"], \"\\uE50B\", \"\\uDBB9\\uDCE5\", [\"jp\"], 28, 1],\n \"1f1f0-1f1f7\": [[\"\\uD83C\\uDDF0\\uD83C\\uDDF7\"], \"\\uE514\", \"\\uDBB9\\uDCEE\", [\"kr\"], 28, 2],\n \"1f1f7-1f1fa\": [[\"\\uD83C\\uDDF7\\uD83C\\uDDFA\"], \"\\uE512\", \"\\uDBB9\\uDCEC\", [\"ru\"], 28, 3],\n \"1f1fa-1f1f8\": [[\"\\uD83C\\uDDFA\\uD83C\\uDDF8\"], \"\\uE50C\", \"\\uDBB9\\uDCE6\", [\"us\"], 28, 4]\n};\n\nConfig.smileys = {\n \"<3\": \"heart\",\n \"<\\/3\": \"broken_heart\",\n \":)\": \"blush\",\n \"(:\": \"blush\",\n \":-)\": \"blush\",\n \"C:\": \"smile\",\n \"c:\": \"smile\",\n \":D\": \"smile\",\n \":-D\": \"smile\",\n \";)\": \"wink\",\n \";-)\": \"wink\",\n \"):\": \"disappointed\",\n \":(\": \"disappointed\",\n \":-(\": \"disappointed\",\n \":'(\": \"cry\",\n \"=)\": \"smiley\",\n \"=-)\": \"smiley\",\n \":*\": \"kiss\",\n \":-*\": \"kiss\",\n \":>\": \"laughing\",\n \":->\": \"laughing\",\n \"8)\": \"sunglasses\",\n \":\\\\\\\\\": \"confused\",\n \":-\\\\\\\\\": \"confused\",\n \":\\/\": \"confused\",\n \":-\\/\": \"confused\",\n \":|\": \"neutral_face\",\n \":-|\": \"neutral_face\",\n \":o\": \"open_mouth\",\n \":-o\": \"open_mouth\",\n \">:(\": \"angry\",\n \">:-(\": \"angry\",\n \":p\": \"stuck_out_tongue\",\n \":-p\": \"stuck_out_tongue\",\n \":P\": \"stuck_out_tongue\",\n \":-P\": \"stuck_out_tongue\",\n \":b\": \"stuck_out_tongue\",\n \":-b\": \"stuck_out_tongue\",\n \";p\": \"stuck_out_tongue_winking_eye\",\n \";-p\": \"stuck_out_tongue_winking_eye\",\n \";b\": \"stuck_out_tongue_winking_eye\",\n \";-b\": \"stuck_out_tongue_winking_eye\",\n \";P\": \"stuck_out_tongue_winking_eye\",\n \";-P\": \"stuck_out_tongue_winking_eye\",\n \":o)\": \"monkey_face\",\n \"D:\": \"anguished\"\n};\n\nConfig.inits = {};\nConfig.map = {};\n\nConfig.mapcolon = {};\nvar a = [];\nConfig.reversemap = {};\n\nConfig.init_emoticons = function () {\n if (Config.inits.emoticons) return;\n Config.init_colons(); // we require this for the emoticons map\n Config.inits.emoticons = 1;\n\n var a = [];\n Config.map.emoticons = {};\n for (var i in Config.emoticons_data) {\n // because we never see some characters in our text except as\n // entities, we must do some replacing\n var emoticon = i.replace(/\\&/g, '&').replace(/\\/g, '>');\n\n if (!Config.map.colons[emoji.emoticons_data[i]]) continue;\n\n Config.map.emoticons[emoticon] = Config.map.colons[Config.emoticons_data[i]];\n a.push(Config.escape_rx(emoticon));\n }\n Config.rx_emoticons = new RegExp('(^|\\\\s)(' + a.join('|') + ')(?=$|[\\\\s|\\\\?\\\\.,!])', 'g');\n};\nConfig.init_colons = function () {\n if (Config.inits.colons) return;\n Config.inits.colons = 1;\n Config.rx_colons = new RegExp('\\:[^\\\\s:]+\\:', 'g');\n Config.map.colons = {};\n for (var i in Config.data) {\n for (var j = 0; j < Config.data[i][3].length; j++) {\n Config.map.colons[emoji.data[i][3][j]] = i;\n }\n }\n};\nConfig.init_unified = function () {\n if (Config.inits.unified) return;\n Config.inits.unified = 1;\n\n buildMap();\n};\n\nConfig.escape_rx = function (text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\");\n};\n\nfunction buildMap() {\n\n var colons = [],\n codes = [];\n for (var i in Config.emoji_data) {\n for (var j = 0; j < Config.emoji_data[i][0].length; j++) {\n colons.push(Config.escape_rx(\":\" + Config.emoji_data[i][3][0]) + \":\");\n codes.push(Config.emoji_data[i][0][0]);\n\n // it is a map of {\"colon smiley\":\"unicode char\"}\n Config.map[Config.emoji_data[i][3][0]] = Config.emoji_data[i][0][0];\n Config.mapcolon[\":\" + Config.emoji_data[i][3][0] + \":\"] = Config.emoji_data[i][0][0];\n // it is a map of {\"unicode char\": \"colon smiley\"}\n Config.reversemap[Config.emoji_data[i][0][0]] = Config.emoji_data[i][3][0];\n }\n\n Config.rx_colons = new RegExp('(' + colons.join('|') + ')', \"g\");\n Config.rx_codes = new RegExp('(' + codes.join('|') + ')', \"g\");\n }\n}\n\nexports.default = Config;\n\n/***/ }),\n/* 432 */,\n/* 433 */,\n/* 434 */,\n/* 435 */,\n/* 436 */,\n/* 437 */,\n/* 438 */,\n/* 439 */,\n/* 440 */,\n/* 441 */,\n/* 442 */,\n/* 443 */,\n/* 444 */,\n/* 445 */,\n/* 446 */,\n/* 447 */,\n/* 448 */,\n/* 449 */,\n/* 450 */,\n/* 451 */,\n/* 452 */,\n/* 453 */,\n/* 454 */,\n/* 455 */,\n/* 456 */,\n/* 457 */,\n/* 458 */,\n/* 459 */,\n/* 460 */,\n/* 461 */,\n/* 462 */,\n/* 463 */,\n/* 464 */,\n/* 465 */,\n/* 466 */,\n/* 467 */,\n/* 468 */,\n/* 469 */,\n/* 470 */,\n/* 471 */,\n/* 472 */,\n/* 473 */,\n/* 474 */,\n/* 475 */,\n/* 476 */,\n/* 477 */,\n/* 478 */,\n/* 479 */,\n/* 480 */,\n/* 481 */,\n/* 482 */,\n/* 483 */,\n/* 484 */,\n/* 485 */,\n/* 486 */,\n/* 487 */,\n/* 488 */,\n/* 489 */,\n/* 490 */,\n/* 491 */,\n/* 492 */,\n/* 493 */,\n/* 494 */,\n/* 495 */,\n/* 496 */,\n/* 497 */,\n/* 498 */,\n/* 499 */,\n/* 500 */,\n/* 501 */,\n/* 502 */,\n/* 503 */,\n/* 504 */,\n/* 505 */,\n/* 506 */,\n/* 507 */,\n/* 508 */,\n/* 509 */,\n/* 510 */,\n/* 511 */,\n/* 512 */,\n/* 513 */,\n/* 514 */,\n/* 515 */,\n/* 516 */,\n/* 517 */,\n/* 518 */,\n/* 519 */,\n/* 520 */,\n/* 521 */,\n/* 522 */,\n/* 523 */,\n/* 524 */,\n/* 525 */,\n/* 526 */,\n/* 527 */,\n/* 528 */,\n/* 529 */,\n/* 530 */,\n/* 531 */,\n/* 532 */,\n/* 533 */,\n/* 534 */,\n/* 535 */,\n/* 536 */,\n/* 537 */,\n/* 538 */,\n/* 539 */,\n/* 540 */,\n/* 541 */,\n/* 542 */,\n/* 543 */,\n/* 544 */,\n/* 545 */,\n/* 546 */,\n/* 547 */,\n/* 548 */,\n/* 549 */,\n/* 550 */,\n/* 551 */,\n/* 552 */,\n/* 553 */,\n/* 554 */,\n/* 555 */,\n/* 556 */,\n/* 557 */,\n/* 558 */,\n/* 559 */,\n/* 560 */,\n/* 561 */,\n/* 562 */,\n/* 563 */,\n/* 564 */,\n/* 565 */,\n/* 566 */,\n/* 567 */,\n/* 568 */,\n/* 569 */,\n/* 570 */,\n/* 571 */,\n/* 572 */,\n/* 573 */,\n/* 574 */,\n/* 575 */,\n/* 576 */,\n/* 577 */,\n/* 578 */,\n/* 579 */,\n/* 580 */,\n/* 581 */,\n/* 582 */,\n/* 583 */,\n/* 584 */,\n/* 585 */,\n/* 586 */,\n/* 587 */,\n/* 588 */,\n/* 589 */,\n/* 590 */,\n/* 591 */,\n/* 592 */,\n/* 593 */,\n/* 594 */,\n/* 595 */,\n/* 596 */,\n/* 597 */,\n/* 598 */,\n/* 599 */,\n/* 600 */,\n/* 601 */,\n/* 602 */,\n/* 603 */,\n/* 604 */,\n/* 605 */,\n/* 606 */,\n/* 607 */,\n/* 608 */,\n/* 609 */,\n/* 610 */,\n/* 611 */,\n/* 612 */,\n/* 613 */,\n/* 614 */,\n/* 615 */,\n/* 616 */,\n/* 617 */,\n/* 618 */,\n/* 619 */,\n/* 620 */,\n/* 621 */,\n/* 622 */,\n/* 623 */,\n/* 624 */,\n/* 625 */,\n/* 626 */,\n/* 627 */,\n/* 628 */,\n/* 629 */,\n/* 630 */,\n/* 631 */,\n/* 632 */,\n/* 633 */,\n/* 634 */,\n/* 635 */,\n/* 636 */,\n/* 637 */,\n/* 638 */,\n/* 639 */,\n/* 640 */,\n/* 641 */,\n/* 642 */,\n/* 643 */,\n/* 644 */,\n/* 645 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _app = __webpack_require__(412);\n\nvar _app2 = _interopRequireDefault(_app);\n\nvar _fetch = __webpack_require__(847);\n\nvar _fetch2 = _interopRequireDefault(_fetch);\n\nvar _routes = __webpack_require__(852);\n\nvar _routes2 = _interopRequireDefault(_routes);\n\nvar _eventHandlerService = __webpack_require__(855);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nif (!window.fetch) {\n (0, _fetch2.default)(window);\n}\n\nif (/Gecko\\//g.test(navigator.userAgent)) {\n document.querySelector('body').classList.add('cartonomy-firefox');\n}\n\nif (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n document.querySelector('body').classList.add('cartonomy-safari');\n}\n\n(0, _eventHandlerService.initializeEventHandlerService)();\n\nangular.bootstrap(document, [_app2.default.name]);\n\n/***/ }),\n/* 646 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _AboutController = __webpack_require__(647);\n\nvar _AboutController2 = _interopRequireDefault(_AboutController);\n\nvar _module2 = __webpack_require__(648);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _routeConfig = __webpack_require__(649);\n\nvar _routeConfig2 = _interopRequireDefault(_routeConfig);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_module3.default.controller('Cartonomy.About.AboutController', _AboutController2.default);\n\n_module3.default.config(['$stateProvider', function ($stateProvider) {\n _routeConfig2.default.forEach(function (route) {\n $stateProvider.state(route);\n });\n}]);\n\nexports.default = _module3.default.name;\n\n/***/ }),\n/* 647 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar AboutController = function () {\n function AboutController(scope, stateService, cartonomyConfig) {\n _classCallCheck(this, AboutController);\n\n this._scope = scope;\n this._stateService = stateService;\n this._scope.versionNumber = cartonomyConfig.version;\n this._scope.buildTime = (0, _moment2.default)(cartonomyConfig.buildTime).utc().format('MM/DD/YYYY HH:mm:ss');\n this.cartonomyConfig = cartonomyConfig;\n }\n\n _createClass(AboutController, [{\n key: '$onInit',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var response;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return fetch(this.cartonomyConfig.ApiV2 + '/version');\n\n case 2:\n response = _context.sent;\n _context.next = 5;\n return response.json();\n\n case 5:\n this._scope.serverVersion = _context.sent;\n\n _scope2.default.apply(this._scope);\n\n case 7:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function $onInit() {\n return _ref.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }]);\n\n return AboutController;\n}();\n\nAboutController.$inject = ['$scope', '$state', 'cartonomyConfig'];\nexports.default = AboutController;\n\n/***/ }),\n/* 648 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _angular = __webpack_require__(22);\n\nvar _angular2 = _interopRequireDefault(_angular);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _angular2.default.module('Cartonomy.About', []);\n\n/***/ }),\n/* 649 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar routes = [{\n name: _CommonConstants2.default.RoutingStates.ABOUT,\n url: '/about',\n views: {\n contents: {\n template: __webpack_require__(650),\n controller: 'Cartonomy.About.AboutController'\n }\n }\n}];\n\nexports.default = routes;\n\n/***/ }),\n/* 650 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar jade = __webpack_require__(41);\n\nmodule.exports = function template(locals) {\nvar buf = [];\nvar jade_mixins = {};\nvar jade_interp;\n\nbuf.push(\"

{{'client.about.cartonomy' | translate}}

{{'client.about.version' | translate}}: {{ versionNumber }}

{{'client.about.build_date' | translate}}: {{ buildTime }}

{{'client.about.api_version' | translate}}: {{ serverVersion.version }}

{{'client.about.api_build_date' | translate}}: {{ serverVersion.buildTime }}

\");;return buf.join(\"\");\n}\n\n/***/ }),\n/* 651 */\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n/* 652 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _ExternalStoreHandler = __webpack_require__(414);\n\nvar _ExternalStoreHandler2 = _interopRequireDefault(_ExternalStoreHandler);\n\nvar _ApplicationController = __webpack_require__(656);\n\nvar _ApplicationController2 = _interopRequireDefault(_ApplicationController);\n\nvar _ConfirmTicketController = __webpack_require__(657);\n\nvar _ConfirmTicketController2 = _interopRequireDefault(_ConfirmTicketController);\n\nvar _ChangePasswordController = __webpack_require__(418);\n\nvar _ChangePasswordController2 = _interopRequireDefault(_ChangePasswordController);\n\nvar _LoginController = __webpack_require__(658);\n\nvar _LoginController2 = _interopRequireDefault(_LoginController);\n\nvar _LoginTicketController = __webpack_require__(659);\n\nvar _LoginTicketController2 = _interopRequireDefault(_LoginTicketController);\n\nvar _CategoryHeaderDirective = __webpack_require__(660);\n\nvar _CategoryHeaderDirective2 = _interopRequireDefault(_CategoryHeaderDirective);\n\nvar _FocusMeDirective = __webpack_require__(661);\n\nvar _FocusMeDirective2 = _interopRequireDefault(_FocusMeDirective);\n\nvar _FooterDirective = __webpack_require__(662);\n\nvar _FooterDirective2 = _interopRequireDefault(_FooterDirective);\n\nvar _HeaderDirective = __webpack_require__(664);\n\nvar _HeaderDirective2 = _interopRequireDefault(_HeaderDirective);\n\nvar _LoadingIndicatorDirective = __webpack_require__(666);\n\nvar _LoadingIndicatorDirective2 = _interopRequireDefault(_LoadingIndicatorDirective);\n\nvar _InputCompareToDirective = __webpack_require__(667);\n\nvar _InputCompareToDirective2 = _interopRequireDefault(_InputCompareToDirective);\n\nvar _InputElementErrorDirective = __webpack_require__(668);\n\nvar _InputElementErrorDirective2 = _interopRequireDefault(_InputElementErrorDirective);\n\nvar _InputFocusDirective = __webpack_require__(669);\n\nvar _InputFocusDirective2 = _interopRequireDefault(_InputFocusDirective);\n\nvar _PayPalPaymentForm = __webpack_require__(670);\n\nvar _PayPalPaymentForm2 = _interopRequireDefault(_PayPalPaymentForm);\n\nvar _SquareUpPaymentForm = __webpack_require__(671);\n\nvar _SquareUpPaymentForm2 = _interopRequireDefault(_SquareUpPaymentForm);\n\nvar _StickyPanelDirective = __webpack_require__(672);\n\nvar _StickyPanelDirective2 = _interopRequireDefault(_StickyPanelDirective);\n\nvar _WidthChangedHandlerDirective = __webpack_require__(673);\n\nvar _WidthChangedHandlerDirective2 = _interopRequireDefault(_WidthChangedHandlerDirective);\n\nvar _InviteLinkDirective = __webpack_require__(674);\n\nvar _InviteLinkDirective2 = _interopRequireDefault(_InviteLinkDirective);\n\nvar _AuthenticationService = __webpack_require__(677);\n\nvar _AuthenticationService2 = _interopRequireDefault(_AuthenticationService);\n\nvar _AuthInterceptorService = __webpack_require__(679);\n\nvar _AuthInterceptorService2 = _interopRequireDefault(_AuthInterceptorService);\n\nvar _CartService = __webpack_require__(680);\n\nvar _CartService2 = _interopRequireDefault(_CartService);\n\nvar _CheckoutService = __webpack_require__(681);\n\nvar _CheckoutService2 = _interopRequireDefault(_CheckoutService);\n\nvar _ConfigurationService = __webpack_require__(684);\n\nvar _ConfigurationService2 = _interopRequireDefault(_ConfigurationService);\n\nvar _ContactsService = __webpack_require__(685);\n\nvar _ContactsService2 = _interopRequireDefault(_ContactsService);\n\nvar _GroupOrderService = __webpack_require__(686);\n\nvar _GroupOrderService2 = _interopRequireDefault(_GroupOrderService);\n\nvar _MessageService = __webpack_require__(687);\n\nvar _MessageService2 = _interopRequireDefault(_MessageService);\n\nvar _OrderSetupService = __webpack_require__(690);\n\nvar _OrderSetupService2 = _interopRequireDefault(_OrderSetupService);\n\nvar _RealTimeUpdateService = __webpack_require__(694);\n\nvar _RealTimeUpdateService2 = _interopRequireDefault(_RealTimeUpdateService);\n\nvar _SessionService = __webpack_require__(695);\n\nvar _SessionService2 = _interopRequireDefault(_SessionService);\n\nvar _SessionStorageService = __webpack_require__(696);\n\nvar _SessionStorageService2 = _interopRequireDefault(_SessionStorageService);\n\nvar _storageService = __webpack_require__(698);\n\nvar _storageService2 = _interopRequireDefault(_storageService);\n\nvar _UserProfileService = __webpack_require__(699);\n\nvar _UserProfileService2 = _interopRequireDefault(_UserProfileService);\n\nvar _HeapService = __webpack_require__(700);\n\nvar _HeapService2 = _interopRequireDefault(_HeapService);\n\nvar _MoneyDirective = __webpack_require__(701);\n\nvar _MoneyDirective2 = _interopRequireDefault(_MoneyDirective);\n\nvar _markdownTranspileDirective = __webpack_require__(702);\n\nvar _markdownTranspileDirective2 = _interopRequireDefault(_markdownTranspileDirective);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _TextOnHoverDirective = __webpack_require__(768);\n\nvar _CartonomyLogoDirective = __webpack_require__(769);\n\nvar _CartonomyLogoDirective2 = _interopRequireDefault(_CartonomyLogoDirective);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_module3.default.controller('ApplicationController', _ApplicationController2.default);\n\n_module3.default.directive(_markdownTranspileDirective2.default.directiveName, _markdownTranspileDirective2.default);\n\n_module3.default.run(['$window', '$state', 'LocalForageService', '$rootScope', 'CartService', function (windowService, $state, localForageService, $rootScope, CartService) {\n windowService.onbeforeunload = function ($event) {\n\n var context = {\n preventReloadMessage: null,\n preventReload: false\n };\n\n $rootScope.$broadcast(_CommonConstants2.default.Events.ON_WINDOW_UNLOADING, context);\n\n if (context.preventReload) return context.preventReloadMessage;\n\n return;\n };\n}]);\n\n_module3.default.directive('textOnHover', _TextOnHoverDirective.textOnHover);\n\n_module3.default.filter('ellipsisText', [function () {\n return function (input, trimLength, trimHtml) {\n if (!trimLength) {\n trimLength = 20;\n }\n\n if (!input) return '';\n\n if (trimHtml) {\n input = input.replace(/<(?:.|\\n)*?>/gm, '');\n }\n\n var output = input.substr(0, trimLength);\n var s = output + (input.length > trimLength - 3 ? '...' : '');\n\n return s;\n };\n}]);\n\nexports.default = _module3.default.name;\n\n/***/ }),\n/* 653 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar xtend = __webpack_require__(654);\n\nmodule.exports = function (timeout) {\n return new Idle({ timeout: timeout });\n};\n\n// default settings\nvar defaults = {\n //start as soon as timer is set up\n start: true,\n // timer is enabled\n enabled: true,\n // amount of time before timer fires\n timeout: 30000,\n // what element to attach to\n element: document,\n // activity is one of these events\n events: 'mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove'\n};\n\nvar Idle = function Idle(opt) {\n var self = this;\n\n self.opt = xtend(defaults, opt);\n self.element = self.opt.element;\n\n self.state = {\n idle: self.opt.idle,\n timeout: self.opt.timeout,\n enabled: self.opt.enabled,\n idle_fn: [],\n active_fn: []\n };\n\n // wrapper to pass state to toggleState\n self.state.state_fn = function () {\n toggleState(self.state);\n };\n\n if (self.opt.start) {\n self.start();\n }\n};\n\nvar proto = Idle.prototype;\n\nproto.start = function () {\n var self = this;\n var state = self.state;\n var element = self.element;\n\n function handler(ev) {\n // clear any current timouet\n clearTimeout(state.timer_id);\n\n if (!state.enabled) {\n return;\n }\n\n if (state.idle) {\n toggleState(state);\n }\n\n state.timer_id = setTimeout(state.state_fn, state.timeout);\n }\n\n // to remove later\n state.handler = handler;\n\n var events = this.opt.events.split(' ');\n for (var i = 0; i < events.length; ++i) {\n var event = events[i];\n attach(element, event, handler);\n }\n\n state.timer_id = setTimeout(self.state.state_fn, state.timeout);\n};\n\n// 'idle' | 'active'\nproto.on = function (what, fn) {\n\n var self = this;\n var state = self.state;\n\n if (what === 'idle') {\n state.idle_fn.push(fn);\n } else {\n state.active_fn.push(fn);\n }\n};\n\nproto.getElapsed = function () {\n return +new Date() - this.state.olddate;\n};\n\n// Stops the idle timer. This removes appropriate event handlers\n// and cancels any pending timeouts.\nproto.stop = function () {\n var self = this;\n var state = this.state;\n var element = self.element;\n\n state.enabled = false;\n\n //clear any pending timeouts\n clearTimeout(state.timer_id);\n\n // detach handlers\n var events = this.opt.events.split(' ');\n for (var i = 0; i < events.length; ++i) {\n var event = events[i];\n detach(element, event, state.handler);\n }\n};\n\n/// private api\n\n// Toggles the idle state and fires an appropriate event.\n// borrowed from jquery-idletimer (see readme for link)\nfunction toggleState(state) {\n // toggle the state\n state.idle = !state.idle;\n\n // reset timeout\n var elapsed = +new Date() - state.olddate;\n state.olddate = +new Date();\n\n // handle Chrome always triggering idle after js alert or comfirm popup\n if (state.idle && elapsed < state.timeout) {\n state.idle = false;\n clearTimeout(state.timer_id);\n if (state.enabled) {\n state.timer_id = setTimeout(state.state_fn, state.timeout);\n }\n return;\n }\n\n // fire event\n var event = state.idle ? 'idle' : 'active';\n\n var fns = event === 'idle' ? state.idle_fn : state.active_fn;\n for (var i = 0; i < fns.length; ++i) {\n fns[i]();\n }\n}\n\n// TODO (shtylman) detect at startup to avoid if during runtime?\nvar attach = function attach(element, event, fn) {\n if (element.addEventListener) {\n element.addEventListener(event, fn, false);\n } else if (element.attachEvent) {\n element.attachEvent('on' + event, fn);\n }\n};\n\nvar detach = function detach(element, event, fn) {\n if (element.removeEventListener) {\n element.removeEventListener(event, fn, false);\n } else if (element.detachEvent) {\n element.detachEvent('on' + event, fn);\n }\n};\n\n/***/ }),\n/* 654 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar Keys = Object.keys || objectKeys;\n\nmodule.exports = extend;\n\nfunction extend() {\n var target = {};\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i];\n\n if (!isObject(source)) {\n continue;\n }\n\n var keys = Keys(source);\n\n for (var j = 0; j < keys.length; j++) {\n var name = keys[j];\n target[name] = source[name];\n }\n }\n\n return target;\n}\n\nfunction objectKeys(obj) {\n var keys = [];\n for (var k in obj) {\n keys.push(k);\n }\n return keys;\n}\n\nfunction isObject(obj) {\n return obj !== null && (typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\";\n}\n\n/***/ }),\n/* 655 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (root, factory) {\n\n /* istanbul ignore next */\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.translate = factory();\n }\n})(undefined, function () {\n\n function each(storage, callback) {\n for (var key in storage) {\n storage.hasOwnProperty(key) && callback(key, storage[key]);\n }\n }\n\n function createRegistry() {\n\n var registry = {};\n var currentLocale = 'en';\n var interpolateRE = /{{\\s*(\\w+)\\s*}}/g;\n var pluralizationRules = {\n en: {\n pluralizeTo: 'count',\n getVariationIndex: function getVariationIndex(count) {\n return 1 === count ? 0 : 1;\n }\n }\n };\n\n function translate(key, templateData, options) {\n\n options = options || {};\n\n var locale = options.locale || currentLocale;\n var store = options.registry || registry;\n var translation = store[locale] && store[locale][key];\n\n if (typeof translation === 'undefined') {\n return translate.whenUndefined(key, locale);\n } else if (Array.isArray(translation)) {\n return translatePlural(key, translation, templateData, locale, options.pluralizeTo);\n } else {\n return interpolate(translation, templateData);\n }\n }\n\n function translatePlural(key, variations, data, locale, pluralizeTo) {\n\n var rule = pluralizationRules[locale];\n var dataKeys = Object.keys(data);\n var pluralizeKey = dataKeys.length === 1 ? dataKeys[0] : pluralizeTo || rule.pluralizeTo;\n var count = parseFloat(data[pluralizeKey]);\n\n if (isNaN(count)) {\n throw new Error('Tranlation pluralization missing parameters on key \"' + key + '\"');\n } else {\n return interpolate(variations[rule.getVariationIndex(count)], data);\n }\n }\n\n function interpolate(translationString, data) {\n\n return data ? translationString.replace(interpolateRE, function (match, param) {\n return data.hasOwnProperty(param) ? data[param] : match;\n }) : translationString;\n }\n\n translate.add = function (items, locale, prefix) {\n\n locale = locale || currentLocale;\n registry[locale] = registry[locale] || {};\n\n each(items, function (key, value) {\n\n var registryKey = prefix ? prefix + '.' + key : key;\n var valueType = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\n if (Array.isArray(value) || valueType === 'string' || valueType === 'number') {\n registry[locale][registryKey] = value;\n } else {\n translate.add(value, locale, registryKey);\n }\n });\n\n return this;\n };\n\n translate.setLocale = function (locale) {\n\n currentLocale = locale;\n return this;\n };\n\n translate.getLocale = function () {\n\n return currentLocale;\n };\n\n translate.interpolateWith = function (userRE) {\n\n interpolateRE = userRE;\n return this;\n };\n\n translate.setPluralizationRule = function (locale, rule, options) {\n\n pluralizationRules[locale] = {\n pluralizeTo: options && options.pluralizeTo || 'count',\n getVariationIndex: rule\n };\n return this;\n };\n\n translate.whenUndefined = function (key, locale) {\n\n return key;\n };\n\n translate.clear = function () {\n\n registry = {};\n return this;\n };\n\n translate.createRegistry = function () {\n\n return createRegistry();\n };\n\n return translate;\n }\n\n return createRegistry();\n});\n\n/***/ }),\n/* 656 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ApplicationController;\n\nvar _ExternalStoreHandler = __webpack_require__(414);\n\nvar _ExternalStoreHandler2 = _interopRequireDefault(_ExternalStoreHandler);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _communicationService = __webpack_require__(28);\n\nvar _commandKeys = __webpack_require__(27);\n\nvar _utils = __webpack_require__(29);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar cartonomyLogo = __webpack_require__(417);\n\nApplicationController.$inject = ['$scope', '$rootScope', '$timeout', 'cartonomyConfig', '$state', 'AuthenticationService', 'Session', 'ConfigurationService', 'CartService', 'UserProfile', 'OrderSetupService', 'Message', 'GroupOrder', 'RealTimeUpdateService', 'HeapService', 'LocalForageService', '$translate'];\n\nfunction ApplicationController($scope, rootScope, timeout, cartonomyConfig, $state, authenticationService, sessionService, configurationService, cartService, userProfileService, orderSetupService, messageService, groupOrderService, RealTimeUpdateService, HeapService, localForageService, $translate) {\n var _this = this;\n\n var updateProperties = function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n var getUserFromCache = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var setDefaultProfile, user;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n setDefaultProfile = function setDefaultProfile() {\n\n $scope.profile = {\n name: '',\n welcome: 'Login',\n email: '',\n emails: '',\n addresses: '',\n avatar: ''\n };\n };\n\n _context6.next = 3;\n return sessionService.loggedIn();\n\n case 3:\n $scope.isGuest = !_context6.sent;\n _context6.next = 6;\n return sessionService.loggedIn();\n\n case 6:\n if (_context6.sent) {\n _context6.next = 9;\n break;\n }\n\n setDefaultProfile();\n return _context6.abrupt('return');\n\n case 9:\n _context6.prev = 9;\n _context6.next = 12;\n return userProfileService.getUser(getUserFromCache);\n\n case 12:\n user = _context6.sent;\n _context6.t0 = user.fullName;\n _context6.t1 = user.firstName;\n _context6.t2 = user.lastName;\n _context6.t3 = $translate.instant('client.user.welcome', { firstName: user.firstName });\n _context6.next = 19;\n return sessionService.isInvite();\n\n case 19:\n _context6.t4 = _context6.sent;\n _context6.t5 = user.email;\n _context6.t6 = _.sortBy(user.userEmails, ['main', 'email']);\n _context6.t7 = user.addresses;\n _context6.t8 = user.avatarSrc || _CommonConstants2.default.DEFAULT_AVATAR_URL;\n _context6.t9 = user.avatarCropped;\n _context6.t10 = user.linkOAuthOnly;\n _context6.t11 = user.linkedOAuth;\n $scope.profile = {\n name: _context6.t0,\n firstName: _context6.t1,\n lastName: _context6.t2,\n welcome: _context6.t3,\n isInvite: _context6.t4,\n email: _context6.t5,\n emails: _context6.t6,\n addresses: _context6.t7,\n avatar: _context6.t8,\n avatarCropped: _context6.t9,\n linkOAuthOnly: _context6.t10,\n linkedOAuth: _context6.t11\n };\n\n if ($scope.profile.isInvite) {\n $scope.profile.welcome += '. ' + $translate.instant('client.user.signup_here') + '.';\n }\n\n if (!$scope.$root.$$phase) {\n $scope.$apply();\n }\n _context6.next = 35;\n break;\n\n case 32:\n _context6.prev = 32;\n _context6.t12 = _context6['catch'](9);\n\n setDefaultProfile();\n\n case 35:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this, [[9, 32]]);\n }));\n\n return function updateProperties() {\n return _ref6.apply(this, arguments);\n };\n }();\n\n var setOrderProperties = function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n var properties;\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return cartService.getCartProperties();\n\n case 2:\n properties = _context7.sent;\n\n $scope.groupOrderCreated = properties.isGroupOrder;\n $scope.groupOrderTitle = properties.title;\n $scope.singlePayGroupOrder = properties.singlePay;\n $scope.groupOrderOwner = properties.isOwner;\n _scope2.default.apply($scope);\n\n case 8:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n return function setOrderProperties() {\n return _ref7.apply(this, arguments);\n };\n }();\n\n var setCartProperties = function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n var getUserFromCache = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var cart, lastLeftCart, lastCartStatusResult;\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n updateProperties(getUserFromCache);\n setOrderProperties();\n\n if (oldCart) {\n _context8.next = 7;\n break;\n }\n\n _context8.next = 5;\n return cartService.getCart();\n\n case 5:\n oldCart = _context8.sent;\n return _context8.abrupt('return');\n\n case 7:\n _context8.next = 9;\n return cartService.getCart();\n\n case 9:\n cart = _context8.sent;\n lastLeftCart = cartService.getLastLeftCart();\n _context8.next = 13;\n return cartService.getUserLastCart();\n\n case 13:\n lastCartStatusResult = _context8.sent;\n\n if (!_.isEqual(_lastCartResult, lastCartStatusResult)) {\n _context8.next = 16;\n break;\n }\n\n return _context8.abrupt('return');\n\n case 16:\n if (!(lastCartStatusResult.status === 'CANCELLED' || lastCartStatusResult.status === 'ORDER_PLACED' && isExternalRetailer())) {\n _context8.next = 18;\n break;\n }\n\n return _context8.abrupt('return');\n\n case 18:\n if (!(lastCartStatusResult && lastCartStatusResult.message)) {\n _context8.next = 22;\n break;\n }\n\n _lastCartResult = lastCartStatusResult;\n _context8.next = 22;\n return messageService.showMessagePopup(lastCartStatusResult.message);\n\n case 22:\n\n oldCart = cart;\n\n case 23:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n return function setCartProperties() {\n return _ref8.apply(this, arguments);\n };\n }();\n\n var userLoggedOut = function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n $scope.hideMessage();\n setCartProperties(false);\n rootScope.isLoggedin = false;\n\n case 3:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n return function userLoggedOut() {\n return _ref9.apply(this, arguments);\n };\n }();\n\n var connectRealtimeUpdate = function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n $scope.hideMessage();\n RealTimeUpdateService.ensureConnected();\n\n case 2:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n return function connectRealtimeUpdate() {\n return _ref10.apply(this, arguments);\n };\n }();\n\n var checkAndConnectRealtimeUpdateIfNeeded = function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {\n var isGroupOrder;\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n _context11.next = 2;\n return checkAndShowSafariWarning();\n\n case 2:\n _context11.next = 4;\n return cartService.isGroupOrder();\n\n case 4:\n isGroupOrder = _context11.sent;\n\n if (isGroupOrder) {\n RealTimeUpdateService.ensureConnected();\n }\n rootScope.isLoggedin = true;\n\n case 7:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n return function checkAndConnectRealtimeUpdateIfNeeded() {\n return _ref11.apply(this, arguments);\n };\n }();\n\n var checkAndShowSafariWarning = function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {\n var user;\n return regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n _context12.next = 2;\n return userProfileService.getUser();\n\n case 2:\n user = _context12.sent;\n\n\n rootScope.isStoreAdmin = user.userType === _CommonConstants2.default.UserTypes.StoreAdmin || user.isUserAdmin;\n\n if (!(!rootScope.isSafari() || rootScope.safariWarningShowed)) {\n _context12.next = 6;\n break;\n }\n\n return _context12.abrupt('return');\n\n case 6:\n\n if (user.showMacSafariMessage) {\n rootScope.displaySafariWarning();\n }\n\n case 7:\n case 'end':\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n return function checkAndShowSafariWarning() {\n return _ref12.apply(this, arguments);\n };\n }();\n\n rootScope.cartonomyLogoSvg = cartonomyLogo;\n\n // Load retailer styles\n var defaultStylesLink = document.createElement(\"link\");\n defaultStylesLink.type = \"text/css\";\n defaultStylesLink.rel = \"stylesheet\";\n defaultStylesLink.href = cartonomyConfig.backendEndPoint + '/api/styles/defaultStyle' + window.location.search;\n document.head.appendChild(defaultStylesLink);\n\n var retailerStylesLink = document.createElement(\"link\");\n retailerStylesLink.type = \"text/css\";\n retailerStylesLink.rel = \"stylesheet\";\n retailerStylesLink.href = cartonomyConfig.backendEndPoint + '/api/styles/shopify' + window.location.search;\n document.head.appendChild(retailerStylesLink);\n\n // check if window is inside frame\n var isInIframe = window.self !== window.top;\n\n if (!isInIframe) {\n $scope.noError = true;\n if (!cartonomyConfig.externalStoreMode) {\n messageService.showErrorPopup('There has been an application error. Please return to your Shopify store.');\n return;\n }\n var url = window.location.protocol + '//' + cartonomyConfig.externalStoreUrl + '/' + window.location.hash;\n window.location.href = url;\n return;\n }\n\n $scope.siteName = '';\n $scope.logoImage = '';\n $scope.retailer = null;\n var _lastCartResult = null;\n var oldCart = void 0;\n\n $scope.isExternalRetailer = function () {\n return isExternalRetailer();\n };\n\n rootScope.isExternalRetailer = function () {\n return isExternalRetailer();\n };\n\n localForageService.retrieve(_CommonConstants2.default.SessionStorage.SAFARI_WARNING_SHOWED).then(function (safariWarning) {\n rootScope.safariWarningShowed = safariWarning || false;\n });\n\n rootScope.isMobile = function () {\n return (/ios|iphone|android/gi.test(navigator.userAgent)\n );\n };\n rootScope.isSafari = function () {\n return (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)\n );\n };\n\n rootScope.displaySafariWarning = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n rootScope.safariWarningIsShowing = true;\n _context.next = 3;\n return messageService.showMessagePopup($translate.instant('client.safari_warning'));\n\n case 3:\n rootScope.safariWarningIsShowing = false;\n rootScope.safariWarningShowed = true;\n _context.next = 7;\n return localForageService.store(_CommonConstants2.default.SessionStorage.SAFARI_WARNING_SHOWED, true);\n\n case 7:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n $scope.isCartOwner = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return cartService.isCartOwner();\n\n case 2:\n return _context2.abrupt('return', _context2.sent);\n\n case 3:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this);\n }));\n sessionService.loggedIn().then(function (loggedIn) {\n rootScope.isLoggedin = loggedIn;\n });\n\n $scope.currentState = function () {\n return $state.current.name.replace(/\\./g, '-');\n };\n\n $scope.onCartBagClicked = function () {\n if (isExternalRetailer()) {\n if ($scope.isCart()) {\n rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.CART_PAGE_REQUESTED);\n } else {\n $scope.showPopupBag();\n $state.go(_CommonConstants2.default.RoutingStates.CART);\n }\n } else {\n $scope.showPopupBag();\n }\n };\n\n $scope.showPopupBag = function () {\n $scope.$broadcast(_CommonConstants2.default.BroadcastMessages.TOGGLE_POPUP_BAG);\n };\n\n $scope.showCatalog = function () {\n $scope.$broadcast(_CommonConstants2.default.BroadcastMessages.HIDE_POPUP_BAG);\n $state.go(_CommonConstants2.default.RoutingStates.CATALOG);\n };\n\n $scope.showSplashScreen = function () {\n $scope.$broadcast(_CommonConstants2.default.BroadcastMessages.HIDE_POPUP_BAG);\n $scope.$broadcast(_CommonConstants2.default.Events.OPEN_SPLASH_SCREEN);\n };\n\n $scope.showChat = function () {\n $scope.$broadcast(_CommonConstants2.default.BroadcastMessages.HIDE_POPUP_BAG);\n $state.go(_CommonConstants2.default.RoutingStates.CHAT);\n };\n\n $scope.showVersionPage = function () {\n $scope.$broadcast(_CommonConstants2.default.BroadcastMessages.HIDE_POPUP_BAG);\n $state.go(_CommonConstants2.default.RoutingStates.ABOUT);\n };\n\n $scope.showAccount = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n $scope.$broadcast(_CommonConstants2.default.BroadcastMessages.HIDE_POPUP_BAG);\n\n _context3.next = 3;\n return sessionService.isInvite();\n\n case 3:\n if (!_context3.sent) {\n _context3.next = 10;\n break;\n }\n\n _context3.t0 = authenticationService;\n _context3.next = 7;\n return sessionService.getUserEmail();\n\n case 7:\n _context3.t1 = _context3.sent;\n\n _context3.t0.showSignupDialog.call(_context3.t0, _context3.t1);\n\n return _context3.abrupt('return');\n\n case 10:\n _context3.next = 12;\n return sessionService.loggedIn();\n\n case 12:\n _context3.t2 = !_context3.sent;\n\n if (_context3.t2) {\n _context3.next = 17;\n break;\n }\n\n _context3.next = 16;\n return sessionService.isInvite();\n\n case 16:\n _context3.t2 = _context3.sent;\n\n case 17:\n if (!_context3.t2) {\n _context3.next = 21;\n break;\n }\n\n _context3.next = 20;\n return authenticationService.showLoginDialog();\n\n case 20:\n return _context3.abrupt('return');\n\n case 21:\n _context3.next = 23;\n return authenticationService.ensureLoggedIn();\n\n case 23:\n $state.go(_CommonConstants2.default.RoutingStates.USER_PROFILE);\n\n case 24:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, _this);\n }));\n\n $scope.showInvitedPeople = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n $scope.$broadcast(_CommonConstants2.default.BroadcastMessages.HIDE_POPUP_BAG);\n\n _context4.next = 3;\n return sessionService.isInvite();\n\n case 3:\n if (!_context4.sent) {\n _context4.next = 10;\n break;\n }\n\n _context4.t0 = authenticationService;\n _context4.next = 7;\n return sessionService.getUserEmail();\n\n case 7:\n _context4.t1 = _context4.sent;\n\n _context4.t0.showSignupDialog.call(_context4.t0, _context4.t1);\n\n return _context4.abrupt('return');\n\n case 10:\n _context4.next = 12;\n return sessionService.loggedIn();\n\n case 12:\n _context4.t2 = !_context4.sent;\n\n if (_context4.t2) {\n _context4.next = 17;\n break;\n }\n\n _context4.next = 16;\n return sessionService.isInvite();\n\n case 16:\n _context4.t2 = _context4.sent;\n\n case 17:\n if (!_context4.t2) {\n _context4.next = 21;\n break;\n }\n\n _context4.next = 20;\n return authenticationService.showLoginDialog();\n\n case 20:\n return _context4.abrupt('return');\n\n case 21:\n _context4.next = 23;\n return authenticationService.ensureLoggedIn();\n\n case 23:\n $state.go(_CommonConstants2.default.RoutingStates.INVITED_PEOPLE);\n\n case 24:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, _this);\n }));\n\n $scope.isCatalog = function () {\n return $state.is(_CommonConstants2.default.RoutingStates.CATALOG);\n };\n\n $scope.isCart = function () {\n return $state.is(_CommonConstants2.default.RoutingStates.CART) || !($scope.groupOrderCreated || $scope.isProfile());\n };\n\n $scope.isInvitePeople = function () {\n return $state.is(_CommonConstants2.default.RoutingStates.INVITED_PEOPLE);\n };\n\n $scope.isProfile = function () {\n return $state.is(_CommonConstants2.default.RoutingStates.USER_PROFILE);\n };\n\n $scope.isChat = function () {\n return $state.is(_CommonConstants2.default.RoutingStates.CHAT);\n };\n\n $scope.isCheckout = function () {\n return $state.is(_CommonConstants2.default.RoutingStates.CHECKOUT);\n };\n\n $scope.isShowTabButton = function () {\n return $scope.groupOrderCreated && !$scope.isCheckout() && !$scope.isDialogOpened && !$scope.isOrderFreezed;\n };\n\n $scope.isCatalogVisible = function () {\n return !isExternalRetailer() && !$scope.isCheckout();\n };\n\n $scope.isInvitedPeopleAvailable = function () {\n return $scope.groupOrderCreated && !$scope.isCheckout();\n };\n\n $scope.isProfileVisible = function () {\n return rootScope.isLoggedin && !$scope.isCheckout() && !$scope.isShowBackButton;\n };\n\n $scope.isCartVisible = function () {\n return rootScope.isLoggedin && !($scope.isDialogOpened && $scope.groupOrderCreated);\n };\n\n $scope.isChatVisible = function () {\n return $scope.groupOrderCreated && !$scope.isCheckout();\n };\n\n $scope.isCreateOrderVisible = function () {\n return !$scope.groupOrderCreated && !$scope.isCheckout();\n };\n\n $scope.isEditOrderVisible = function () {\n return $scope.groupOrderCreated && $scope.groupOrderOwner && !$scope.isCheckout();\n };\n\n $scope.createGroupOrder = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n var result;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return orderSetupService.createOrder();\n\n case 2:\n result = _context5.sent;\n\n if (!result || !result.stateToGo) $state.go(cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CHAT : _CommonConstants2.default.RoutingStates.CATALOG);else $state.go(result.stateToGo);\n\n case 4:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, _this);\n }));\n\n $scope.editGroupOrder = function () {\n orderSetupService.editOrder(_CommonConstants2.default.OrderSetupTabs.DELIVERY_ADDRESS);\n };\n\n $scope.back = function () {\n rootScope.$broadcast(_CommonConstants2.default.Events.BACK_BUTTON_CLICKED);\n };\n\n $scope.hideMessage = function () {\n if (rootScope.headerMessage) {\n rootScope.headerMessage.resolve(true);\n rootScope.headerMessage = null;\n }\n };\n //CW-2252: improve load experience\n $scope.loading = null;\n\n $scope.isShowBackButton = false;\n $scope.isDialogOpened = false;\n\n\n function isExternalRetailer() {\n return cartonomyConfig.externalStoreMode;\n }\n\n function dialogOpened($event, showBackButton) {\n $scope.isShowBackButton = showBackButton;\n $scope.isDialogOpened = true;\n }\n\n function dialogClosed() {\n $scope.isShowBackButton = false;\n $scope.isDialogOpened = false;\n rootScope.storeWindowTitle = $state.current.windowTitle || '';\n }\n\n rootScope.$on(_CommonConstants2.default.RootEvents.CART_CHANGED, function () {\n return setCartProperties();\n });\n rootScope.$on(_CommonConstants2.default.RootEvents.USER_PROFILE_UPDATED, function () {\n return setCartProperties(false);\n });\n rootScope.$on(_CommonConstants2.default.Events.USER_LOGGED_OUT, function () {\n return userLoggedOut();\n });\n\n rootScope.$on(_CommonConstants2.default.Events.ORDER_CANCELLED, function () {\n return cancelRealtimeUpdate();\n });\n rootScope.$on(_CommonConstants2.default.Events.ORDER_CANCELLED_BY_OWNER, function () {\n return cancelRealtimeUpdate();\n });\n rootScope.$on(_CommonConstants2.default.Events.ORDER_CHECKED_OUT, function () {\n return cancelRealtimeUpdate();\n });\n rootScope.$on(_CommonConstants2.default.Events.LEFT_ORDER, function () {\n return cancelRealtimeUpdate();\n });\n\n rootScope.$on(_CommonConstants2.default.Events.ORDER_CREATED, function () {\n return connectRealtimeUpdate();\n });\n rootScope.$on(_CommonConstants2.default.Events.INVITATION_ACCEPTED, function () {\n return connectRealtimeUpdate();\n });\n rootScope.$on(_CommonConstants2.default.Events.DIALOG_OPENED, function ($event, showBackButton) {\n return dialogOpened($event, showBackButton);\n });\n rootScope.$on(_CommonConstants2.default.Events.DIALOG_CLOSED, function () {\n return dialogClosed();\n });\n rootScope.$on('$stateChangeStart', function (event, toState) {\n rootScope.storeWindowTitle = toState.windowTitle || '';\n });\n\n function cancelRealtimeUpdate() {\n $scope.hideMessage();\n RealTimeUpdateService.disconnect(true);\n RealTimeUpdateService.reset();\n }\n\n this.$onInit = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13() {\n var retailer, isGroupOrder, result;\n return regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n _context13.next = 2;\n return messageService.showLoadingWhiteBackground();\n\n case 2:\n $scope.loading = _context13.sent;\n\n\n HeapService.identify(sessionService.getAuthToken());\n\n _context13.next = 6;\n return configurationService.getItem('retailer');\n\n case 6:\n retailer = _context13.sent;\n\n if (!(retailer.status !== 'Available')) {\n _context13.next = 11;\n break;\n }\n\n HeapService.track('CartonomyNotAvailable', { retailer: retailer });\n window.parent.postMessage({\n disableCartonomy: true\n }, '*');\n return _context13.abrupt('return');\n\n case 11:\n $scope.siteName = retailer.name;\n $scope.logoImage = retailer.retailerImg;\n $scope.retailer = retailer;\n rootScope.retailer = retailer;\n\n if (!cartonomyConfig.externalStoreMode) {\n _context13.next = 19;\n break;\n }\n\n $scope.externalStoreHandler = new _ExternalStoreHandler2.default($scope, rootScope, timeout, authenticationService, sessionService, cartService, groupOrderService, orderSetupService, $state, messageService, localForageService, HeapService, $translate);\n\n _context13.next = 19;\n return $scope.externalStoreHandler.initialize();\n\n case 19:\n _context13.next = 21;\n return updateProperties(true);\n\n case 21:\n _context13.next = 23;\n return setCartProperties();\n\n case 23:\n _context13.next = 25;\n return cartService.isGroupOrder();\n\n case 25:\n isGroupOrder = _context13.sent;\n _context13.next = 28;\n return sessionService.loggedIn();\n\n case 28:\n if (!_context13.sent) {\n _context13.next = 34;\n break;\n }\n\n _context13.next = 31;\n return checkAndShowSafariWarning();\n\n case 31:\n if (!isGroupOrder) {\n _context13.next = 34;\n break;\n }\n\n _context13.next = 34;\n return connectRealtimeUpdate();\n\n case 34:\n\n rootScope.$on(_CommonConstants2.default.Events.USER_LOGGED_IN, function (scope) {\n return checkAndConnectRealtimeUpdateIfNeeded();\n });\n if ($scope.loading) {\n //CW-2252: improve load experience\n $scope.loading.close();\n $scope.loading = null;\n }\n\n _context13.next = 38;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.moneyFormatChange);\n\n case 38:\n result = _context13.sent;\n\n rootScope.moneyFormat = result.moneyFormat;\n _utils.utils.moneyFormat = result.moneyFormat;\n rootScope.formatAmount = function (amount) {\n if (!amount) {\n return '';\n }\n return rootScope.moneyFormat.replace('{{amount}}', amount.toFixed(2));\n };\n\n case 42:\n case 'end':\n return _context13.stop();\n }\n }\n }, _callee13, _this);\n }));\n}\n\n/***/ }),\n/* 657 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _communicationService = __webpack_require__(28);\n\nvar _commandKeys = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ConfirmTicketController = function () {\n function ConfirmTicketController($scope, $stateParams, authenticationService, $state, messageService, sessionStorageService, $rootScope) {\n var _this = this;\n\n _classCallCheck(this, ConfirmTicketController);\n\n this._messageService = messageService;\n $scope.validated = false;\n $scope.success = true;\n $scope.inProgress = false;\n $scope.password = '';\n $scope.confirmPassword = '';\n $scope.errorMessage = '';\n this._rootScope = $rootScope;\n this._scope = $scope;\n this._sessionStorageService = sessionStorageService;\n $scope.continue = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this._sessionStorageService.clear(_CommonConstants2.default.SessionStorage.LAST_STATE_NAME);\n $state.go(_CommonConstants2.default.RoutingStates.CART);\n\n case 2:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n $scope.sendRequest = function (form) {\n if (!form.$valid) {\n form.highlightAllErrors();\n return;\n }\n\n $scope.inProgress = true;\n $scope.errorMessage = '';\n\n authenticationService.validatePasswordTicket($stateParams.ticket, $scope.password).then(function (response) {\n $scope.inProgress = false;\n $scope.success = response.success;\n $scope.validated = $scope.success;\n $scope.errorMessage = response.errorMessage;\n _this._scope.$apply();\n }).then(function () {\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.removeHashKey, {});\n }).catch(function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(error) {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n $scope.inProgress = false;\n $scope.validated = false;\n $scope.success = false;\n _this._messageService.showErrorPopupForResponse(error);\n _this._scope.$apply();\n _this._sessionStorageService.clear(_CommonConstants2.default.SessionStorage.LAST_STATE_NAME);\n _context2.next = 8;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.removeHashKey, {});\n\n case 8:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n };\n }\n\n _createClass(ConfirmTicketController, [{\n key: '$onInit',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n this._rootScope.storeWindowTitle = 'client.user.reset_password';\n try {\n window.parent.postMessage({\n toggleWindowState: true,\n toggleWindowTrigger: 'titleBar'\n }, '*');\n } catch (error) {\n console.log(error);\n }\n\n case 2:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function $onInit() {\n return _ref3.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }]);\n\n return ConfirmTicketController;\n}();\n\nConfirmTicketController.$inject = ['$scope', '$stateParams', 'AuthenticationService', '$state', 'Message', 'SessionStorage', '$rootScope'];\n\n\n_module3.default.controller('Cartonomy.Shared.ConfirmTicketController', ConfirmTicketController);\n\n/***/ }),\n/* 658 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LoginController = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _utils = __webpack_require__(29);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar pages = [{\n id: 'login',\n fileName: 'loginPage',\n isShowBackButton: false,\n title: 'Sign In'\n}, {\n id: 'presignup',\n fileName: 'preSignupPage',\n isShowBackButton: false,\n title: 'Sign Up'\n}, {\n id: 'signup',\n fileName: 'signupPage',\n isShowBackButton: true,\n prevPage: 'presignup',\n title: 'Sign Up with Email'\n}, {\n id: 'forgot',\n fileName: 'forgotPasswordPage',\n isShowBackButton: false,\n title: 'Forgot Password'\n}, {\n id: 'message',\n fileName: 'messagePage',\n isShowBackButton: false,\n title: 'Message'\n}, {\n id: 'facade',\n fileName: 'loginFacadePage',\n isShowBackButton: false,\n title: 'Group Order'\n}, {\n id: 'inviteFacade',\n fileName: 'inviteFacadePage',\n isShowBackButton: false,\n title: 'Join Group Order'\n}];\n\nvar LoginController = exports.LoginController = function () {\n function LoginController(scope, rootScope, stateService, cartonomyConfig, localForageService, dialogService, authenticationService, email, cartService, currentPage, createOrderFlow, $http, MessageService, SessionService, UserProfileService, invitedCart, $translate) {\n var _this = this;\n\n _classCallCheck(this, LoginController);\n\n this._scope = scope;\n this._cartService = cartService;\n this._dialogService = dialogService;\n this._authenticationService = authenticationService;\n this._scope.emailPattern = _CommonConstants2.default.EMAIL_REGEX;\n this._rootScope = rootScope;\n this.dialogMode = !!dialogService;\n this._cartonomyConfig = cartonomyConfig;\n this._currentPage = currentPage;\n this._stateService = stateService;\n //this._sessionStorageService = SessionStorage;\n this._localForageService = localForageService;\n this._messageService = MessageService;\n this._sessionService = SessionService;\n this._userProfileService = UserProfileService;\n this._invitedCart = invitedCart;\n this.$translate = $translate;\n\n scope.isExternalStore = function () {\n return _this._cartonomyConfig.externalStoreMode;\n };\n scope.openIds = this._authenticationService.getOpenIdProviders();\n\n scope.$on(_CommonConstants2.default.Events.VERSION_PAGE_REQUESTED, function () {\n dialogService.cancel();\n });\n\n if (rootScope.retailer) {\n scope.customLoginText = rootScope.retailer.customLoginText;\n }\n\n this._pages = pages.map(function (page) {\n page.template = 'modules/shared/views/' + page.fileName + '.html';\n $http.get(page.template);\n return page;\n });\n\n // onboarding\n scope.onboarding = {\n steps: 5,\n currentStep: 0\n };\n\n scope.onboardingNextStep = function () {\n scope.onboarding.currentStep++;\n };\n\n scope.onboardingPreviousStep = function () {\n scope.onboarding.currentStep--;\n };\n\n scope.goToOnboardingStep = function (step) {\n scope.onboarding.currentStep = step;\n };\n\n scope.pageVersion = 0;\n scope.inProgress = false;\n scope.requestSent = false;\n scope.createOrderFlow = createOrderFlow;\n\n scope.credentials = {\n email: email,\n password: ''\n };\n\n scope.presignup = {\n email: email\n };\n\n scope.signup = {\n email: email,\n password: '',\n firstName: '',\n lastName: '',\n fullName: '',\n confirmPassword: ''\n };\n\n scope.message = '';\n scope.resetLocalCart = false;\n scope.loggingInWithOpenId = false;\n\n // scope.setCurrentPage = _.debounce(id => this._setCurrentPage(id), 300);\n scope.setCurrentPage = function (id) {\n return _this._setCurrentPage(id);\n };\n\n scope.cancel = function () {\n if (scope.isExternalStore()) {\n _this._rootScope.toggleWindowState();\n } else {\n dialogService.cancel({\n cancel: true\n });\n }\n };\n\n scope.loginOpenId = function (provider) {\n scope.loggingInWithOpenId = true;\n var externalLogin = authenticationService.externalLogin(provider);\n window.open('' + externalLogin, 'social_login_facebook');\n };\n\n scope.setForgotPage = function () {\n _this._setCurrentPage('forgot');\n scope.requestSent = false;\n scope.inProgress = false;\n };\n\n this._continueState = '';\n\n scope.messageContinue = function () {\n if (_this._continueState === 'signup') {\n dialogService.close();\n } else if (_this._continueState === 'forget') {\n _this._setCurrentPage('login');\n }\n };\n\n scope.login = function (form) {\n return _this._login(form);\n };\n\n scope.inputFieldKeyPressed = function (event, form) {\n if (event.which !== 13) {\n return;\n }\n\n scope.login(form);\n };\n\n scope.sendForgotRequest = function (form) {\n return _this._sendForgotRequest(form);\n };\n\n scope.preRegisterUser = function (form) {\n return _this._preRegisterUser(form);\n };\n scope.registerUser = function (form) {\n return _this._registerUser(form);\n };\n scope.cancelInvitation = function () {\n return _this.cancelInvitation();\n };\n scope.isBeingInvited = function () {\n return _this.isBeingInvited();\n };\n scope.vm = this;\n\n this.onOAuthResponseCallback = function (event) {\n return _this.onOAuthResponse(event);\n };\n window.addEventListener('message', this.onOAuthResponseCallback);\n\n rootScope.$on(_CommonConstants2.default.Events.BACK_BUTTON_CLICKED, function () {\n return _this._back();\n });\n\n scope.$on(\"$destroy\", function () {\n window.removeEventListener('message', scope.vm.onOAuthResponseCallback);\n });\n }\n\n _createClass(LoginController, [{\n key: '$onInit',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this._rootScope.$broadcast(_CommonConstants2.default.Events.DIALOG_OPENED, this._currentPage && this._currentPage.isShowBackButton || false);\n if (this._invitedCart) {\n this._scope.noBudgetMode = this._rootScope.retailer && this._rootScope.retailer.noBudgetMode;\n this._scope.deadline = this._invitedCart.closeOn && (0, _moment2.default)(this._invitedCart.closeOn).format('L LT') || 'client.unlimited';\n this._scope.budget = this._invitedCart.orderLimit && this._rootScope.formatAmount(this._invitedCart.orderLimit) || 'client.unlimited';\n this._scope.orderTitle = this._invitedCart.cartName || this._invitedCart.title;\n console.log(this._invitedCart);\n this._scope.payerTitle = this._invitedCart.fulfillment && this._invitedCart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.SELF || this._invitedCart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.MIXED ? 'client.order.group_member_pay' : 'client.order.group_owner_pay';\n this._setCurrentPage('inviteFacade');\n } else {\n this._rootScope.isLoggedin = false;\n this._setCurrentPage(this._currentPage || 'login');\n }\n\n case 2:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function $onInit() {\n return _ref.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: 'onOAuthResponse',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(response) {\n var responseData, authToken, user, linkingSocialAccount;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(response.data.eventType !== 'OAuthResult')) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt('return');\n\n case 2:\n _context2.next = 4;\n return this._sessionService.loggedIn();\n\n case 4:\n if (!_context2.sent) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt('return');\n\n case 6:\n responseData = response.data;\n authToken = responseData.token;\n\n if (!(!authToken && responseData.errorMessage)) {\n _context2.next = 12;\n break;\n }\n\n this._messageService.showErrorPopup(responseData.errorMessage);\n this._setCurrentPage(this._currentPage || 'login');\n return _context2.abrupt('return');\n\n case 12:\n\n window.removeEventListener('message', this.onOAuthResponseCallback);\n _context2.prev = 13;\n _context2.next = 16;\n return this._authenticationService.externalLoginFinalize(authToken);\n\n case 16:\n _context2.next = 24;\n break;\n\n case 18:\n _context2.prev = 18;\n _context2.t0 = _context2['catch'](13);\n\n this._messageService.showErrorPopupForResponse(_context2.t0);\n if (this.dialogMode) {\n this._dialogService.hide();\n }\n this._stateService.go(_CommonConstants2.default.RoutingStates.CART);\n return _context2.abrupt('return');\n\n case 24:\n _context2.next = 26;\n return this._sessionService.clearSessionDetails();\n\n case 26:\n _context2.t1 = this._sessionService;\n _context2.t2 = authToken;\n _context2.next = 30;\n return this._sessionService.getUserEmail();\n\n case 30:\n _context2.t3 = _context2.sent;\n _context2.next = 33;\n return this._sessionService.getUserName();\n\n case 33:\n _context2.t4 = _context2.sent;\n _context2.t5 = {\n authToken: _context2.t2,\n userEmail: _context2.t3,\n userName: _context2.t4\n };\n _context2.next = 37;\n return _context2.t1.setSessionDetails.call(_context2.t1, _context2.t5);\n\n case 37:\n this._userProfileService.resetUser();\n _context2.next = 40;\n return this._userProfileService.getUser();\n\n case 40:\n user = _context2.sent;\n _context2.next = 43;\n return this._sessionService.setSessionDetails({\n authToken: authToken,\n userEmail: user.email,\n userName: user.fullName,\n firstName: user.firstName,\n lastName: user.lastName\n });\n\n case 43:\n _context2.next = 45;\n return this._cartService.clearLocalCart();\n\n case 45:\n _context2.next = 47;\n return this._cartService.resetCart();\n\n case 47:\n\n this._rootScope.$broadcast(_CommonConstants2.default.Events.USER_LOGGED_IN);\n this._rootScope.storeWindowTitle = null;\n if (this.dialogMode) {\n this._dialogService.hide(true);\n }\n\n // let awaitingInvitation = null;\n // if(utils.hash.indexOf('#/invite/') > -1){\n // awaitingInvitation = JSON.stringify({participantToken : utils.hash.replace('#/invite/','') });\n // }\n // if (awaitingInvitation) {\n // this._stateService.go(Constants.RoutingStates.INVITE, JSON.parse(awaitingInvitation));\n // return;\n // }\n\n _context2.next = 52;\n return this._localForageService.retrieve(_CommonConstants2.default.SessionStorage.LINKING_SOCIAL_ACCOUNT);\n\n case 52:\n linkingSocialAccount = _context2.sent;\n\n if (!linkingSocialAccount) {\n _context2.next = 58;\n break;\n }\n\n _context2.next = 56;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.LINKING_SOCIAL_ACCOUNT);\n\n case 56:\n this._stateService.go(_CommonConstants2.default.RoutingStates.USER_PROFILE);\n return _context2.abrupt('return');\n\n case 58:\n\n this._sessionService.setCartReference(null);\n this._stateService.go(_CommonConstants2.default.RoutingStates.CART);\n\n case 60:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this, [[13, 18]]);\n }));\n\n function onOAuthResponse(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return onOAuthResponse;\n }()\n }, {\n key: 'isBeingInvited',\n value: function isBeingInvited() {\n this._localForageService.exists(_CommonConstants2.default.SessionStorage.AwaitingInvitation).then(function (exist) {\n return exist;\n });\n }\n }, {\n key: 'cancelInvitation',\n value: function cancelInvitation() {\n this._rootScope.$broadcast(_CommonConstants2.default.Events.CANCEL_INVITATION);\n }\n }, {\n key: '_setCurrentPage',\n value: function _setCurrentPage(id) {\n this._scope.errorMessage = '';\n this._scope.page = this._pages.find(function (page) {\n return page.id === id;\n });\n this._rootScope.storeWindowTitle = this._scope.page.title;\n console.log('Set to ' + this._scope.page.title);\n this._scope.resetLocalCart = false;\n this._rootScope.$broadcast(_CommonConstants2.default.Events.DIALOG_OPENED, this._scope.page.isShowBackButton);\n _scope2.default.apply(this._scope);\n }\n }, {\n key: '_back',\n value: function _back() {\n if (this._scope.page.id === 'signup') {\n this._scope.presignup.email = this._scope.signup.email;\n }\n this._setCurrentPage(this._scope.page.prevPage || this._scope.page.id);\n }\n }, {\n key: '_showErrorMessage',\n value: function _showErrorMessage(text) {\n this._scope.errorMessage = text || this.$translate.instant('client.error.server_connect');\n _scope2.default.apply(this._scope);\n }\n }, {\n key: '_handleLoggedIn',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(executor, isRegistration) {\n var message;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n _context3.next = 3;\n return executor();\n\n case 3:\n this._scope.inProgress = false;\n _context3.next = 6;\n return this._cartService.getCart();\n\n case 6:\n this._rootScope.$broadcast(_CommonConstants2.default.Events.USER_LOGGED_IN, isRegistration);\n\n if (this.dialogMode) {\n this._dialogService.hide();\n this._rootScope.storeWindowTitle = null;\n }\n\n // CW-2616: join order with link has bugs\n // let awaitingInvitation = null;\n // if(utils.hash.indexOf('#/invite/') > -1){\n // awaitingInvitation = JSON.stringify({participantToken : utils.hash.replace('#/invite/','') });\n // }\n // if (awaitingInvitation) {\n // this._stateService.go(Constants.RoutingStates.INVITE, JSON.parse(awaitingInvitation));\n // return;\n // }\n _context3.next = 20;\n break;\n\n case 10:\n _context3.prev = 10;\n _context3.t0 = _context3['catch'](0);\n\n if (!(_context3.t0.status === 409)) {\n _context3.next = 17;\n break;\n }\n\n // cart merge conflict\n this._scope.resetLocalCart = true;\n this._scope.inProgress = false;\n this._showErrorMessage(this.$translate.instant('client.order.pageid', { pageId: this._scope.page.id }));\n return _context3.abrupt('return', null);\n\n case 17:\n\n this._scope.inProgress = false;\n message = _context3.t0 && _context3.t0.status === 404 ? this.$translate.instant('client.error.invali_cred') : _context3.t0.data && _context3.t0.data.message;\n\n\n this._showErrorMessage(message);\n\n case 20:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this, [[0, 10]]);\n }));\n\n function _handleLoggedIn(_x2, _x3) {\n return _ref3.apply(this, arguments);\n }\n\n return _handleLoggedIn;\n }()\n }, {\n key: '_login',\n value: function _login(form) {\n var _this2 = this;\n\n if (form.$invalid) {\n form.highlightAllErrors();\n return;\n }\n\n this._scope.inProgress = true;\n this._scope.errorMessage = '';\n\n var credentials = {\n username: this._scope.credentials.email,\n password: this._scope.credentials.password\n };\n\n return this._handleLoggedIn(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _this2._authenticationService.loginRequest(credentials, _this2._scope.resetLocalCart);\n\n case 2:\n return _context4.abrupt('return', _context4.sent);\n\n case 3:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, _this2);\n })));\n }\n }, {\n key: '_sendForgotRequest',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(form) {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!this._scope.inProgress) {\n _context5.next = 2;\n break;\n }\n\n return _context5.abrupt('return', null);\n\n case 2:\n if (!form.$invalid) {\n _context5.next = 5;\n break;\n }\n\n form.highlightAllErrors();\n return _context5.abrupt('return', null);\n\n case 5:\n\n this._scope.inProgress = true;\n this._scope.errorMessage = '';\n\n _context5.prev = 7;\n _context5.next = 10;\n return this._authenticationService.sendValidateRequest(this._scope.credentials.email);\n\n case 10:\n _context5.next = 12;\n return this._messageService.showAlertPopup(this.$translate.instant('client.forgot_password.success'), this.$translate.instant('client.ok'));\n\n case 12:\n\n this._setCurrentPage('login');\n\n this._scope.inProgress = false;\n this._scope.requestSent = true;\n _scope2.default.apply(this._scope);\n _context5.next = 24;\n break;\n\n case 18:\n _context5.prev = 18;\n _context5.t0 = _context5['catch'](7);\n\n this._scope.errorMessage = this.$translate.instant('client.error.reset_password');\n this._scope.inProgress = false;\n this._scope.requestSent = false;\n _scope2.default.apply(this._scope);\n\n case 24:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this, [[7, 18]]);\n }));\n\n function _sendForgotRequest(_x4) {\n return _ref5.apply(this, arguments);\n }\n\n return _sendForgotRequest;\n }()\n }, {\n key: '_preRegisterUser',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(form) {\n var response;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n if (!this._scope.inProgress) {\n _context6.next = 2;\n break;\n }\n\n return _context6.abrupt('return');\n\n case 2:\n if (!form.$invalid) {\n _context6.next = 5;\n break;\n }\n\n form.highlightAllErrors();\n return _context6.abrupt('return');\n\n case 5:\n\n this._scope.inProgress = true;\n this._scope.errorMessage = '';\n\n _context6.next = 9;\n return this._authenticationService.checkIfEmailCanRegister(this._scope.presignup.email);\n\n case 9:\n response = _context6.sent;\n\n this._scope.inProgress = false;\n\n if (response.data.canRegister) {\n this._scope.signup.email = response.data.email;\n this._setCurrentPage('signup');\n } else {\n if (response.data.errorCode === 1) {\n // invalid email address\n this._showErrorMessage(response.data.errorMessage);\n } else if (response.data.errorCode === 2) {\n // Oauth user existing\n this._scope.credentials.email = response.data.email;\n this._setCurrentPage('login');\n this._showErrorMessage(response.data.errorMessage);\n } else if (response.data.errorCode === 3) {\n // user existing\n this._scope.credentials.email = response.data.email;\n this._setCurrentPage('login');\n this._showErrorMessage(response.data.errorMessage);\n } else {\n // should not go to this case\n this._showErrorMessage(response.data.errorMessage);\n }\n }\n\n this._scope.presignup.email = '';\n\n case 13:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _preRegisterUser(_x5) {\n return _ref6.apply(this, arguments);\n }\n\n return _preRegisterUser;\n }()\n }, {\n key: '_registerUser',\n value: function _registerUser(form) {\n var _this3 = this;\n\n if (this._scope.inProgress) {\n return;\n }\n\n if (form.$invalid) {\n form.highlightAllErrors();\n return;\n }\n\n this._scope.inProgress = true;\n this._scope.errorMessage = '';\n\n return this._handleLoggedIn(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return _this3._authenticationService.register(_this3._scope.signup, _this3._scope.resetLocalCart);\n\n case 2:\n return _context7.abrupt('return', _context7.sent);\n\n case 3:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, _this3);\n })), true);\n }\n }]);\n\n return LoginController;\n}();\n\nLoginController.$inject = ['$scope', '$rootScope', '$state', 'cartonomyConfig', 'LocalForageService', '$mdDialog', 'AuthenticationService', 'email', 'CartService', 'currentPage', 'createOrderFlow', '$http', 'Message', 'Session', 'UserProfile', 'invitedCart', '$translate'];\n\n\n_module3.default.controller('Cartonomy.Shared.LoginController', LoginController);\n\n/***/ }),\n/* 659 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LoginTicketController = undefined;\n\nvar LoginTicketController = exports.LoginTicketController = function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(sessionService, localForageService, cartService, $state, $stateParams, authenticationService, messageService, userProfileService, cartonomyConfig, $rootScope) {\n var checkCartAndGo = function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var cartExists, stateToGo;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return cartService.isGroupOrder();\n\n case 2:\n cartExists = _context.sent;\n stateToGo = cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CHAT : _CommonConstants2.default.RoutingStates.CATALOG;\n\n if (!cartExists && cartonomyConfig.externalStoreMode) {\n stateToGo = _CommonConstants2.default.RoutingStates.CART;\n }\n $rootScope.$broadcast(_CommonConstants2.default.Events.USER_LOGGED_IN);\n $state.go(stateToGo);\n\n case 7:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n return function checkCartAndGo() {\n return _ref2.apply(this, arguments);\n };\n }();\n\n var isInIframe, authToken, user, awaitingInvitation, linkingSocialAccount;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!cartonomyConfig.externalStoreMode) {\n _context2.next = 4;\n break;\n }\n\n isInIframe = window.self !== window.top;\n\n if (isInIframe) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt('return');\n\n case 4:\n authToken = $stateParams.authToken;\n\n if (!(!authToken && $stateParams.errorMessage)) {\n _context2.next = 16;\n break;\n }\n\n _context2.next = 8;\n return messageService.showErrorPopup($stateParams.errorMessage);\n\n case 8:\n _context2.next = 10;\n return sessionService.loggedIn();\n\n case 10:\n if (_context2.sent) {\n _context2.next = 13;\n break;\n }\n\n _context2.next = 13;\n return authenticationService.showLoginDialog();\n\n case 13:\n _context2.next = 15;\n return checkCartAndGo();\n\n case 15:\n return _context2.abrupt('return');\n\n case 16:\n _context2.next = 18;\n return authenticationService.waitForLogin();\n\n case 18:\n _context2.prev = 18;\n _context2.next = 21;\n return authenticationService.externalLoginFinalize(authToken);\n\n case 21:\n _context2.next = 29;\n break;\n\n case 23:\n _context2.prev = 23;\n _context2.t0 = _context2['catch'](18);\n _context2.next = 27;\n return messageService.showErrorPopupForResponse(_context2.t0);\n\n case 27:\n $state.go(_CommonConstants2.default.RoutingStates.CATALOG);\n return _context2.abrupt('return');\n\n case 29:\n _context2.next = 31;\n return cartService.clearLocalCart();\n\n case 31:\n _context2.next = 33;\n return sessionService.clearSessionDetails();\n\n case 33:\n _context2.t1 = sessionService;\n _context2.t2 = authToken;\n _context2.next = 37;\n return sessionService.getUserEmail();\n\n case 37:\n _context2.t3 = _context2.sent;\n _context2.next = 40;\n return sessionService.getUserName();\n\n case 40:\n _context2.t4 = _context2.sent;\n _context2.t5 = {\n authToken: _context2.t2,\n userEmail: _context2.t3,\n userName: _context2.t4\n };\n _context2.next = 44;\n return _context2.t1.setSessionDetails.call(_context2.t1, _context2.t5);\n\n case 44:\n\n userProfileService.resetUser();\n _context2.next = 47;\n return userProfileService.getUser();\n\n case 47:\n user = _context2.sent;\n _context2.next = 50;\n return sessionService.setSessionDetails({\n authToken: authToken,\n userEmail: user.email,\n userName: user.fullName,\n firstName: user.firstName,\n lastName: user.lastName\n });\n\n case 50:\n _context2.next = 52;\n return localForageService.retrieve(_CommonConstants2.default.SessionStorage.AwaitingInvitation);\n\n case 52:\n awaitingInvitation = _context2.sent;\n\n if (!awaitingInvitation) {\n _context2.next = 56;\n break;\n }\n\n $state.go(_CommonConstants2.default.RoutingStates.INVITE, JSON.parse(awaitingInvitation));\n return _context2.abrupt('return');\n\n case 56:\n _context2.next = 58;\n return localForageService.retrieve(_CommonConstants2.default.SessionStorage.LINKING_SOCIAL_ACCOUNT);\n\n case 58:\n linkingSocialAccount = _context2.sent;\n\n if (!linkingSocialAccount) {\n _context2.next = 64;\n break;\n }\n\n _context2.next = 62;\n return localForageService.remove(_CommonConstants2.default.SessionStorage.LINKING_SOCIAL_ACCOUNT);\n\n case 62:\n $state.go(_CommonConstants2.default.RoutingStates.USER_PROFILE);\n return _context2.abrupt('return');\n\n case 64:\n\n sessionService.setCartReference(null);\n _context2.next = 67;\n return checkCartAndGo();\n\n case 67:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this, [[18, 23]]);\n }));\n\n return function LoginTicketController(_x, _x2, _x3, _x4, _x5, _x6, _x7, _x8, _x9, _x10) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nLoginTicketController.$inject = ['Session', 'LocalForageService', 'CartService', '$state', '$stateParams', 'AuthenticationService', 'Message', 'UserProfile', 'cartonomyConfig', '$rootScope'];\n\n_module3.default.controller('Cartonomy.Shared.LoginTicketController', LoginTicketController);\n\n/***/ }),\n/* 660 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CategoryHeaderDirectiveController = function () {\n function CategoryHeaderDirectiveController(scope, catalogService, messageService, rootScope) {\n var _this = this;\n\n _classCallCheck(this, CategoryHeaderDirectiveController);\n\n this._scope = scope;\n this._rootScope = rootScope;\n this._catalogService = catalogService;\n this._messageService = messageService;\n\n scope.searchInProgress = false;\n scope.categoryName = \"\";\n scope.categoryId = 0;\n rootScope.categoryId = 0;\n scope.categories = [];\n rootScope.searchString = \"\";\n\n scope.clearSearch = function () {\n return _this._clearSearch();\n };\n\n scope.$watch('categoryId', function (categoryId) {\n rootScope.categoryId = categoryId;\n var category = _.find(scope.categories, { id: parseInt(categoryId) });\n scope.categoryName = category ? category.name : '';\n });\n }\n\n _createClass(CategoryHeaderDirectiveController, [{\n key: '$onInit',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._loadCategories();\n\n case 2:\n _scope2.default.apply(this._scope);\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function $onInit() {\n return _ref.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: '_clearSearch',\n value: function _clearSearch() {\n this._scope.searchInProgress = false;\n this._scope.searchString = '';\n }\n }, {\n key: '_loadCategories',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var category;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n _context2.next = 3;\n return this._catalogService.getAllCategories();\n\n case 3:\n this._scope.categories = _context2.sent;\n _context2.next = 6;\n return this._catalogService.getDefaultCategory();\n\n case 6:\n this._scope.categoryName = _context2.sent;\n category = _.find(this._scope.categories, { name: this._scope.categoryName });\n\n this._scope.categoryId = category ? category.id : this._scope.categories[0].id;\n _context2.next = 14;\n break;\n\n case 11:\n _context2.prev = 11;\n _context2.t0 = _context2['catch'](0);\n\n this._messageService.showErrorPopupForResponse(_context2.t0);\n\n case 14:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this, [[0, 11]]);\n }));\n\n function _loadCategories() {\n return _ref2.apply(this, arguments);\n }\n\n return _loadCategories;\n }()\n }]);\n\n return CategoryHeaderDirectiveController;\n}();\n\nCategoryHeaderDirectiveController.$inject = ['$scope', 'CatalogService', 'Message', '$rootScope'];\n\n\n_module3.default.directive('categoryHeader', function () {\n return {\n scope: true,\n templateUrl: 'modules/shared/views/categoryHeader.html',\n controller: CategoryHeaderDirectiveController\n };\n});\n\n/***/ }),\n/* 661 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_module3.default.directive('focusMe', ['$timeout', function ($timeout) {\n return {\n scope: {\n focusMe: '='\n },\n link: function link($scope, element) {\n $scope.$watch('focusMe', function (newValue) {\n if (newValue === 0) {\n return;\n }\n $timeout(function () {\n element[0].focus();\n }, 800);\n });\n }\n };\n}]);\n\n/***/ }),\n/* 662 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FooterDirectiveController = undefined;\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar FooterDirectiveController = exports.FooterDirectiveController = function FooterDirectiveController($scope, configurationService, cartonomyConfig) {\n _classCallCheck(this, FooterDirectiveController);\n\n $scope.addresses = [];\n $scope.hours = [];\n $scope.externalStoreMode = cartonomyConfig.externalStoreMode;\n $scope.currentYear = new Date().getFullYear();\n\n configurationService.getItem('addresses').then(function (addresses) {\n $scope.addresses = addresses;\n });\n\n configurationService.getItem('storeHours').then(function (hours) {\n\n _.each(hours, function (hour) {\n hour.open = hour.open ? (0, _moment2.default)(hour.open).format('LT') : '';\n hour.close = hour.close ? (0, _moment2.default)(hour.close).format('LT') : '';\n });\n\n $scope.hours = hours;\n });\n};\n\nFooterDirectiveController.$inject = ['$scope', 'ConfigurationService', 'cartonomyConfig'];\n\n\n_module3.default.directive('cartonomyFooter', function () {\n return {\n template: __webpack_require__(663),\n controller: FooterDirectiveController\n };\n});\n\n/***/ }),\n/* 663 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\"\n\n/***/ }),\n/* 664 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction HeaderDirectiveController($scope, $window, $document, $rootScope) {\n\n $scope.onScroll = false;\n\n $scope.scrollToTop = function () {\n $window.scrollTo(0, 0);\n };\n\n function getElementsByClassName(className) {\n return $document[0].getElementsByClassName(className);\n }\n\n function handleWindowResize() {\n\n var document = $document[0];\n var header = document.getElementById('header');\n var footer = document.getElementById('footer');\n var body = $document.find('body')[0];\n var contents = document.getElementById('contents');\n\n $rootScope.contentsMinHeight = body.offsetHeight - header.offsetHeight - footer.offsetHeight;\n }\n\n $rootScope.$on(_CommonConstants2.default.Events.WINDOW_WIDTH_CHANGED, handleWindowResize);\n // $rootScope.$on(Constants.Events.GROUP_ORDER_STATUS_CHANGED, () => {\n // calculateNavbarHeight();\n // $timeout(() => calculateNavbarHeight(), 200);\n // $timeout(() => calculateNavbarHeight(), 400);\n // });\n\n $rootScope.$on(_CommonConstants2.default.Events.WINDOW_SCROLL, function ($event, scrollTop) {\n $scope.onScroll = scrollTop > 0;\n });\n\n $scope.$on('groupOrderCreated', function () {\n handleWindowResize();\n });\n}\n\n_module3.default.directive('cartonomyHeader', function () {\n return {\n // templateUrl: 'modules/shared/views/header.html',\n template: __webpack_require__(665)(),\n controller: ['$scope', '$window', '$document', '$rootScope', HeaderDirectiveController]\n };\n});\n\n/***/ }),\n/* 665 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar jade = __webpack_require__(41);\n\nmodule.exports = function template(locals) {\nvar buf = [];\nvar jade_mixins = {};\nvar jade_interp;\n\nbuf.push(\"
\");;return buf.join(\"\");\n}\n\n/***/ }),\n/* 666 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_module3.default.directive('loadingIndicator', ['$', function ($) {\n return {\n replace: false,\n scope: {\n isLoading: \"=loadingIndicator\"\n },\n link: function link($scope, element) {\n $(element).prepend('
');\n\n $scope.$watch('isLoading', function () {\n if ($scope.isLoading) {\n $(element).addClass('panel-loading');\n } else {\n $(element).removeClass('panel-loading');\n }\n }, true);\n }\n };\n}]);\n\n/***/ }),\n/* 667 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction InputCompareToLink($scope, element, attributes, $ngModel) {\n\n $ngModel.$validators.compareTo = function (modelValue) {\n return modelValue === $scope.compareTo;\n };\n\n $scope.$watch('compareTo', function () {\n $ngModel.$validate();\n });\n}\n\n_module3.default.directive('compareTo', function () {\n return {\n require: 'ngModel',\n scope: {\n compareTo: '=compareTo'\n },\n link: InputCompareToLink\n };\n});\n\n/***/ }),\n/* 668 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction InputElementErrorDirectiveLink($scope, element, attributes, $ngForm) {\n $ngForm.highlightAllErrors = $ngForm.highlightAllErrors || function () {\n _.each(this, function (field, name) {\n if (name && name[0] != '$' && field && field.$setTouched) {\n field.$setTouched();\n }\n });\n };\n $ngForm.hideAllErrors = $ngForm.hideAllErrors || function () {\n _.each(this, function (field, name) {\n if (name && name[0] != '$' && field && field.$setUntouched) {\n field.$setUntouched();\n }\n });\n };\n}\n\n_module3.default.directive('inputError', function () {\n return {\n template: \"
\",\n transclude: true,\n replace: false,\n scope: {\n messages: '='\n },\n require: '^form',\n link: InputElementErrorDirectiveLink\n };\n});\n\n/***/ }),\n/* 669 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_module3.default.directive('inputFocus', ['$timeout', function ($timeout) {\n return {\n replace: false,\n scope: {\n inputFocus: '='\n },\n link: function link($scope, element) {\n $scope.inputFocus = function (options) {\n\n $timeout(function () {\n element[0].focus();\n\n if (options && options.selectAll) {\n element[0].setSelectionRange(0, 9999);\n }\n });\n };\n }\n };\n}]);\n\n/***/ }),\n/* 670 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PayPalPaymentFormDirectiveController = function PayPalPaymentFormDirectiveController(scope, messageService) {\n _classCallCheck(this, PayPalPaymentFormDirectiveController);\n\n this._scope = scope;\n this._messageService = messageService;\n};\n\nPayPalPaymentFormDirectiveController.$inject = ['$scope', 'Message'];\n\n\n_module3.default.directive('payPalPaymentForm', function () {\n return {\n scope: {},\n templateUrl: 'modules/shared/views/payPalPaymentForm.html',\n controller: PayPalPaymentFormDirectiveController\n };\n});\n\n/***/ }),\n/* 671 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar SquareUpPaymentFormDirectiveController = function () {\n function SquareUpPaymentFormDirectiveController(scope) {\n var _this = this;\n\n _classCallCheck(this, SquareUpPaymentFormDirectiveController);\n\n this._scope = scope;\n\n scope.$watch('visible', function (visible) {\n if (visible) {\n _this._paymentForm = new SqPaymentForm({\n applicationId: _CommonConstants2.default.SQUARE_UP_APPLICATION_ID,\n inputClass: 'sq-input',\n inputStyles: [{\n fontSize: '14px'\n }],\n cardNumber: {\n elementId: 'sq-card-number'\n },\n cvv: {\n elementId: 'sq-card-cvv'\n },\n expirationDate: {\n elementId: 'sq-card-date'\n },\n postalCode: {\n elementId: 'sq-card-postal-code'\n },\n callbacks: {\n cardNonceResponseReceived: _this._onCardNonceResponseReceived.bind(_this)\n }\n });\n _this._paymentForm.build();\n }\n });\n\n scope.$on('$destroy', function () {\n if (_this._paymentForm) {\n _this._paymentForm.destroy();\n }\n });\n\n scope.nonce = function () {\n return new Promise(function (resolve, reject) {\n _this._nonceCallback = function (errors, nonce, cardData) {\n _this._nonceCallback = null;\n if (errors) {\n reject(errors);\n return;\n }\n\n resolve({\n nonce: nonce,\n cardData: cardData\n });\n };\n _this._paymentForm.requestCardNonce();\n });\n };\n }\n\n _createClass(SquareUpPaymentFormDirectiveController, [{\n key: '_onCardNonceResponseReceived',\n value: function _onCardNonceResponseReceived(errors, nonce, cardData) {\n this._nonceCallback(errors, nonce, cardData);\n }\n }]);\n\n return SquareUpPaymentFormDirectiveController;\n}();\n\n_module3.default.directive('squareUpPaymentForm', function () {\n return {\n scope: {\n nonce: '=',\n visible: '='\n },\n templateUrl: 'modules/shared/views/squareUpPaymentForm.html',\n link: function link($scope, element) {\n new SquareUpPaymentFormDirectiveController($scope, element);\n }\n };\n});\n\n/***/ }),\n/* 672 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar StickyPanelDirectiveController = function () {\n function StickyPanelDirectiveController(scope, element, rootScope) {\n var _this = this;\n\n _classCallCheck(this, StickyPanelDirectiveController);\n\n this._rootScope = rootScope;\n this._scope = scope;\n this._element = element[0];\n this._stickyMode = false;\n\n rootScope.$on(_CommonConstants2.default.Events.WINDOW_SCROLL, function ($event, scrollTop) {\n return _this._onScroll(scrollTop);\n });\n rootScope.$on(_CommonConstants2.default.Events.WINDOW_WIDTH_CHANGED, function () {\n return _this._onWidthChanged();\n });\n\n this._paddingElement = document.createElement(\"div\");\n this._paddingElement.style.display = 'none';\n this._element.parentElement.insertBefore(this._paddingElement, this._element);\n\n this._element.className += ' sticky-panel';\n }\n\n _createClass(StickyPanelDirectiveController, [{\n key: '_onScroll',\n value: function _onScroll(scrollTop) {\n var element = this._stickyMode ? this._paddingElement : this._element;\n var top = 0;\n while (element) {\n top += element.offsetTop;\n element = element.offsetParent;\n }\n var stickyMode = top < scrollTop;\n if (stickyMode !== this._stickyMode) {\n this._stickyMode = stickyMode;\n var stickyPanelClass = ' sticky-panel-docked';\n if (stickyMode) {\n this._element.className += stickyPanelClass;\n this._paddingElement.style.display = 'block';\n } else {\n var pos = this._element.className.indexOf(stickyPanelClass);\n this._element.className = this._element.className.substring(0, pos) + this._element.className.substring(pos + stickyPanelClass.length);\n this._paddingElement.style.display = 'none';\n }\n }\n }\n }, {\n key: '_onWidthChanged',\n value: function _onWidthChanged() {\n this._paddingElement.style.height = this._element.clientHeight + 'px';\n }\n }]);\n\n return StickyPanelDirectiveController;\n}();\n\n_module3.default.directive('stickyPanel', ['$rootScope', function ($rootScope) {\n return {\n replace: false,\n scope: {\n inputFocus: '='\n },\n link: function link($scope, element) {\n new StickyPanelDirectiveController($scope, element, $rootScope);\n }\n };\n}]);\n\n/***/ }),\n/* 673 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction WidthChangedHandlerLink($rootScope, $timeout, $window, $document, element) {\n\n var promise = null;\n\n function applySizes() {\n var width = element[0].offsetWidth;\n $rootScope.sizeXs = width < 600;\n $rootScope.sizeSm = !$rootScope.sizeXs && width < 960;\n $rootScope.sizeMd = !$rootScope.sizeSm && width < 1280;\n $rootScope.sizeLg = !$rootScope.sizeMd && width < 1920;\n $rootScope.sizeXsSm = $rootScope.sizeXs || $rootScope.sizeSm;\n }\n\n function invokeEvent() {\n promise = null;\n applySizes();\n $rootScope.$emit(_CommonConstants2.default.Events.WINDOW_WIDTH_CHANGED, element[0].offsetWidth);\n }\n\n function handleWindowResize() {\n\n if (promise) {\n $timeout.cancel(promise);\n }\n\n promise = $timeout(function () {\n $rootScope.$apply(invokeEvent);\n }, 100);\n }\n\n element[0].contentWindow.addEventListener('resize', handleWindowResize);\n\n handleWindowResize();\n applySizes();\n\n $window.addEventListener('scroll', function () {\n var scrollTop = ($window.pageYOffset || $document[0].documentElement.scrollTop) - ($document[0].documentElement.clientTop || 0);\n $rootScope.$apply(function () {\n $rootScope.$emit(_CommonConstants2.default.Events.WINDOW_SCROLL, scrollTop);\n });\n });\n}\n\n_module3.default.directive('widthChangedHandler', ['$rootScope', '$timeout', '$window', '$document', function ($rootScope, $timeout, $window, $document) {\n\n return {\n link: function link($scope, element) {\n WidthChangedHandlerLink($rootScope, $timeout, $window, $document, element);\n },\n template: \"\",\n replace: true\n };\n}]);\n\n/***/ }),\n/* 674 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _communicationService = __webpack_require__(28);\n\nvar _commandKeys = __webpack_require__(27);\n\nvar _InviteUserController = __webpack_require__(675);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar InviteLinkDirectiveController = function () {\n function InviteLinkDirectiveController(scope, cartService, configurationService, rootScope, $translate, dialogService) {\n var _this = this;\n\n _classCallCheck(this, InviteLinkDirectiveController);\n\n this._scope = scope;\n this._rootScope = rootScope;\n this._cartService = cartService;\n this._configurationService = configurationService;\n this.$translate = $translate;\n this._dialogService = dialogService;\n\n scope.invitationLink = this._cartService.getInviteSingleLink();\n scope.invitationType = this._cartService.getInvitationType();\n scope.invitationCode = this._cartService.getInviteCode();\n scope.minimumOrderMessage = null;\n scope.ownerDiscountMessage = null;\n\n scope.copyToClipboard = function () {\n return _this._copyClipboard();\n };\n scope.isShowInviteLink = function () {\n return _this._isShowInviteLink();\n };\n scope.isMarketingShow = function () {\n return _this._isMarketingShow();\n };\n scope.inviteUser = function () {\n return _this._inviteUser();\n };\n rootScope.$on(_CommonConstants2.default.Events.ORDER_CREATED, function () {\n return _this._initInvitationCode();\n });\n rootScope.$on(_CommonConstants2.default.RootEvents.CART_CHANGED, function () {\n return _this._cartChanged();\n });\n }\n\n _createClass(InviteLinkDirectiveController, [{\n key: '$onInit',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._initInvitationCode();\n\n case 2:\n _context.next = 4;\n return this._updateMinimumOrderMessage();\n\n case 4:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function $onInit() {\n return _ref.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: '_inviteUser',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var self;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n self = this;\n\n this._dialogOptions = {\n controller: _InviteUserController.InviteUserController,\n template: __webpack_require__(676)(),\n escapeToClose: true,\n locals: {},\n onRemoving: function onRemoving(event, removePromise) {\n self._rootScope.$broadcast(_CommonConstants2.default.Events.DIALOG_CLOSED);\n }\n };\n\n _context2.next = 4;\n return this._dialogService.show(this._dialogOptions);\n\n case 4:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function _inviteUser() {\n return _ref2.apply(this, arguments);\n }\n\n return _inviteUser;\n }()\n }, {\n key: '_cartChanged',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this._initInvitationCode();\n\n case 2:\n _context3.next = 4;\n return this._updateMinimumOrderMessage();\n\n case 4:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function _cartChanged() {\n return _ref3.apply(this, arguments);\n }\n\n return _cartChanged;\n }()\n }, {\n key: '_isShowInviteLink',\n value: function _isShowInviteLink() {\n return this._scope.cart && !(this._scope.cart.cartStatus === 'OWNER_CHECKING_OUT' || this._scope.cart.cartStatus === 'CHECKING_OUT');\n }\n }, {\n key: '_isMarketingShow',\n value: function _isMarketingShow() {\n return this.retailer && this._scope.cart && (this.retailer.cartonomyMode !== _CommonConstants2.default.CartonomyMode.marketing || this._scope.cart.items.length > 0);\n }\n }, {\n key: '_initInvitationCode',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n var siteLocation, _retailer, siteUrl, retailerSiteUrl;\n\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.getLocation, {});\n\n case 2:\n siteLocation = _context4.sent;\n _retailer = this._configurationService.getRetailer().retailer;\n\n this.retailer = _retailer;\n _context4.next = 7;\n return this._cartService.getCart();\n\n case 7:\n this._scope.cart = _context4.sent;\n\n this._scope.invitationCode = this._cartService.getInviteCode();\n\n if (!(this._scope.cart && this._scope.cart.id)) {\n _context4.next = 15;\n break;\n }\n\n _context4.next = 12;\n return this._cartService.getShareTokenByCartId(this._scope.cart.id);\n\n case 12:\n this._scope.invitationCode = _context4.sent;\n\n this._cartService.setInviteCode(this._scope.invitationCode);\n this._cartService.setInvitationType(_CommonConstants2.default.InvitationTypes.share);\n\n case 15:\n siteUrl = void 0;\n retailerSiteUrl = _retailer.website.startsWith('https://') ? _retailer.website : 'https://' + _retailer.website;\n\n if (_retailer.cartonomyMode === _CommonConstants2.default.CartonomyMode.marketing && this._scope.cart && this._scope.cart.items[0]) {\n siteUrl = this._scope.cart.items[0].productUrl;\n } else {\n siteUrl = retailerSiteUrl;\n }\n\n if (siteLocation && siteLocation.origin) {\n siteUrl = siteUrl.replace(retailerSiteUrl, siteLocation.origin);\n } else if (_retailer.retailerType === 'Shopify') {\n siteUrl = 'https://' + siteUrl;\n }\n this._scope.invitationLink = siteUrl + _CommonConstants2.default.INVITE_LINK + this._scope.invitationCode;\n\n this._cartService.setInviteSingleLink(this._scope.invitationLink);\n\n _scope2.default.apply(this._scope);\n\n case 22:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function _initInvitationCode() {\n return _ref4.apply(this, arguments);\n }\n\n return _initInvitationCode;\n }()\n }, {\n key: '_updateMinimumOrderMessage',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n var retailer;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n retailer = this._configurationService.getRetailer().retailer;\n\n if (!this._scope.cart) {\n _context5.next = 18;\n break;\n }\n\n if (retailer.minimumOrderAmount > 0) {\n if (this._scope.cart.cartItemTotal >= retailer.minimumOrderAmount) {\n this._scope.minimumOrderMessage = this.$translate.instant('client.group.free_shipping');\n } else {\n this._scope.minimumOrderMessage = this.$translate.instant('client.group.amount_for_free_shipping', { amount: (retailer.minimumOrderAmount - this._scope.cart.cartItemTotal).toFixed(2) });\n }\n }\n _context5.t1 = this._scope.cart.cartDiscount && this._scope.cart.cartDiscount > 0;\n\n if (!_context5.t1) {\n _context5.next = 8;\n break;\n }\n\n _context5.next = 7;\n return this._cartService.isOwner(this._scope.cart);\n\n case 7:\n _context5.t1 = _context5.sent;\n\n case 8:\n _context5.t0 = _context5.t1;\n\n if (_context5.t0) {\n _context5.next = 11;\n break;\n }\n\n _context5.t0 = retailer.cartonomyMode === _CommonConstants2.default.CartonomyMode.marketing;\n\n case 11:\n if (!_context5.t0) {\n _context5.next = 15;\n break;\n }\n\n if (retailer.cartonomyMode === _CommonConstants2.default.CartonomyMode.marketing) {\n this._scope.ownerDiscountMessage = this.$translate.instant('client.group.invite_discount', { cartDiscount: this._scope.cart.cartDiscount.toFixed(2), availableDiscount: this._scope.cart.availableDiscount.toFixed(2) });\n } else {\n this._scope.ownerDiscountMessage = this.$translate.instant('client.group.discount', { cartDiscount: this._scope.cart.cartDiscount.toFixed(2) });\n }\n _context5.next = 16;\n break;\n\n case 15:\n this._scope.ownerDiscountMessage = null;\n\n case 16:\n _context5.next = 20;\n break;\n\n case 18:\n this._scope.minimumOrderMessage = null;\n this._scope.ownerDiscountMessage = null;\n\n case 20:\n _scope2.default.apply(this._scope);\n\n case 21:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function _updateMinimumOrderMessage() {\n return _ref5.apply(this, arguments);\n }\n\n return _updateMinimumOrderMessage;\n }()\n }, {\n key: '_copyClipboard',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n this._cartService.copyClipboard(this._scope.invitationLink);\n\n case 1:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _copyClipboard() {\n return _ref6.apply(this, arguments);\n }\n\n return _copyClipboard;\n }()\n }]);\n\n return InviteLinkDirectiveController;\n}();\n\nInviteLinkDirectiveController.$inject = ['$scope', 'CartService', 'ConfigurationService', '$rootScope', '$translate', '$mdDialog'];\n\n\n_module3.default.directive('inviteLink', function () {\n return {\n scope: true,\n templateUrl: 'modules/shared/views/inviteLink.html',\n controller: InviteLinkDirectiveController\n };\n});\n\n/***/ }),\n/* 675 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InviteUserController = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar InviteUserController = exports.InviteUserController = function () {\n function InviteUserController(scope, cartService, rootScope, dialogService, messageService, translate) {\n var _this = this;\n\n _classCallCheck(this, InviteUserController);\n\n this._scope = scope;\n\n this._rootScope = rootScope;\n this._cartService = cartService;\n this._messageService = messageService;\n this._dialogService = dialogService;\n this.translate = translate;\n\n scope.inviteEmails = '';\n scope.sendInvitation = function () {\n return _this._sendInvitation();\n };\n scope.cancel = function () {\n return _this._cancel();\n };\n\n rootScope.$on(_CommonConstants2.default.Events.BACK_BUTTON_CLICKED, function () {\n return dialogService.hide();\n });\n\n this.initialize();\n }\n\n _createClass(InviteUserController, [{\n key: \"initialize\",\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this._rootScope.storeWindowTitle = 'client.order.invite_user';\n this._rootScope.$broadcast(_CommonConstants2.default.Events.DIALOG_OPENED, true);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function initialize() {\n return _ref.apply(this, arguments);\n }\n\n return initialize;\n }()\n }, {\n key: \"_cancel\",\n value: function _cancel() {\n this._dialogService.hide();\n }\n }, {\n key: \"_sendInvitation\",\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var emails;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n emails = this._scope.inviteEmails.split(/[\\n\\r,;]+/).map(function (e) {\n return e.trim();\n }).filter(function (e, index, arr) {\n return !!e && arr.indexOf(e) === index;\n });\n\n if (!(emails.length === 0)) {\n _context2.next = 4;\n break;\n }\n\n this._scope.errorMessage = 'client.invite_user.email_error';\n return _context2.abrupt(\"return\");\n\n case 4:\n this._scope.inProgress = true;\n _context2.prev = 5;\n _context2.next = 8;\n return this._cartService.sendInvites(emails);\n\n case 8:\n this._messageService.showMessagePopup(this.translate.instant('client.invite_user.success'));\n this._dialogService.hide();\n _context2.next = 15;\n break;\n\n case 12:\n _context2.prev = 12;\n _context2.t0 = _context2[\"catch\"](5);\n\n this._scope.errorMessage = _context2.t0.data && _context2.t0.data.message || 'client.invite_user.api_error';\n\n case 15:\n _context2.prev = 15;\n\n this._scope.inProgress = false;\n return _context2.finish(15);\n\n case 18:\n\n _scope2.default.apply(this._scope);\n\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[5, 12, 15, 18]]);\n }));\n\n function _sendInvitation() {\n return _ref2.apply(this, arguments);\n }\n\n return _sendInvitation;\n }()\n }]);\n\n return InviteUserController;\n}();\n\nInviteUserController.$inject = ['$scope', 'CartService', '$rootScope', '$mdDialog', 'Message', '$translate'];\n\n\n_module3.default.controller('InviteUser', InviteUserController);\n\n/***/ }),\n/* 676 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar jade = __webpack_require__(41);\n\nmodule.exports = function template(locals) {\nvar buf = [];\nvar jade_mixins = {};\nvar jade_interp;\n\nbuf.push(\"
{{errorMessage | translate}}
\");;return buf.join(\"\");\n}\n\n/***/ }),\n/* 677 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AuthenticationService = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _ChangePasswordController = __webpack_require__(418);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _utils = __webpack_require__(29);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar AuthenticationService = exports.AuthenticationService = function () {\n function AuthenticationService(httpService, timeoutService, sessionService, localForageService, cartonomyConfig, dialogService, qService, cartService, messageService, windowService, stateService, rootScope) {\n _classCallCheck(this, AuthenticationService);\n\n this._urlBase = cartonomyConfig.ApiV2 + 'authentication/';\n this._urlUserBase = cartonomyConfig.ApiV2 + 'user/';\n this._sessionService = sessionService;\n this._httpService = httpService;\n this._dialogService = dialogService;\n this._qService = qService;\n this._cartService = cartService;\n this._messageService = messageService;\n this._windowService = windowService;\n this._stateService = stateService;\n this._loginPromise = null;\n this._cartonomyConfig = cartonomyConfig;\n //this._sessionStorageService = sessionStorageService;\n this._localForageService = localForageService;\n this._timeout = timeoutService;\n this._rootScope = rootScope;\n this.checkLoginToken();\n }\n\n _createClass(AuthenticationService, [{\n key: \"checkLoginToken\",\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var bearer;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (!_context.sent) {\n _context.next = 7;\n break;\n }\n\n _context.next = 5;\n return this._sessionService.getAuthToken();\n\n case 5:\n bearer = _context.sent;\n\n this.authToken = bearer;\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function checkLoginToken() {\n return _ref.apply(this, arguments);\n }\n\n return checkLoginToken;\n }()\n }, {\n key: \"_updateSession\",\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(data) {\n var payload;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n payload = {\n authToken: data.authToken,\n userEmail: data.user.userName,\n userName: data.user.fullName,\n firstName: data.user.firstName,\n lastName: data.user.lastName,\n email: data.user.email\n };\n _context2.next = 3;\n return this._sessionService.setSessionDetails(payload);\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function _updateSession(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return _updateSession;\n }()\n }, {\n key: \"waitForLogin\",\n value: function waitForLogin(onlySuccessful) {\n var _this = this;\n\n return new Promise(function (resolve) {\n if (!_this._loginPromise) {\n resolve();\n } else {\n if (onlySuccessful) {\n _this._loginPromise.then(function () {\n return resolve();\n });\n } else {\n _this._loginPromise.finally(function () {\n return resolve();\n });\n }\n }\n });\n }\n }, {\n key: \"showLoginDialog\",\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(email, currentPage, createOrderFlow, invitedCart) {\n var self;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!this.isLoggingIn) {\n _context3.next = 2;\n break;\n }\n\n return _context3.abrupt(\"return\", this.isLoggingIn);\n\n case 2:\n this._rootScope.$broadcast(_CommonConstants2.default.Events.DIALOG_OPENED, false);\n self = this;\n _context3.next = 6;\n return this._dialogService.show({\n controller: 'Cartonomy.Shared.LoginController',\n templateUrl: 'modules/shared/views/loginDialog.html',\n clickOutsideToClose: false,\n escapeToClose: false,\n focusOnOpen: false,\n locals: {\n email: email,\n currentPage: currentPage,\n createOrderFlow: createOrderFlow,\n invitedCart: invitedCart\n },\n onRemoving: function onRemoving(event, removePromise) {\n self._rootScope.$broadcast(_CommonConstants2.default.Events.DIALOG_CLOSED);\n }\n });\n\n case 6:\n this.isLoggingIn = _context3.sent;\n\n\n this.isLoggingIn = null;\n\n case 8:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function showLoginDialog(_x2, _x3, _x4, _x5) {\n return _ref3.apply(this, arguments);\n }\n\n return showLoginDialog;\n }()\n }, {\n key: \"showSignupDialog\",\n value: function showSignupDialog(email) {\n return this.showLoginDialog(email, 'signup');\n }\n }, {\n key: \"showChangePasswordDialog\",\n value: function showChangePasswordDialog() {\n return this._dialogService.show({\n controller: _ChangePasswordController.ChangePasswordController,\n template: __webpack_require__(678),\n clickOutsideToClose: true\n });\n }\n }, {\n key: \"_prepareNewCart\",\n value: function _prepareNewCart(cart) {\n\n if (!cart.items || cart.items.length === 0) {\n return null;\n }\n\n return {\n items: cart.items.map(function (item) {\n return {\n catalogProductId: item.catalogProductId,\n quantity: item.quantity,\n comment: item.comment\n };\n })\n };\n }\n }, {\n key: \"externalLoginFinalize\",\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(authToken) {\n var cart, newCart;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._cartService.getCart();\n\n case 2:\n cart = _context4.sent;\n newCart = this._prepareNewCart(cart);\n _context4.prev = 4;\n _context4.next = 7;\n return this._httpService.post(this._urlBase + 'externalLoginFinalize', {\n cart: newCart,\n authToken: authToken\n });\n\n case 7:\n _context4.next = 12;\n break;\n\n case 9:\n _context4.prev = 9;\n _context4.t0 = _context4[\"catch\"](4);\n\n console.log(_context4.t0);\n\n case 12:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this, [[4, 9]]);\n }));\n\n function externalLoginFinalize(_x6) {\n return _ref4.apply(this, arguments);\n }\n\n return externalLoginFinalize;\n }()\n }, {\n key: \"loginRequest\",\n value: function loginRequest(credentials, ignoreLocalCart) {\n var _this2 = this;\n\n if (this._loginPromise) {\n return this.waitForLogin().then(function () {\n return _this2.loginRequest(credentials);\n });\n }\n\n this._loginPromise = this._doLogin(credentials, ignoreLocalCart).then(undefined, function (error) {\n _this2._loginPromise = null;\n return new Promise(function (resolve, reject) {\n return reject(error);\n });\n });\n\n return this._loginPromise;\n }\n }, {\n key: \"_doLogin\",\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(credentials, ignoreLocalCart) {\n var leaveInvite, cart, newCart, res;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n leaveInvite = false;\n _context5.next = 3;\n return this._sessionService.isInvite();\n\n case 3:\n if (!_context5.sent) {\n _context5.next = 6;\n break;\n }\n\n leaveInvite = ignoreLocalCart;\n ignoreLocalCart = true;\n\n case 6:\n _context5.next = 8;\n return this._cartService.getCart();\n\n case 8:\n cart = _context5.sent;\n newCart = ignoreLocalCart ? null : this._prepareNewCart(cart);\n\n if (!leaveInvite) {\n _context5.next = 13;\n break;\n }\n\n _context5.next = 13;\n return this._sessionService.clearSessionDetails();\n\n case 13:\n _context5.next = 15;\n return this._httpService.post(this._urlBase + 'login', {\n username: credentials.username,\n password: credentials.password,\n cart: newCart\n });\n\n case 15:\n res = _context5.sent;\n _context5.next = 18;\n return this._cartService.clearLocalCart();\n\n case 18:\n this._sessionService.setCachedUser(null);\n _context5.next = 21;\n return this._updateSession(res.data);\n\n case 21:\n _context5.next = 23;\n return this._cartService.resetCart();\n\n case 23:\n this._loginPromise = null;\n return _context5.abrupt(\"return\", res.data.user);\n\n case 25:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function _doLogin(_x7, _x8) {\n return _ref5.apply(this, arguments);\n }\n\n return _doLogin;\n }()\n }, {\n key: \"ensureLoggedIn\",\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context6.sent) {\n _context6.next = 4;\n break;\n }\n\n return _context6.abrupt(\"return\", this.showLoginDialog());\n\n case 4:\n return _context6.abrupt(\"return\", this._qService.resolve());\n\n case 5:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function ensureLoggedIn() {\n return _ref6.apply(this, arguments);\n }\n\n return ensureLoggedIn;\n }()\n }, {\n key: \"logout\",\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n if (!this._loginPromise) {\n _context7.next = 5;\n break;\n }\n\n _context7.next = 3;\n return this.waitForLogin();\n\n case 3:\n this.logout();\n return _context7.abrupt(\"return\");\n\n case 5:\n _context7.next = 7;\n return this._sessionService.loggedIn();\n\n case 7:\n if (_context7.sent) {\n _context7.next = 9;\n break;\n }\n\n return _context7.abrupt(\"return\");\n\n case 9:\n _context7.next = 11;\n return this._httpService.post(this._urlBase + 'logout');\n\n case 11:\n\n this._sessionService.setCachedUser(null);\n this._sessionService.setStealthUserMode(null);\n this._cartService.resetCart();\n\n _context7.next = 16;\n return this._localForageService.clear();\n\n case 16:\n\n this.authToken = null;\n this._loginPromise = null;\n\n case 18:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function logout() {\n return _ref7.apply(this, arguments);\n }\n\n return logout;\n }()\n }, {\n key: \"register\",\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8(registration, ignoreLocalCart) {\n var cart, res;\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return this._sessionService.isInvite();\n\n case 2:\n if (!_context8.sent) {\n _context8.next = 4;\n break;\n }\n\n ignoreLocalCart = true;\n\n case 4:\n _context8.next = 6;\n return this._cartService.getCart();\n\n case 6:\n cart = _context8.sent;\n _context8.next = 9;\n return this._httpService.post(this._urlBase + 'register', {\n email: registration.email,\n password: registration.password,\n firstName: registration.firstName,\n lastName: registration.lastName,\n fullName: registration.fullName,\n confirmPassword: registration.password,\n cart: ignoreLocalCart ? null : this._prepareNewCart(cart)\n });\n\n case 9:\n res = _context8.sent;\n _context8.next = 12;\n return this._cartService.clearLocalCart();\n\n case 12:\n this._sessionService.setCachedUser(null);\n _context8.next = 15;\n return this._updateSession(res.data);\n\n case 15:\n this._cartService.resetCart();\n this._loginPromise = null;\n return _context8.abrupt(\"return\", res.data.user);\n\n case 18:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function register(_x9, _x10) {\n return _ref8.apply(this, arguments);\n }\n\n return register;\n }()\n }, {\n key: \"checkIfEmailCanRegister\",\n value: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9(email) {\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return this._httpService.post(this._urlBase + 'canEmailRegister', {\n email: email\n });\n\n case 2:\n return _context9.abrupt(\"return\", _context9.sent);\n\n case 3:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function checkIfEmailCanRegister(_x11) {\n return _ref9.apply(this, arguments);\n }\n\n return checkIfEmailCanRegister;\n }()\n }, {\n key: \"loginWithInviteToken\",\n value: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10(inviteDetails) {\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n inviteDetails.isInvite = true;\n _context10.next = 3;\n return this._sessionService.clearSessionDetails();\n\n case 3:\n _context10.next = 5;\n return this._sessionService.setSessionDetails(inviteDetails);\n\n case 5:\n this._sessionService.setCachedUser(null);\n this._sessionService.setCartReference(null);\n\n case 7:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function loginWithInviteToken(_x12) {\n return _ref10.apply(this, arguments);\n }\n\n return loginWithInviteToken;\n }()\n }, {\n key: \"onInviteAccepted\",\n value: function onInviteAccepted() {\n this._sessionService.setCachedUser(null);\n this._sessionService.setCartReference(null);\n }\n }, {\n key: \"externalLogin\",\n value: function externalLogin(provider) {\n var location = this._windowService.location;\n var redirectUri = location.origin + location.pathname;\n\n if (location.pathname === '/') {\n redirectUri += 'index.html';\n }\n\n var href = this._cartonomyConfig.ApiV2 + \"oauth/\" + provider + \"?\";\n\n if (this.authToken) {\n href += \"&authenticationToken=\" + this.authToken;\n }\n\n if (!href.startsWith('https') || !href.startsWith('http')) {\n href = location.origin + href;\n }\n\n href += \"&redirectUrl=\" + encodeURI(redirectUri);\n return href;\n }\n }, {\n key: \"validatePasswordTicket\",\n value: function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11(ticket, password) {\n var response;\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n _context11.next = 2;\n return this._httpService.post(this._urlUserBase + 'password/reset', {\n resetToken: ticket,\n password: password,\n confirmPassword: password\n });\n\n case 2:\n response = _context11.sent;\n\n if (!(response.data.result !== 'failure')) {\n _context11.next = 5;\n break;\n }\n\n return _context11.abrupt(\"return\", {\n success: true\n });\n\n case 5:\n if (!(response.data.errors && response.data.errors.length)) {\n _context11.next = 7;\n break;\n }\n\n return _context11.abrupt(\"return\", {\n success: false,\n errorMessage: response.data.errors[0].errorMessage\n });\n\n case 7:\n return _context11.abrupt(\"return\", {\n success: false\n });\n\n case 8:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function validatePasswordTicket(_x13, _x14) {\n return _ref11.apply(this, arguments);\n }\n\n return validatePasswordTicket;\n }()\n }, {\n key: \"sendValidateRequest\",\n value: function sendValidateRequest(email) {\n return this._httpService.post(this._urlUserBase + 'password/recover', {\n username: email\n });\n }\n }, {\n key: \"changePassword\",\n value: function changePassword(oldPassword, newPassword) {\n return this._httpService.post(this._urlUserBase + 'changepassword', {\n password: newPassword,\n confirmPassword: newPassword\n });\n }\n }, {\n key: \"getOpenIdProviders\",\n value: function getOpenIdProviders() {\n return [{\n id: 'facebook',\n title: 'Facebook',\n color: '#4267B2',\n provider: 'Facebook',\n icon: 'fa-facebook',\n svgIcon: 'resources/icons/social/facebook-logo.svg'\n }, {\n id: 'google+',\n title: 'Google+',\n color: '#da4a27',\n icon: 'fa-google-plus',\n provider: 'Google'\n }];\n }\n }]);\n\n return AuthenticationService;\n}();\n\nAuthenticationService.$inject = ['$http', '$timeout', 'Session', 'LocalForageService', 'cartonomyConfig', '$mdDialog', '$q', 'CartService', 'Message', '$window', '$state', '$rootScope'];\n\n\n_module3.default.service('AuthenticationService', AuthenticationService);\n\n/***/ }),\n/* 678 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
{{'client.user.password_required' | translate}}
{{'client.user.password_required' | translate}}{{'client.user.password_equal' | translate}}
{{errorMessage}}
\"\n\n/***/ }),\n/* 679 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _utils = __webpack_require__(29);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar AuthInterceptorService = function () {\n function AuthInterceptorService(session, rootScope, qService, cartonomyConfig) {\n var _this = this;\n\n _classCallCheck(this, AuthInterceptorService);\n\n this._session = session;\n this._rootScope = rootScope;\n this._qService = qService;\n this._cartonomyConfig = cartonomyConfig;\n\n // these calls are required as these methods will be used directly\n this.request = function (config) {\n return _this._request(config);\n };\n this.responseError = function (response) {\n return _this._responseError(response);\n };\n }\n\n _createClass(AuthInterceptorService, [{\n key: '_request',\n value: function _request(config) {\n config.headers = config.headers || {};\n\n if (config.method === \"GET\" && /\\.(html|svg|png|gif|jpg|css|js)$/.test(config.url)) {\n // these file types should be downloaded as static files, no authorization or other adjustments\n return config;\n }\n\n if (this._cartonomyConfig.externalStoreMode && this._cartonomyConfig.externalStoreUrl) {\n config.headers.X_EXTERNAL_STORE = this._cartonomyConfig.externalStoreUrl;\n }\n\n return this._session.getAuthToken().then(function (authToken) {\n if (!authToken) {\n return config;\n }\n\n config.headers.Authorization = 'Bearer ' + authToken;\n return config;\n });\n }\n }, {\n key: '_responseError',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(response) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(response.status === 401)) {\n _context.next = 5;\n break;\n }\n\n _context.next = 3;\n return this._session.clearSessionDetails();\n\n case 3:\n this._session.setCachedUser(null);\n this._session.setCartReference(null, false);\n\n case 5:\n return _context.abrupt('return', this._qService.reject(response));\n\n case 6:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _responseError(_x) {\n return _ref.apply(this, arguments);\n }\n\n return _responseError;\n }()\n }]);\n\n return AuthInterceptorService;\n}();\n\nAuthInterceptorService.$inject = ['Session', '$rootScope', '$q', 'cartonomyConfig'];\n\n\n_module3.default.service('AuthInterceptor', AuthInterceptorService).config(['$httpProvider', function ($httpProvider) {\n $httpProvider.interceptors.push('AuthInterceptor');\n}]);\n\n/***/ }),\n/* 680 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _utils = __webpack_require__(29);\n\nvar _communicationService = __webpack_require__(28);\n\nvar _commandKeys = __webpack_require__(27);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CartService = function () {\n function CartService(httpService, sessionService, cartonomyConfig, rootScope, localForageService, timeoutService, messageService, HeapService, RealTimeUpdateService, $translate) {\n _classCallCheck(this, CartService);\n\n this._httpService = httpService;\n this._sessionService = sessionService;\n this._rootScope = rootScope;\n this._urlBase = cartonomyConfig.ApiV2 + 'cart';\n this._urlBaseShopify = cartonomyConfig.ApiV2 + 'shopify';\n //this._sessionStorage = sessionStorage;\n this._localForageService = localForageService;\n this._isGroupOrder = false;\n this._timeoutService = timeoutService;\n this._messageService = messageService;\n this._heapService = HeapService;\n this._lastLeftCart = null;\n this.$translate = $translate;\n\n this.lastCartRequest = null;\n this._invitationType = _CommonConstants2.default.InvitationTypes.normal;\n this._inviteCode = null;\n this._inviteSingleLink = null;\n this._inviteMorePeopleMode = false;\n this.shareTokenPromise = null;\n }\n\n _createClass(CartService, [{\n key: 'clearCart',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var _this = this;\n\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context2.sent) {\n _context2.next = 6;\n break;\n }\n\n _context2.next = 5;\n return this.resetCart();\n\n case 5:\n return _context2.abrupt('return', new Promise(function (resolve) {\n return resolve();\n }));\n\n case 6:\n return _context2.abrupt('return', this._httpService.delete(this._urlBase + '/clearCart').then(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this.resetCart();\n\n case 2:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }))));\n\n case 7:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function clearCart() {\n return _ref.apply(this, arguments);\n }\n\n return clearCart;\n }()\n }, {\n key: 'deleteCart',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n var _this2 = this;\n\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context4.sent) {\n _context4.next = 6;\n break;\n }\n\n _context4.next = 5;\n return this.resetCart();\n\n case 5:\n return _context4.abrupt('return', new Promise(function (resolve) {\n return resolve();\n }));\n\n case 6:\n return _context4.abrupt('return', this.getCart().then(function (cart) {\n cart.createdOn = undefined; // in order to block main controller notification about removed carts\n return _this2._httpService.delete(_this2._urlBase).then(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _this2.resetCart();\n\n case 2:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, _this2);\n })));\n }));\n\n case 7:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function deleteCart() {\n return _ref3.apply(this, arguments);\n }\n\n return deleteCart;\n }()\n }, {\n key: 'getLastLeftCart',\n value: function getLastLeftCart() {\n return this._lastLeftCart;\n }\n }, {\n key: 'getUserLastCart',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n var _this3 = this;\n\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context5.sent) {\n _context5.next = 4;\n break;\n }\n\n return _context5.abrupt('return', \"\");\n\n case 4:\n if (!this.lastCartRequest) {\n _context5.next = 6;\n break;\n }\n\n return _context5.abrupt('return', this.lastCartRequest);\n\n case 6:\n\n this.lastCartRequest = this._httpService.get(this._urlBase + '/laststatus').then(function (response) {\n return response.data;\n }).finally(function () {\n _this3.lastCartRequest = null;\n });\n\n return _context5.abrupt('return', this.lastCartRequest);\n\n case 8:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function getUserLastCart() {\n return _ref5.apply(this, arguments);\n }\n\n return getUserLastCart;\n }()\n }, {\n key: 'isCartOwner',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n var cart, cartOwner, getEmail, isCartOwner;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return this.getCart();\n\n case 2:\n cart = _context6.sent;\n cartOwner = _.find(cart.participants, function (participant) {\n return participant.status === 'OWNER';\n });\n _context6.next = 6;\n return this._sessionService.getUserEmail();\n\n case 6:\n getEmail = _context6.sent;\n isCartOwner = getEmail === (cartOwner && cartOwner.email);\n return _context6.abrupt('return', isCartOwner);\n\n case 9:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function isCartOwner() {\n return _ref6.apply(this, arguments);\n }\n\n return isCartOwner;\n }()\n }, {\n key: 'isLastLeftCartDeadlineExpired',\n value: function isLastLeftCartDeadlineExpired() {\n if (!this._lastLeftCart || !this._lastLeftCart.closeOn) {\n return false;\n }\n var deadlineTime = (0, _moment2.default)(this._lastLeftCart.closeOn).subtract(15, 'minutes');\n return (0, _moment2.default)().isAfter(deadlineTime);\n }\n }, {\n key: 'leaveCart',\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context7.sent) {\n _context7.next = 6;\n break;\n }\n\n _context7.next = 5;\n return this.resetCart();\n\n case 5:\n return _context7.abrupt('return');\n\n case 6:\n _context7.next = 8;\n return this.getCart();\n\n case 8:\n this._lastLeftCart = _context7.sent;\n _context7.next = 11;\n return this._httpService.post(this._urlBase + '/leave');\n\n case 11:\n _context7.next = 13;\n return this._sessionService.isInvite();\n\n case 13:\n if (!_context7.sent) {\n _context7.next = 16;\n break;\n }\n\n _context7.next = 16;\n return this._sessionService.clearSessionDetails();\n\n case 16:\n _context7.next = 18;\n return this.resetCart();\n\n case 18:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function leaveCart() {\n return _ref7.apply(this, arguments);\n }\n\n return leaveCart;\n }()\n }, {\n key: 'checkOutCart',\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n return _context8.abrupt('return', this._httpService.get(this._urlBase + '/checkout'));\n\n case 1:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function checkOutCart() {\n return _ref8.apply(this, arguments);\n }\n\n return checkOutCart;\n }()\n }, {\n key: 'clearLocalCart',\n value: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.CART);\n\n case 2:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function clearLocalCart() {\n return _ref9.apply(this, arguments);\n }\n\n return clearLocalCart;\n }()\n }, {\n key: 'getLocalCart',\n value: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n var cart;\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return this._localForageService.retrieve(_CommonConstants2.default.SessionStorage.CART);\n\n case 2:\n cart = _context10.sent;\n\n if (!cart) {\n _context10.next = 5;\n break;\n }\n\n return _context10.abrupt('return', JSON.parse(cart));\n\n case 5:\n return _context10.abrupt('return', null);\n\n case 6:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function getLocalCart() {\n return _ref10.apply(this, arguments);\n }\n\n return getLocalCart;\n }()\n }, {\n key: 'getCartReport',\n value: function getCartReport(status) {\n var pageIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var pageSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000;\n\n return this._httpService.get(this._urlBase + '/cartsReport', {\n params: {\n pageIndex: pageIndex,\n pageSize: pageSize,\n status: status\n }\n }).then(function (response) {\n return response.data;\n }).catch(function (error) {\n throw error;\n });\n }\n }, {\n key: 'getCart',\n value: function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11(cartId) {\n var _this4 = this;\n\n var fromCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var promise, isLoggedIn, url, cart, response;\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n _context11.next = 2;\n return this._sessionService.getCartReference();\n\n case 2:\n promise = _context11.sent;\n\n if (!(fromCache && promise)) {\n _context11.next = 6;\n break;\n }\n\n this.setAddCartButtonState(promise);\n return _context11.abrupt('return', promise);\n\n case 6:\n _context11.next = 8;\n return this._sessionService.loggedIn();\n\n case 8:\n isLoggedIn = _context11.sent;\n\n if (!isLoggedIn) {\n _context11.next = 15;\n break;\n }\n\n url = this._urlBase;\n\n if (cartId) {\n url = this._urlBase + '/' + cartId;\n }\n\n return _context11.abrupt('return', this._httpService.get(url).then(function (response) {\n var cart = response.data;\n _this4.updateGroupOrderStatus(cart);\n _this4._sessionService.setCartReference(cart);\n if (_this4._rootScope.retailer && _this4._rootScope.retailer.customCartNames === '1') {\n _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.updateMyCartButtonText, { cartNameValue: cart.cartName });\n }\n\n _this4.setAddCartButtonState(cart);\n return cart;\n }));\n\n case 15:\n _context11.next = 17;\n return this.getLocalCart();\n\n case 17:\n cart = _context11.sent;\n response = cart || {\n items: [],\n participants: [],\n fulfillment: {}\n };\n\n this.setAddCartButtonState(cart);\n this._sessionService.setCartReference(response);\n return _context11.abrupt('return', response);\n\n case 22:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function getCart(_x3) {\n return _ref11.apply(this, arguments);\n }\n\n return getCart;\n }()\n }, {\n key: 'setAddCartButtonState',\n value: function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12(cart) {\n var cartOwner, getEmail, isOwner;\n return regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n if (!cart) {\n _context12.next = 7;\n break;\n }\n\n cartOwner = _.find(cart.participants, function (participant) {\n return participant.status === 'OWNER';\n });\n _context12.next = 4;\n return this._sessionService.getUserEmail();\n\n case 4:\n getEmail = _context12.sent;\n isOwner = getEmail === (cartOwner && cartOwner.email);\n\n if (this._rootScope.retailer) {\n if (this._rootScope.retailer.cartonomyMode !== _CommonConstants2.default.CartonomyMode.marketing || (isOwner || cart.participants.length == 0) && cart.participants.filter(function (p) {\n return p.status === 'JOINED';\n }).length === 0) {\n _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.enableAddToCartButton, {});\n } else {\n _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.removeAddToCartButton, {});\n }\n }\n\n case 7:\n case 'end':\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function setAddCartButtonState(_x5) {\n return _ref12.apply(this, arguments);\n }\n\n return setAddCartButtonState;\n }()\n }, {\n key: 'getCartById',\n value: function () {\n var _ref13 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13(cartId) {\n var promise;\n return regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n //let response = await this._httpService.get(this._urlBase + '/' + cartId);\n\n promise = this._httpService.get(this._urlBase + '/' + cartId).then(function (response) {\n var cart = response.data;\n //this.updateGroupOrderStatus(cart);\n return cart;\n });\n\n\n this._sessionService.setCartReference(promise);\n\n return _context13.abrupt('return', promise);\n\n case 3:\n case 'end':\n return _context13.stop();\n }\n }\n }, _callee13, this);\n }));\n\n function getCartById(_x6) {\n return _ref13.apply(this, arguments);\n }\n\n return getCartById;\n }()\n }, {\n key: 'getCartByInvitationCode',\n value: function () {\n var _ref14 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14(invitationCode) {\n var promise;\n return regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n promise = this._httpService.get(this._urlBase + '/invitation/' + invitationCode).then(function (response) {\n var cart = response.data;\n //this.updateGroupOrderStatus(cart);\n return cart;\n });\n return _context14.abrupt('return', promise);\n\n case 2:\n case 'end':\n return _context14.stop();\n }\n }\n }, _callee14, this);\n }));\n\n function getCartByInvitationCode(_x7) {\n return _ref14.apply(this, arguments);\n }\n\n return getCartByInvitationCode;\n }()\n }, {\n key: 'updateGroupOrderStatus',\n value: function updateGroupOrderStatus(cart) {\n var isGroupOrder = cart ? CartService.isGroupOrder(cart) : false;\n if (isGroupOrder != this._isGroupOrder) {\n this._isGroupOrder = isGroupOrder;\n this.onGroupOrderStatusChanged();\n }\n }\n }, {\n key: 'onGroupOrderStatusChanged',\n value: function onGroupOrderStatusChanged() {\n this._rootScope.$emit(_CommonConstants2.default.Events.GROUP_ORDER_STATUS_CHANGED);\n }\n }, {\n key: 'isGroupOrder',\n value: function () {\n var _ref15 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15(cart) {\n return regeneratorRuntime.wrap(function _callee15$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n _context15.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context15.sent) {\n _context15.next = 4;\n break;\n }\n\n return _context15.abrupt('return', false);\n\n case 4:\n if (!cart) {\n _context15.next = 6;\n break;\n }\n\n return _context15.abrupt('return', CartService.isGroupOrder(cart));\n\n case 6:\n _context15.t0 = CartService;\n _context15.next = 9;\n return this.getCart();\n\n case 9:\n _context15.t1 = _context15.sent;\n return _context15.abrupt('return', _context15.t0.isGroupOrder.call(_context15.t0, _context15.t1));\n\n case 11:\n case 'end':\n return _context15.stop();\n }\n }\n }, _callee15, this);\n }));\n\n function isGroupOrder(_x8) {\n return _ref15.apply(this, arguments);\n }\n\n return isGroupOrder;\n }()\n }, {\n key: 'getCartAmount',\n value: function () {\n var _ref16 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16() {\n var cart, items, amount;\n return regeneratorRuntime.wrap(function _callee16$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n _context16.next = 2;\n return this.getCart();\n\n case 2:\n cart = _context16.sent;\n items = _.cloneDeep(cart.items);\n amount = _.sumBy(items, function (item) {\n return item.price * item.quantity;\n });\n return _context16.abrupt('return', amount);\n\n case 6:\n case 'end':\n return _context16.stop();\n }\n }\n }, _callee16, this);\n }));\n\n function getCartAmount() {\n return _ref16.apply(this, arguments);\n }\n\n return getCartAmount;\n }()\n }, {\n key: '_updateLocalCart',\n value: function () {\n var _ref17 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee17(cart) {\n return regeneratorRuntime.wrap(function _callee17$(_context17) {\n while (1) {\n switch (_context17.prev = _context17.next) {\n case 0:\n _context17.next = 2;\n return this._localForageService.store(_CommonConstants2.default.SessionStorage.CART, JSON.stringify(cart));\n\n case 2:\n case 'end':\n return _context17.stop();\n }\n }\n }, _callee17, this);\n }));\n\n function _updateLocalCart(_x9) {\n return _ref17.apply(this, arguments);\n }\n\n return _updateLocalCart;\n }()\n }, {\n key: 'addProductFromShopify',\n value: function () {\n var _ref18 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee18(productVariantId, quantity, productOptions) {\n var params, response, cart;\n return regeneratorRuntime.wrap(function _callee18$(_context18) {\n while (1) {\n switch (_context18.prev = _context18.next) {\n case 0:\n params = {\n externalProductId: productVariantId,\n quantity: quantity,\n itemComment: \"\",\n itemOption: productOptions,\n itemName: \"\"\n };\n _context18.prev = 1;\n _context18.next = 4;\n return this._httpService.post(this._urlBase + '/item', params);\n\n case 4:\n response = _context18.sent;\n cart = response.data;\n\n\n this._heapService.track('AddItem', { itemId: productVariantId, quantity: quantity });\n\n this._sessionService.setCartReference(new Promise(function (resolve) {\n return resolve(cart);\n }));\n this.updateGroupOrderStatus(cart);\n _context18.next = 14;\n break;\n\n case 11:\n _context18.prev = 11;\n _context18.t0 = _context18['catch'](1);\n throw _context18.t0;\n\n case 14:\n case 'end':\n return _context18.stop();\n }\n }\n }, _callee18, this, [[1, 11]]);\n }));\n\n function addProductFromShopify(_x10, _x11, _x12) {\n return _ref18.apply(this, arguments);\n }\n\n return addProductFromShopify;\n }()\n }, {\n key: 'addProductFromCustomSite',\n value: function () {\n var _ref19 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee19(productVariantId, quantity, name, image, price, productOptions, productUrl) {\n var params, response, cart;\n return regeneratorRuntime.wrap(function _callee19$(_context19) {\n while (1) {\n switch (_context19.prev = _context19.next) {\n case 0:\n params = {\n externalProductId: productVariantId,\n quantity: quantity,\n itemComment: \"\",\n itemOption: productOptions,\n itemName: name,\n image: image,\n price: price,\n productUrl: productUrl\n };\n _context19.prev = 1;\n _context19.next = 4;\n return this._httpService.post(this._urlBase + '/item', params);\n\n case 4:\n response = _context19.sent;\n cart = response.data;\n\n\n this._heapService.track('AddItem', { itemId: productVariantId, quantity: quantity });\n\n this._sessionService.setCartReference(new Promise(function (resolve) {\n return resolve(cart);\n }));\n this.updateGroupOrderStatus(cart);\n _context19.next = 14;\n break;\n\n case 11:\n _context19.prev = 11;\n _context19.t0 = _context19['catch'](1);\n throw _context19.t0;\n\n case 14:\n case 'end':\n return _context19.stop();\n }\n }\n }, _callee19, this, [[1, 11]]);\n }));\n\n function addProductFromCustomSite(_x13, _x14, _x15, _x16, _x17, _x18, _x19) {\n return _ref19.apply(this, arguments);\n }\n\n return addProductFromCustomSite;\n }()\n }, {\n key: 'addProduct',\n value: function () {\n var _ref20 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee20(product) {\n var _this5 = this;\n\n var cart, existingItem, _email, onCartReceived, _ret, params, response, email, item;\n\n return regeneratorRuntime.wrap(function _callee20$(_context20) {\n while (1) {\n switch (_context20.prev = _context20.next) {\n case 0:\n _context20.next = 2;\n return this.getCart();\n\n case 2:\n cart = _context20.sent;\n existingItem = void 0;\n _context20.next = 6;\n return this._sessionService.loggedIn();\n\n case 6:\n if (!_context20.sent) {\n _context20.next = 13;\n break;\n }\n\n _context20.next = 9;\n return this._sessionService.getUserEmail();\n\n case 9:\n _email = _context20.sent;\n\n existingItem = cart.items && cart.items.find(function (item) {\n return item.catalogProductId === product.id && item.participantEmail === _email;\n });\n _context20.next = 14;\n break;\n\n case 13:\n existingItem = cart.items && cart.items.find(function (item) {\n return item.catalogProductId === product.id;\n });\n\n case 14:\n if (!existingItem) {\n _context20.next = 17;\n break;\n }\n\n existingItem.quantity += product.quantity;\n return _context20.abrupt('return', this.updateItem(existingItem, true));\n\n case 17:\n onCartReceived = function onCartReceived(cart, item) {\n _this5._sessionService.setCartReference(new Promise(function (resolve) {\n return resolve(cart);\n }));\n _this5._rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.DISPLAY_POPUP_BAG, item ? item.id : null);\n\n _this5.updateGroupOrderStatus(cart);\n };\n\n _context20.next = 20;\n return this._sessionService.loggedIn();\n\n case 20:\n if (_context20.sent) {\n _context20.next = 24;\n break;\n }\n\n _ret = function () {\n\n var itemId = _this5._itemId || 1;\n\n var item = {\n catalogProductId: product.id,\n catalogProductImage: product.image,\n quantity: product.quantity || 1,\n comment: product.comment,\n itemName: product.name,\n itemOption: \"\",\n price: product.price\n };\n\n if (!cart.items) {\n cart.items = [];\n }\n\n //noinspection JSReferencingMutableVariableFromClosure\n while (cart.items.find(function (item) {\n return item.id === itemId;\n })) {\n itemId++;\n }\n\n item.id = itemId;\n\n _this5._itemId = itemId + 1;\n\n item.total = item.price * item.quantity;\n\n cart.items.push(item);\n\n _this5._updateLocalCart(cart);\n onCartReceived(cart, item);\n return {\n v: void 0\n };\n }();\n\n if (!((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\")) {\n _context20.next = 24;\n break;\n }\n\n return _context20.abrupt('return', _ret.v);\n\n case 24:\n params = {\n catalogItemId: product.id,\n quantity: product.quantity || 1,\n itemComment: product.comment,\n itemOption: \"\",\n itemName: \"\"\n };\n _context20.next = 27;\n return this._httpService.post(this._urlBase + '/item', params);\n\n case 27:\n response = _context20.sent;\n\n\n cart = response.data;\n _context20.next = 31;\n return this._sessionService.getUserEmail();\n\n case 31:\n email = _context20.sent;\n item = cart.items && cart.items.find(function (item) {\n return item.catalogProductId === product.id && item.participantEmail === email;\n });\n\n\n onCartReceived(cart, item);\n\n case 34:\n case 'end':\n return _context20.stop();\n }\n }\n }, _callee20, this);\n }));\n\n function addProduct(_x20) {\n return _ref20.apply(this, arguments);\n }\n\n return addProduct;\n }()\n }, {\n key: 'updateItem',\n value: function () {\n var _ref21 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee21(item, displayPopupBag) {\n var _cart, existingItem, params, response, cartItem, cart, i;\n\n return regeneratorRuntime.wrap(function _callee21$(_context21) {\n while (1) {\n switch (_context21.prev = _context21.next) {\n case 0:\n _context21.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context21.sent) {\n _context21.next = 16;\n break;\n }\n\n _context21.next = 5;\n return this.getCart();\n\n case 5:\n _cart = _context21.sent;\n existingItem = _cart.items && _cart.items.find(function (i) {\n return i.id === item.id;\n });\n\n if (existingItem) {\n _context21.next = 9;\n break;\n }\n\n return _context21.abrupt('return');\n\n case 9:\n existingItem.quantity = item.quantity;\n existingItem.comment = item.comment;\n _context21.next = 13;\n return this._updateLocalCart(_cart);\n\n case 13:\n this._sessionService.setCartReference(new Promise(function (resolve) {\n return resolve(_cart);\n }));\n if (displayPopupBag) {\n this._rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.DISPLAY_POPUP_BAG, item.id);\n } else {\n this._rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.POPUP_BAG_CHANGED);\n }\n return _context21.abrupt('return');\n\n case 16:\n params = {\n id: item.id,\n catalogProductId: item.catalogProductId,\n quantity: item.quantity,\n itemComment: item.comment,\n itemOption: item.itemOption,\n isShared: item.isShared\n };\n _context21.next = 19;\n return this._httpService.put(this._urlBase + '/item', params);\n\n case 19:\n response = _context21.sent;\n cartItem = response.data;\n _context21.next = 23;\n return this._sessionService.getCartReference();\n\n case 23:\n cart = _context21.sent;\n\n if (cart) {\n _context21.next = 27;\n break;\n }\n\n this._rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.POPUP_BAG_CHANGED);\n return _context21.abrupt('return');\n\n case 27:\n if (!cart.items) {\n _context21.next = 37;\n break;\n }\n\n i = 0;\n\n case 29:\n if (!(i < cart.items.length)) {\n _context21.next = 37;\n break;\n }\n\n if (!(cart.items[i].id === cartItem.id)) {\n _context21.next = 34;\n break;\n }\n\n cartItem.product = cartItem.product || cart.items[i].product;\n cart.items[i] = cartItem;\n return _context21.abrupt('break', 37);\n\n case 34:\n i++;\n _context21.next = 29;\n break;\n\n case 37:\n\n this._sessionService.setCartReference(cart);\n\n if (displayPopupBag) {\n this._rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.DISPLAY_POPUP_BAG, item.id);\n } else {\n this._rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.POPUP_BAG_CHANGED);\n }\n\n case 39:\n case 'end':\n return _context21.stop();\n }\n }\n }, _callee21, this);\n }));\n\n function updateItem(_x21, _x22) {\n return _ref21.apply(this, arguments);\n }\n\n return updateItem;\n }()\n }, {\n key: 'deleteItem',\n value: function () {\n var _ref22 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee22(id) {\n var cart, index, res;\n return regeneratorRuntime.wrap(function _callee22$(_context22) {\n while (1) {\n switch (_context22.prev = _context22.next) {\n case 0:\n _context22.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context22.sent) {\n _context22.next = 14;\n break;\n }\n\n _context22.next = 5;\n return this.getCart();\n\n case 5:\n cart = _context22.sent;\n index = cart.items && cart.items.findIndex(function (item) {\n return item.id === id;\n });\n\n if (!(index < 0)) {\n _context22.next = 9;\n break;\n }\n\n return _context22.abrupt('return', false);\n\n case 9:\n cart.items.splice(index, 1);\n this._updateLocalCart(cart);\n this._sessionService.setCartReference(null);\n this._rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.POPUP_BAG_CHANGED);\n return _context22.abrupt('return', true);\n\n case 14:\n _context22.next = 16;\n return this._httpService.delete(this._urlBase + '/item/' + id);\n\n case 16:\n res = _context22.sent;\n\n\n this._sessionService.setCartReference(null);\n this._rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.POPUP_BAG_CHANGED);\n return _context22.abrupt('return', res);\n\n case 20:\n case 'end':\n return _context22.stop();\n }\n }\n }, _callee22, this);\n }));\n\n function deleteItem(_x23) {\n return _ref22.apply(this, arguments);\n }\n\n return deleteItem;\n }()\n }, {\n key: 'sendInvites',\n value: function sendInvites(emails) {\n return this._httpService.post(this._urlBase + '/participants', _.map(emails, function (email) {\n return {\n email: email\n };\n }));\n }\n }, {\n key: 'removeParticipant',\n value: function removeParticipant(participantEmail) {\n return this._httpService.delete(this._urlBase + '/participant?participantEmail=' + encodeURIComponent(participantEmail));\n }\n }, {\n key: 'getParticipants',\n value: function getParticipants() {\n return this._httpService.get(this._urlBase + '/participants').then(function (response) {\n return response.data;\n });\n }\n }, {\n key: 'transferOwner',\n value: function transferOwner(newOwnerParticipantId) {\n return this._httpService.post(this._urlBase + '/transferOwner/' + newOwnerParticipantId).then(function (response) {\n return response.data;\n });\n }\n }, {\n key: 'isOwner',\n value: function () {\n var _ref23 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee23(cart) {\n var userEmail, participant;\n return regeneratorRuntime.wrap(function _callee23$(_context23) {\n while (1) {\n switch (_context23.prev = _context23.next) {\n case 0:\n if (!(!cart || !cart.participants)) {\n _context23.next = 2;\n break;\n }\n\n return _context23.abrupt('return', false);\n\n case 2:\n _context23.next = 4;\n return this._sessionService.getUserEmail();\n\n case 4:\n userEmail = _context23.sent;\n participant = _.find(cart.participants, function (participant) {\n return participant.email === userEmail;\n });\n return _context23.abrupt('return', participant && participant.status === _CommonConstants2.default.CartDetails.Participant.Status.OWNER);\n\n case 7:\n case 'end':\n return _context23.stop();\n }\n }\n }, _callee23, this);\n }));\n\n function isOwner(_x24) {\n return _ref23.apply(this, arguments);\n }\n\n return isOwner;\n }()\n }, {\n key: 'isParticipantOwner',\n value: function () {\n var _ref24 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee24(participant) {\n return regeneratorRuntime.wrap(function _callee24$(_context24) {\n while (1) {\n switch (_context24.prev = _context24.next) {\n case 0:\n if (participant) {\n _context24.next = 2;\n break;\n }\n\n return _context24.abrupt('return', false);\n\n case 2:\n return _context24.abrupt('return', participant.status === _CommonConstants2.default.CartDetails.Participant.Status.OWNER);\n\n case 3:\n case 'end':\n return _context24.stop();\n }\n }\n }, _callee24, this);\n }));\n\n function isParticipantOwner(_x25) {\n return _ref24.apply(this, arguments);\n }\n\n return isParticipantOwner;\n }()\n }, {\n key: 'resetCart',\n value: function () {\n var _ref25 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee25() {\n return regeneratorRuntime.wrap(function _callee25$(_context25) {\n while (1) {\n switch (_context25.prev = _context25.next) {\n case 0:\n _context25.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context25.sent) {\n _context25.next = 5;\n break;\n }\n\n _context25.next = 5;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.CART);\n\n case 5:\n\n this._sessionService.setCartReference(null, false);\n this._rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.POPUP_BAG_CHANGED);\n\n case 7:\n case 'end':\n return _context25.stop();\n }\n }\n }, _callee25, this);\n }));\n\n function resetCart() {\n return _ref25.apply(this, arguments);\n }\n\n return resetCart;\n }()\n }, {\n key: 'getCartProperties',\n value: function () {\n var _ref26 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee26() {\n var cart;\n return regeneratorRuntime.wrap(function _callee26$(_context26) {\n while (1) {\n switch (_context26.prev = _context26.next) {\n case 0:\n _context26.next = 2;\n return this.getCart();\n\n case 2:\n cart = _context26.sent;\n _context26.next = 5;\n return this.isGroupOrder(cart);\n\n case 5:\n _context26.t0 = _context26.sent;\n _context26.t1 = this.isOwner(cart);\n _context26.t2 = cart.title;\n _context26.t3 = cart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.SINGLE;\n return _context26.abrupt('return', {\n isGroupOrder: _context26.t0,\n isOwner: _context26.t1,\n title: _context26.t2,\n singlePay: _context26.t3\n });\n\n case 10:\n case 'end':\n return _context26.stop();\n }\n }\n }, _callee26, this);\n }));\n\n function getCartProperties() {\n return _ref26.apply(this, arguments);\n }\n\n return getCartProperties;\n }()\n }, {\n key: 'getCartDetails',\n value: function () {\n var _ref27 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee27() {\n var fulfillment;\n return regeneratorRuntime.wrap(function _callee27$(_context27) {\n while (1) {\n switch (_context27.prev = _context27.next) {\n case 0:\n _context27.next = 2;\n return this.getCart();\n\n case 2:\n fulfillment = _context27.sent.fulfillment;\n return _context27.abrupt('return', {\n deliveryMethod: fulfillment.deliveryMethod || _CommonConstants2.default.CartDetails.DeliveryMethods.DEFAULT,\n paymentMethod: fulfillment.paymentMethod || _CommonConstants2.default.CartDetails.PaymentMethods.DEFAULT,\n shippingMethod: fulfillment.shippingMethod || _CommonConstants2.default.CartDetails.ShippingMethods.DEFAULT,\n deliveryDate: fulfillment.expectedOn,\n deliveryTime: fulfillment.expectedOn,\n deliveryPhone: fulfillment.shippingPhone,\n deliveryAddress: {\n city: fulfillment.shippingCity,\n street: fulfillment.shippingAddress,\n zip: fulfillment.shippingZip,\n aptSuite: fulfillment.shippingAddress2,\n state: fulfillment.shippingState\n }\n });\n\n case 4:\n case 'end':\n return _context27.stop();\n }\n }\n }, _callee27, this);\n }));\n\n function getCartDetails() {\n return _ref27.apply(this, arguments);\n }\n\n return getCartDetails;\n }()\n }, {\n key: 'setCartConfiguration',\n value: function () {\n var _ref28 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee28(configuration) {\n var cart;\n return regeneratorRuntime.wrap(function _callee28$(_context28) {\n while (1) {\n switch (_context28.prev = _context28.next) {\n case 0:\n _context28.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context28.sent) {\n _context28.next = 12;\n break;\n }\n\n _context28.next = 5;\n return this.getCart();\n\n case 5:\n cart = _context28.sent;\n\n cart.title = configuration.title;\n cart.comment = configuration.comment;\n _context28.next = 10;\n return this._updateLocalCart(cart);\n\n case 10:\n this._sessionService.setCartReference(null);\n return _context28.abrupt('return');\n\n case 12:\n _context28.next = 14;\n return this._httpService.put(this._urlBase, {\n title: configuration.title,\n comment: configuration.comment,\n automaticExpire: configuration.automaticExpire,\n automaticProcess: configuration.automaticProcess,\n sendCloseNotification: configuration.sendCloseNotification,\n orderLimit: configuration.orderLimit,\n orderLimitType: configuration.orderLimitType,\n closeOn: configuration.closeOn, // Must be retailer timezone\n shippingTotal: configuration.shippingTotal,\n taxTotal: configuration.taxTotal,\n cartName: configuration.cartName,\n retailerStoreId: configuration.retailerStoreId\n });\n\n case 14:\n case 'end':\n return _context28.stop();\n }\n }\n }, _callee28, this);\n }));\n\n function setCartConfiguration(_x26) {\n return _ref28.apply(this, arguments);\n }\n\n return setCartConfiguration;\n }()\n }, {\n key: 'setCartDetails',\n value: function () {\n var _ref29 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee29(details) {\n var fulfillment, url, response, cart;\n return regeneratorRuntime.wrap(function _callee29$(_context29) {\n while (1) {\n switch (_context29.prev = _context29.next) {\n case 0:\n _context29.next = 2;\n return this.getCart();\n\n case 2:\n fulfillment = _context29.sent.fulfillment;\n\n console.log('setCartDetails');\n _.assign(fulfillment, {\n deliveryMethod: details.deliveryMethod || fulfillment.deliveryMethod,\n paymentMethod: details.paymentMethod || fulfillment.paymentMethod,\n expectedOn: details.deliveryDate ? _moment2.default.utc(details.deliveryDate).format() : fulfillment.expectedOn,\n shippingPhone: details.deliveryPhone || fulfillment.shippingPhone,\n cartInvitationType: this._invitationType,\n shareToken: this._invitationType == _CommonConstants2.default.InvitationTypes.share ? this._inviteCode : null,\n cartName: details.cartName\n });\n\n if (details.deliveryAddress && (details.deliveryAddress.city || details.deliveryAddress.street || details.deliveryAddress.zip)) {\n fulfillment.shippingCity = details.deliveryAddress.city;\n fulfillment.shippingAddress = details.deliveryAddress.street;\n fulfillment.shippingZip = details.deliveryAddress.zip;\n fulfillment.shippingAddress2 = details.deliveryAddress.aptSuite;\n fulfillment.shippingState = details.deliveryAddress.state;\n }\n\n url = this._urlBase + \"/fulfillment\";\n _context29.next = 9;\n return this._httpService.put(url, fulfillment);\n\n case 9:\n response = _context29.sent;\n\n\n this.resetCartInvitationType();\n\n _context29.next = 13;\n return this.getCart();\n\n case 13:\n cart = _context29.sent;\n\n\n cart.fulfillment = response.data;\n\n return _context29.abrupt('return', response.data);\n\n case 16:\n case 'end':\n return _context29.stop();\n }\n }\n }, _callee29, this);\n }));\n\n function setCartDetails(_x27) {\n return _ref29.apply(this, arguments);\n }\n\n return setCartDetails;\n }()\n }, {\n key: 'acceptInvite',\n value: function () {\n var _ref30 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee30(token, forceInvite) {\n var invitationType, response;\n return regeneratorRuntime.wrap(function _callee30$(_context30) {\n while (1) {\n switch (_context30.prev = _context30.next) {\n case 0:\n invitationType = this._invitationType;\n _context30.next = 3;\n return this._httpService.post(this._urlBase + '/invite/accept', {\n token: token,\n forceInvite: forceInvite\n });\n\n case 3:\n response = _context30.sent;\n return _context30.abrupt('return', {\n alreadyJoined: response.data.alreadyJoined,\n authToken: response.data.authToken,\n userEmail: response.data.user.userName,\n userName: response.data.user.fullName,\n participantToken: response.data.participantToken,\n cartId: response.data.cartId\n });\n\n case 5:\n case 'end':\n return _context30.stop();\n }\n }\n }, _callee30, this);\n }));\n\n function acceptInvite(_x28, _x29) {\n return _ref30.apply(this, arguments);\n }\n\n return acceptInvite;\n }()\n }, {\n key: 'updateCartName',\n value: function () {\n var _ref31 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee31(cartName) {\n return regeneratorRuntime.wrap(function _callee31$(_context31) {\n while (1) {\n switch (_context31.prev = _context31.next) {\n case 0:\n if (this._sessionService.loggedIn()) {\n _context31.next = 2;\n break;\n }\n\n return _context31.abrupt('return');\n\n case 2:\n _context31.next = 4;\n return this._httpService.put(this._urlBase + '/updateCartName', {\n cartName: cartName\n });\n\n case 4:\n case 'end':\n return _context31.stop();\n }\n }\n }, _callee31, this);\n }));\n\n function updateCartName(_x30) {\n return _ref31.apply(this, arguments);\n }\n\n return updateCartName;\n }()\n }, {\n key: 'refreshItems',\n value: function refreshItems() {\n this._sessionService.setCartReference(null);\n }\n }, {\n key: 'getInvitationCode',\n value: function () {\n var _ref32 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee32() {\n return regeneratorRuntime.wrap(function _callee32$(_context32) {\n while (1) {\n switch (_context32.prev = _context32.next) {\n case 0:\n return _context32.abrupt('return', this._httpService.get(this._urlBase + '/getInvitationCode').then(function (response) {\n return response.data;\n }));\n\n case 1:\n case 'end':\n return _context32.stop();\n }\n }\n }, _callee32, this);\n }));\n\n function getInvitationCode() {\n return _ref32.apply(this, arguments);\n }\n\n return getInvitationCode;\n }()\n }, {\n key: 'getShareTokenByCartId',\n value: function () {\n var _ref33 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee33(cartId) {\n var _this6 = this;\n\n return regeneratorRuntime.wrap(function _callee33$(_context33) {\n while (1) {\n switch (_context33.prev = _context33.next) {\n case 0:\n if (!this.shareTokenPromise) {\n this.shareTokenPromise = new Promise(function (resolve) {\n _this6._httpService.get(_this6._urlBase + '/getShareTokenByCartId/' + cartId).then(function (response) {\n resolve(response.data);\n });\n });\n }\n return _context33.abrupt('return', this.shareTokenPromise);\n\n case 2:\n case 'end':\n return _context33.stop();\n }\n }\n }, _callee33, this);\n }));\n\n function getShareTokenByCartId(_x31) {\n return _ref33.apply(this, arguments);\n }\n\n return getShareTokenByCartId;\n }()\n }, {\n key: 'getParticipantamounts',\n value: function () {\n var _ref34 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee34(cartId) {\n return regeneratorRuntime.wrap(function _callee34$(_context34) {\n while (1) {\n switch (_context34.prev = _context34.next) {\n case 0:\n return _context34.abrupt('return', this._httpService.get(this._urlBase + '/getParticipantamounts/' + cartId).then(function (response) {\n return response.data;\n }));\n\n case 1:\n case 'end':\n return _context34.stop();\n }\n }\n }, _callee34, this);\n }));\n\n function getParticipantamounts(_x32) {\n return _ref34.apply(this, arguments);\n }\n\n return getParticipantamounts;\n }()\n }, {\n key: 'updateAmountTopay',\n value: function () {\n var _ref35 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee35(params) {\n return regeneratorRuntime.wrap(function _callee35$(_context35) {\n while (1) {\n switch (_context35.prev = _context35.next) {\n case 0:\n _context35.next = 2;\n return this._httpService.put(this._urlBase + '/updateParticipantamount', params);\n\n case 2:\n return _context35.abrupt('return', _context35.sent);\n\n case 3:\n case 'end':\n return _context35.stop();\n }\n }\n }, _callee35, this);\n }));\n\n function updateAmountTopay(_x33) {\n return _ref35.apply(this, arguments);\n }\n\n return updateAmountTopay;\n }()\n }, {\n key: 'setInvitationType',\n value: function setInvitationType(value) {\n this._invitationType = value;\n }\n }, {\n key: 'getInvitationType',\n value: function getInvitationType() {\n return this._invitationType;\n }\n }, {\n key: 'setInviteCode',\n value: function setInviteCode(value) {\n this._inviteCode = value;\n }\n }, {\n key: 'getInviteCode',\n value: function getInviteCode() {\n return this._inviteCode;\n }\n }, {\n key: 'setInviteSingleLink',\n value: function setInviteSingleLink(value) {\n this._inviteSingleLink = value;\n }\n }, {\n key: 'getInviteSingleLink',\n value: function getInviteSingleLink(value) {\n return this._inviteSingleLink;\n }\n }, {\n key: 'setInviteMorePeopleMode',\n value: function setInviteMorePeopleMode(value) {\n this._inviteMorePeopleMode = value;\n }\n }, {\n key: 'getInviteMorePeopleMode',\n value: function getInviteMorePeopleMode() {\n return this._inviteMorePeopleMode;\n }\n }, {\n key: 'resetCartInvitationType',\n value: function resetCartInvitationType() {\n this._inviteMorePeopleMode = false;\n this._inviteCode = null;\n this.shareTokenPromise = null;\n this._invitationType = _CommonConstants2.default.InvitationTypes.normal;\n this._inviteSingleLink = null;\n }\n }, {\n key: 'copyClipboard',\n value: function copyClipboard(invitationLink) {\n var copyElement = document.createElement(\"textarea\");\n copyElement.style.position = 'fixed';\n copyElement.style.opacity = '0';\n copyElement.textContent = invitationLink;\n copyElement.contentEditable = true;\n copyElement.readOnly = true;\n var body = document.getElementsByTagName('body')[0];\n body.appendChild(copyElement);\n if (_utils.utils.isIOSMobile) {\n\n var range = document.createRange();\n range.selectNodeContents(copyElement);\n var s = window.getSelection();\n s.removeAllRanges();\n s.addRange(range);\n copyElement.setSelectionRange(0, 999999);\n } else {\n copyElement.select();\n }\n document.execCommand('copy');\n body.removeChild(copyElement);\n }\n }, {\n key: 'confirmContinueCheckoutWhenMatchCartItems',\n value: function () {\n var _ref36 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee36() {\n var continueCheckout;\n return regeneratorRuntime.wrap(function _callee36$(_context36) {\n while (1) {\n switch (_context36.prev = _context36.next) {\n case 0:\n _context36.next = 2;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.confirm_checkout.match_items'), '', this.$translate.instant('client.ok'), this.$translate.instant('client.cancel'));\n\n case 2:\n continueCheckout = _context36.sent;\n return _context36.abrupt('return', continueCheckout);\n\n case 4:\n case 'end':\n return _context36.stop();\n }\n }\n }, _callee36, this);\n }));\n\n function confirmContinueCheckoutWhenMatchCartItems() {\n return _ref36.apply(this, arguments);\n }\n\n return confirmContinueCheckoutWhenMatchCartItems;\n }()\n }, {\n key: 'confirmContinueCheckout',\n value: function () {\n var _ref37 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee37() {\n var retailerName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'Shopify';\n var continueCheckout;\n return regeneratorRuntime.wrap(function _callee37$(_context37) {\n while (1) {\n switch (_context37.prev = _context37.next) {\n case 0:\n _context37.next = 2;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.confirm_checkout'), '', this.$translate.instant('client.ok'), this.$translate.instant('client.cancel'));\n\n case 2:\n continueCheckout = _context37.sent;\n return _context37.abrupt('return', continueCheckout);\n\n case 4:\n case 'end':\n return _context37.stop();\n }\n }\n }, _callee37, this);\n }));\n\n function confirmContinueCheckout() {\n return _ref37.apply(this, arguments);\n }\n\n return confirmContinueCheckout;\n }()\n }, {\n key: 'startProcessCheckout',\n value: function () {\n var _ref38 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee38() {\n var confirmed;\n return regeneratorRuntime.wrap(function _callee38$(_context38) {\n while (1) {\n switch (_context38.prev = _context38.next) {\n case 0:\n _context38.next = 2;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.start_checkout'), '', this.$translate.instant('client.yes'), this.$translate.instant('client.no'), 'md-warn');\n\n case 2:\n confirmed = _context38.sent;\n return _context38.abrupt('return', confirmed);\n\n case 4:\n case 'end':\n return _context38.stop();\n }\n }\n }, _callee38, this);\n }));\n\n function startProcessCheckout() {\n return _ref38.apply(this, arguments);\n }\n\n return startProcessCheckout;\n }()\n }], [{\n key: 'isGroupOrder',\n value: function isGroupOrder(cart) {\n if (!cart) {\n return false;\n }\n\n return cart.cartType === 'GROUP' || cart.participants && cart.participants.length > 1;\n }\n }]);\n\n return CartService;\n}();\n\nCartService.$inject = ['$http', 'Session', 'cartonomyConfig', '$rootScope', 'LocalForageService', '$timeout', 'Message', 'HeapService', 'RealTimeUpdateService', '$translate'];\n\n\n_module3.default.service('CartService', CartService);\n\n/***/ }),\n/* 681 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CheckoutService = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _retailerService = __webpack_require__(682);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CheckoutService = exports.CheckoutService = function () {\n function CheckoutService(httpService, cartonomyConfig, configurationService, rootScope, sessionService) {\n _classCallCheck(this, CheckoutService);\n\n this._urlBase = cartonomyConfig.ApiV2 + 'checkout';\n this._httpService = httpService;\n this._configurationService = configurationService;\n this._rootScope = rootScope;\n this._sessionService = sessionService;\n this.cartonomyConfig = cartonomyConfig;\n }\n\n _createClass(CheckoutService, [{\n key: '_getDefaultRetailerId',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var retailer;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._configurationService.getItem('retailer');\n\n case 2:\n retailer = _context.sent;\n return _context.abrupt('return', retailer.id);\n\n case 4:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _getDefaultRetailerId() {\n return _ref.apply(this, arguments);\n }\n\n return _getDefaultRetailerId;\n }()\n }, {\n key: 'getVendorList',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var retailerId, response;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._vendorList) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt('return', this._vendorList);\n\n case 2:\n _context2.next = 4;\n return this._getDefaultRetailerId();\n\n case 4:\n retailerId = _context2.sent;\n _context2.next = 7;\n return this._httpService.get(this._urlBase + '/options/' + retailerId);\n\n case 7:\n response = _context2.sent;\n\n this._vendorList = response.data;\n return _context2.abrupt('return', this._vendorList);\n\n case 10:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getVendorList() {\n return _ref2.apply(this, arguments);\n }\n\n return getVendorList;\n }()\n }, {\n key: 'getVendorMap',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n var vendorList, ret;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this.getVendorList();\n\n case 2:\n vendorList = _context3.sent;\n ret = {};\n\n vendorList.forEach(function (vendor) {\n ret[vendor.vendorName] = vendor.vendorId;\n });\n return _context3.abrupt('return', ret);\n\n case 6:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function getVendorMap() {\n return _ref3.apply(this, arguments);\n }\n\n return getVendorMap;\n }()\n }, {\n key: 'beginCheckout',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(vendorName) {\n var vendorMap, response;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this.getVendorMap();\n\n case 2:\n vendorMap = _context4.sent;\n _context4.next = 5;\n return this._httpService.post(this._urlBase + '/begin', {\n vendorId: vendorMap[vendorName]\n });\n\n case 5:\n response = _context4.sent;\n return _context4.abrupt('return', response.data);\n\n case 7:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function beginCheckout(_x) {\n return _ref4.apply(this, arguments);\n }\n\n return beginCheckout;\n }()\n }, {\n key: 'submitOrder',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(vendorName, configuration) {\n var vendorMap, url, params, response;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return this.getVendorMap();\n\n case 2:\n vendorMap = _context5.sent;\n url = this._urlBase + '/submit';\n params = {\n vendorId: vendorMap[vendorName],\n billing: {},\n amount: configuration.orderTotal,\n isAuthorization: configuration.isAuthorization\n };\n\n if (vendorName === 'Square') {\n params.nonce = configuration.nonce;\n params.billing.zip = configuration.cardData.billing_postal_code;\n } else {\n params.externalPayerId = configuration.externalPayerId;\n }\n _context5.next = 8;\n return this._httpService.post(url, params);\n\n case 8:\n response = _context5.sent;\n\n this._rootScope.$emit(_CommonConstants2.default.RootEvents.PAYMENT_STATUS_CHANGED);\n return _context5.abrupt('return', response.data);\n\n case 11:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function submitOrder(_x2, _x3) {\n return _ref5.apply(this, arguments);\n }\n\n return submitOrder;\n }()\n }, {\n key: 'paymentAuthorizedOrCaptured',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n var _this = this;\n\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context6.sent) {\n _context6.next = 4;\n break;\n }\n\n return _context6.abrupt('return', false);\n\n case 4:\n if (!this._paymentStatusPromise) {\n _context6.next = 6;\n break;\n }\n\n return _context6.abrupt('return', this._paymentStatusPromise);\n\n case 6:\n\n this._paymentStatusPromise = this._httpService.get(this._urlBase + '/paymentStatus').then(function (response) {\n setTimeout(function () {\n _this._paymentStatusPromise = null;\n }, 500);\n return response.data == 1 || response.data === 2;\n });\n\n return _context6.abrupt('return', this._paymentStatusPromise);\n\n case 8:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function paymentAuthorizedOrCaptured() {\n return _ref6.apply(this, arguments);\n }\n\n return paymentAuthorizedOrCaptured;\n }()\n }, {\n key: 'getShopifyCheckoutInfo',\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(userId) {\n var shopifyCheckoutUrl, response, data, errors, retailer, url, cartItemUrlPortions, cartInfoObj, i, shopifyCheckoutInfo, errorsList;\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n shopifyCheckoutUrl = this.cartonomyConfig.ApiV2 + 'shopify/checkout';\n\n\n if (userId) {\n shopifyCheckoutUrl += '?asUserId=' + userId;\n }\n\n _context7.next = 4;\n return this._httpService.get(shopifyCheckoutUrl);\n\n case 4:\n response = _context7.sent;\n data = response.data;\n errors = data.items.some(function (item) {\n return item.errors.length > 0;\n });\n _context7.next = 9;\n return this._configurationService.getItem('retailer');\n\n case 9:\n retailer = _context7.sent;\n url = '//' + retailer.externalAPIURL + '/cart/';\n cartItemUrlPortions = [];\n _context7.t0 = [];\n _context7.next = 15;\n return this._sessionService.getAuthToken();\n\n case 15:\n _context7.t1 = _context7.sent;\n _context7.next = 18;\n return _retailerService.retailerService.checkRetailer();\n\n case 18:\n _context7.t2 = _context7.sent.retailer.id;\n _context7.t3 = {\n 'cartonomy-bearer': _context7.t1,\n 'cartonomy-retailer': _context7.t2\n };\n cartInfoObj = {\n cartItems: _context7.t0,\n customAttributes: _context7.t3,\n discount: null\n };\n\n\n if (userId) {\n cartInfoObj.customAttributes['cartonomy-participant-user-id'] = userId;\n }\n\n if (data.ownerOrderNumber) {\n cartInfoObj.customAttributes['GroupOrderNumber'] = data.ownerOrderNumber;\n }\n\n if (data.deliveryDate) {\n cartInfoObj.customAttributes['DeliveryDate'] = _moment2.default.utc(data.deliveryDate).local().format('LLL');\n }\n\n for (i = 0; i < data.items.length; i++) {\n cartInfoObj.cartItems.push({\n id: data.items[i].variantID,\n quantity: data.items[i].quantity,\n itemOptions: data.items[i].itemOptions\n });\n cartItemUrlPortions.push(data.items[i].variantID + ':' + data.items[i].quantity);\n }\n\n _context7.t4 = cartItemUrlPortions.join(',') + \"?attributes[cartonomy-bearer]=\";\n _context7.next = 28;\n return this._sessionService.getAuthToken();\n\n case 28:\n _context7.t5 = _context7.sent;\n url += _context7.t4 + _context7.t5;\n\n\n if (data.discountCode !== undefined && data.discountCode != null && data.discountCode != \"\") {\n cartInfoObj.discount = data.discountCode;\n url += \"&discount=\" + encodeURIComponent(cartInfoObj.discount);\n }\n\n shopifyCheckoutInfo = {\n url: url,\n cartInfo: cartInfoObj,\n warningInfo: null,\n ownerPaid: data.ownerPaid\n };\n\n //check if hulkapps extension installed, it changes price\n\n if (errors && !window.hulkapps) {\n errorsList = [];\n\n data.items.forEach(function (item) {\n errorsList = errorsList.concat(item.errors);\n });\n\n shopifyCheckoutInfo.warningInfo = \"Prices in your cart have changed.

\" + errorsList.join('.
. Do you want to continue checking out, or to review your cart again?');\n }\n\n return _context7.abrupt('return', shopifyCheckoutInfo);\n\n case 34:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function getShopifyCheckoutInfo(_x4) {\n return _ref7.apply(this, arguments);\n }\n\n return getShopifyCheckoutInfo;\n }()\n }, {\n key: 'getAmazonCheckoutInfo',\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n var amazonCheckoutUrl, response, amazonCheckoutInfo;\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n amazonCheckoutUrl = this.cartonomyConfig.ApiV2 + 'amazon/checkout';\n _context8.next = 3;\n return this._httpService.get(amazonCheckoutUrl);\n\n case 3:\n response = _context8.sent;\n amazonCheckoutInfo = {\n url: response.data,\n cartInfo: null,\n warningInfo: null\n };\n return _context8.abrupt('return', amazonCheckoutInfo);\n\n case 6:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function getAmazonCheckoutInfo() {\n return _ref8.apply(this, arguments);\n }\n\n return getAmazonCheckoutInfo;\n }()\n }, {\n key: 'getWalmartCheckoutInfo',\n value: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n var walmartCheckoutUrl, response, walmartCheckoutInfo;\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n walmartCheckoutUrl = this.cartonomyConfig.ApiV2 + 'walmart/checkout';\n _context9.next = 3;\n return this._httpService.get(walmartCheckoutUrl);\n\n case 3:\n response = _context9.sent;\n walmartCheckoutInfo = {\n url: null,\n cartInfo: response.data,\n warningInfo: null\n };\n return _context9.abrupt('return', walmartCheckoutInfo);\n\n case 6:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function getWalmartCheckoutInfo() {\n return _ref9.apply(this, arguments);\n }\n\n return getWalmartCheckoutInfo;\n }()\n }, {\n key: 'getFreshopCheckoutInfo',\n value: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n var freshopCheckoutUrl, response, freshopCheckoutInfo;\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n freshopCheckoutUrl = this.cartonomyConfig.ApiV2 + 'freshop/checkout';\n _context10.next = 3;\n return this._httpService.get(freshopCheckoutUrl);\n\n case 3:\n response = _context10.sent;\n freshopCheckoutInfo = {\n url: null,\n cartInfo: response.data,\n warningInfo: null\n };\n return _context10.abrupt('return', freshopCheckoutInfo);\n\n case 6:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function getFreshopCheckoutInfo() {\n return _ref10.apply(this, arguments);\n }\n\n return getFreshopCheckoutInfo;\n }()\n }]);\n\n return CheckoutService;\n}();\n\nCheckoutService.$inject = ['$http', 'cartonomyConfig', 'ConfigurationService', '$rootScope', 'Session'];\n\n\n_module3.default.service('CheckoutService', CheckoutService);\n\n/***/ }),\n/* 682 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.retailerService = undefined;\n\nvar _RestClientService = __webpack_require__(683);\n\nvar _RestClientService2 = _interopRequireDefault(_RestClientService);\n\nvar _utils = __webpack_require__(29);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _cartonomy_config = __webpack_require__(413);\n\nvar _cartonomy_config2 = _interopRequireDefault(_cartonomy_config);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar retailerService = exports.retailerService = {\n getRetailer: function getRetailer() {\n var _this = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var localRetailer, _retailer;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n localRetailer = window.localStorage.getItem(_CommonConstants2.default.SessionStorage.RETAILER_DATA);\n\n if (localRetailer) {\n _context.next = 7;\n break;\n }\n\n _context.next = 4;\n return _this.checkRetailer();\n\n case 4:\n _retailer = _context.sent;\n\n window.localStorage.setItem(_CommonConstants2.default.SessionStorage.RETAILER_DATA, _retailer ? JSON.stringify(_retailer) : _retailer);\n return _context.abrupt(\"return\", _retailer);\n\n case 7:\n _context.next = 9;\n return JSON.parse(localRetailer);\n\n case 9:\n return _context.abrupt(\"return\", _context.sent);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, _this);\n }))();\n },\n getTranslations: function getTranslations() {\n var _this2 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _RestClientService2.default.get(_cartonomy_config2.default.backendEndPoint + \"/api/locales?shop=\" + _utils.utils.retailerShop);\n\n case 2:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, _this2);\n }))();\n },\n getLogo: function getLogo() {\n var _this3 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _RestClientService2.default.get(_cartonomy_config2.default.backendEndPoint + \"/api/styles/logo?shop=\" + _utils.utils.retailerShop);\n\n case 2:\n return _context3.abrupt(\"return\", _context3.sent);\n\n case 3:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, _this3);\n }))();\n },\n updateRetailer: function updateRetailer() {\n var _this4 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n var _retailer;\n\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _RestClientService2.default.get(_utils.utils.cartonomyApiUrl + \"v2/retailer/default?shop=\" + _utils.utils.retailerShop);\n\n case 2:\n _retailer = _context4.sent;\n\n window.localStorage.setItem(_CommonConstants2.default.SessionStorage.RETAILER_DATA, _retailer ? JSON.stringify(_retailer) : _retailer);\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, _this4);\n }))();\n },\n checkRetailer: function checkRetailer() {\n return _RestClientService2.default.get(_utils.utils.cartonomyApiUrl + \"v2/retailer/default?shop=\" + _utils.utils.retailerShop);\n },\n setRetailerCurrencyFormat: function setRetailerCurrencyFormat(retailerId, moneyFormat) {\n var _this5 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n return _context5.abrupt(\"return\", _RestClientService2.default.post(_utils.utils.cartonomyApiUrl + \"v2/retailer/\" + retailerId + \"/setting/currency\", {\n MoneyFormat: moneyFormat\n }));\n\n case 1:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, _this5);\n }))();\n }\n};\n\n/***/ }),\n/* 683 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RestClientService = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar RequestMethod = {\n HEAD: 'HEAD',\n GET: 'GET',\n POST: 'POST',\n PUT: 'PUT',\n DELETE: 'DELETE'\n};\n\n/**\r\n * Represent Centralize Ajax Service\r\n */\n\nvar applicationJsonType = 'application/json';\n\nvar RestClientService = exports.RestClientService = function () {\n function RestClientService() {\n _classCallCheck(this, RestClientService);\n\n this.getUrls = [];\n this.credentialOptions = null;\n this.keepCredential = false;\n }\n\n _createClass(RestClientService, [{\n key: 'useCredentials',\n value: function useCredentials() {\n this.credentialOptions = 'include';\n this.keepCredential = false;\n }\n }, {\n key: 'keepCredentials',\n value: function keepCredentials() {\n this.credentialOptions = 'include';\n this.keepCredential = true;\n }\n }, {\n key: 'request',\n value: function request(url, type, data, customHeaders) {\n var headers = {\n 'Content-Type': applicationJsonType,\n 'Accept': applicationJsonType\n };\n\n if (customHeaders) {\n headers = _.merge(headers, customHeaders);\n }\n\n var options = {\n method: type,\n headers: headers\n };\n\n if (data && headers['Content-Type'] === applicationJsonType) {\n options.body = JSON.stringify(data);\n }\n\n if (this.credentialOptions) {\n options.credentials = this.credentialOptions;\n if (!this.keepCredential) {\n this.credentialOptions = null;\n }\n }\n\n return fetch(url, options).then(function (response) {\n if (response.ok) {\n return response.text();\n }\n\n return response.json().then(function (actualResponse) {\n throw actualResponse;\n });\n }).then(function (response) {\n try {\n var resultObject = JSON.parse(response);\n\n return resultObject || JSON.parse(response);\n } catch (e) {\n return response;\n }\n });\n }\n }, {\n key: 'head',\n value: function head(url) {\n return this.request(url, RequestMethod.HEAD);\n }\n }, {\n key: 'get',\n value: function get(url, customHeaders) {\n return this.request(url, RequestMethod.GET, null, customHeaders);\n }\n }, {\n key: 'singleGet',\n value: function singleGet(url, customHeaders) {\n var _this = this;\n\n var existingRequest = this.getUrls.find(function (getRequest) {\n return getRequest.url === url;\n });\n if (existingRequest) {\n return existingRequest.request;\n }\n\n var promise = this.request(url, RequestMethod.GET, null, customHeaders).then(function (response) {\n setTimeout(function () {\n _this.getUrls = _.filter(_this.getUrls, function (getRequest) {\n return getRequest.url !== url;\n });\n }, 700);\n\n return response;\n });\n\n this.getUrls.push({\n url: url,\n request: promise\n });\n\n return promise;\n }\n }, {\n key: 'post',\n value: function post(url, data, customHeaders) {\n return this.request(url, RequestMethod.POST, data, customHeaders);\n }\n }, {\n key: 'put',\n value: function put(url, data, customHeaders) {\n return this.request(url, RequestMethod.PUT, data, customHeaders);\n }\n }, {\n key: 'delete',\n value: function _delete(url, customHeaders) {\n return this.request(url, RequestMethod.DELETE, null, customHeaders);\n }\n }], [{\n key: '_singleInstance',\n value: function _singleInstance() {\n return RestClientService.singleInstance || (RestClientService.singleInstance = new RestClientService());\n }\n }]);\n\n return RestClientService;\n}();\n\nRestClientService.singleInstance = null;\n\n\nvar restClientService = RestClientService._singleInstance();\n\nexports.default = restClientService;\n\n/***/ }),\n/* 684 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _IdleDetectingService = __webpack_require__(415);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ConfigurationService($http, $q, cartonomyConfig) {\n\n var urlBase = cartonomyConfig.ApiV2 + 'retailer/default' + window.location.search;\n\n var configurationService = {};\n\n var promise = $http.get(urlBase).then(function (response) {\n configurationService.retailer = response.data;\n return configurationService.retailer;\n });\n\n configurationService.getRetailer = function () {\n return _.cloneDeep(configurationService.retailer);\n };\n\n configurationService.getRetailerSettings = function () {\n return $http.get(cartonomyConfig.ApiV2 + 'retailer/settings').then(function (settingsResponse) {\n return settingsResponse.data;\n });\n };\n\n configurationService.getItem = function (key) {\n\n // todo: temporary solution to not to store hardcoded and potentially configurable values\n switch (key) {\n case 'deliveryDaysRange':\n return $q.resolve(5);\n }\n\n return promise.then(function (data) {\n return _.cloneDeep(data[key]);\n });\n };\n\n return configurationService;\n}\n\n_module3.default.factory('ConfigurationService', ['$http', '$q', 'cartonomyConfig', ConfigurationService]);\n\n/***/ }),\n/* 685 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction ContactsService($http, cartonomyConfig) {\n var _this = this;\n\n var urlBase = cartonomyConfig.ApiV2 + 'group';\n\n return {\n getContacts: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var response;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return $http.get(urlBase + '/contact/all');\n\n case 2:\n response = _context.sent;\n return _context.abrupt('return', response.data);\n\n case 4:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n return function getContacts() {\n return _ref.apply(this, arguments);\n };\n }(),\n\n getGroups: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var response;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return $http.get(urlBase);\n\n case 2:\n response = _context2.sent;\n return _context2.abrupt('return', response.data);\n\n case 4:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this);\n }));\n\n return function getGroups() {\n return _ref2.apply(this, arguments);\n };\n }(),\n\n createGroup: function createGroup(name, emails) {\n return $http.post(urlBase, {\n name: name,\n groupMembers: _.map(emails, function (email) {\n return { memberEmail: email };\n })\n });\n },\n\n updateGroup: function updateGroup(name, emails) {\n return $http.post(urlBase, {\n name: name,\n groupMembers: _.map(emails, function (email) {\n return { memberEmail: email };\n })\n });\n },\n\n getGroup: function getGroup(id) {\n return $http.get(urlBase + '/' + id).then(function (response) {\n return response.data;\n });\n }\n };\n}\n\n_module3.default.factory('ContactsService', ['$http', 'cartonomyConfig', ContactsService]);\n\n/***/ }),\n/* 686 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GroupOrderService = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _communicationService = __webpack_require__(28);\n\nvar _commandKeys = __webpack_require__(27);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar GroupOrderService = exports.GroupOrderService = function () {\n function GroupOrderService(httpService, cartonomyConfig, checkoutService, cartService, $window) {\n _classCallCheck(this, GroupOrderService);\n\n this.PayForEveryone = false;\n this.EverySelfPays = true;\n\n this._httpService = httpService;\n this._checkoutService = checkoutService;\n this._cartService = cartService;\n this._urlBase = cartonomyConfig.ApiV2 + 'order';\n this._urlGroupBase = cartonomyConfig.ApiV2 + 'group';\n this._windowService = $window;\n //noinspection JSIgnoredPromiseFromCall\n this.initConfiguration();\n\n this._customCartNameSetting = {\n customCartNames: '0',\n cartName: ''\n };\n }\n\n _createClass(GroupOrderService, [{\n key: 'save',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(data) {\n var cartName, configuration, cart;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cartName = this._customCartNameSetting.customCartNames === '1' ? this._customCartNameSetting.cartName : '';\n configuration = this.serialize();\n _context.next = 4;\n return this._cartService.getCart();\n\n case 4:\n cart = _context.sent;\n\n configuration.cartName = cartName;\n _context.next = 8;\n return this._cartService.setCartDetails(configuration);\n\n case 8:\n cart.orderLimit = configuration.price;\n cart.orderLimitType = configuration.budgetType;\n cart.closeOn = configuration.deadlineTime;\n cart.comment = '';\n cart.cartName = cartName;\n\n if (data && data.storeId) {\n cart.retailerStoreId = data.storeId;\n }\n\n _context.next = 16;\n return this._cartService.setCartConfiguration(cart);\n\n case 16:\n\n if (this._customCartNameSetting.customCartNames === '1' && this._customCartNameSetting.cartName !== '') {\n _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.updateMyCartButtonText, { cartNameValue: this._customCartNameSetting.cartName });\n }\n\n case 17:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function save(_x) {\n return _ref.apply(this, arguments);\n }\n\n return save;\n }()\n }, {\n key: 'sendInvites',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var emails;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._configuration.contactDetails && this._configuration.contactDetails.selectedEmails)) {\n _context2.next = 4;\n break;\n }\n\n emails = this._configuration.contactDetails.selectedEmails;\n _context2.next = 4;\n return this._cartService.sendInvites(emails);\n\n case 4:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function sendInvites() {\n return _ref2.apply(this, arguments);\n }\n\n return sendInvites;\n }()\n }, {\n key: 'saveToSessionStorage',\n value: function saveToSessionStorage() {\n this._windowService.sessionStorage.setItem(_CommonConstants2.default.SessionStorage.NEW_ORDER_CONFIGURATION, JSON.stringify(this._configuration));\n }\n }, {\n key: 'hasSavedSession',\n value: function hasSavedSession() {\n var configuration = this._windowService.sessionStorage.getItem(_CommonConstants2.default.SessionStorage.NEW_ORDER_CONFIGURATION);\n return !!configuration;\n }\n }, {\n key: 'loadFromSessionStorage',\n value: function loadFromSessionStorage() {\n var configuration = this._windowService.sessionStorage.getItem(_CommonConstants2.default.SessionStorage.NEW_ORDER_CONFIGURATION);\n this._configuration = JSON.parse(configuration);\n }\n }, {\n key: 'serialize',\n value: function serialize() {\n var configuration = _.cloneDeep(this._configuration);\n\n return {\n deliveryMethod: configuration.delivery ? _CommonConstants2.default.CartDetails.DeliveryMethods.DELIVERY : _CommonConstants2.default.CartDetails.DeliveryMethods.PICKUP,\n paymentMethod: configuration.paymentMethod,\n price: configuration.groupPay ? 0 : configuration.singlePayOrder.budget,\n budgetType: configuration.singlePayOrder.budgetType,\n deliveryPhone: configuration.deliveryDetails.phone,\n deadlineTime: configuration.deliveryDetails.deadlineTime,\n deliveryDate: configuration.deliveryDetails.deliveryTime,\n deliveryTime: configuration.deliveryDetails.deliveryTime,\n customCartNameSetting: this._customCartNameSetting\n };\n }\n }, {\n key: 'getPaymentSystems',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this._checkoutService.getVendorMap();\n\n case 2:\n return _context3.abrupt('return', _context3.sent);\n\n case 3:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function getPaymentSystems() {\n return _ref3.apply(this, arguments);\n }\n\n return getPaymentSystems;\n }()\n }, {\n key: 'getPaymentSystem',\n value: function getPaymentSystem() {\n return this._configuration.paymentSystem;\n }\n }, {\n key: 'setPaymentSystem',\n value: function setPaymentSystem(system) {\n this._configuration.paymentSystem = system;\n }\n }, {\n key: 'setAmountToPay',\n value: function setAmountToPay(amount) {\n this._configuration.amountToPay = amount;\n }\n }, {\n key: 'getAmountToPay',\n value: function getAmountToPay() {\n return this._configuration.amountToPay;\n }\n }, {\n key: 'setDeliveryMode',\n value: function setDeliveryMode(mode) {\n this._configuration.delivery = mode;\n }\n }, {\n key: 'getDeliveryMode',\n value: function getDeliveryMode() {\n return this._configuration.delivery;\n }\n }, {\n key: 'getDeliveryDetails',\n value: function getDeliveryDetails() {\n return this._configuration.deliveryDetails;\n }\n }, {\n key: 'setDeliveryDetails',\n value: function setDeliveryDetails(details) {\n this._configuration.deliveryDetails = details;\n }\n }, {\n key: 'getDeliveryAddress',\n value: function getDeliveryAddress() {\n return this._configuration.deliveryAddress;\n }\n }, {\n key: 'setDeliveryAddress',\n value: function setDeliveryAddress(address) {\n this._configuration.deliveryAddress = address;\n }\n }, {\n key: 'setPaymentMethod',\n value: function setPaymentMethod(method) {\n this._configuration.paymentMethod = method;\n }\n }, {\n key: 'getSelectedDeliveryAddress',\n value: function getSelectedDeliveryAddress() {\n return this._configuration.selectedDeliveryAddress;\n }\n }, {\n key: 'setSelectedDeliveryAddress',\n value: function setSelectedDeliveryAddress(selectedAddress) {\n this._configuration.selectedDeliveryAddress = selectedAddress;\n }\n }, {\n key: 'getGroupPay',\n value: function getGroupPay() {\n return this._configuration.groupPay;\n }\n }, {\n key: 'setGroupPay',\n value: function setGroupPay(groupPay) {\n this._configuration.groupPay = groupPay;\n }\n }, {\n key: 'getSinglePayOrder',\n value: function getSinglePayOrder() {\n return this._configuration.singlePayOrder;\n }\n }, {\n key: 'setSinglePayOrder',\n value: function setSinglePayOrder(singlePay) {\n this._configuration.singlePayOrder = singlePay;\n }\n }, {\n key: 'getContactDetails',\n value: function getContactDetails() {\n return this._configuration.contactDetails;\n }\n }, {\n key: 'setContactDetails',\n value: function setContactDetails(details) {\n this._configuration.contactDetails = details;\n }\n }, {\n key: 'getVendorDetails',\n value: function getVendorDetails() {\n return this._configuration.vendorDetails;\n }\n }, {\n key: 'setVendorDetails',\n value: function setVendorDetails(details) {\n this._configuration.vendorDetails = details;\n }\n }, {\n key: 'initConfiguration',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n this._configuration = {\n groupPay: true,\n amountToPay: 0\n };\n\n case 1:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function initConfiguration() {\n return _ref4.apply(this, arguments);\n }\n\n return initConfiguration;\n }()\n }, {\n key: 'loadConfiguration',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(configuration) {\n var cart;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return this._cartService.getCart();\n\n case 2:\n cart = _context5.sent;\n\n\n this._configuration = {\n delivery: configuration.deliveryMethod === _CommonConstants2.default.CartDetails.DeliveryMethods.DELIVERY,\n groupPay: configuration.paymentMethod !== _CommonConstants2.default.CartDetails.PaymentMethods.SINGLE,\n deliveryDetails: {\n deliveryTime: configuration.deliveryTime,\n deliveryDate: configuration.deliveryTime,\n phone: configuration.deliveryPhone,\n entered: !!configuration.deliveryPhone,\n accepted: !!configuration.deliveryPhone\n }\n };\n\n if (configuration.deliveryDetails) {\n //configuration.deliveryDetails.deadlineTime = cart.closeOn;\n this.setDeliveryDetails(configuration.deliveryDetails);\n } else {\n this._configuration.deliveryDetails.deadlineTime = cart.closeOn ? _.isDate(cart.closeOn) ? cart.closeOn : _moment2.default.utc(cart.closeOn).toDate() : undefined;\n\n this._configuration.deliveryDetails.defineDeadline = !!this._configuration.deliveryDetails.deadlineTime;\n\n this._configuration.deliveryDetails.placeEntered = true;\n }\n\n if (configuration.deliveryAddress) {\n this._configuration.deliveryAddress = {\n city: configuration.deliveryAddress.city,\n state: configuration.deliveryAddress.state,\n street: configuration.deliveryAddress.street,\n zip: configuration.deliveryAddress.zip,\n aptSuite: configuration.deliveryAddress.aptSuite,\n entered: !!configuration.deliveryAddress.street\n };\n }\n\n if (configuration.singlePayOrder) {\n configuration.singlePayOrder.budget = cart.orderLimit;\n this.setSinglePayOrder(configuration.singlePayOrder);\n } else {\n if (!this._configuration.groupPay) {\n this._configuration.singlePayOrder = {\n budget: cart.orderLimit\n };\n }\n }\n\n if (configuration.contactDetails) {\n this.setContactDetails(configuration.contactDetails);\n }\n\n case 8:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function loadConfiguration(_x2) {\n return _ref5.apply(this, arguments);\n }\n\n return loadConfiguration;\n }()\n }, {\n key: 'payNow',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(details) {\n var response;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return this._httpService.post(this._urlBase + \"payNow\", details);\n\n case 2:\n response = _context6.sent;\n return _context6.abrupt('return', response.data);\n\n case 4:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function payNow(_x3) {\n return _ref6.apply(this, arguments);\n }\n\n return payNow;\n }()\n }, {\n key: 'setCustomCartName',\n value: function setCustomCartName(customCartNames, cartName) {\n this._customCartNameSetting.customCartNames = customCartNames;\n this._customCartNameSetting.cartName = cartName;\n }\n }, {\n key: 'deleteContact',\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(contactUserId) {\n var response;\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return this._httpService.delete(this._urlGroupBase + '/contact/delete/' + contactUserId);\n\n case 2:\n response = _context7.sent;\n return _context7.abrupt('return', response.data);\n\n case 4:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function deleteContact(_x4) {\n return _ref7.apply(this, arguments);\n }\n\n return deleteContact;\n }()\n }]);\n\n return GroupOrderService;\n}();\n\nGroupOrderService.$inject = ['$http', 'cartonomyConfig', 'CheckoutService', 'CartService', '$window'];\n\n\n_module3.default.service('GroupOrder', GroupOrderService);\n\n/***/ }),\n/* 687 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageService = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar MessageService = exports.MessageService = function () {\n function MessageService(toastService, dialogService, rootScope) {\n _classCallCheck(this, MessageService);\n\n this._toastService = toastService;\n this._dialogService = dialogService;\n this._rootScope = rootScope;\n }\n\n _createClass(MessageService, [{\n key: '_showMessagePopup',\n value: function _showMessagePopup(messageText, isError, title) {\n var buttonText = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'Close';\n\n var self = this;\n return new Promise(function (resolve) {\n self._rootScope.headerMessage = {\n resolve: resolve,\n content: messageText,\n class: isError ? 'danger' : 'success'\n };\n _scope2.default.apply(self._rootScope);\n });\n // return this._dialogService.show({\n // controller: [ '$scope', '$mdDialog', ($scope, $mdDialog) => {\n // $scope.close = () => $mdDialog.hide();\n // $scope.title = title;\n // $scope.message = messageText;\n // $scope.isError = isError;\n // $scope.buttonText = buttonText;\n // } ],\n // templateUrl: 'modules/shared/views/messageDialog.html',\n // escapeToClose: true,\n // clickOutsideToClose: true\n // });\n }\n }, {\n key: 'showLoading',\n value: function showLoading() {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n _this._dialogService.show({\n controller: ['$scope', '$mdDialog', function ($scope, $mdDialog) {\n $scope.close = function () {\n return $mdDialog.hide();\n };\n resolve($scope);\n }],\n template: __webpack_require__(688),\n escapeToClose: true,\n clickOutsideToClose: false\n });\n });\n }\n }, {\n key: 'showLoadingWhiteBackground',\n value: function showLoadingWhiteBackground() {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n _this2._dialogService.show({\n controller: ['$scope', '$mdDialog', function ($scope, $mdDialog) {\n $scope.close = function () {\n return $mdDialog.hide();\n };\n resolve($scope);\n }],\n template: __webpack_require__(689),\n escapeToClose: true,\n clickOutsideToClose: false\n });\n });\n }\n }, {\n key: 'showErrorPopup',\n value: function showErrorPopup(messageText) {\n return this._showMessagePopup(messageText, true);\n }\n }, {\n key: 'showMessagePopup',\n value: function showMessagePopup(messageText, buttonText) {\n return this._showMessagePopup(messageText, false, '', buttonText);\n }\n }, {\n key: 'showAlertPopup',\n value: function showAlertPopup(messageText, buttonText) {\n return this._dialogService.show({\n controller: ['$scope', '$mdDialog', function ($scope, $mdDialog) {\n $scope.close = function () {\n return $mdDialog.hide();\n };\n $scope.title = '';\n $scope.message = messageText;\n $scope.buttonText = buttonText;\n }],\n templateUrl: 'modules/shared/views/messageDialog.html',\n escapeToClose: true,\n clickOutsideToClose: true,\n multiple: true,\n hasBackdrop: true\n });\n }\n }, {\n key: 'showQuestionPopup',\n value: function showQuestionPopup(messageText) {\n var title = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var yesBtnText = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'Yes';\n var noBtnText = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'No';\n var yesBtnClass = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'primary';\n var noBtnClass = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 'secondary';\n\n return this._dialogService.show({\n controller: ['$scope', '$mdDialog', function ($scope, $mdDialog) {\n $scope.close = function (response) {\n $mdDialog.hide(response);\n };\n\n $scope.cancel = function () {\n $mdDialog.hide(false);\n };\n\n $scope.title = title;\n $scope.message = messageText;\n $scope.yesBtnText = yesBtnText;\n $scope.yesBtnClass = yesBtnClass;\n $scope.noBtnText = noBtnText;\n $scope.noBtnClass = noBtnClass;\n }],\n templateUrl: 'modules/shared/views/questionDialog.html',\n escapeToClose: true,\n clickOutsideToClose: false\n });\n }\n }, {\n key: 'getMessageFromErrorResponse',\n value: function getMessageFromErrorResponse(response) {\n return response && response.data && response.data.message;\n }\n }, {\n key: 'isErrorResponse',\n value: function isErrorResponse(response) {\n return response && response.status >= 400;\n }\n }, {\n key: 'showErrorPopupForResponse',\n value: function showErrorPopupForResponse(errorResponse) {\n var message = this.getMessageFromErrorResponse(errorResponse);\n return this.showErrorPopup(message || errorResponse && errorResponse.statusText || \"Unknown error occurred: \" + JSON.stringify(errorResponse));\n }\n }]);\n\n return MessageService;\n}();\n\nMessageService.$inject = ['$mdToast', '$mdDialog', \"$rootScope\"];\n\n\n_module3.default.service('Message', MessageService);\n\n/***/ }),\n/* 688 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\"\n\n/***/ }),\n/* 689 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\"\n\n/***/ }),\n/* 690 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OrderSetupService = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _OrderSetupDialogController = __webpack_require__(419);\n\nvar _OrderSetupDialogController2 = _interopRequireDefault(_OrderSetupDialogController);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _communicationService = __webpack_require__(28);\n\nvar _commandKeys = __webpack_require__(27);\n\nvar _utils = __webpack_require__(29);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderSetupService = exports.OrderSetupService = function () {\n function OrderSetupService(cartonomyConfig, windowService, dialogService, sessionService, authenticationService, cartService, messageService, groupOrderService, localForageService, stateService, rootScope) {\n _classCallCheck(this, OrderSetupService);\n\n this._rootScope = rootScope;\n this._stateService = stateService;\n this._cartonomyConfig = cartonomyConfig;\n this._dialogService = dialogService;\n this._sessionService = sessionService;\n this._authenticationService = authenticationService;\n this._groupOrderService = groupOrderService;\n this._cartService = cartService;\n this._messageService = messageService;\n this._windowService = windowService;\n this.isOrderCreating = false;\n this.orderSetupDialogShowing = false;\n //this._sessionStorageService = sessionStorageService;\n this._localForageService = localForageService;\n\n this._dialogOptions = null;\n this._inviteMoreOption = null;\n\n this.invitationPromise = null;\n }\n\n _createClass(OrderSetupService, [{\n key: '_showOrderSetupDialog',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(options) {\n var _this = this;\n\n var cart, self;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._cartService.getCart();\n\n case 2:\n cart = _context.sent;\n\n this.orderSetupDialogShowing = true;\n _context.t0 = !(options && options.tabToShow);\n\n if (!_context.t0) {\n _context.next = 9;\n break;\n }\n\n _context.next = 8;\n return this._cartService.isGroupOrder(cart);\n\n case 8:\n _context.t0 = _context.sent;\n\n case 9:\n if (!_context.t0) {\n _context.next = 20;\n break;\n }\n\n if (!options.needAddItem) {\n _context.next = 16;\n break;\n }\n\n _context.next = 13;\n return this._stateService.go(_CommonConstants2.default.RoutingStates.USER_PROFILE);\n\n case 13:\n this._rootScope.$broadcast(_CommonConstants2.default.Events.ORDER_CREATED);\n setTimeout(function () {\n _this._stateService.go(_CommonConstants2.default.RoutingStates.CART);\n }, 0);\n return _context.abrupt('return');\n\n case 16:\n _context.next = 18;\n return this._rootScope.$broadcast(_CommonConstants2.default.Events.INVITATION_ACCEPTED);\n\n case 18:\n _context.next = 20;\n return this._sessionService.setCartReference(null, false);\n\n case 20:\n _context.prev = 20;\n\n if (this._cartService.getInvitationType() !== 2) this._cartService.setInvitationType(_CommonConstants2.default.InvitationTypes.normal);\n this._rootScope.$broadcast(_CommonConstants2.default.Events.DIALOG_OPENED, options && options.__editMode);\n self = this;\n\n this._dialogOptions = {\n controller: _OrderSetupDialogController2.default,\n template: __webpack_require__(693)(),\n // templateUrl: 'modules/order/views/orderSetupDialog.html',\n clickOutsideToClose: false,\n escapeToClose: false,\n locals: {\n tabToShow: options && options.tabToShow || null,\n initialConfiguration: options && options.initialConfiguration || {},\n initialCart: options && options.initialCart || {},\n paymentOptions: options && options.paymentOptions,\n editMode: options && options.__editMode\n },\n onRemoving: function onRemoving(event, removePromise) {\n self._rootScope.$broadcast(_CommonConstants2.default.Events.DIALOG_CLOSED);\n }\n };\n _context.next = 27;\n return this._dialogService.show(this._dialogOptions);\n\n case 27:\n return _context.abrupt('return', this._groupOrderService.serialize());\n\n case 30:\n _context.prev = 30;\n _context.t1 = _context['catch'](20);\n\n case 32:\n _context.prev = 32;\n\n this.orderSetupDialogShowing = false;\n return _context.finish(32);\n\n case 35:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this, [[20, 30, 32, 35]]);\n }));\n\n function _showOrderSetupDialog(_x) {\n return _ref.apply(this, arguments);\n }\n\n return _showOrderSetupDialog;\n }()\n }, {\n key: 'reShowDialog',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._dialogOptions) {\n _context2.next = 11;\n break;\n }\n\n _context2.next = 3;\n return this._localForageService.store(_CommonConstants2.default.SessionStorage.CREATE_ORDER_CURRENT_TAB, _CommonConstants2.default.OrderSetupTabs.ADD_PEOPLE);\n\n case 3:\n _context2.next = 5;\n return this._dialogService.show(this._dialogOptions);\n\n case 5:\n _context2.next = 7;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.CREATE_ORDER_CONFIGURATION);\n\n case 7:\n _context2.next = 9;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.CREATE_ORDER_CURRENT_TAB);\n\n case 9:\n _context2.next = 12;\n break;\n\n case 11:\n if (this._inviteMoreOption) this._dialogService.show(this._inviteMoreOption);else console.log('_dialogOptions and _inviteMoreOption are null');\n\n case 12:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function reShowDialog() {\n return _ref2.apply(this, arguments);\n }\n\n return reShowDialog;\n }()\n }, {\n key: 'hideDialog',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (this._dialogOptions) {\n this._dialogService.hide();\n }\n\n case 1:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function hideDialog() {\n return _ref3.apply(this, arguments);\n }\n\n return hideDialog;\n }()\n }, {\n key: 'showInviteMorePeople',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(emails) {\n var _this2 = this;\n\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n this._dialogOptions = null;\n this._inviteMoreOption = {\n templateUrl: 'modules/cart/views/addMorePeopleDialog.html',\n clickOutsideToClose: true,\n escapeToClose: true,\n controller: ['$scope', '$mdDialog', 'CartService', function (scope, dialogService, CartService) {\n\n scope.readOnly = false;\n scope.canAddEmail = false;\n\n scope.cancel = function () {\n dialogService.hide();\n };\n\n scope.$on('order:add:people.canAddPeople', function (s, value) {\n scope.canAddEmail = value;\n });\n\n scope.configuration = {\n exclude: emails\n };\n\n scope.onEmailChanges = function (emails) {\n scope.configuration.emails = emails;\n };\n\n scope.sendInvitation = function () {\n CartService.sendInvites(scope.configuration.emails).then(function () {\n dialogService.hide();\n CartService.resetCart();\n //return this._fetchParticipants();\n }).catch(function (error) {\n return _this2._messageService.showErrorPopupForResponse(error);\n });\n };\n\n scope.prepareSendingInvitations = function (emails) {\n scope.$broadcast(_CommonConstants2.default.Events.ADD_PEOPLE_ADVANCE_TO_NEXT_PAGE);\n scope.readOnly = true;\n _scope2.default.apply(scope);\n };\n\n scope.onDeleteContact = function (contact) {\n _this2._rootScope.$broadcast(_CommonConstants2.default.RootEvents.DELETE_CONTACT_CONFIRM_FROM_ADDMORE_PEOPLE, contact);\n };\n }]\n };\n\n this._dialogService.show(this._inviteMoreOption);\n _context4.next = 5;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.CREATE_ORDER_CURRENT_TAB);\n\n case 5:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function showInviteMorePeople(_x2) {\n return _ref4.apply(this, arguments);\n }\n\n return showInviteMorePeople;\n }()\n }, {\n key: 'onWindowUnloading',\n value: function onWindowUnloading(context) {\n if (!this.orderSetupDialogShowing) {\n return;\n }\n }\n }, {\n key: 'createOrder',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(needAddItem) {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context5.sent) {\n _context5.next = 5;\n break;\n }\n\n _context5.next = 5;\n return this._authenticationService.showLoginDialog('', 'facade', true);\n\n case 5:\n if (!this.isOrderCreating) {\n _context5.next = 7;\n break;\n }\n\n return _context5.abrupt('return', false);\n\n case 7:\n\n this.isOrderCreating = true;\n\n _context5.next = 10;\n return this._showOrderSetupDialog({\n needAddItem: needAddItem\n });\n\n case 10:\n\n this.isOrderCreating = false;\n\n return _context5.abrupt('return', true);\n\n case 12:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function createOrder(_x3) {\n return _ref5.apply(this, arguments);\n }\n\n return createOrder;\n }()\n }, {\n key: 'editOrder',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(tabId) {\n var cart, configuration;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n console.log('editOrder');\n _context6.next = 3;\n return this._cartService.getCart();\n\n case 3:\n cart = _context6.sent;\n _context6.next = 6;\n return this._cartService.getCartDetails(cart);\n\n case 6:\n configuration = _context6.sent;\n\n console.log(configuration);\n _context6.next = 10;\n return this._showOrderSetupDialog({\n tabToShow: tabId,\n initialConfiguration: configuration,\n initialCart: cart,\n __editMode: true\n });\n\n case 10:\n configuration = _context6.sent;\n\n if (configuration) {\n _context6.next = 13;\n break;\n }\n\n return _context6.abrupt('return', null);\n\n case 13:\n _context6.next = 15;\n return this._cartService.setCartDetails(configuration);\n\n case 15:\n cart.cartName = configuration.customCartNameSetting.customCartNames === '1' ? configuration.customCartNameSetting.cartName : '';\n if (configuration.customCartNameSetting.customCartNames === '1' && configuration.customCartNameSetting.cartName !== '') {\n _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.updateMyCartButtonText, { cartNameValue: configuration.customCartNameSetting.cartName });\n }\n cart.orderLimit = isNaN(configuration.price) ? null : Number(configuration.price);\n cart.closeOn = configuration.deadlineTime;\n _context6.next = 21;\n return this._cartService.setCartConfiguration(cart);\n\n case 21:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function editOrder(_x4) {\n return _ref6.apply(this, arguments);\n }\n\n return editOrder;\n }()\n }, {\n key: 'continueOrder',\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(paymentOptions) {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context7.sent) {\n _context7.next = 5;\n break;\n }\n\n _context7.next = 5;\n return this._authenticationService.showLoginDialog('', 'facade', true);\n\n case 5:\n _context7.next = 7;\n return this._showOrderSetupDialog({\n paymentOptions: paymentOptions\n });\n\n case 7:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function continueOrder(_x5) {\n return _ref7.apply(this, arguments);\n }\n\n return continueOrder;\n }()\n }, {\n key: 'showInvitePreview',\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n var cart, configuration;\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return this._cartService.getCart();\n\n case 2:\n cart = _context8.sent;\n _context8.next = 5;\n return this._cartService.getCartDetails(cart);\n\n case 5:\n configuration = _context8.sent;\n _context8.next = 8;\n return this._showOrderSetupDialog({\n tabToShow: _CommonConstants2.default.OrderSetupTabs.INVITE_WELCOME,\n initialConfiguration: configuration,\n initialCart: cart\n });\n\n case 8:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function showInvitePreview() {\n return _ref8.apply(this, arguments);\n }\n\n return showInvitePreview;\n }()\n }]);\n\n return OrderSetupService;\n}();\n\nOrderSetupService.$inject = ['cartonomyConfig', '$window', '$mdDialog', 'Session', 'AuthenticationService', 'CartService', 'Message', 'GroupOrder', 'LocalForageService', '$state', '$rootScope'];\n\n\n_module3.default.service('OrderSetupService', OrderSetupService);\n\n/***/ }),\n/* 691 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar jade = __webpack_require__(41);\n\nmodule.exports = function template(locals) {\nvar buf = [];\nvar jade_mixins = {};\nvar jade_interp;\n\nbuf.push(\"

{{'client.user.remove_contact' | translate}}

{{'client.yes' | translate}}{{'client.no' | translate}}
\");;return buf.join(\"\");\n}\n\n/***/ }),\n/* 692 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar jade = __webpack_require__(41);\n\nmodule.exports = function template(locals) {\nvar buf = [];\nvar jade_mixins = {};\nvar jade_interp;\n\nbuf.push(\"

{{'client.order.welcome_to' | translate}} {{orderTitle}}

{{payerTitle | translate}}

\\n\\n\\n\\n\\n\\n\\n\\n\\n
{{deadline | translate}}
{{budget | translate}}
\");;return buf.join(\"\");\n}\n\n/***/ }),\n/* 693 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar jade = __webpack_require__(41);\n\nmodule.exports = function template(locals) {\nvar buf = [];\nvar jade_mixins = {};\nvar jade_interp;\n\nbuf.push(\"

{{selectedTab.title | translate}}

\");;return buf.join(\"\");\n}\n\n/***/ }),\n/* 694 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RealTimeUpdateService = exports.connectionState = exports.connectionStateString = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _utils = __webpack_require__(29);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar connectionStateString = exports.connectionStateString = ['connecting', 'connected', 'reconnecting', '', 'disconnected'];\n\nvar connectionState = exports.connectionState = {\n connecting: 0,\n connected: 1,\n reconnecting: 2,\n disconnected: 4\n};\n\nvar RealTimeUpdateService = exports.RealTimeUpdateService = function () {\n function RealTimeUpdateService(cartonomyConfig, sessionService, rootScope, Hub) {\n var _this = this;\n\n _classCallCheck(this, RealTimeUpdateService);\n\n this._hubService = Hub;\n this._sessionService = sessionService;\n this._rootScope = rootScope;\n this._cartonomyConfig = cartonomyConfig;\n this.hubOptions = null;\n this.retriesResetConnection = 0;\n this.intentionallyDisconnected = false;\n\n var signalrServerRoot = this._cartonomyConfig.backendEndPoint.trim('/') + '/signalr';\n\n this.hubConfiguration = {\n listeners: {\n onCartUpdated: function onCartUpdated() {\n return _this._onCartUpdated();\n },\n onCartCheckedOut: function onCartCheckedOut() {\n return _this._onCartCheckedOut();\n },\n onCartItemsUpdated: function onCartItemsUpdated(cartUpdate) {\n return _this._onCartItemsUpdated(cartUpdate);\n },\n onChatMessageReceived: function onChatMessageReceived(messageObj) {\n return _this._onChatMessageReceived(messageObj);\n },\n onCartCancelledByOwner: function onCartCancelledByOwner(messageObj) {\n return _this._onCartCancelledByOwner();\n },\n onCartClearedByOwner: function onCartClearedByOwner(messageObj) {\n return _this._onCartClearedByOwner();\n },\n onRemovedByOwner: function onRemovedByOwner(messageObj) {\n return _this._onRemovedByOwner();\n },\n onCartOwnershipTransfererred: function onCartOwnershipTransfererred(messageObj) {\n return _this._onCartOwnershipTransferred(messageObj);\n },\n onSwitchedCart: function onSwitchedCart(messageObj) {\n return _this._onSwitchedCart(messageObj);\n }\n },\n serverMethods: ['createMessage'],\n rootPath: signalrServerRoot,\n onError: function onError(error) {\n return _this._onHubError(error);\n },\n\n errorHandler: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(error) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this.resetConnection();\n\n case 1:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n return function errorHandler(_x) {\n return _ref.apply(this, arguments);\n };\n }(),\n\n stateChanged: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(state) {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (state.newState === connectionState.disconnected && !_this.intentionallyDisconnected) {\n setTimeout(function () {\n _this.retriesResetConnection++;\n if (_this.retriesResetConnection === 50 && navigator.onLine) {\n //ping to check internet\n fetch(_utils.utils.cartonomyApiUrl + 'v2/version/ping').then(function (response) {\n if (response.status === 200) {\n window.location.reload();\n }\n }).catch(function (error) {\n console.log(error);\n });\n } else if (_this.retriesResetConnection > 50) {\n _this.retriesResetConnection = 0;\n }\n _this.resetConnection();\n }, 2000);\n }\n\n if (state.newState === connectionState.connected) {\n _this._rootScope.$broadcast(_CommonConstants2.default.Events.SIGNALR_CONNECTED);\n setTimeout(function () {\n _this.retriesResetConnection = 0;\n }, 5000);\n }\n\n case 2:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this);\n }));\n\n return function stateChanged(_x2) {\n return _ref2.apply(this, arguments);\n };\n }()\n };\n\n rootScope.$on(_CommonConstants2.default.Events.USER_LOGGED_OUT, function (scope) {\n _this.disconnect(true);\n _this.reset();\n });\n }\n\n _createClass(RealTimeUpdateService, [{\n key: '_onHubError',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(error) {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n console.error(error);\n this.resetConnection();\n\n case 2:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function _onHubError(_x3) {\n return _ref3.apply(this, arguments);\n }\n\n return _onHubError;\n }()\n }, {\n key: 'disconnect',\n value: function disconnect(intentionally) {\n this.intentionallyDisconnected = !!intentionally;\n try {\n this.instance && this.instance.disconnect();\n } catch (e) {} finally {\n this.instance = null;\n }\n }\n }, {\n key: 'resetConnection',\n value: function resetConnection() {\n this.disconnect();\n this._createHub(this.hubOptions);\n }\n }, {\n key: 'ensureConnected',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (!this.instance) {\n _context4.next = 2;\n break;\n }\n\n return _context4.abrupt('return');\n\n case 2:\n _context4.next = 4;\n return this._connect();\n\n case 4:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function ensureConnected() {\n return _ref4.apply(this, arguments);\n }\n\n return ensureConnected;\n }()\n }, {\n key: '_connect',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n this.hubOptions = _.cloneDeep(this.hubConfiguration);\n\n _context5.next = 3;\n return this._sessionService.getAuthToken();\n\n case 3:\n _context5.t0 = _context5.sent;\n _context5.t1 = 'Bearer ' + _context5.t0;\n _context5.t2 = this._cartonomyConfig.externalStoreUrl;\n this.hubOptions.queryParams = {\n Authorization: _context5.t1,\n X_EXTERNAL_STORE: _context5.t2\n };\n\n\n this.intentionallyDisconnected = false;\n this._createHub();\n\n _context5.next = 11;\n return this.instance.connect().done();\n\n case 11:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function _connect() {\n return _ref5.apply(this, arguments);\n }\n\n return _connect;\n }()\n }, {\n key: '_createHub',\n value: function _createHub() {\n this.instance = new this._hubService('clientGroupCartHub', this.hubOptions);\n }\n }, {\n key: 'reset',\n value: function reset() {\n this._postList = [];\n }\n }, {\n key: '_onCartUpdated',\n value: function _onCartUpdated() {\n this._sessionService.setCartReference(null);\n }\n }, {\n key: '_onSwitchedCart',\n value: function _onSwitchedCart(cartInfo) {\n this._rootScope.$broadcast(_CommonConstants2.default.Events.USER_JOINED_OTHER_CART, cartInfo);\n }\n }, {\n key: '_onCartClearedByOwner',\n value: function _onCartClearedByOwner() {\n this._rootScope.$broadcast(_CommonConstants2.default.Events.ORDER_CLEARED_BY_OWNER);\n }\n }, {\n key: '_onCartCancelledByOwner',\n value: function _onCartCancelledByOwner() {\n this._rootScope.$broadcast(_CommonConstants2.default.Events.ORDER_CANCELLED_BY_OWNER);\n }\n }, {\n key: '_onRemovedByOwner',\n value: function _onRemovedByOwner() {\n this._rootScope.$broadcast(_CommonConstants2.default.Events.USER_REMOVED_BY_OWNER);\n }\n }, {\n key: '_onCartCheckedOut',\n value: function _onCartCheckedOut() {\n this._rootScope.$broadcast(_CommonConstants2.default.Events.ORDER_CHECKED_OUT);\n }\n }, {\n key: '_onChatMessageReceived',\n value: function _onChatMessageReceived(messageObj) {\n this._rootScope.$broadcast(_CommonConstants2.default.Events.REALTIME_CHAT_RECEIVED, messageObj);\n }\n }, {\n key: '_onCartOwnershipTransferred',\n value: function _onCartOwnershipTransferred(messageObj) {\n new Audio(_CommonConstants2.default.Notifications.newCartItemNotification).play();\n this._rootScope.$broadcast(_CommonConstants2.default.Events.CART_OWNERSHIP_TRANSFERRED, messageObj);\n }\n }, {\n key: '_onCartItemsUpdated',\n value: function _onCartItemsUpdated(cartUpdate) {\n if (!cartUpdate.isOwner) {\n new Audio(_CommonConstants2.default.Notifications.newCartItemNotification).play();\n }\n\n this._rootScope.$broadcast(_CommonConstants2.default.Events.CART_ITEMS_CHANGED, cartUpdate);\n this._sessionService.setCartReference(null);\n this._rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.POPUP_BAG_CHANGED);\n }\n }]);\n\n return RealTimeUpdateService;\n}();\n\nRealTimeUpdateService.$inject = ['cartonomyConfig', 'Session', '$rootScope', 'Hub'];\n\n\n_module3.default.service('RealTimeUpdateService', RealTimeUpdateService);\n\n/***/ }),\n/* 695 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction SessionService(localForageService, timeoutService, rootScope) {\n\n var cartReference = undefined;\n var cartEmitTimeout = null;\n var stealthUserMode = null;\n\n return {\n\n getCartReference: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt('return', cartReference);\n\n case 1:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getCartReference() {\n return _ref.apply(this, arguments);\n }\n\n return getCartReference;\n }(),\n\n setCartReference: function setCartReference(reference) {\n var notify = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n cartReference = reference;\n if (!notify) {\n return;\n }\n\n if (cartEmitTimeout) {\n timeoutService.cancel(cartEmitTimeout);\n }\n\n cartEmitTimeout = timeoutService(function () {\n rootScope.$broadcast(_CommonConstants2.default.RootEvents.CART_CHANGED);\n cartEmitTimeout = null;\n }, 200);\n },\n\n setSessionDetails: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(details) {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return localForageService.store(_CommonConstants2.default.SessionStorage.USER_EMAIL, details.userEmail);\n\n case 2:\n _context2.next = 4;\n return localForageService.store(_CommonConstants2.default.SessionStorage.USER_NAME, details.userName);\n\n case 4:\n _context2.next = 6;\n return localForageService.store(_CommonConstants2.default.SessionStorage.USER_FIRST_NAME, details.firstName);\n\n case 6:\n _context2.next = 8;\n return localForageService.store(_CommonConstants2.default.SessionStorage.USER_LAST_NAME, details.lastName);\n\n case 8:\n _context2.next = 10;\n return localForageService.store(_CommonConstants2.default.SessionStorage.AUTH_TOKEN, details.authToken);\n\n case 10:\n _context2.next = 12;\n return localForageService.store(_CommonConstants2.default.SessionStorage.IS_INVITE, details.isInvite || false);\n\n case 12:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function setSessionDetails(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return setSessionDetails;\n }(),\n\n clearSessionDetails: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return localForageService.remove(_CommonConstants2.default.SessionStorage.USER_EMAIL);\n\n case 2:\n _context3.next = 4;\n return localForageService.remove(_CommonConstants2.default.SessionStorage.USER_NAME);\n\n case 4:\n _context3.next = 6;\n return localForageService.remove(_CommonConstants2.default.SessionStorage.USER_FIRST_NAME);\n\n case 6:\n _context3.next = 8;\n return localForageService.remove(_CommonConstants2.default.SessionStorage.USER_LAST_NAME);\n\n case 8:\n _context3.next = 10;\n return localForageService.remove(_CommonConstants2.default.SessionStorage.AUTH_TOKEN);\n\n case 10:\n _context3.next = 12;\n return localForageService.remove(_CommonConstants2.default.SessionStorage.IS_INVITE);\n\n case 12:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function clearSessionDetails() {\n return _ref3.apply(this, arguments);\n }\n\n return clearSessionDetails;\n }(),\n\n hasAuthToken: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return localForageService.exists(_CommonConstants2.default.SessionStorage.AUTH_TOKEN);\n\n case 2:\n return _context4.abrupt('return', _context4.sent);\n\n case 3:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function hasAuthToken() {\n return _ref4.apply(this, arguments);\n }\n\n return hasAuthToken;\n }(),\n\n getAuthToken: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return localForageService.retrieve(_CommonConstants2.default.SessionStorage.AUTH_TOKEN);\n\n case 2:\n return _context5.abrupt('return', _context5.sent);\n\n case 3:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function getAuthToken() {\n return _ref5.apply(this, arguments);\n }\n\n return getAuthToken;\n }(),\n\n clearAuthToken: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return localForageService.remove(_CommonConstants2.default.SessionStorage.AUTH_TOKEN);\n\n case 2:\n return _context6.abrupt('return', _context6.sent);\n\n case 3:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function clearAuthToken() {\n return _ref6.apply(this, arguments);\n }\n\n return clearAuthToken;\n }(),\n\n loggedIn: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n var email;\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return this.getUserEmail();\n\n case 2:\n email = _context7.sent;\n return _context7.abrupt('return', !!email);\n\n case 4:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function loggedIn() {\n return _ref7.apply(this, arguments);\n }\n\n return loggedIn;\n }(),\n\n isInvite: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return localForageService.retrieve(_CommonConstants2.default.SessionStorage.IS_INVITE);\n\n case 2:\n _context8.t0 = _context8.sent;\n return _context8.abrupt('return', _context8.t0 == 'true');\n\n case 4:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function isInvite() {\n return _ref8.apply(this, arguments);\n }\n\n return isInvite;\n }(),\n\n getUserEmail: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return localForageService.retrieve(_CommonConstants2.default.SessionStorage.USER_EMAIL);\n\n case 2:\n return _context9.abrupt('return', _context9.sent);\n\n case 3:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function getUserEmail() {\n return _ref9.apply(this, arguments);\n }\n\n return getUserEmail;\n }(),\n\n getUserName: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return localForageService.retrieve(_CommonConstants2.default.SessionStorage.USER_NAME);\n\n case 2:\n return _context10.abrupt('return', _context10.sent);\n\n case 3:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function getUserName() {\n return _ref10.apply(this, arguments);\n }\n\n return getUserName;\n }(),\n\n getUserFirstName: function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n _context11.next = 2;\n return localForageService.retrieve(_CommonConstants2.default.SessionStorage.USER_FIRST_NAME);\n\n case 2:\n return _context11.abrupt('return', _context11.sent);\n\n case 3:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function getUserFirstName() {\n return _ref11.apply(this, arguments);\n }\n\n return getUserFirstName;\n }(),\n\n getCachedUser: function getCachedUser() {\n return this._cachedUser;\n },\n\n setCachedUser: function setCachedUser(user) {\n this._cachedUser = user;\n },\n\n getStealthUserMode: function getStealthUserMode() {\n return stealthUserMode;\n },\n\n setStealthUserMode: function setStealthUserMode(value) {\n stealthUserMode = value;\n }\n };\n}\n\n_module3.default.service('Session', ['LocalForageService', '$timeout', '$rootScope', SessionService]);\n\n/***/ }),\n/* 696 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SessionStorageService = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _DbStorageService = __webpack_require__(697);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar SessionStorageService = exports.SessionStorageService = function () {\n function SessionStorageService(cookies, cartonomyConfig) {\n _classCallCheck(this, SessionStorageService);\n\n this.cookiesService = cookies;\n this.cartonomyConfig = cartonomyConfig;\n this.storageCopy = {};\n\n this.checkLocalStorage();\n if (window.localStorage.getItem(_CommonConstants2.default.SessionStorage.CARTONOMY_BUILD_TIME) !== this.cartonomyConfig.buildTime || window.localStorage.getItem(_CommonConstants2.default.SessionStorage.CARTONOMY_BUILD_VERSION) !== this.cartonomyConfig.version) {\n this.resetVersionStorage();\n }\n }\n\n _createClass(SessionStorageService, [{\n key: 'checkLocalStorage',\n value: function checkLocalStorage() {\n var _this = this;\n\n if (window.localStorage.length) {\n for (var i in window.localStorage) {\n this.storageCopy[i] = window.localStorage[i];\n }\n } else {\n for (var _i in this.storageCopy) {\n window.localStorage.setItem(_i, this.storageCopy[_i]);\n }\n }\n\n setTimeout(function () {\n return _this.checkLocalStorage();\n }, 60 * 1000);\n }\n }, {\n key: 'resetVersionStorage',\n value: function resetVersionStorage() {\n window.localStorage.setItem(_CommonConstants2.default.SessionStorage.CARTONOMY_BUILD_TIME, this.cartonomyConfig.buildTime);\n window.localStorage.setItem(_CommonConstants2.default.SessionStorage.CARTONOMY_BUILD_VERSION, this.cartonomyConfig.version);\n }\n }, {\n key: 'getStorageKey',\n value: function getStorageKey(key) {\n if (this.cartonomyConfig.externalStoreMode) {\n return this.cartonomyConfig.externalStoreUrl + '__' + key;\n }\n\n return key;\n }\n }, {\n key: 'get',\n value: function get(key) {\n if (window.localStorage) {\n return window.localStorage.getItem(this.getStorageKey(key));\n } else {\n return this.cookiesService.get(this.getStorageKey(key));\n }\n }\n }, {\n key: 'set',\n value: function set(key, value) {\n if (window.localStorage) {\n window.localStorage.setItem(this.getStorageKey(key), value);\n } else {\n this.cookiesService.put(this.getStorageKey(key), value);\n }\n return value;\n }\n }, {\n key: 'clear',\n value: function clear(key) {\n if (window.localStorage) {\n window.localStorage.removeItem(this.getStorageKey(key));\n } else {\n this.cookiesService.remove(this.getStorageKey(key));\n }\n }\n }, {\n key: 'clearAll',\n value: function clearAll() {\n window.localStorage.clear();\n window.sessionStorage.clear();\n this.resetVersionStorage();\n }\n }, {\n key: 'exists',\n value: function exists(key) {\n return !_.isUndefined(this.get(key)) && !_.isNull(this.get(key));\n }\n }]);\n\n return SessionStorageService;\n}();\n\nSessionStorageService.$inject = ['$cookies', 'cartonomyConfig'];\n\n\n_module3.default.service('SessionStorage', SessionStorageService);\n\n/***/ }),\n/* 697 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CartonomyDbName = 'CartonomyDatabase';\n\nvar DbStorageService = exports.DbStorageService = function DbStorageService(cartonomyConfig) {\n _classCallCheck(this, DbStorageService);\n\n this.cartonomyConfig = cartonomyConfig;\n\n var indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB || window.shimIndexedDB;\n\n // Open (or create) the database\n var open = indexedDB.open(this.cartonomyConfig.externalStoreUrl + '_' + CartonomyDbName, 1);\n\n // Create the schema\n open.onupgradeneeded = function () {\n var db = open.result;\n var userauthenticationStore = db.createObjectStore(\"AuthenticationStore\", { keyPath: \"token\" });\n userauthenticationStore.createIndex(\"AuthenticationStoreIndex\", ['token']);\n\n var store = db.createObjectStore(\"WindowState\", { keyPath: \"id\" });\n var index = store.createIndex(\"NameIndex\", [\"name.last\", \"name.first\"]);\n };\n\n open.onsuccess = function () {\n var db = open.result;\n\n /*\r\n let tx = db.transaction(\"MyObjectStore\", \"readwrite\");\r\n let store = tx.objectStore(\"MyObjectStore\");\r\n let index = store.index(\"NameIndex\");\r\n // Add some data\r\n store.put({id: 12345, name: {first: \"John\", last: \"Doe\"}, age: 42});\r\n store.put({id: 67890, name: {first: \"Bob\", last: \"Smith\"}, age: 35});\r\n // Query the data\r\n let getJohn = store.get(12345);\r\n let getBob = index.get([\"Smith\", \"Bob\"]);\r\n getJohn.onsuccess = function () {\r\n console.log(getJohn.result.name.first); // => \"John\"\r\n };\r\n getBob.onsuccess = function () {\r\n console.log(getBob.result.name.first); // => \"Bob\"\r\n };\r\n // Close the db when the transaction is done\r\n tx.oncomplete = function () {\r\n db.close();\r\n };\r\n */\n };\n\n this.database = open;\n};\n\nDbStorageService.$inject = ['cartonomyConfig'];\n\n/***/ }),\n/* 698 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LocalForageServiceAdapter = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar LocalForageServiceAdapter = exports.LocalForageServiceAdapter = function () {\n function LocalForageServiceAdapter() {\n _classCallCheck(this, LocalForageServiceAdapter);\n\n if (!window.localStorage) {\n throw new Error('Current browser does not support Local Storage');\n }\n this.localStorage = localStorage;\n }\n\n _createClass(LocalForageServiceAdapter, [{\n key: 'reinitialize',\n value: function reinitialize() {}\n }, {\n key: 'exists',\n value: function exists(key) {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n resolve(!!_this.localStorage.getItem(key));\n });\n }\n }, {\n key: 'retrieve',\n value: function retrieve(key) {\n var result = this.localStorage.getItem(key);\n if (result === undefined || result == null) {\n return Promise.resolve(null);\n }\n\n try {\n var output = JSON.parse(result);\n return Promise.resolve(output);\n } catch (e) {\n return Promise.resolve(result);\n }\n }\n }, {\n key: 'store',\n value: function store(key, value) {\n this.localStorage.setItem(key, JSON.stringify(value));\n return Promise.resolve();\n }\n }, {\n key: 'remove',\n value: function remove(key) {\n this.localStorage.removeItem(key);\n return Promise.resolve();\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.localStorage.clear();\n return Promise.resolve();\n }\n }]);\n\n return LocalForageServiceAdapter;\n}();\n\n_module3.default.service('LocalForageService', LocalForageServiceAdapter);\n\n/***/ }),\n/* 699 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UserProfileService = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar UserProfileService = exports.UserProfileService = function () {\n function UserProfileService(httpService, rootScopeService, cartonomyConfig, sessionService, localForageService) {\n var _this = this;\n\n _classCallCheck(this, UserProfileService);\n\n this.baseUrl = cartonomyConfig.ApiV2 + 'user';\n this.emailUrl = this.baseUrl + '/email';\n this.addressUrl = this.baseUrl + '/address';\n this._httpService = httpService;\n this.cartonomyConfig = cartonomyConfig;\n this._sessionService = sessionService;\n //this._sessionStorageService = SessionStorage;\n this._localForageService = localForageService;\n this._addresses = null;\n\n rootScopeService.$on(_CommonConstants2.default.RootEvents.CART_CHANGED, function () {\n _this.resetUser();\n });\n }\n\n _createClass(UserProfileService, [{\n key: 'saveProfile',\n value: function saveProfile(profile) {\n var _this2 = this;\n\n return this._httpService.post(this.cartonomyConfig.ApiV2 + 'user/profile', profile).then(function (response) {\n _this2._sessionService.setCachedUser(null);\n _this2._addresses = null;\n _this2.getUser(false);\n return response.data;\n });\n }\n }, {\n key: 'resetUser',\n value: function resetUser() {\n this._addresses = null;\n this._sessionService.setCachedUser(null);\n }\n }, {\n key: 'getUser',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var _this3 = this;\n\n var getFromCache = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var cachedUser;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n cachedUser = this._sessionService.getCachedUser();\n\n if (!(getFromCache && cachedUser)) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt('return', cachedUser);\n\n case 3:\n _context2.next = 5;\n return this._httpService.get(this.baseUrl).then(function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(response) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this3._localForageService.store(_CommonConstants2.default.SessionStorage.USER_DATA, JSON.stringify(response.data));\n\n case 2:\n return _context.abrupt('return', response.data);\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this3);\n }));\n\n return function (_x2) {\n return _ref2.apply(this, arguments);\n };\n }());\n\n case 5:\n cachedUser = _context2.sent;\n\n\n this._sessionService.setCachedUser(cachedUser);\n this._addresses = null;\n\n return _context2.abrupt('return', cachedUser);\n\n case 9:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getUser() {\n return _ref.apply(this, arguments);\n }\n\n return getUser;\n }()\n }, {\n key: 'getUserEmails',\n value: function getUserEmails() {\n return this.getUser().then(function (user) {\n return user.userEmails;\n });\n }\n }, {\n key: 'deleteEmail',\n value: function deleteEmail(email) {\n var _this4 = this;\n\n return this._httpService.delete(this.emailUrl + \"/\" + email.id).then(function () {\n _this4._sessionService.setCachedUser(null);\n });\n }\n }, {\n key: 'updateEmail',\n value: function updateEmail(email) {\n var _this5 = this;\n\n return this._httpService.patch(this.emailUrl, email).then(function (response) {\n _this5._sessionService.setCachedUser(null);\n return response.data;\n });\n }\n }, {\n key: 'createEmail',\n value: function createEmail(email) {\n var _this6 = this;\n\n return this._httpService.post(this.emailUrl, email).then(function (response) {\n _this6._sessionService.setCachedUser(null);\n return response.data;\n });\n }\n }, {\n key: 'getUserAddresses',\n value: function getUserAddresses() {\n if (this._addresses) {\n return this._addresses;\n }\n this._addresses = this._httpService.get(this.addressUrl).then(function (response) {\n return response.data;\n });\n return this._addresses;\n }\n }, {\n key: 'updateAddress',\n value: function updateAddress(address) {\n var _this7 = this;\n\n return this._httpService.patch(this.addressUrl, address).then(function (response) {\n _this7._addresses = null;\n _this7._sessionService.setCachedUser(null);\n return response.data;\n });\n }\n }, {\n key: 'createAddress',\n value: function createAddress(address) {\n var _this8 = this;\n\n return this._httpService.post(this.addressUrl, address).then(function (response) {\n _this8._addresses = null;\n _this8._sessionService.setCachedUser(null);\n return response.data;\n });\n }\n }, {\n key: 'deleteAddress',\n value: function deleteAddress(id) {\n var _this9 = this;\n\n return this._httpService.delete(this.addressUrl + '/' + id).then(function () {\n _this9._addresses = null;\n _this9._sessionService.setCachedUser(null);\n });\n }\n }, {\n key: 'updateOpenIdAvatar',\n value: function updateOpenIdAvatar(providerId) {\n return this._httpService.get(this.baseUrl + '/avatar/oauth/' + providerId);\n }\n }, {\n key: 'getUserAvatar',\n value: function getUserAvatar(userEmail) {\n return this._httpService.get(this.baseUrl + '/avatar/byemail?email=' + userEmail);\n }\n }, {\n key: 'uploadAvatar',\n value: function uploadAvatar(file) {\n var config = {\n headers: {\n 'Content-Type': undefined\n }\n };\n var formData = new window.FormData();\n formData.append('file', file);\n return this._httpService.post(this.cartonomyConfig.ApiV1 + 'avatar/upload/jpg', formData, config);\n }\n }]);\n\n return UserProfileService;\n}();\n\nUserProfileService.$inject = ['$http', '$rootScope', 'cartonomyConfig', 'Session', 'LocalForageService'];\n\n\n_module3.default.service('UserProfile', UserProfileService);\n\n/***/ }),\n/* 700 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction HeapService() {\n return {\n identify: function identify() {\n try {\n window.heap.identify.apply(null, arguments);\n } catch (e) {}\n },\n track: function track(name, obj) {\n try {\n window.heap.track.apply(null, arguments);\n } catch (e) {}\n }\n };\n}\n\n_module3.default.factory('HeapService', HeapService);\n\n/***/ }),\n/* 701 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_module3.default.directive('money', ['$locale', '$filter', function ($locale, $filter) {\n\n // For input validation\n var isValid = function isValid(val) {\n return angular.isNumber(val) && !isNaN(val);\n };\n\n // Saved to your $scope/model\n var toModel = function toModel(val) {\n return parseInt(val.replace(/[^0-9]+/g, \"\")) || 0;\n };\n\n // Link to DOM\n var link = function link($scope, $element, $attrs, $ngModel) {\n function toView(val) {\n var converted = val ? $filter('currency')(val, '', 0) : \"\";\n if (converted !== val) {\n var caretPosition = $element[0].selectionStart;\n $ngModel.$setViewValue(converted);\n $ngModel.$render();\n //$element[0].selectionStart = $element[0].selectionEnd = caretPosition + caretPosition / 4;\n }\n return converted;\n }\n $ngModel.$formatters.push(toView);\n $ngModel.$parsers.push(toModel);\n $ngModel.$validators.currency = isValid;\n\n $element.on('keyup', function ($event) {\n $ngModel.$viewValue = toView($ngModel.$modelValue);\n });\n };\n\n return {\n restrict: 'A',\n require: 'ngModel',\n link: link\n };\n}]);\n\n/***/ }),\n/* 702 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = markdownTranspileDirective;\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _markdownIt = __webpack_require__(703);\n\nvar _markdownIt2 = _interopRequireDefault(_markdownIt);\n\nvar _markdownItEmoji = __webpack_require__(758);\n\nvar _markdownItEmoji2 = _interopRequireDefault(_markdownItEmoji);\n\nvar _emojiMaker = __webpack_require__(764);\n\nvar _emojiMaker2 = _interopRequireDefault(_emojiMaker);\n\nvar _markdownItBlockImage = __webpack_require__(765);\n\nvar _markdownItBlockImage2 = _interopRequireDefault(_markdownItBlockImage);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar marked = new _markdownIt2.default();\nmarked.use(_markdownItEmoji2.default);\nmarked.use(_markdownItBlockImage2.default, {\n outputContainer: true,\n containerClassName: \"image-container\"\n});\n\nfunction unindent(text) {\n if (!text) {\n return text;\n }\n\n var lines = text.replace(/\\t/g, ' ').split(/\\r?\\n/);\n\n var min = null;\n var len = lines.length;\n var i = void 0;\n\n for (i = 0; i < len; i++) {\n var line = lines[i];\n var l = line.match(/^(\\s*)/)[0].length;\n if (l === line.length) {\n continue;\n }\n min = l < min || min === null ? l : min;\n }\n\n if (min !== null && min > 0) {\n for (i = 0; i < len; i++) {\n lines[i] = lines[i].substr(min);\n }\n }\n return lines.join('\\n');\n}\n\nmarkdownTranspileDirective.$inject = ['$', '$timeout'];\nmarkdownTranspileDirective.directiveName = \"markdownTranspile\";\nmarkdownTranspileDirective.emojiConvertor = new _emojiMaker2.default();\nmarkdownTranspileDirective.emojiConvertor.use_sheet = true;\n\nfunction getParents(elem, selector) {\n // Element.matches() polyfill\n if (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector || function (s) {\n var matches = (this.document || this.ownerDocument).querySelectorAll(s),\n i = matches.length;\n while (--i >= 0 && matches.item(i) !== this) {}\n return i > -1;\n };\n }\n\n // Setup parents array\n var parents = [];\n\n // Get matching parent elements\n for (; elem && elem !== document; elem = elem.parentNode) {\n\n // Add matching parents to array\n if (selector) {\n if (elem.matches(selector)) {\n parents.push(elem);\n }\n } else {\n parents.push(elem);\n }\n }\n\n return parents;\n}\n\nfunction isElement(obj) {\n return obj instanceof HTMLElement;\n}\n\nfunction showEmoji(node) {\n if (node.textContent.trim().length < 1) return true;\n\n var nodeParents = getParents(node);\n\n // check if inside contenteditable div\n for (var p = 0; p < nodeParents.length; p++) {\n if (isElement(nodeParents[p]) && nodeParents[p].getAttribute('contenteditable') == 'true') return true;\n }\n\n var textToCheck = node.textContent.replace(/&/g, '&').replace(/&/g, '&');\n var modifiedText = textToCheck;\n var emojiExist = false;\n\n if (modifiedText.length > 0) {\n modifiedText = markdownTranspileDirective.emojiConvertor.replace_unified(modifiedText);\n if (modifiedText !== textToCheck) emojiExist = true;\n }\n\n if (emojiExist === true) {\n\n var element = node.parentElement;\n\n for (var _p = 1; _p < nodeParents.length; _p++) {\n if (element === undefined || !isElement(element)) element = nodeParents[_p];\n }\n\n if (element) {\n var html = element.innerHTML;\n if (html.toLowerCase().indexOf('document.write') === -1) {\n html = html.replace(/”/g, '”');\n var replace = html.replace(textToCheck.replace(/\\xa0/g, ' ').replace(/”/g, '”'), modifiedText);\n element.innerHTML = replace;\n }\n }\n }\n}\n\nfunction markdownTranspileDirective($, timeout) {\n return {\n restrict: 'AE',\n scope: {\n markdownTranspile: '='\n },\n link: function link(scope, element, attrs) {\n // scope.$watch('marked', set);\n\n timeout(function () {\n if (scope.markdownTranspile) {\n set(scope.markdownTranspile);\n } else {\n set(element.text());\n }\n });\n\n function processImageTag(text) {\n var startingPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var chatImageStartingIndex = text.indexOf('![chatImage](', startingPos);\n\n if (chatImageStartingIndex == -1) return text;\n\n var chatImageStringEndindex = text.indexOf(')', chatImageStartingIndex);\n\n var chatImageStr = text.substring(chatImageStartingIndex, chatImageStringEndindex + 1);\n\n var proceededText = _.trim(chatImageStr.split(' ')[0], ')') + ')';\n\n text = text.replace(chatImageStr, proceededText);\n return processImageTag(text, chatImageStringEndindex);\n }\n\n function set(text) {\n text = unindent(text || '');\n\n // fix image messages\n text = processImageTag(text);\n\n var transpiledText = marked.render(text);\n\n transpiledText = transpiledText.replace(/</g, '<').replace(/"/g, '\"').replace(/>/g, '>');\n\n var transpiledDOM = $(transpiledText);\n\n $('a', transpiledDOM).each(function () {\n var target = $(this).attr('target');\n if (!target || target != \"_parent\") {\n $(this).attr('target', '_blank');\n }\n });\n\n _scope2.default.apply(scope, function () {\n $(element).append(transpiledDOM);\n showEmoji($(element)[0]);\n });\n }\n }\n };\n}\n\n/***/ }),\n/* 703 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __webpack_require__(704);\n\n/***/ }),\n/* 704 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Main parser class\n\n\n\nvar utils = __webpack_require__(9);\nvar helpers = __webpack_require__(712);\nvar Renderer = __webpack_require__(716);\nvar ParserCore = __webpack_require__(717);\nvar ParserBlock = __webpack_require__(725);\nvar ParserInline = __webpack_require__(739);\nvar LinkifyIt = __webpack_require__(752);\nvar mdurl = __webpack_require__(421);\nvar punycode = __webpack_require__(754);\n\nvar config = {\n 'default': __webpack_require__(755),\n zero: __webpack_require__(756),\n commonmark: __webpack_require__(757)\n};\n\n////////////////////////////////////////////////////////////////////////////////\n//\n// This validator can prohibit more than really needed to prevent XSS. It's a\n// tradeoff to keep code simple and to be secure by default.\n//\n// If you need different setup - override validator method as you wish. Or\n// replace it with dummy function and use external sanitizer.\n//\n\nvar BAD_PROTO_RE = /^(vbscript|javascript|file|data):/;\nvar GOOD_DATA_RE = /^data:image\\/(gif|png|jpeg|webp);/;\n\nfunction validateLink(url) {\n // url should be normalized at this point, and existing entities are decoded\n var str = url.trim().toLowerCase();\n\n return BAD_PROTO_RE.test(str) ? GOOD_DATA_RE.test(str) ? true : false : true;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nvar RECODE_HOSTNAME_FOR = ['http:', 'https:', 'mailto:'];\n\nfunction normalizeLink(url) {\n var parsed = mdurl.parse(url, true);\n\n if (parsed.hostname) {\n // Encode hostnames in urls like:\n // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`\n //\n // We don't encode unknown schemas, because it's likely that we encode\n // something we shouldn't (e.g. `skype:name` treated as `skype:host`)\n //\n if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {\n try {\n parsed.hostname = punycode.toASCII(parsed.hostname);\n } catch (er) {/**/}\n }\n }\n\n return mdurl.encode(mdurl.format(parsed));\n}\n\nfunction normalizeLinkText(url) {\n var parsed = mdurl.parse(url, true);\n\n if (parsed.hostname) {\n // Encode hostnames in urls like:\n // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`\n //\n // We don't encode unknown schemas, because it's likely that we encode\n // something we shouldn't (e.g. `skype:name` treated as `skype:host`)\n //\n if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {\n try {\n parsed.hostname = punycode.toUnicode(parsed.hostname);\n } catch (er) {/**/}\n }\n }\n\n return mdurl.decode(mdurl.format(parsed));\n}\n\n/**\n * class MarkdownIt\n *\n * Main parser/renderer class.\n *\n * ##### Usage\n *\n * ```javascript\n * // node.js, \"classic\" way:\n * var MarkdownIt = require('markdown-it'),\n * md = new MarkdownIt();\n * var result = md.render('# markdown-it rulezz!');\n *\n * // node.js, the same, but with sugar:\n * var md = require('markdown-it')();\n * var result = md.render('# markdown-it rulezz!');\n *\n * // browser without AMD, added to \"window\" on script load\n * // Note, there are no dash.\n * var md = window.markdownit();\n * var result = md.render('# markdown-it rulezz!');\n * ```\n *\n * Single line rendering, without paragraph wrap:\n *\n * ```javascript\n * var md = require('markdown-it')();\n * var result = md.renderInline('__markdown-it__ rulezz!');\n * ```\n **/\n\n/**\n * new MarkdownIt([presetName, options])\n * - presetName (String): optional, `commonmark` / `zero`\n * - options (Object)\n *\n * Creates parser instanse with given config. Can be called without `new`.\n *\n * ##### presetName\n *\n * MarkdownIt provides named presets as a convenience to quickly\n * enable/disable active syntax rules and options for common use cases.\n *\n * - [\"commonmark\"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/commonmark.js) -\n * configures parser to strict [CommonMark](http://commonmark.org/) mode.\n * - [default](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/default.js) -\n * similar to GFM, used when no preset name given. Enables all available rules,\n * but still without html, typographer & autolinker.\n * - [\"zero\"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/zero.js) -\n * all rules disabled. Useful to quickly setup your config via `.enable()`.\n * For example, when you need only `bold` and `italic` markup and nothing else.\n *\n * ##### options:\n *\n * - __html__ - `false`. Set `true` to enable HTML tags in source. Be careful!\n * That's not safe! You may need external sanitizer to protect output from XSS.\n * It's better to extend features via plugins, instead of enabling HTML.\n * - __xhtmlOut__ - `false`. Set `true` to add '/' when closing single tags\n * (`
`). This is needed only for full CommonMark compatibility. In real\n * world you will need HTML output.\n * - __breaks__ - `false`. Set `true` to convert `\\n` in paragraphs into `
`.\n * - __langPrefix__ - `language-`. CSS language class prefix for fenced blocks.\n * Can be useful for external highlighters.\n * - __linkify__ - `false`. Set `true` to autoconvert URL-like text to links.\n * - __typographer__ - `false`. Set `true` to enable [some language-neutral\n * replacement](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/replacements.js) +\n * quotes beautification (smartquotes).\n * - __quotes__ - `“”‘’`, String or Array. Double + single quotes replacement\n * pairs, when typographer enabled and smartquotes on. For example, you can\n * use `'«»„“'` for Russian, `'„“‚‘'` for German, and\n * `['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›']` for French (including nbsp).\n * - __highlight__ - `null`. Highlighter function for fenced code blocks.\n * Highlighter `function (str, lang)` should return escaped HTML. It can also\n * return empty string if the source was not changed and should be escaped\n * externaly. If result starts with `):\n *\n * ```javascript\n * var hljs = require('highlight.js') // https://highlightjs.org/\n *\n * // Actual default values\n * var md = require('markdown-it')({\n * highlight: function (str, lang) {\n * if (lang && hljs.getLanguage(lang)) {\n * try {\n * return '
' +\n *                hljs.highlight(lang, str, true).value +\n *                '
';\n * } catch (__) {}\n * }\n *\n * return '
' + md.utils.escapeHtml(str) + '
';\n * }\n * });\n * ```\n *\n **/\nfunction MarkdownIt(presetName, options) {\n if (!(this instanceof MarkdownIt)) {\n return new MarkdownIt(presetName, options);\n }\n\n if (!options) {\n if (!utils.isString(presetName)) {\n options = presetName || {};\n presetName = 'default';\n }\n }\n\n /**\n * MarkdownIt#inline -> ParserInline\n *\n * Instance of [[ParserInline]]. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.inline = new ParserInline();\n\n /**\n * MarkdownIt#block -> ParserBlock\n *\n * Instance of [[ParserBlock]]. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.block = new ParserBlock();\n\n /**\n * MarkdownIt#core -> Core\n *\n * Instance of [[Core]] chain executor. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.core = new ParserCore();\n\n /**\n * MarkdownIt#renderer -> Renderer\n *\n * Instance of [[Renderer]]. Use it to modify output look. Or to add rendering\n * rules for new token types, generated by plugins.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * function myToken(tokens, idx, options, env, self) {\n * //...\n * return result;\n * };\n *\n * md.renderer.rules['my_token'] = myToken\n * ```\n *\n * See [[Renderer]] docs and [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js).\n **/\n this.renderer = new Renderer();\n\n /**\n * MarkdownIt#linkify -> LinkifyIt\n *\n * [linkify-it](https://github.com/markdown-it/linkify-it) instance.\n * Used by [linkify](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/linkify.js)\n * rule.\n **/\n this.linkify = new LinkifyIt();\n\n /**\n * MarkdownIt#validateLink(url) -> Boolean\n *\n * Link validation function. CommonMark allows too much in links. By default\n * we disable `javascript:`, `vbscript:`, `file:` schemas, and almost all `data:...` schemas\n * except some embedded image types.\n *\n * You can change this behaviour:\n *\n * ```javascript\n * var md = require('markdown-it')();\n * // enable everything\n * md.validateLink = function () { return true; }\n * ```\n **/\n this.validateLink = validateLink;\n\n /**\n * MarkdownIt#normalizeLink(url) -> String\n *\n * Function used to encode link url to a machine-readable format,\n * which includes url-encoding, punycode, etc.\n **/\n this.normalizeLink = normalizeLink;\n\n /**\n * MarkdownIt#normalizeLinkText(url) -> String\n *\n * Function used to decode link url to a human-readable format`\n **/\n this.normalizeLinkText = normalizeLinkText;\n\n // Expose utils & helpers for easy acces from plugins\n\n /**\n * MarkdownIt#utils -> utils\n *\n * Assorted utility functions, useful to write plugins. See details\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/common/utils.js).\n **/\n this.utils = utils;\n\n /**\n * MarkdownIt#helpers -> helpers\n *\n * Link components parser functions, useful to write plugins. See details\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/helpers).\n **/\n this.helpers = utils.assign({}, helpers);\n\n this.options = {};\n this.configure(presetName);\n\n if (options) {\n this.set(options);\n }\n}\n\n/** chainable\n * MarkdownIt.set(options)\n *\n * Set parser options (in the same format as in constructor). Probably, you\n * will never need it, but you can change options after constructor call.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')()\n * .set({ html: true, breaks: true })\n * .set({ typographer, true });\n * ```\n *\n * __Note:__ To achieve the best possible performance, don't modify a\n * `markdown-it` instance options on the fly. If you need multiple configurations\n * it's best to create multiple instances and initialize each with separate\n * config.\n **/\nMarkdownIt.prototype.set = function (options) {\n utils.assign(this.options, options);\n return this;\n};\n\n/** chainable, internal\n * MarkdownIt.configure(presets)\n *\n * Batch load of all options and compenent settings. This is internal method,\n * and you probably will not need it. But if you with - see available presets\n * and data structure [here](https://github.com/markdown-it/markdown-it/tree/master/lib/presets)\n *\n * We strongly recommend to use presets instead of direct config loads. That\n * will give better compatibility with next versions.\n **/\nMarkdownIt.prototype.configure = function (presets) {\n var self = this,\n presetName;\n\n if (utils.isString(presets)) {\n presetName = presets;\n presets = config[presetName];\n if (!presets) {\n throw new Error('Wrong `markdown-it` preset \"' + presetName + '\", check name');\n }\n }\n\n if (!presets) {\n throw new Error('Wrong `markdown-it` preset, can\\'t be empty');\n }\n\n if (presets.options) {\n self.set(presets.options);\n }\n\n if (presets.components) {\n Object.keys(presets.components).forEach(function (name) {\n if (presets.components[name].rules) {\n self[name].ruler.enableOnly(presets.components[name].rules);\n }\n if (presets.components[name].rules2) {\n self[name].ruler2.enableOnly(presets.components[name].rules2);\n }\n });\n }\n return this;\n};\n\n/** chainable\n * MarkdownIt.enable(list, ignoreInvalid)\n * - list (String|Array): rule name or list of rule names to enable\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable list or rules. It will automatically find appropriate components,\n * containing rules with given names. If rule not found, and `ignoreInvalid`\n * not set - throws exception.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')()\n * .enable(['sub', 'sup'])\n * .disable('smartquotes');\n * ```\n **/\nMarkdownIt.prototype.enable = function (list, ignoreInvalid) {\n var result = [];\n\n if (!Array.isArray(list)) {\n list = [list];\n }\n\n ['core', 'block', 'inline'].forEach(function (chain) {\n result = result.concat(this[chain].ruler.enable(list, true));\n }, this);\n\n result = result.concat(this.inline.ruler2.enable(list, true));\n\n var missed = list.filter(function (name) {\n return result.indexOf(name) < 0;\n });\n\n if (missed.length && !ignoreInvalid) {\n throw new Error('MarkdownIt. Failed to enable unknown rule(s): ' + missed);\n }\n\n return this;\n};\n\n/** chainable\n * MarkdownIt.disable(list, ignoreInvalid)\n * - list (String|Array): rule name or list of rule names to disable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * The same as [[MarkdownIt.enable]], but turn specified rules off.\n **/\nMarkdownIt.prototype.disable = function (list, ignoreInvalid) {\n var result = [];\n\n if (!Array.isArray(list)) {\n list = [list];\n }\n\n ['core', 'block', 'inline'].forEach(function (chain) {\n result = result.concat(this[chain].ruler.disable(list, true));\n }, this);\n\n result = result.concat(this.inline.ruler2.disable(list, true));\n\n var missed = list.filter(function (name) {\n return result.indexOf(name) < 0;\n });\n\n if (missed.length && !ignoreInvalid) {\n throw new Error('MarkdownIt. Failed to disable unknown rule(s): ' + missed);\n }\n return this;\n};\n\n/** chainable\n * MarkdownIt.use(plugin, params)\n *\n * Load specified plugin with given params into current parser instance.\n * It's just a sugar to call `plugin(md, params)` with curring.\n *\n * ##### Example\n *\n * ```javascript\n * var iterator = require('markdown-it-for-inline');\n * var md = require('markdown-it')()\n * .use(iterator, 'foo_replace', 'text', function (tokens, idx) {\n * tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar');\n * });\n * ```\n **/\nMarkdownIt.prototype.use = function (plugin /*, params, ... */) {\n var args = [this].concat(Array.prototype.slice.call(arguments, 1));\n plugin.apply(plugin, args);\n return this;\n};\n\n/** internal\n * MarkdownIt.parse(src, env) -> Array\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Parse input string and returns list of block tokens (special token type\n * \"inline\" will contain list of inline tokens). You should not call this\n * method directly, until you write custom renderer (for example, to produce\n * AST).\n *\n * `env` is used to pass data between \"distributed\" rules and return additional\n * metadata like reference info, needed for the renderer. It also can be used to\n * inject data in specific cases. Usually, you will be ok to pass `{}`,\n * and then pass updated object to renderer.\n **/\nMarkdownIt.prototype.parse = function (src, env) {\n if (typeof src !== 'string') {\n throw new Error('Input data should be a String');\n }\n\n var state = new this.core.State(src, this, env);\n\n this.core.process(state);\n\n return state.tokens;\n};\n\n/**\n * MarkdownIt.render(src [, env]) -> String\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Render markdown string into html. It does all magic for you :).\n *\n * `env` can be used to inject additional metadata (`{}` by default).\n * But you will not need it with high probability. See also comment\n * in [[MarkdownIt.parse]].\n **/\nMarkdownIt.prototype.render = function (src, env) {\n env = env || {};\n\n return this.renderer.render(this.parse(src, env), this.options, env);\n};\n\n/** internal\n * MarkdownIt.parseInline(src, env) -> Array\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * The same as [[MarkdownIt.parse]] but skip all block rules. It returns the\n * block tokens list with the single `inline` element, containing parsed inline\n * tokens in `children` property. Also updates `env` object.\n **/\nMarkdownIt.prototype.parseInline = function (src, env) {\n var state = new this.core.State(src, this, env);\n\n state.inlineMode = true;\n this.core.process(state);\n\n return state.tokens;\n};\n\n/**\n * MarkdownIt.renderInline(src [, env]) -> String\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Similar to [[MarkdownIt.render]] but for single paragraph content. Result\n * will NOT be wrapped into `

` tags.\n **/\nMarkdownIt.prototype.renderInline = function (src, env) {\n env = env || {};\n\n return this.renderer.render(this.parseInline(src, env), this.options, env);\n};\n\nmodule.exports = MarkdownIt;\n\n/***/ }),\n/* 705 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"Aacute\":\"Á\",\"aacute\":\"á\",\"Abreve\":\"Ă\",\"abreve\":\"ă\",\"ac\":\"∾\",\"acd\":\"∿\",\"acE\":\"∾̳\",\"Acirc\":\"Â\",\"acirc\":\"â\",\"acute\":\"´\",\"Acy\":\"А\",\"acy\":\"а\",\"AElig\":\"Æ\",\"aelig\":\"æ\",\"af\":\"⁡\",\"Afr\":\"𝔄\",\"afr\":\"𝔞\",\"Agrave\":\"À\",\"agrave\":\"à\",\"alefsym\":\"ℵ\",\"aleph\":\"ℵ\",\"Alpha\":\"Α\",\"alpha\":\"α\",\"Amacr\":\"Ā\",\"amacr\":\"ā\",\"amalg\":\"⨿\",\"amp\":\"&\",\"AMP\":\"&\",\"andand\":\"⩕\",\"And\":\"⩓\",\"and\":\"∧\",\"andd\":\"⩜\",\"andslope\":\"⩘\",\"andv\":\"⩚\",\"ang\":\"∠\",\"ange\":\"⦤\",\"angle\":\"∠\",\"angmsdaa\":\"⦨\",\"angmsdab\":\"⦩\",\"angmsdac\":\"⦪\",\"angmsdad\":\"⦫\",\"angmsdae\":\"⦬\",\"angmsdaf\":\"⦭\",\"angmsdag\":\"⦮\",\"angmsdah\":\"⦯\",\"angmsd\":\"∡\",\"angrt\":\"∟\",\"angrtvb\":\"⊾\",\"angrtvbd\":\"⦝\",\"angsph\":\"∢\",\"angst\":\"Å\",\"angzarr\":\"⍼\",\"Aogon\":\"Ą\",\"aogon\":\"ą\",\"Aopf\":\"𝔸\",\"aopf\":\"𝕒\",\"apacir\":\"⩯\",\"ap\":\"≈\",\"apE\":\"⩰\",\"ape\":\"≊\",\"apid\":\"≋\",\"apos\":\"'\",\"ApplyFunction\":\"⁡\",\"approx\":\"≈\",\"approxeq\":\"≊\",\"Aring\":\"Å\",\"aring\":\"å\",\"Ascr\":\"𝒜\",\"ascr\":\"𝒶\",\"Assign\":\"≔\",\"ast\":\"*\",\"asymp\":\"≈\",\"asympeq\":\"≍\",\"Atilde\":\"Ã\",\"atilde\":\"ã\",\"Auml\":\"Ä\",\"auml\":\"ä\",\"awconint\":\"∳\",\"awint\":\"⨑\",\"backcong\":\"≌\",\"backepsilon\":\"϶\",\"backprime\":\"‵\",\"backsim\":\"∽\",\"backsimeq\":\"⋍\",\"Backslash\":\"∖\",\"Barv\":\"⫧\",\"barvee\":\"⊽\",\"barwed\":\"⌅\",\"Barwed\":\"⌆\",\"barwedge\":\"⌅\",\"bbrk\":\"⎵\",\"bbrktbrk\":\"⎶\",\"bcong\":\"≌\",\"Bcy\":\"Б\",\"bcy\":\"б\",\"bdquo\":\"„\",\"becaus\":\"∵\",\"because\":\"∵\",\"Because\":\"∵\",\"bemptyv\":\"⦰\",\"bepsi\":\"϶\",\"bernou\":\"ℬ\",\"Bernoullis\":\"ℬ\",\"Beta\":\"Β\",\"beta\":\"β\",\"beth\":\"ℶ\",\"between\":\"≬\",\"Bfr\":\"𝔅\",\"bfr\":\"𝔟\",\"bigcap\":\"⋂\",\"bigcirc\":\"◯\",\"bigcup\":\"⋃\",\"bigodot\":\"⨀\",\"bigoplus\":\"⨁\",\"bigotimes\":\"⨂\",\"bigsqcup\":\"⨆\",\"bigstar\":\"★\",\"bigtriangledown\":\"▽\",\"bigtriangleup\":\"△\",\"biguplus\":\"⨄\",\"bigvee\":\"⋁\",\"bigwedge\":\"⋀\",\"bkarow\":\"⤍\",\"blacklozenge\":\"⧫\",\"blacksquare\":\"▪\",\"blacktriangle\":\"▴\",\"blacktriangledown\":\"▾\",\"blacktriangleleft\":\"◂\",\"blacktriangleright\":\"▸\",\"blank\":\"␣\",\"blk12\":\"▒\",\"blk14\":\"░\",\"blk34\":\"▓\",\"block\":\"█\",\"bne\":\"=⃥\",\"bnequiv\":\"≡⃥\",\"bNot\":\"⫭\",\"bnot\":\"⌐\",\"Bopf\":\"𝔹\",\"bopf\":\"𝕓\",\"bot\":\"⊥\",\"bottom\":\"⊥\",\"bowtie\":\"⋈\",\"boxbox\":\"⧉\",\"boxdl\":\"┐\",\"boxdL\":\"╕\",\"boxDl\":\"╖\",\"boxDL\":\"╗\",\"boxdr\":\"┌\",\"boxdR\":\"╒\",\"boxDr\":\"╓\",\"boxDR\":\"╔\",\"boxh\":\"─\",\"boxH\":\"═\",\"boxhd\":\"┬\",\"boxHd\":\"╤\",\"boxhD\":\"╥\",\"boxHD\":\"╦\",\"boxhu\":\"┴\",\"boxHu\":\"╧\",\"boxhU\":\"╨\",\"boxHU\":\"╩\",\"boxminus\":\"⊟\",\"boxplus\":\"⊞\",\"boxtimes\":\"⊠\",\"boxul\":\"┘\",\"boxuL\":\"╛\",\"boxUl\":\"╜\",\"boxUL\":\"╝\",\"boxur\":\"└\",\"boxuR\":\"╘\",\"boxUr\":\"╙\",\"boxUR\":\"╚\",\"boxv\":\"│\",\"boxV\":\"║\",\"boxvh\":\"┼\",\"boxvH\":\"╪\",\"boxVh\":\"╫\",\"boxVH\":\"╬\",\"boxvl\":\"┤\",\"boxvL\":\"╡\",\"boxVl\":\"╢\",\"boxVL\":\"╣\",\"boxvr\":\"├\",\"boxvR\":\"╞\",\"boxVr\":\"╟\",\"boxVR\":\"╠\",\"bprime\":\"‵\",\"breve\":\"˘\",\"Breve\":\"˘\",\"brvbar\":\"¦\",\"bscr\":\"𝒷\",\"Bscr\":\"ℬ\",\"bsemi\":\"⁏\",\"bsim\":\"∽\",\"bsime\":\"⋍\",\"bsolb\":\"⧅\",\"bsol\":\"\\\\\",\"bsolhsub\":\"⟈\",\"bull\":\"•\",\"bullet\":\"•\",\"bump\":\"≎\",\"bumpE\":\"⪮\",\"bumpe\":\"≏\",\"Bumpeq\":\"≎\",\"bumpeq\":\"≏\",\"Cacute\":\"Ć\",\"cacute\":\"ć\",\"capand\":\"⩄\",\"capbrcup\":\"⩉\",\"capcap\":\"⩋\",\"cap\":\"∩\",\"Cap\":\"⋒\",\"capcup\":\"⩇\",\"capdot\":\"⩀\",\"CapitalDifferentialD\":\"ⅅ\",\"caps\":\"∩︀\",\"caret\":\"⁁\",\"caron\":\"ˇ\",\"Cayleys\":\"ℭ\",\"ccaps\":\"⩍\",\"Ccaron\":\"Č\",\"ccaron\":\"č\",\"Ccedil\":\"Ç\",\"ccedil\":\"ç\",\"Ccirc\":\"Ĉ\",\"ccirc\":\"ĉ\",\"Cconint\":\"∰\",\"ccups\":\"⩌\",\"ccupssm\":\"⩐\",\"Cdot\":\"Ċ\",\"cdot\":\"ċ\",\"cedil\":\"¸\",\"Cedilla\":\"¸\",\"cemptyv\":\"⦲\",\"cent\":\"¢\",\"centerdot\":\"·\",\"CenterDot\":\"·\",\"cfr\":\"𝔠\",\"Cfr\":\"ℭ\",\"CHcy\":\"Ч\",\"chcy\":\"ч\",\"check\":\"✓\",\"checkmark\":\"✓\",\"Chi\":\"Χ\",\"chi\":\"χ\",\"circ\":\"ˆ\",\"circeq\":\"≗\",\"circlearrowleft\":\"↺\",\"circlearrowright\":\"↻\",\"circledast\":\"⊛\",\"circledcirc\":\"⊚\",\"circleddash\":\"⊝\",\"CircleDot\":\"⊙\",\"circledR\":\"®\",\"circledS\":\"Ⓢ\",\"CircleMinus\":\"⊖\",\"CirclePlus\":\"⊕\",\"CircleTimes\":\"⊗\",\"cir\":\"○\",\"cirE\":\"⧃\",\"cire\":\"≗\",\"cirfnint\":\"⨐\",\"cirmid\":\"⫯\",\"cirscir\":\"⧂\",\"ClockwiseContourIntegral\":\"∲\",\"CloseCurlyDoubleQuote\":\"”\",\"CloseCurlyQuote\":\"’\",\"clubs\":\"♣\",\"clubsuit\":\"♣\",\"colon\":\":\",\"Colon\":\"∷\",\"Colone\":\"⩴\",\"colone\":\"≔\",\"coloneq\":\"≔\",\"comma\":\",\",\"commat\":\"@\",\"comp\":\"∁\",\"compfn\":\"∘\",\"complement\":\"∁\",\"complexes\":\"ℂ\",\"cong\":\"≅\",\"congdot\":\"⩭\",\"Congruent\":\"≡\",\"conint\":\"∮\",\"Conint\":\"∯\",\"ContourIntegral\":\"∮\",\"copf\":\"𝕔\",\"Copf\":\"ℂ\",\"coprod\":\"∐\",\"Coproduct\":\"∐\",\"copy\":\"©\",\"COPY\":\"©\",\"copysr\":\"℗\",\"CounterClockwiseContourIntegral\":\"∳\",\"crarr\":\"↵\",\"cross\":\"✗\",\"Cross\":\"⨯\",\"Cscr\":\"𝒞\",\"cscr\":\"𝒸\",\"csub\":\"⫏\",\"csube\":\"⫑\",\"csup\":\"⫐\",\"csupe\":\"⫒\",\"ctdot\":\"⋯\",\"cudarrl\":\"⤸\",\"cudarrr\":\"⤵\",\"cuepr\":\"⋞\",\"cuesc\":\"⋟\",\"cularr\":\"↶\",\"cularrp\":\"⤽\",\"cupbrcap\":\"⩈\",\"cupcap\":\"⩆\",\"CupCap\":\"≍\",\"cup\":\"∪\",\"Cup\":\"⋓\",\"cupcup\":\"⩊\",\"cupdot\":\"⊍\",\"cupor\":\"⩅\",\"cups\":\"∪︀\",\"curarr\":\"↷\",\"curarrm\":\"⤼\",\"curlyeqprec\":\"⋞\",\"curlyeqsucc\":\"⋟\",\"curlyvee\":\"⋎\",\"curlywedge\":\"⋏\",\"curren\":\"¤\",\"curvearrowleft\":\"↶\",\"curvearrowright\":\"↷\",\"cuvee\":\"⋎\",\"cuwed\":\"⋏\",\"cwconint\":\"∲\",\"cwint\":\"∱\",\"cylcty\":\"⌭\",\"dagger\":\"†\",\"Dagger\":\"‡\",\"daleth\":\"ℸ\",\"darr\":\"↓\",\"Darr\":\"↡\",\"dArr\":\"⇓\",\"dash\":\"‐\",\"Dashv\":\"⫤\",\"dashv\":\"⊣\",\"dbkarow\":\"⤏\",\"dblac\":\"˝\",\"Dcaron\":\"Ď\",\"dcaron\":\"ď\",\"Dcy\":\"Д\",\"dcy\":\"д\",\"ddagger\":\"‡\",\"ddarr\":\"⇊\",\"DD\":\"ⅅ\",\"dd\":\"ⅆ\",\"DDotrahd\":\"⤑\",\"ddotseq\":\"⩷\",\"deg\":\"°\",\"Del\":\"∇\",\"Delta\":\"Δ\",\"delta\":\"δ\",\"demptyv\":\"⦱\",\"dfisht\":\"⥿\",\"Dfr\":\"𝔇\",\"dfr\":\"𝔡\",\"dHar\":\"⥥\",\"dharl\":\"⇃\",\"dharr\":\"⇂\",\"DiacriticalAcute\":\"´\",\"DiacriticalDot\":\"˙\",\"DiacriticalDoubleAcute\":\"˝\",\"DiacriticalGrave\":\"`\",\"DiacriticalTilde\":\"˜\",\"diam\":\"⋄\",\"diamond\":\"⋄\",\"Diamond\":\"⋄\",\"diamondsuit\":\"♦\",\"diams\":\"♦\",\"die\":\"¨\",\"DifferentialD\":\"ⅆ\",\"digamma\":\"ϝ\",\"disin\":\"⋲\",\"div\":\"÷\",\"divide\":\"÷\",\"divideontimes\":\"⋇\",\"divonx\":\"⋇\",\"DJcy\":\"Ђ\",\"djcy\":\"ђ\",\"dlcorn\":\"⌞\",\"dlcrop\":\"⌍\",\"dollar\":\"$\",\"Dopf\":\"𝔻\",\"dopf\":\"𝕕\",\"Dot\":\"¨\",\"dot\":\"˙\",\"DotDot\":\"⃜\",\"doteq\":\"≐\",\"doteqdot\":\"≑\",\"DotEqual\":\"≐\",\"dotminus\":\"∸\",\"dotplus\":\"∔\",\"dotsquare\":\"⊡\",\"doublebarwedge\":\"⌆\",\"DoubleContourIntegral\":\"∯\",\"DoubleDot\":\"¨\",\"DoubleDownArrow\":\"⇓\",\"DoubleLeftArrow\":\"⇐\",\"DoubleLeftRightArrow\":\"⇔\",\"DoubleLeftTee\":\"⫤\",\"DoubleLongLeftArrow\":\"⟸\",\"DoubleLongLeftRightArrow\":\"⟺\",\"DoubleLongRightArrow\":\"⟹\",\"DoubleRightArrow\":\"⇒\",\"DoubleRightTee\":\"⊨\",\"DoubleUpArrow\":\"⇑\",\"DoubleUpDownArrow\":\"⇕\",\"DoubleVerticalBar\":\"∥\",\"DownArrowBar\":\"⤓\",\"downarrow\":\"↓\",\"DownArrow\":\"↓\",\"Downarrow\":\"⇓\",\"DownArrowUpArrow\":\"⇵\",\"DownBreve\":\"̑\",\"downdownarrows\":\"⇊\",\"downharpoonleft\":\"⇃\",\"downharpoonright\":\"⇂\",\"DownLeftRightVector\":\"⥐\",\"DownLeftTeeVector\":\"⥞\",\"DownLeftVectorBar\":\"⥖\",\"DownLeftVector\":\"↽\",\"DownRightTeeVector\":\"⥟\",\"DownRightVectorBar\":\"⥗\",\"DownRightVector\":\"⇁\",\"DownTeeArrow\":\"↧\",\"DownTee\":\"⊤\",\"drbkarow\":\"⤐\",\"drcorn\":\"⌟\",\"drcrop\":\"⌌\",\"Dscr\":\"𝒟\",\"dscr\":\"𝒹\",\"DScy\":\"Ѕ\",\"dscy\":\"ѕ\",\"dsol\":\"⧶\",\"Dstrok\":\"Đ\",\"dstrok\":\"đ\",\"dtdot\":\"⋱\",\"dtri\":\"▿\",\"dtrif\":\"▾\",\"duarr\":\"⇵\",\"duhar\":\"⥯\",\"dwangle\":\"⦦\",\"DZcy\":\"Џ\",\"dzcy\":\"џ\",\"dzigrarr\":\"⟿\",\"Eacute\":\"É\",\"eacute\":\"é\",\"easter\":\"⩮\",\"Ecaron\":\"Ě\",\"ecaron\":\"ě\",\"Ecirc\":\"Ê\",\"ecirc\":\"ê\",\"ecir\":\"≖\",\"ecolon\":\"≕\",\"Ecy\":\"Э\",\"ecy\":\"э\",\"eDDot\":\"⩷\",\"Edot\":\"Ė\",\"edot\":\"ė\",\"eDot\":\"≑\",\"ee\":\"ⅇ\",\"efDot\":\"≒\",\"Efr\":\"𝔈\",\"efr\":\"𝔢\",\"eg\":\"⪚\",\"Egrave\":\"È\",\"egrave\":\"è\",\"egs\":\"⪖\",\"egsdot\":\"⪘\",\"el\":\"⪙\",\"Element\":\"∈\",\"elinters\":\"⏧\",\"ell\":\"ℓ\",\"els\":\"⪕\",\"elsdot\":\"⪗\",\"Emacr\":\"Ē\",\"emacr\":\"ē\",\"empty\":\"∅\",\"emptyset\":\"∅\",\"EmptySmallSquare\":\"◻\",\"emptyv\":\"∅\",\"EmptyVerySmallSquare\":\"▫\",\"emsp13\":\" \",\"emsp14\":\" \",\"emsp\":\" \",\"ENG\":\"Ŋ\",\"eng\":\"ŋ\",\"ensp\":\" \",\"Eogon\":\"Ę\",\"eogon\":\"ę\",\"Eopf\":\"𝔼\",\"eopf\":\"𝕖\",\"epar\":\"⋕\",\"eparsl\":\"⧣\",\"eplus\":\"⩱\",\"epsi\":\"ε\",\"Epsilon\":\"Ε\",\"epsilon\":\"ε\",\"epsiv\":\"ϵ\",\"eqcirc\":\"≖\",\"eqcolon\":\"≕\",\"eqsim\":\"≂\",\"eqslantgtr\":\"⪖\",\"eqslantless\":\"⪕\",\"Equal\":\"⩵\",\"equals\":\"=\",\"EqualTilde\":\"≂\",\"equest\":\"≟\",\"Equilibrium\":\"⇌\",\"equiv\":\"≡\",\"equivDD\":\"⩸\",\"eqvparsl\":\"⧥\",\"erarr\":\"⥱\",\"erDot\":\"≓\",\"escr\":\"ℯ\",\"Escr\":\"ℰ\",\"esdot\":\"≐\",\"Esim\":\"⩳\",\"esim\":\"≂\",\"Eta\":\"Η\",\"eta\":\"η\",\"ETH\":\"Ð\",\"eth\":\"ð\",\"Euml\":\"Ë\",\"euml\":\"ë\",\"euro\":\"€\",\"excl\":\"!\",\"exist\":\"∃\",\"Exists\":\"∃\",\"expectation\":\"ℰ\",\"exponentiale\":\"ⅇ\",\"ExponentialE\":\"ⅇ\",\"fallingdotseq\":\"≒\",\"Fcy\":\"Ф\",\"fcy\":\"ф\",\"female\":\"♀\",\"ffilig\":\"ffi\",\"fflig\":\"ff\",\"ffllig\":\"ffl\",\"Ffr\":\"𝔉\",\"ffr\":\"𝔣\",\"filig\":\"fi\",\"FilledSmallSquare\":\"◼\",\"FilledVerySmallSquare\":\"▪\",\"fjlig\":\"fj\",\"flat\":\"♭\",\"fllig\":\"fl\",\"fltns\":\"▱\",\"fnof\":\"ƒ\",\"Fopf\":\"𝔽\",\"fopf\":\"𝕗\",\"forall\":\"∀\",\"ForAll\":\"∀\",\"fork\":\"⋔\",\"forkv\":\"⫙\",\"Fouriertrf\":\"ℱ\",\"fpartint\":\"⨍\",\"frac12\":\"½\",\"frac13\":\"⅓\",\"frac14\":\"¼\",\"frac15\":\"⅕\",\"frac16\":\"⅙\",\"frac18\":\"⅛\",\"frac23\":\"⅔\",\"frac25\":\"⅖\",\"frac34\":\"¾\",\"frac35\":\"⅗\",\"frac38\":\"⅜\",\"frac45\":\"⅘\",\"frac56\":\"⅚\",\"frac58\":\"⅝\",\"frac78\":\"⅞\",\"frasl\":\"⁄\",\"frown\":\"⌢\",\"fscr\":\"𝒻\",\"Fscr\":\"ℱ\",\"gacute\":\"ǵ\",\"Gamma\":\"Γ\",\"gamma\":\"γ\",\"Gammad\":\"Ϝ\",\"gammad\":\"ϝ\",\"gap\":\"⪆\",\"Gbreve\":\"Ğ\",\"gbreve\":\"ğ\",\"Gcedil\":\"Ģ\",\"Gcirc\":\"Ĝ\",\"gcirc\":\"ĝ\",\"Gcy\":\"Г\",\"gcy\":\"г\",\"Gdot\":\"Ġ\",\"gdot\":\"ġ\",\"ge\":\"≥\",\"gE\":\"≧\",\"gEl\":\"⪌\",\"gel\":\"⋛\",\"geq\":\"≥\",\"geqq\":\"≧\",\"geqslant\":\"⩾\",\"gescc\":\"⪩\",\"ges\":\"⩾\",\"gesdot\":\"⪀\",\"gesdoto\":\"⪂\",\"gesdotol\":\"⪄\",\"gesl\":\"⋛︀\",\"gesles\":\"⪔\",\"Gfr\":\"𝔊\",\"gfr\":\"𝔤\",\"gg\":\"≫\",\"Gg\":\"⋙\",\"ggg\":\"⋙\",\"gimel\":\"ℷ\",\"GJcy\":\"Ѓ\",\"gjcy\":\"ѓ\",\"gla\":\"⪥\",\"gl\":\"≷\",\"glE\":\"⪒\",\"glj\":\"⪤\",\"gnap\":\"⪊\",\"gnapprox\":\"⪊\",\"gne\":\"⪈\",\"gnE\":\"≩\",\"gneq\":\"⪈\",\"gneqq\":\"≩\",\"gnsim\":\"⋧\",\"Gopf\":\"𝔾\",\"gopf\":\"𝕘\",\"grave\":\"`\",\"GreaterEqual\":\"≥\",\"GreaterEqualLess\":\"⋛\",\"GreaterFullEqual\":\"≧\",\"GreaterGreater\":\"⪢\",\"GreaterLess\":\"≷\",\"GreaterSlantEqual\":\"⩾\",\"GreaterTilde\":\"≳\",\"Gscr\":\"𝒢\",\"gscr\":\"ℊ\",\"gsim\":\"≳\",\"gsime\":\"⪎\",\"gsiml\":\"⪐\",\"gtcc\":\"⪧\",\"gtcir\":\"⩺\",\"gt\":\">\",\"GT\":\">\",\"Gt\":\"≫\",\"gtdot\":\"⋗\",\"gtlPar\":\"⦕\",\"gtquest\":\"⩼\",\"gtrapprox\":\"⪆\",\"gtrarr\":\"⥸\",\"gtrdot\":\"⋗\",\"gtreqless\":\"⋛\",\"gtreqqless\":\"⪌\",\"gtrless\":\"≷\",\"gtrsim\":\"≳\",\"gvertneqq\":\"≩︀\",\"gvnE\":\"≩︀\",\"Hacek\":\"ˇ\",\"hairsp\":\" \",\"half\":\"½\",\"hamilt\":\"ℋ\",\"HARDcy\":\"Ъ\",\"hardcy\":\"ъ\",\"harrcir\":\"⥈\",\"harr\":\"↔\",\"hArr\":\"⇔\",\"harrw\":\"↭\",\"Hat\":\"^\",\"hbar\":\"ℏ\",\"Hcirc\":\"Ĥ\",\"hcirc\":\"ĥ\",\"hearts\":\"♥\",\"heartsuit\":\"♥\",\"hellip\":\"…\",\"hercon\":\"⊹\",\"hfr\":\"𝔥\",\"Hfr\":\"ℌ\",\"HilbertSpace\":\"ℋ\",\"hksearow\":\"⤥\",\"hkswarow\":\"⤦\",\"hoarr\":\"⇿\",\"homtht\":\"∻\",\"hookleftarrow\":\"↩\",\"hookrightarrow\":\"↪\",\"hopf\":\"𝕙\",\"Hopf\":\"ℍ\",\"horbar\":\"―\",\"HorizontalLine\":\"─\",\"hscr\":\"𝒽\",\"Hscr\":\"ℋ\",\"hslash\":\"ℏ\",\"Hstrok\":\"Ħ\",\"hstrok\":\"ħ\",\"HumpDownHump\":\"≎\",\"HumpEqual\":\"≏\",\"hybull\":\"⁃\",\"hyphen\":\"‐\",\"Iacute\":\"Í\",\"iacute\":\"í\",\"ic\":\"⁣\",\"Icirc\":\"Î\",\"icirc\":\"î\",\"Icy\":\"И\",\"icy\":\"и\",\"Idot\":\"İ\",\"IEcy\":\"Е\",\"iecy\":\"е\",\"iexcl\":\"¡\",\"iff\":\"⇔\",\"ifr\":\"𝔦\",\"Ifr\":\"ℑ\",\"Igrave\":\"Ì\",\"igrave\":\"ì\",\"ii\":\"ⅈ\",\"iiiint\":\"⨌\",\"iiint\":\"∭\",\"iinfin\":\"⧜\",\"iiota\":\"℩\",\"IJlig\":\"IJ\",\"ijlig\":\"ij\",\"Imacr\":\"Ī\",\"imacr\":\"ī\",\"image\":\"ℑ\",\"ImaginaryI\":\"ⅈ\",\"imagline\":\"ℐ\",\"imagpart\":\"ℑ\",\"imath\":\"ı\",\"Im\":\"ℑ\",\"imof\":\"⊷\",\"imped\":\"Ƶ\",\"Implies\":\"⇒\",\"incare\":\"℅\",\"in\":\"∈\",\"infin\":\"∞\",\"infintie\":\"⧝\",\"inodot\":\"ı\",\"intcal\":\"⊺\",\"int\":\"∫\",\"Int\":\"∬\",\"integers\":\"ℤ\",\"Integral\":\"∫\",\"intercal\":\"⊺\",\"Intersection\":\"⋂\",\"intlarhk\":\"⨗\",\"intprod\":\"⨼\",\"InvisibleComma\":\"⁣\",\"InvisibleTimes\":\"⁢\",\"IOcy\":\"Ё\",\"iocy\":\"ё\",\"Iogon\":\"Į\",\"iogon\":\"į\",\"Iopf\":\"𝕀\",\"iopf\":\"𝕚\",\"Iota\":\"Ι\",\"iota\":\"ι\",\"iprod\":\"⨼\",\"iquest\":\"¿\",\"iscr\":\"𝒾\",\"Iscr\":\"ℐ\",\"isin\":\"∈\",\"isindot\":\"⋵\",\"isinE\":\"⋹\",\"isins\":\"⋴\",\"isinsv\":\"⋳\",\"isinv\":\"∈\",\"it\":\"⁢\",\"Itilde\":\"Ĩ\",\"itilde\":\"ĩ\",\"Iukcy\":\"І\",\"iukcy\":\"і\",\"Iuml\":\"Ï\",\"iuml\":\"ï\",\"Jcirc\":\"Ĵ\",\"jcirc\":\"ĵ\",\"Jcy\":\"Й\",\"jcy\":\"й\",\"Jfr\":\"𝔍\",\"jfr\":\"𝔧\",\"jmath\":\"ȷ\",\"Jopf\":\"𝕁\",\"jopf\":\"𝕛\",\"Jscr\":\"𝒥\",\"jscr\":\"𝒿\",\"Jsercy\":\"Ј\",\"jsercy\":\"ј\",\"Jukcy\":\"Є\",\"jukcy\":\"є\",\"Kappa\":\"Κ\",\"kappa\":\"κ\",\"kappav\":\"ϰ\",\"Kcedil\":\"Ķ\",\"kcedil\":\"ķ\",\"Kcy\":\"К\",\"kcy\":\"к\",\"Kfr\":\"𝔎\",\"kfr\":\"𝔨\",\"kgreen\":\"ĸ\",\"KHcy\":\"Х\",\"khcy\":\"х\",\"KJcy\":\"Ќ\",\"kjcy\":\"ќ\",\"Kopf\":\"𝕂\",\"kopf\":\"𝕜\",\"Kscr\":\"𝒦\",\"kscr\":\"𝓀\",\"lAarr\":\"⇚\",\"Lacute\":\"Ĺ\",\"lacute\":\"ĺ\",\"laemptyv\":\"⦴\",\"lagran\":\"ℒ\",\"Lambda\":\"Λ\",\"lambda\":\"λ\",\"lang\":\"⟨\",\"Lang\":\"⟪\",\"langd\":\"⦑\",\"langle\":\"⟨\",\"lap\":\"⪅\",\"Laplacetrf\":\"ℒ\",\"laquo\":\"«\",\"larrb\":\"⇤\",\"larrbfs\":\"⤟\",\"larr\":\"←\",\"Larr\":\"↞\",\"lArr\":\"⇐\",\"larrfs\":\"⤝\",\"larrhk\":\"↩\",\"larrlp\":\"↫\",\"larrpl\":\"⤹\",\"larrsim\":\"⥳\",\"larrtl\":\"↢\",\"latail\":\"⤙\",\"lAtail\":\"⤛\",\"lat\":\"⪫\",\"late\":\"⪭\",\"lates\":\"⪭︀\",\"lbarr\":\"⤌\",\"lBarr\":\"⤎\",\"lbbrk\":\"❲\",\"lbrace\":\"{\",\"lbrack\":\"[\",\"lbrke\":\"⦋\",\"lbrksld\":\"⦏\",\"lbrkslu\":\"⦍\",\"Lcaron\":\"Ľ\",\"lcaron\":\"ľ\",\"Lcedil\":\"Ļ\",\"lcedil\":\"ļ\",\"lceil\":\"⌈\",\"lcub\":\"{\",\"Lcy\":\"Л\",\"lcy\":\"л\",\"ldca\":\"⤶\",\"ldquo\":\"“\",\"ldquor\":\"„\",\"ldrdhar\":\"⥧\",\"ldrushar\":\"⥋\",\"ldsh\":\"↲\",\"le\":\"≤\",\"lE\":\"≦\",\"LeftAngleBracket\":\"⟨\",\"LeftArrowBar\":\"⇤\",\"leftarrow\":\"←\",\"LeftArrow\":\"←\",\"Leftarrow\":\"⇐\",\"LeftArrowRightArrow\":\"⇆\",\"leftarrowtail\":\"↢\",\"LeftCeiling\":\"⌈\",\"LeftDoubleBracket\":\"⟦\",\"LeftDownTeeVector\":\"⥡\",\"LeftDownVectorBar\":\"⥙\",\"LeftDownVector\":\"⇃\",\"LeftFloor\":\"⌊\",\"leftharpoondown\":\"↽\",\"leftharpoonup\":\"↼\",\"leftleftarrows\":\"⇇\",\"leftrightarrow\":\"↔\",\"LeftRightArrow\":\"↔\",\"Leftrightarrow\":\"⇔\",\"leftrightarrows\":\"⇆\",\"leftrightharpoons\":\"⇋\",\"leftrightsquigarrow\":\"↭\",\"LeftRightVector\":\"⥎\",\"LeftTeeArrow\":\"↤\",\"LeftTee\":\"⊣\",\"LeftTeeVector\":\"⥚\",\"leftthreetimes\":\"⋋\",\"LeftTriangleBar\":\"⧏\",\"LeftTriangle\":\"⊲\",\"LeftTriangleEqual\":\"⊴\",\"LeftUpDownVector\":\"⥑\",\"LeftUpTeeVector\":\"⥠\",\"LeftUpVectorBar\":\"⥘\",\"LeftUpVector\":\"↿\",\"LeftVectorBar\":\"⥒\",\"LeftVector\":\"↼\",\"lEg\":\"⪋\",\"leg\":\"⋚\",\"leq\":\"≤\",\"leqq\":\"≦\",\"leqslant\":\"⩽\",\"lescc\":\"⪨\",\"les\":\"⩽\",\"lesdot\":\"⩿\",\"lesdoto\":\"⪁\",\"lesdotor\":\"⪃\",\"lesg\":\"⋚︀\",\"lesges\":\"⪓\",\"lessapprox\":\"⪅\",\"lessdot\":\"⋖\",\"lesseqgtr\":\"⋚\",\"lesseqqgtr\":\"⪋\",\"LessEqualGreater\":\"⋚\",\"LessFullEqual\":\"≦\",\"LessGreater\":\"≶\",\"lessgtr\":\"≶\",\"LessLess\":\"⪡\",\"lesssim\":\"≲\",\"LessSlantEqual\":\"⩽\",\"LessTilde\":\"≲\",\"lfisht\":\"⥼\",\"lfloor\":\"⌊\",\"Lfr\":\"𝔏\",\"lfr\":\"𝔩\",\"lg\":\"≶\",\"lgE\":\"⪑\",\"lHar\":\"⥢\",\"lhard\":\"↽\",\"lharu\":\"↼\",\"lharul\":\"⥪\",\"lhblk\":\"▄\",\"LJcy\":\"Љ\",\"ljcy\":\"љ\",\"llarr\":\"⇇\",\"ll\":\"≪\",\"Ll\":\"⋘\",\"llcorner\":\"⌞\",\"Lleftarrow\":\"⇚\",\"llhard\":\"⥫\",\"lltri\":\"◺\",\"Lmidot\":\"Ŀ\",\"lmidot\":\"ŀ\",\"lmoustache\":\"⎰\",\"lmoust\":\"⎰\",\"lnap\":\"⪉\",\"lnapprox\":\"⪉\",\"lne\":\"⪇\",\"lnE\":\"≨\",\"lneq\":\"⪇\",\"lneqq\":\"≨\",\"lnsim\":\"⋦\",\"loang\":\"⟬\",\"loarr\":\"⇽\",\"lobrk\":\"⟦\",\"longleftarrow\":\"⟵\",\"LongLeftArrow\":\"⟵\",\"Longleftarrow\":\"⟸\",\"longleftrightarrow\":\"⟷\",\"LongLeftRightArrow\":\"⟷\",\"Longleftrightarrow\":\"⟺\",\"longmapsto\":\"⟼\",\"longrightarrow\":\"⟶\",\"LongRightArrow\":\"⟶\",\"Longrightarrow\":\"⟹\",\"looparrowleft\":\"↫\",\"looparrowright\":\"↬\",\"lopar\":\"⦅\",\"Lopf\":\"𝕃\",\"lopf\":\"𝕝\",\"loplus\":\"⨭\",\"lotimes\":\"⨴\",\"lowast\":\"∗\",\"lowbar\":\"_\",\"LowerLeftArrow\":\"↙\",\"LowerRightArrow\":\"↘\",\"loz\":\"◊\",\"lozenge\":\"◊\",\"lozf\":\"⧫\",\"lpar\":\"(\",\"lparlt\":\"⦓\",\"lrarr\":\"⇆\",\"lrcorner\":\"⌟\",\"lrhar\":\"⇋\",\"lrhard\":\"⥭\",\"lrm\":\"‎\",\"lrtri\":\"⊿\",\"lsaquo\":\"‹\",\"lscr\":\"𝓁\",\"Lscr\":\"ℒ\",\"lsh\":\"↰\",\"Lsh\":\"↰\",\"lsim\":\"≲\",\"lsime\":\"⪍\",\"lsimg\":\"⪏\",\"lsqb\":\"[\",\"lsquo\":\"‘\",\"lsquor\":\"‚\",\"Lstrok\":\"Ł\",\"lstrok\":\"ł\",\"ltcc\":\"⪦\",\"ltcir\":\"⩹\",\"lt\":\"<\",\"LT\":\"<\",\"Lt\":\"≪\",\"ltdot\":\"⋖\",\"lthree\":\"⋋\",\"ltimes\":\"⋉\",\"ltlarr\":\"⥶\",\"ltquest\":\"⩻\",\"ltri\":\"◃\",\"ltrie\":\"⊴\",\"ltrif\":\"◂\",\"ltrPar\":\"⦖\",\"lurdshar\":\"⥊\",\"luruhar\":\"⥦\",\"lvertneqq\":\"≨︀\",\"lvnE\":\"≨︀\",\"macr\":\"¯\",\"male\":\"♂\",\"malt\":\"✠\",\"maltese\":\"✠\",\"Map\":\"⤅\",\"map\":\"↦\",\"mapsto\":\"↦\",\"mapstodown\":\"↧\",\"mapstoleft\":\"↤\",\"mapstoup\":\"↥\",\"marker\":\"▮\",\"mcomma\":\"⨩\",\"Mcy\":\"М\",\"mcy\":\"м\",\"mdash\":\"—\",\"mDDot\":\"∺\",\"measuredangle\":\"∡\",\"MediumSpace\":\" \",\"Mellintrf\":\"ℳ\",\"Mfr\":\"𝔐\",\"mfr\":\"𝔪\",\"mho\":\"℧\",\"micro\":\"µ\",\"midast\":\"*\",\"midcir\":\"⫰\",\"mid\":\"∣\",\"middot\":\"·\",\"minusb\":\"⊟\",\"minus\":\"−\",\"minusd\":\"∸\",\"minusdu\":\"⨪\",\"MinusPlus\":\"∓\",\"mlcp\":\"⫛\",\"mldr\":\"…\",\"mnplus\":\"∓\",\"models\":\"⊧\",\"Mopf\":\"𝕄\",\"mopf\":\"𝕞\",\"mp\":\"∓\",\"mscr\":\"𝓂\",\"Mscr\":\"ℳ\",\"mstpos\":\"∾\",\"Mu\":\"Μ\",\"mu\":\"μ\",\"multimap\":\"⊸\",\"mumap\":\"⊸\",\"nabla\":\"∇\",\"Nacute\":\"Ń\",\"nacute\":\"ń\",\"nang\":\"∠⃒\",\"nap\":\"≉\",\"napE\":\"⩰̸\",\"napid\":\"≋̸\",\"napos\":\"ʼn\",\"napprox\":\"≉\",\"natural\":\"♮\",\"naturals\":\"ℕ\",\"natur\":\"♮\",\"nbsp\":\" \",\"nbump\":\"≎̸\",\"nbumpe\":\"≏̸\",\"ncap\":\"⩃\",\"Ncaron\":\"Ň\",\"ncaron\":\"ň\",\"Ncedil\":\"Ņ\",\"ncedil\":\"ņ\",\"ncong\":\"≇\",\"ncongdot\":\"⩭̸\",\"ncup\":\"⩂\",\"Ncy\":\"Н\",\"ncy\":\"н\",\"ndash\":\"–\",\"nearhk\":\"⤤\",\"nearr\":\"↗\",\"neArr\":\"⇗\",\"nearrow\":\"↗\",\"ne\":\"≠\",\"nedot\":\"≐̸\",\"NegativeMediumSpace\":\"​\",\"NegativeThickSpace\":\"​\",\"NegativeThinSpace\":\"​\",\"NegativeVeryThinSpace\":\"​\",\"nequiv\":\"≢\",\"nesear\":\"⤨\",\"nesim\":\"≂̸\",\"NestedGreaterGreater\":\"≫\",\"NestedLessLess\":\"≪\",\"NewLine\":\"\\n\",\"nexist\":\"∄\",\"nexists\":\"∄\",\"Nfr\":\"𝔑\",\"nfr\":\"𝔫\",\"ngE\":\"≧̸\",\"nge\":\"≱\",\"ngeq\":\"≱\",\"ngeqq\":\"≧̸\",\"ngeqslant\":\"⩾̸\",\"nges\":\"⩾̸\",\"nGg\":\"⋙̸\",\"ngsim\":\"≵\",\"nGt\":\"≫⃒\",\"ngt\":\"≯\",\"ngtr\":\"≯\",\"nGtv\":\"≫̸\",\"nharr\":\"↮\",\"nhArr\":\"⇎\",\"nhpar\":\"⫲\",\"ni\":\"∋\",\"nis\":\"⋼\",\"nisd\":\"⋺\",\"niv\":\"∋\",\"NJcy\":\"Њ\",\"njcy\":\"њ\",\"nlarr\":\"↚\",\"nlArr\":\"⇍\",\"nldr\":\"‥\",\"nlE\":\"≦̸\",\"nle\":\"≰\",\"nleftarrow\":\"↚\",\"nLeftarrow\":\"⇍\",\"nleftrightarrow\":\"↮\",\"nLeftrightarrow\":\"⇎\",\"nleq\":\"≰\",\"nleqq\":\"≦̸\",\"nleqslant\":\"⩽̸\",\"nles\":\"⩽̸\",\"nless\":\"≮\",\"nLl\":\"⋘̸\",\"nlsim\":\"≴\",\"nLt\":\"≪⃒\",\"nlt\":\"≮\",\"nltri\":\"⋪\",\"nltrie\":\"⋬\",\"nLtv\":\"≪̸\",\"nmid\":\"∤\",\"NoBreak\":\"⁠\",\"NonBreakingSpace\":\" \",\"nopf\":\"𝕟\",\"Nopf\":\"ℕ\",\"Not\":\"⫬\",\"not\":\"¬\",\"NotCongruent\":\"≢\",\"NotCupCap\":\"≭\",\"NotDoubleVerticalBar\":\"∦\",\"NotElement\":\"∉\",\"NotEqual\":\"≠\",\"NotEqualTilde\":\"≂̸\",\"NotExists\":\"∄\",\"NotGreater\":\"≯\",\"NotGreaterEqual\":\"≱\",\"NotGreaterFullEqual\":\"≧̸\",\"NotGreaterGreater\":\"≫̸\",\"NotGreaterLess\":\"≹\",\"NotGreaterSlantEqual\":\"⩾̸\",\"NotGreaterTilde\":\"≵\",\"NotHumpDownHump\":\"≎̸\",\"NotHumpEqual\":\"≏̸\",\"notin\":\"∉\",\"notindot\":\"⋵̸\",\"notinE\":\"⋹̸\",\"notinva\":\"∉\",\"notinvb\":\"⋷\",\"notinvc\":\"⋶\",\"NotLeftTriangleBar\":\"⧏̸\",\"NotLeftTriangle\":\"⋪\",\"NotLeftTriangleEqual\":\"⋬\",\"NotLess\":\"≮\",\"NotLessEqual\":\"≰\",\"NotLessGreater\":\"≸\",\"NotLessLess\":\"≪̸\",\"NotLessSlantEqual\":\"⩽̸\",\"NotLessTilde\":\"≴\",\"NotNestedGreaterGreater\":\"⪢̸\",\"NotNestedLessLess\":\"⪡̸\",\"notni\":\"∌\",\"notniva\":\"∌\",\"notnivb\":\"⋾\",\"notnivc\":\"⋽\",\"NotPrecedes\":\"⊀\",\"NotPrecedesEqual\":\"⪯̸\",\"NotPrecedesSlantEqual\":\"⋠\",\"NotReverseElement\":\"∌\",\"NotRightTriangleBar\":\"⧐̸\",\"NotRightTriangle\":\"⋫\",\"NotRightTriangleEqual\":\"⋭\",\"NotSquareSubset\":\"⊏̸\",\"NotSquareSubsetEqual\":\"⋢\",\"NotSquareSuperset\":\"⊐̸\",\"NotSquareSupersetEqual\":\"⋣\",\"NotSubset\":\"⊂⃒\",\"NotSubsetEqual\":\"⊈\",\"NotSucceeds\":\"⊁\",\"NotSucceedsEqual\":\"⪰̸\",\"NotSucceedsSlantEqual\":\"⋡\",\"NotSucceedsTilde\":\"≿̸\",\"NotSuperset\":\"⊃⃒\",\"NotSupersetEqual\":\"⊉\",\"NotTilde\":\"≁\",\"NotTildeEqual\":\"≄\",\"NotTildeFullEqual\":\"≇\",\"NotTildeTilde\":\"≉\",\"NotVerticalBar\":\"∤\",\"nparallel\":\"∦\",\"npar\":\"∦\",\"nparsl\":\"⫽⃥\",\"npart\":\"∂̸\",\"npolint\":\"⨔\",\"npr\":\"⊀\",\"nprcue\":\"⋠\",\"nprec\":\"⊀\",\"npreceq\":\"⪯̸\",\"npre\":\"⪯̸\",\"nrarrc\":\"⤳̸\",\"nrarr\":\"↛\",\"nrArr\":\"⇏\",\"nrarrw\":\"↝̸\",\"nrightarrow\":\"↛\",\"nRightarrow\":\"⇏\",\"nrtri\":\"⋫\",\"nrtrie\":\"⋭\",\"nsc\":\"⊁\",\"nsccue\":\"⋡\",\"nsce\":\"⪰̸\",\"Nscr\":\"𝒩\",\"nscr\":\"𝓃\",\"nshortmid\":\"∤\",\"nshortparallel\":\"∦\",\"nsim\":\"≁\",\"nsime\":\"≄\",\"nsimeq\":\"≄\",\"nsmid\":\"∤\",\"nspar\":\"∦\",\"nsqsube\":\"⋢\",\"nsqsupe\":\"⋣\",\"nsub\":\"⊄\",\"nsubE\":\"⫅̸\",\"nsube\":\"⊈\",\"nsubset\":\"⊂⃒\",\"nsubseteq\":\"⊈\",\"nsubseteqq\":\"⫅̸\",\"nsucc\":\"⊁\",\"nsucceq\":\"⪰̸\",\"nsup\":\"⊅\",\"nsupE\":\"⫆̸\",\"nsupe\":\"⊉\",\"nsupset\":\"⊃⃒\",\"nsupseteq\":\"⊉\",\"nsupseteqq\":\"⫆̸\",\"ntgl\":\"≹\",\"Ntilde\":\"Ñ\",\"ntilde\":\"ñ\",\"ntlg\":\"≸\",\"ntriangleleft\":\"⋪\",\"ntrianglelefteq\":\"⋬\",\"ntriangleright\":\"⋫\",\"ntrianglerighteq\":\"⋭\",\"Nu\":\"Ν\",\"nu\":\"ν\",\"num\":\"#\",\"numero\":\"№\",\"numsp\":\" \",\"nvap\":\"≍⃒\",\"nvdash\":\"⊬\",\"nvDash\":\"⊭\",\"nVdash\":\"⊮\",\"nVDash\":\"⊯\",\"nvge\":\"≥⃒\",\"nvgt\":\">⃒\",\"nvHarr\":\"⤄\",\"nvinfin\":\"⧞\",\"nvlArr\":\"⤂\",\"nvle\":\"≤⃒\",\"nvlt\":\"<⃒\",\"nvltrie\":\"⊴⃒\",\"nvrArr\":\"⤃\",\"nvrtrie\":\"⊵⃒\",\"nvsim\":\"∼⃒\",\"nwarhk\":\"⤣\",\"nwarr\":\"↖\",\"nwArr\":\"⇖\",\"nwarrow\":\"↖\",\"nwnear\":\"⤧\",\"Oacute\":\"Ó\",\"oacute\":\"ó\",\"oast\":\"⊛\",\"Ocirc\":\"Ô\",\"ocirc\":\"ô\",\"ocir\":\"⊚\",\"Ocy\":\"О\",\"ocy\":\"о\",\"odash\":\"⊝\",\"Odblac\":\"Ő\",\"odblac\":\"ő\",\"odiv\":\"⨸\",\"odot\":\"⊙\",\"odsold\":\"⦼\",\"OElig\":\"Œ\",\"oelig\":\"œ\",\"ofcir\":\"⦿\",\"Ofr\":\"𝔒\",\"ofr\":\"𝔬\",\"ogon\":\"˛\",\"Ograve\":\"Ò\",\"ograve\":\"ò\",\"ogt\":\"⧁\",\"ohbar\":\"⦵\",\"ohm\":\"Ω\",\"oint\":\"∮\",\"olarr\":\"↺\",\"olcir\":\"⦾\",\"olcross\":\"⦻\",\"oline\":\"‾\",\"olt\":\"⧀\",\"Omacr\":\"Ō\",\"omacr\":\"ō\",\"Omega\":\"Ω\",\"omega\":\"ω\",\"Omicron\":\"Ο\",\"omicron\":\"ο\",\"omid\":\"⦶\",\"ominus\":\"⊖\",\"Oopf\":\"𝕆\",\"oopf\":\"𝕠\",\"opar\":\"⦷\",\"OpenCurlyDoubleQuote\":\"“\",\"OpenCurlyQuote\":\"‘\",\"operp\":\"⦹\",\"oplus\":\"⊕\",\"orarr\":\"↻\",\"Or\":\"⩔\",\"or\":\"∨\",\"ord\":\"⩝\",\"order\":\"ℴ\",\"orderof\":\"ℴ\",\"ordf\":\"ª\",\"ordm\":\"º\",\"origof\":\"⊶\",\"oror\":\"⩖\",\"orslope\":\"⩗\",\"orv\":\"⩛\",\"oS\":\"Ⓢ\",\"Oscr\":\"𝒪\",\"oscr\":\"ℴ\",\"Oslash\":\"Ø\",\"oslash\":\"ø\",\"osol\":\"⊘\",\"Otilde\":\"Õ\",\"otilde\":\"õ\",\"otimesas\":\"⨶\",\"Otimes\":\"⨷\",\"otimes\":\"⊗\",\"Ouml\":\"Ö\",\"ouml\":\"ö\",\"ovbar\":\"⌽\",\"OverBar\":\"‾\",\"OverBrace\":\"⏞\",\"OverBracket\":\"⎴\",\"OverParenthesis\":\"⏜\",\"para\":\"¶\",\"parallel\":\"∥\",\"par\":\"∥\",\"parsim\":\"⫳\",\"parsl\":\"⫽\",\"part\":\"∂\",\"PartialD\":\"∂\",\"Pcy\":\"П\",\"pcy\":\"п\",\"percnt\":\"%\",\"period\":\".\",\"permil\":\"‰\",\"perp\":\"⊥\",\"pertenk\":\"‱\",\"Pfr\":\"𝔓\",\"pfr\":\"𝔭\",\"Phi\":\"Φ\",\"phi\":\"φ\",\"phiv\":\"ϕ\",\"phmmat\":\"ℳ\",\"phone\":\"☎\",\"Pi\":\"Π\",\"pi\":\"π\",\"pitchfork\":\"⋔\",\"piv\":\"ϖ\",\"planck\":\"ℏ\",\"planckh\":\"ℎ\",\"plankv\":\"ℏ\",\"plusacir\":\"⨣\",\"plusb\":\"⊞\",\"pluscir\":\"⨢\",\"plus\":\"+\",\"plusdo\":\"∔\",\"plusdu\":\"⨥\",\"pluse\":\"⩲\",\"PlusMinus\":\"±\",\"plusmn\":\"±\",\"plussim\":\"⨦\",\"plustwo\":\"⨧\",\"pm\":\"±\",\"Poincareplane\":\"ℌ\",\"pointint\":\"⨕\",\"popf\":\"𝕡\",\"Popf\":\"ℙ\",\"pound\":\"£\",\"prap\":\"⪷\",\"Pr\":\"⪻\",\"pr\":\"≺\",\"prcue\":\"≼\",\"precapprox\":\"⪷\",\"prec\":\"≺\",\"preccurlyeq\":\"≼\",\"Precedes\":\"≺\",\"PrecedesEqual\":\"⪯\",\"PrecedesSlantEqual\":\"≼\",\"PrecedesTilde\":\"≾\",\"preceq\":\"⪯\",\"precnapprox\":\"⪹\",\"precneqq\":\"⪵\",\"precnsim\":\"⋨\",\"pre\":\"⪯\",\"prE\":\"⪳\",\"precsim\":\"≾\",\"prime\":\"′\",\"Prime\":\"″\",\"primes\":\"ℙ\",\"prnap\":\"⪹\",\"prnE\":\"⪵\",\"prnsim\":\"⋨\",\"prod\":\"∏\",\"Product\":\"∏\",\"profalar\":\"⌮\",\"profline\":\"⌒\",\"profsurf\":\"⌓\",\"prop\":\"∝\",\"Proportional\":\"∝\",\"Proportion\":\"∷\",\"propto\":\"∝\",\"prsim\":\"≾\",\"prurel\":\"⊰\",\"Pscr\":\"𝒫\",\"pscr\":\"𝓅\",\"Psi\":\"Ψ\",\"psi\":\"ψ\",\"puncsp\":\" \",\"Qfr\":\"𝔔\",\"qfr\":\"𝔮\",\"qint\":\"⨌\",\"qopf\":\"𝕢\",\"Qopf\":\"ℚ\",\"qprime\":\"⁗\",\"Qscr\":\"𝒬\",\"qscr\":\"𝓆\",\"quaternions\":\"ℍ\",\"quatint\":\"⨖\",\"quest\":\"?\",\"questeq\":\"≟\",\"quot\":\"\\\"\",\"QUOT\":\"\\\"\",\"rAarr\":\"⇛\",\"race\":\"∽̱\",\"Racute\":\"Ŕ\",\"racute\":\"ŕ\",\"radic\":\"√\",\"raemptyv\":\"⦳\",\"rang\":\"⟩\",\"Rang\":\"⟫\",\"rangd\":\"⦒\",\"range\":\"⦥\",\"rangle\":\"⟩\",\"raquo\":\"»\",\"rarrap\":\"⥵\",\"rarrb\":\"⇥\",\"rarrbfs\":\"⤠\",\"rarrc\":\"⤳\",\"rarr\":\"→\",\"Rarr\":\"↠\",\"rArr\":\"⇒\",\"rarrfs\":\"⤞\",\"rarrhk\":\"↪\",\"rarrlp\":\"↬\",\"rarrpl\":\"⥅\",\"rarrsim\":\"⥴\",\"Rarrtl\":\"⤖\",\"rarrtl\":\"↣\",\"rarrw\":\"↝\",\"ratail\":\"⤚\",\"rAtail\":\"⤜\",\"ratio\":\"∶\",\"rationals\":\"ℚ\",\"rbarr\":\"⤍\",\"rBarr\":\"⤏\",\"RBarr\":\"⤐\",\"rbbrk\":\"❳\",\"rbrace\":\"}\",\"rbrack\":\"]\",\"rbrke\":\"⦌\",\"rbrksld\":\"⦎\",\"rbrkslu\":\"⦐\",\"Rcaron\":\"Ř\",\"rcaron\":\"ř\",\"Rcedil\":\"Ŗ\",\"rcedil\":\"ŗ\",\"rceil\":\"⌉\",\"rcub\":\"}\",\"Rcy\":\"Р\",\"rcy\":\"р\",\"rdca\":\"⤷\",\"rdldhar\":\"⥩\",\"rdquo\":\"”\",\"rdquor\":\"”\",\"rdsh\":\"↳\",\"real\":\"ℜ\",\"realine\":\"ℛ\",\"realpart\":\"ℜ\",\"reals\":\"ℝ\",\"Re\":\"ℜ\",\"rect\":\"▭\",\"reg\":\"®\",\"REG\":\"®\",\"ReverseElement\":\"∋\",\"ReverseEquilibrium\":\"⇋\",\"ReverseUpEquilibrium\":\"⥯\",\"rfisht\":\"⥽\",\"rfloor\":\"⌋\",\"rfr\":\"𝔯\",\"Rfr\":\"ℜ\",\"rHar\":\"⥤\",\"rhard\":\"⇁\",\"rharu\":\"⇀\",\"rharul\":\"⥬\",\"Rho\":\"Ρ\",\"rho\":\"ρ\",\"rhov\":\"ϱ\",\"RightAngleBracket\":\"⟩\",\"RightArrowBar\":\"⇥\",\"rightarrow\":\"→\",\"RightArrow\":\"→\",\"Rightarrow\":\"⇒\",\"RightArrowLeftArrow\":\"⇄\",\"rightarrowtail\":\"↣\",\"RightCeiling\":\"⌉\",\"RightDoubleBracket\":\"⟧\",\"RightDownTeeVector\":\"⥝\",\"RightDownVectorBar\":\"⥕\",\"RightDownVector\":\"⇂\",\"RightFloor\":\"⌋\",\"rightharpoondown\":\"⇁\",\"rightharpoonup\":\"⇀\",\"rightleftarrows\":\"⇄\",\"rightleftharpoons\":\"⇌\",\"rightrightarrows\":\"⇉\",\"rightsquigarrow\":\"↝\",\"RightTeeArrow\":\"↦\",\"RightTee\":\"⊢\",\"RightTeeVector\":\"⥛\",\"rightthreetimes\":\"⋌\",\"RightTriangleBar\":\"⧐\",\"RightTriangle\":\"⊳\",\"RightTriangleEqual\":\"⊵\",\"RightUpDownVector\":\"⥏\",\"RightUpTeeVector\":\"⥜\",\"RightUpVectorBar\":\"⥔\",\"RightUpVector\":\"↾\",\"RightVectorBar\":\"⥓\",\"RightVector\":\"⇀\",\"ring\":\"˚\",\"risingdotseq\":\"≓\",\"rlarr\":\"⇄\",\"rlhar\":\"⇌\",\"rlm\":\"‏\",\"rmoustache\":\"⎱\",\"rmoust\":\"⎱\",\"rnmid\":\"⫮\",\"roang\":\"⟭\",\"roarr\":\"⇾\",\"robrk\":\"⟧\",\"ropar\":\"⦆\",\"ropf\":\"𝕣\",\"Ropf\":\"ℝ\",\"roplus\":\"⨮\",\"rotimes\":\"⨵\",\"RoundImplies\":\"⥰\",\"rpar\":\")\",\"rpargt\":\"⦔\",\"rppolint\":\"⨒\",\"rrarr\":\"⇉\",\"Rrightarrow\":\"⇛\",\"rsaquo\":\"›\",\"rscr\":\"𝓇\",\"Rscr\":\"ℛ\",\"rsh\":\"↱\",\"Rsh\":\"↱\",\"rsqb\":\"]\",\"rsquo\":\"’\",\"rsquor\":\"’\",\"rthree\":\"⋌\",\"rtimes\":\"⋊\",\"rtri\":\"▹\",\"rtrie\":\"⊵\",\"rtrif\":\"▸\",\"rtriltri\":\"⧎\",\"RuleDelayed\":\"⧴\",\"ruluhar\":\"⥨\",\"rx\":\"℞\",\"Sacute\":\"Ś\",\"sacute\":\"ś\",\"sbquo\":\"‚\",\"scap\":\"⪸\",\"Scaron\":\"Š\",\"scaron\":\"š\",\"Sc\":\"⪼\",\"sc\":\"≻\",\"sccue\":\"≽\",\"sce\":\"⪰\",\"scE\":\"⪴\",\"Scedil\":\"Ş\",\"scedil\":\"ş\",\"Scirc\":\"Ŝ\",\"scirc\":\"ŝ\",\"scnap\":\"⪺\",\"scnE\":\"⪶\",\"scnsim\":\"⋩\",\"scpolint\":\"⨓\",\"scsim\":\"≿\",\"Scy\":\"С\",\"scy\":\"с\",\"sdotb\":\"⊡\",\"sdot\":\"⋅\",\"sdote\":\"⩦\",\"searhk\":\"⤥\",\"searr\":\"↘\",\"seArr\":\"⇘\",\"searrow\":\"↘\",\"sect\":\"§\",\"semi\":\";\",\"seswar\":\"⤩\",\"setminus\":\"∖\",\"setmn\":\"∖\",\"sext\":\"✶\",\"Sfr\":\"𝔖\",\"sfr\":\"𝔰\",\"sfrown\":\"⌢\",\"sharp\":\"♯\",\"SHCHcy\":\"Щ\",\"shchcy\":\"щ\",\"SHcy\":\"Ш\",\"shcy\":\"ш\",\"ShortDownArrow\":\"↓\",\"ShortLeftArrow\":\"←\",\"shortmid\":\"∣\",\"shortparallel\":\"∥\",\"ShortRightArrow\":\"→\",\"ShortUpArrow\":\"↑\",\"shy\":\"­\",\"Sigma\":\"Σ\",\"sigma\":\"σ\",\"sigmaf\":\"ς\",\"sigmav\":\"ς\",\"sim\":\"∼\",\"simdot\":\"⩪\",\"sime\":\"≃\",\"simeq\":\"≃\",\"simg\":\"⪞\",\"simgE\":\"⪠\",\"siml\":\"⪝\",\"simlE\":\"⪟\",\"simne\":\"≆\",\"simplus\":\"⨤\",\"simrarr\":\"⥲\",\"slarr\":\"←\",\"SmallCircle\":\"∘\",\"smallsetminus\":\"∖\",\"smashp\":\"⨳\",\"smeparsl\":\"⧤\",\"smid\":\"∣\",\"smile\":\"⌣\",\"smt\":\"⪪\",\"smte\":\"⪬\",\"smtes\":\"⪬︀\",\"SOFTcy\":\"Ь\",\"softcy\":\"ь\",\"solbar\":\"⌿\",\"solb\":\"⧄\",\"sol\":\"/\",\"Sopf\":\"𝕊\",\"sopf\":\"𝕤\",\"spades\":\"♠\",\"spadesuit\":\"♠\",\"spar\":\"∥\",\"sqcap\":\"⊓\",\"sqcaps\":\"⊓︀\",\"sqcup\":\"⊔\",\"sqcups\":\"⊔︀\",\"Sqrt\":\"√\",\"sqsub\":\"⊏\",\"sqsube\":\"⊑\",\"sqsubset\":\"⊏\",\"sqsubseteq\":\"⊑\",\"sqsup\":\"⊐\",\"sqsupe\":\"⊒\",\"sqsupset\":\"⊐\",\"sqsupseteq\":\"⊒\",\"square\":\"□\",\"Square\":\"□\",\"SquareIntersection\":\"⊓\",\"SquareSubset\":\"⊏\",\"SquareSubsetEqual\":\"⊑\",\"SquareSuperset\":\"⊐\",\"SquareSupersetEqual\":\"⊒\",\"SquareUnion\":\"⊔\",\"squarf\":\"▪\",\"squ\":\"□\",\"squf\":\"▪\",\"srarr\":\"→\",\"Sscr\":\"𝒮\",\"sscr\":\"𝓈\",\"ssetmn\":\"∖\",\"ssmile\":\"⌣\",\"sstarf\":\"⋆\",\"Star\":\"⋆\",\"star\":\"☆\",\"starf\":\"★\",\"straightepsilon\":\"ϵ\",\"straightphi\":\"ϕ\",\"strns\":\"¯\",\"sub\":\"⊂\",\"Sub\":\"⋐\",\"subdot\":\"⪽\",\"subE\":\"⫅\",\"sube\":\"⊆\",\"subedot\":\"⫃\",\"submult\":\"⫁\",\"subnE\":\"⫋\",\"subne\":\"⊊\",\"subplus\":\"⪿\",\"subrarr\":\"⥹\",\"subset\":\"⊂\",\"Subset\":\"⋐\",\"subseteq\":\"⊆\",\"subseteqq\":\"⫅\",\"SubsetEqual\":\"⊆\",\"subsetneq\":\"⊊\",\"subsetneqq\":\"⫋\",\"subsim\":\"⫇\",\"subsub\":\"⫕\",\"subsup\":\"⫓\",\"succapprox\":\"⪸\",\"succ\":\"≻\",\"succcurlyeq\":\"≽\",\"Succeeds\":\"≻\",\"SucceedsEqual\":\"⪰\",\"SucceedsSlantEqual\":\"≽\",\"SucceedsTilde\":\"≿\",\"succeq\":\"⪰\",\"succnapprox\":\"⪺\",\"succneqq\":\"⪶\",\"succnsim\":\"⋩\",\"succsim\":\"≿\",\"SuchThat\":\"∋\",\"sum\":\"∑\",\"Sum\":\"∑\",\"sung\":\"♪\",\"sup1\":\"¹\",\"sup2\":\"²\",\"sup3\":\"³\",\"sup\":\"⊃\",\"Sup\":\"⋑\",\"supdot\":\"⪾\",\"supdsub\":\"⫘\",\"supE\":\"⫆\",\"supe\":\"⊇\",\"supedot\":\"⫄\",\"Superset\":\"⊃\",\"SupersetEqual\":\"⊇\",\"suphsol\":\"⟉\",\"suphsub\":\"⫗\",\"suplarr\":\"⥻\",\"supmult\":\"⫂\",\"supnE\":\"⫌\",\"supne\":\"⊋\",\"supplus\":\"⫀\",\"supset\":\"⊃\",\"Supset\":\"⋑\",\"supseteq\":\"⊇\",\"supseteqq\":\"⫆\",\"supsetneq\":\"⊋\",\"supsetneqq\":\"⫌\",\"supsim\":\"⫈\",\"supsub\":\"⫔\",\"supsup\":\"⫖\",\"swarhk\":\"⤦\",\"swarr\":\"↙\",\"swArr\":\"⇙\",\"swarrow\":\"↙\",\"swnwar\":\"⤪\",\"szlig\":\"ß\",\"Tab\":\"\\t\",\"target\":\"⌖\",\"Tau\":\"Τ\",\"tau\":\"τ\",\"tbrk\":\"⎴\",\"Tcaron\":\"Ť\",\"tcaron\":\"ť\",\"Tcedil\":\"Ţ\",\"tcedil\":\"ţ\",\"Tcy\":\"Т\",\"tcy\":\"т\",\"tdot\":\"⃛\",\"telrec\":\"⌕\",\"Tfr\":\"𝔗\",\"tfr\":\"𝔱\",\"there4\":\"∴\",\"therefore\":\"∴\",\"Therefore\":\"∴\",\"Theta\":\"Θ\",\"theta\":\"θ\",\"thetasym\":\"ϑ\",\"thetav\":\"ϑ\",\"thickapprox\":\"≈\",\"thicksim\":\"∼\",\"ThickSpace\":\"  \",\"ThinSpace\":\" \",\"thinsp\":\" \",\"thkap\":\"≈\",\"thksim\":\"∼\",\"THORN\":\"Þ\",\"thorn\":\"þ\",\"tilde\":\"˜\",\"Tilde\":\"∼\",\"TildeEqual\":\"≃\",\"TildeFullEqual\":\"≅\",\"TildeTilde\":\"≈\",\"timesbar\":\"⨱\",\"timesb\":\"⊠\",\"times\":\"×\",\"timesd\":\"⨰\",\"tint\":\"∭\",\"toea\":\"⤨\",\"topbot\":\"⌶\",\"topcir\":\"⫱\",\"top\":\"⊤\",\"Topf\":\"𝕋\",\"topf\":\"𝕥\",\"topfork\":\"⫚\",\"tosa\":\"⤩\",\"tprime\":\"‴\",\"trade\":\"™\",\"TRADE\":\"™\",\"triangle\":\"▵\",\"triangledown\":\"▿\",\"triangleleft\":\"◃\",\"trianglelefteq\":\"⊴\",\"triangleq\":\"≜\",\"triangleright\":\"▹\",\"trianglerighteq\":\"⊵\",\"tridot\":\"◬\",\"trie\":\"≜\",\"triminus\":\"⨺\",\"TripleDot\":\"⃛\",\"triplus\":\"⨹\",\"trisb\":\"⧍\",\"tritime\":\"⨻\",\"trpezium\":\"⏢\",\"Tscr\":\"𝒯\",\"tscr\":\"𝓉\",\"TScy\":\"Ц\",\"tscy\":\"ц\",\"TSHcy\":\"Ћ\",\"tshcy\":\"ћ\",\"Tstrok\":\"Ŧ\",\"tstrok\":\"ŧ\",\"twixt\":\"≬\",\"twoheadleftarrow\":\"↞\",\"twoheadrightarrow\":\"↠\",\"Uacute\":\"Ú\",\"uacute\":\"ú\",\"uarr\":\"↑\",\"Uarr\":\"↟\",\"uArr\":\"⇑\",\"Uarrocir\":\"⥉\",\"Ubrcy\":\"Ў\",\"ubrcy\":\"ў\",\"Ubreve\":\"Ŭ\",\"ubreve\":\"ŭ\",\"Ucirc\":\"Û\",\"ucirc\":\"û\",\"Ucy\":\"У\",\"ucy\":\"у\",\"udarr\":\"⇅\",\"Udblac\":\"Ű\",\"udblac\":\"ű\",\"udhar\":\"⥮\",\"ufisht\":\"⥾\",\"Ufr\":\"𝔘\",\"ufr\":\"𝔲\",\"Ugrave\":\"Ù\",\"ugrave\":\"ù\",\"uHar\":\"⥣\",\"uharl\":\"↿\",\"uharr\":\"↾\",\"uhblk\":\"▀\",\"ulcorn\":\"⌜\",\"ulcorner\":\"⌜\",\"ulcrop\":\"⌏\",\"ultri\":\"◸\",\"Umacr\":\"Ū\",\"umacr\":\"ū\",\"uml\":\"¨\",\"UnderBar\":\"_\",\"UnderBrace\":\"⏟\",\"UnderBracket\":\"⎵\",\"UnderParenthesis\":\"⏝\",\"Union\":\"⋃\",\"UnionPlus\":\"⊎\",\"Uogon\":\"Ų\",\"uogon\":\"ų\",\"Uopf\":\"𝕌\",\"uopf\":\"𝕦\",\"UpArrowBar\":\"⤒\",\"uparrow\":\"↑\",\"UpArrow\":\"↑\",\"Uparrow\":\"⇑\",\"UpArrowDownArrow\":\"⇅\",\"updownarrow\":\"↕\",\"UpDownArrow\":\"↕\",\"Updownarrow\":\"⇕\",\"UpEquilibrium\":\"⥮\",\"upharpoonleft\":\"↿\",\"upharpoonright\":\"↾\",\"uplus\":\"⊎\",\"UpperLeftArrow\":\"↖\",\"UpperRightArrow\":\"↗\",\"upsi\":\"υ\",\"Upsi\":\"ϒ\",\"upsih\":\"ϒ\",\"Upsilon\":\"Υ\",\"upsilon\":\"υ\",\"UpTeeArrow\":\"↥\",\"UpTee\":\"⊥\",\"upuparrows\":\"⇈\",\"urcorn\":\"⌝\",\"urcorner\":\"⌝\",\"urcrop\":\"⌎\",\"Uring\":\"Ů\",\"uring\":\"ů\",\"urtri\":\"◹\",\"Uscr\":\"𝒰\",\"uscr\":\"𝓊\",\"utdot\":\"⋰\",\"Utilde\":\"Ũ\",\"utilde\":\"ũ\",\"utri\":\"▵\",\"utrif\":\"▴\",\"uuarr\":\"⇈\",\"Uuml\":\"Ü\",\"uuml\":\"ü\",\"uwangle\":\"⦧\",\"vangrt\":\"⦜\",\"varepsilon\":\"ϵ\",\"varkappa\":\"ϰ\",\"varnothing\":\"∅\",\"varphi\":\"ϕ\",\"varpi\":\"ϖ\",\"varpropto\":\"∝\",\"varr\":\"↕\",\"vArr\":\"⇕\",\"varrho\":\"ϱ\",\"varsigma\":\"ς\",\"varsubsetneq\":\"⊊︀\",\"varsubsetneqq\":\"⫋︀\",\"varsupsetneq\":\"⊋︀\",\"varsupsetneqq\":\"⫌︀\",\"vartheta\":\"ϑ\",\"vartriangleleft\":\"⊲\",\"vartriangleright\":\"⊳\",\"vBar\":\"⫨\",\"Vbar\":\"⫫\",\"vBarv\":\"⫩\",\"Vcy\":\"В\",\"vcy\":\"в\",\"vdash\":\"⊢\",\"vDash\":\"⊨\",\"Vdash\":\"⊩\",\"VDash\":\"⊫\",\"Vdashl\":\"⫦\",\"veebar\":\"⊻\",\"vee\":\"∨\",\"Vee\":\"⋁\",\"veeeq\":\"≚\",\"vellip\":\"⋮\",\"verbar\":\"|\",\"Verbar\":\"‖\",\"vert\":\"|\",\"Vert\":\"‖\",\"VerticalBar\":\"∣\",\"VerticalLine\":\"|\",\"VerticalSeparator\":\"❘\",\"VerticalTilde\":\"≀\",\"VeryThinSpace\":\" \",\"Vfr\":\"𝔙\",\"vfr\":\"𝔳\",\"vltri\":\"⊲\",\"vnsub\":\"⊂⃒\",\"vnsup\":\"⊃⃒\",\"Vopf\":\"𝕍\",\"vopf\":\"𝕧\",\"vprop\":\"∝\",\"vrtri\":\"⊳\",\"Vscr\":\"𝒱\",\"vscr\":\"𝓋\",\"vsubnE\":\"⫋︀\",\"vsubne\":\"⊊︀\",\"vsupnE\":\"⫌︀\",\"vsupne\":\"⊋︀\",\"Vvdash\":\"⊪\",\"vzigzag\":\"⦚\",\"Wcirc\":\"Ŵ\",\"wcirc\":\"ŵ\",\"wedbar\":\"⩟\",\"wedge\":\"∧\",\"Wedge\":\"⋀\",\"wedgeq\":\"≙\",\"weierp\":\"℘\",\"Wfr\":\"𝔚\",\"wfr\":\"𝔴\",\"Wopf\":\"𝕎\",\"wopf\":\"𝕨\",\"wp\":\"℘\",\"wr\":\"≀\",\"wreath\":\"≀\",\"Wscr\":\"𝒲\",\"wscr\":\"𝓌\",\"xcap\":\"⋂\",\"xcirc\":\"◯\",\"xcup\":\"⋃\",\"xdtri\":\"▽\",\"Xfr\":\"𝔛\",\"xfr\":\"𝔵\",\"xharr\":\"⟷\",\"xhArr\":\"⟺\",\"Xi\":\"Ξ\",\"xi\":\"ξ\",\"xlarr\":\"⟵\",\"xlArr\":\"⟸\",\"xmap\":\"⟼\",\"xnis\":\"⋻\",\"xodot\":\"⨀\",\"Xopf\":\"𝕏\",\"xopf\":\"𝕩\",\"xoplus\":\"⨁\",\"xotime\":\"⨂\",\"xrarr\":\"⟶\",\"xrArr\":\"⟹\",\"Xscr\":\"𝒳\",\"xscr\":\"𝓍\",\"xsqcup\":\"⨆\",\"xuplus\":\"⨄\",\"xutri\":\"△\",\"xvee\":\"⋁\",\"xwedge\":\"⋀\",\"Yacute\":\"Ý\",\"yacute\":\"ý\",\"YAcy\":\"Я\",\"yacy\":\"я\",\"Ycirc\":\"Ŷ\",\"ycirc\":\"ŷ\",\"Ycy\":\"Ы\",\"ycy\":\"ы\",\"yen\":\"¥\",\"Yfr\":\"𝔜\",\"yfr\":\"𝔶\",\"YIcy\":\"Ї\",\"yicy\":\"ї\",\"Yopf\":\"𝕐\",\"yopf\":\"𝕪\",\"Yscr\":\"𝒴\",\"yscr\":\"𝓎\",\"YUcy\":\"Ю\",\"yucy\":\"ю\",\"yuml\":\"ÿ\",\"Yuml\":\"Ÿ\",\"Zacute\":\"Ź\",\"zacute\":\"ź\",\"Zcaron\":\"Ž\",\"zcaron\":\"ž\",\"Zcy\":\"З\",\"zcy\":\"з\",\"Zdot\":\"Ż\",\"zdot\":\"ż\",\"zeetrf\":\"ℨ\",\"ZeroWidthSpace\":\"​\",\"Zeta\":\"Ζ\",\"zeta\":\"ζ\",\"zfr\":\"𝔷\",\"Zfr\":\"ℨ\",\"ZHcy\":\"Ж\",\"zhcy\":\"ж\",\"zigrarr\":\"⇝\",\"zopf\":\"𝕫\",\"Zopf\":\"ℤ\",\"Zscr\":\"𝒵\",\"zscr\":\"𝓏\",\"zwj\":\"‍\",\"zwnj\":\"‌\"}\n\n/***/ }),\n/* 706 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n\nvar encodeCache = {};\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n var i,\n ch,\n cache = encodeCache[exclude];\n if (cache) {\n return cache;\n }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n}\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode(string, exclude, keepEscaped) {\n var i,\n l,\n code,\n nextCode,\n cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\n\nmodule.exports = encode;\n\n/***/ }),\n/* 707 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n\n/* eslint-disable no-bitwise */\n\nvar decodeCache = {};\n\nfunction getDecodeCache(exclude) {\n var i,\n ch,\n cache = decodeCache[exclude];\n if (cache) {\n return cache;\n }\n\n cache = decodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n cache.push(ch);\n }\n\n for (i = 0; i < exclude.length; i++) {\n ch = exclude.charCodeAt(i);\n cache[ch] = '%' + ('0' + ch.toString(16).toUpperCase()).slice(-2);\n }\n\n return cache;\n}\n\n// Decode percent-encoded string.\n//\nfunction decode(string, exclude) {\n var cache;\n\n if (typeof exclude !== 'string') {\n exclude = decode.defaultChars;\n }\n\n cache = getDecodeCache(exclude);\n\n return string.replace(/(%[a-f0-9]{2})+/gi, function (seq) {\n var i,\n l,\n b1,\n b2,\n b3,\n b4,\n chr,\n result = '';\n\n for (i = 0, l = seq.length; i < l; i += 3) {\n b1 = parseInt(seq.slice(i + 1, i + 3), 16);\n\n if (b1 < 0x80) {\n result += cache[b1];\n continue;\n }\n\n if ((b1 & 0xE0) === 0xC0 && i + 3 < l) {\n // 110xxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n\n if ((b2 & 0xC0) === 0x80) {\n chr = b1 << 6 & 0x7C0 | b2 & 0x3F;\n\n if (chr < 0x80) {\n result += '\\uFFFD\\uFFFD';\n } else {\n result += String.fromCharCode(chr);\n }\n\n i += 3;\n continue;\n }\n }\n\n if ((b1 & 0xF0) === 0xE0 && i + 6 < l) {\n // 1110xxxx 10xxxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n b3 = parseInt(seq.slice(i + 7, i + 9), 16);\n\n if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {\n chr = b1 << 12 & 0xF000 | b2 << 6 & 0xFC0 | b3 & 0x3F;\n\n if (chr < 0x800 || chr >= 0xD800 && chr <= 0xDFFF) {\n result += '\\uFFFD\\uFFFD\\uFFFD';\n } else {\n result += String.fromCharCode(chr);\n }\n\n i += 6;\n continue;\n }\n }\n\n if ((b1 & 0xF8) === 0xF0 && i + 9 < l) {\n // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n b3 = parseInt(seq.slice(i + 7, i + 9), 16);\n b4 = parseInt(seq.slice(i + 10, i + 12), 16);\n\n if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80 && (b4 & 0xC0) === 0x80) {\n chr = b1 << 18 & 0x1C0000 | b2 << 12 & 0x3F000 | b3 << 6 & 0xFC0 | b4 & 0x3F;\n\n if (chr < 0x10000 || chr > 0x10FFFF) {\n result += '\\uFFFD\\uFFFD\\uFFFD\\uFFFD';\n } else {\n chr -= 0x10000;\n result += String.fromCharCode(0xD800 + (chr >> 10), 0xDC00 + (chr & 0x3FF));\n }\n\n i += 9;\n continue;\n }\n }\n\n result += '\\uFFFD';\n }\n\n return result;\n });\n}\n\ndecode.defaultChars = ';/?:@&=+$,#';\ndecode.componentChars = '';\n\nmodule.exports = decode;\n\n/***/ }),\n/* 708 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n\nmodule.exports = function format(url) {\n var result = '';\n\n result += url.protocol || '';\n result += url.slashes ? '//' : '';\n result += url.auth ? url.auth + '@' : '';\n\n if (url.hostname && url.hostname.indexOf(':') !== -1) {\n // ipv6 address\n result += '[' + url.hostname + ']';\n } else {\n result += url.hostname || '';\n }\n\n result += url.port ? ':' + url.port : '';\n result += url.pathname || '';\n result += url.search || '';\n result += url.hash || '';\n\n return result;\n};\n\n/***/ }),\n/* 709 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n//\n// Changes from joyent/node:\n//\n// 1. No leading slash in paths,\n// e.g. in `url.parse('http://foo?bar')` pathname is ``, not `/`\n//\n// 2. Backslashes are not replaced with slashes,\n// so `http:\\\\example.org\\` is treated like a relative path\n//\n// 3. Trailing colon is treated like a part of the path,\n// i.e. in `http://example.org:foo` pathname is `:foo`\n//\n// 4. Nothing is URL-encoded in the resulting object,\n// (in joyent/node some chars in auth and paths are encoded)\n//\n// 5. `url.parse()` does not have `parseQueryString` argument\n//\n// 6. Removed extraneous result properties: `host`, `path`, `query`, etc.,\n// which can be constructed using other parts of the url.\n//\n\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.pathname = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n\n// Special case for a simple path URL\nsimplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n\n// RFC 2396: characters reserved for delimiting URLs.\n// We actually just auto-escape these.\ndelims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n\n// RFC 2396: characters not allowed for various reasons.\nunwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n\n// Allowed by RFCs, but cause of XSS attacks. Always escape these.\nautoEscape = ['\\''].concat(unwise),\n\n// Characters that are never ever allowed in a hostname.\n// Note that any invalid chars are also handled, but these\n// are the ones that are *expected* to be seen, so we fast-path\n// them.\nnonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n\n// protocols that can allow \"unsafe\" and \"unwise\" chars.\n/* eslint-disable no-script-url */\n// protocols that never have a hostname.\nhostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n},\n\n// protocols that always contain a // bit.\nslashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n};\n/* eslint-enable no-script-url */\n\nfunction urlParse(url, slashesDenoteHost) {\n if (url && url instanceof Url) {\n return url;\n }\n\n var u = new Url();\n u.parse(url, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function (url, slashesDenoteHost) {\n var i,\n l,\n lowerProto,\n hec,\n slashes,\n rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n lowerProto = proto.toLowerCase();\n this.protocol = proto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (i = 0; i < hostEndingChars.length; i++) {\n hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {\n hostEnd = hec;\n }\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = auth;\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (i = 0; i < nonHostChars.length; i++) {\n hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {\n hostEnd = hec;\n }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) {\n hostEnd = rest.length;\n }\n\n if (rest[hostEnd - 1] === ':') {\n hostEnd--;\n }\n var host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost(host);\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) {\n continue;\n }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n }\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n rest = rest.slice(0, qm);\n }\n if (rest) {\n this.pathname = rest;\n }\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n this.pathname = '';\n }\n\n return this;\n};\n\nUrl.prototype.parseHost = function (host) {\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) {\n this.hostname = host;\n }\n};\n\nmodule.exports = urlParse;\n\n/***/ }),\n/* 710 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.Any = __webpack_require__(422);\nexports.Cc = __webpack_require__(423);\nexports.Cf = __webpack_require__(711);\nexports.P = __webpack_require__(113);\nexports.Z = __webpack_require__(424);\n\n/***/ }),\n/* 711 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = /[\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB]|\\uD804[\\uDCBD\\uDCCD]|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]/;\n\n/***/ }),\n/* 712 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Just a shortcut for bulk export\n\n\nexports.parseLinkLabel = __webpack_require__(713);\nexports.parseLinkDestination = __webpack_require__(714);\nexports.parseLinkTitle = __webpack_require__(715);\n\n/***/ }),\n/* 713 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Parse link label\n//\n// this function assumes that first character (\"[\") already matches;\n// returns the end of the label\n//\n\n\nmodule.exports = function parseLinkLabel(state, start, disableNested) {\n var level,\n found,\n marker,\n prevPos,\n labelEnd = -1,\n max = state.posMax,\n oldPos = state.pos;\n\n state.pos = start + 1;\n level = 1;\n\n while (state.pos < max) {\n marker = state.src.charCodeAt(state.pos);\n if (marker === 0x5D /* ] */) {\n level--;\n if (level === 0) {\n found = true;\n break;\n }\n }\n\n prevPos = state.pos;\n state.md.inline.skipToken(state);\n if (marker === 0x5B /* [ */) {\n if (prevPos === state.pos - 1) {\n // increase level if we find text `[`, which is not a part of any token\n level++;\n } else if (disableNested) {\n state.pos = oldPos;\n return -1;\n }\n }\n }\n\n if (found) {\n labelEnd = state.pos;\n }\n\n // restore old state\n state.pos = oldPos;\n\n return labelEnd;\n};\n\n/***/ }),\n/* 714 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Parse link destination\n//\n\n\nvar isSpace = __webpack_require__(9).isSpace;\nvar unescapeAll = __webpack_require__(9).unescapeAll;\n\nmodule.exports = function parseLinkDestination(str, pos, max) {\n var code,\n level,\n lines = 0,\n start = pos,\n result = {\n ok: false,\n pos: 0,\n lines: 0,\n str: ''\n };\n\n if (str.charCodeAt(pos) === 0x3C /* < */) {\n pos++;\n while (pos < max) {\n code = str.charCodeAt(pos);\n if (code === 0x0A /* \\n */ || isSpace(code)) {\n return result;\n }\n if (code === 0x3E /* > */) {\n result.pos = pos + 1;\n result.str = unescapeAll(str.slice(start + 1, pos));\n result.ok = true;\n return result;\n }\n if (code === 0x5C /* \\ */ && pos + 1 < max) {\n pos += 2;\n continue;\n }\n\n pos++;\n }\n\n // no closing '>'\n return result;\n }\n\n // this should be ... } else { ... branch\n\n level = 0;\n while (pos < max) {\n code = str.charCodeAt(pos);\n\n if (code === 0x20) {\n break;\n }\n\n // ascii control characters\n if (code < 0x20 || code === 0x7F) {\n break;\n }\n\n if (code === 0x5C /* \\ */ && pos + 1 < max) {\n pos += 2;\n continue;\n }\n\n if (code === 0x28 /* ( */) {\n level++;\n }\n\n if (code === 0x29 /* ) */) {\n if (level === 0) {\n break;\n }\n level--;\n }\n\n pos++;\n }\n\n if (start === pos) {\n return result;\n }\n if (level !== 0) {\n return result;\n }\n\n result.str = unescapeAll(str.slice(start, pos));\n result.lines = lines;\n result.pos = pos;\n result.ok = true;\n return result;\n};\n\n/***/ }),\n/* 715 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Parse link title\n//\n\n\nvar unescapeAll = __webpack_require__(9).unescapeAll;\n\nmodule.exports = function parseLinkTitle(str, pos, max) {\n var code,\n marker,\n lines = 0,\n start = pos,\n result = {\n ok: false,\n pos: 0,\n lines: 0,\n str: ''\n };\n\n if (pos >= max) {\n return result;\n }\n\n marker = str.charCodeAt(pos);\n\n if (marker !== 0x22 /* \" */ && marker !== 0x27 /* ' */ && marker !== 0x28 /* ( */) {\n return result;\n }\n\n pos++;\n\n // if opening marker is \"(\", switch it to closing marker \")\"\n if (marker === 0x28) {\n marker = 0x29;\n }\n\n while (pos < max) {\n code = str.charCodeAt(pos);\n if (code === marker) {\n result.pos = pos + 1;\n result.lines = lines;\n result.str = unescapeAll(str.slice(start + 1, pos));\n result.ok = true;\n return result;\n } else if (code === 0x0A) {\n lines++;\n } else if (code === 0x5C /* \\ */ && pos + 1 < max) {\n pos++;\n if (str.charCodeAt(pos) === 0x0A) {\n lines++;\n }\n }\n\n pos++;\n }\n\n return result;\n};\n\n/***/ }),\n/* 716 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * class Renderer\n *\n * Generates HTML from parsed token stream. Each instance has independent\n * copy of rules. Those can be rewritten with ease. Also, you can add new\n * rules if you create plugin and adds new token types.\n **/\n\n\nvar assign = __webpack_require__(9).assign;\nvar unescapeAll = __webpack_require__(9).unescapeAll;\nvar escapeHtml = __webpack_require__(9).escapeHtml;\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar default_rules = {};\n\ndefault_rules.code_inline = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n return '' + escapeHtml(tokens[idx].content) + '';\n};\n\ndefault_rules.code_block = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n return '' + escapeHtml(tokens[idx].content) + '\\n';\n};\n\ndefault_rules.fence = function (tokens, idx, options, env, slf) {\n var token = tokens[idx],\n info = token.info ? unescapeAll(token.info).trim() : '',\n langName = '',\n highlighted,\n i,\n tmpAttrs,\n tmpToken;\n\n if (info) {\n langName = info.split(/\\s+/g)[0];\n }\n\n if (options.highlight) {\n highlighted = options.highlight(token.content, langName) || escapeHtml(token.content);\n } else {\n highlighted = escapeHtml(token.content);\n }\n\n if (highlighted.indexOf('' + highlighted + '\\n';\n }\n\n return '

' + highlighted + '
\\n';\n};\n\ndefault_rules.image = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n // \"alt\" attr MUST be set, even if empty. Because it's mandatory and\n // should be placed on proper position for tests.\n //\n // Replace content with actual value\n\n token.attrs[token.attrIndex('alt')][1] = slf.renderInlineAsText(token.children, options, env);\n\n return slf.renderToken(tokens, idx, options);\n};\n\ndefault_rules.hardbreak = function (tokens, idx, options /*, env */) {\n return options.xhtmlOut ? '
\\n' : '
\\n';\n};\ndefault_rules.softbreak = function (tokens, idx, options /*, env */) {\n return options.breaks ? options.xhtmlOut ? '
\\n' : '
\\n' : '\\n';\n};\n\ndefault_rules.text = function (tokens, idx /*, options, env */) {\n return escapeHtml(tokens[idx].content);\n};\n\ndefault_rules.html_block = function (tokens, idx /*, options, env */) {\n return tokens[idx].content;\n};\ndefault_rules.html_inline = function (tokens, idx /*, options, env */) {\n return tokens[idx].content;\n};\n\n/**\n * new Renderer()\n *\n * Creates new [[Renderer]] instance and fill [[Renderer#rules]] with defaults.\n **/\nfunction Renderer() {\n\n /**\n * Renderer#rules -> Object\n *\n * Contains render rules for tokens. Can be updated and extended.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.renderer.rules.strong_open = function () { return ''; };\n * md.renderer.rules.strong_close = function () { return ''; };\n *\n * var result = md.renderInline(...);\n * ```\n *\n * Each rule is called as independent static function with fixed signature:\n *\n * ```javascript\n * function my_token_render(tokens, idx, options, env, renderer) {\n * // ...\n * return renderedHTML;\n * }\n * ```\n *\n * See [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js)\n * for more details and examples.\n **/\n this.rules = assign({}, default_rules);\n}\n\n/**\n * Renderer.renderAttrs(token) -> String\n *\n * Render token attributes to string.\n **/\nRenderer.prototype.renderAttrs = function renderAttrs(token) {\n var i, l, result;\n\n if (!token.attrs) {\n return '';\n }\n\n result = '';\n\n for (i = 0, l = token.attrs.length; i < l; i++) {\n result += ' ' + escapeHtml(token.attrs[i][0]) + '=\"' + escapeHtml(token.attrs[i][1]) + '\"';\n }\n\n return result;\n};\n\n/**\n * Renderer.renderToken(tokens, idx, options) -> String\n * - tokens (Array): list of tokens\n * - idx (Numbed): token index to render\n * - options (Object): params of parser instance\n *\n * Default token renderer. Can be overriden by custom function\n * in [[Renderer#rules]].\n **/\nRenderer.prototype.renderToken = function renderToken(tokens, idx, options) {\n var nextToken,\n result = '',\n needLf = false,\n token = tokens[idx];\n\n // Tight list paragraphs\n if (token.hidden) {\n return '';\n }\n\n // Insert a newline between hidden paragraph and subsequent opening\n // block-level tag.\n //\n // For example, here we should insert a newline before blockquote:\n // - a\n // >\n //\n if (token.block && token.nesting !== -1 && idx && tokens[idx - 1].hidden) {\n result += '\\n';\n }\n\n // Add token name, e.g. ``.\n //\n needLf = false;\n }\n }\n }\n }\n\n result += needLf ? '>\\n' : '>';\n\n return result;\n};\n\n/**\n * Renderer.renderInline(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to renter\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * The same as [[Renderer.render]], but for single token of `inline` type.\n **/\nRenderer.prototype.renderInline = function (tokens, options, env) {\n var type,\n result = '',\n rules = this.rules;\n\n for (var i = 0, len = tokens.length; i < len; i++) {\n type = tokens[i].type;\n\n if (typeof rules[type] !== 'undefined') {\n result += rules[type](tokens, i, options, env, this);\n } else {\n result += this.renderToken(tokens, i, options);\n }\n }\n\n return result;\n};\n\n/** internal\n * Renderer.renderInlineAsText(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to renter\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * Special kludge for image `alt` attributes to conform CommonMark spec.\n * Don't try to use it! Spec requires to show `alt` content with stripped markup,\n * instead of simple escaping.\n **/\nRenderer.prototype.renderInlineAsText = function (tokens, options, env) {\n var result = '';\n\n for (var i = 0, len = tokens.length; i < len; i++) {\n if (tokens[i].type === 'text') {\n result += tokens[i].content;\n } else if (tokens[i].type === 'image') {\n result += this.renderInlineAsText(tokens[i].children, options, env);\n }\n }\n\n return result;\n};\n\n/**\n * Renderer.render(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to renter\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * Takes token stream and generates HTML. Probably, you will never need to call\n * this method directly.\n **/\nRenderer.prototype.render = function (tokens, options, env) {\n var i,\n len,\n type,\n result = '',\n rules = this.rules;\n\n for (i = 0, len = tokens.length; i < len; i++) {\n type = tokens[i].type;\n\n if (type === 'inline') {\n result += this.renderInline(tokens[i].children, options, env);\n } else if (typeof rules[type] !== 'undefined') {\n result += rules[tokens[i].type](tokens, i, options, env, this);\n } else {\n result += this.renderToken(tokens, i, options, env);\n }\n }\n\n return result;\n};\n\nmodule.exports = Renderer;\n\n/***/ }),\n/* 717 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** internal\n * class Core\n *\n * Top-level rules executor. Glues block/inline parsers and does intermediate\n * transformations.\n **/\n\n\nvar Ruler = __webpack_require__(114);\n\nvar _rules = [['normalize', __webpack_require__(718)], ['block', __webpack_require__(719)], ['inline', __webpack_require__(720)], ['linkify', __webpack_require__(721)], ['replacements', __webpack_require__(722)], ['smartquotes', __webpack_require__(723)]];\n\n/**\n * new Core()\n **/\nfunction Core() {\n /**\n * Core#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of core rules.\n **/\n this.ruler = new Ruler();\n\n for (var i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1]);\n }\n}\n\n/**\n * Core.process(state)\n *\n * Executes core chain rules.\n **/\nCore.prototype.process = function (state) {\n var i, l, rules;\n\n rules = this.ruler.getRules('');\n\n for (i = 0, l = rules.length; i < l; i++) {\n rules[i](state);\n }\n};\n\nCore.prototype.State = __webpack_require__(724);\n\nmodule.exports = Core;\n\n/***/ }),\n/* 718 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Normalize input string\n\n\n\nvar NEWLINES_RE = /\\r[\\n\\u0085]?|[\\u2424\\u2028\\u0085]/g;\nvar NULL_RE = /\\u0000/g;\n\nmodule.exports = function inline(state) {\n var str;\n\n // Normalize newlines\n str = state.src.replace(NEWLINES_RE, '\\n');\n\n // Replace NULL characters\n str = str.replace(NULL_RE, '\\uFFFD');\n\n state.src = str;\n};\n\n/***/ }),\n/* 719 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function block(state) {\n var token;\n\n if (state.inlineMode) {\n token = new state.Token('inline', '', 0);\n token.content = state.src;\n token.map = [0, 1];\n token.children = [];\n state.tokens.push(token);\n } else {\n state.md.block.parse(state.src, state.md, state.env, state.tokens);\n }\n};\n\n/***/ }),\n/* 720 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function inline(state) {\n var tokens = state.tokens,\n tok,\n i,\n l;\n\n // Parse inlines\n for (i = 0, l = tokens.length; i < l; i++) {\n tok = tokens[i];\n if (tok.type === 'inline') {\n state.md.inline.parse(tok.content, state.md, state.env, tok.children);\n }\n }\n};\n\n/***/ }),\n/* 721 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Replace link-like texts with link nodes.\n//\n// Currently restricted by `md.validateLink()` to http/https/ftp\n//\n\n\nvar arrayReplaceAt = __webpack_require__(9).arrayReplaceAt;\n\nfunction isLinkOpen(str) {\n return (/^\\s]/i.test(str)\n );\n}\nfunction isLinkClose(str) {\n return (/^<\\/a\\s*>/i.test(str)\n );\n}\n\nmodule.exports = function linkify(state) {\n var i,\n j,\n l,\n tokens,\n token,\n currentToken,\n nodes,\n ln,\n text,\n pos,\n lastPos,\n level,\n htmlLinkLevel,\n url,\n fullUrl,\n urlText,\n blockTokens = state.tokens,\n links;\n\n if (!state.md.options.linkify) {\n return;\n }\n\n for (j = 0, l = blockTokens.length; j < l; j++) {\n if (blockTokens[j].type !== 'inline' || !state.md.linkify.pretest(blockTokens[j].content)) {\n continue;\n }\n\n tokens = blockTokens[j].children;\n\n htmlLinkLevel = 0;\n\n // We scan from the end, to keep position when new tags added.\n // Use reversed logic in links start/end match\n for (i = tokens.length - 1; i >= 0; i--) {\n currentToken = tokens[i];\n\n // Skip content of markdown links\n if (currentToken.type === 'link_close') {\n i--;\n while (tokens[i].level !== currentToken.level && tokens[i].type !== 'link_open') {\n i--;\n }\n continue;\n }\n\n // Skip content of html tag links\n if (currentToken.type === 'html_inline') {\n if (isLinkOpen(currentToken.content) && htmlLinkLevel > 0) {\n htmlLinkLevel--;\n }\n if (isLinkClose(currentToken.content)) {\n htmlLinkLevel++;\n }\n }\n if (htmlLinkLevel > 0) {\n continue;\n }\n\n if (currentToken.type === 'text' && state.md.linkify.test(currentToken.content)) {\n\n text = currentToken.content;\n links = state.md.linkify.match(text);\n\n // Now split string to nodes\n nodes = [];\n level = currentToken.level;\n lastPos = 0;\n\n for (ln = 0; ln < links.length; ln++) {\n\n url = links[ln].url;\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) {\n continue;\n }\n\n urlText = links[ln].text;\n\n // Linkifier might send raw hostnames like \"example.com\", where url\n // starts with domain name. So we prepend http:// in those cases,\n // and remove it afterwards.\n //\n if (!links[ln].schema) {\n urlText = state.md.normalizeLinkText('http://' + urlText).replace(/^http:\\/\\//, '');\n } else if (links[ln].schema === 'mailto:' && !/^mailto:/i.test(urlText)) {\n urlText = state.md.normalizeLinkText('mailto:' + urlText).replace(/^mailto:/, '');\n } else {\n urlText = state.md.normalizeLinkText(urlText);\n }\n\n pos = links[ln].index;\n\n if (pos > lastPos) {\n token = new state.Token('text', '', 0);\n token.content = text.slice(lastPos, pos);\n token.level = level;\n nodes.push(token);\n }\n\n token = new state.Token('link_open', 'a', 1);\n token.attrs = [['href', fullUrl]];\n token.level = level++;\n token.markup = 'linkify';\n token.info = 'auto';\n nodes.push(token);\n\n token = new state.Token('text', '', 0);\n token.content = urlText;\n token.level = level;\n nodes.push(token);\n\n token = new state.Token('link_close', 'a', -1);\n token.level = --level;\n token.markup = 'linkify';\n token.info = 'auto';\n nodes.push(token);\n\n lastPos = links[ln].lastIndex;\n }\n if (lastPos < text.length) {\n token = new state.Token('text', '', 0);\n token.content = text.slice(lastPos);\n token.level = level;\n nodes.push(token);\n }\n\n // replace current node\n blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes);\n }\n }\n }\n};\n\n/***/ }),\n/* 722 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Simple typographyc replacements\n//\n// (c) (C) → ©\n// (tm) (TM) → ™\n// (r) (R) → ®\n// +- → ±\n// (p) (P) -> §\n// ... → … (also ?.... → ?.., !.... → !..)\n// ???????? → ???, !!!!! → !!!, `,,` → `,`\n// -- → –, --- → —\n//\n\n\n// TODO:\n// - fractionals 1/2, 1/4, 3/4 -> ½, ¼, ¾\n// - miltiplication 2 x 4 -> 2 × 4\n\nvar RARE_RE = /\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/;\n\n// Workaround for phantomjs - need regex without /g flag,\n// or root check will fail every second time\nvar SCOPED_ABBR_TEST_RE = /\\((c|tm|r|p)\\)/i;\n\nvar SCOPED_ABBR_RE = /\\((c|tm|r|p)\\)/ig;\nvar SCOPED_ABBR = {\n c: '©',\n r: '®',\n p: '§',\n tm: '™'\n};\n\nfunction replaceFn(match, name) {\n return SCOPED_ABBR[name.toLowerCase()];\n}\n\nfunction replace_scoped(inlineTokens) {\n var i,\n token,\n inside_autolink = 0;\n\n for (i = inlineTokens.length - 1; i >= 0; i--) {\n token = inlineTokens[i];\n\n if (token.type === 'text' && !inside_autolink) {\n token.content = token.content.replace(SCOPED_ABBR_RE, replaceFn);\n }\n\n if (token.type === 'link_open' && token.info === 'auto') {\n inside_autolink--;\n }\n\n if (token.type === 'link_close' && token.info === 'auto') {\n inside_autolink++;\n }\n }\n}\n\nfunction replace_rare(inlineTokens) {\n var i,\n token,\n inside_autolink = 0;\n\n for (i = inlineTokens.length - 1; i >= 0; i--) {\n token = inlineTokens[i];\n\n if (token.type === 'text' && !inside_autolink) {\n if (RARE_RE.test(token.content)) {\n token.content = token.content.replace(/\\+-/g, '±')\n // .., ..., ....... -> …\n // but ?..... & !..... -> ?.. & !..\n .replace(/\\.{2,}/g, '…').replace(/([?!])…/g, '$1..').replace(/([?!]){4,}/g, '$1$1$1').replace(/,{2,}/g, ',')\n // em-dash\n .replace(/(^|[^-])---([^-]|$)/mg, '$1\\u2014$2')\n // en-dash\n .replace(/(^|\\s)--(\\s|$)/mg, '$1\\u2013$2').replace(/(^|[^-\\s])--([^-\\s]|$)/mg, '$1\\u2013$2');\n }\n }\n\n if (token.type === 'link_open' && token.info === 'auto') {\n inside_autolink--;\n }\n\n if (token.type === 'link_close' && token.info === 'auto') {\n inside_autolink++;\n }\n }\n}\n\nmodule.exports = function replace(state) {\n var blkIdx;\n\n if (!state.md.options.typographer) {\n return;\n }\n\n for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\n\n if (state.tokens[blkIdx].type !== 'inline') {\n continue;\n }\n\n if (SCOPED_ABBR_TEST_RE.test(state.tokens[blkIdx].content)) {\n replace_scoped(state.tokens[blkIdx].children);\n }\n\n if (RARE_RE.test(state.tokens[blkIdx].content)) {\n replace_rare(state.tokens[blkIdx].children);\n }\n }\n};\n\n/***/ }),\n/* 723 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Convert straight quotation marks to typographic ones\n//\n\n\nvar isWhiteSpace = __webpack_require__(9).isWhiteSpace;\nvar isPunctChar = __webpack_require__(9).isPunctChar;\nvar isMdAsciiPunct = __webpack_require__(9).isMdAsciiPunct;\n\nvar QUOTE_TEST_RE = /['\"]/;\nvar QUOTE_RE = /['\"]/g;\nvar APOSTROPHE = '\\u2019'; /* ’ */\n\nfunction replaceAt(str, index, ch) {\n return str.substr(0, index) + ch + str.substr(index + 1);\n}\n\nfunction process_inlines(tokens, state) {\n var i, token, text, t, pos, max, thisLevel, item, lastChar, nextChar, isLastPunctChar, isNextPunctChar, isLastWhiteSpace, isNextWhiteSpace, canOpen, canClose, j, isSingle, stack, openQuote, closeQuote;\n\n stack = [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n\n thisLevel = tokens[i].level;\n\n for (j = stack.length - 1; j >= 0; j--) {\n if (stack[j].level <= thisLevel) {\n break;\n }\n }\n stack.length = j + 1;\n\n if (token.type !== 'text') {\n continue;\n }\n\n text = token.content;\n pos = 0;\n max = text.length;\n\n /*eslint no-labels:0,block-scoped-var:0*/\n OUTER: while (pos < max) {\n QUOTE_RE.lastIndex = pos;\n t = QUOTE_RE.exec(text);\n if (!t) {\n break;\n }\n\n canOpen = canClose = true;\n pos = t.index + 1;\n isSingle = t[0] === \"'\";\n\n // Find previous character,\n // default to space if it's the beginning of the line\n //\n lastChar = 0x20;\n\n if (t.index - 1 >= 0) {\n lastChar = text.charCodeAt(t.index - 1);\n } else {\n for (j = i - 1; j >= 0; j--) {\n if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // lastChar defaults to 0x20\n if (tokens[j].type !== 'text') continue;\n\n lastChar = tokens[j].content.charCodeAt(tokens[j].content.length - 1);\n break;\n }\n }\n\n // Find next character,\n // default to space if it's the end of the line\n //\n nextChar = 0x20;\n\n if (pos < max) {\n nextChar = text.charCodeAt(pos);\n } else {\n for (j = i + 1; j < tokens.length; j++) {\n if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // nextChar defaults to 0x20\n if (tokens[j].type !== 'text') continue;\n\n nextChar = tokens[j].content.charCodeAt(0);\n break;\n }\n }\n\n isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));\n isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));\n\n isLastWhiteSpace = isWhiteSpace(lastChar);\n isNextWhiteSpace = isWhiteSpace(nextChar);\n\n if (isNextWhiteSpace) {\n canOpen = false;\n } else if (isNextPunctChar) {\n if (!(isLastWhiteSpace || isLastPunctChar)) {\n canOpen = false;\n }\n }\n\n if (isLastWhiteSpace) {\n canClose = false;\n } else if (isLastPunctChar) {\n if (!(isNextWhiteSpace || isNextPunctChar)) {\n canClose = false;\n }\n }\n\n if (nextChar === 0x22 /* \" */ && t[0] === '\"') {\n if (lastChar >= 0x30 /* 0 */ && lastChar <= 0x39 /* 9 */) {\n // special case: 1\"\" - count first quote as an inch\n canClose = canOpen = false;\n }\n }\n\n if (canOpen && canClose) {\n // treat this as the middle of the word\n canOpen = false;\n canClose = isNextPunctChar;\n }\n\n if (!canOpen && !canClose) {\n // middle of word\n if (isSingle) {\n token.content = replaceAt(token.content, t.index, APOSTROPHE);\n }\n continue;\n }\n\n if (canClose) {\n // this could be a closing quote, rewind the stack to get a match\n for (j = stack.length - 1; j >= 0; j--) {\n item = stack[j];\n if (stack[j].level < thisLevel) {\n break;\n }\n if (item.single === isSingle && stack[j].level === thisLevel) {\n item = stack[j];\n\n if (isSingle) {\n openQuote = state.md.options.quotes[2];\n closeQuote = state.md.options.quotes[3];\n } else {\n openQuote = state.md.options.quotes[0];\n closeQuote = state.md.options.quotes[1];\n }\n\n // replace token.content *before* tokens[item.token].content,\n // because, if they are pointing at the same token, replaceAt\n // could mess up indices when quote length != 1\n token.content = replaceAt(token.content, t.index, closeQuote);\n tokens[item.token].content = replaceAt(tokens[item.token].content, item.pos, openQuote);\n\n pos += closeQuote.length - 1;\n if (item.token === i) {\n pos += openQuote.length - 1;\n }\n\n text = token.content;\n max = text.length;\n\n stack.length = j;\n continue OUTER;\n }\n }\n }\n\n if (canOpen) {\n stack.push({\n token: i,\n pos: t.index,\n single: isSingle,\n level: thisLevel\n });\n } else if (canClose && isSingle) {\n token.content = replaceAt(token.content, t.index, APOSTROPHE);\n }\n }\n }\n}\n\nmodule.exports = function smartquotes(state) {\n /*eslint max-depth:0*/\n var blkIdx;\n\n if (!state.md.options.typographer) {\n return;\n }\n\n for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\n\n if (state.tokens[blkIdx].type !== 'inline' || !QUOTE_TEST_RE.test(state.tokens[blkIdx].content)) {\n continue;\n }\n\n process_inlines(state.tokens[blkIdx].children, state);\n }\n};\n\n/***/ }),\n/* 724 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Core state object\n//\n\n\nvar Token = __webpack_require__(115);\n\nfunction StateCore(src, md, env) {\n this.src = src;\n this.env = env;\n this.tokens = [];\n this.inlineMode = false;\n this.md = md; // link to parser instance\n}\n\n// re-export Token class to use in core rules\nStateCore.prototype.Token = Token;\n\nmodule.exports = StateCore;\n\n/***/ }),\n/* 725 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** internal\n * class ParserBlock\n *\n * Block-level tokenizer.\n **/\n\n\nvar Ruler = __webpack_require__(114);\n\nvar _rules = [\n// First 2 params - rule name & source. Secondary array - list of rules,\n// which can be terminated by this one.\n['table', __webpack_require__(726), ['paragraph', 'reference']], ['code', __webpack_require__(727)], ['fence', __webpack_require__(728), ['paragraph', 'reference', 'blockquote', 'list']], ['blockquote', __webpack_require__(729), ['paragraph', 'reference', 'blockquote', 'list']], ['hr', __webpack_require__(730), ['paragraph', 'reference', 'blockquote', 'list']], ['list', __webpack_require__(731), ['paragraph', 'reference', 'blockquote']], ['reference', __webpack_require__(732)], ['heading', __webpack_require__(733), ['paragraph', 'reference', 'blockquote']], ['lheading', __webpack_require__(734)], ['html_block', __webpack_require__(735), ['paragraph', 'reference', 'blockquote']], ['paragraph', __webpack_require__(737)]];\n\n/**\n * new ParserBlock()\n **/\nfunction ParserBlock() {\n /**\n * ParserBlock#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of block rules.\n **/\n this.ruler = new Ruler();\n\n for (var i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1], { alt: (_rules[i][2] || []).slice() });\n }\n}\n\n// Generate tokens for input range\n//\nParserBlock.prototype.tokenize = function (state, startLine, endLine) {\n var ok,\n i,\n rules = this.ruler.getRules(''),\n len = rules.length,\n line = startLine,\n hasEmptyLines = false,\n maxNesting = state.md.options.maxNesting;\n\n while (line < endLine) {\n state.line = line = state.skipEmptyLines(line);\n if (line >= endLine) {\n break;\n }\n\n // Termination condition for nested calls.\n // Nested calls currently used for blockquotes & lists\n if (state.sCount[line] < state.blkIndent) {\n break;\n }\n\n // If nesting level exceeded - skip tail to the end. That's not ordinary\n // situation and we should not care about content.\n if (state.level >= maxNesting) {\n state.line = endLine;\n break;\n }\n\n // Try all possible rules.\n // On success, rule should:\n //\n // - update `state.line`\n // - update `state.tokens`\n // - return true\n\n for (i = 0; i < len; i++) {\n ok = rules[i](state, line, endLine, false);\n if (ok) {\n break;\n }\n }\n\n // set state.tight if we had an empty line before current tag\n // i.e. latest empty line should not count\n state.tight = !hasEmptyLines;\n\n // paragraph might \"eat\" one newline after it in nested lists\n if (state.isEmpty(state.line - 1)) {\n hasEmptyLines = true;\n }\n\n line = state.line;\n\n if (line < endLine && state.isEmpty(line)) {\n hasEmptyLines = true;\n line++;\n state.line = line;\n }\n }\n};\n\n/**\n * ParserBlock.parse(str, md, env, outTokens)\n *\n * Process input string and push block tokens into `outTokens`\n **/\nParserBlock.prototype.parse = function (src, md, env, outTokens) {\n var state;\n\n if (!src) {\n return;\n }\n\n state = new this.State(src, md, env, outTokens);\n\n this.tokenize(state, state.line, state.lineMax);\n};\n\nParserBlock.prototype.State = __webpack_require__(738);\n\nmodule.exports = ParserBlock;\n\n/***/ }),\n/* 726 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// GFM table, non-standard\n\n\n\nvar isSpace = __webpack_require__(9).isSpace;\n\nfunction getLine(state, line) {\n var pos = state.bMarks[line] + state.blkIndent,\n max = state.eMarks[line];\n\n return state.src.substr(pos, max - pos);\n}\n\nfunction escapedSplit(str) {\n var result = [],\n pos = 0,\n max = str.length,\n ch,\n escapes = 0,\n lastPos = 0,\n backTicked = false,\n lastBackTick = 0;\n\n ch = str.charCodeAt(pos);\n\n while (pos < max) {\n if (ch === 0x60 /* ` */) {\n if (backTicked) {\n // make \\` close code sequence, but not open it;\n // the reason is: `\\` is correct code block\n backTicked = false;\n lastBackTick = pos;\n } else if (escapes % 2 === 0) {\n backTicked = true;\n lastBackTick = pos;\n }\n } else if (ch === 0x7c /* | */ && escapes % 2 === 0 && !backTicked) {\n result.push(str.substring(lastPos, pos));\n lastPos = pos + 1;\n }\n\n if (ch === 0x5c /* \\ */) {\n escapes++;\n } else {\n escapes = 0;\n }\n\n pos++;\n\n // If there was an un-closed backtick, go back to just after\n // the last backtick, but as if it was a normal character\n if (pos === max && backTicked) {\n backTicked = false;\n pos = lastBackTick + 1;\n }\n\n ch = str.charCodeAt(pos);\n }\n\n result.push(str.substring(lastPos));\n\n return result;\n}\n\nmodule.exports = function table(state, startLine, endLine, silent) {\n var ch, lineText, pos, i, nextLine, columns, columnCount, token, aligns, t, tableLines, tbodyLines;\n\n // should have at least two lines\n if (startLine + 2 > endLine) {\n return false;\n }\n\n nextLine = startLine + 1;\n\n if (state.sCount[nextLine] < state.blkIndent) {\n return false;\n }\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\n return false;\n }\n\n // first character of the second line should be '|', '-', ':',\n // and no other characters are allowed but spaces;\n // basically, this is the equivalent of /^[-:|][-:|\\s]*$/ regexp\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n if (pos >= state.eMarks[nextLine]) {\n return false;\n }\n\n ch = state.src.charCodeAt(pos++);\n if (ch !== 0x7C /* | */ && ch !== 0x2D /* - */ && ch !== 0x3A /* : */) {\n return false;\n }\n\n while (pos < state.eMarks[nextLine]) {\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x7C /* | */ && ch !== 0x2D /* - */ && ch !== 0x3A /* : */ && !isSpace(ch)) {\n return false;\n }\n\n pos++;\n }\n\n lineText = getLine(state, startLine + 1);\n\n columns = lineText.split('|');\n aligns = [];\n for (i = 0; i < columns.length; i++) {\n t = columns[i].trim();\n if (!t) {\n // allow empty columns before and after table, but not in between columns;\n // e.g. allow ` |---| `, disallow ` ---||--- `\n if (i === 0 || i === columns.length - 1) {\n continue;\n } else {\n return false;\n }\n }\n\n if (!/^:?-+:?$/.test(t)) {\n return false;\n }\n if (t.charCodeAt(t.length - 1) === 0x3A /* : */) {\n aligns.push(t.charCodeAt(0) === 0x3A /* : */ ? 'center' : 'right');\n } else if (t.charCodeAt(0) === 0x3A /* : */) {\n aligns.push('left');\n } else {\n aligns.push('');\n }\n }\n\n lineText = getLine(state, startLine).trim();\n if (lineText.indexOf('|') === -1) {\n return false;\n }\n if (state.sCount[startLine] - state.blkIndent >= 4) {\n return false;\n }\n columns = escapedSplit(lineText.replace(/^\\||\\|$/g, ''));\n\n // header row will define an amount of columns in the entire table,\n // and align row shouldn't be smaller than that (the rest of the rows can)\n columnCount = columns.length;\n if (columnCount > aligns.length) {\n return false;\n }\n\n if (silent) {\n return true;\n }\n\n token = state.push('table_open', 'table', 1);\n token.map = tableLines = [startLine, 0];\n\n token = state.push('thead_open', 'thead', 1);\n token.map = [startLine, startLine + 1];\n\n token = state.push('tr_open', 'tr', 1);\n token.map = [startLine, startLine + 1];\n\n for (i = 0; i < columns.length; i++) {\n token = state.push('th_open', 'th', 1);\n token.map = [startLine, startLine + 1];\n if (aligns[i]) {\n token.attrs = [['style', 'text-align:' + aligns[i]]];\n }\n\n token = state.push('inline', '', 0);\n token.content = columns[i].trim();\n token.map = [startLine, startLine + 1];\n token.children = [];\n\n token = state.push('th_close', 'th', -1);\n }\n\n token = state.push('tr_close', 'tr', -1);\n token = state.push('thead_close', 'thead', -1);\n\n token = state.push('tbody_open', 'tbody', 1);\n token.map = tbodyLines = [startLine + 2, 0];\n\n for (nextLine = startLine + 2; nextLine < endLine; nextLine++) {\n if (state.sCount[nextLine] < state.blkIndent) {\n break;\n }\n\n lineText = getLine(state, nextLine).trim();\n if (lineText.indexOf('|') === -1) {\n break;\n }\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\n break;\n }\n columns = escapedSplit(lineText.replace(/^\\||\\|$/g, ''));\n\n token = state.push('tr_open', 'tr', 1);\n for (i = 0; i < columnCount; i++) {\n token = state.push('td_open', 'td', 1);\n if (aligns[i]) {\n token.attrs = [['style', 'text-align:' + aligns[i]]];\n }\n\n token = state.push('inline', '', 0);\n token.content = columns[i] ? columns[i].trim() : '';\n token.children = [];\n\n token = state.push('td_close', 'td', -1);\n }\n token = state.push('tr_close', 'tr', -1);\n }\n token = state.push('tbody_close', 'tbody', -1);\n token = state.push('table_close', 'table', -1);\n\n tableLines[1] = tbodyLines[1] = nextLine;\n state.line = nextLine;\n return true;\n};\n\n/***/ }),\n/* 727 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Code block (4 spaces padded)\n\n\n\nmodule.exports = function code(state, startLine, endLine /*, silent*/) {\n var nextLine, last, token;\n\n if (state.sCount[startLine] - state.blkIndent < 4) {\n return false;\n }\n\n last = nextLine = startLine + 1;\n\n while (nextLine < endLine) {\n if (state.isEmpty(nextLine)) {\n nextLine++;\n continue;\n }\n\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\n nextLine++;\n last = nextLine;\n continue;\n }\n break;\n }\n\n state.line = last;\n\n token = state.push('code_block', 'code', 0);\n token.content = state.getLines(startLine, last, 4 + state.blkIndent, true);\n token.map = [startLine, state.line];\n\n return true;\n};\n\n/***/ }),\n/* 728 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// fences (``` lang, ~~~ lang)\n\n\n\nmodule.exports = function fence(state, startLine, endLine, silent) {\n var marker,\n len,\n params,\n nextLine,\n mem,\n token,\n markup,\n haveEndMarker = false,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) {\n return false;\n }\n\n if (pos + 3 > max) {\n return false;\n }\n\n marker = state.src.charCodeAt(pos);\n\n if (marker !== 0x7E /* ~ */ && marker !== 0x60 /* ` */) {\n return false;\n }\n\n // scan marker length\n mem = pos;\n pos = state.skipChars(pos, marker);\n\n len = pos - mem;\n\n if (len < 3) {\n return false;\n }\n\n markup = state.src.slice(mem, pos);\n params = state.src.slice(pos, max);\n\n if (params.indexOf(String.fromCharCode(marker)) >= 0) {\n return false;\n }\n\n // Since start is found, we can report success here in validation mode\n if (silent) {\n return true;\n }\n\n // search end of block\n nextLine = startLine;\n\n for (;;) {\n nextLine++;\n if (nextLine >= endLine) {\n // unclosed block should be autoclosed by end of document.\n // also block seems to be autoclosed by end of parent\n break;\n }\n\n pos = mem = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos < max && state.sCount[nextLine] < state.blkIndent) {\n // non-empty line with negative indent should stop the list:\n // - ```\n // test\n break;\n }\n\n if (state.src.charCodeAt(pos) !== marker) {\n continue;\n }\n\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\n // closing fence should be indented less than 4 spaces\n continue;\n }\n\n pos = state.skipChars(pos, marker);\n\n // closing code fence must be at least as long as the opening one\n if (pos - mem < len) {\n continue;\n }\n\n // make sure tail has spaces only\n pos = state.skipSpaces(pos);\n\n if (pos < max) {\n continue;\n }\n\n haveEndMarker = true;\n // found!\n break;\n }\n\n // If a fence has heading spaces, they should be removed from its inner block\n len = state.sCount[startLine];\n\n state.line = nextLine + (haveEndMarker ? 1 : 0);\n\n token = state.push('fence', 'code', 0);\n token.info = params;\n token.content = state.getLines(startLine + 1, nextLine, len, true);\n token.markup = markup;\n token.map = [startLine, state.line];\n\n return true;\n};\n\n/***/ }),\n/* 729 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Block quotes\n\n\n\nvar isSpace = __webpack_require__(9).isSpace;\n\nmodule.exports = function blockquote(state, startLine, endLine, silent) {\n var adjustTab,\n ch,\n i,\n initial,\n l,\n lastLineEmpty,\n lines,\n nextLine,\n offset,\n oldBMarks,\n oldBSCount,\n oldIndent,\n oldParentType,\n oldSCount,\n oldTShift,\n spaceAfterMarker,\n terminate,\n terminatorRules,\n token,\n wasOutdented,\n oldLineMax = state.lineMax,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) {\n return false;\n }\n\n // check the block quote marker\n if (state.src.charCodeAt(pos++) !== 0x3E /* > */) {\n return false;\n }\n\n // we know that it's going to be a valid blockquote,\n // so no point trying to find the end of it in silent mode\n if (silent) {\n return true;\n }\n\n // skip spaces after \">\" and re-calculate offset\n initial = offset = state.sCount[startLine] + pos - (state.bMarks[startLine] + state.tShift[startLine]);\n\n // skip one optional space after '>'\n if (state.src.charCodeAt(pos) === 0x20 /* space */) {\n // ' > test '\n // ^ -- position start of line here:\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n spaceAfterMarker = true;\n } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {\n spaceAfterMarker = true;\n\n if ((state.bsCount[startLine] + offset) % 4 === 3) {\n // ' >\\t test '\n // ^ -- position start of line here (tab has width===1)\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n } else {\n // ' >\\t test '\n // ^ -- position start of line here + shift bsCount slightly\n // to make extra space appear\n adjustTab = true;\n }\n } else {\n spaceAfterMarker = false;\n }\n\n oldBMarks = [state.bMarks[startLine]];\n state.bMarks[startLine] = pos;\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[startLine] + (adjustTab ? 1 : 0)) % 4;\n } else {\n offset++;\n }\n } else {\n break;\n }\n\n pos++;\n }\n\n oldBSCount = [state.bsCount[startLine]];\n state.bsCount[startLine] = state.sCount[startLine] + 1 + (spaceAfterMarker ? 1 : 0);\n\n lastLineEmpty = pos >= max;\n\n oldSCount = [state.sCount[startLine]];\n state.sCount[startLine] = offset - initial;\n\n oldTShift = [state.tShift[startLine]];\n state.tShift[startLine] = pos - state.bMarks[startLine];\n\n terminatorRules = state.md.block.ruler.getRules('blockquote');\n\n oldParentType = state.parentType;\n state.parentType = 'blockquote';\n wasOutdented = false;\n\n // Search the end of the block\n //\n // Block ends with either:\n // 1. an empty line outside:\n // ```\n // > test\n //\n // ```\n // 2. an empty line inside:\n // ```\n // >\n // test\n // ```\n // 3. another tag:\n // ```\n // > test\n // - - -\n // ```\n for (nextLine = startLine + 1; nextLine < endLine; nextLine++) {\n // check if it's outdented, i.e. it's inside list item and indented\n // less than said list item:\n //\n // ```\n // 1. anything\n // > current blockquote\n // 2. checking this line\n // ```\n if (state.sCount[nextLine] < state.blkIndent) wasOutdented = true;\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos >= max) {\n // Case 1: line is not inside the blockquote, and this line is empty.\n break;\n }\n\n if (state.src.charCodeAt(pos++) === 0x3E /* > */ && !wasOutdented) {\n // This line is inside the blockquote.\n\n // skip spaces after \">\" and re-calculate offset\n initial = offset = state.sCount[nextLine] + pos - (state.bMarks[nextLine] + state.tShift[nextLine]);\n\n // skip one optional space after '>'\n if (state.src.charCodeAt(pos) === 0x20 /* space */) {\n // ' > test '\n // ^ -- position start of line here:\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n spaceAfterMarker = true;\n } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {\n spaceAfterMarker = true;\n\n if ((state.bsCount[nextLine] + offset) % 4 === 3) {\n // ' >\\t test '\n // ^ -- position start of line here (tab has width===1)\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n } else {\n // ' >\\t test '\n // ^ -- position start of line here + shift bsCount slightly\n // to make extra space appear\n adjustTab = true;\n }\n } else {\n spaceAfterMarker = false;\n }\n\n oldBMarks.push(state.bMarks[nextLine]);\n state.bMarks[nextLine] = pos;\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4;\n } else {\n offset++;\n }\n } else {\n break;\n }\n\n pos++;\n }\n\n lastLineEmpty = pos >= max;\n\n oldBSCount.push(state.bsCount[nextLine]);\n state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0);\n\n oldSCount.push(state.sCount[nextLine]);\n state.sCount[nextLine] = offset - initial;\n\n oldTShift.push(state.tShift[nextLine]);\n state.tShift[nextLine] = pos - state.bMarks[nextLine];\n continue;\n }\n\n // Case 2: line is not inside the blockquote, and the last line was empty.\n if (lastLineEmpty) {\n break;\n }\n\n // Case 3: another tag found.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n\n if (terminate) {\n // Quirk to enforce \"hard termination mode\" for paragraphs;\n // normally if you call `tokenize(state, startLine, nextLine)`,\n // paragraphs will look below nextLine for paragraph continuation,\n // but if blockquote is terminated by another tag, they shouldn't\n state.lineMax = nextLine;\n\n if (state.blkIndent !== 0) {\n // state.blkIndent was non-zero, we now set it to zero,\n // so we need to re-calculate all offsets to appear as\n // if indent wasn't changed\n oldBMarks.push(state.bMarks[nextLine]);\n oldBSCount.push(state.bsCount[nextLine]);\n oldTShift.push(state.tShift[nextLine]);\n oldSCount.push(state.sCount[nextLine]);\n state.sCount[nextLine] -= state.blkIndent;\n }\n\n break;\n }\n\n oldBMarks.push(state.bMarks[nextLine]);\n oldBSCount.push(state.bsCount[nextLine]);\n oldTShift.push(state.tShift[nextLine]);\n oldSCount.push(state.sCount[nextLine]);\n\n // A negative indentation means that this is a paragraph continuation\n //\n state.sCount[nextLine] = -1;\n }\n\n oldIndent = state.blkIndent;\n state.blkIndent = 0;\n\n token = state.push('blockquote_open', 'blockquote', 1);\n token.markup = '>';\n token.map = lines = [startLine, 0];\n\n state.md.block.tokenize(state, startLine, nextLine);\n\n token = state.push('blockquote_close', 'blockquote', -1);\n token.markup = '>';\n\n state.lineMax = oldLineMax;\n state.parentType = oldParentType;\n lines[1] = state.line;\n\n // Restore original tShift; this might not be necessary since the parser\n // has already been here, but just to make sure we can do that.\n for (i = 0; i < oldTShift.length; i++) {\n state.bMarks[i + startLine] = oldBMarks[i];\n state.tShift[i + startLine] = oldTShift[i];\n state.sCount[i + startLine] = oldSCount[i];\n state.bsCount[i + startLine] = oldBSCount[i];\n }\n state.blkIndent = oldIndent;\n\n return true;\n};\n\n/***/ }),\n/* 730 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Horizontal rule\n\n\n\nvar isSpace = __webpack_require__(9).isSpace;\n\nmodule.exports = function hr(state, startLine, endLine, silent) {\n var marker,\n cnt,\n ch,\n token,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) {\n return false;\n }\n\n marker = state.src.charCodeAt(pos++);\n\n // Check hr marker\n if (marker !== 0x2A /* * */ && marker !== 0x2D /* - */ && marker !== 0x5F /* _ */) {\n return false;\n }\n\n // markers can be mixed with spaces, but there should be at least 3 of them\n\n cnt = 1;\n while (pos < max) {\n ch = state.src.charCodeAt(pos++);\n if (ch !== marker && !isSpace(ch)) {\n return false;\n }\n if (ch === marker) {\n cnt++;\n }\n }\n\n if (cnt < 3) {\n return false;\n }\n\n if (silent) {\n return true;\n }\n\n state.line = startLine + 1;\n\n token = state.push('hr', 'hr', 0);\n token.map = [startLine, state.line];\n token.markup = Array(cnt + 1).join(String.fromCharCode(marker));\n\n return true;\n};\n\n/***/ }),\n/* 731 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Lists\n\n\n\nvar isSpace = __webpack_require__(9).isSpace;\n\n// Search `[-+*][\\n ]`, returns next pos after marker on success\n// or -1 on fail.\nfunction skipBulletListMarker(state, startLine) {\n var marker, pos, max, ch;\n\n pos = state.bMarks[startLine] + state.tShift[startLine];\n max = state.eMarks[startLine];\n\n marker = state.src.charCodeAt(pos++);\n // Check bullet\n if (marker !== 0x2A /* * */ && marker !== 0x2D /* - */ && marker !== 0x2B /* + */) {\n return -1;\n }\n\n if (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (!isSpace(ch)) {\n // \" -test \" - is not a list item\n return -1;\n }\n }\n\n return pos;\n}\n\n// Search `\\d+[.)][\\n ]`, returns next pos after marker on success\n// or -1 on fail.\nfunction skipOrderedListMarker(state, startLine) {\n var ch,\n start = state.bMarks[startLine] + state.tShift[startLine],\n pos = start,\n max = state.eMarks[startLine];\n\n // List marker should have at least 2 chars (digit + dot)\n if (pos + 1 >= max) {\n return -1;\n }\n\n ch = state.src.charCodeAt(pos++);\n\n if (ch < 0x30 /* 0 */ || ch > 0x39 /* 9 */) {\n return -1;\n }\n\n for (;;) {\n // EOL -> fail\n if (pos >= max) {\n return -1;\n }\n\n ch = state.src.charCodeAt(pos++);\n\n if (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) {\n\n // List marker should have no more than 9 digits\n // (prevents integer overflow in browsers)\n if (pos - start >= 10) {\n return -1;\n }\n\n continue;\n }\n\n // found valid marker\n if (ch === 0x29 /* ) */ || ch === 0x2e /* . */) {\n break;\n }\n\n return -1;\n }\n\n if (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (!isSpace(ch)) {\n // \" 1.test \" - is not a list item\n return -1;\n }\n }\n return pos;\n}\n\nfunction markTightParagraphs(state, idx) {\n var i,\n l,\n level = state.level + 2;\n\n for (i = idx + 2, l = state.tokens.length - 2; i < l; i++) {\n if (state.tokens[i].level === level && state.tokens[i].type === 'paragraph_open') {\n state.tokens[i + 2].hidden = true;\n state.tokens[i].hidden = true;\n i += 2;\n }\n }\n}\n\nmodule.exports = function list(state, startLine, endLine, silent) {\n var ch,\n contentStart,\n i,\n indent,\n indentAfterMarker,\n initial,\n isOrdered,\n itemLines,\n l,\n listLines,\n listTokIdx,\n markerCharCode,\n markerValue,\n max,\n nextLine,\n offset,\n oldIndent,\n oldLIndent,\n oldParentType,\n oldTShift,\n oldTight,\n pos,\n posAfterMarker,\n prevEmptyEnd,\n start,\n terminate,\n terminatorRules,\n token,\n isTerminatingParagraph = false,\n tight = true;\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) {\n return false;\n }\n\n // limit conditions when list can interrupt\n // a paragraph (validation mode only)\n if (silent && state.parentType === 'paragraph') {\n // Next list item should still terminate previous list item;\n //\n // This code can fail if plugins use blkIndent as well as lists,\n // but I hope the spec gets fixed long before that happens.\n //\n if (state.tShift[startLine] >= state.blkIndent) {\n isTerminatingParagraph = true;\n }\n }\n\n // Detect list type and position after marker\n if ((posAfterMarker = skipOrderedListMarker(state, startLine)) >= 0) {\n isOrdered = true;\n start = state.bMarks[startLine] + state.tShift[startLine];\n markerValue = Number(state.src.substr(start, posAfterMarker - start - 1));\n\n // If we're starting a new ordered list right after\n // a paragraph, it should start with 1.\n if (isTerminatingParagraph && markerValue !== 1) return false;\n } else if ((posAfterMarker = skipBulletListMarker(state, startLine)) >= 0) {\n isOrdered = false;\n } else {\n return false;\n }\n\n // If we're starting a new unordered list right after\n // a paragraph, first line should not be empty.\n if (isTerminatingParagraph) {\n if (state.skipSpaces(posAfterMarker) >= state.eMarks[startLine]) return false;\n }\n\n // We should terminate list on style change. Remember first one to compare.\n markerCharCode = state.src.charCodeAt(posAfterMarker - 1);\n\n // For validation mode we can terminate immediately\n if (silent) {\n return true;\n }\n\n // Start list\n listTokIdx = state.tokens.length;\n\n if (isOrdered) {\n token = state.push('ordered_list_open', 'ol', 1);\n if (markerValue !== 1) {\n token.attrs = [['start', markerValue]];\n }\n } else {\n token = state.push('bullet_list_open', 'ul', 1);\n }\n\n token.map = listLines = [startLine, 0];\n token.markup = String.fromCharCode(markerCharCode);\n\n //\n // Iterate list items\n //\n\n nextLine = startLine;\n prevEmptyEnd = false;\n terminatorRules = state.md.block.ruler.getRules('list');\n\n oldParentType = state.parentType;\n state.parentType = 'list';\n\n while (nextLine < endLine) {\n pos = posAfterMarker;\n max = state.eMarks[nextLine];\n\n initial = offset = state.sCount[nextLine] + posAfterMarker - (state.bMarks[startLine] + state.tShift[startLine]);\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[nextLine]) % 4;\n } else if (ch === 0x20) {\n offset++;\n } else {\n break;\n }\n\n pos++;\n }\n\n contentStart = pos;\n\n if (contentStart >= max) {\n // trimming space in \"- \\n 3\" case, indent is 1 here\n indentAfterMarker = 1;\n } else {\n indentAfterMarker = offset - initial;\n }\n\n // If we have more than 4 spaces, the indent is 1\n // (the rest is just indented code block)\n if (indentAfterMarker > 4) {\n indentAfterMarker = 1;\n }\n\n // \" - test\"\n // ^^^^^ - calculating total length of this thing\n indent = initial + indentAfterMarker;\n\n // Run subparser & write tokens\n token = state.push('list_item_open', 'li', 1);\n token.markup = String.fromCharCode(markerCharCode);\n token.map = itemLines = [startLine, 0];\n\n oldIndent = state.blkIndent;\n oldTight = state.tight;\n oldTShift = state.tShift[startLine];\n oldLIndent = state.sCount[startLine];\n state.blkIndent = indent;\n state.tight = true;\n state.tShift[startLine] = contentStart - state.bMarks[startLine];\n state.sCount[startLine] = offset;\n\n if (contentStart >= max && state.isEmpty(startLine + 1)) {\n // workaround for this case\n // (list item is empty, list terminates before \"foo\"):\n // ~~~~~~~~\n // -\n //\n // foo\n // ~~~~~~~~\n state.line = Math.min(state.line + 2, endLine);\n } else {\n state.md.block.tokenize(state, startLine, endLine, true);\n }\n\n // If any of list item is tight, mark list as tight\n if (!state.tight || prevEmptyEnd) {\n tight = false;\n }\n // Item become loose if finish with empty line,\n // but we should filter last element, because it means list finish\n prevEmptyEnd = state.line - startLine > 1 && state.isEmpty(state.line - 1);\n\n state.blkIndent = oldIndent;\n state.tShift[startLine] = oldTShift;\n state.sCount[startLine] = oldLIndent;\n state.tight = oldTight;\n\n token = state.push('list_item_close', 'li', -1);\n token.markup = String.fromCharCode(markerCharCode);\n\n nextLine = startLine = state.line;\n itemLines[1] = nextLine;\n contentStart = state.bMarks[startLine];\n\n if (nextLine >= endLine) {\n break;\n }\n\n //\n // Try to check if list is terminated or continued.\n //\n if (state.sCount[nextLine] < state.blkIndent) {\n break;\n }\n\n // fail if terminating block found\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) {\n break;\n }\n\n // fail if list has another type\n if (isOrdered) {\n posAfterMarker = skipOrderedListMarker(state, nextLine);\n if (posAfterMarker < 0) {\n break;\n }\n } else {\n posAfterMarker = skipBulletListMarker(state, nextLine);\n if (posAfterMarker < 0) {\n break;\n }\n }\n\n if (markerCharCode !== state.src.charCodeAt(posAfterMarker - 1)) {\n break;\n }\n }\n\n // Finalize list\n if (isOrdered) {\n token = state.push('ordered_list_close', 'ol', -1);\n } else {\n token = state.push('bullet_list_close', 'ul', -1);\n }\n token.markup = String.fromCharCode(markerCharCode);\n\n listLines[1] = nextLine;\n state.line = nextLine;\n\n state.parentType = oldParentType;\n\n // mark paragraphs tight if needed\n if (tight) {\n markTightParagraphs(state, listTokIdx);\n }\n\n return true;\n};\n\n/***/ }),\n/* 732 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar normalizeReference = __webpack_require__(9).normalizeReference;\nvar isSpace = __webpack_require__(9).isSpace;\n\nmodule.exports = function reference(state, startLine, _endLine, silent) {\n var ch,\n destEndPos,\n destEndLineNo,\n endLine,\n href,\n i,\n l,\n label,\n labelEnd,\n oldParentType,\n res,\n start,\n str,\n terminate,\n terminatorRules,\n title,\n lines = 0,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine],\n nextLine = startLine + 1;\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) {\n return false;\n }\n\n if (state.src.charCodeAt(pos) !== 0x5B /* [ */) {\n return false;\n }\n\n // Simple check to quickly interrupt scan on [link](url) at the start of line.\n // Can be useful on practice: https://github.com/markdown-it/markdown-it/issues/54\n while (++pos < max) {\n if (state.src.charCodeAt(pos) === 0x5D /* ] */ && state.src.charCodeAt(pos - 1) !== 0x5C /* \\ */) {\n if (pos + 1 === max) {\n return false;\n }\n if (state.src.charCodeAt(pos + 1) !== 0x3A /* : */) {\n return false;\n }\n break;\n }\n }\n\n endLine = state.lineMax;\n\n // jump line-by-line until empty one or EOF\n terminatorRules = state.md.block.ruler.getRules('reference');\n\n oldParentType = state.parentType;\n state.parentType = 'reference';\n\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) {\n continue;\n }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) {\n continue;\n }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) {\n break;\n }\n }\n\n str = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n max = str.length;\n\n for (pos = 1; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x5B /* [ */) {\n return false;\n } else if (ch === 0x5D /* ] */) {\n labelEnd = pos;\n break;\n } else if (ch === 0x0A /* \\n */) {\n lines++;\n } else if (ch === 0x5C /* \\ */) {\n pos++;\n if (pos < max && str.charCodeAt(pos) === 0x0A) {\n lines++;\n }\n }\n }\n\n if (labelEnd < 0 || str.charCodeAt(labelEnd + 1) !== 0x3A /* : */) {\n return false;\n }\n\n // [label]: destination 'title'\n // ^^^ skip optional whitespace here\n for (pos = labelEnd + 2; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x0A) {\n lines++;\n } else if (isSpace(ch)) {\n /*eslint no-empty:0*/\n } else {\n break;\n }\n }\n\n // [label]: destination 'title'\n // ^^^^^^^^^^^ parse this\n res = state.md.helpers.parseLinkDestination(str, pos, max);\n if (!res.ok) {\n return false;\n }\n\n href = state.md.normalizeLink(res.str);\n if (!state.md.validateLink(href)) {\n return false;\n }\n\n pos = res.pos;\n lines += res.lines;\n\n // save cursor state, we could require to rollback later\n destEndPos = pos;\n destEndLineNo = lines;\n\n // [label]: destination 'title'\n // ^^^ skipping those spaces\n start = pos;\n for (; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x0A) {\n lines++;\n } else if (isSpace(ch)) {\n /*eslint no-empty:0*/\n } else {\n break;\n }\n }\n\n // [label]: destination 'title'\n // ^^^^^^^ parse this\n res = state.md.helpers.parseLinkTitle(str, pos, max);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n lines += res.lines;\n } else {\n title = '';\n pos = destEndPos;\n lines = destEndLineNo;\n }\n\n // skip trailing spaces until the rest of the line\n while (pos < max) {\n ch = str.charCodeAt(pos);\n if (!isSpace(ch)) {\n break;\n }\n pos++;\n }\n\n if (pos < max && str.charCodeAt(pos) !== 0x0A) {\n if (title) {\n // garbage at the end of the line after title,\n // but it could still be a valid reference if we roll back\n title = '';\n pos = destEndPos;\n lines = destEndLineNo;\n while (pos < max) {\n ch = str.charCodeAt(pos);\n if (!isSpace(ch)) {\n break;\n }\n pos++;\n }\n }\n }\n\n if (pos < max && str.charCodeAt(pos) !== 0x0A) {\n // garbage at the end of the line\n return false;\n }\n\n label = normalizeReference(str.slice(1, labelEnd));\n if (!label) {\n // CommonMark 0.20 disallows empty labels\n return false;\n }\n\n // Reference can not terminate anything. This check is for safety only.\n /*istanbul ignore if*/\n if (silent) {\n return true;\n }\n\n if (typeof state.env.references === 'undefined') {\n state.env.references = {};\n }\n if (typeof state.env.references[label] === 'undefined') {\n state.env.references[label] = { title: title, href: href };\n }\n\n state.parentType = oldParentType;\n\n state.line = startLine + lines + 1;\n return true;\n};\n\n/***/ }),\n/* 733 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// heading (#, ##, ...)\n\n\n\nvar isSpace = __webpack_require__(9).isSpace;\n\nmodule.exports = function heading(state, startLine, endLine, silent) {\n var ch,\n level,\n tmp,\n token,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) {\n return false;\n }\n\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x23 /* # */ || pos >= max) {\n return false;\n }\n\n // count heading level\n level = 1;\n ch = state.src.charCodeAt(++pos);\n while (ch === 0x23 /* # */ && pos < max && level <= 6) {\n level++;\n ch = state.src.charCodeAt(++pos);\n }\n\n if (level > 6 || pos < max && !isSpace(ch)) {\n return false;\n }\n\n if (silent) {\n return true;\n }\n\n // Let's cut tails like ' ### ' from the end of string\n\n max = state.skipSpacesBack(max, pos);\n tmp = state.skipCharsBack(max, 0x23, pos); // #\n if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) {\n max = tmp;\n }\n\n state.line = startLine + 1;\n\n token = state.push('heading_open', 'h' + String(level), 1);\n token.markup = '########'.slice(0, level);\n token.map = [startLine, state.line];\n\n token = state.push('inline', '', 0);\n token.content = state.src.slice(pos, max).trim();\n token.map = [startLine, state.line];\n token.children = [];\n\n token = state.push('heading_close', 'h' + String(level), -1);\n token.markup = '########'.slice(0, level);\n\n return true;\n};\n\n/***/ }),\n/* 734 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// lheading (---, ===)\n\n\n\nmodule.exports = function lheading(state, startLine, endLine /*, silent*/) {\n var content,\n terminate,\n i,\n l,\n token,\n pos,\n max,\n level,\n marker,\n nextLine = startLine + 1,\n oldParentType,\n terminatorRules = state.md.block.ruler.getRules('paragraph');\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) {\n return false;\n }\n\n oldParentType = state.parentType;\n state.parentType = 'paragraph'; // use paragraph to match terminatorRules\n\n // jump line-by-line until empty one or EOF\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) {\n continue;\n }\n\n //\n // Check for underline in setext header\n //\n if (state.sCount[nextLine] >= state.blkIndent) {\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos < max) {\n marker = state.src.charCodeAt(pos);\n\n if (marker === 0x2D /* - */ || marker === 0x3D /* = */) {\n pos = state.skipChars(pos, marker);\n pos = state.skipSpaces(pos);\n\n if (pos >= max) {\n level = marker === 0x3D /* = */ ? 1 : 2;\n break;\n }\n }\n }\n }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) {\n continue;\n }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) {\n break;\n }\n }\n\n if (!level) {\n // Didn't find valid underline\n return false;\n }\n\n content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n\n state.line = nextLine + 1;\n\n token = state.push('heading_open', 'h' + String(level), 1);\n token.markup = String.fromCharCode(marker);\n token.map = [startLine, state.line];\n\n token = state.push('inline', '', 0);\n token.content = content;\n token.map = [startLine, state.line - 1];\n token.children = [];\n\n token = state.push('heading_close', 'h' + String(level), -1);\n token.markup = String.fromCharCode(marker);\n\n state.parentType = oldParentType;\n\n return true;\n};\n\n/***/ }),\n/* 735 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// HTML block\n\n\n\nvar block_names = __webpack_require__(736);\nvar HTML_OPEN_CLOSE_TAG_RE = __webpack_require__(425).HTML_OPEN_CLOSE_TAG_RE;\n\n// An array of opening and corresponding closing sequences for html tags,\n// last argument defines whether it can terminate a paragraph or not\n//\nvar HTML_SEQUENCES = [[/^<(script|pre|style)(?=(\\s|>|$))/i, /<\\/(script|pre|style)>/i, true], [/^/, true], [/^<\\?/, /\\?>/, true], [/^/, true], [/^/, true], [new RegExp('^|$))', 'i'), /^$/, true], [new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + '\\\\s*$'), /^$/, false]];\n\nmodule.exports = function html_block(state, startLine, endLine, silent) {\n var i,\n nextLine,\n token,\n lineText,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) {\n return false;\n }\n\n if (!state.md.options.html) {\n return false;\n }\n\n if (state.src.charCodeAt(pos) !== 0x3C /* < */) {\n return false;\n }\n\n lineText = state.src.slice(pos, max);\n\n for (i = 0; i < HTML_SEQUENCES.length; i++) {\n if (HTML_SEQUENCES[i][0].test(lineText)) {\n break;\n }\n }\n\n if (i === HTML_SEQUENCES.length) {\n return false;\n }\n\n if (silent) {\n // true if this sequence can be a terminator, false otherwise\n return HTML_SEQUENCES[i][2];\n }\n\n nextLine = startLine + 1;\n\n // If we are here - we detected HTML block.\n // Let's roll down till block end.\n if (!HTML_SEQUENCES[i][1].test(lineText)) {\n for (; nextLine < endLine; nextLine++) {\n if (state.sCount[nextLine] < state.blkIndent) {\n break;\n }\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n lineText = state.src.slice(pos, max);\n\n if (HTML_SEQUENCES[i][1].test(lineText)) {\n if (lineText.length !== 0) {\n nextLine++;\n }\n break;\n }\n }\n }\n\n state.line = nextLine;\n\n token = state.push('html_block', '', 0);\n token.map = [startLine, nextLine];\n token.content = state.getLines(startLine, nextLine, state.blkIndent, true);\n\n return true;\n};\n\n/***/ }),\n/* 736 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// List of valid html blocks names, accorting to commonmark spec\n// http://jgm.github.io/CommonMark/spec.html#html-blocks\n\n\n\nmodule.exports = ['address', 'article', 'aside', 'base', 'basefont', 'blockquote', 'body', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dialog', 'dir', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hr', 'html', 'iframe', 'legend', 'li', 'link', 'main', 'menu', 'menuitem', 'meta', 'nav', 'noframes', 'ol', 'optgroup', 'option', 'p', 'param', 'section', 'source', 'summary', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul'];\n\n/***/ }),\n/* 737 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Paragraph\n\n\n\nmodule.exports = function paragraph(state, startLine /*, endLine*/) {\n var content,\n terminate,\n i,\n l,\n token,\n oldParentType,\n nextLine = startLine + 1,\n terminatorRules = state.md.block.ruler.getRules('paragraph'),\n endLine = state.lineMax;\n\n oldParentType = state.parentType;\n state.parentType = 'paragraph';\n\n // jump line-by-line until empty one or EOF\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) {\n continue;\n }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) {\n continue;\n }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) {\n break;\n }\n }\n\n content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n\n state.line = nextLine;\n\n token = state.push('paragraph_open', 'p', 1);\n token.map = [startLine, state.line];\n\n token = state.push('inline', '', 0);\n token.content = content;\n token.map = [startLine, state.line];\n token.children = [];\n\n token = state.push('paragraph_close', 'p', -1);\n\n state.parentType = oldParentType;\n\n return true;\n};\n\n/***/ }),\n/* 738 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Parser state class\n\n\n\nvar Token = __webpack_require__(115);\nvar isSpace = __webpack_require__(9).isSpace;\n\nfunction StateBlock(src, md, env, tokens) {\n var ch, s, start, pos, len, indent, offset, indent_found;\n\n this.src = src;\n\n // link to parser instance\n this.md = md;\n\n this.env = env;\n\n //\n // Internal state vartiables\n //\n\n this.tokens = tokens;\n\n this.bMarks = []; // line begin offsets for fast jumps\n this.eMarks = []; // line end offsets for fast jumps\n this.tShift = []; // offsets of the first non-space characters (tabs not expanded)\n this.sCount = []; // indents for each line (tabs expanded)\n\n // An amount of virtual spaces (tabs expanded) between beginning\n // of each line (bMarks) and real beginning of that line.\n //\n // It exists only as a hack because blockquotes override bMarks\n // losing information in the process.\n //\n // It's used only when expanding tabs, you can think about it as\n // an initial tab length, e.g. bsCount=21 applied to string `\\t123`\n // means first tab should be expanded to 4-21%4 === 3 spaces.\n //\n this.bsCount = [];\n\n // block parser variables\n this.blkIndent = 0; // required block content indent\n // (for example, if we are in list)\n this.line = 0; // line index in src\n this.lineMax = 0; // lines count\n this.tight = false; // loose/tight mode for lists\n this.ddIndent = -1; // indent of the current dd block (-1 if there isn't any)\n\n // can be 'blockquote', 'list', 'root', 'paragraph' or 'reference'\n // used in lists to determine if they interrupt a paragraph\n this.parentType = 'root';\n\n this.level = 0;\n\n // renderer\n this.result = '';\n\n // Create caches\n // Generate markers.\n s = this.src;\n indent_found = false;\n\n for (start = pos = indent = offset = 0, len = s.length; pos < len; pos++) {\n ch = s.charCodeAt(pos);\n\n if (!indent_found) {\n if (isSpace(ch)) {\n indent++;\n\n if (ch === 0x09) {\n offset += 4 - offset % 4;\n } else {\n offset++;\n }\n continue;\n } else {\n indent_found = true;\n }\n }\n\n if (ch === 0x0A || pos === len - 1) {\n if (ch !== 0x0A) {\n pos++;\n }\n this.bMarks.push(start);\n this.eMarks.push(pos);\n this.tShift.push(indent);\n this.sCount.push(offset);\n this.bsCount.push(0);\n\n indent_found = false;\n indent = 0;\n offset = 0;\n start = pos + 1;\n }\n }\n\n // Push fake entry to simplify cache bounds checks\n this.bMarks.push(s.length);\n this.eMarks.push(s.length);\n this.tShift.push(0);\n this.sCount.push(0);\n this.bsCount.push(0);\n\n this.lineMax = this.bMarks.length - 1; // don't count last fake line\n}\n\n// Push new token to \"stream\".\n//\nStateBlock.prototype.push = function (type, tag, nesting) {\n var token = new Token(type, tag, nesting);\n token.block = true;\n\n if (nesting < 0) {\n this.level--;\n }\n token.level = this.level;\n if (nesting > 0) {\n this.level++;\n }\n\n this.tokens.push(token);\n return token;\n};\n\nStateBlock.prototype.isEmpty = function isEmpty(line) {\n return this.bMarks[line] + this.tShift[line] >= this.eMarks[line];\n};\n\nStateBlock.prototype.skipEmptyLines = function skipEmptyLines(from) {\n for (var max = this.lineMax; from < max; from++) {\n if (this.bMarks[from] + this.tShift[from] < this.eMarks[from]) {\n break;\n }\n }\n return from;\n};\n\n// Skip spaces from given position.\nStateBlock.prototype.skipSpaces = function skipSpaces(pos) {\n var ch;\n\n for (var max = this.src.length; pos < max; pos++) {\n ch = this.src.charCodeAt(pos);\n if (!isSpace(ch)) {\n break;\n }\n }\n return pos;\n};\n\n// Skip spaces from given position in reverse.\nStateBlock.prototype.skipSpacesBack = function skipSpacesBack(pos, min) {\n if (pos <= min) {\n return pos;\n }\n\n while (pos > min) {\n if (!isSpace(this.src.charCodeAt(--pos))) {\n return pos + 1;\n }\n }\n return pos;\n};\n\n// Skip char codes from given position\nStateBlock.prototype.skipChars = function skipChars(pos, code) {\n for (var max = this.src.length; pos < max; pos++) {\n if (this.src.charCodeAt(pos) !== code) {\n break;\n }\n }\n return pos;\n};\n\n// Skip char codes reverse from given position - 1\nStateBlock.prototype.skipCharsBack = function skipCharsBack(pos, code, min) {\n if (pos <= min) {\n return pos;\n }\n\n while (pos > min) {\n if (code !== this.src.charCodeAt(--pos)) {\n return pos + 1;\n }\n }\n return pos;\n};\n\n// cut lines range from source.\nStateBlock.prototype.getLines = function getLines(begin, end, indent, keepLastLF) {\n var i,\n lineIndent,\n ch,\n first,\n last,\n queue,\n lineStart,\n line = begin;\n\n if (begin >= end) {\n return '';\n }\n\n queue = new Array(end - begin);\n\n for (i = 0; line < end; line++, i++) {\n lineIndent = 0;\n lineStart = first = this.bMarks[line];\n\n if (line + 1 < end || keepLastLF) {\n // No need for bounds check because we have fake entry on tail.\n last = this.eMarks[line] + 1;\n } else {\n last = this.eMarks[line];\n }\n\n while (first < last && lineIndent < indent) {\n ch = this.src.charCodeAt(first);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n lineIndent += 4 - (lineIndent + this.bsCount[line]) % 4;\n } else {\n lineIndent++;\n }\n } else if (first - lineStart < this.tShift[line]) {\n // patched tShift masked characters to look like spaces (blockquotes, list markers)\n lineIndent++;\n } else {\n break;\n }\n\n first++;\n }\n\n if (lineIndent > indent) {\n // partially expanding tabs in code blocks, e.g '\\t\\tfoobar'\n // with indent=2 becomes ' \\tfoobar'\n queue[i] = new Array(lineIndent - indent + 1).join(' ') + this.src.slice(first, last);\n } else {\n queue[i] = this.src.slice(first, last);\n }\n }\n\n return queue.join('');\n};\n\n// re-export Token class to use in block rules\nStateBlock.prototype.Token = Token;\n\nmodule.exports = StateBlock;\n\n/***/ }),\n/* 739 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** internal\n * class ParserInline\n *\n * Tokenizes paragraph content.\n **/\n\n\nvar Ruler = __webpack_require__(114);\n\n////////////////////////////////////////////////////////////////////////////////\n// Parser rules\n\nvar _rules = [['text', __webpack_require__(740)], ['newline', __webpack_require__(741)], ['escape', __webpack_require__(742)], ['backticks', __webpack_require__(743)], ['strikethrough', __webpack_require__(426).tokenize], ['emphasis', __webpack_require__(427).tokenize], ['link', __webpack_require__(744)], ['image', __webpack_require__(745)], ['autolink', __webpack_require__(746)], ['html_inline', __webpack_require__(747)], ['entity', __webpack_require__(748)]];\n\nvar _rules2 = [['balance_pairs', __webpack_require__(749)], ['strikethrough', __webpack_require__(426).postProcess], ['emphasis', __webpack_require__(427).postProcess], ['text_collapse', __webpack_require__(750)]];\n\n/**\n * new ParserInline()\n **/\nfunction ParserInline() {\n var i;\n\n /**\n * ParserInline#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of inline rules.\n **/\n this.ruler = new Ruler();\n\n for (i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1]);\n }\n\n /**\n * ParserInline#ruler2 -> Ruler\n *\n * [[Ruler]] instance. Second ruler used for post-processing\n * (e.g. in emphasis-like rules).\n **/\n this.ruler2 = new Ruler();\n\n for (i = 0; i < _rules2.length; i++) {\n this.ruler2.push(_rules2[i][0], _rules2[i][1]);\n }\n}\n\n// Skip single token by running all rules in validation mode;\n// returns `true` if any rule reported success\n//\nParserInline.prototype.skipToken = function (state) {\n var ok,\n i,\n pos = state.pos,\n rules = this.ruler.getRules(''),\n len = rules.length,\n maxNesting = state.md.options.maxNesting,\n cache = state.cache;\n\n if (typeof cache[pos] !== 'undefined') {\n state.pos = cache[pos];\n return;\n }\n\n if (state.level < maxNesting) {\n for (i = 0; i < len; i++) {\n // Increment state.level and decrement it later to limit recursion.\n // It's harmless to do here, because no tokens are created. But ideally,\n // we'd need a separate private state variable for this purpose.\n //\n state.level++;\n ok = rules[i](state, true);\n state.level--;\n\n if (ok) {\n break;\n }\n }\n } else {\n // Too much nesting, just skip until the end of the paragraph.\n //\n // NOTE: this will cause links to behave incorrectly in the following case,\n // when an amount of `[` is exactly equal to `maxNesting + 1`:\n //\n // [[[[[[[[[[[[[[[[[[[[[foo]()\n //\n // TODO: remove this workaround when CM standard will allow nested links\n // (we can replace it by preventing links from being parsed in\n // validation mode)\n //\n state.pos = state.posMax;\n }\n\n if (!ok) {\n state.pos++;\n }\n cache[pos] = state.pos;\n};\n\n// Generate tokens for input range\n//\nParserInline.prototype.tokenize = function (state) {\n var ok,\n i,\n rules = this.ruler.getRules(''),\n len = rules.length,\n end = state.posMax,\n maxNesting = state.md.options.maxNesting;\n\n while (state.pos < end) {\n // Try all possible rules.\n // On success, rule should:\n //\n // - update `state.pos`\n // - update `state.tokens`\n // - return true\n\n if (state.level < maxNesting) {\n for (i = 0; i < len; i++) {\n ok = rules[i](state, false);\n if (ok) {\n break;\n }\n }\n }\n\n if (ok) {\n if (state.pos >= end) {\n break;\n }\n continue;\n }\n\n state.pending += state.src[state.pos++];\n }\n\n if (state.pending) {\n state.pushPending();\n }\n};\n\n/**\n * ParserInline.parse(str, md, env, outTokens)\n *\n * Process input string and push inline tokens into `outTokens`\n **/\nParserInline.prototype.parse = function (str, md, env, outTokens) {\n var i, rules, len;\n var state = new this.State(str, md, env, outTokens);\n\n this.tokenize(state);\n\n rules = this.ruler2.getRules('');\n len = rules.length;\n\n for (i = 0; i < len; i++) {\n rules[i](state);\n }\n};\n\nParserInline.prototype.State = __webpack_require__(751);\n\nmodule.exports = ParserInline;\n\n/***/ }),\n/* 740 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Skip text characters for text token, place those to pending buffer\n// and increment current pos\n\n\n\n// Rule to skip pure text\n// '{}$%@~+=:' reserved for extentions\n\n// !, \", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \\, ], ^, _, `, {, |, }, or ~\n\n// !!!! Don't confuse with \"Markdown ASCII Punctuation\" chars\n// http://spec.commonmark.org/0.15/#ascii-punctuation-character\n\nfunction isTerminatorChar(ch) {\n switch (ch) {\n case 0x0A /* \\n */:\n case 0x21 /* ! */:\n case 0x23 /* # */:\n case 0x24 /* $ */:\n case 0x25 /* % */:\n case 0x26 /* & */:\n case 0x2A /* * */:\n case 0x2B /* + */:\n case 0x2D /* - */:\n case 0x3A /* : */:\n case 0x3C /* < */:\n case 0x3D /* = */:\n case 0x3E /* > */:\n case 0x40 /* @ */:\n case 0x5B /* [ */:\n case 0x5C /* \\ */:\n case 0x5D /* ] */:\n case 0x5E /* ^ */:\n case 0x5F /* _ */:\n case 0x60 /* ` */:\n case 0x7B /* { */:\n case 0x7D /* } */:\n case 0x7E /* ~ */:\n return true;\n default:\n return false;\n }\n}\n\nmodule.exports = function text(state, silent) {\n var pos = state.pos;\n\n while (pos < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos))) {\n pos++;\n }\n\n if (pos === state.pos) {\n return false;\n }\n\n if (!silent) {\n state.pending += state.src.slice(state.pos, pos);\n }\n\n state.pos = pos;\n\n return true;\n};\n\n// Alternative implementation, for memory.\n//\n// It costs 10% of performance, but allows extend terminators list, if place it\n// to `ParcerInline` property. Probably, will switch to it sometime, such\n// flexibility required.\n\n/*\nvar TERMINATOR_RE = /[\\n!#$%&*+\\-:<=>@[\\\\\\]^_`{}~]/;\n\nmodule.exports = function text(state, silent) {\n var pos = state.pos,\n idx = state.src.slice(pos).search(TERMINATOR_RE);\n\n // first char is terminator -> empty text\n if (idx === 0) { return false; }\n\n // no terminator -> text till end of string\n if (idx < 0) {\n if (!silent) { state.pending += state.src.slice(pos); }\n state.pos = state.src.length;\n return true;\n }\n\n if (!silent) { state.pending += state.src.slice(pos, pos + idx); }\n\n state.pos += idx;\n\n return true;\n};*/\n\n/***/ }),\n/* 741 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Proceess '\\n'\n\n\n\nvar isSpace = __webpack_require__(9).isSpace;\n\nmodule.exports = function newline(state, silent) {\n var pmax,\n max,\n pos = state.pos;\n\n if (state.src.charCodeAt(pos) !== 0x0A /* \\n */) {\n return false;\n }\n\n pmax = state.pending.length - 1;\n max = state.posMax;\n\n // ' \\n' -> hardbreak\n // Lookup in pending chars is bad practice! Don't copy to other rules!\n // Pending string is stored in concat mode, indexed lookups will cause\n // convertion to flat mode.\n if (!silent) {\n if (pmax >= 0 && state.pending.charCodeAt(pmax) === 0x20) {\n if (pmax >= 1 && state.pending.charCodeAt(pmax - 1) === 0x20) {\n state.pending = state.pending.replace(/ +$/, '');\n state.push('hardbreak', 'br', 0);\n } else {\n state.pending = state.pending.slice(0, -1);\n state.push('softbreak', 'br', 0);\n }\n } else {\n state.push('softbreak', 'br', 0);\n }\n }\n\n pos++;\n\n // skip heading spaces for next line\n while (pos < max && isSpace(state.src.charCodeAt(pos))) {\n pos++;\n }\n\n state.pos = pos;\n return true;\n};\n\n/***/ }),\n/* 742 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Process escaped chars and hardbreaks\n\n\n\nvar isSpace = __webpack_require__(9).isSpace;\n\nvar ESCAPED = [];\n\nfor (var i = 0; i < 256; i++) {\n ESCAPED.push(0);\n}\n\n'\\\\!\"#$%&\\'()*+,./:;<=>?@[]^_`{|}~-'.split('').forEach(function (ch) {\n ESCAPED[ch.charCodeAt(0)] = 1;\n});\n\nmodule.exports = function escape(state, silent) {\n var ch,\n pos = state.pos,\n max = state.posMax;\n\n if (state.src.charCodeAt(pos) !== 0x5C /* \\ */) {\n return false;\n }\n\n pos++;\n\n if (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (ch < 256 && ESCAPED[ch] !== 0) {\n if (!silent) {\n state.pending += state.src[pos];\n }\n state.pos += 2;\n return true;\n }\n\n if (ch === 0x0A) {\n if (!silent) {\n state.push('hardbreak', 'br', 0);\n }\n\n pos++;\n // skip leading whitespaces from next line\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n if (!isSpace(ch)) {\n break;\n }\n pos++;\n }\n\n state.pos = pos;\n return true;\n }\n }\n\n if (!silent) {\n state.pending += '\\\\';\n }\n state.pos++;\n return true;\n};\n\n/***/ }),\n/* 743 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Parse backticks\n\n\n\nmodule.exports = function backtick(state, silent) {\n var start,\n max,\n marker,\n matchStart,\n matchEnd,\n token,\n pos = state.pos,\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x60 /* ` */) {\n return false;\n }\n\n start = pos;\n pos++;\n max = state.posMax;\n\n while (pos < max && state.src.charCodeAt(pos) === 0x60 /* ` */) {\n pos++;\n }\n\n marker = state.src.slice(start, pos);\n\n matchStart = matchEnd = pos;\n\n while ((matchStart = state.src.indexOf('`', matchEnd)) !== -1) {\n matchEnd = matchStart + 1;\n\n while (matchEnd < max && state.src.charCodeAt(matchEnd) === 0x60 /* ` */) {\n matchEnd++;\n }\n\n if (matchEnd - matchStart === marker.length) {\n if (!silent) {\n token = state.push('code_inline', 'code', 0);\n token.markup = marker;\n token.content = state.src.slice(pos, matchStart).replace(/[ \\n]+/g, ' ').trim();\n }\n state.pos = matchEnd;\n return true;\n }\n }\n\n if (!silent) {\n state.pending += marker;\n }\n state.pos += marker.length;\n return true;\n};\n\n/***/ }),\n/* 744 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Process [link]( \"stuff\")\n\n\n\nvar normalizeReference = __webpack_require__(9).normalizeReference;\nvar isSpace = __webpack_require__(9).isSpace;\n\nmodule.exports = function link(state, silent) {\n var attrs,\n code,\n label,\n labelEnd,\n labelStart,\n pos,\n res,\n ref,\n title,\n token,\n href = '',\n oldPos = state.pos,\n max = state.posMax,\n start = state.pos,\n parseReference = true;\n\n if (state.src.charCodeAt(state.pos) !== 0x5B /* [ */) {\n return false;\n }\n\n labelStart = state.pos + 1;\n labelEnd = state.md.helpers.parseLinkLabel(state, state.pos, true);\n\n // parser failed to find ']', so it's not a valid link\n if (labelEnd < 0) {\n return false;\n }\n\n pos = labelEnd + 1;\n if (pos < max && state.src.charCodeAt(pos) === 0x28 /* ( */) {\n //\n // Inline link\n //\n\n // might have found a valid shortcut link, disable reference parsing\n parseReference = false;\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n pos++;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) {\n break;\n }\n }\n if (pos >= max) {\n return false;\n }\n\n // [link]( \"title\" )\n // ^^^^^^ parsing link destination\n start = pos;\n res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);\n if (res.ok) {\n href = state.md.normalizeLink(res.str);\n if (state.md.validateLink(href)) {\n pos = res.pos;\n } else {\n href = '';\n }\n }\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n start = pos;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) {\n break;\n }\n }\n\n // [link]( \"title\" )\n // ^^^^^^^ parsing link title\n res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) {\n break;\n }\n }\n } else {\n title = '';\n }\n\n if (pos >= max || state.src.charCodeAt(pos) !== 0x29 /* ) */) {\n // parsing a valid shortcut link failed, fallback to reference\n parseReference = true;\n }\n pos++;\n }\n\n if (parseReference) {\n //\n // Link reference\n //\n if (typeof state.env.references === 'undefined') {\n return false;\n }\n\n if (pos < max && state.src.charCodeAt(pos) === 0x5B /* [ */) {\n start = pos + 1;\n pos = state.md.helpers.parseLinkLabel(state, pos);\n if (pos >= 0) {\n label = state.src.slice(start, pos++);\n } else {\n pos = labelEnd + 1;\n }\n } else {\n pos = labelEnd + 1;\n }\n\n // covers label === '' and label === undefined\n // (collapsed reference link and shortcut reference link respectively)\n if (!label) {\n label = state.src.slice(labelStart, labelEnd);\n }\n\n ref = state.env.references[normalizeReference(label)];\n if (!ref) {\n state.pos = oldPos;\n return false;\n }\n href = ref.href;\n title = ref.title;\n }\n\n //\n // We found the end of the link, and know for a fact it's a valid link;\n // so all that's left to do is to call tokenizer.\n //\n if (!silent) {\n state.pos = labelStart;\n state.posMax = labelEnd;\n\n token = state.push('link_open', 'a', 1);\n token.attrs = attrs = [['href', href]];\n if (title) {\n attrs.push(['title', title]);\n }\n\n state.md.inline.tokenize(state);\n\n token = state.push('link_close', 'a', -1);\n }\n\n state.pos = pos;\n state.posMax = max;\n return true;\n};\n\n/***/ }),\n/* 745 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Process ![image]( \"title\")\n\n\n\nvar normalizeReference = __webpack_require__(9).normalizeReference;\nvar isSpace = __webpack_require__(9).isSpace;\n\nmodule.exports = function image(state, silent) {\n var attrs,\n code,\n content,\n label,\n labelEnd,\n labelStart,\n pos,\n ref,\n res,\n title,\n token,\n tokens,\n start,\n href = '',\n oldPos = state.pos,\n max = state.posMax;\n\n if (state.src.charCodeAt(state.pos) !== 0x21 /* ! */) {\n return false;\n }\n if (state.src.charCodeAt(state.pos + 1) !== 0x5B /* [ */) {\n return false;\n }\n\n labelStart = state.pos + 2;\n labelEnd = state.md.helpers.parseLinkLabel(state, state.pos + 1, false);\n\n // parser failed to find ']', so it's not a valid link\n if (labelEnd < 0) {\n return false;\n }\n\n pos = labelEnd + 1;\n if (pos < max && state.src.charCodeAt(pos) === 0x28 /* ( */) {\n //\n // Inline link\n //\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n pos++;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) {\n break;\n }\n }\n if (pos >= max) {\n return false;\n }\n\n // [link]( \"title\" )\n // ^^^^^^ parsing link destination\n start = pos;\n res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);\n if (res.ok) {\n href = state.md.normalizeLink(res.str);\n if (state.md.validateLink(href)) {\n pos = res.pos;\n } else {\n href = '';\n }\n }\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n start = pos;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) {\n break;\n }\n }\n\n // [link]( \"title\" )\n // ^^^^^^^ parsing link title\n res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) {\n break;\n }\n }\n } else {\n title = '';\n }\n\n if (pos >= max || state.src.charCodeAt(pos) !== 0x29 /* ) */) {\n state.pos = oldPos;\n return false;\n }\n pos++;\n } else {\n //\n // Link reference\n //\n if (typeof state.env.references === 'undefined') {\n return false;\n }\n\n if (pos < max && state.src.charCodeAt(pos) === 0x5B /* [ */) {\n start = pos + 1;\n pos = state.md.helpers.parseLinkLabel(state, pos);\n if (pos >= 0) {\n label = state.src.slice(start, pos++);\n } else {\n pos = labelEnd + 1;\n }\n } else {\n pos = labelEnd + 1;\n }\n\n // covers label === '' and label === undefined\n // (collapsed reference link and shortcut reference link respectively)\n if (!label) {\n label = state.src.slice(labelStart, labelEnd);\n }\n\n ref = state.env.references[normalizeReference(label)];\n if (!ref) {\n state.pos = oldPos;\n return false;\n }\n href = ref.href;\n title = ref.title;\n }\n\n //\n // We found the end of the link, and know for a fact it's a valid link;\n // so all that's left to do is to call tokenizer.\n //\n if (!silent) {\n content = state.src.slice(labelStart, labelEnd);\n\n state.md.inline.parse(content, state.md, state.env, tokens = []);\n\n token = state.push('image', 'img', 0);\n token.attrs = attrs = [['src', href], ['alt', '']];\n token.children = tokens;\n token.content = content;\n\n if (title) {\n attrs.push(['title', title]);\n }\n }\n\n state.pos = pos;\n state.posMax = max;\n return true;\n};\n\n/***/ }),\n/* 746 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Process autolinks ''\n\n\n\n/*eslint max-len:0*/\n\nvar EMAIL_RE = /^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/;\nvar AUTOLINK_RE = /^<([a-zA-Z][a-zA-Z0-9+.\\-]{1,31}):([^<>\\x00-\\x20]*)>/;\n\nmodule.exports = function autolink(state, silent) {\n var tail,\n linkMatch,\n emailMatch,\n url,\n fullUrl,\n token,\n pos = state.pos;\n\n if (state.src.charCodeAt(pos) !== 0x3C /* < */) {\n return false;\n }\n\n tail = state.src.slice(pos);\n\n if (tail.indexOf('>') < 0) {\n return false;\n }\n\n if (AUTOLINK_RE.test(tail)) {\n linkMatch = tail.match(AUTOLINK_RE);\n\n url = linkMatch[0].slice(1, -1);\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) {\n return false;\n }\n\n if (!silent) {\n token = state.push('link_open', 'a', 1);\n token.attrs = [['href', fullUrl]];\n token.markup = 'autolink';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'autolink';\n token.info = 'auto';\n }\n\n state.pos += linkMatch[0].length;\n return true;\n }\n\n if (EMAIL_RE.test(tail)) {\n emailMatch = tail.match(EMAIL_RE);\n\n url = emailMatch[0].slice(1, -1);\n fullUrl = state.md.normalizeLink('mailto:' + url);\n if (!state.md.validateLink(fullUrl)) {\n return false;\n }\n\n if (!silent) {\n token = state.push('link_open', 'a', 1);\n token.attrs = [['href', fullUrl]];\n token.markup = 'autolink';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'autolink';\n token.info = 'auto';\n }\n\n state.pos += emailMatch[0].length;\n return true;\n }\n\n return false;\n};\n\n/***/ }),\n/* 747 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Process html tags\n\n\n\nvar HTML_TAG_RE = __webpack_require__(425).HTML_TAG_RE;\n\nfunction isLetter(ch) {\n /*eslint no-bitwise:0*/\n var lc = ch | 0x20; // to lower case\n return lc >= 0x61 /* a */ && lc <= 0x7a /* z */;\n}\n\nmodule.exports = function html_inline(state, silent) {\n var ch,\n match,\n max,\n token,\n pos = state.pos;\n\n if (!state.md.options.html) {\n return false;\n }\n\n // Check start\n max = state.posMax;\n if (state.src.charCodeAt(pos) !== 0x3C /* < */ || pos + 2 >= max) {\n return false;\n }\n\n // Quick fail on second char\n ch = state.src.charCodeAt(pos + 1);\n if (ch !== 0x21 /* ! */ && ch !== 0x3F /* ? */ && ch !== 0x2F /* / */ && !isLetter(ch)) {\n return false;\n }\n\n match = state.src.slice(pos).match(HTML_TAG_RE);\n if (!match) {\n return false;\n }\n\n if (!silent) {\n token = state.push('html_inline', '', 0);\n token.content = state.src.slice(pos, pos + match[0].length);\n }\n state.pos += match[0].length;\n return true;\n};\n\n/***/ }),\n/* 748 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Process html entity - {, ¯, ", ...\n\n\n\nvar entities = __webpack_require__(420);\nvar has = __webpack_require__(9).has;\nvar isValidEntityCode = __webpack_require__(9).isValidEntityCode;\nvar fromCodePoint = __webpack_require__(9).fromCodePoint;\n\nvar DIGITAL_RE = /^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i;\nvar NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i;\n\nmodule.exports = function entity(state, silent) {\n var ch,\n code,\n match,\n pos = state.pos,\n max = state.posMax;\n\n if (state.src.charCodeAt(pos) !== 0x26 /* & */) {\n return false;\n }\n\n if (pos + 1 < max) {\n ch = state.src.charCodeAt(pos + 1);\n\n if (ch === 0x23 /* # */) {\n match = state.src.slice(pos).match(DIGITAL_RE);\n if (match) {\n if (!silent) {\n code = match[1][0].toLowerCase() === 'x' ? parseInt(match[1].slice(1), 16) : parseInt(match[1], 10);\n state.pending += isValidEntityCode(code) ? fromCodePoint(code) : fromCodePoint(0xFFFD);\n }\n state.pos += match[0].length;\n return true;\n }\n } else {\n match = state.src.slice(pos).match(NAMED_RE);\n if (match) {\n if (has(entities, match[1])) {\n if (!silent) {\n state.pending += entities[match[1]];\n }\n state.pos += match[0].length;\n return true;\n }\n }\n }\n }\n\n if (!silent) {\n state.pending += '&';\n }\n state.pos++;\n return true;\n};\n\n/***/ }),\n/* 749 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// For each opening emphasis-like marker find a matching closing one\n//\n\n\nmodule.exports = function link_pairs(state) {\n var i,\n j,\n lastDelim,\n currDelim,\n delimiters = state.delimiters,\n max = state.delimiters.length;\n\n for (i = 0; i < max; i++) {\n lastDelim = delimiters[i];\n\n if (!lastDelim.close) {\n continue;\n }\n\n j = i - lastDelim.jump - 1;\n\n while (j >= 0) {\n currDelim = delimiters[j];\n\n if (currDelim.open && currDelim.marker === lastDelim.marker && currDelim.end < 0 && currDelim.level === lastDelim.level) {\n\n // typeofs are for backward compatibility with plugins\n var odd_match = (currDelim.close || lastDelim.open) && typeof currDelim.length !== 'undefined' && typeof lastDelim.length !== 'undefined' && (currDelim.length + lastDelim.length) % 3 === 0;\n\n if (!odd_match) {\n lastDelim.jump = i - j;\n lastDelim.open = false;\n currDelim.end = i;\n currDelim.jump = 0;\n break;\n }\n }\n\n j -= currDelim.jump + 1;\n }\n }\n};\n\n/***/ }),\n/* 750 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Merge adjacent text nodes into one, and re-calculate all token levels\n//\n\n\nmodule.exports = function text_collapse(state) {\n var curr,\n last,\n level = 0,\n tokens = state.tokens,\n max = state.tokens.length;\n\n for (curr = last = 0; curr < max; curr++) {\n // re-calculate levels\n level += tokens[curr].nesting;\n tokens[curr].level = level;\n\n if (tokens[curr].type === 'text' && curr + 1 < max && tokens[curr + 1].type === 'text') {\n\n // collapse two adjacent text nodes\n tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content;\n } else {\n if (curr !== last) {\n tokens[last] = tokens[curr];\n }\n\n last++;\n }\n }\n\n if (curr !== last) {\n tokens.length = last;\n }\n};\n\n/***/ }),\n/* 751 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Inline parser state\n\n\n\nvar Token = __webpack_require__(115);\nvar isWhiteSpace = __webpack_require__(9).isWhiteSpace;\nvar isPunctChar = __webpack_require__(9).isPunctChar;\nvar isMdAsciiPunct = __webpack_require__(9).isMdAsciiPunct;\n\nfunction StateInline(src, md, env, outTokens) {\n this.src = src;\n this.env = env;\n this.md = md;\n this.tokens = outTokens;\n\n this.pos = 0;\n this.posMax = this.src.length;\n this.level = 0;\n this.pending = '';\n this.pendingLevel = 0;\n\n this.cache = {}; // Stores { start: end } pairs. Useful for backtrack\n // optimization of pairs parse (emphasis, strikes).\n\n this.delimiters = []; // Emphasis-like delimiters\n}\n\n// Flush pending text\n//\nStateInline.prototype.pushPending = function () {\n var token = new Token('text', '', 0);\n token.content = this.pending;\n token.level = this.pendingLevel;\n this.tokens.push(token);\n this.pending = '';\n return token;\n};\n\n// Push new token to \"stream\".\n// If pending text exists - flush it as text token\n//\nStateInline.prototype.push = function (type, tag, nesting) {\n if (this.pending) {\n this.pushPending();\n }\n\n var token = new Token(type, tag, nesting);\n\n if (nesting < 0) {\n this.level--;\n }\n token.level = this.level;\n if (nesting > 0) {\n this.level++;\n }\n\n this.pendingLevel = this.level;\n this.tokens.push(token);\n return token;\n};\n\n// Scan a sequence of emphasis-like markers, and determine whether\n// it can start an emphasis sequence or end an emphasis sequence.\n//\n// - start - position to scan from (it should point at a valid marker);\n// - canSplitWord - determine if these markers can be found inside a word\n//\nStateInline.prototype.scanDelims = function (start, canSplitWord) {\n var pos = start,\n lastChar,\n nextChar,\n count,\n can_open,\n can_close,\n isLastWhiteSpace,\n isLastPunctChar,\n isNextWhiteSpace,\n isNextPunctChar,\n left_flanking = true,\n right_flanking = true,\n max = this.posMax,\n marker = this.src.charCodeAt(start);\n\n // treat beginning of the line as a whitespace\n lastChar = start > 0 ? this.src.charCodeAt(start - 1) : 0x20;\n\n while (pos < max && this.src.charCodeAt(pos) === marker) {\n pos++;\n }\n\n count = pos - start;\n\n // treat end of the line as a whitespace\n nextChar = pos < max ? this.src.charCodeAt(pos) : 0x20;\n\n isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));\n isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));\n\n isLastWhiteSpace = isWhiteSpace(lastChar);\n isNextWhiteSpace = isWhiteSpace(nextChar);\n\n if (isNextWhiteSpace) {\n left_flanking = false;\n } else if (isNextPunctChar) {\n if (!(isLastWhiteSpace || isLastPunctChar)) {\n left_flanking = false;\n }\n }\n\n if (isLastWhiteSpace) {\n right_flanking = false;\n } else if (isLastPunctChar) {\n if (!(isNextWhiteSpace || isNextPunctChar)) {\n right_flanking = false;\n }\n }\n\n if (!canSplitWord) {\n can_open = left_flanking && (!right_flanking || isLastPunctChar);\n can_close = right_flanking && (!left_flanking || isNextPunctChar);\n } else {\n can_open = left_flanking;\n can_close = right_flanking;\n }\n\n return {\n can_open: can_open,\n can_close: can_close,\n length: count\n };\n};\n\n// re-export Token class to use in block rules\nStateInline.prototype.Token = Token;\n\nmodule.exports = StateInline;\n\n/***/ }),\n/* 752 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Helpers\n\n// Merge objects\n//\n\nfunction assign(obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n\n sources.forEach(function (source) {\n if (!source) {\n return;\n }\n\n Object.keys(source).forEach(function (key) {\n obj[key] = source[key];\n });\n });\n\n return obj;\n}\n\nfunction _class(obj) {\n return Object.prototype.toString.call(obj);\n}\nfunction isString(obj) {\n return _class(obj) === '[object String]';\n}\nfunction isObject(obj) {\n return _class(obj) === '[object Object]';\n}\nfunction isRegExp(obj) {\n return _class(obj) === '[object RegExp]';\n}\nfunction isFunction(obj) {\n return _class(obj) === '[object Function]';\n}\n\nfunction escapeRE(str) {\n return str.replace(/[.?*+^$[\\]\\\\(){}|-]/g, '\\\\$&');\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nvar defaultOptions = {\n fuzzyLink: true,\n fuzzyEmail: true,\n fuzzyIP: false\n};\n\nfunction isOptionsObj(obj) {\n return Object.keys(obj || {}).reduce(function (acc, k) {\n return acc || defaultOptions.hasOwnProperty(k);\n }, false);\n}\n\nvar defaultSchemas = {\n 'http:': {\n validate: function validate(text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.http = new RegExp('^\\\\/\\\\/' + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, 'i');\n }\n if (self.re.http.test(tail)) {\n return tail.match(self.re.http)[0].length;\n }\n return 0;\n }\n },\n 'https:': 'http:',\n 'ftp:': 'http:',\n '//': {\n validate: function validate(text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.no_http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.no_http = new RegExp('^' + self.re.src_auth +\n // Don't allow single-level domains, because of false positives like '//test'\n // with code comments\n '(?:localhost|(?:(?:' + self.re.src_domain + ')\\\\.)+' + self.re.src_domain_root + ')' + self.re.src_port + self.re.src_host_terminator + self.re.src_path, 'i');\n }\n\n if (self.re.no_http.test(tail)) {\n // should not be `://` & `///`, that protects from errors in protocol name\n if (pos >= 3 && text[pos - 3] === ':') {\n return 0;\n }\n if (pos >= 3 && text[pos - 3] === '/') {\n return 0;\n }\n return tail.match(self.re.no_http)[0].length;\n }\n return 0;\n }\n },\n 'mailto:': {\n validate: function validate(text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.mailto) {\n self.re.mailto = new RegExp('^' + self.re.src_email_name + '@' + self.re.src_host_strict, 'i');\n }\n if (self.re.mailto.test(tail)) {\n return tail.match(self.re.mailto)[0].length;\n }\n return 0;\n }\n }\n};\n\n/*eslint-disable max-len*/\n\n// RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js)\nvar tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]';\n\n// DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead\nvar tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|');\n\n/*eslint-enable max-len*/\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction resetScanCache(self) {\n self.__index__ = -1;\n self.__text_cache__ = '';\n}\n\nfunction createValidator(re) {\n return function (text, pos) {\n var tail = text.slice(pos);\n\n if (re.test(tail)) {\n return tail.match(re)[0].length;\n }\n return 0;\n };\n}\n\nfunction createNormalizer() {\n return function (match, self) {\n self.normalize(match);\n };\n}\n\n// Schemas compiler. Build regexps.\n//\nfunction compile(self) {\n\n // Load & clone RE patterns.\n var re = self.re = __webpack_require__(753)(self.__opts__);\n\n // Define dynamic patterns\n var tlds = self.__tlds__.slice();\n\n self.onCompile();\n\n if (!self.__tlds_replaced__) {\n tlds.push(tlds_2ch_src_re);\n }\n tlds.push(re.src_xn);\n\n re.src_tlds = tlds.join('|');\n\n function untpl(tpl) {\n return tpl.replace('%TLDS%', re.src_tlds);\n }\n\n re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i');\n re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i');\n re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i');\n re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i');\n\n //\n // Compile each schema\n //\n\n var aliases = [];\n\n self.__compiled__ = {}; // Reset compiled data\n\n function schemaError(name, val) {\n throw new Error('(LinkifyIt) Invalid schema \"' + name + '\": ' + val);\n }\n\n Object.keys(self.__schemas__).forEach(function (name) {\n var val = self.__schemas__[name];\n\n // skip disabled methods\n if (val === null) {\n return;\n }\n\n var compiled = { validate: null, link: null };\n\n self.__compiled__[name] = compiled;\n\n if (isObject(val)) {\n if (isRegExp(val.validate)) {\n compiled.validate = createValidator(val.validate);\n } else if (isFunction(val.validate)) {\n compiled.validate = val.validate;\n } else {\n schemaError(name, val);\n }\n\n if (isFunction(val.normalize)) {\n compiled.normalize = val.normalize;\n } else if (!val.normalize) {\n compiled.normalize = createNormalizer();\n } else {\n schemaError(name, val);\n }\n\n return;\n }\n\n if (isString(val)) {\n aliases.push(name);\n return;\n }\n\n schemaError(name, val);\n });\n\n //\n // Compile postponed aliases\n //\n\n aliases.forEach(function (alias) {\n if (!self.__compiled__[self.__schemas__[alias]]) {\n // Silently fail on missed schemas to avoid errons on disable.\n // schemaError(alias, self.__schemas__[alias]);\n return;\n }\n\n self.__compiled__[alias].validate = self.__compiled__[self.__schemas__[alias]].validate;\n self.__compiled__[alias].normalize = self.__compiled__[self.__schemas__[alias]].normalize;\n });\n\n //\n // Fake record for guessed links\n //\n self.__compiled__[''] = { validate: null, normalize: createNormalizer() };\n\n //\n // Build schema condition\n //\n var slist = Object.keys(self.__compiled__).filter(function (name) {\n // Filter disabled & fake schemas\n return name.length > 0 && self.__compiled__[name];\n }).map(escapeRE).join('|');\n // (?!_) cause 1.5x slowdown\n self.re.schema_test = RegExp('(^|(?!_)(?:[><\\uFF5C]|' + re.src_ZPCc + '))(' + slist + ')', 'i');\n self.re.schema_search = RegExp('(^|(?!_)(?:[><\\uFF5C]|' + re.src_ZPCc + '))(' + slist + ')', 'ig');\n\n self.re.pretest = RegExp('(' + self.re.schema_test.source + ')|(' + self.re.host_fuzzy_test.source + ')|@', 'i');\n\n //\n // Cleanup\n //\n\n resetScanCache(self);\n}\n\n/**\n * class Match\n *\n * Match result. Single element of array, returned by [[LinkifyIt#match]]\n **/\nfunction Match(self, shift) {\n var start = self.__index__,\n end = self.__last_index__,\n text = self.__text_cache__.slice(start, end);\n\n /**\n * Match#schema -> String\n *\n * Prefix (protocol) for matched string.\n **/\n this.schema = self.__schema__.toLowerCase();\n /**\n * Match#index -> Number\n *\n * First position of matched string.\n **/\n this.index = start + shift;\n /**\n * Match#lastIndex -> Number\n *\n * Next position after matched string.\n **/\n this.lastIndex = end + shift;\n /**\n * Match#raw -> String\n *\n * Matched string.\n **/\n this.raw = text;\n /**\n * Match#text -> String\n *\n * Notmalized text of matched string.\n **/\n this.text = text;\n /**\n * Match#url -> String\n *\n * Normalized url of matched string.\n **/\n this.url = text;\n}\n\nfunction createMatch(self, shift) {\n var match = new Match(self, shift);\n\n self.__compiled__[match.schema].normalize(match, self);\n\n return match;\n}\n\n/**\n * class LinkifyIt\n **/\n\n/**\n * new LinkifyIt(schemas, options)\n * - schemas (Object): Optional. Additional schemas to validate (prefix/validator)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Creates new linkifier instance with optional additional schemas.\n * Can be called without `new` keyword for convenience.\n *\n * By default understands:\n *\n * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links\n * - \"fuzzy\" links and emails (example.com, foo@bar.com).\n *\n * `schemas` is an object, where each key/value describes protocol/rule:\n *\n * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:`\n * for example). `linkify-it` makes shure that prefix is not preceeded with\n * alphanumeric char and symbols. Only whitespaces and punctuation allowed.\n * - __value__ - rule to check tail after link prefix\n * - _String_ - just alias to existing rule\n * - _Object_\n * - _validate_ - validator function (should return matched length on success),\n * or `RegExp`.\n * - _normalize_ - optional function to normalize text & url of matched result\n * (for example, for @twitter mentions).\n *\n * `options`:\n *\n * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`.\n * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts\n * like version numbers. Default `false`.\n * - __fuzzyEmail__ - recognize emails without `mailto:` prefix.\n *\n **/\nfunction LinkifyIt(schemas, options) {\n if (!(this instanceof LinkifyIt)) {\n return new LinkifyIt(schemas, options);\n }\n\n if (!options) {\n if (isOptionsObj(schemas)) {\n options = schemas;\n schemas = {};\n }\n }\n\n this.__opts__ = assign({}, defaultOptions, options);\n\n // Cache last tested result. Used to skip repeating steps on next `match` call.\n this.__index__ = -1;\n this.__last_index__ = -1; // Next scan position\n this.__schema__ = '';\n this.__text_cache__ = '';\n\n this.__schemas__ = assign({}, defaultSchemas, schemas);\n this.__compiled__ = {};\n\n this.__tlds__ = tlds_default;\n this.__tlds_replaced__ = false;\n\n this.re = {};\n\n compile(this);\n}\n\n/** chainable\n * LinkifyIt#add(schema, definition)\n * - schema (String): rule name (fixed pattern prefix)\n * - definition (String|RegExp|Object): schema definition\n *\n * Add new rule definition. See constructor description for details.\n **/\nLinkifyIt.prototype.add = function add(schema, definition) {\n this.__schemas__[schema] = definition;\n compile(this);\n return this;\n};\n\n/** chainable\n * LinkifyIt#set(options)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Set recognition options for links without schema.\n **/\nLinkifyIt.prototype.set = function set(options) {\n this.__opts__ = assign(this.__opts__, options);\n return this;\n};\n\n/**\n * LinkifyIt#test(text) -> Boolean\n *\n * Searches linkifiable pattern and returns `true` on success or `false` on fail.\n **/\nLinkifyIt.prototype.test = function test(text) {\n // Reset scan cache\n this.__text_cache__ = text;\n this.__index__ = -1;\n\n if (!text.length) {\n return false;\n }\n\n var m, ml, me, len, shift, next, re, tld_pos, at_pos;\n\n // try to scan for link with schema - that's the most simple rule\n if (this.re.schema_test.test(text)) {\n re = this.re.schema_search;\n re.lastIndex = 0;\n while ((m = re.exec(text)) !== null) {\n len = this.testSchemaAt(text, m[2], re.lastIndex);\n if (len) {\n this.__schema__ = m[2];\n this.__index__ = m.index + m[1].length;\n this.__last_index__ = m.index + m[0].length + len;\n break;\n }\n }\n }\n\n if (this.__opts__.fuzzyLink && this.__compiled__['http:']) {\n // guess schemaless links\n tld_pos = text.search(this.re.host_fuzzy_test);\n if (tld_pos >= 0) {\n // if tld is located after found link - no need to check fuzzy pattern\n if (this.__index__ < 0 || tld_pos < this.__index__) {\n if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) {\n\n shift = ml.index + ml[1].length;\n\n if (this.__index__ < 0 || shift < this.__index__) {\n this.__schema__ = '';\n this.__index__ = shift;\n this.__last_index__ = ml.index + ml[0].length;\n }\n }\n }\n }\n }\n\n if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) {\n // guess schemaless emails\n at_pos = text.indexOf('@');\n if (at_pos >= 0) {\n // We can't skip this check, because this cases are possible:\n // 192.168.1.1@gmail.com, my.in@example.com\n if ((me = text.match(this.re.email_fuzzy)) !== null) {\n\n shift = me.index + me[1].length;\n next = me.index + me[0].length;\n\n if (this.__index__ < 0 || shift < this.__index__ || shift === this.__index__ && next > this.__last_index__) {\n this.__schema__ = 'mailto:';\n this.__index__ = shift;\n this.__last_index__ = next;\n }\n }\n }\n }\n\n return this.__index__ >= 0;\n};\n\n/**\n * LinkifyIt#pretest(text) -> Boolean\n *\n * Very quick check, that can give false positives. Returns true if link MAY BE\n * can exists. Can be used for speed optimization, when you need to check that\n * link NOT exists.\n **/\nLinkifyIt.prototype.pretest = function pretest(text) {\n return this.re.pretest.test(text);\n};\n\n/**\n * LinkifyIt#testSchemaAt(text, name, position) -> Number\n * - text (String): text to scan\n * - name (String): rule (schema) name\n * - position (Number): text offset to check from\n *\n * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly\n * at given position. Returns length of found pattern (0 on fail).\n **/\nLinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) {\n // If not supported schema check requested - terminate\n if (!this.__compiled__[schema.toLowerCase()]) {\n return 0;\n }\n return this.__compiled__[schema.toLowerCase()].validate(text, pos, this);\n};\n\n/**\n * LinkifyIt#match(text) -> Array|null\n *\n * Returns array of found link descriptions or `null` on fail. We strongly\n * recommend to use [[LinkifyIt#test]] first, for best speed.\n *\n * ##### Result match description\n *\n * - __schema__ - link schema, can be empty for fuzzy links, or `//` for\n * protocol-neutral links.\n * - __index__ - offset of matched text\n * - __lastIndex__ - index of next char after mathch end\n * - __raw__ - matched text\n * - __text__ - normalized text\n * - __url__ - link, generated from matched text\n **/\nLinkifyIt.prototype.match = function match(text) {\n var shift = 0,\n result = [];\n\n // Try to take previous element from cache, if .test() called before\n if (this.__index__ >= 0 && this.__text_cache__ === text) {\n result.push(createMatch(this, shift));\n shift = this.__last_index__;\n }\n\n // Cut head if cache was used\n var tail = shift ? text.slice(shift) : text;\n\n // Scan string until end reached\n while (this.test(tail)) {\n result.push(createMatch(this, shift));\n\n tail = tail.slice(this.__last_index__);\n shift += this.__last_index__;\n }\n\n if (result.length) {\n return result;\n }\n\n return null;\n};\n\n/** chainable\n * LinkifyIt#tlds(list [, keepOld]) -> this\n * - list (Array): list of tlds\n * - keepOld (Boolean): merge with current list if `true` (`false` by default)\n *\n * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix)\n * to avoid false positives. By default this algorythm used:\n *\n * - hostname with any 2-letter root zones are ok.\n * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф\n * are ok.\n * - encoded (`xn--...`) root zones are ok.\n *\n * If list is replaced, then exact match for 2-chars root zones will be checked.\n **/\nLinkifyIt.prototype.tlds = function tlds(list, keepOld) {\n list = Array.isArray(list) ? list : [list];\n\n if (!keepOld) {\n this.__tlds__ = list.slice();\n this.__tlds_replaced__ = true;\n compile(this);\n return this;\n }\n\n this.__tlds__ = this.__tlds__.concat(list).sort().filter(function (el, idx, arr) {\n return el !== arr[idx - 1];\n }).reverse();\n\n compile(this);\n return this;\n};\n\n/**\n * LinkifyIt#normalize(match)\n *\n * Default normalizer (if schema does not define it's own).\n **/\nLinkifyIt.prototype.normalize = function normalize(match) {\n\n // Do minimal possible changes by default. Need to collect feedback prior\n // to move forward https://github.com/markdown-it/linkify-it/issues/1\n\n if (!match.schema) {\n match.url = 'http://' + match.url;\n }\n\n if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) {\n match.url = 'mailto:' + match.url;\n }\n};\n\n/**\n * LinkifyIt#onCompile()\n *\n * Override to modify basic RegExp-s.\n **/\nLinkifyIt.prototype.onCompile = function onCompile() {};\n\nmodule.exports = LinkifyIt;\n\n/***/ }),\n/* 753 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (opts) {\n var re = {};\n\n // Use direct extract instead of `regenerate` to reduse browserified size\n re.src_Any = __webpack_require__(422).source;\n re.src_Cc = __webpack_require__(423).source;\n re.src_Z = __webpack_require__(424).source;\n re.src_P = __webpack_require__(113).source;\n\n // \\p{\\Z\\P\\Cc\\CF} (white spaces + control + format + punctuation)\n re.src_ZPCc = [re.src_Z, re.src_P, re.src_Cc].join('|');\n\n // \\p{\\Z\\Cc} (white spaces + control)\n re.src_ZCc = [re.src_Z, re.src_Cc].join('|');\n\n // Experimental. List of chars, completely prohibited in links\n // because can separate it from other part of text\n var text_separators = '[><\\uFF5C]';\n\n // All possible word characters (everything without punctuation, spaces & controls)\n // Defined via punctuation & spaces to save space\n // Should be something like \\p{\\L\\N\\S\\M} (\\w but without `_`)\n re.src_pseudo_letter = '(?:(?!' + text_separators + '|' + re.src_ZPCc + ')' + re.src_Any + ')';\n // The same as abothe but without [0-9]\n // var src_pseudo_letter_non_d = '(?:(?![0-9]|' + src_ZPCc + ')' + src_Any + ')';\n\n ////////////////////////////////////////////////////////////////////////////////\n\n re.src_ip4 = '(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)';\n\n // Prohibit any of \"@/[]()\" in user/pass to avoid wrong domain fetch.\n re.src_auth = '(?:(?:(?!' + re.src_ZCc + '|[@/\\\\[\\\\]()]).)+@)?';\n\n re.src_port = '(?::(?:6(?:[0-4]\\\\d{3}|5(?:[0-4]\\\\d{2}|5(?:[0-2]\\\\d|3[0-5])))|[1-5]?\\\\d{1,4}))?';\n\n re.src_host_terminator = '(?=$|' + text_separators + '|' + re.src_ZPCc + ')(?!-|_|:\\\\d|\\\\.-|\\\\.(?!$|' + re.src_ZPCc + '))';\n\n re.src_path = '(?:' + '[/?#]' + '(?:' + '(?!' + re.src_ZCc + '|' + text_separators + '|[()[\\\\]{}.,\"\\'?!\\\\-]).|' + '\\\\[(?:(?!' + re.src_ZCc + '|\\\\]).)*\\\\]|' + '\\\\((?:(?!' + re.src_ZCc + '|[)]).)*\\\\)|' + '\\\\{(?:(?!' + re.src_ZCc + '|[}]).)*\\\\}|' + '\\\\\"(?:(?!' + re.src_ZCc + '|[\"]).)+\\\\\"|' + \"\\\\'(?:(?!\" + re.src_ZCc + \"|[']).)+\\\\'|\" + \"\\\\'(?=\" + re.src_pseudo_letter + '|[-]).|' + // allow `I'm_king` if no pair found\n '\\\\.{2,4}[a-zA-Z0-9%/]|' + // github has ... in commit range links,\n // google has .... in links (issue #66)\n // Restrict to\n // - english\n // - percent-encoded\n // - parts of file path\n // until more examples found.\n '\\\\.(?!' + re.src_ZCc + '|[.]).|' + (opts && opts['---'] ? '\\\\-(?!--(?:[^-]|$))(?:-*)|' // `---` => long dash, terminate\n : '\\\\-+|') + '\\\\,(?!' + re.src_ZCc + ').|' + // allow `,,,` in paths\n '\\\\!(?!' + re.src_ZCc + '|[!]).|' + '\\\\?(?!' + re.src_ZCc + '|[?]).' + ')+' + '|\\\\/' + ')?';\n\n // Allow anything in markdown spec, forbid quote (\") at the first position\n // because emails enclosed in quotes are far more common\n re.src_email_name = '[\\\\-;:&=\\\\+\\\\$,\\\\.a-zA-Z0-9_][\\\\-;:&=\\\\+\\\\$,\\\\\"\\\\.a-zA-Z0-9_]*';\n\n re.src_xn = 'xn--[a-z0-9\\\\-]{1,59}';\n\n // More to read about domain names\n // http://serverfault.com/questions/638260/\n\n re.src_domain_root =\n\n // Allow letters & digits (http://test1)\n '(?:' + re.src_xn + '|' + re.src_pseudo_letter + '{1,63}' + ')';\n\n re.src_domain = '(?:' + re.src_xn + '|' + '(?:' + re.src_pseudo_letter + ')' + '|' + '(?:' + re.src_pseudo_letter + '(?:-|' + re.src_pseudo_letter + '){0,61}' + re.src_pseudo_letter + ')' + ')';\n\n re.src_host = '(?:' +\n // Don't need IP check, because digits are already allowed in normal domain names\n // src_ip4 +\n // '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)*' + re.src_domain /*_root*/ + ')' + ')';\n\n re.tpl_host_fuzzy = '(?:' + re.src_ip4 + '|' + '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))' + ')';\n\n re.tpl_host_no_ip_fuzzy = '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))';\n\n re.src_host_strict = re.src_host + re.src_host_terminator;\n\n re.tpl_host_fuzzy_strict = re.tpl_host_fuzzy + re.src_host_terminator;\n\n re.src_host_port_strict = re.src_host + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_fuzzy_strict = re.tpl_host_fuzzy + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_no_ip_fuzzy_strict = re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator;\n\n ////////////////////////////////////////////////////////////////////////////////\n // Main rules\n\n // Rude test fuzzy links by host, for quick deny\n re.tpl_host_fuzzy_test = 'localhost|www\\\\.|\\\\.\\\\d{1,3}\\\\.|(?:\\\\.(?:%TLDS%)(?:' + re.src_ZPCc + '|>|$))';\n\n re.tpl_email_fuzzy = '(^|' + text_separators + '|\"|\\\\(|' + re.src_ZCc + ')' + '(' + re.src_email_name + '@' + re.tpl_host_fuzzy_strict + ')';\n\n re.tpl_link_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uFF5C]|' + re.src_ZPCc + '))' + '((?![$+<=>^`|\\uFF5C])' + re.tpl_host_port_fuzzy_strict + re.src_path + ')';\n\n re.tpl_link_no_ip_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uFF5C]|' + re.src_ZPCc + '))' + '((?![$+<=>^`|\\uFF5C])' + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ')';\n\n return re;\n};\n\n/***/ }),\n/* 754 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function (root) {\n\n\t/** Detect free variables */\n\tvar freeExports = ( false ? 'undefined' : _typeof(exports)) == 'object' && exports && !exports.nodeType && exports;\n\tvar freeModule = ( false ? 'undefined' : _typeof(module)) == 'object' && module && !module.nodeType && module;\n\tvar freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n * The `punycode` object.\n * @name punycode\n * @type Object\n */\n\tvar punycode,\n\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647,\n\t // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\t tMin = 1,\n\t tMax = 26,\n\t skew = 38,\n\t damp = 700,\n\t initialBias = 72,\n\t initialN = 128,\n\t // 0x80\n\tdelimiter = '-',\n\t // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\t regexNonASCII = /[^\\x20-\\x7E]/,\n\t // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g,\n\t // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\t floor = Math.floor,\n\t stringFromCharCode = String.fromCharCode,\n\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t\t// low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function (value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\n\t\t/** Cached calculation results */\n\t\tbaseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base;; /* no condition */k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\n\t\t/** `inputLength` will hold the number of code points in `input`. */\n\t\tinputLength,\n\n\t\t/** Cached calculation results */\n\t\thandledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base;; /* no condition */k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function (string) {\n\t\t\treturn regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n\t\t});\n\t}\n\n\t/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function (string) {\n\t\t\treturn regexNonASCII.test(string) ? 'xn--' + encode(string) : string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n * A string representing the current Punycode.js version number.\n * @memberOf punycode\n * @type String\n */\n\t\t'version': '1.4.1',\n\t\t/**\n * An object of methods to convert from JavaScript's internal character\n * representation (UCS-2) to Unicode code points, and back.\n * @see \n * @memberOf punycode\n * @type Object\n */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\"function\" == 'function' && _typeof(__webpack_require__(69)) == 'object' && __webpack_require__(69)) {\n\t\t!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn punycode;\n\t\t}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n})(undefined);\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(46)(module), __webpack_require__(42)))\n\n/***/ }),\n/* 755 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// markdown-it default options\n\n\n\nmodule.exports = {\n options: {\n html: false, // Enable HTML tags in source\n xhtmlOut: false, // Use '/' to close single tags (
)\n breaks: false, // Convert '\\n' in paragraphs into
\n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201C\\u201D\\u2018\\u2019', /* “”‘’ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with )\n breaks: false, // Convert '\\n' in paragraphs into
\n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201C\\u201D\\u2018\\u2019', /* “”‘’ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with )\n breaks: false, // Convert '\\n' in paragraphs into
\n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201C\\u201D\\u2018\\u2019', /* “”‘’ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with Emoji mapping.\n//\n// (!) Some patterns skipped, to avoid collisions\n// without increase matcher complicity. Than can change in future.\n//\n// Places to look for more emoticons info:\n//\n// - http://en.wikipedia.org/wiki/List_of_emoticons#Western\n// - https://github.com/wooorm/emoticon/blob/master/Support.md\n// - http://factoryjoe.com/projects/emoticons/\n//\n\n\nmodule.exports = {\n angry: ['>:(', '>:-('],\n blush: [':\")', ':-\")'],\n broken_heart: [' 0 && !ZPCc.test(src[offset - 1])) {\n return;\n }\n\n // Don't allow letters after any shortcut\n if (offset + match.length < src.length && !ZPCc.test(src[offset + match.length])) {\n return;\n }\n } else {\n emoji_name = match.slice(1, -1);\n }\n\n // Add new tokens to pending list\n if (offset > last_pos) {\n token = new Token('text', '', 0);\n token.content = text.slice(last_pos, offset);\n nodes.push(token);\n }\n\n token = new Token('emoji', '', 0);\n token.markup = emoji_name;\n token.content = emojies[emoji_name];\n nodes.push(token);\n\n last_pos = offset + match.length;\n });\n\n if (last_pos < text.length) {\n token = new Token('text', '', 0);\n token.content = text.slice(last_pos);\n nodes.push(token);\n }\n\n return nodes;\n }\n\n return function emoji_replace(state) {\n var i,\n j,\n l,\n tokens,\n token,\n blockTokens = state.tokens,\n autolinkLevel = 0;\n\n for (j = 0, l = blockTokens.length; j < l; j++) {\n if (blockTokens[j].type !== 'inline') {\n continue;\n }\n tokens = blockTokens[j].children;\n\n // We scan from the end, to keep position when new tags added.\n // Use reversed logic in links start/end match\n for (i = tokens.length - 1; i >= 0; i--) {\n token = tokens[i];\n\n if (token.type === 'link_open' || token.type === 'link_close') {\n if (token.info === 'auto') {\n autolinkLevel -= token.nesting;\n }\n }\n\n if (token.type === 'text' && autolinkLevel === 0 && scanRE.test(token.content)) {\n // replace current node\n blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, splitTextToken(token.content, token.level, state.Token));\n }\n }\n }\n };\n};\n\n/***/ }),\n/* 763 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Convert input options to more useable format\n// and compile search regexp\n\n\n\nfunction quoteRE(str) {\n return str.replace(/[.?*+^$[\\]\\\\(){}|-]/g, '\\\\$&');\n}\n\nmodule.exports = function normalize_opts(options) {\n var emojies = options.defs,\n shortcuts;\n\n // Filter emojies by whitelist, if needed\n if (options.enabled.length) {\n emojies = Object.keys(emojies).reduce(function (acc, key) {\n if (options.enabled.indexOf(key) >= 0) {\n acc[key] = emojies[key];\n }\n return acc;\n }, {});\n }\n\n // Flatten shortcuts to simple object: { alias: emoji_name }\n shortcuts = Object.keys(options.shortcuts).reduce(function (acc, key) {\n // Skip aliases for filtered emojies, to reduce regexp\n if (!emojies[key]) {\n return acc;\n }\n\n if (Array.isArray(options.shortcuts[key])) {\n options.shortcuts[key].forEach(function (alias) {\n acc[alias] = key;\n });\n return acc;\n }\n\n acc[options.shortcuts[key]] = key;\n return acc;\n }, {});\n\n // Compile regexp\n var names = Object.keys(emojies).map(function (name) {\n return ':' + name + ':';\n }).concat(Object.keys(shortcuts)).sort().reverse().map(function (name) {\n return quoteRE(name);\n }).join('|');\n var scanRE = RegExp(names);\n var replaceRE = RegExp(names, 'g');\n\n return {\n defs: emojies,\n shortcuts: shortcuts,\n scanRE: scanRE,\n replaceRE: replaceRE\n };\n};\n\n/***/ }),\n/* 764 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n;\n(function () {\n\n var root = this;\n var previous_emoji = root.EmojiConvertor;\n\n /**\r\n * @global\r\n * @namespace\r\n */\n\n var emoji = function emoji() {\n\n var self = this;\n\n /**\r\n * The set of images to use for graphical emoji.\r\n *\r\n * @memberof emoji\r\n * @type {string}\r\n */\n self.img_set = 'apple';\n\n /**\r\n * Configuration details for different image sets. This includes a path to a directory containing the\r\n * individual images (`path`) and a URL to sprite sheets (`sheet`). All of these images can be found\r\n * in the [emoji-data repository]{@link https://github.com/iamcal/emoji-data}. Using a CDN for these\r\n * is not a bad idea.\r\n *\r\n * @memberof emoji\r\n * @type {object}\r\n */\n self.img_sets = {\n 'apple': { 'path': '/resources/emoji-data/img-apple-64/', 'sheet': '/resources/emoji-data/sheet_apple_64.png', 'mask': 1 },\n 'google': { 'path': '/resources/emoji-data/img-google-64/', 'sheet': '/resources/emoji-data/sheet_google_64.png', 'mask': 2 },\n 'twitter': { 'path': '/resources/emoji-data/img-twitter-64/', 'sheet': '/resources/emoji-data/sheet_twitter_64.png', 'mask': 4 },\n 'emojione': { 'path': '/resources/emoji-data/img-emojione-64/', 'sheet': '/resources/emoji-data/sheet_emojione_64.png', 'mask': 8 },\n 'facebook': { 'path': '/resources/emoji-data/img-facebook-64/', 'sheet': '/resources/emoji-data/sheet_facebook_64.png', 'mask': 16 },\n 'messenger': { 'path': '/resources/emoji-data/img-messenger-64/', 'sheet': '/resources/emoji-data/sheet_messenger_64.png', 'mask': 32 }\n };\n\n /**\r\n * Use a CSS class instead of specifying a sprite or background image for\r\n * the span representing the emoticon. This requires a CSS sheet with\r\n * emoticon data-uris.\r\n *\r\n * @memberof emoji\r\n * @type bool\r\n * @todo document how to build the CSS stylesheet self requires.\r\n */\n self.use_css_imgs = false;\n\n /**\r\n * Instead of replacing emoticons with the appropriate representations,\r\n * replace them with their colon string representation.\r\n * @memberof emoji\r\n * @type bool\r\n */\n self.colons_mode = false;\n self.text_mode = false;\n\n /**\r\n * If true, sets the \"title\" property on the span or image that gets\r\n * inserted for the emoticon.\r\n * @memberof emoji\r\n * @type bool\r\n */\n self.include_title = false;\n\n /**\r\n * If true, sets the text of the span or image that gets inserted for the\r\n * emoticon.\r\n * @memberof emoji\r\n * @type bool\r\n */\n self.include_text = false;\n\n /**\r\n * If the platform supports native emoticons, use those instead\r\n * of the fallbacks.\r\n * @memberof emoji\r\n * @type bool\r\n */\n self.allow_native = true;\n\n /**\r\n * Set to true to use CSS sprites instead of individual images on \r\n * platforms that support it.\r\n *\r\n * @memberof emoji\r\n * @type bool\r\n */\n self.use_sheet = false;\n\n /**\r\n *\r\n * Set to true to avoid black & white native Windows emoji being used.\r\n *\r\n * @memberof emoji\r\n * @type bool\r\n */\n self.avoid_ms_emoji = true;\n\n /**\r\n *\r\n * Set to true to allow :CAPITALIZATION:\r\n *\r\n * @memberof emoji\r\n * @type bool\r\n */\n self.allow_caps = false;\n\n /**\r\n *\r\n * Suffix to allow for individual image cache busting\r\n *\r\n * @memberof emoji\r\n * @type string\r\n */\n self.img_suffix = '';\n\n // Keeps track of what has been initialized.\n /** @private */\n self.inits = {};\n self.map = {};\n\n // discover the environment settings\n self.init_env();\n\n return self;\n };\n\n emoji.prototype.noConflict = function () {\n root.EmojiConvertor = previous_emoji;\n return emoji;\n };\n\n /**\r\n * @memberof emoji\r\n * @param {string} str A string potentially containing ascii emoticons\r\n * (ie. `:)`)\r\n *\r\n * @returns {string} A new string with all emoticons in `str`\r\n * replaced by a representatation that's supported by the current\r\n * environtment.\r\n */\n emoji.prototype.replace_emoticons = function (str) {\n var self = this;\n var colonized = self.replace_emoticons_with_colons(str);\n return self.replace_colons(colonized);\n };\n\n /**\r\n * @memberof emoji\r\n * @param {string} str A string potentially containing ascii emoticons\r\n * (ie. `:)`)\r\n *\r\n * @returns {string} A new string with all emoticons in `str`\r\n * replaced by their colon string representations (ie. `:smile:`)\r\n */\n emoji.prototype.replace_emoticons_with_colons = function (str) {\n var self = this;\n self.init_emoticons();\n var _prev_offset = 0;\n var emoticons_with_parens = [];\n var str_replaced = str.replace(self.rx_emoticons, function (m, $1, emoticon, offset) {\n var prev_offset = _prev_offset;\n _prev_offset = offset + m.length;\n\n var has_open_paren = emoticon.indexOf('(') !== -1;\n var has_close_paren = emoticon.indexOf(')') !== -1;\n\n /*\r\n * Track paren-having emoticons for fixing later\r\n */\n if ((has_open_paren || has_close_paren) && emoticons_with_parens.indexOf(emoticon) == -1) {\n emoticons_with_parens.push(emoticon);\n }\n\n /*\r\n * Look for preceding open paren for emoticons that contain a close paren\r\n * This prevents matching \"8)\" inside \"(around 7 - 8)\"\r\n */\n if (has_close_paren && !has_open_paren) {\n var piece = str.substring(prev_offset, offset);\n if (piece.indexOf('(') !== -1 && piece.indexOf(')') === -1) return m;\n }\n\n /*\r\n * See if we're in a numbered list\r\n * This prevents matching \"8)\" inside \"7) foo\\n8) bar\"\r\n */\n if (m === '\\n8)') {\n var before_match = str.substring(0, offset);\n if (/\\n?(6\\)|7\\))/.test(before_match)) return m;\n }\n\n var val = self.data[self.map.emoticons[emoticon]][3][0];\n return val ? $1 + ':' + val + ':' : m;\n });\n\n /*\r\n * Come back and fix emoticons we ignored because they were inside parens.\r\n * It's useful to do self at the end so we don't get tripped up by other,\r\n * normal emoticons\r\n */\n if (emoticons_with_parens.length) {\n var escaped_emoticons = emoticons_with_parens.map(self.escape_rx);\n var parenthetical_rx = new RegExp('(\\\\(.+)(' + escaped_emoticons.join('|') + ')(.+\\\\))', 'g');\n\n str_replaced = str_replaced.replace(parenthetical_rx, function (m, $1, emoticon, $2) {\n var val = self.data[self.map.emoticons[emoticon]][3][0];\n return val ? $1 + ':' + val + ':' + $2 : m;\n });\n }\n\n return str_replaced;\n };\n\n /**\r\n * @memberof emoji\r\n * @param {string} str A string potentially containing colon string\r\n * representations of emoticons (ie. `:smile:`)\r\n *\r\n * @returns {string} A new string with all colon string emoticons replaced\r\n * with the appropriate representation.\r\n */\n emoji.prototype.replace_colons = function (str) {\n var self = this;\n self.init_colons();\n\n return str.replace(self.rx_colons, function (m) {\n var idx = m.substr(1, m.length - 2);\n if (self.allow_caps) idx = idx.toLowerCase();\n\n // special case - an emoji with a skintone modified\n if (idx.indexOf('::skin-tone-') > -1) {\n\n var skin_tone = idx.substr(-1, 1);\n var skin_idx = 'skin-tone-' + skin_tone;\n var skin_val = self.map.colons[skin_idx];\n\n idx = idx.substr(0, idx.length - 13);\n\n var val = self.map.colons[idx];\n if (val) {\n return self.replacement(val, idx, ':', {\n 'idx': skin_val,\n 'actual': skin_idx,\n 'wrapper': ':'\n });\n } else {\n return ':' + idx + ':' + self.replacement(skin_val, skin_idx, ':');\n }\n } else {\n var val = self.map.colons[idx];\n return val ? self.replacement(val, idx, ':') : m;\n }\n });\n };\n\n /**\r\n * @memberof emoji\r\n * @param {string} str A string potentially containing unified unicode\r\n * emoticons. (ie. 😄)\r\n *\r\n * @returns {string} A new string with all unicode emoticons replaced with\r\n * the appropriate representation for the current environment.\r\n */\n emoji.prototype.replace_unified = function (str) {\n var self = this;\n self.init_unified();\n return str.replace(self.rx_unified, function (m, p1, p2) {\n\n var val = self.map.unified[p1];\n if (val) {\n var idx = null;\n if (p2 == '\\uD83C\\uDFFB') idx = '1f3fb';\n if (p2 == '\\uD83C\\uDFFC') idx = '1f3fc';\n if (p2 == '\\uD83C\\uDFFD') idx = '1f3fd';\n if (p2 == '\\uD83C\\uDFFE') idx = '1f3fe';\n if (p2 == '\\uD83C\\uDFFF') idx = '1f3ff';\n if (idx) {\n return self.replacement(val, null, null, {\n idx: idx,\n actual: p2,\n wrapper: ''\n });\n }\n return self.replacement(val);\n }\n\n val = self.map.unified_vars[p1];\n if (val) {\n return self.replacement(val[0], null, null, {\n 'idx': val[1],\n 'actual': '',\n 'wrapper': ''\n });\n }\n\n return m;\n });\n };\n\n emoji.prototype.addAliases = function (map) {\n var self = this;\n\n self.init_colons();\n for (var i in map) {\n self.map.colons[i] = map[i];\n }\n };\n\n emoji.prototype.removeAliases = function (list) {\n var self = this;\n\n for (var i = 0; i < list.length; i++) {\n var alias = list[i];\n\n // first, delete the alias mapping\n delete self.map.colons[alias];\n\n // now reset it to the default, if one exists\n finder_block: {\n for (var j in self.data) {\n for (var k = 0; k < self.data[j][3].length; k++) {\n if (alias == self.data[j][3][k]) {\n self.map.colons[alias] = j;\n break finder_block;\n }\n }\n }\n }\n }\n };\n\n // Does the actual replacement of a character with the appropriate\n /** @private */\n emoji.prototype.replacement = function (idx, actual, wrapper, variation) {\n var self = this;\n\n var full_idx = idx;\n\n // for emoji with variation modifiers, set `extra` to the standalone output for the\n // modifier (used if we can't combine the glyph) and set variation_idx to key of the\n // variation modifier (used below)\n var extra = '';\n var var_idx = null;\n if ((typeof variation === 'undefined' ? 'undefined' : _typeof(variation)) === 'object') {\n extra = self.replacement(variation.idx, variation.actual, variation.wrapper);\n var_idx = variation.idx;\n }\n\n // deal with simple modes (colons and text) first\n wrapper = wrapper || '';\n if (self.colons_mode) return ':' + self.data[idx][3][0] + ':' + extra;\n var text_name = actual ? wrapper + actual + wrapper : self.data[idx][8] || wrapper + self.data[idx][3][0] + wrapper;\n if (self.text_mode) return text_name + extra;\n\n // native modes next.\n // for variations selectors, we just need to output them raw, which `extra` will contain.\n self.init_env();\n if (self.replace_mode == 'unified' && self.allow_native && self.data[idx][0][0]) return self.data[idx][0][0] + extra;\n if (self.replace_mode == 'softbank' && self.allow_native && self.data[idx][1]) return self.data[idx][1] + extra;\n if (self.replace_mode == 'google' && self.allow_native && self.data[idx][2]) return self.data[idx][2] + extra;\n\n // finally deal with image modes.\n // variation selectors are more complex here - if the image set and particular emoji supports variations, then\n // use the variation image. otherwise, return it as a separate image (already calculated in `extra`).\n // first we set up the params we'll use if we can't use a variation.\n var img = self.find_image(idx, var_idx);\n var title = self.include_title ? ' title=\"' + (actual || self.data[idx][3][0]) + '\"' : '';\n var text = self.include_text ? wrapper + (actual || self.data[idx][3][0]) + wrapper : '';\n\n // custom image for this glyph?\n if (self.data[idx][7]) {\n img.path = self.data[idx][7];\n img.px = null;\n img.py = null;\n img.is_var = false;\n }\n\n // if we're displaying a variation, include it in the text and remove the extra\n if (img.is_var) {\n extra = '';\n // add variation text\n if (self.include_text && variation && variation.actual && variation.wrapper) {\n text += variation.wrapper + variation.actual + variation.wrapper;\n }\n }\n\n // output\n if (self.supports_css) {\n if (self.use_sheet && img.px != null && img.py != null) {\n var mul = 100 / (self.sheet_size - 1);\n var style = 'background: url(' + img.sheet + ');background-position:' + mul * img.px + '% ' + mul * img.py + '%;background-size:' + self.sheet_size + '00%';\n return '' + text + '' + extra;\n } else if (self.use_css_imgs) {\n return '' + text + '' + extra;\n } else {\n return '' + text + '' + extra;\n }\n }\n return '' + extra;\n };\n\n // Finds the best image to display, taking into account image set precedence and obsoletes\n /** @private */\n emoji.prototype.find_image = function (idx, var_idx) {\n var self = this;\n\n // set up some initial state\n var out = {\n 'path': '',\n 'sheet': '',\n 'px': self.data[idx][4],\n 'py': self.data[idx][5],\n 'full_idx': idx,\n 'is_var': false\n };\n var use_mask = self.data[idx][6];\n\n // can we use a variation?\n if (var_idx && self.variations_data[idx] && self.variations_data[idx][var_idx]) {\n var var_data = self.variations_data[idx][var_idx];\n\n out.px = var_data[1];\n out.py = var_data[2];\n out.full_idx = var_data[0];\n out.is_var = true;\n use_mask = var_data[3];\n }\n\n // this matches `build/build_image.php` `in emoji-data`, so that sheet and images modes always\n // agree about the image to use.\n var try_order = [self.img_set, 'apple', 'emojione', 'google', 'twitter', 'facebook', 'messenger'];\n\n // for each image set, see if we have the image we need. otherwise check for an obsolete in\n // that image set\n for (var j = 0; j < try_order.length; j++) {\n if (use_mask & self.img_sets[try_order[j]].mask) {\n out.path = self.img_sets[try_order[j]].path + out.full_idx + '.png' + self.img_suffix;\n // if we're not changing glyph, use our base set for sheets - it has every glyph\n out.sheet = self.img_sets[self.img_set].sheet;\n return out;\n }\n if (self.obsoletes_data[out.full_idx]) {\n var ob_data = self.obsoletes_data[out.full_idx];\n\n if (ob_data[3] & self.img_sets[try_order[j]].mask) {\n out.path = self.img_sets[try_order[j]].path + ob_data[0] + '.png' + self.img_suffix;\n out.sheet = self.img_sets[try_order[j]].sheet;\n out.px = ob_data[1];\n out.py = ob_data[2];\n return out;\n }\n }\n }\n\n return out;\n };\n\n // Initializes the text emoticon data\n /** @private */\n emoji.prototype.init_emoticons = function () {\n var self = this;\n if (self.inits.emoticons) return;\n self.init_colons(); // we require this for the emoticons map\n self.inits.emoticons = 1;\n\n var a = [];\n self.map.emoticons = {};\n for (var i in self.emoticons_data) {\n // because we never see some characters in our text except as entities, we must do some replacing\n var emoticon = i.replace(/\\&/g, '&').replace(/\\/g, '>');\n\n if (!self.map.colons[self.emoticons_data[i]]) continue;\n\n self.map.emoticons[emoticon] = self.map.colons[self.emoticons_data[i]];\n a.push(self.escape_rx(emoticon));\n }\n self.rx_emoticons = new RegExp('(^|\\\\s)(' + a.join('|') + ')(?=$|[\\\\s|\\\\?\\\\.,!])', 'g');\n };\n\n // Initializes the colon string data\n /** @private */\n emoji.prototype.init_colons = function () {\n var self = this;\n if (self.inits.colons) return;\n self.inits.colons = 1;\n self.rx_colons = new RegExp('\\:[a-zA-Z0-9-_+]+\\:(\\:skin-tone-[2-6]\\:)?', 'g');\n self.map.colons = {};\n for (var i in self.data) {\n for (var j = 0; j < self.data[i][3].length; j++) {\n self.map.colons[self.data[i][3][j]] = i;\n }\n }\n };\n\n // initializes the unified unicode emoticon data\n /** @private */\n emoji.prototype.init_unified = function () {\n var self = this;\n if (self.inits.unified) return;\n self.inits.unified = 1;\n\n var a = [];\n self.map.unified = {};\n self.map.unified_vars = {};\n\n for (var i in self.data) {\n for (var j = 0; j < self.data[i][0].length; j++) {\n a.push(self.data[i][0][j].replace('*', '\\\\*'));\n self.map.unified[self.data[i][0][j]] = i;\n }\n }\n for (var i in self.variations_data) {\n // skip simple append-style skin tones\n if (self.variations_data[i]['1f3fb'][0] == i + '-1f3fb') continue;\n\n for (var k in self.variations_data[i]) {\n for (var j = 0; j < self.variations_data[i][k][4].length; j++) {\n a.push(self.variations_data[i][k][4][j].replace('*', '\\\\*'));\n self.map.unified_vars[self.variations_data[i][k][4][j]] = [i, k];\n }\n }\n }\n\n a = a.sort(function (a, b) {\n return b.length - a.length;\n });\n\n self.rx_unified = new RegExp('(' + a.join('|') + ')(\\uD83C[\\uDFFB-\\uDFFF])?', \"g\");\n };\n\n // initializes the environment, figuring out what representation\n // of emoticons is best.\n /** @private */\n emoji.prototype.init_env = function () {\n var self = this;\n if (self.inits.env) return;\n self.inits.env = 1;\n self.replace_mode = 'img';\n self.supports_css = false;\n\n // if (window.chrome && chrome.runtime && chrome.runtime.id) {\n // self.supports_css = true;\n // }\n\n if (typeof navigator !== 'undefined') {\n var ua = navigator.userAgent;\n if (window.getComputedStyle) {\n try {\n var st = window.getComputedStyle(document.body);\n if (st['background-size'] || st['backgroundSize']) {\n self.supports_css = true;\n }\n } catch (e) {\n // Swallow an exception caused by hidden iFrames on Firefox\n // https://github.com/iamcal/js-emoji/issues/73\n if (ua.match(/Firefox/i)) {\n self.supports_css = true;\n }\n }\n }\n if (ua.match(/(iPhone|iPod|iPad|iPhone\\s+Simulator)/i)) {\n if (ua.match(/OS\\s+[12345]/i)) {\n self.replace_mode = 'softbank';\n return;\n }\n if (ua.match(/OS\\s+[6789]/i)) {\n self.replace_mode = 'unified';\n return;\n }\n }\n if (ua.match(/Mac OS X 10[._ ](?:[789]|1\\d)/i)) {\n self.replace_mode = 'unified';\n return;\n }\n if (!self.avoid_ms_emoji) {\n if (ua.match(/Windows NT 6.[1-9]/i) || ua.match(/Windows NT 10.[0-9]/i)) {\n if (!ua.match(/Chrome/i) && !ua.match(/MSIE 8/i)) {\n self.replace_mode = 'unified';\n return;\n }\n }\n }\n }\n\n // Need a better way to detect android devices that actually\n // support emoji.\n if (false) {\n self.replace_mode = 'google';\n return;\n }\n if (self.supports_css) {\n self.replace_mode = 'css';\n }\n // nothing fancy detected - use images\n };\n /** @private */\n emoji.prototype.escape_rx = function (text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\");\n };\n emoji.prototype.sheet_size = 49;\n /** @private */\n emoji.prototype.data = {\n // \"00a9\": [\n // [\"\\u00A9\\uFE0F\", \"\\u00A9\"], \"\\uE24E\", \"\\uDBBA\\uDF29\", [\"copyright\"], 0, 0, 11, 0\n // ],\n // \"00ae\": [\n // [\"\\u00AE\\uFE0F\", \"\\u00AE\"], \"\\uE24F\", \"\\uDBBA\\uDF2D\", [\"registered\"], 0, 1, 11, 0\n // ],\n \"203c\": [['\\u203C\\uFE0F', '\\u203C'], \"\", '\\uDBBA\\uDF06', [\"bangbang\"], 0, 2, 63, 0],\n \"2049\": [['\\u2049\\uFE0F', '\\u2049'], \"\", '\\uDBBA\\uDF05', [\"interrobang\"], 0, 3, 63, 0],\n // \"2122\": [\n // [\"\\u2122\\uFE0F\", \"\\u2122\"], \"\\uE537\", \"\\uDBBA\\uDF2A\", [\"tm\"], 0, 4, 63, 0\n // ],\n \"2139\": [['\\u2139\\uFE0F', '\\u2139'], \"\", '\\uDBBA\\uDF47', [\"information_source\"], 0, 5, 63, 0],\n \"2194\": [['\\u2194\\uFE0F', '\\u2194'], \"\", '\\uDBBA\\uDEF6', [\"left_right_arrow\"], 0, 6, 63, 0],\n \"2195\": [['\\u2195\\uFE0F', '\\u2195'], \"\", '\\uDBBA\\uDEF7', [\"arrow_up_down\"], 0, 7, 63, 0],\n \"2196\": [['\\u2196\\uFE0F', '\\u2196'], '\\uE237', '\\uDBBA\\uDEF2', [\"arrow_upper_left\"], 0, 8, 63, 0],\n \"2197\": [['\\u2197\\uFE0F', '\\u2197'], '\\uE236', '\\uDBBA\\uDEF0', [\"arrow_upper_right\"], 0, 9, 63, 0],\n \"2198\": [['\\u2198\\uFE0F', '\\u2198'], '\\uE238', '\\uDBBA\\uDEF1', [\"arrow_lower_right\"], 0, 10, 63, 0],\n \"2199\": [['\\u2199\\uFE0F', '\\u2199'], '\\uE239', '\\uDBBA\\uDEF3', [\"arrow_lower_left\"], 0, 11, 63, 0],\n \"21a9\": [['\\u21A9\\uFE0F', '\\u21A9'], \"\", '\\uDBBA\\uDF83', [\"leftwards_arrow_with_hook\"], 0, 12, 63, 0],\n \"21aa\": [['\\u21AA\\uFE0F', '\\u21AA'], \"\", '\\uDBBA\\uDF88', [\"arrow_right_hook\"], 0, 13, 63, 0],\n \"231a\": [['\\u231A\\uFE0F', '\\u231A'], \"\", '\\uDBB8\\uDC1D', [\"watch\"], 0, 14, 63, 0],\n \"231b\": [['\\u231B\\uFE0F', '\\u231B'], \"\", '\\uDBB8\\uDC1C', [\"hourglass\"], 0, 15, 63, 0],\n \"2328\": [['\\u2328\\uFE0F', '\\u2328'], \"\", \"\", [\"keyboard\"], 0, 16, 31, 0],\n \"23cf\": [['\\u23CF'], \"\", \"\", [\"eject\"], 0, 17, 30, 0],\n \"23e9\": [['\\u23E9'], '\\uE23C', '\\uDBBA\\uDEFE', [\"fast_forward\"], 0, 18, 63, 0],\n \"23ea\": [['\\u23EA'], '\\uE23D', '\\uDBBA\\uDEFF', [\"rewind\"], 0, 19, 63, 0],\n \"23eb\": [['\\u23EB'], \"\", '\\uDBBA\\uDF03', [\"arrow_double_up\"], 0, 20, 63, 0],\n \"23ec\": [['\\u23EC'], \"\", '\\uDBBA\\uDF02', [\"arrow_double_down\"], 0, 21, 63, 0],\n \"23ed\": [['\\u23ED'], \"\", \"\", [\"black_right_pointing_double_triangle_with_vertical_bar\"], 0, 22, 31, 0],\n \"23ee\": [['\\u23EE'], \"\", \"\", [\"black_left_pointing_double_triangle_with_vertical_bar\"], 0, 23, 31, 0],\n \"23ef\": [['\\u23EF'], \"\", \"\", [\"black_right_pointing_triangle_with_double_vertical_bar\"], 0, 24, 31, 0],\n \"23f0\": [['\\u23F0'], '\\uE02D', '\\uDBB8\\uDC2A', [\"alarm_clock\"], 0, 25, 63, 0],\n \"23f1\": [['\\u23F1'], \"\", \"\", [\"stopwatch\"], 0, 26, 31, 0],\n \"23f2\": [['\\u23F2'], \"\", \"\", [\"timer_clock\"], 0, 27, 31, 0],\n \"23f3\": [['\\u23F3'], \"\", '\\uDBB8\\uDC1B', [\"hourglass_flowing_sand\"], 0, 28, 63, 0],\n \"23f8\": [['\\u23F8'], \"\", \"\", [\"double_vertical_bar\"], 0, 29, 31, 0],\n \"23f9\": [['\\u23F9'], \"\", \"\", [\"black_square_for_stop\"], 0, 30, 31, 0],\n \"23fa\": [['\\u23FA'], \"\", \"\", [\"black_circle_for_record\"], 0, 31, 31, 0],\n \"24c2\": [['\\u24C2\\uFE0F', '\\u24C2'], '\\uE434', '\\uDBB9\\uDFE1', [\"m\"], 0, 32, 63, 0],\n \"25aa\": [['\\u25AA\\uFE0F', '\\u25AA'], '\\uE21A', '\\uDBBA\\uDF6E', [\"black_small_square\"], 0, 33, 63, 0],\n \"25ab\": [['\\u25AB\\uFE0F', '\\u25AB'], '\\uE21B', '\\uDBBA\\uDF6D', [\"white_small_square\"], 0, 34, 63, 0],\n \"25b6\": [['\\u25B6\\uFE0F', '\\u25B6'], '\\uE23A', '\\uDBBA\\uDEFC', [\"arrow_forward\"], 0, 35, 63, 0],\n \"25c0\": [['\\u25C0\\uFE0F', '\\u25C0'], '\\uE23B', '\\uDBBA\\uDEFD', [\"arrow_backward\"], 0, 36, 63, 0],\n \"25fb\": [['\\u25FB\\uFE0F', '\\u25FB'], '\\uE21B', '\\uDBBA\\uDF71', [\"white_medium_square\"], 0, 37, 63, 0],\n \"25fc\": [['\\u25FC\\uFE0F', '\\u25FC'], '\\uE21A', '\\uDBBA\\uDF72', [\"black_medium_square\"], 0, 38, 63, 0],\n \"25fd\": [['\\u25FD\\uFE0F', '\\u25FD'], '\\uE21B', '\\uDBBA\\uDF6F', [\"white_medium_small_square\"], 0, 39, 63, 0],\n \"25fe\": [['\\u25FE\\uFE0F', '\\u25FE'], '\\uE21A', '\\uDBBA\\uDF70', [\"black_medium_small_square\"], 0, 40, 63, 0],\n \"2600\": [['\\u2600\\uFE0F', '\\u2600'], '\\uE04A', '\\uDBB8\\uDC00', [\"sunny\"], 0, 41, 63, 0],\n \"2601\": [['\\u2601\\uFE0F', '\\u2601'], '\\uE049', '\\uDBB8\\uDC01', [\"cloud\"], 0, 42, 63, 0],\n \"2602\": [['\\u2602\\uFE0F', '\\u2602'], \"\", \"\", [\"umbrella\"], 0, 43, 31, 0],\n \"2603\": [['\\u2603\\uFE0F', '\\u2603'], \"\", \"\", [\"snowman\"], 0, 44, 31, 0],\n \"2604\": [['\\u2604\\uFE0F', '\\u2604'], \"\", \"\", [\"comet\"], 0, 45, 31, 0],\n \"260e\": [['\\u260E\\uFE0F', '\\u260E'], '\\uE009', '\\uDBB9\\uDD23', [\"phone\", \"telephone\"], 0, 46, 63, 0],\n \"2611\": [['\\u2611\\uFE0F', '\\u2611'], \"\", '\\uDBBA\\uDF8B', [\"ballot_box_with_check\"], 0, 47, 63, 0],\n \"2614\": [['\\u2614\\uFE0F', '\\u2614'], '\\uE04B', '\\uDBB8\\uDC02', [\"umbrella_with_rain_drops\"], 0, 48, 63, 0],\n \"2615\": [['\\u2615\\uFE0F', '\\u2615'], '\\uE045', '\\uDBBA\\uDD81', [\"coffee\"], 1, 0, 63, 0],\n \"2618\": [['\\u2618\\uFE0F', '\\u2618'], \"\", \"\", [\"shamrock\"], 1, 1, 31, 0],\n \"261d\": [['\\u261D\\uFE0F', '\\u261D'], '\\uE00F', '\\uDBBA\\uDF98', [\"point_up\"], 1, 2, 63, 0],\n \"2620\": [['\\u2620\\uFE0F', '\\u2620'], \"\", \"\", [\"skull_and_crossbones\"], 1, 8, 31, 0],\n \"2622\": [['\\u2622\\uFE0F', '\\u2622'], \"\", \"\", [\"radioactive_sign\"], 1, 9, 31, 0],\n \"2623\": [['\\u2623\\uFE0F', '\\u2623'], \"\", \"\", [\"biohazard_sign\"], 1, 10, 31, 0],\n \"2626\": [['\\u2626\\uFE0F', '\\u2626'], \"\", \"\", [\"orthodox_cross\"], 1, 11, 31, 0],\n \"262a\": [['\\u262A\\uFE0F', '\\u262A'], \"\", \"\", [\"star_and_crescent\"], 1, 12, 31, 0],\n \"262e\": [['\\u262E\\uFE0F', '\\u262E'], \"\", \"\", [\"peace_symbol\"], 1, 13, 31, 0],\n \"262f\": [['\\u262F\\uFE0F', '\\u262F'], \"\", \"\", [\"yin_yang\"], 1, 14, 31, 0],\n \"2638\": [['\\u2638\\uFE0F', '\\u2638'], \"\", \"\", [\"wheel_of_dharma\"], 1, 15, 31, 0],\n \"2639\": [['\\u2639\\uFE0F', '\\u2639'], \"\", \"\", [\"white_frowning_face\"], 1, 16, 31, 0],\n \"263a\": [['\\u263A\\uFE0F', '\\u263A'], '\\uE414', '\\uDBB8\\uDF36', [\"relaxed\"], 1, 17, 63, 0],\n \"2640\": [['\\u2640'], \"\", \"\", [\"female_sign\"], 1, 18, 22, 0],\n \"2642\": [['\\u2642'], \"\", \"\", [\"male_sign\"], 1, 19, 22, 0],\n \"2648\": [['\\u2648\\uFE0F', '\\u2648'], '\\uE23F', '\\uDBB8\\uDC2B', [\"aries\"], 1, 20, 63, 0],\n \"2649\": [['\\u2649\\uFE0F', '\\u2649'], '\\uE240', '\\uDBB8\\uDC2C', [\"taurus\"], 1, 21, 63, 0],\n \"264a\": [['\\u264A\\uFE0F', '\\u264A'], '\\uE241', '\\uDBB8\\uDC2D', [\"gemini\"], 1, 22, 63, 0],\n \"264b\": [['\\u264B\\uFE0F', '\\u264B'], '\\uE242', '\\uDBB8\\uDC2E', [\"cancer\"], 1, 23, 63, 0],\n \"264c\": [['\\u264C\\uFE0F', '\\u264C'], '\\uE243', '\\uDBB8\\uDC2F', [\"leo\"], 1, 24, 63, 0],\n \"264d\": [['\\u264D\\uFE0F', '\\u264D'], '\\uE244', '\\uDBB8\\uDC30', [\"virgo\"], 1, 25, 63, 0],\n \"264e\": [['\\u264E\\uFE0F', '\\u264E'], '\\uE245', '\\uDBB8\\uDC31', [\"libra\"], 1, 26, 63, 0],\n \"264f\": [['\\u264F\\uFE0F', '\\u264F'], '\\uE246', '\\uDBB8\\uDC32', [\"scorpius\"], 1, 27, 63, 0],\n \"2650\": [['\\u2650\\uFE0F', '\\u2650'], '\\uE247', '\\uDBB8\\uDC33', [\"sagittarius\"], 1, 28, 63, 0],\n \"2651\": [['\\u2651\\uFE0F', '\\u2651'], '\\uE248', '\\uDBB8\\uDC34', [\"capricorn\"], 1, 29, 63, 0],\n \"2652\": [['\\u2652\\uFE0F', '\\u2652'], '\\uE249', '\\uDBB8\\uDC35', [\"aquarius\"], 1, 30, 63, 0],\n \"2653\": [['\\u2653\\uFE0F', '\\u2653'], '\\uE24A', '\\uDBB8\\uDC36', [\"pisces\"], 1, 31, 63, 0],\n \"2660\": [['\\u2660\\uFE0F', '\\u2660'], '\\uE20E', '\\uDBBA\\uDF1B', [\"spades\"], 1, 32, 63, 0],\n \"2663\": [['\\u2663\\uFE0F', '\\u2663'], '\\uE20F', '\\uDBBA\\uDF1D', [\"clubs\"], 1, 33, 63, 0],\n \"2665\": [['\\u2665\\uFE0F', '\\u2665'], '\\uE20C', '\\uDBBA\\uDF1A', [\"hearts\"], 1, 34, 63, 0],\n \"2666\": [['\\u2666\\uFE0F', '\\u2666'], '\\uE20D', '\\uDBBA\\uDF1C', [\"diamonds\"], 1, 35, 63, 0],\n \"2668\": [['\\u2668\\uFE0F', '\\u2668'], '\\uE123', '\\uDBB9\\uDFFA', [\"hotsprings\"], 1, 36, 63, 0],\n \"267b\": [['\\u267B\\uFE0F', '\\u267B'], \"\", '\\uDBBA\\uDF2C', [\"recycle\"], 1, 37, 63, 0],\n \"267f\": [['\\u267F\\uFE0F', '\\u267F'], '\\uE20A', '\\uDBBA\\uDF20', [\"wheelchair\"], 1, 38, 63, 0],\n \"2692\": [['\\u2692'], \"\", \"\", [\"hammer_and_pick\"], 1, 39, 31, 0],\n \"2693\": [['\\u2693\\uFE0F', '\\u2693'], '\\uE202', '\\uDBB9\\uDCC1', [\"anchor\"], 1, 40, 63, 0],\n \"2694\": [['\\u2694\\uFE0F', '\\u2694'], \"\", \"\", [\"crossed_swords\"], 1, 41, 31, 0],\n \"2695\": [['\\u2695'], \"\", \"\", [\"staff_of_aesculapius\"], 1, 42, 7, 0],\n \"2696\": [['\\u2696\\uFE0F', '\\u2696'], \"\", \"\", [\"scales\"], 1, 43, 31, 0],\n \"2697\": [['\\u2697\\uFE0F', '\\u2697'], \"\", \"\", [\"alembic\"], 1, 44, 31, 0],\n \"2699\": [['\\u2699\\uFE0F', '\\u2699'], \"\", \"\", [\"gear\"], 1, 45, 31, 0],\n \"269b\": [['\\u269B\\uFE0F', '\\u269B'], \"\", \"\", [\"atom_symbol\"], 1, 46, 31, 0],\n \"269c\": [['\\u269C\\uFE0F', '\\u269C'], \"\", \"\", [\"fleur_de_lis\"], 1, 47, 31, 0],\n \"26a0\": [['\\u26A0\\uFE0F', '\\u26A0'], '\\uE252', '\\uDBBA\\uDF23', [\"warning\"], 1, 48, 63, 0],\n \"26a1\": [['\\u26A1\\uFE0F', '\\u26A1'], '\\uE13D', '\\uDBB8\\uDC04', [\"zap\"], 2, 0, 63, 0],\n \"26aa\": [['\\u26AA\\uFE0F', '\\u26AA'], '\\uE219', '\\uDBBA\\uDF65', [\"white_circle\"], 2, 1, 63, 0],\n \"26ab\": [['\\u26AB\\uFE0F', '\\u26AB'], '\\uE219', '\\uDBBA\\uDF66', [\"black_circle\"], 2, 2, 63, 0],\n \"26b0\": [['\\u26B0\\uFE0F', '\\u26B0'], \"\", \"\", [\"coffin\"], 2, 3, 31, 0],\n \"26b1\": [['\\u26B1\\uFE0F', '\\u26B1'], \"\", \"\", [\"funeral_urn\"], 2, 4, 31, 0],\n \"26bd\": [['\\u26BD\\uFE0F', '\\u26BD'], '\\uE018', '\\uDBB9\\uDFD4', [\"soccer\"], 2, 5, 63, 0],\n \"26be\": [['\\u26BE\\uFE0F', '\\u26BE'], '\\uE016', '\\uDBB9\\uDFD1', [\"baseball\"], 2, 6, 63, 0],\n \"26c4\": [['\\u26C4\\uFE0F', '\\u26C4'], '\\uE048', '\\uDBB8\\uDC03', [\"snowman_without_snow\"], 2, 7, 63, 0],\n \"26c5\": [['\\u26C5\\uFE0F', '\\u26C5'], '\\uE04A\\uE049', '\\uDBB8\\uDC0F', [\"partly_sunny\"], 2, 8, 63, 0],\n \"26c8\": [['\\u26C8'], \"\", \"\", [\"thunder_cloud_and_rain\"], 2, 9, 31, 0],\n \"26ce\": [['\\u26CE'], '\\uE24B', '\\uDBB8\\uDC37', [\"ophiuchus\"], 2, 10, 63, 0],\n \"26cf\": [['\\u26CF'], \"\", \"\", [\"pick\"], 2, 11, 31, 0],\n \"26d1\": [['\\u26D1'], \"\", \"\", [\"helmet_with_white_cross\"], 2, 12, 31, 0],\n \"26d3\": [['\\u26D3'], \"\", \"\", [\"chains\"], 2, 13, 31, 0],\n \"26d4\": [['\\u26D4\\uFE0F', '\\u26D4'], '\\uE137', '\\uDBBA\\uDF26', [\"no_entry\"], 2, 14, 63, 0],\n \"26e9\": [['\\u26E9'], \"\", \"\", [\"shinto_shrine\"], 2, 15, 31, 0],\n \"26ea\": [['\\u26EA\\uFE0F', '\\u26EA'], '\\uE037', '\\uDBB9\\uDCBB', [\"church\"], 2, 16, 63, 0],\n \"26f0\": [['\\u26F0'], \"\", \"\", [\"mountain\"], 2, 17, 31, 0],\n \"26f1\": [['\\u26F1'], \"\", \"\", [\"umbrella_on_ground\"], 2, 18, 31, 0],\n \"26f2\": [['\\u26F2\\uFE0F', '\\u26F2'], '\\uE121', '\\uDBB9\\uDCBC', [\"fountain\"], 2, 19, 63, 0],\n \"26f3\": [['\\u26F3\\uFE0F', '\\u26F3'], '\\uE014', '\\uDBB9\\uDFD2', [\"golf\"], 2, 20, 63, 0],\n \"26f4\": [['\\u26F4'], \"\", \"\", [\"ferry\"], 2, 21, 31, 0],\n \"26f5\": [['\\u26F5\\uFE0F', '\\u26F5'], '\\uE01C', '\\uDBB9\\uDFEA', [\"boat\", \"sailboat\"], 2, 22, 63, 0],\n \"26f7\": [['\\u26F7'], \"\", \"\", [\"skier\"], 2, 23, 31, 0],\n \"26f8\": [['\\u26F8'], \"\", \"\", [\"ice_skate\"], 2, 24, 31, 0],\n \"26fa\": [['\\u26FA\\uFE0F', '\\u26FA'], '\\uE122', '\\uDBB9\\uDFFB', [\"tent\"], 2, 31, 63, 0],\n \"26fd\": [['\\u26FD\\uFE0F', '\\u26FD'], '\\uE03A', '\\uDBB9\\uDFF5', [\"fuelpump\"], 2, 32, 63, 0],\n \"2702\": [['\\u2702\\uFE0F', '\\u2702'], '\\uE313', '\\uDBB9\\uDD3E', [\"scissors\"], 2, 33, 63, 0],\n \"2705\": [['\\u2705'], \"\", '\\uDBBA\\uDF4A', [\"white_check_mark\"], 2, 34, 63, 0],\n \"2708\": [['\\u2708\\uFE0F', '\\u2708'], '\\uE01D', '\\uDBB9\\uDFE9', [\"airplane\"], 2, 35, 63, 0],\n \"2709\": [['\\u2709\\uFE0F', '\\u2709'], '\\uE103', '\\uDBB9\\uDD29', [\"email\", \"envelope\"], 2, 36, 63, 0],\n \"270a\": [['\\u270A'], '\\uE010', '\\uDBBA\\uDF93', [\"fist\"], 2, 37, 63, 0],\n \"270b\": [['\\u270B'], '\\uE012', '\\uDBBA\\uDF95', [\"hand\", \"raised_hand\"], 2, 43, 63, 0],\n \"270c\": [['\\u270C\\uFE0F', '\\u270C'], '\\uE011', '\\uDBBA\\uDF94', [\"v\"], 3, 0, 63, 0],\n \"270d\": [['\\u270D\\uFE0F', '\\u270D'], \"\", \"\", [\"writing_hand\"], 3, 6, 31, 0],\n \"270f\": [['\\u270F\\uFE0F', '\\u270F'], '\\uE301', '\\uDBB9\\uDD39', [\"pencil2\"], 3, 12, 63, 0],\n \"2712\": [['\\u2712\\uFE0F', '\\u2712'], \"\", '\\uDBB9\\uDD36', [\"black_nib\"], 3, 13, 63, 0],\n \"2714\": [['\\u2714\\uFE0F', '\\u2714'], \"\", '\\uDBBA\\uDF49', [\"heavy_check_mark\"], 3, 14, 63, 0],\n \"2716\": [['\\u2716\\uFE0F', '\\u2716'], '\\uE333', '\\uDBBA\\uDF53', [\"heavy_multiplication_x\"], 3, 15, 63, 0],\n \"271d\": [['\\u271D\\uFE0F', '\\u271D'], \"\", \"\", [\"latin_cross\"], 3, 16, 31, 0],\n \"2721\": [['\\u2721\\uFE0F', '\\u2721'], \"\", \"\", [\"star_of_david\"], 3, 17, 31, 0],\n \"2728\": [['\\u2728'], '\\uE32E', '\\uDBBA\\uDF60', [\"sparkles\"], 3, 18, 63, 0],\n \"2733\": [['\\u2733\\uFE0F', '\\u2733'], '\\uE206', '\\uDBBA\\uDF62', [\"eight_spoked_asterisk\"], 3, 19, 63, 0],\n \"2734\": [['\\u2734\\uFE0F', '\\u2734'], '\\uE205', '\\uDBBA\\uDF61', [\"eight_pointed_black_star\"], 3, 20, 63, 0],\n \"2744\": [['\\u2744\\uFE0F', '\\u2744'], \"\", '\\uDBB8\\uDC0E', [\"snowflake\"], 3, 21, 63, 0],\n \"2747\": [['\\u2747\\uFE0F', '\\u2747'], '\\uE32E', '\\uDBBA\\uDF77', [\"sparkle\"], 3, 22, 63, 0],\n \"274c\": [['\\u274C'], '\\uE333', '\\uDBBA\\uDF45', [\"x\"], 3, 23, 63, 0],\n \"274e\": [['\\u274E'], '\\uE333', '\\uDBBA\\uDF46', [\"negative_squared_cross_mark\"], 3, 24, 63, 0],\n \"2753\": [['\\u2753'], '\\uE020', '\\uDBBA\\uDF09', [\"question\"], 3, 25, 63, 0],\n \"2754\": [['\\u2754'], '\\uE336', '\\uDBBA\\uDF0A', [\"grey_question\"], 3, 26, 63, 0],\n \"2755\": [['\\u2755'], '\\uE337', '\\uDBBA\\uDF0B', [\"grey_exclamation\"], 3, 27, 63, 0],\n \"2757\": [['\\u2757\\uFE0F', '\\u2757'], '\\uE021', '\\uDBBA\\uDF04', [\"exclamation\", \"heavy_exclamation_mark\"], 3, 28, 63, 0],\n \"2763\": [['\\u2763\\uFE0F', '\\u2763'], \"\", \"\", [\"heavy_heart_exclamation_mark_ornament\"], 3, 29, 31, 0],\n \"2764\": [['\\u2764\\uFE0F', '\\u2764'], '\\uE022', '\\uDBBA\\uDF0C', [\"heart\"], 3, 30, 63, 0, \"<3\"],\n \"2795\": [['\\u2795'], \"\", '\\uDBBA\\uDF51', [\"heavy_plus_sign\"], 3, 31, 63, 0],\n \"2796\": [['\\u2796'], \"\", '\\uDBBA\\uDF52', [\"heavy_minus_sign\"], 3, 32, 63, 0],\n \"2797\": [['\\u2797'], \"\", '\\uDBBA\\uDF54', [\"heavy_division_sign\"], 3, 33, 63, 0],\n \"27a1\": [['\\u27A1\\uFE0F', '\\u27A1'], '\\uE234', '\\uDBBA\\uDEFA', [\"arrow_right\"], 3, 34, 63, 0],\n \"27b0\": [['\\u27B0'], \"\", '\\uDBBA\\uDF08', [\"curly_loop\"], 3, 35, 63, 0],\n \"27bf\": [['\\u27BF'], '\\uE211', '\\uDBBA\\uDC2B', [\"loop\"], 3, 36, 63, 0],\n \"2934\": [['\\u2934\\uFE0F', '\\u2934'], '\\uE236', '\\uDBBA\\uDEF4', [\"arrow_heading_up\"], 3, 37, 63, 0],\n \"2935\": [['\\u2935\\uFE0F', '\\u2935'], '\\uE238', '\\uDBBA\\uDEF5', [\"arrow_heading_down\"], 3, 38, 63, 0],\n \"2b05\": [['\\u2B05\\uFE0F', '\\u2B05'], '\\uE235', '\\uDBBA\\uDEFB', [\"arrow_left\"], 3, 39, 63, 0],\n \"2b06\": [['\\u2B06\\uFE0F', '\\u2B06'], '\\uE232', '\\uDBBA\\uDEF8', [\"arrow_up\"], 3, 40, 63, 0],\n \"2b07\": [['\\u2B07\\uFE0F', '\\u2B07'], '\\uE233', '\\uDBBA\\uDEF9', [\"arrow_down\"], 3, 41, 63, 0],\n \"2b1b\": [['\\u2B1B\\uFE0F', '\\u2B1B'], '\\uE21A', '\\uDBBA\\uDF6C', [\"black_large_square\"], 3, 42, 63, 0],\n \"2b1c\": [['\\u2B1C\\uFE0F', '\\u2B1C'], '\\uE21B', '\\uDBBA\\uDF6B', [\"white_large_square\"], 3, 43, 63, 0],\n \"2b50\": [['\\u2B50\\uFE0F', '\\u2B50'], '\\uE32F', '\\uDBBA\\uDF68', [\"star\"], 3, 44, 63, 0],\n \"2b55\": [['\\u2B55\\uFE0F', '\\u2B55'], '\\uE332', '\\uDBBA\\uDF44', [\"o\"], 3, 45, 63, 0],\n \"3030\": [['\\u3030\\uFE0F', '\\u3030'], \"\", '\\uDBBA\\uDF07', [\"wavy_dash\"], 3, 46, 63, 0],\n \"303d\": [['\\u303D\\uFE0F', '\\u303D'], '\\uE12C', '\\uDBBA\\uDC1B', [\"part_alternation_mark\"], 3, 47, 63, 0],\n \"3297\": [['\\u3297\\uFE0F', '\\u3297'], '\\uE30D', '\\uDBBA\\uDF43', [\"congratulations\"], 3, 48, 63, 0],\n \"3299\": [['\\u3299\\uFE0F', '\\u3299'], '\\uE315', '\\uDBBA\\uDF2B', [\"secret\"], 4, 0, 63, 0],\n \"1f004\": [['\\uD83C\\uDC04\\uFE0F', '\\uD83C\\uDC04'], '\\uE12D', '\\uDBBA\\uDC0B', [\"mahjong\"], 4, 1, 63, 0],\n \"1f0cf\": [['\\uD83C\\uDCCF'], \"\", '\\uDBBA\\uDC12', [\"black_joker\"], 4, 2, 63, 0],\n \"1f170\": [['\\uD83C\\uDD70\\uFE0F', '\\uD83C\\uDD70'], '\\uE532', '\\uDBB9\\uDD0B', [\"a\"], 4, 3, 63, 0],\n \"1f171\": [['\\uD83C\\uDD71\\uFE0F', '\\uD83C\\uDD71'], '\\uE533', '\\uDBB9\\uDD0C', [\"b\"], 4, 4, 63, 0],\n \"1f17e\": [['\\uD83C\\uDD7E\\uFE0F', '\\uD83C\\uDD7E'], '\\uE535', '\\uDBB9\\uDD0E', [\"o2\"], 4, 5, 63, 0],\n \"1f17f\": [['\\uD83C\\uDD7F\\uFE0F', '\\uD83C\\uDD7F'], '\\uE14F', '\\uDBB9\\uDFF6', [\"parking\"], 4, 6, 63, 0],\n \"1f18e\": [['\\uD83C\\uDD8E'], '\\uE534', '\\uDBB9\\uDD0D', [\"ab\"], 4, 7, 63, 0],\n \"1f191\": [['\\uD83C\\uDD91'], \"\", '\\uDBBA\\uDF84', [\"cl\"], 4, 8, 63, 0],\n \"1f192\": [['\\uD83C\\uDD92'], '\\uE214', '\\uDBBA\\uDF38', [\"cool\"], 4, 9, 63, 0],\n \"1f193\": [['\\uD83C\\uDD93'], \"\", '\\uDBBA\\uDF21', [\"free\"], 4, 10, 63, 0],\n \"1f194\": [['\\uD83C\\uDD94'], '\\uE229', '\\uDBBA\\uDF81', [\"id\"], 4, 11, 63, 0],\n \"1f195\": [['\\uD83C\\uDD95'], '\\uE212', '\\uDBBA\\uDF36', [\"new\"], 4, 12, 63, 0],\n \"1f196\": [['\\uD83C\\uDD96'], \"\", '\\uDBBA\\uDF28', [\"ng\"], 4, 13, 63, 0],\n \"1f197\": [['\\uD83C\\uDD97'], '\\uE24D', '\\uDBBA\\uDF27', [\"ok\"], 4, 14, 63, 0],\n \"1f198\": [['\\uD83C\\uDD98'], \"\", '\\uDBBA\\uDF4F', [\"sos\"], 4, 15, 63, 0],\n \"1f199\": [['\\uD83C\\uDD99'], '\\uE213', '\\uDBBA\\uDF37', [\"up\"], 4, 16, 63, 0],\n \"1f19a\": [['\\uD83C\\uDD9A'], '\\uE12E', '\\uDBBA\\uDF32', [\"vs\"], 4, 17, 63, 0],\n \"1f201\": [['\\uD83C\\uDE01'], '\\uE203', '\\uDBBA\\uDF24', [\"koko\"], 4, 18, 63, 0],\n \"1f202\": [['\\uD83C\\uDE02\\uFE0F', '\\uD83C\\uDE02'], '\\uE228', '\\uDBBA\\uDF3F', [\"sa\"], 4, 19, 63, 0],\n \"1f21a\": [['\\uD83C\\uDE1A\\uFE0F', '\\uD83C\\uDE1A'], '\\uE216', '\\uDBBA\\uDF3A', [\"u7121\"], 4, 20, 63, 0],\n \"1f22f\": [['\\uD83C\\uDE2F\\uFE0F', '\\uD83C\\uDE2F'], '\\uE22C', '\\uDBBA\\uDF40', [\"u6307\"], 4, 21, 63, 0],\n \"1f232\": [['\\uD83C\\uDE32'], \"\", '\\uDBBA\\uDF2E', [\"u7981\"], 4, 22, 63, 0],\n \"1f233\": [['\\uD83C\\uDE33'], '\\uE22B', '\\uDBBA\\uDF2F', [\"u7a7a\"], 4, 23, 63, 0],\n \"1f234\": [['\\uD83C\\uDE34'], \"\", '\\uDBBA\\uDF30', [\"u5408\"], 4, 24, 63, 0],\n \"1f235\": [['\\uD83C\\uDE35'], '\\uE22A', '\\uDBBA\\uDF31', [\"u6e80\"], 4, 25, 63, 0],\n \"1f236\": [['\\uD83C\\uDE36'], '\\uE215', '\\uDBBA\\uDF39', [\"u6709\"], 4, 26, 63, 0],\n \"1f237\": [['\\uD83C\\uDE37\\uFE0F', '\\uD83C\\uDE37'], '\\uE217', '\\uDBBA\\uDF3B', [\"u6708\"], 4, 27, 63, 0],\n \"1f238\": [['\\uD83C\\uDE38'], '\\uE218', '\\uDBBA\\uDF3C', [\"u7533\"], 4, 28, 63, 0],\n \"1f239\": [['\\uD83C\\uDE39'], '\\uE227', '\\uDBBA\\uDF3E', [\"u5272\"], 4, 29, 63, 0],\n \"1f23a\": [['\\uD83C\\uDE3A'], '\\uE22D', '\\uDBBA\\uDF41', [\"u55b6\"], 4, 30, 63, 0],\n \"1f250\": [['\\uD83C\\uDE50'], '\\uE226', '\\uDBBA\\uDF3D', [\"ideograph_advantage\"], 4, 31, 63, 0],\n \"1f251\": [['\\uD83C\\uDE51'], \"\", '\\uDBBA\\uDF50', [\"accept\"], 4, 32, 63, 0],\n \"1f300\": [['\\uD83C\\uDF00'], '\\uE443', '\\uDBB8\\uDC05', [\"cyclone\"], 4, 33, 63, 0],\n \"1f301\": [['\\uD83C\\uDF01'], \"\", '\\uDBB8\\uDC06', [\"foggy\"], 4, 34, 63, 0],\n \"1f302\": [['\\uD83C\\uDF02'], '\\uE43C', '\\uDBB8\\uDC07', [\"closed_umbrella\"], 4, 35, 63, 0],\n \"1f303\": [['\\uD83C\\uDF03'], '\\uE44B', '\\uDBB8\\uDC08', [\"night_with_stars\"], 4, 36, 63, 0],\n \"1f304\": [['\\uD83C\\uDF04'], '\\uE04D', '\\uDBB8\\uDC09', [\"sunrise_over_mountains\"], 4, 37, 63, 0],\n \"1f305\": [['\\uD83C\\uDF05'], '\\uE449', '\\uDBB8\\uDC0A', [\"sunrise\"], 4, 38, 63, 0],\n \"1f306\": [['\\uD83C\\uDF06'], '\\uE146', '\\uDBB8\\uDC0B', [\"city_sunset\"], 4, 39, 63, 0],\n \"1f307\": [['\\uD83C\\uDF07'], '\\uE44A', '\\uDBB8\\uDC0C', [\"city_sunrise\"], 4, 40, 63, 0],\n \"1f308\": [['\\uD83C\\uDF08'], '\\uE44C', '\\uDBB8\\uDC0D', [\"rainbow\"], 4, 41, 63, 0],\n \"1f309\": [['\\uD83C\\uDF09'], '\\uE44B', '\\uDBB8\\uDC10', [\"bridge_at_night\"], 4, 42, 63, 0],\n \"1f30a\": [['\\uD83C\\uDF0A'], '\\uE43E', '\\uDBB8\\uDC38', [\"ocean\"], 4, 43, 63, 0],\n \"1f30b\": [['\\uD83C\\uDF0B'], \"\", '\\uDBB8\\uDC3A', [\"volcano\"], 4, 44, 63, 0],\n \"1f30c\": [['\\uD83C\\uDF0C'], '\\uE44B', '\\uDBB8\\uDC3B', [\"milky_way\"], 4, 45, 63, 0],\n \"1f30d\": [['\\uD83C\\uDF0D'], \"\", \"\", [\"earth_africa\"], 4, 46, 63, 0],\n \"1f30e\": [['\\uD83C\\uDF0E'], \"\", \"\", [\"earth_americas\"], 4, 47, 63, 0],\n \"1f30f\": [['\\uD83C\\uDF0F'], \"\", '\\uDBB8\\uDC39', [\"earth_asia\"], 4, 48, 63, 0],\n \"1f310\": [['\\uD83C\\uDF10'], \"\", \"\", [\"globe_with_meridians\"], 5, 0, 63, 0],\n \"1f311\": [['\\uD83C\\uDF11'], \"\", '\\uDBB8\\uDC11', [\"new_moon\"], 5, 1, 63, 0],\n \"1f312\": [['\\uD83C\\uDF12'], \"\", \"\", [\"waxing_crescent_moon\"], 5, 2, 63, 0],\n \"1f313\": [['\\uD83C\\uDF13'], '\\uE04C', '\\uDBB8\\uDC13', [\"first_quarter_moon\"], 5, 3, 63, 0],\n \"1f314\": [['\\uD83C\\uDF14'], '\\uE04C', '\\uDBB8\\uDC12', [\"moon\", \"waxing_gibbous_moon\"], 5, 4, 63, 0],\n \"1f315\": [['\\uD83C\\uDF15'], \"\", '\\uDBB8\\uDC15', [\"full_moon\"], 5, 5, 63, 0],\n \"1f316\": [['\\uD83C\\uDF16'], \"\", \"\", [\"waning_gibbous_moon\"], 5, 6, 63, 0],\n \"1f317\": [['\\uD83C\\uDF17'], \"\", \"\", [\"last_quarter_moon\"], 5, 7, 63, 0],\n \"1f318\": [['\\uD83C\\uDF18'], \"\", \"\", [\"waning_crescent_moon\"], 5, 8, 63, 0],\n \"1f319\": [['\\uD83C\\uDF19'], '\\uE04C', '\\uDBB8\\uDC14', [\"crescent_moon\"], 5, 9, 63, 0],\n \"1f31a\": [['\\uD83C\\uDF1A'], \"\", \"\", [\"new_moon_with_face\"], 5, 10, 63, 0],\n \"1f31b\": [['\\uD83C\\uDF1B'], '\\uE04C', '\\uDBB8\\uDC16', [\"first_quarter_moon_with_face\"], 5, 11, 63, 0],\n \"1f31c\": [['\\uD83C\\uDF1C'], \"\", \"\", [\"last_quarter_moon_with_face\"], 5, 12, 63, 0],\n \"1f31d\": [['\\uD83C\\uDF1D'], \"\", \"\", [\"full_moon_with_face\"], 5, 13, 63, 0],\n \"1f31e\": [['\\uD83C\\uDF1E'], \"\", \"\", [\"sun_with_face\"], 5, 14, 63, 0],\n \"1f31f\": [['\\uD83C\\uDF1F'], '\\uE335', '\\uDBBA\\uDF69', [\"star2\"], 5, 15, 63, 0],\n \"1f320\": [['\\uD83C\\uDF20'], \"\", '\\uDBBA\\uDF6A', [\"stars\"], 5, 16, 63, 0],\n \"1f321\": [['\\uD83C\\uDF21'], \"\", \"\", [\"thermometer\"], 5, 17, 31, 0],\n \"1f324\": [['\\uD83C\\uDF24'], \"\", \"\", [\"mostly_sunny\", \"sun_small_cloud\"], 5, 18, 31, 0],\n \"1f325\": [['\\uD83C\\uDF25'], \"\", \"\", [\"barely_sunny\", \"sun_behind_cloud\"], 5, 19, 31, 0],\n \"1f326\": [['\\uD83C\\uDF26'], \"\", \"\", [\"partly_sunny_rain\", \"sun_behind_rain_cloud\"], 5, 20, 31, 0],\n \"1f327\": [['\\uD83C\\uDF27'], \"\", \"\", [\"rain_cloud\"], 5, 21, 31, 0],\n \"1f328\": [['\\uD83C\\uDF28'], \"\", \"\", [\"snow_cloud\"], 5, 22, 31, 0],\n \"1f329\": [['\\uD83C\\uDF29'], \"\", \"\", [\"lightning\", \"lightning_cloud\"], 5, 23, 31, 0],\n \"1f32a\": [['\\uD83C\\uDF2A'], \"\", \"\", [\"tornado\", \"tornado_cloud\"], 5, 24, 31, 0],\n \"1f32b\": [['\\uD83C\\uDF2B'], \"\", \"\", [\"fog\"], 5, 25, 31, 0],\n \"1f32c\": [['\\uD83C\\uDF2C'], \"\", \"\", [\"wind_blowing_face\"], 5, 26, 31, 0],\n \"1f32d\": [['\\uD83C\\uDF2D'], \"\", \"\", [\"hotdog\"], 5, 27, 31, 0],\n \"1f32e\": [['\\uD83C\\uDF2E'], \"\", \"\", [\"taco\"], 5, 28, 31, 0],\n \"1f32f\": [['\\uD83C\\uDF2F'], \"\", \"\", [\"burrito\"], 5, 29, 31, 0],\n \"1f330\": [['\\uD83C\\uDF30'], \"\", '\\uDBB8\\uDC4C', [\"chestnut\"], 5, 30, 63, 0],\n \"1f331\": [['\\uD83C\\uDF31'], '\\uE110', '\\uDBB8\\uDC3E', [\"seedling\"], 5, 31, 63, 0],\n \"1f332\": [['\\uD83C\\uDF32'], \"\", \"\", [\"evergreen_tree\"], 5, 32, 63, 0],\n \"1f333\": [['\\uD83C\\uDF33'], \"\", \"\", [\"deciduous_tree\"], 5, 33, 63, 0],\n \"1f334\": [['\\uD83C\\uDF34'], '\\uE307', '\\uDBB8\\uDC47', [\"palm_tree\"], 5, 34, 63, 0],\n \"1f335\": [['\\uD83C\\uDF35'], '\\uE308', '\\uDBB8\\uDC48', [\"cactus\"], 5, 35, 63, 0],\n \"1f336\": [['\\uD83C\\uDF36'], \"\", \"\", [\"hot_pepper\"], 5, 36, 31, 0],\n \"1f337\": [['\\uD83C\\uDF37'], '\\uE304', '\\uDBB8\\uDC3D', [\"tulip\"], 5, 37, 63, 0],\n \"1f338\": [['\\uD83C\\uDF38'], '\\uE030', '\\uDBB8\\uDC40', [\"cherry_blossom\"], 5, 38, 63, 0],\n \"1f339\": [['\\uD83C\\uDF39'], '\\uE032', '\\uDBB8\\uDC41', [\"rose\"], 5, 39, 63, 0],\n \"1f33a\": [['\\uD83C\\uDF3A'], '\\uE303', '\\uDBB8\\uDC45', [\"hibiscus\"], 5, 40, 63, 0],\n \"1f33b\": [['\\uD83C\\uDF3B'], '\\uE305', '\\uDBB8\\uDC46', [\"sunflower\"], 5, 41, 63, 0],\n \"1f33c\": [['\\uD83C\\uDF3C'], '\\uE305', '\\uDBB8\\uDC4D', [\"blossom\"], 5, 42, 63, 0],\n \"1f33d\": [['\\uD83C\\uDF3D'], \"\", '\\uDBB8\\uDC4A', [\"corn\"], 5, 43, 63, 0],\n \"1f33e\": [['\\uD83C\\uDF3E'], '\\uE444', '\\uDBB8\\uDC49', [\"ear_of_rice\"], 5, 44, 63, 0],\n \"1f33f\": [['\\uD83C\\uDF3F'], '\\uE110', '\\uDBB8\\uDC4E', [\"herb\"], 5, 45, 63, 0],\n \"1f340\": [['\\uD83C\\uDF40'], '\\uE110', '\\uDBB8\\uDC3C', [\"four_leaf_clover\"], 5, 46, 63, 0],\n \"1f341\": [['\\uD83C\\uDF41'], '\\uE118', '\\uDBB8\\uDC3F', [\"maple_leaf\"], 5, 47, 63, 0],\n \"1f342\": [['\\uD83C\\uDF42'], '\\uE119', '\\uDBB8\\uDC42', [\"fallen_leaf\"], 5, 48, 63, 0],\n \"1f343\": [['\\uD83C\\uDF43'], '\\uE447', '\\uDBB8\\uDC43', [\"leaves\"], 6, 0, 63, 0],\n \"1f344\": [['\\uD83C\\uDF44'], \"\", '\\uDBB8\\uDC4B', [\"mushroom\"], 6, 1, 63, 0],\n \"1f345\": [['\\uD83C\\uDF45'], '\\uE349', '\\uDBB8\\uDC55', [\"tomato\"], 6, 2, 63, 0],\n \"1f346\": [['\\uD83C\\uDF46'], '\\uE34A', '\\uDBB8\\uDC56', [\"eggplant\"], 6, 3, 63, 0],\n \"1f347\": [['\\uD83C\\uDF47'], \"\", '\\uDBB8\\uDC59', [\"grapes\"], 6, 4, 63, 0],\n \"1f348\": [['\\uD83C\\uDF48'], \"\", '\\uDBB8\\uDC57', [\"melon\"], 6, 5, 63, 0],\n \"1f349\": [['\\uD83C\\uDF49'], '\\uE348', '\\uDBB8\\uDC54', [\"watermelon\"], 6, 6, 63, 0],\n \"1f34a\": [['\\uD83C\\uDF4A'], '\\uE346', '\\uDBB8\\uDC52', [\"tangerine\"], 6, 7, 63, 0],\n \"1f34b\": [['\\uD83C\\uDF4B'], \"\", \"\", [\"lemon\"], 6, 8, 63, 0],\n \"1f34c\": [['\\uD83C\\uDF4C'], \"\", '\\uDBB8\\uDC50', [\"banana\"], 6, 9, 63, 0],\n \"1f34d\": [['\\uD83C\\uDF4D'], \"\", '\\uDBB8\\uDC58', [\"pineapple\"], 6, 10, 63, 0],\n \"1f34e\": [['\\uD83C\\uDF4E'], '\\uE345', '\\uDBB8\\uDC51', [\"apple\"], 6, 11, 63, 0],\n \"1f34f\": [['\\uD83C\\uDF4F'], '\\uE345', '\\uDBB8\\uDC5B', [\"green_apple\"], 6, 12, 63, 0],\n \"1f350\": [['\\uD83C\\uDF50'], \"\", \"\", [\"pear\"], 6, 13, 63, 0],\n \"1f351\": [['\\uD83C\\uDF51'], \"\", '\\uDBB8\\uDC5A', [\"peach\"], 6, 14, 63, 0],\n \"1f352\": [['\\uD83C\\uDF52'], \"\", '\\uDBB8\\uDC4F', [\"cherries\"], 6, 15, 63, 0],\n \"1f353\": [['\\uD83C\\uDF53'], '\\uE347', '\\uDBB8\\uDC53', [\"strawberry\"], 6, 16, 63, 0],\n \"1f354\": [['\\uD83C\\uDF54'], '\\uE120', '\\uDBBA\\uDD60', [\"hamburger\"], 6, 17, 63, 0],\n \"1f355\": [['\\uD83C\\uDF55'], \"\", '\\uDBBA\\uDD75', [\"pizza\"], 6, 18, 63, 0],\n \"1f356\": [['\\uD83C\\uDF56'], \"\", '\\uDBBA\\uDD72', [\"meat_on_bone\"], 6, 19, 63, 0],\n \"1f357\": [['\\uD83C\\uDF57'], \"\", '\\uDBBA\\uDD76', [\"poultry_leg\"], 6, 20, 63, 0],\n \"1f358\": [['\\uD83C\\uDF58'], '\\uE33D', '\\uDBBA\\uDD69', [\"rice_cracker\"], 6, 21, 63, 0],\n \"1f359\": [['\\uD83C\\uDF59'], '\\uE342', '\\uDBBA\\uDD61', [\"rice_ball\"], 6, 22, 63, 0],\n \"1f35a\": [['\\uD83C\\uDF5A'], '\\uE33E', '\\uDBBA\\uDD6A', [\"rice\"], 6, 23, 63, 0],\n \"1f35b\": [['\\uD83C\\uDF5B'], '\\uE341', '\\uDBBA\\uDD6C', [\"curry\"], 6, 24, 63, 0],\n \"1f35c\": [['\\uD83C\\uDF5C'], '\\uE340', '\\uDBBA\\uDD63', [\"ramen\"], 6, 25, 63, 0],\n \"1f35d\": [['\\uD83C\\uDF5D'], '\\uE33F', '\\uDBBA\\uDD6B', [\"spaghetti\"], 6, 26, 63, 0],\n \"1f35e\": [['\\uD83C\\uDF5E'], '\\uE339', '\\uDBBA\\uDD64', [\"bread\"], 6, 27, 63, 0],\n \"1f35f\": [['\\uD83C\\uDF5F'], '\\uE33B', '\\uDBBA\\uDD67', [\"fries\"], 6, 28, 63, 0],\n \"1f360\": [['\\uD83C\\uDF60'], \"\", '\\uDBBA\\uDD74', [\"sweet_potato\"], 6, 29, 63, 0],\n \"1f361\": [['\\uD83C\\uDF61'], '\\uE33C', '\\uDBBA\\uDD68', [\"dango\"], 6, 30, 63, 0],\n \"1f362\": [['\\uD83C\\uDF62'], '\\uE343', '\\uDBBA\\uDD6D', [\"oden\"], 6, 31, 63, 0],\n \"1f363\": [['\\uD83C\\uDF63'], '\\uE344', '\\uDBBA\\uDD6E', [\"sushi\"], 6, 32, 63, 0],\n \"1f364\": [['\\uD83C\\uDF64'], \"\", '\\uDBBA\\uDD7F', [\"fried_shrimp\"], 6, 33, 63, 0],\n \"1f365\": [['\\uD83C\\uDF65'], \"\", '\\uDBBA\\uDD73', [\"fish_cake\"], 6, 34, 63, 0],\n \"1f366\": [['\\uD83C\\uDF66'], '\\uE33A', '\\uDBBA\\uDD66', [\"icecream\"], 6, 35, 63, 0],\n \"1f367\": [['\\uD83C\\uDF67'], '\\uE43F', '\\uDBBA\\uDD71', [\"shaved_ice\"], 6, 36, 63, 0],\n \"1f368\": [['\\uD83C\\uDF68'], \"\", '\\uDBBA\\uDD77', [\"ice_cream\"], 6, 37, 63, 0],\n \"1f369\": [['\\uD83C\\uDF69'], \"\", '\\uDBBA\\uDD78', [\"doughnut\"], 6, 38, 63, 0],\n \"1f36a\": [['\\uD83C\\uDF6A'], \"\", '\\uDBBA\\uDD79', [\"cookie\"], 6, 39, 63, 0],\n \"1f36b\": [['\\uD83C\\uDF6B'], \"\", '\\uDBBA\\uDD7A', [\"chocolate_bar\"], 6, 40, 63, 0],\n \"1f36c\": [['\\uD83C\\uDF6C'], \"\", '\\uDBBA\\uDD7B', [\"candy\"], 6, 41, 63, 0],\n \"1f36d\": [['\\uD83C\\uDF6D'], \"\", '\\uDBBA\\uDD7C', [\"lollipop\"], 6, 42, 63, 0],\n \"1f36e\": [['\\uD83C\\uDF6E'], \"\", '\\uDBBA\\uDD7D', [\"custard\"], 6, 43, 63, 0],\n \"1f36f\": [['\\uD83C\\uDF6F'], \"\", '\\uDBBA\\uDD7E', [\"honey_pot\"], 6, 44, 63, 0],\n \"1f370\": [['\\uD83C\\uDF70'], '\\uE046', '\\uDBBA\\uDD62', [\"cake\"], 6, 45, 63, 0],\n \"1f371\": [['\\uD83C\\uDF71'], '\\uE34C', '\\uDBBA\\uDD6F', [\"bento\"], 6, 46, 63, 0],\n \"1f372\": [['\\uD83C\\uDF72'], '\\uE34D', '\\uDBBA\\uDD70', [\"stew\"], 6, 47, 63, 0],\n \"1f373\": [['\\uD83C\\uDF73'], '\\uE147', '\\uDBBA\\uDD65', [\"fried_egg\", \"cooking\"], 6, 48, 63, 0],\n \"1f374\": [['\\uD83C\\uDF74'], '\\uE043', '\\uDBBA\\uDD80', [\"fork_and_knife\"], 7, 0, 63, 0],\n \"1f375\": [['\\uD83C\\uDF75'], '\\uE338', '\\uDBBA\\uDD84', [\"tea\"], 7, 1, 63, 0],\n \"1f376\": [['\\uD83C\\uDF76'], '\\uE30B', '\\uDBBA\\uDD85', [\"sake\"], 7, 2, 63, 0],\n \"1f377\": [['\\uD83C\\uDF77'], '\\uE044', '\\uDBBA\\uDD86', [\"wine_glass\"], 7, 3, 63, 0],\n \"1f378\": [['\\uD83C\\uDF78'], '\\uE044', '\\uDBBA\\uDD82', [\"cocktail\"], 7, 4, 63, 0],\n \"1f379\": [['\\uD83C\\uDF79'], '\\uE044', '\\uDBBA\\uDD88', [\"tropical_drink\"], 7, 5, 63, 0],\n \"1f37a\": [['\\uD83C\\uDF7A'], '\\uE047', '\\uDBBA\\uDD83', [\"beer\"], 7, 6, 63, 0],\n \"1f37b\": [['\\uD83C\\uDF7B'], '\\uE30C', '\\uDBBA\\uDD87', [\"beers\"], 7, 7, 63, 0],\n \"1f37c\": [['\\uD83C\\uDF7C'], \"\", \"\", [\"baby_bottle\"], 7, 8, 63, 0],\n \"1f37d\": [['\\uD83C\\uDF7D'], \"\", \"\", [\"knife_fork_plate\"], 7, 9, 31, 0],\n \"1f37e\": [['\\uD83C\\uDF7E'], \"\", \"\", [\"champagne\"], 7, 10, 31, 0],\n \"1f37f\": [['\\uD83C\\uDF7F'], \"\", \"\", [\"popcorn\"], 7, 11, 31, 0],\n \"1f380\": [['\\uD83C\\uDF80'], '\\uE314', '\\uDBB9\\uDD0F', [\"ribbon\"], 7, 12, 63, 0],\n \"1f381\": [['\\uD83C\\uDF81'], '\\uE112', '\\uDBB9\\uDD10', [\"gift\"], 7, 13, 63, 0],\n \"1f382\": [['\\uD83C\\uDF82'], '\\uE34B', '\\uDBB9\\uDD11', [\"birthday\"], 7, 14, 63, 0],\n \"1f383\": [['\\uD83C\\uDF83'], '\\uE445', '\\uDBB9\\uDD1F', [\"jack_o_lantern\"], 7, 15, 63, 0],\n \"1f384\": [['\\uD83C\\uDF84'], '\\uE033', '\\uDBB9\\uDD12', [\"christmas_tree\"], 7, 16, 63, 0],\n \"1f385\": [['\\uD83C\\uDF85'], '\\uE448', '\\uDBB9\\uDD13', [\"santa\"], 7, 17, 63, 0],\n \"1f386\": [['\\uD83C\\uDF86'], '\\uE117', '\\uDBB9\\uDD15', [\"fireworks\"], 7, 23, 63, 0],\n \"1f387\": [['\\uD83C\\uDF87'], '\\uE440', '\\uDBB9\\uDD1D', [\"sparkler\"], 7, 24, 63, 0],\n \"1f388\": [['\\uD83C\\uDF88'], '\\uE310', '\\uDBB9\\uDD16', [\"balloon\"], 7, 25, 63, 0],\n \"1f389\": [['\\uD83C\\uDF89'], '\\uE312', '\\uDBB9\\uDD17', [\"tada\"], 7, 26, 63, 0],\n \"1f38a\": [['\\uD83C\\uDF8A'], \"\", '\\uDBB9\\uDD20', [\"confetti_ball\"], 7, 27, 63, 0],\n \"1f38b\": [['\\uD83C\\uDF8B'], \"\", '\\uDBB9\\uDD21', [\"tanabata_tree\"], 7, 28, 63, 0],\n \"1f38c\": [['\\uD83C\\uDF8C'], '\\uE143', '\\uDBB9\\uDD14', [\"crossed_flags\"], 7, 29, 63, 0],\n \"1f38d\": [['\\uD83C\\uDF8D'], '\\uE436', '\\uDBB9\\uDD18', [\"bamboo\"], 7, 30, 63, 0],\n \"1f38e\": [['\\uD83C\\uDF8E'], '\\uE438', '\\uDBB9\\uDD19', [\"dolls\"], 7, 31, 63, 0],\n \"1f38f\": [['\\uD83C\\uDF8F'], '\\uE43B', '\\uDBB9\\uDD1C', [\"flags\"], 7, 32, 63, 0],\n \"1f390\": [['\\uD83C\\uDF90'], '\\uE442', '\\uDBB9\\uDD1E', [\"wind_chime\"], 7, 33, 63, 0],\n \"1f391\": [['\\uD83C\\uDF91'], '\\uE446', '\\uDBB8\\uDC17', [\"rice_scene\"], 7, 34, 63, 0],\n \"1f392\": [['\\uD83C\\uDF92'], '\\uE43A', '\\uDBB9\\uDD1B', [\"school_satchel\"], 7, 35, 63, 0],\n \"1f393\": [['\\uD83C\\uDF93'], '\\uE439', '\\uDBB9\\uDD1A', [\"mortar_board\"], 7, 36, 63, 0],\n \"1f396\": [['\\uD83C\\uDF96'], \"\", \"\", [\"medal\"], 7, 37, 31, 0],\n \"1f397\": [['\\uD83C\\uDF97'], \"\", \"\", [\"reminder_ribbon\"], 7, 38, 31, 0],\n \"1f399\": [['\\uD83C\\uDF99'], \"\", \"\", [\"studio_microphone\"], 7, 39, 31, 0],\n \"1f39a\": [['\\uD83C\\uDF9A'], \"\", \"\", [\"level_slider\"], 7, 40, 31, 0],\n \"1f39b\": [['\\uD83C\\uDF9B'], \"\", \"\", [\"control_knobs\"], 7, 41, 31, 0],\n \"1f39e\": [['\\uD83C\\uDF9E'], \"\", \"\", [\"film_frames\"], 7, 42, 31, 0],\n \"1f39f\": [['\\uD83C\\uDF9F'], \"\", \"\", [\"admission_tickets\"], 7, 43, 31, 0],\n \"1f3a0\": [['\\uD83C\\uDFA0'], \"\", '\\uDBB9\\uDFFC', [\"carousel_horse\"], 7, 44, 63, 0],\n \"1f3a1\": [['\\uD83C\\uDFA1'], '\\uE124', '\\uDBB9\\uDFFD', [\"ferris_wheel\"], 7, 45, 63, 0],\n \"1f3a2\": [['\\uD83C\\uDFA2'], '\\uE433', '\\uDBB9\\uDFFE', [\"roller_coaster\"], 7, 46, 63, 0],\n \"1f3a3\": [['\\uD83C\\uDFA3'], '\\uE019', '\\uDBB9\\uDFFF', [\"fishing_pole_and_fish\"], 7, 47, 63, 0],\n \"1f3a4\": [['\\uD83C\\uDFA4'], '\\uE03C', '\\uDBBA\\uDC00', [\"microphone\"], 7, 48, 63, 0],\n \"1f3a5\": [['\\uD83C\\uDFA5'], '\\uE03D', '\\uDBBA\\uDC01', [\"movie_camera\"], 8, 0, 63, 0],\n \"1f3a6\": [['\\uD83C\\uDFA6'], '\\uE507', '\\uDBBA\\uDC02', [\"cinema\"], 8, 1, 63, 0],\n \"1f3a7\": [['\\uD83C\\uDFA7'], '\\uE30A', '\\uDBBA\\uDC03', [\"headphones\"], 8, 2, 63, 0],\n \"1f3a8\": [['\\uD83C\\uDFA8'], '\\uE502', '\\uDBBA\\uDC04', [\"art\"], 8, 3, 63, 0],\n \"1f3a9\": [['\\uD83C\\uDFA9'], '\\uE503', '\\uDBBA\\uDC05', [\"tophat\"], 8, 4, 63, 0],\n \"1f3aa\": [['\\uD83C\\uDFAA'], \"\", '\\uDBBA\\uDC06', [\"circus_tent\"], 8, 5, 63, 0],\n \"1f3ab\": [['\\uD83C\\uDFAB'], '\\uE125', '\\uDBBA\\uDC07', [\"ticket\"], 8, 6, 63, 0],\n \"1f3ac\": [['\\uD83C\\uDFAC'], '\\uE324', '\\uDBBA\\uDC08', [\"clapper\"], 8, 7, 63, 0],\n \"1f3ad\": [['\\uD83C\\uDFAD'], '\\uE503', '\\uDBBA\\uDC09', [\"performing_arts\"], 8, 8, 63, 0],\n \"1f3ae\": [['\\uD83C\\uDFAE'], \"\", '\\uDBBA\\uDC0A', [\"video_game\"], 8, 9, 63, 0],\n \"1f3af\": [['\\uD83C\\uDFAF'], '\\uE130', '\\uDBBA\\uDC0C', [\"dart\"], 8, 10, 63, 0],\n \"1f3b0\": [['\\uD83C\\uDFB0'], '\\uE133', '\\uDBBA\\uDC0D', [\"slot_machine\"], 8, 11, 63, 0],\n \"1f3b1\": [['\\uD83C\\uDFB1'], '\\uE42C', '\\uDBBA\\uDC0E', [\"8ball\"], 8, 12, 63, 0],\n \"1f3b2\": [['\\uD83C\\uDFB2'], \"\", '\\uDBBA\\uDC0F', [\"game_die\"], 8, 13, 63, 0],\n \"1f3b3\": [['\\uD83C\\uDFB3'], \"\", '\\uDBBA\\uDC10', [\"bowling\"], 8, 14, 63, 0],\n \"1f3b4\": [['\\uD83C\\uDFB4'], \"\", '\\uDBBA\\uDC11', [\"flower_playing_cards\"], 8, 15, 63, 0],\n \"1f3b5\": [['\\uD83C\\uDFB5'], '\\uE03E', '\\uDBBA\\uDC13', [\"musical_note\"], 8, 16, 63, 0],\n \"1f3b6\": [['\\uD83C\\uDFB6'], '\\uE326', '\\uDBBA\\uDC14', [\"notes\"], 8, 17, 63, 0],\n \"1f3b7\": [['\\uD83C\\uDFB7'], '\\uE040', '\\uDBBA\\uDC15', [\"saxophone\"], 8, 18, 63, 0],\n \"1f3b8\": [['\\uD83C\\uDFB8'], '\\uE041', '\\uDBBA\\uDC16', [\"guitar\"], 8, 19, 63, 0],\n \"1f3b9\": [['\\uD83C\\uDFB9'], \"\", '\\uDBBA\\uDC17', [\"musical_keyboard\"], 8, 20, 63, 0],\n \"1f3ba\": [['\\uD83C\\uDFBA'], '\\uE042', '\\uDBBA\\uDC18', [\"trumpet\"], 8, 21, 63, 0],\n \"1f3bb\": [['\\uD83C\\uDFBB'], \"\", '\\uDBBA\\uDC19', [\"violin\"], 8, 22, 63, 0],\n \"1f3bc\": [['\\uD83C\\uDFBC'], '\\uE326', '\\uDBBA\\uDC1A', [\"musical_score\"], 8, 23, 63, 0],\n \"1f3bd\": [['\\uD83C\\uDFBD'], \"\", '\\uDBB9\\uDFD0', [\"running_shirt_with_sash\"], 8, 24, 63, 0],\n \"1f3be\": [['\\uD83C\\uDFBE'], '\\uE015', '\\uDBB9\\uDFD3', [\"tennis\"], 8, 25, 63, 0],\n \"1f3bf\": [['\\uD83C\\uDFBF'], '\\uE013', '\\uDBB9\\uDFD5', [\"ski\"], 8, 26, 63, 0],\n \"1f3c0\": [['\\uD83C\\uDFC0'], '\\uE42A', '\\uDBB9\\uDFD6', [\"basketball\"], 8, 27, 63, 0],\n \"1f3c1\": [['\\uD83C\\uDFC1'], '\\uE132', '\\uDBB9\\uDFD7', [\"checkered_flag\"], 8, 28, 63, 0],\n \"1f3c2\": [['\\uD83C\\uDFC2'], \"\", '\\uDBB9\\uDFD8', [\"snowboarder\"], 8, 29, 63, 0],\n \"1f3c5\": [['\\uD83C\\uDFC5'], \"\", \"\", [\"sports_medal\"], 8, 47, 31, 0],\n \"1f3c6\": [['\\uD83C\\uDFC6'], '\\uE131', '\\uDBB9\\uDFDB', [\"trophy\"], 8, 48, 63, 0],\n \"1f3c7\": [['\\uD83C\\uDFC7'], \"\", \"\", [\"horse_racing\"], 9, 0, 63, 0],\n \"1f3c8\": [['\\uD83C\\uDFC8'], '\\uE42B', '\\uDBB9\\uDFDD', [\"football\"], 9, 6, 63, 0],\n \"1f3c9\": [['\\uD83C\\uDFC9'], \"\", \"\", [\"rugby_football\"], 9, 7, 63, 0],\n \"1f3cd\": [['\\uD83C\\uDFCD'], \"\", \"\", [\"racing_motorcycle\"], 9, 26, 31, 0],\n \"1f3ce\": [['\\uD83C\\uDFCE'], \"\", \"\", [\"racing_car\"], 9, 27, 31, 0],\n \"1f3cf\": [['\\uD83C\\uDFCF'], \"\", \"\", [\"cricket_bat_and_ball\"], 9, 28, 31, 0],\n \"1f3d0\": [['\\uD83C\\uDFD0'], \"\", \"\", [\"volleyball\"], 9, 29, 31, 0],\n \"1f3d1\": [['\\uD83C\\uDFD1'], \"\", \"\", [\"field_hockey_stick_and_ball\"], 9, 30, 31, 0],\n \"1f3d2\": [['\\uD83C\\uDFD2'], \"\", \"\", [\"ice_hockey_stick_and_puck\"], 9, 31, 31, 0],\n \"1f3d3\": [['\\uD83C\\uDFD3'], \"\", \"\", [\"table_tennis_paddle_and_ball\"], 9, 32, 31, 0],\n \"1f3d4\": [['\\uD83C\\uDFD4'], \"\", \"\", [\"snow_capped_mountain\"], 9, 33, 31, 0],\n \"1f3d5\": [['\\uD83C\\uDFD5'], \"\", \"\", [\"camping\"], 9, 34, 31, 0],\n \"1f3d6\": [['\\uD83C\\uDFD6'], \"\", \"\", [\"beach_with_umbrella\"], 9, 35, 31, 0],\n \"1f3d7\": [['\\uD83C\\uDFD7'], \"\", \"\", [\"building_construction\"], 9, 36, 31, 0],\n \"1f3d8\": [['\\uD83C\\uDFD8'], \"\", \"\", [\"house_buildings\"], 9, 37, 31, 0],\n \"1f3d9\": [['\\uD83C\\uDFD9'], \"\", \"\", [\"cityscape\"], 9, 38, 31, 0],\n \"1f3da\": [['\\uD83C\\uDFDA'], \"\", \"\", [\"derelict_house_building\"], 9, 39, 31, 0],\n \"1f3db\": [['\\uD83C\\uDFDB'], \"\", \"\", [\"classical_building\"], 9, 40, 31, 0],\n \"1f3dc\": [['\\uD83C\\uDFDC'], \"\", \"\", [\"desert\"], 9, 41, 31, 0],\n \"1f3dd\": [['\\uD83C\\uDFDD'], \"\", \"\", [\"desert_island\"], 9, 42, 31, 0],\n \"1f3de\": [['\\uD83C\\uDFDE'], \"\", \"\", [\"national_park\"], 9, 43, 31, 0],\n \"1f3df\": [['\\uD83C\\uDFDF'], \"\", \"\", [\"stadium\"], 9, 44, 31, 0],\n \"1f3e0\": [['\\uD83C\\uDFE0'], '\\uE036', '\\uDBB9\\uDCB0', [\"house\"], 9, 45, 63, 0],\n \"1f3e1\": [['\\uD83C\\uDFE1'], '\\uE036', '\\uDBB9\\uDCB1', [\"house_with_garden\"], 9, 46, 63, 0],\n \"1f3e2\": [['\\uD83C\\uDFE2'], '\\uE038', '\\uDBB9\\uDCB2', [\"office\"], 9, 47, 63, 0],\n \"1f3e3\": [['\\uD83C\\uDFE3'], '\\uE153', '\\uDBB9\\uDCB3', [\"post_office\"], 9, 48, 63, 0],\n \"1f3e4\": [['\\uD83C\\uDFE4'], \"\", \"\", [\"european_post_office\"], 10, 0, 63, 0],\n \"1f3e5\": [['\\uD83C\\uDFE5'], '\\uE155', '\\uDBB9\\uDCB4', [\"hospital\"], 10, 1, 63, 0],\n \"1f3e6\": [['\\uD83C\\uDFE6'], '\\uE14D', '\\uDBB9\\uDCB5', [\"bank\"], 10, 2, 63, 0],\n \"1f3e7\": [['\\uD83C\\uDFE7'], '\\uE154', '\\uDBB9\\uDCB6', [\"atm\"], 10, 3, 63, 0],\n \"1f3e8\": [['\\uD83C\\uDFE8'], '\\uE158', '\\uDBB9\\uDCB7', [\"hotel\"], 10, 4, 63, 0],\n \"1f3e9\": [['\\uD83C\\uDFE9'], '\\uE501', '\\uDBB9\\uDCB8', [\"love_hotel\"], 10, 5, 63, 0],\n \"1f3ea\": [['\\uD83C\\uDFEA'], '\\uE156', '\\uDBB9\\uDCB9', [\"convenience_store\"], 10, 6, 63, 0],\n \"1f3eb\": [['\\uD83C\\uDFEB'], '\\uE157', '\\uDBB9\\uDCBA', [\"school\"], 10, 7, 63, 0],\n \"1f3ec\": [['\\uD83C\\uDFEC'], '\\uE504', '\\uDBB9\\uDCBD', [\"department_store\"], 10, 8, 63, 0],\n \"1f3ed\": [['\\uD83C\\uDFED'], '\\uE508', '\\uDBB9\\uDCC0', [\"factory\"], 10, 9, 63, 0],\n \"1f3ee\": [['\\uD83C\\uDFEE'], '\\uE30B', '\\uDBB9\\uDCC2', [\"izakaya_lantern\", \"lantern\"], 10, 10, 63, 0],\n \"1f3ef\": [['\\uD83C\\uDFEF'], '\\uE505', '\\uDBB9\\uDCBE', [\"japanese_castle\"], 10, 11, 63, 0],\n \"1f3f0\": [['\\uD83C\\uDFF0'], '\\uE506', '\\uDBB9\\uDCBF', [\"european_castle\"], 10, 12, 63, 0],\n \"1f3f3\": [['\\uD83C\\uDFF3\\uFE0F', '\\uD83C\\uDFF3'], \"\", \"\", [\"waving_white_flag\"], 10, 13, 31, 0],\n \"1f3f4\": [['\\uD83C\\uDFF4'], \"\", \"\", [\"waving_black_flag\"], 10, 14, 31, 0],\n \"1f3f5\": [['\\uD83C\\uDFF5'], \"\", \"\", [\"rosette\"], 10, 15, 31, 0],\n \"1f3f7\": [['\\uD83C\\uDFF7'], \"\", \"\", [\"label\"], 10, 16, 31, 0],\n \"1f3f8\": [['\\uD83C\\uDFF8'], \"\", \"\", [\"badminton_racquet_and_shuttlecock\"], 10, 17, 31, 0],\n \"1f3f9\": [['\\uD83C\\uDFF9'], \"\", \"\", [\"bow_and_arrow\"], 10, 18, 31, 0],\n \"1f3fa\": [['\\uD83C\\uDFFA'], \"\", \"\", [\"amphora\"], 10, 19, 31, 0],\n \"1f3fb\": [['\\uD83C\\uDFFB'], \"\", \"\", [\"skin-tone-2\"], 10, 20, 31, 0],\n \"1f3fc\": [['\\uD83C\\uDFFC'], \"\", \"\", [\"skin-tone-3\"], 10, 21, 31, 0],\n \"1f3fd\": [['\\uD83C\\uDFFD'], \"\", \"\", [\"skin-tone-4\"], 10, 22, 31, 0],\n \"1f3fe\": [['\\uD83C\\uDFFE'], \"\", \"\", [\"skin-tone-5\"], 10, 23, 31, 0],\n \"1f3ff\": [['\\uD83C\\uDFFF'], \"\", \"\", [\"skin-tone-6\"], 10, 24, 31, 0],\n \"1f400\": [['\\uD83D\\uDC00'], \"\", \"\", [\"rat\"], 10, 25, 63, 0],\n \"1f401\": [['\\uD83D\\uDC01'], \"\", \"\", [\"mouse2\"], 10, 26, 63, 0],\n \"1f402\": [['\\uD83D\\uDC02'], \"\", \"\", [\"ox\"], 10, 27, 63, 0],\n \"1f403\": [['\\uD83D\\uDC03'], \"\", \"\", [\"water_buffalo\"], 10, 28, 63, 0],\n \"1f404\": [['\\uD83D\\uDC04'], \"\", \"\", [\"cow2\"], 10, 29, 63, 0],\n \"1f405\": [['\\uD83D\\uDC05'], \"\", \"\", [\"tiger2\"], 10, 30, 63, 0],\n \"1f406\": [['\\uD83D\\uDC06'], \"\", \"\", [\"leopard\"], 10, 31, 63, 0],\n \"1f407\": [['\\uD83D\\uDC07'], \"\", \"\", [\"rabbit2\"], 10, 32, 63, 0],\n \"1f408\": [['\\uD83D\\uDC08'], \"\", \"\", [\"cat2\"], 10, 33, 63, 0],\n \"1f409\": [['\\uD83D\\uDC09'], \"\", \"\", [\"dragon\"], 10, 34, 63, 0],\n \"1f40a\": [['\\uD83D\\uDC0A'], \"\", \"\", [\"crocodile\"], 10, 35, 63, 0],\n \"1f40b\": [['\\uD83D\\uDC0B'], \"\", \"\", [\"whale2\"], 10, 36, 63, 0],\n \"1f40c\": [['\\uD83D\\uDC0C'], \"\", '\\uDBB8\\uDDB9', [\"snail\"], 10, 37, 63, 0],\n \"1f40d\": [['\\uD83D\\uDC0D'], '\\uE52D', '\\uDBB8\\uDDD3', [\"snake\"], 10, 38, 63, 0],\n \"1f40e\": [['\\uD83D\\uDC0E'], '\\uE134', '\\uDBB9\\uDFDC', [\"racehorse\"], 10, 39, 63, 0],\n \"1f40f\": [['\\uD83D\\uDC0F'], \"\", \"\", [\"ram\"], 10, 40, 63, 0],\n \"1f410\": [['\\uD83D\\uDC10'], \"\", \"\", [\"goat\"], 10, 41, 63, 0],\n \"1f411\": [['\\uD83D\\uDC11'], '\\uE529', '\\uDBB8\\uDDCF', [\"sheep\"], 10, 42, 63, 0],\n \"1f412\": [['\\uD83D\\uDC12'], '\\uE528', '\\uDBB8\\uDDCE', [\"monkey\"], 10, 43, 63, 0],\n \"1f413\": [['\\uD83D\\uDC13'], \"\", \"\", [\"rooster\"], 10, 44, 63, 0],\n \"1f414\": [['\\uD83D\\uDC14'], '\\uE52E', '\\uDBB8\\uDDD4', [\"chicken\"], 10, 45, 63, 0],\n \"1f415\": [['\\uD83D\\uDC15'], \"\", \"\", [\"dog2\"], 10, 46, 63, 0],\n \"1f416\": [['\\uD83D\\uDC16'], \"\", \"\", [\"pig2\"], 10, 47, 63, 0],\n \"1f417\": [['\\uD83D\\uDC17'], '\\uE52F', '\\uDBB8\\uDDD5', [\"boar\"], 10, 48, 63, 0],\n \"1f418\": [['\\uD83D\\uDC18'], '\\uE526', '\\uDBB8\\uDDCC', [\"elephant\"], 11, 0, 63, 0],\n \"1f419\": [['\\uD83D\\uDC19'], '\\uE10A', '\\uDBB8\\uDDC5', [\"octopus\"], 11, 1, 63, 0],\n \"1f41a\": [['\\uD83D\\uDC1A'], '\\uE441', '\\uDBB8\\uDDC6', [\"shell\"], 11, 2, 63, 0],\n \"1f41b\": [['\\uD83D\\uDC1B'], '\\uE525', '\\uDBB8\\uDDCB', [\"bug\"], 11, 3, 63, 0],\n \"1f41c\": [['\\uD83D\\uDC1C'], \"\", '\\uDBB8\\uDDDA', [\"ant\"], 11, 4, 63, 0],\n \"1f41d\": [['\\uD83D\\uDC1D'], \"\", '\\uDBB8\\uDDE1', [\"bee\", \"honeybee\"], 11, 5, 63, 0],\n \"1f41e\": [['\\uD83D\\uDC1E'], \"\", '\\uDBB8\\uDDE2', [\"beetle\"], 11, 6, 63, 0],\n \"1f41f\": [['\\uD83D\\uDC1F'], '\\uE019', '\\uDBB8\\uDDBD', [\"fish\"], 11, 7, 63, 0],\n \"1f420\": [['\\uD83D\\uDC20'], '\\uE522', '\\uDBB8\\uDDC9', [\"tropical_fish\"], 11, 8, 63, 0],\n \"1f421\": [['\\uD83D\\uDC21'], '\\uE019', '\\uDBB8\\uDDD9', [\"blowfish\"], 11, 9, 63, 0],\n \"1f422\": [['\\uD83D\\uDC22'], \"\", '\\uDBB8\\uDDDC', [\"turtle\"], 11, 10, 63, 0],\n \"1f423\": [['\\uD83D\\uDC23'], '\\uE523', '\\uDBB8\\uDDDD', [\"hatching_chick\"], 11, 11, 63, 0],\n \"1f424\": [['\\uD83D\\uDC24'], '\\uE523', '\\uDBB8\\uDDBA', [\"baby_chick\"], 11, 12, 63, 0],\n \"1f425\": [['\\uD83D\\uDC25'], '\\uE523', '\\uDBB8\\uDDBB', [\"hatched_chick\"], 11, 13, 63, 0],\n \"1f426\": [['\\uD83D\\uDC26'], '\\uE521', '\\uDBB8\\uDDC8', [\"bird\"], 11, 14, 63, 0],\n \"1f427\": [['\\uD83D\\uDC27'], '\\uE055', '\\uDBB8\\uDDBC', [\"penguin\"], 11, 15, 63, 0],\n \"1f428\": [['\\uD83D\\uDC28'], '\\uE527', '\\uDBB8\\uDDCD', [\"koala\"], 11, 16, 63, 0],\n \"1f429\": [['\\uD83D\\uDC29'], '\\uE052', '\\uDBB8\\uDDD8', [\"poodle\"], 11, 17, 63, 0],\n \"1f42a\": [['\\uD83D\\uDC2A'], \"\", \"\", [\"dromedary_camel\"], 11, 18, 63, 0],\n \"1f42b\": [['\\uD83D\\uDC2B'], '\\uE530', '\\uDBB8\\uDDD6', [\"camel\"], 11, 19, 63, 0],\n \"1f42c\": [['\\uD83D\\uDC2C'], '\\uE520', '\\uDBB8\\uDDC7', [\"dolphin\", \"flipper\"], 11, 20, 63, 0],\n \"1f42d\": [['\\uD83D\\uDC2D'], '\\uE053', '\\uDBB8\\uDDC2', [\"mouse\"], 11, 21, 63, 0],\n \"1f42e\": [['\\uD83D\\uDC2E'], '\\uE52B', '\\uDBB8\\uDDD1', [\"cow\"], 11, 22, 63, 0],\n \"1f42f\": [['\\uD83D\\uDC2F'], '\\uE050', '\\uDBB8\\uDDC0', [\"tiger\"], 11, 23, 63, 0],\n \"1f430\": [['\\uD83D\\uDC30'], '\\uE52C', '\\uDBB8\\uDDD2', [\"rabbit\"], 11, 24, 63, 0],\n \"1f431\": [['\\uD83D\\uDC31'], '\\uE04F', '\\uDBB8\\uDDB8', [\"cat\"], 11, 25, 63, 0],\n \"1f432\": [['\\uD83D\\uDC32'], \"\", '\\uDBB8\\uDDDE', [\"dragon_face\"], 11, 26, 63, 0],\n \"1f433\": [['\\uD83D\\uDC33'], '\\uE054', '\\uDBB8\\uDDC3', [\"whale\"], 11, 27, 63, 0],\n \"1f434\": [['\\uD83D\\uDC34'], '\\uE01A', '\\uDBB8\\uDDBE', [\"horse\"], 11, 28, 63, 0],\n \"1f435\": [['\\uD83D\\uDC35'], '\\uE109', '\\uDBB8\\uDDC4', [\"monkey_face\"], 11, 29, 63, 0],\n \"1f436\": [['\\uD83D\\uDC36'], '\\uE052', '\\uDBB8\\uDDB7', [\"dog\"], 11, 30, 63, 0],\n \"1f437\": [['\\uD83D\\uDC37'], '\\uE10B', '\\uDBB8\\uDDBF', [\"pig\"], 11, 31, 63, 0],\n \"1f438\": [['\\uD83D\\uDC38'], '\\uE531', '\\uDBB8\\uDDD7', [\"frog\"], 11, 32, 63, 0],\n \"1f439\": [['\\uD83D\\uDC39'], '\\uE524', '\\uDBB8\\uDDCA', [\"hamster\"], 11, 33, 63, 0],\n \"1f43a\": [['\\uD83D\\uDC3A'], '\\uE52A', '\\uDBB8\\uDDD0', [\"wolf\"], 11, 34, 63, 0],\n \"1f43b\": [['\\uD83D\\uDC3B'], '\\uE051', '\\uDBB8\\uDDC1', [\"bear\"], 11, 35, 63, 0],\n \"1f43c\": [['\\uD83D\\uDC3C'], \"\", '\\uDBB8\\uDDDF', [\"panda_face\"], 11, 36, 63, 0],\n \"1f43d\": [['\\uD83D\\uDC3D'], '\\uE10B', '\\uDBB8\\uDDE0', [\"pig_nose\"], 11, 37, 63, 0],\n \"1f43e\": [['\\uD83D\\uDC3E'], '\\uE536', '\\uDBB8\\uDDDB', [\"feet\", \"paw_prints\"], 11, 38, 63, 0],\n \"1f43f\": [['\\uD83D\\uDC3F'], \"\", \"\", [\"chipmunk\"], 11, 39, 31, 0],\n \"1f440\": [['\\uD83D\\uDC40'], '\\uE419', '\\uDBB8\\uDD90', [\"eyes\"], 11, 40, 63, 0],\n \"1f441\": [['\\uD83D\\uDC41'], \"\", \"\", [\"eye\"], 11, 41, 31, 0],\n \"1f442\": [['\\uD83D\\uDC42'], '\\uE41B', '\\uDBB8\\uDD91', [\"ear\"], 11, 42, 63, 0],\n \"1f443\": [['\\uD83D\\uDC43'], '\\uE41A', '\\uDBB8\\uDD92', [\"nose\"], 11, 48, 63, 0],\n \"1f444\": [['\\uD83D\\uDC44'], '\\uE41C', '\\uDBB8\\uDD93', [\"lips\"], 12, 5, 63, 0],\n \"1f445\": [['\\uD83D\\uDC45'], '\\uE409', '\\uDBB8\\uDD94', [\"tongue\"], 12, 6, 63, 0],\n \"1f446\": [['\\uD83D\\uDC46'], '\\uE22E', '\\uDBBA\\uDF99', [\"point_up_2\"], 12, 7, 63, 0],\n \"1f447\": [['\\uD83D\\uDC47'], '\\uE22F', '\\uDBBA\\uDF9A', [\"point_down\"], 12, 13, 63, 0],\n \"1f448\": [['\\uD83D\\uDC48'], '\\uE230', '\\uDBBA\\uDF9B', [\"point_left\"], 12, 19, 63, 0],\n \"1f449\": [['\\uD83D\\uDC49'], '\\uE231', '\\uDBBA\\uDF9C', [\"point_right\"], 12, 25, 63, 0],\n \"1f44a\": [['\\uD83D\\uDC4A'], '\\uE00D', '\\uDBBA\\uDF96', [\"facepunch\", \"punch\"], 12, 31, 63, 0],\n \"1f44b\": [['\\uD83D\\uDC4B'], '\\uE41E', '\\uDBBA\\uDF9D', [\"wave\"], 12, 37, 63, 0],\n \"1f44c\": [['\\uD83D\\uDC4C'], '\\uE420', '\\uDBBA\\uDF9F', [\"ok_hand\"], 12, 43, 63, 0],\n \"1f44d\": [['\\uD83D\\uDC4D'], '\\uE00E', '\\uDBBA\\uDF97', [\"+1\", \"thumbsup\"], 13, 0, 63, 0],\n \"1f44e\": [['\\uD83D\\uDC4E'], '\\uE421', '\\uDBBA\\uDFA0', [\"-1\", \"thumbsdown\"], 13, 6, 63, 0],\n \"1f44f\": [['\\uD83D\\uDC4F'], '\\uE41F', '\\uDBBA\\uDF9E', [\"clap\"], 13, 12, 63, 0],\n \"1f450\": [['\\uD83D\\uDC50'], '\\uE422', '\\uDBBA\\uDFA1', [\"open_hands\"], 13, 18, 63, 0],\n \"1f451\": [['\\uD83D\\uDC51'], '\\uE10E', '\\uDBB9\\uDCD1', [\"crown\"], 13, 24, 63, 0],\n \"1f452\": [['\\uD83D\\uDC52'], '\\uE318', '\\uDBB9\\uDCD4', [\"womans_hat\"], 13, 25, 63, 0],\n \"1f453\": [['\\uD83D\\uDC53'], \"\", '\\uDBB9\\uDCCE', [\"eyeglasses\"], 13, 26, 63, 0],\n \"1f454\": [['\\uD83D\\uDC54'], '\\uE302', '\\uDBB9\\uDCD3', [\"necktie\"], 13, 27, 63, 0],\n \"1f455\": [['\\uD83D\\uDC55'], '\\uE006', '\\uDBB9\\uDCCF', [\"shirt\", \"tshirt\"], 13, 28, 63, 0],\n \"1f456\": [['\\uD83D\\uDC56'], \"\", '\\uDBB9\\uDCD0', [\"jeans\"], 13, 29, 63, 0],\n \"1f457\": [['\\uD83D\\uDC57'], '\\uE319', '\\uDBB9\\uDCD5', [\"dress\"], 13, 30, 63, 0],\n \"1f458\": [['\\uD83D\\uDC58'], '\\uE321', '\\uDBB9\\uDCD9', [\"kimono\"], 13, 31, 63, 0],\n \"1f459\": [['\\uD83D\\uDC59'], '\\uE322', '\\uDBB9\\uDCDA', [\"bikini\"], 13, 32, 63, 0],\n \"1f45a\": [['\\uD83D\\uDC5A'], '\\uE006', '\\uDBB9\\uDCDB', [\"womans_clothes\"], 13, 33, 63, 0],\n \"1f45b\": [['\\uD83D\\uDC5B'], \"\", '\\uDBB9\\uDCDC', [\"purse\"], 13, 34, 63, 0],\n \"1f45c\": [['\\uD83D\\uDC5C'], '\\uE323', '\\uDBB9\\uDCF0', [\"handbag\"], 13, 35, 63, 0],\n \"1f45d\": [['\\uD83D\\uDC5D'], \"\", '\\uDBB9\\uDCF1', [\"pouch\"], 13, 36, 63, 0],\n \"1f45e\": [['\\uD83D\\uDC5E'], '\\uE007', '\\uDBB9\\uDCCC', [\"mans_shoe\", \"shoe\"], 13, 37, 63, 0],\n \"1f45f\": [['\\uD83D\\uDC5F'], '\\uE007', '\\uDBB9\\uDCCD', [\"athletic_shoe\"], 13, 38, 63, 0],\n \"1f460\": [['\\uD83D\\uDC60'], '\\uE13E', '\\uDBB9\\uDCD6', [\"high_heel\"], 13, 39, 63, 0],\n \"1f461\": [['\\uD83D\\uDC61'], '\\uE31A', '\\uDBB9\\uDCD7', [\"sandal\"], 13, 40, 63, 0],\n \"1f462\": [['\\uD83D\\uDC62'], '\\uE31B', '\\uDBB9\\uDCD8', [\"boot\"], 13, 41, 63, 0],\n \"1f463\": [['\\uD83D\\uDC63'], '\\uE536', '\\uDBB9\\uDD53', [\"footprints\"], 13, 42, 63, 0],\n \"1f464\": [['\\uD83D\\uDC64'], \"\", '\\uDBB8\\uDD9A', [\"bust_in_silhouette\"], 13, 43, 63, 0],\n \"1f465\": [['\\uD83D\\uDC65'], \"\", \"\", [\"busts_in_silhouette\"], 13, 44, 63, 0],\n \"1f466\": [['\\uD83D\\uDC66'], '\\uE001', '\\uDBB8\\uDD9B', [\"boy\"], 13, 45, 63, 0],\n \"1f467\": [['\\uD83D\\uDC67'], '\\uE002', '\\uDBB8\\uDD9C', [\"girl\"], 14, 2, 63, 0],\n \"1f468\": [['\\uD83D\\uDC68'], '\\uE004', '\\uDBB8\\uDD9D', [\"man\"], 14, 8, 63, 0],\n \"1f469\": [['\\uD83D\\uDC69'], '\\uE005', '\\uDBB8\\uDD9E', [\"woman\"], 14, 14, 63, 0],\n \"1f46b\": [['\\uD83D\\uDC6B'], '\\uE428', '\\uDBB8\\uDDA0', [\"couple\", \"man_and_woman_holding_hands\"], 14, 21, 63, 0],\n \"1f46c\": [['\\uD83D\\uDC6C'], \"\", \"\", [\"two_men_holding_hands\"], 14, 22, 63, 0],\n \"1f46d\": [['\\uD83D\\uDC6D'], \"\", \"\", [\"two_women_holding_hands\"], 14, 23, 63, 0],\n \"1f470\": [['\\uD83D\\uDC70'], \"\", '\\uDBB8\\uDDA3', [\"bride_with_veil\"], 14, 31, 63, 0],\n \"1f472\": [['\\uD83D\\uDC72'], '\\uE516', '\\uDBB8\\uDDA5', [\"man_with_gua_pi_mao\"], 14, 43, 63, 0],\n \"1f474\": [['\\uD83D\\uDC74'], '\\uE518', '\\uDBB8\\uDDA7', [\"older_man\"], 15, 6, 63, 0],\n \"1f475\": [['\\uD83D\\uDC75'], '\\uE519', '\\uDBB8\\uDDA8', [\"older_woman\"], 15, 12, 63, 0],\n \"1f476\": [['\\uD83D\\uDC76'], '\\uE51A', '\\uDBB8\\uDDA9', [\"baby\"], 15, 18, 63, 0],\n \"1f478\": [['\\uD83D\\uDC78'], '\\uE51C', '\\uDBB8\\uDDAB', [\"princess\"], 15, 30, 63, 0],\n \"1f479\": [['\\uD83D\\uDC79'], \"\", '\\uDBB8\\uDDAC', [\"japanese_ogre\"], 15, 36, 63, 0],\n \"1f47a\": [['\\uD83D\\uDC7A'], \"\", '\\uDBB8\\uDDAD', [\"japanese_goblin\"], 15, 37, 63, 0],\n \"1f47b\": [['\\uD83D\\uDC7B'], '\\uE11B', '\\uDBB8\\uDDAE', [\"ghost\"], 15, 38, 63, 0],\n \"1f47c\": [['\\uD83D\\uDC7C'], '\\uE04E', '\\uDBB8\\uDDAF', [\"angel\"], 15, 39, 63, 0],\n \"1f47d\": [['\\uD83D\\uDC7D'], '\\uE10C', '\\uDBB8\\uDDB0', [\"alien\"], 15, 45, 63, 0],\n \"1f47e\": [['\\uD83D\\uDC7E'], '\\uE12B', '\\uDBB8\\uDDB1', [\"space_invader\"], 15, 46, 63, 0],\n \"1f47f\": [['\\uD83D\\uDC7F'], '\\uE11A', '\\uDBB8\\uDDB2', [\"imp\"], 15, 47, 63, 0],\n \"1f480\": [['\\uD83D\\uDC80'], '\\uE11C', '\\uDBB8\\uDDB3', [\"skull\"], 15, 48, 63, 0],\n \"1f483\": [['\\uD83D\\uDC83'], '\\uE51F', '\\uDBB8\\uDDB6', [\"dancer\"], 16, 12, 63, 0],\n \"1f484\": [['\\uD83D\\uDC84'], '\\uE31C', '\\uDBB8\\uDD95', [\"lipstick\"], 16, 18, 63, 0],\n \"1f485\": [['\\uD83D\\uDC85'], '\\uE31D', '\\uDBB8\\uDD96', [\"nail_care\"], 16, 19, 63, 0],\n \"1f488\": [['\\uD83D\\uDC88'], '\\uE320', '\\uDBB8\\uDD99', [\"barber\"], 16, 37, 63, 0],\n \"1f489\": [['\\uD83D\\uDC89'], '\\uE13B', '\\uDBB9\\uDD09', [\"syringe\"], 16, 38, 63, 0],\n \"1f48a\": [['\\uD83D\\uDC8A'], '\\uE30F', '\\uDBB9\\uDD0A', [\"pill\"], 16, 39, 63, 0],\n \"1f48b\": [['\\uD83D\\uDC8B'], '\\uE003', '\\uDBBA\\uDC23', [\"kiss\"], 16, 40, 63, 0],\n \"1f48c\": [['\\uD83D\\uDC8C'], '\\uE103\\uE328', '\\uDBBA\\uDC24', [\"love_letter\"], 16, 41, 63, 0],\n \"1f48d\": [['\\uD83D\\uDC8D'], '\\uE034', '\\uDBBA\\uDC25', [\"ring\"], 16, 42, 63, 0],\n \"1f48e\": [['\\uD83D\\uDC8E'], '\\uE035', '\\uDBBA\\uDC26', [\"gem\"], 16, 43, 63, 0],\n \"1f490\": [['\\uD83D\\uDC90'], '\\uE306', '\\uDBBA\\uDC28', [\"bouquet\"], 16, 45, 63, 0],\n \"1f492\": [['\\uD83D\\uDC92'], '\\uE43D', '\\uDBBA\\uDC2A', [\"wedding\"], 16, 47, 63, 0],\n \"1f493\": [['\\uD83D\\uDC93'], '\\uE327', '\\uDBBA\\uDF0D', [\"heartbeat\"], 16, 48, 63, 0],\n \"1f494\": [['\\uD83D\\uDC94'], '\\uE023', '\\uDBBA\\uDF0E', [\"broken_heart\"], 17, 0, 63, 0, \"<\\/3\"],\n \"1f495\": [['\\uD83D\\uDC95'], '\\uE327', '\\uDBBA\\uDF0F', [\"two_hearts\"], 17, 1, 63, 0],\n \"1f496\": [['\\uD83D\\uDC96'], '\\uE327', '\\uDBBA\\uDF10', [\"sparkling_heart\"], 17, 2, 63, 0],\n \"1f497\": [['\\uD83D\\uDC97'], '\\uE328', '\\uDBBA\\uDF11', [\"heartpulse\"], 17, 3, 63, 0],\n \"1f498\": [['\\uD83D\\uDC98'], '\\uE329', '\\uDBBA\\uDF12', [\"cupid\"], 17, 4, 63, 0],\n \"1f499\": [['\\uD83D\\uDC99'], '\\uE32A', '\\uDBBA\\uDF13', [\"blue_heart\"], 17, 5, 63, 0, \"<3\"],\n \"1f49a\": [['\\uD83D\\uDC9A'], '\\uE32B', '\\uDBBA\\uDF14', [\"green_heart\"], 17, 6, 63, 0, \"<3\"],\n \"1f49b\": [['\\uD83D\\uDC9B'], '\\uE32C', '\\uDBBA\\uDF15', [\"yellow_heart\"], 17, 7, 63, 0, \"<3\"],\n \"1f49c\": [['\\uD83D\\uDC9C'], '\\uE32D', '\\uDBBA\\uDF16', [\"purple_heart\"], 17, 8, 63, 0, \"<3\"],\n \"1f49d\": [['\\uD83D\\uDC9D'], '\\uE437', '\\uDBBA\\uDF17', [\"gift_heart\"], 17, 9, 63, 0],\n \"1f49e\": [['\\uD83D\\uDC9E'], '\\uE327', '\\uDBBA\\uDF18', [\"revolving_hearts\"], 17, 10, 63, 0],\n \"1f49f\": [['\\uD83D\\uDC9F'], '\\uE204', '\\uDBBA\\uDF19', [\"heart_decoration\"], 17, 11, 63, 0],\n \"1f4a0\": [['\\uD83D\\uDCA0'], \"\", '\\uDBBA\\uDF55', [\"diamond_shape_with_a_dot_inside\"], 17, 12, 63, 0],\n \"1f4a1\": [['\\uD83D\\uDCA1'], '\\uE10F', '\\uDBBA\\uDF56', [\"bulb\"], 17, 13, 63, 0],\n \"1f4a2\": [['\\uD83D\\uDCA2'], '\\uE334', '\\uDBBA\\uDF57', [\"anger\"], 17, 14, 63, 0],\n \"1f4a3\": [['\\uD83D\\uDCA3'], '\\uE311', '\\uDBBA\\uDF58', [\"bomb\"], 17, 15, 63, 0],\n \"1f4a4\": [['\\uD83D\\uDCA4'], '\\uE13C', '\\uDBBA\\uDF59', [\"zzz\"], 17, 16, 63, 0],\n \"1f4a5\": [['\\uD83D\\uDCA5'], \"\", '\\uDBBA\\uDF5A', [\"boom\", \"collision\"], 17, 17, 63, 0],\n \"1f4a6\": [['\\uD83D\\uDCA6'], '\\uE331', '\\uDBBA\\uDF5B', [\"sweat_drops\"], 17, 18, 63, 0],\n \"1f4a7\": [['\\uD83D\\uDCA7'], '\\uE331', '\\uDBBA\\uDF5C', [\"droplet\"], 17, 19, 63, 0],\n \"1f4a8\": [['\\uD83D\\uDCA8'], '\\uE330', '\\uDBBA\\uDF5D', [\"dash\"], 17, 20, 63, 0],\n \"1f4a9\": [['\\uD83D\\uDCA9'], '\\uE05A', '\\uDBB9\\uDCF4', [\"hankey\", \"poop\", \"shit\"], 17, 21, 63, 0],\n \"1f4aa\": [['\\uD83D\\uDCAA'], '\\uE14C', '\\uDBBA\\uDF5E', [\"muscle\"], 17, 22, 63, 0],\n \"1f4ab\": [['\\uD83D\\uDCAB'], '\\uE407', '\\uDBBA\\uDF5F', [\"dizzy\"], 17, 28, 63, 0],\n \"1f4ac\": [['\\uD83D\\uDCAC'], \"\", '\\uDBB9\\uDD32', [\"speech_balloon\"], 17, 29, 63, 0],\n \"1f4ad\": [['\\uD83D\\uDCAD'], \"\", \"\", [\"thought_balloon\"], 17, 30, 63, 0],\n \"1f4ae\": [['\\uD83D\\uDCAE'], \"\", '\\uDBBA\\uDF7A', [\"white_flower\"], 17, 31, 63, 0],\n \"1f4af\": [['\\uD83D\\uDCAF'], \"\", '\\uDBBA\\uDF7B', [\"100\"], 17, 32, 63, 0],\n \"1f4b0\": [['\\uD83D\\uDCB0'], '\\uE12F', '\\uDBB9\\uDCDD', [\"moneybag\"], 17, 33, 63, 0],\n \"1f4b1\": [['\\uD83D\\uDCB1'], '\\uE149', '\\uDBB9\\uDCDE', [\"currency_exchange\"], 17, 34, 63, 0],\n \"1f4b2\": [['\\uD83D\\uDCB2'], '\\uE12F', '\\uDBB9\\uDCE0', [\"heavy_dollar_sign\"], 17, 35, 63, 0],\n \"1f4b3\": [['\\uD83D\\uDCB3'], \"\", '\\uDBB9\\uDCE1', [\"credit_card\"], 17, 36, 63, 0],\n \"1f4b4\": [['\\uD83D\\uDCB4'], \"\", '\\uDBB9\\uDCE2', [\"yen\"], 17, 37, 63, 0],\n \"1f4b5\": [['\\uD83D\\uDCB5'], '\\uE12F', '\\uDBB9\\uDCE3', [\"dollar\"], 17, 38, 63, 0],\n \"1f4b6\": [['\\uD83D\\uDCB6'], \"\", \"\", [\"euro\"], 17, 39, 63, 0],\n \"1f4b7\": [['\\uD83D\\uDCB7'], \"\", \"\", [\"pound\"], 17, 40, 63, 0],\n \"1f4b8\": [['\\uD83D\\uDCB8'], \"\", '\\uDBB9\\uDCE4', [\"money_with_wings\"], 17, 41, 63, 0],\n \"1f4b9\": [['\\uD83D\\uDCB9'], '\\uE14A', '\\uDBB9\\uDCDF', [\"chart\"], 17, 42, 63, 0],\n \"1f4ba\": [['\\uD83D\\uDCBA'], '\\uE11F', '\\uDBB9\\uDD37', [\"seat\"], 17, 43, 63, 0],\n \"1f4bb\": [['\\uD83D\\uDCBB'], '\\uE00C', '\\uDBB9\\uDD38', [\"computer\"], 17, 44, 63, 0],\n \"1f4bc\": [['\\uD83D\\uDCBC'], '\\uE11E', '\\uDBB9\\uDD3B', [\"briefcase\"], 17, 45, 63, 0],\n \"1f4bd\": [['\\uD83D\\uDCBD'], '\\uE316', '\\uDBB9\\uDD3C', [\"minidisc\"], 17, 46, 63, 0],\n \"1f4be\": [['\\uD83D\\uDCBE'], '\\uE316', '\\uDBB9\\uDD3D', [\"floppy_disk\"], 17, 47, 63, 0],\n \"1f4bf\": [['\\uD83D\\uDCBF'], '\\uE126', '\\uDBBA\\uDC1D', [\"cd\"], 17, 48, 63, 0],\n \"1f4c0\": [['\\uD83D\\uDCC0'], '\\uE127', '\\uDBBA\\uDC1E', [\"dvd\"], 18, 0, 63, 0],\n \"1f4c1\": [['\\uD83D\\uDCC1'], \"\", '\\uDBB9\\uDD43', [\"file_folder\"], 18, 1, 63, 0],\n \"1f4c2\": [['\\uD83D\\uDCC2'], \"\", '\\uDBB9\\uDD44', [\"open_file_folder\"], 18, 2, 63, 0],\n \"1f4c3\": [['\\uD83D\\uDCC3'], '\\uE301', '\\uDBB9\\uDD40', [\"page_with_curl\"], 18, 3, 63, 0],\n \"1f4c4\": [['\\uD83D\\uDCC4'], '\\uE301', '\\uDBB9\\uDD41', [\"page_facing_up\"], 18, 4, 63, 0],\n \"1f4c5\": [['\\uD83D\\uDCC5'], \"\", '\\uDBB9\\uDD42', [\"date\"], 18, 5, 63, 0],\n \"1f4c6\": [['\\uD83D\\uDCC6'], \"\", '\\uDBB9\\uDD49', [\"calendar\"], 18, 6, 63, 0],\n \"1f4c7\": [['\\uD83D\\uDCC7'], '\\uE148', '\\uDBB9\\uDD4D', [\"card_index\"], 18, 7, 63, 0],\n \"1f4c8\": [['\\uD83D\\uDCC8'], '\\uE14A', '\\uDBB9\\uDD4B', [\"chart_with_upwards_trend\"], 18, 8, 63, 0],\n \"1f4c9\": [['\\uD83D\\uDCC9'], \"\", '\\uDBB9\\uDD4C', [\"chart_with_downwards_trend\"], 18, 9, 63, 0],\n \"1f4ca\": [['\\uD83D\\uDCCA'], '\\uE14A', '\\uDBB9\\uDD4A', [\"bar_chart\"], 18, 10, 63, 0],\n \"1f4cb\": [['\\uD83D\\uDCCB'], '\\uE301', '\\uDBB9\\uDD48', [\"clipboard\"], 18, 11, 63, 0],\n \"1f4cc\": [['\\uD83D\\uDCCC'], \"\", '\\uDBB9\\uDD4E', [\"pushpin\"], 18, 12, 63, 0],\n \"1f4cd\": [['\\uD83D\\uDCCD'], \"\", '\\uDBB9\\uDD3F', [\"round_pushpin\"], 18, 13, 63, 0],\n \"1f4ce\": [['\\uD83D\\uDCCE'], \"\", '\\uDBB9\\uDD3A', [\"paperclip\"], 18, 14, 63, 0],\n \"1f4cf\": [['\\uD83D\\uDCCF'], \"\", '\\uDBB9\\uDD50', [\"straight_ruler\"], 18, 15, 63, 0],\n \"1f4d0\": [['\\uD83D\\uDCD0'], \"\", '\\uDBB9\\uDD51', [\"triangular_ruler\"], 18, 16, 63, 0],\n \"1f4d1\": [['\\uD83D\\uDCD1'], '\\uE301', '\\uDBB9\\uDD52', [\"bookmark_tabs\"], 18, 17, 63, 0],\n \"1f4d2\": [['\\uD83D\\uDCD2'], '\\uE148', '\\uDBB9\\uDD4F', [\"ledger\"], 18, 18, 63, 0],\n \"1f4d3\": [['\\uD83D\\uDCD3'], '\\uE148', '\\uDBB9\\uDD45', [\"notebook\"], 18, 19, 63, 0],\n \"1f4d4\": [['\\uD83D\\uDCD4'], '\\uE148', '\\uDBB9\\uDD47', [\"notebook_with_decorative_cover\"], 18, 20, 63, 0],\n \"1f4d5\": [['\\uD83D\\uDCD5'], '\\uE148', '\\uDBB9\\uDD02', [\"closed_book\"], 18, 21, 63, 0],\n \"1f4d6\": [['\\uD83D\\uDCD6'], '\\uE148', '\\uDBB9\\uDD46', [\"book\", \"open_book\"], 18, 22, 63, 0],\n \"1f4d7\": [['\\uD83D\\uDCD7'], '\\uE148', '\\uDBB9\\uDCFF', [\"green_book\"], 18, 23, 63, 0],\n \"1f4d8\": [['\\uD83D\\uDCD8'], '\\uE148', '\\uDBB9\\uDD00', [\"blue_book\"], 18, 24, 63, 0],\n \"1f4d9\": [['\\uD83D\\uDCD9'], '\\uE148', '\\uDBB9\\uDD01', [\"orange_book\"], 18, 25, 63, 0],\n \"1f4da\": [['\\uD83D\\uDCDA'], '\\uE148', '\\uDBB9\\uDD03', [\"books\"], 18, 26, 63, 0],\n \"1f4db\": [['\\uD83D\\uDCDB'], \"\", '\\uDBB9\\uDD04', [\"name_badge\"], 18, 27, 63, 0],\n \"1f4dc\": [['\\uD83D\\uDCDC'], \"\", '\\uDBB9\\uDCFD', [\"scroll\"], 18, 28, 63, 0],\n \"1f4dd\": [['\\uD83D\\uDCDD'], '\\uE301', '\\uDBB9\\uDD27', [\"memo\", \"pencil\"], 18, 29, 63, 0],\n \"1f4de\": [['\\uD83D\\uDCDE'], '\\uE009', '\\uDBB9\\uDD24', [\"telephone_receiver\"], 18, 30, 63, 0],\n \"1f4df\": [['\\uD83D\\uDCDF'], \"\", '\\uDBB9\\uDD22', [\"pager\"], 18, 31, 63, 0],\n \"1f4e0\": [['\\uD83D\\uDCE0'], '\\uE00B', '\\uDBB9\\uDD28', [\"fax\"], 18, 32, 63, 0],\n \"1f4e1\": [['\\uD83D\\uDCE1'], '\\uE14B', '\\uDBB9\\uDD31', [\"satellite_antenna\"], 18, 33, 63, 0],\n \"1f4e2\": [['\\uD83D\\uDCE2'], '\\uE142', '\\uDBB9\\uDD2F', [\"loudspeaker\"], 18, 34, 63, 0],\n \"1f4e3\": [['\\uD83D\\uDCE3'], '\\uE317', '\\uDBB9\\uDD30', [\"mega\"], 18, 35, 63, 0],\n \"1f4e4\": [['\\uD83D\\uDCE4'], \"\", '\\uDBB9\\uDD33', [\"outbox_tray\"], 18, 36, 63, 0],\n \"1f4e5\": [['\\uD83D\\uDCE5'], \"\", '\\uDBB9\\uDD34', [\"inbox_tray\"], 18, 37, 63, 0],\n \"1f4e6\": [['\\uD83D\\uDCE6'], '\\uE112', '\\uDBB9\\uDD35', [\"package\"], 18, 38, 63, 0],\n \"1f4e7\": [['\\uD83D\\uDCE7'], '\\uE103', '\\uDBBA\\uDF92', [\"e-mail\"], 18, 39, 63, 0],\n \"1f4e8\": [['\\uD83D\\uDCE8'], '\\uE103', '\\uDBB9\\uDD2A', [\"incoming_envelope\"], 18, 40, 63, 0],\n \"1f4e9\": [['\\uD83D\\uDCE9'], '\\uE103', '\\uDBB9\\uDD2B', [\"envelope_with_arrow\"], 18, 41, 63, 0],\n \"1f4ea\": [['\\uD83D\\uDCEA'], '\\uE101', '\\uDBB9\\uDD2C', [\"mailbox_closed\"], 18, 42, 63, 0],\n \"1f4eb\": [['\\uD83D\\uDCEB'], '\\uE101', '\\uDBB9\\uDD2D', [\"mailbox\"], 18, 43, 63, 0],\n \"1f4ec\": [['\\uD83D\\uDCEC'], \"\", \"\", [\"mailbox_with_mail\"], 18, 44, 63, 0],\n \"1f4ed\": [['\\uD83D\\uDCED'], \"\", \"\", [\"mailbox_with_no_mail\"], 18, 45, 63, 0],\n \"1f4ee\": [['\\uD83D\\uDCEE'], '\\uE102', '\\uDBB9\\uDD2E', [\"postbox\"], 18, 46, 63, 0],\n \"1f4ef\": [['\\uD83D\\uDCEF'], \"\", \"\", [\"postal_horn\"], 18, 47, 63, 0],\n \"1f4f0\": [['\\uD83D\\uDCF0'], \"\", '\\uDBBA\\uDC22', [\"newspaper\"], 18, 48, 63, 0],\n \"1f4f1\": [['\\uD83D\\uDCF1'], '\\uE00A', '\\uDBB9\\uDD25', [\"iphone\"], 19, 0, 63, 0],\n \"1f4f2\": [['\\uD83D\\uDCF2'], '\\uE104', '\\uDBB9\\uDD26', [\"calling\"], 19, 1, 63, 0],\n \"1f4f3\": [['\\uD83D\\uDCF3'], '\\uE250', '\\uDBBA\\uDC39', [\"vibration_mode\"], 19, 2, 63, 0],\n \"1f4f4\": [['\\uD83D\\uDCF4'], '\\uE251', '\\uDBBA\\uDC3A', [\"mobile_phone_off\"], 19, 3, 63, 0],\n \"1f4f5\": [['\\uD83D\\uDCF5'], \"\", \"\", [\"no_mobile_phones\"], 19, 4, 63, 0],\n \"1f4f6\": [['\\uD83D\\uDCF6'], '\\uE20B', '\\uDBBA\\uDC38', [\"signal_strength\"], 19, 5, 63, 0],\n \"1f4f7\": [['\\uD83D\\uDCF7'], '\\uE008', '\\uDBB9\\uDCEF', [\"camera\"], 19, 6, 63, 0],\n \"1f4f8\": [['\\uD83D\\uDCF8'], \"\", \"\", [\"camera_with_flash\"], 19, 7, 31, 0],\n \"1f4f9\": [['\\uD83D\\uDCF9'], '\\uE03D', '\\uDBB9\\uDCF9', [\"video_camera\"], 19, 8, 63, 0],\n \"1f4fa\": [['\\uD83D\\uDCFA'], '\\uE12A', '\\uDBBA\\uDC1C', [\"tv\"], 19, 9, 63, 0],\n \"1f4fb\": [['\\uD83D\\uDCFB'], '\\uE128', '\\uDBBA\\uDC1F', [\"radio\"], 19, 10, 63, 0],\n \"1f4fc\": [['\\uD83D\\uDCFC'], '\\uE129', '\\uDBBA\\uDC20', [\"vhs\"], 19, 11, 63, 0],\n \"1f4fd\": [['\\uD83D\\uDCFD'], \"\", \"\", [\"film_projector\"], 19, 12, 31, 0],\n \"1f4ff\": [['\\uD83D\\uDCFF'], \"\", \"\", [\"prayer_beads\"], 19, 13, 31, 0],\n \"1f500\": [['\\uD83D\\uDD00'], \"\", \"\", [\"twisted_rightwards_arrows\"], 19, 14, 63, 0],\n \"1f501\": [['\\uD83D\\uDD01'], \"\", \"\", [\"repeat\"], 19, 15, 63, 0],\n \"1f502\": [['\\uD83D\\uDD02'], \"\", \"\", [\"repeat_one\"], 19, 16, 63, 0],\n \"1f503\": [['\\uD83D\\uDD03'], \"\", '\\uDBBA\\uDF91', [\"arrows_clockwise\"], 19, 17, 63, 0],\n \"1f504\": [['\\uD83D\\uDD04'], \"\", \"\", [\"arrows_counterclockwise\"], 19, 18, 63, 0],\n \"1f505\": [['\\uD83D\\uDD05'], \"\", \"\", [\"low_brightness\"], 19, 19, 63, 0],\n \"1f506\": [['\\uD83D\\uDD06'], \"\", \"\", [\"high_brightness\"], 19, 20, 63, 0],\n \"1f507\": [['\\uD83D\\uDD07'], \"\", \"\", [\"mute\"], 19, 21, 63, 0],\n \"1f508\": [['\\uD83D\\uDD08'], \"\", \"\", [\"speaker\"], 19, 22, 63, 0],\n \"1f509\": [['\\uD83D\\uDD09'], \"\", \"\", [\"sound\"], 19, 23, 63, 0],\n \"1f50a\": [['\\uD83D\\uDD0A'], '\\uE141', '\\uDBBA\\uDC21', [\"loud_sound\"], 19, 24, 63, 0],\n \"1f50b\": [['\\uD83D\\uDD0B'], \"\", '\\uDBB9\\uDCFC', [\"battery\"], 19, 25, 63, 0],\n \"1f50c\": [['\\uD83D\\uDD0C'], \"\", '\\uDBB9\\uDCFE', [\"electric_plug\"], 19, 26, 63, 0],\n \"1f50d\": [['\\uD83D\\uDD0D'], '\\uE114', '\\uDBBA\\uDF85', [\"mag\"], 19, 27, 63, 0],\n \"1f50e\": [['\\uD83D\\uDD0E'], '\\uE114', '\\uDBBA\\uDF8D', [\"mag_right\"], 19, 28, 63, 0],\n \"1f50f\": [['\\uD83D\\uDD0F'], '\\uE144', '\\uDBBA\\uDF90', [\"lock_with_ink_pen\"], 19, 29, 63, 0],\n \"1f510\": [['\\uD83D\\uDD10'], '\\uE144', '\\uDBBA\\uDF8A', [\"closed_lock_with_key\"], 19, 30, 63, 0],\n \"1f511\": [['\\uD83D\\uDD11'], '\\uE03F', '\\uDBBA\\uDF82', [\"key\"], 19, 31, 63, 0],\n \"1f512\": [['\\uD83D\\uDD12'], '\\uE144', '\\uDBBA\\uDF86', [\"lock\"], 19, 32, 63, 0],\n \"1f513\": [['\\uD83D\\uDD13'], '\\uE145', '\\uDBBA\\uDF87', [\"unlock\"], 19, 33, 63, 0],\n \"1f514\": [['\\uD83D\\uDD14'], '\\uE325', '\\uDBB9\\uDCF2', [\"bell\"], 19, 34, 63, 0],\n \"1f515\": [['\\uD83D\\uDD15'], \"\", \"\", [\"no_bell\"], 19, 35, 63, 0],\n \"1f516\": [['\\uD83D\\uDD16'], \"\", '\\uDBBA\\uDF8F', [\"bookmark\"], 19, 36, 63, 0],\n \"1f517\": [['\\uD83D\\uDD17'], \"\", '\\uDBBA\\uDF4B', [\"link\"], 19, 37, 63, 0],\n \"1f518\": [['\\uD83D\\uDD18'], \"\", '\\uDBBA\\uDF8C', [\"radio_button\"], 19, 38, 63, 0],\n \"1f519\": [['\\uD83D\\uDD19'], '\\uE235', '\\uDBBA\\uDF8E', [\"back\"], 19, 39, 63, 0],\n \"1f51a\": [['\\uD83D\\uDD1A'], \"\", '\\uDBB8\\uDC1A', [\"end\"], 19, 40, 63, 0],\n \"1f51b\": [['\\uD83D\\uDD1B'], \"\", '\\uDBB8\\uDC19', [\"on\"], 19, 41, 63, 0],\n \"1f51c\": [['\\uD83D\\uDD1C'], \"\", '\\uDBB8\\uDC18', [\"soon\"], 19, 42, 63, 0],\n \"1f51d\": [['\\uD83D\\uDD1D'], '\\uE24C', '\\uDBBA\\uDF42', [\"top\"], 19, 43, 63, 0],\n \"1f51e\": [['\\uD83D\\uDD1E'], '\\uE207', '\\uDBBA\\uDF25', [\"underage\"], 19, 44, 63, 0],\n \"1f51f\": [['\\uD83D\\uDD1F'], \"\", '\\uDBBA\\uDC3B', [\"keycap_ten\"], 19, 45, 63, 0],\n \"1f520\": [['\\uD83D\\uDD20'], \"\", '\\uDBBA\\uDF7C', [\"capital_abcd\"], 19, 46, 63, 0],\n \"1f521\": [['\\uD83D\\uDD21'], \"\", '\\uDBBA\\uDF7D', [\"abcd\"], 19, 47, 63, 0],\n \"1f522\": [['\\uD83D\\uDD22'], \"\", '\\uDBBA\\uDF7E', [\"1234\"], 19, 48, 63, 0],\n \"1f523\": [['\\uD83D\\uDD23'], \"\", '\\uDBBA\\uDF7F', [\"symbols\"], 20, 0, 63, 0],\n \"1f524\": [['\\uD83D\\uDD24'], \"\", '\\uDBBA\\uDF80', [\"abc\"], 20, 1, 63, 0],\n \"1f525\": [['\\uD83D\\uDD25'], '\\uE11D', '\\uDBB9\\uDCF6', [\"fire\"], 20, 2, 63, 0],\n \"1f526\": [['\\uD83D\\uDD26'], \"\", '\\uDBB9\\uDCFB', [\"flashlight\"], 20, 3, 63, 0],\n \"1f527\": [['\\uD83D\\uDD27'], \"\", '\\uDBB9\\uDCC9', [\"wrench\"], 20, 4, 63, 0],\n \"1f528\": [['\\uD83D\\uDD28'], '\\uE116', '\\uDBB9\\uDCCA', [\"hammer\"], 20, 5, 63, 0],\n \"1f529\": [['\\uD83D\\uDD29'], \"\", '\\uDBB9\\uDCCB', [\"nut_and_bolt\"], 20, 6, 63, 0],\n \"1f52a\": [['\\uD83D\\uDD2A'], \"\", '\\uDBB9\\uDCFA', [\"hocho\", \"knife\"], 20, 7, 63, 0],\n \"1f52b\": [['\\uD83D\\uDD2B'], '\\uE113', '\\uDBB9\\uDCF5', [\"gun\"], 20, 8, 63, 0],\n \"1f52c\": [['\\uD83D\\uDD2C'], \"\", \"\", [\"microscope\"], 20, 9, 63, 0],\n \"1f52d\": [['\\uD83D\\uDD2D'], \"\", \"\", [\"telescope\"], 20, 10, 63, 0],\n \"1f52e\": [['\\uD83D\\uDD2E'], '\\uE23E', '\\uDBB9\\uDCF7', [\"crystal_ball\"], 20, 11, 63, 0],\n \"1f52f\": [['\\uD83D\\uDD2F'], '\\uE23E', '\\uDBB9\\uDCF8', [\"six_pointed_star\"], 20, 12, 63, 0],\n \"1f530\": [['\\uD83D\\uDD30'], '\\uE209', '\\uDBB8\\uDC44', [\"beginner\"], 20, 13, 63, 0],\n \"1f531\": [['\\uD83D\\uDD31'], '\\uE031', '\\uDBB9\\uDCD2', [\"trident\"], 20, 14, 63, 0],\n \"1f532\": [['\\uD83D\\uDD32'], '\\uE21A', '\\uDBBA\\uDF64', [\"black_square_button\"], 20, 15, 63, 0],\n \"1f533\": [['\\uD83D\\uDD33'], '\\uE21B', '\\uDBBA\\uDF67', [\"white_square_button\"], 20, 16, 63, 0],\n \"1f534\": [['\\uD83D\\uDD34'], '\\uE219', '\\uDBBA\\uDF63', [\"red_circle\"], 20, 17, 63, 0],\n \"1f535\": [['\\uD83D\\uDD35'], '\\uE21A', '\\uDBBA\\uDF64', [\"large_blue_circle\"], 20, 18, 63, 0],\n \"1f536\": [['\\uD83D\\uDD36'], '\\uE21B', '\\uDBBA\\uDF73', [\"large_orange_diamond\"], 20, 19, 63, 0],\n \"1f537\": [['\\uD83D\\uDD37'], '\\uE21B', '\\uDBBA\\uDF74', [\"large_blue_diamond\"], 20, 20, 63, 0],\n \"1f538\": [['\\uD83D\\uDD38'], '\\uE21B', '\\uDBBA\\uDF75', [\"small_orange_diamond\"], 20, 21, 63, 0],\n \"1f539\": [['\\uD83D\\uDD39'], '\\uE21B', '\\uDBBA\\uDF76', [\"small_blue_diamond\"], 20, 22, 63, 0],\n \"1f53a\": [['\\uD83D\\uDD3A'], \"\", '\\uDBBA\\uDF78', [\"small_red_triangle\"], 20, 23, 63, 0],\n \"1f53b\": [['\\uD83D\\uDD3B'], \"\", '\\uDBBA\\uDF79', [\"small_red_triangle_down\"], 20, 24, 63, 0],\n \"1f53c\": [['\\uD83D\\uDD3C'], \"\", '\\uDBBA\\uDF01', [\"arrow_up_small\"], 20, 25, 63, 0],\n \"1f53d\": [['\\uD83D\\uDD3D'], \"\", '\\uDBBA\\uDF00', [\"arrow_down_small\"], 20, 26, 63, 0],\n \"1f549\": [['\\uD83D\\uDD49'], \"\", \"\", [\"om_symbol\"], 20, 27, 31, 0],\n \"1f54a\": [['\\uD83D\\uDD4A'], \"\", \"\", [\"dove_of_peace\"], 20, 28, 31, 0],\n \"1f54b\": [['\\uD83D\\uDD4B'], \"\", \"\", [\"kaaba\"], 20, 29, 31, 0],\n \"1f54c\": [['\\uD83D\\uDD4C'], \"\", \"\", [\"mosque\"], 20, 30, 31, 0],\n \"1f54d\": [['\\uD83D\\uDD4D'], \"\", \"\", [\"synagogue\"], 20, 31, 31, 0],\n \"1f54e\": [['\\uD83D\\uDD4E'], \"\", \"\", [\"menorah_with_nine_branches\"], 20, 32, 31, 0],\n \"1f550\": [['\\uD83D\\uDD50'], '\\uE024', '\\uDBB8\\uDC1E', [\"clock1\"], 20, 33, 63, 0],\n \"1f551\": [['\\uD83D\\uDD51'], '\\uE025', '\\uDBB8\\uDC1F', [\"clock2\"], 20, 34, 63, 0],\n \"1f552\": [['\\uD83D\\uDD52'], '\\uE026', '\\uDBB8\\uDC20', [\"clock3\"], 20, 35, 63, 0],\n \"1f553\": [['\\uD83D\\uDD53'], '\\uE027', '\\uDBB8\\uDC21', [\"clock4\"], 20, 36, 63, 0],\n \"1f554\": [['\\uD83D\\uDD54'], '\\uE028', '\\uDBB8\\uDC22', [\"clock5\"], 20, 37, 63, 0],\n \"1f555\": [['\\uD83D\\uDD55'], '\\uE029', '\\uDBB8\\uDC23', [\"clock6\"], 20, 38, 63, 0],\n \"1f556\": [['\\uD83D\\uDD56'], '\\uE02A', '\\uDBB8\\uDC24', [\"clock7\"], 20, 39, 63, 0],\n \"1f557\": [['\\uD83D\\uDD57'], '\\uE02B', '\\uDBB8\\uDC25', [\"clock8\"], 20, 40, 63, 0],\n \"1f558\": [['\\uD83D\\uDD58'], '\\uE02C', '\\uDBB8\\uDC26', [\"clock9\"], 20, 41, 63, 0],\n \"1f559\": [['\\uD83D\\uDD59'], '\\uE02D', '\\uDBB8\\uDC27', [\"clock10\"], 20, 42, 63, 0],\n \"1f55a\": [['\\uD83D\\uDD5A'], '\\uE02E', '\\uDBB8\\uDC28', [\"clock11\"], 20, 43, 63, 0],\n \"1f55b\": [['\\uD83D\\uDD5B'], '\\uE02F', '\\uDBB8\\uDC29', [\"clock12\"], 20, 44, 63, 0],\n \"1f55c\": [['\\uD83D\\uDD5C'], \"\", \"\", [\"clock130\"], 20, 45, 63, 0],\n \"1f55d\": [['\\uD83D\\uDD5D'], \"\", \"\", [\"clock230\"], 20, 46, 63, 0],\n \"1f55e\": [['\\uD83D\\uDD5E'], \"\", \"\", [\"clock330\"], 20, 47, 63, 0],\n \"1f55f\": [['\\uD83D\\uDD5F'], \"\", \"\", [\"clock430\"], 20, 48, 63, 0],\n \"1f560\": [['\\uD83D\\uDD60'], \"\", \"\", [\"clock530\"], 21, 0, 63, 0],\n \"1f561\": [['\\uD83D\\uDD61'], \"\", \"\", [\"clock630\"], 21, 1, 63, 0],\n \"1f562\": [['\\uD83D\\uDD62'], \"\", \"\", [\"clock730\"], 21, 2, 63, 0],\n \"1f563\": [['\\uD83D\\uDD63'], \"\", \"\", [\"clock830\"], 21, 3, 63, 0],\n \"1f564\": [['\\uD83D\\uDD64'], \"\", \"\", [\"clock930\"], 21, 4, 63, 0],\n \"1f565\": [['\\uD83D\\uDD65'], \"\", \"\", [\"clock1030\"], 21, 5, 63, 0],\n \"1f566\": [['\\uD83D\\uDD66'], \"\", \"\", [\"clock1130\"], 21, 6, 63, 0],\n \"1f567\": [['\\uD83D\\uDD67'], \"\", \"\", [\"clock1230\"], 21, 7, 63, 0],\n \"1f56f\": [['\\uD83D\\uDD6F'], \"\", \"\", [\"candle\"], 21, 8, 31, 0],\n \"1f570\": [['\\uD83D\\uDD70'], \"\", \"\", [\"mantelpiece_clock\"], 21, 9, 31, 0],\n \"1f573\": [['\\uD83D\\uDD73'], \"\", \"\", [\"hole\"], 21, 10, 31, 0],\n \"1f574\": [['\\uD83D\\uDD74'], \"\", \"\", [\"man_in_business_suit_levitating\"], 21, 11, 31, 0],\n \"1f576\": [['\\uD83D\\uDD76'], \"\", \"\", [\"dark_sunglasses\"], 21, 23, 31, 0],\n \"1f577\": [['\\uD83D\\uDD77'], \"\", \"\", [\"spider\"], 21, 24, 31, 0],\n \"1f578\": [['\\uD83D\\uDD78'], \"\", \"\", [\"spider_web\"], 21, 25, 31, 0],\n \"1f579\": [['\\uD83D\\uDD79'], \"\", \"\", [\"joystick\"], 21, 26, 31, 0],\n \"1f57a\": [['\\uD83D\\uDD7A'], \"\", \"\", [\"man_dancing\"], 21, 27, 31, 0],\n \"1f587\": [['\\uD83D\\uDD87'], \"\", \"\", [\"linked_paperclips\"], 21, 33, 31, 0],\n \"1f58a\": [['\\uD83D\\uDD8A'], \"\", \"\", [\"lower_left_ballpoint_pen\"], 21, 34, 31, 0],\n \"1f58b\": [['\\uD83D\\uDD8B'], \"\", \"\", [\"lower_left_fountain_pen\"], 21, 35, 31, 0],\n \"1f58c\": [['\\uD83D\\uDD8C'], \"\", \"\", [\"lower_left_paintbrush\"], 21, 36, 31, 0],\n \"1f58d\": [['\\uD83D\\uDD8D'], \"\", \"\", [\"lower_left_crayon\"], 21, 37, 31, 0],\n \"1f590\": [['\\uD83D\\uDD90'], \"\", \"\", [\"raised_hand_with_fingers_splayed\"], 21, 38, 31, 0],\n \"1f595\": [['\\uD83D\\uDD95'], \"\", \"\", [\"middle_finger\", \"reversed_hand_with_middle_finger_extended\"], 21, 44, 31, 0],\n \"1f596\": [['\\uD83D\\uDD96'], \"\", \"\", [\"spock-hand\"], 22, 1, 31, 0],\n \"1f5a4\": [['\\uD83D\\uDDA4'], \"\", \"\", [\"black_heart\"], 22, 7, 31, 0],\n \"1f5a5\": [['\\uD83D\\uDDA5'], \"\", \"\", [\"desktop_computer\"], 22, 8, 31, 0],\n \"1f5a8\": [['\\uD83D\\uDDA8'], \"\", \"\", [\"printer\"], 22, 9, 31, 0],\n \"1f5b1\": [['\\uD83D\\uDDB1'], \"\", \"\", [\"three_button_mouse\"], 22, 10, 31, 0],\n \"1f5b2\": [['\\uD83D\\uDDB2'], \"\", \"\", [\"trackball\"], 22, 11, 31, 0],\n \"1f5bc\": [['\\uD83D\\uDDBC'], \"\", \"\", [\"frame_with_picture\"], 22, 12, 31, 0],\n \"1f5c2\": [['\\uD83D\\uDDC2'], \"\", \"\", [\"card_index_dividers\"], 22, 13, 31, 0],\n \"1f5c3\": [['\\uD83D\\uDDC3'], \"\", \"\", [\"card_file_box\"], 22, 14, 31, 0],\n \"1f5c4\": [['\\uD83D\\uDDC4'], \"\", \"\", [\"file_cabinet\"], 22, 15, 31, 0],\n \"1f5d1\": [['\\uD83D\\uDDD1'], \"\", \"\", [\"wastebasket\"], 22, 16, 31, 0],\n \"1f5d2\": [['\\uD83D\\uDDD2'], \"\", \"\", [\"spiral_note_pad\"], 22, 17, 31, 0],\n \"1f5d3\": [['\\uD83D\\uDDD3'], \"\", \"\", [\"spiral_calendar_pad\"], 22, 18, 31, 0],\n \"1f5dc\": [['\\uD83D\\uDDDC'], \"\", \"\", [\"compression\"], 22, 19, 31, 0],\n \"1f5dd\": [['\\uD83D\\uDDDD'], \"\", \"\", [\"old_key\"], 22, 20, 31, 0],\n \"1f5de\": [['\\uD83D\\uDDDE'], \"\", \"\", [\"rolled_up_newspaper\"], 22, 21, 31, 0],\n \"1f5e1\": [['\\uD83D\\uDDE1'], \"\", \"\", [\"dagger_knife\"], 22, 22, 31, 0],\n \"1f5e3\": [['\\uD83D\\uDDE3'], \"\", \"\", [\"speaking_head_in_silhouette\"], 22, 23, 31, 0],\n \"1f5e8\": [['\\uD83D\\uDDE8'], \"\", \"\", [\"left_speech_bubble\"], 22, 24, 31, 0],\n \"1f5ef\": [['\\uD83D\\uDDEF'], \"\", \"\", [\"right_anger_bubble\"], 22, 25, 31, 0],\n \"1f5f3\": [['\\uD83D\\uDDF3'], \"\", \"\", [\"ballot_box_with_ballot\"], 22, 26, 31, 0],\n \"1f5fa\": [['\\uD83D\\uDDFA'], \"\", \"\", [\"world_map\"], 22, 27, 31, 0],\n \"1f5fb\": [['\\uD83D\\uDDFB'], '\\uE03B', '\\uDBB9\\uDCC3', [\"mount_fuji\"], 22, 28, 63, 0],\n \"1f5fc\": [['\\uD83D\\uDDFC'], '\\uE509', '\\uDBB9\\uDCC4', [\"tokyo_tower\"], 22, 29, 63, 0],\n \"1f5fd\": [['\\uD83D\\uDDFD'], '\\uE51D', '\\uDBB9\\uDCC6', [\"statue_of_liberty\"], 22, 30, 63, 0],\n \"1f5fe\": [['\\uD83D\\uDDFE'], \"\", '\\uDBB9\\uDCC7', [\"japan\"], 22, 31, 63, 0],\n \"1f5ff\": [['\\uD83D\\uDDFF'], \"\", '\\uDBB9\\uDCC8', [\"moyai\"], 22, 32, 63, 0],\n \"1f600\": [['\\uD83D\\uDE00'], \"\", \"\", [\"grinning\"], 22, 33, 63, 0, \":D\"],\n \"1f601\": [['\\uD83D\\uDE01'], '\\uE404', '\\uDBB8\\uDF33', [\"grin\"], 22, 34, 63, 0],\n \"1f602\": [['\\uD83D\\uDE02'], '\\uE412', '\\uDBB8\\uDF34', [\"joy\"], 22, 35, 63, 0],\n \"1f603\": [['\\uD83D\\uDE03'], '\\uE057', '\\uDBB8\\uDF30', [\"smiley\"], 22, 36, 63, 0, \":)\"],\n \"1f604\": [['\\uD83D\\uDE04'], '\\uE415', '\\uDBB8\\uDF38', [\"smile\"], 22, 37, 63, 0, \":)\"],\n \"1f605\": [['\\uD83D\\uDE05'], '\\uE415\\uE331', '\\uDBB8\\uDF31', [\"sweat_smile\"], 22, 38, 63, 0],\n \"1f606\": [['\\uD83D\\uDE06'], '\\uE40A', '\\uDBB8\\uDF32', [\"laughing\", \"satisfied\"], 22, 39, 63, 0],\n \"1f607\": [['\\uD83D\\uDE07'], \"\", \"\", [\"innocent\"], 22, 40, 63, 0],\n \"1f608\": [['\\uD83D\\uDE08'], \"\", \"\", [\"smiling_imp\"], 22, 41, 63, 0],\n \"1f609\": [['\\uD83D\\uDE09'], '\\uE405', '\\uDBB8\\uDF47', [\"wink\"], 22, 42, 63, 0, \";)\"],\n \"1f60a\": [['\\uD83D\\uDE0A'], '\\uE056', '\\uDBB8\\uDF35', [\"blush\"], 22, 43, 63, 0, \":)\"],\n \"1f60b\": [['\\uD83D\\uDE0B'], '\\uE056', '\\uDBB8\\uDF2B', [\"yum\"], 22, 44, 63, 0],\n \"1f60c\": [['\\uD83D\\uDE0C'], '\\uE40A', '\\uDBB8\\uDF3E', [\"relieved\"], 22, 45, 63, 0],\n \"1f60d\": [['\\uD83D\\uDE0D'], '\\uE106', '\\uDBB8\\uDF27', [\"heart_eyes\"], 22, 46, 63, 0],\n \"1f60e\": [['\\uD83D\\uDE0E'], \"\", \"\", [\"sunglasses\"], 22, 47, 63, 0],\n \"1f60f\": [['\\uD83D\\uDE0F'], '\\uE402', '\\uDBB8\\uDF43', [\"smirk\"], 22, 48, 63, 0],\n \"1f610\": [['\\uD83D\\uDE10'], \"\", \"\", [\"neutral_face\"], 23, 0, 63, 0],\n \"1f611\": [['\\uD83D\\uDE11'], \"\", \"\", [\"expressionless\"], 23, 1, 63, 0],\n \"1f612\": [['\\uD83D\\uDE12'], '\\uE40E', '\\uDBB8\\uDF26', [\"unamused\"], 23, 2, 63, 0, \":(\"],\n \"1f613\": [['\\uD83D\\uDE13'], '\\uE108', '\\uDBB8\\uDF44', [\"sweat\"], 23, 3, 63, 0],\n \"1f614\": [['\\uD83D\\uDE14'], '\\uE403', '\\uDBB8\\uDF40', [\"pensive\"], 23, 4, 63, 0],\n \"1f615\": [['\\uD83D\\uDE15'], \"\", \"\", [\"confused\"], 23, 5, 63, 0],\n \"1f616\": [['\\uD83D\\uDE16'], '\\uE407', '\\uDBB8\\uDF3F', [\"confounded\"], 23, 6, 63, 0],\n \"1f617\": [['\\uD83D\\uDE17'], \"\", \"\", [\"kissing\"], 23, 7, 63, 0],\n \"1f618\": [['\\uD83D\\uDE18'], '\\uE418', '\\uDBB8\\uDF2C', [\"kissing_heart\"], 23, 8, 63, 0],\n \"1f619\": [['\\uD83D\\uDE19'], \"\", \"\", [\"kissing_smiling_eyes\"], 23, 9, 63, 0],\n \"1f61a\": [['\\uD83D\\uDE1A'], '\\uE417', '\\uDBB8\\uDF2D', [\"kissing_closed_eyes\"], 23, 10, 63, 0],\n \"1f61b\": [['\\uD83D\\uDE1B'], \"\", \"\", [\"stuck_out_tongue\"], 23, 11, 63, 0, \":p\"],\n \"1f61c\": [['\\uD83D\\uDE1C'], '\\uE105', '\\uDBB8\\uDF29', [\"stuck_out_tongue_winking_eye\"], 23, 12, 63, 0, \";p\"],\n \"1f61d\": [['\\uD83D\\uDE1D'], '\\uE409', '\\uDBB8\\uDF2A', [\"stuck_out_tongue_closed_eyes\"], 23, 13, 63, 0],\n \"1f61e\": [['\\uD83D\\uDE1E'], '\\uE058', '\\uDBB8\\uDF23', [\"disappointed\"], 23, 14, 63, 0, \":(\"],\n \"1f61f\": [['\\uD83D\\uDE1F'], \"\", \"\", [\"worried\"], 23, 15, 63, 0],\n \"1f620\": [['\\uD83D\\uDE20'], '\\uE059', '\\uDBB8\\uDF20', [\"angry\"], 23, 16, 63, 0],\n \"1f621\": [['\\uD83D\\uDE21'], '\\uE416', '\\uDBB8\\uDF3D', [\"rage\"], 23, 17, 63, 0],\n \"1f622\": [['\\uD83D\\uDE22'], '\\uE413', '\\uDBB8\\uDF39', [\"cry\"], 23, 18, 63, 0, \":'(\"],\n \"1f623\": [['\\uD83D\\uDE23'], '\\uE406', '\\uDBB8\\uDF3C', [\"persevere\"], 23, 19, 63, 0],\n \"1f624\": [['\\uD83D\\uDE24'], '\\uE404', '\\uDBB8\\uDF28', [\"triumph\"], 23, 20, 63, 0],\n \"1f625\": [['\\uD83D\\uDE25'], '\\uE401', '\\uDBB8\\uDF45', [\"disappointed_relieved\"], 23, 21, 63, 0],\n \"1f626\": [['\\uD83D\\uDE26'], \"\", \"\", [\"frowning\"], 23, 22, 63, 0],\n \"1f627\": [['\\uD83D\\uDE27'], \"\", \"\", [\"anguished\"], 23, 23, 63, 0],\n \"1f628\": [['\\uD83D\\uDE28'], '\\uE40B', '\\uDBB8\\uDF3B', [\"fearful\"], 23, 24, 63, 0],\n \"1f629\": [['\\uD83D\\uDE29'], '\\uE403', '\\uDBB8\\uDF21', [\"weary\"], 23, 25, 63, 0],\n \"1f62a\": [['\\uD83D\\uDE2A'], '\\uE408', '\\uDBB8\\uDF42', [\"sleepy\"], 23, 26, 63, 0],\n \"1f62b\": [['\\uD83D\\uDE2B'], '\\uE406', '\\uDBB8\\uDF46', [\"tired_face\"], 23, 27, 63, 0],\n \"1f62c\": [['\\uD83D\\uDE2C'], \"\", \"\", [\"grimacing\"], 23, 28, 63, 0],\n \"1f62d\": [['\\uD83D\\uDE2D'], '\\uE411', '\\uDBB8\\uDF3A', [\"sob\"], 23, 29, 63, 0, \":'(\"],\n \"1f62e\": [['\\uD83D\\uDE2E'], \"\", \"\", [\"open_mouth\"], 23, 30, 63, 0],\n \"1f62f\": [['\\uD83D\\uDE2F'], \"\", \"\", [\"hushed\"], 23, 31, 63, 0],\n \"1f630\": [['\\uD83D\\uDE30'], '\\uE40F', '\\uDBB8\\uDF25', [\"cold_sweat\"], 23, 32, 63, 0],\n \"1f631\": [['\\uD83D\\uDE31'], '\\uE107', '\\uDBB8\\uDF41', [\"scream\"], 23, 33, 63, 0],\n \"1f632\": [['\\uD83D\\uDE32'], '\\uE410', '\\uDBB8\\uDF22', [\"astonished\"], 23, 34, 63, 0],\n \"1f633\": [['\\uD83D\\uDE33'], '\\uE40D', '\\uDBB8\\uDF2F', [\"flushed\"], 23, 35, 63, 0],\n \"1f634\": [['\\uD83D\\uDE34'], \"\", \"\", [\"sleeping\"], 23, 36, 63, 0],\n \"1f635\": [['\\uD83D\\uDE35'], '\\uE406', '\\uDBB8\\uDF24', [\"dizzy_face\"], 23, 37, 63, 0],\n \"1f636\": [['\\uD83D\\uDE36'], \"\", \"\", [\"no_mouth\"], 23, 38, 63, 0],\n \"1f637\": [['\\uD83D\\uDE37'], '\\uE40C', '\\uDBB8\\uDF2E', [\"mask\"], 23, 39, 63, 0],\n \"1f638\": [['\\uD83D\\uDE38'], '\\uE404', '\\uDBB8\\uDF49', [\"smile_cat\"], 23, 40, 63, 0],\n \"1f639\": [['\\uD83D\\uDE39'], '\\uE412', '\\uDBB8\\uDF4A', [\"joy_cat\"], 23, 41, 63, 0],\n \"1f63a\": [['\\uD83D\\uDE3A'], '\\uE057', '\\uDBB8\\uDF48', [\"smiley_cat\"], 23, 42, 63, 0],\n \"1f63b\": [['\\uD83D\\uDE3B'], '\\uE106', '\\uDBB8\\uDF4C', [\"heart_eyes_cat\"], 23, 43, 63, 0],\n \"1f63c\": [['\\uD83D\\uDE3C'], '\\uE404', '\\uDBB8\\uDF4F', [\"smirk_cat\"], 23, 44, 63, 0],\n \"1f63d\": [['\\uD83D\\uDE3D'], '\\uE418', '\\uDBB8\\uDF4B', [\"kissing_cat\"], 23, 45, 63, 0],\n \"1f63e\": [['\\uD83D\\uDE3E'], '\\uE416', '\\uDBB8\\uDF4E', [\"pouting_cat\"], 23, 46, 63, 0],\n \"1f63f\": [['\\uD83D\\uDE3F'], '\\uE413', '\\uDBB8\\uDF4D', [\"crying_cat_face\"], 23, 47, 63, 0],\n \"1f640\": [['\\uD83D\\uDE40'], '\\uE403', '\\uDBB8\\uDF50', [\"scream_cat\"], 23, 48, 63, 0],\n \"1f641\": [['\\uD83D\\uDE41'], \"\", \"\", [\"slightly_frowning_face\"], 24, 0, 31, 0],\n \"1f642\": [['\\uD83D\\uDE42'], \"\", \"\", [\"slightly_smiling_face\"], 24, 1, 63, 0],\n \"1f643\": [['\\uD83D\\uDE43'], \"\", \"\", [\"upside_down_face\"], 24, 2, 31, 0],\n \"1f644\": [['\\uD83D\\uDE44'], \"\", \"\", [\"face_with_rolling_eyes\"], 24, 3, 31, 0],\n \"1f648\": [['\\uD83D\\uDE48'], \"\", '\\uDBB8\\uDF54', [\"see_no_evil\"], 24, 22, 63, 0],\n \"1f649\": [['\\uD83D\\uDE49'], \"\", '\\uDBB8\\uDF56', [\"hear_no_evil\"], 24, 23, 63, 0],\n \"1f64a\": [['\\uD83D\\uDE4A'], \"\", '\\uDBB8\\uDF55', [\"speak_no_evil\"], 24, 24, 63, 0],\n \"1f64c\": [['\\uD83D\\uDE4C'], '\\uE427', '\\uDBB8\\uDF58', [\"raised_hands\"], 24, 31, 63, 0],\n \"1f64f\": [['\\uD83D\\uDE4F'], '\\uE41D', '\\uDBB8\\uDF5B', [\"pray\"], 25, 0, 63, 0],\n \"1f680\": [['\\uD83D\\uDE80'], '\\uE10D', '\\uDBB9\\uDFED', [\"rocket\"], 25, 6, 63, 0],\n \"1f681\": [['\\uD83D\\uDE81'], \"\", \"\", [\"helicopter\"], 25, 7, 63, 0],\n \"1f682\": [['\\uD83D\\uDE82'], \"\", \"\", [\"steam_locomotive\"], 25, 8, 63, 0],\n \"1f683\": [['\\uD83D\\uDE83'], '\\uE01E', '\\uDBB9\\uDFDF', [\"railway_car\"], 25, 9, 63, 0],\n \"1f684\": [['\\uD83D\\uDE84'], '\\uE435', '\\uDBB9\\uDFE2', [\"bullettrain_side\"], 25, 10, 63, 0],\n \"1f685\": [['\\uD83D\\uDE85'], '\\uE01F', '\\uDBB9\\uDFE3', [\"bullettrain_front\"], 25, 11, 63, 0],\n \"1f686\": [['\\uD83D\\uDE86'], \"\", \"\", [\"train2\"], 25, 12, 63, 0],\n \"1f687\": [['\\uD83D\\uDE87'], '\\uE434', '\\uDBB9\\uDFE0', [\"metro\"], 25, 13, 63, 0],\n \"1f688\": [['\\uD83D\\uDE88'], \"\", \"\", [\"light_rail\"], 25, 14, 63, 0],\n \"1f689\": [['\\uD83D\\uDE89'], '\\uE039', '\\uDBB9\\uDFEC', [\"station\"], 25, 15, 63, 0],\n \"1f68a\": [['\\uD83D\\uDE8A'], \"\", \"\", [\"tram\"], 25, 16, 63, 0],\n \"1f68b\": [['\\uD83D\\uDE8B'], \"\", \"\", [\"train\"], 25, 17, 63, 0],\n \"1f68c\": [['\\uD83D\\uDE8C'], '\\uE159', '\\uDBB9\\uDFE6', [\"bus\"], 25, 18, 63, 0],\n \"1f68d\": [['\\uD83D\\uDE8D'], \"\", \"\", [\"oncoming_bus\"], 25, 19, 63, 0],\n \"1f68e\": [['\\uD83D\\uDE8E'], \"\", \"\", [\"trolleybus\"], 25, 20, 63, 0],\n \"1f68f\": [['\\uD83D\\uDE8F'], '\\uE150', '\\uDBB9\\uDFE7', [\"busstop\"], 25, 21, 63, 0],\n \"1f690\": [['\\uD83D\\uDE90'], \"\", \"\", [\"minibus\"], 25, 22, 63, 0],\n \"1f691\": [['\\uD83D\\uDE91'], '\\uE431', '\\uDBB9\\uDFF3', [\"ambulance\"], 25, 23, 63, 0],\n \"1f692\": [['\\uD83D\\uDE92'], '\\uE430', '\\uDBB9\\uDFF2', [\"fire_engine\"], 25, 24, 63, 0],\n \"1f693\": [['\\uD83D\\uDE93'], '\\uE432', '\\uDBB9\\uDFF4', [\"police_car\"], 25, 25, 63, 0],\n \"1f694\": [['\\uD83D\\uDE94'], \"\", \"\", [\"oncoming_police_car\"], 25, 26, 63, 0],\n \"1f695\": [['\\uD83D\\uDE95'], '\\uE15A', '\\uDBB9\\uDFEF', [\"taxi\"], 25, 27, 63, 0],\n \"1f696\": [['\\uD83D\\uDE96'], \"\", \"\", [\"oncoming_taxi\"], 25, 28, 63, 0],\n \"1f697\": [['\\uD83D\\uDE97'], '\\uE01B', '\\uDBB9\\uDFE4', [\"car\", \"red_car\"], 25, 29, 63, 0],\n \"1f698\": [['\\uD83D\\uDE98'], \"\", \"\", [\"oncoming_automobile\"], 25, 30, 63, 0],\n \"1f699\": [['\\uD83D\\uDE99'], '\\uE42E', '\\uDBB9\\uDFE5', [\"blue_car\"], 25, 31, 63, 0],\n \"1f69a\": [['\\uD83D\\uDE9A'], '\\uE42F', '\\uDBB9\\uDFF1', [\"truck\"], 25, 32, 63, 0],\n \"1f69b\": [['\\uD83D\\uDE9B'], \"\", \"\", [\"articulated_lorry\"], 25, 33, 63, 0],\n \"1f69c\": [['\\uD83D\\uDE9C'], \"\", \"\", [\"tractor\"], 25, 34, 63, 0],\n \"1f69d\": [['\\uD83D\\uDE9D'], \"\", \"\", [\"monorail\"], 25, 35, 63, 0],\n \"1f69e\": [['\\uD83D\\uDE9E'], \"\", \"\", [\"mountain_railway\"], 25, 36, 63, 0],\n \"1f69f\": [['\\uD83D\\uDE9F'], \"\", \"\", [\"suspension_railway\"], 25, 37, 63, 0],\n \"1f6a0\": [['\\uD83D\\uDEA0'], \"\", \"\", [\"mountain_cableway\"], 25, 38, 63, 0],\n \"1f6a1\": [['\\uD83D\\uDEA1'], \"\", \"\", [\"aerial_tramway\"], 25, 39, 63, 0],\n \"1f6a2\": [['\\uD83D\\uDEA2'], '\\uE202', '\\uDBB9\\uDFE8', [\"ship\"], 25, 40, 63, 0],\n \"1f6a4\": [['\\uD83D\\uDEA4'], '\\uE135', '\\uDBB9\\uDFEE', [\"speedboat\"], 25, 47, 63, 0],\n \"1f6a5\": [['\\uD83D\\uDEA5'], '\\uE14E', '\\uDBB9\\uDFF7', [\"traffic_light\"], 25, 48, 63, 0],\n \"1f6a6\": [['\\uD83D\\uDEA6'], \"\", \"\", [\"vertical_traffic_light\"], 26, 0, 63, 0],\n \"1f6a7\": [['\\uD83D\\uDEA7'], '\\uE137', '\\uDBB9\\uDFF8', [\"construction\"], 26, 1, 63, 0],\n \"1f6a8\": [['\\uD83D\\uDEA8'], '\\uE432', '\\uDBB9\\uDFF9', [\"rotating_light\"], 26, 2, 63, 0],\n \"1f6a9\": [['\\uD83D\\uDEA9'], \"\", '\\uDBBA\\uDF22', [\"triangular_flag_on_post\"], 26, 3, 63, 0],\n \"1f6aa\": [['\\uD83D\\uDEAA'], \"\", '\\uDBB9\\uDCF3', [\"door\"], 26, 4, 63, 0],\n \"1f6ab\": [['\\uD83D\\uDEAB'], \"\", '\\uDBBA\\uDF48', [\"no_entry_sign\"], 26, 5, 63, 0],\n \"1f6ac\": [['\\uD83D\\uDEAC'], '\\uE30E', '\\uDBBA\\uDF1E', [\"smoking\"], 26, 6, 63, 0],\n \"1f6ad\": [['\\uD83D\\uDEAD'], '\\uE208', '\\uDBBA\\uDF1F', [\"no_smoking\"], 26, 7, 63, 0],\n \"1f6ae\": [['\\uD83D\\uDEAE'], \"\", \"\", [\"put_litter_in_its_place\"], 26, 8, 63, 0],\n \"1f6af\": [['\\uD83D\\uDEAF'], \"\", \"\", [\"do_not_litter\"], 26, 9, 63, 0],\n \"1f6b0\": [['\\uD83D\\uDEB0'], \"\", \"\", [\"potable_water\"], 26, 10, 63, 0],\n \"1f6b1\": [['\\uD83D\\uDEB1'], \"\", \"\", [\"non-potable_water\"], 26, 11, 63, 0],\n \"1f6b2\": [['\\uD83D\\uDEB2'], '\\uE136', '\\uDBB9\\uDFEB', [\"bike\"], 26, 12, 63, 0],\n \"1f6b3\": [['\\uD83D\\uDEB3'], \"\", \"\", [\"no_bicycles\"], 26, 13, 63, 0],\n \"1f6b7\": [['\\uD83D\\uDEB7'], \"\", \"\", [\"no_pedestrians\"], 26, 32, 63, 0],\n \"1f6b8\": [['\\uD83D\\uDEB8'], \"\", \"\", [\"children_crossing\"], 26, 33, 63, 0],\n \"1f6b9\": [['\\uD83D\\uDEB9'], '\\uE138', '\\uDBBA\\uDF33', [\"mens\"], 26, 34, 63, 0],\n \"1f6ba\": [['\\uD83D\\uDEBA'], '\\uE139', '\\uDBBA\\uDF34', [\"womens\"], 26, 35, 63, 0],\n \"1f6bb\": [['\\uD83D\\uDEBB'], '\\uE151', '\\uDBB9\\uDD06', [\"restroom\"], 26, 36, 63, 0],\n \"1f6bc\": [['\\uD83D\\uDEBC'], '\\uE13A', '\\uDBBA\\uDF35', [\"baby_symbol\"], 26, 37, 63, 0],\n \"1f6bd\": [['\\uD83D\\uDEBD'], '\\uE140', '\\uDBB9\\uDD07', [\"toilet\"], 26, 38, 63, 0],\n \"1f6be\": [['\\uD83D\\uDEBE'], '\\uE309', '\\uDBB9\\uDD08', [\"wc\"], 26, 39, 63, 0],\n \"1f6bf\": [['\\uD83D\\uDEBF'], \"\", \"\", [\"shower\"], 26, 40, 63, 0],\n \"1f6c0\": [['\\uD83D\\uDEC0'], '\\uE13F', '\\uDBB9\\uDD05', [\"bath\"], 26, 41, 63, 0],\n \"1f6c1\": [['\\uD83D\\uDEC1'], \"\", \"\", [\"bathtub\"], 26, 47, 63, 0],\n \"1f6c2\": [['\\uD83D\\uDEC2'], \"\", \"\", [\"passport_control\"], 26, 48, 63, 0],\n \"1f6c3\": [['\\uD83D\\uDEC3'], \"\", \"\", [\"customs\"], 27, 0, 63, 0],\n \"1f6c4\": [['\\uD83D\\uDEC4'], \"\", \"\", [\"baggage_claim\"], 27, 1, 63, 0],\n \"1f6c5\": [['\\uD83D\\uDEC5'], \"\", \"\", [\"left_luggage\"], 27, 2, 63, 0],\n \"1f6cb\": [['\\uD83D\\uDECB'], \"\", \"\", [\"couch_and_lamp\"], 27, 3, 31, 0],\n \"1f6cc\": [['\\uD83D\\uDECC'], \"\", \"\", [\"sleeping_accommodation\"], 27, 4, 31, 0],\n \"1f6cd\": [['\\uD83D\\uDECD'], \"\", \"\", [\"shopping_bags\"], 27, 10, 31, 0],\n \"1f6ce\": [['\\uD83D\\uDECE'], \"\", \"\", [\"bellhop_bell\"], 27, 11, 31, 0],\n \"1f6cf\": [['\\uD83D\\uDECF'], \"\", \"\", [\"bed\"], 27, 12, 31, 0],\n \"1f6d0\": [['\\uD83D\\uDED0'], \"\", \"\", [\"place_of_worship\"], 27, 13, 31, 0],\n \"1f6d1\": [['\\uD83D\\uDED1'], \"\", \"\", [\"octagonal_sign\"], 27, 14, 31, 0],\n \"1f6d2\": [['\\uD83D\\uDED2'], \"\", \"\", [\"shopping_trolley\"], 27, 15, 31, 0],\n \"1f6e0\": [['\\uD83D\\uDEE0'], \"\", \"\", [\"hammer_and_wrench\"], 27, 16, 31, 0],\n \"1f6e1\": [['\\uD83D\\uDEE1'], \"\", \"\", [\"shield\"], 27, 17, 31, 0],\n \"1f6e2\": [['\\uD83D\\uDEE2'], \"\", \"\", [\"oil_drum\"], 27, 18, 31, 0],\n \"1f6e3\": [['\\uD83D\\uDEE3'], \"\", \"\", [\"motorway\"], 27, 19, 31, 0],\n \"1f6e4\": [['\\uD83D\\uDEE4'], \"\", \"\", [\"railway_track\"], 27, 20, 31, 0],\n \"1f6e5\": [['\\uD83D\\uDEE5'], \"\", \"\", [\"motor_boat\"], 27, 21, 31, 0],\n \"1f6e9\": [['\\uD83D\\uDEE9'], \"\", \"\", [\"small_airplane\"], 27, 22, 31, 0],\n \"1f6eb\": [['\\uD83D\\uDEEB'], \"\", \"\", [\"airplane_departure\"], 27, 23, 31, 0],\n \"1f6ec\": [['\\uD83D\\uDEEC'], \"\", \"\", [\"airplane_arriving\"], 27, 24, 31, 0],\n \"1f6f0\": [['\\uD83D\\uDEF0'], \"\", \"\", [\"satellite\"], 27, 25, 31, 0],\n \"1f6f3\": [['\\uD83D\\uDEF3'], \"\", \"\", [\"passenger_ship\"], 27, 26, 31, 0],\n \"1f6f4\": [['\\uD83D\\uDEF4'], \"\", \"\", [\"scooter\"], 27, 27, 31, 0],\n \"1f6f5\": [['\\uD83D\\uDEF5'], \"\", \"\", [\"motor_scooter\"], 27, 28, 31, 0],\n \"1f6f6\": [['\\uD83D\\uDEF6'], \"\", \"\", [\"canoe\"], 27, 29, 31, 0],\n \"1f910\": [['\\uD83E\\uDD10'], \"\", \"\", [\"zipper_mouth_face\"], 27, 30, 31, 0],\n \"1f911\": [['\\uD83E\\uDD11'], \"\", \"\", [\"money_mouth_face\"], 27, 31, 31, 0],\n \"1f912\": [['\\uD83E\\uDD12'], \"\", \"\", [\"face_with_thermometer\"], 27, 32, 31, 0],\n \"1f913\": [['\\uD83E\\uDD13'], \"\", \"\", [\"nerd_face\"], 27, 33, 31, 0],\n \"1f914\": [['\\uD83E\\uDD14'], \"\", \"\", [\"thinking_face\"], 27, 34, 31, 0],\n \"1f915\": [['\\uD83E\\uDD15'], \"\", \"\", [\"face_with_head_bandage\"], 27, 35, 31, 0],\n \"1f916\": [['\\uD83E\\uDD16'], \"\", \"\", [\"robot_face\"], 27, 36, 31, 0],\n \"1f917\": [['\\uD83E\\uDD17'], \"\", \"\", [\"hugging_face\"], 27, 37, 31, 0],\n \"1f918\": [['\\uD83E\\uDD18'], \"\", \"\", [\"the_horns\", \"sign_of_the_horns\"], 27, 38, 31, 0],\n \"1f919\": [['\\uD83E\\uDD19'], \"\", \"\", [\"call_me_hand\"], 27, 44, 31, 0],\n \"1f91a\": [['\\uD83E\\uDD1A'], \"\", \"\", [\"raised_back_of_hand\"], 28, 1, 31, 0],\n \"1f91b\": [['\\uD83E\\uDD1B'], \"\", \"\", [\"left-facing_fist\"], 28, 7, 31, 0],\n \"1f91c\": [['\\uD83E\\uDD1C'], \"\", \"\", [\"right-facing_fist\"], 28, 13, 31, 0],\n \"1f91d\": [['\\uD83E\\uDD1D'], \"\", \"\", [\"handshake\"], 28, 19, 31, 0],\n \"1f91e\": [['\\uD83E\\uDD1E'], \"\", \"\", [\"hand_with_index_and_middle_fingers_crossed\"], 28, 20, 31, 0],\n \"1f920\": [['\\uD83E\\uDD20'], \"\", \"\", [\"face_with_cowboy_hat\"], 28, 26, 31, 0],\n \"1f921\": [['\\uD83E\\uDD21'], \"\", \"\", [\"clown_face\"], 28, 27, 31, 0],\n \"1f922\": [['\\uD83E\\uDD22'], \"\", \"\", [\"nauseated_face\"], 28, 28, 31, 0],\n \"1f923\": [['\\uD83E\\uDD23'], \"\", \"\", [\"rolling_on_the_floor_laughing\"], 28, 29, 31, 0],\n \"1f924\": [['\\uD83E\\uDD24'], \"\", \"\", [\"drooling_face\"], 28, 30, 31, 0],\n \"1f925\": [['\\uD83E\\uDD25'], \"\", \"\", [\"lying_face\"], 28, 31, 31, 0],\n \"1f926\": [['\\uD83E\\uDD26'], \"\", \"\", [\"face_palm\"], 28, 32, 31, 0],\n \"1f927\": [['\\uD83E\\uDD27'], \"\", \"\", [\"sneezing_face\"], 28, 38, 31, 0],\n \"1f930\": [['\\uD83E\\uDD30'], \"\", \"\", [\"pregnant_woman\"], 28, 39, 31, 0],\n \"1f933\": [['\\uD83E\\uDD33'], \"\", \"\", [\"selfie\"], 28, 45, 31, 0],\n \"1f934\": [['\\uD83E\\uDD34'], \"\", \"\", [\"prince\"], 29, 2, 31, 0],\n \"1f935\": [['\\uD83E\\uDD35'], \"\", \"\", [\"man_in_tuxedo\"], 29, 8, 31, 0],\n \"1f936\": [['\\uD83E\\uDD36'], \"\", \"\", [\"mother_christmas\"], 29, 14, 31, 0],\n \"1f937\": [['\\uD83E\\uDD37'], \"\", \"\", [\"shrug\"], 29, 20, 31, 0],\n \"1f938\": [['\\uD83E\\uDD38'], \"\", \"\", [\"person_doing_cartwheel\"], 29, 26, 31, 0],\n \"1f939\": [['\\uD83E\\uDD39'], \"\", \"\", [\"juggling\"], 29, 32, 31, 0],\n \"1f93a\": [['\\uD83E\\uDD3A'], \"\", \"\", [\"fencer\"], 29, 38, 31, 0],\n \"1f93c\": [['\\uD83E\\uDD3C'], \"\", \"\", [\"wrestlers\"], 29, 39, 31, 0],\n \"1f93d\": [['\\uD83E\\uDD3D'], \"\", \"\", [\"water_polo\"], 29, 40, 31, 0],\n \"1f93e\": [['\\uD83E\\uDD3E'], \"\", \"\", [\"handball\"], 29, 46, 31, 0],\n \"1f940\": [['\\uD83E\\uDD40'], \"\", \"\", [\"wilted_flower\"], 30, 3, 31, 0],\n \"1f941\": [['\\uD83E\\uDD41'], \"\", \"\", [\"drum_with_drumsticks\"], 30, 4, 31, 0],\n \"1f942\": [['\\uD83E\\uDD42'], \"\", \"\", [\"clinking_glasses\"], 30, 5, 31, 0],\n \"1f943\": [['\\uD83E\\uDD43'], \"\", \"\", [\"tumbler_glass\"], 30, 6, 31, 0],\n \"1f944\": [['\\uD83E\\uDD44'], \"\", \"\", [\"spoon\"], 30, 7, 31, 0],\n \"1f945\": [['\\uD83E\\uDD45'], \"\", \"\", [\"goal_net\"], 30, 8, 31, 0],\n \"1f947\": [['\\uD83E\\uDD47'], \"\", \"\", [\"first_place_medal\"], 30, 9, 31, 0],\n \"1f948\": [['\\uD83E\\uDD48'], \"\", \"\", [\"second_place_medal\"], 30, 10, 31, 0],\n \"1f949\": [['\\uD83E\\uDD49'], \"\", \"\", [\"third_place_medal\"], 30, 11, 31, 0],\n \"1f94a\": [['\\uD83E\\uDD4A'], \"\", \"\", [\"boxing_glove\"], 30, 12, 31, 0],\n \"1f94b\": [['\\uD83E\\uDD4B'], \"\", \"\", [\"martial_arts_uniform\"], 30, 13, 31, 0],\n \"1f950\": [['\\uD83E\\uDD50'], \"\", \"\", [\"croissant\"], 30, 14, 31, 0],\n \"1f951\": [['\\uD83E\\uDD51'], \"\", \"\", [\"avocado\"], 30, 15, 31, 0],\n \"1f952\": [['\\uD83E\\uDD52'], \"\", \"\", [\"cucumber\"], 30, 16, 31, 0],\n \"1f953\": [['\\uD83E\\uDD53'], \"\", \"\", [\"bacon\"], 30, 17, 31, 0],\n \"1f954\": [['\\uD83E\\uDD54'], \"\", \"\", [\"potato\"], 30, 18, 31, 0],\n \"1f955\": [['\\uD83E\\uDD55'], \"\", \"\", [\"carrot\"], 30, 19, 31, 0],\n \"1f956\": [['\\uD83E\\uDD56'], \"\", \"\", [\"baguette_bread\"], 30, 20, 31, 0],\n \"1f957\": [['\\uD83E\\uDD57'], \"\", \"\", [\"green_salad\"], 30, 21, 31, 0],\n \"1f958\": [['\\uD83E\\uDD58'], \"\", \"\", [\"shallow_pan_of_food\"], 30, 22, 31, 0],\n \"1f959\": [['\\uD83E\\uDD59'], \"\", \"\", [\"stuffed_flatbread\"], 30, 23, 31, 0],\n \"1f95a\": [['\\uD83E\\uDD5A'], \"\", \"\", [\"egg\"], 30, 24, 31, 0],\n \"1f95b\": [['\\uD83E\\uDD5B'], \"\", \"\", [\"glass_of_milk\"], 30, 25, 31, 0],\n \"1f95c\": [['\\uD83E\\uDD5C'], \"\", \"\", [\"peanuts\"], 30, 26, 31, 0],\n \"1f95d\": [['\\uD83E\\uDD5D'], \"\", \"\", [\"kiwifruit\"], 30, 27, 31, 0],\n \"1f95e\": [['\\uD83E\\uDD5E'], \"\", \"\", [\"pancakes\"], 30, 28, 31, 0],\n \"1f980\": [['\\uD83E\\uDD80'], \"\", \"\", [\"crab\"], 30, 29, 31, 0],\n \"1f981\": [['\\uD83E\\uDD81'], \"\", \"\", [\"lion_face\"], 30, 30, 31, 0],\n \"1f982\": [['\\uD83E\\uDD82'], \"\", \"\", [\"scorpion\"], 30, 31, 31, 0],\n \"1f983\": [['\\uD83E\\uDD83'], \"\", \"\", [\"turkey\"], 30, 32, 31, 0],\n \"1f984\": [['\\uD83E\\uDD84'], \"\", \"\", [\"unicorn_face\"], 30, 33, 31, 0],\n \"1f985\": [['\\uD83E\\uDD85'], \"\", \"\", [\"eagle\"], 30, 34, 31, 0],\n \"1f986\": [['\\uD83E\\uDD86'], \"\", \"\", [\"duck\"], 30, 35, 31, 0],\n \"1f987\": [['\\uD83E\\uDD87'], \"\", \"\", [\"bat\"], 30, 36, 31, 0],\n \"1f988\": [['\\uD83E\\uDD88'], \"\", \"\", [\"shark\"], 30, 37, 31, 0],\n \"1f989\": [['\\uD83E\\uDD89'], \"\", \"\", [\"owl\"], 30, 38, 31, 0],\n \"1f98a\": [['\\uD83E\\uDD8A'], \"\", \"\", [\"fox_face\"], 30, 39, 31, 0],\n \"1f98b\": [['\\uD83E\\uDD8B'], \"\", \"\", [\"butterfly\"], 30, 40, 31, 0],\n \"1f98c\": [['\\uD83E\\uDD8C'], \"\", \"\", [\"deer\"], 30, 41, 31, 0],\n \"1f98d\": [['\\uD83E\\uDD8D'], \"\", \"\", [\"gorilla\"], 30, 42, 31, 0],\n \"1f98e\": [['\\uD83E\\uDD8E'], \"\", \"\", [\"lizard\"], 30, 43, 31, 0],\n \"1f98f\": [['\\uD83E\\uDD8F'], \"\", \"\", [\"rhinoceros\"], 30, 44, 31, 0],\n \"1f990\": [['\\uD83E\\uDD90'], \"\", \"\", [\"shrimp\"], 30, 45, 31, 0],\n \"1f991\": [['\\uD83E\\uDD91'], \"\", \"\", [\"squid\"], 30, 46, 31, 0],\n \"1f9c0\": [['\\uD83E\\uDDC0'], \"\", \"\", [\"cheese_wedge\"], 30, 47, 31, 0],\n \"0023-20e3\": [['#\\uFE0F\\u20E3', '#\\u20E3'], '\\uE210', '\\uDBBA\\uDC2C', [\"hash\"], 30, 48, 15, 0],\n \"002a-20e3\": [['*\\uFE0F\\u20E3', '*\\u20E3'], \"\", \"\", [\"keycap_star\"], 31, 0, 15, 0],\n \"0030-20e3\": [['0\\uFE0F\\u20E3', '0\\u20E3'], '\\uE225', '\\uDBBA\\uDC37', [\"zero\"], 31, 1, 15, 0],\n \"0031-20e3\": [['1\\uFE0F\\u20E3', '1\\u20E3'], '\\uE21C', '\\uDBBA\\uDC2E', [\"one\"], 31, 2, 15, 0],\n \"0032-20e3\": [['2\\uFE0F\\u20E3', '2\\u20E3'], '\\uE21D', '\\uDBBA\\uDC2F', [\"two\"], 31, 3, 15, 0],\n \"0033-20e3\": [['3\\uFE0F\\u20E3', '3\\u20E3'], '\\uE21E', '\\uDBBA\\uDC30', [\"three\"], 31, 4, 15, 0],\n \"0034-20e3\": [['4\\uFE0F\\u20E3', '4\\u20E3'], '\\uE21F', '\\uDBBA\\uDC31', [\"four\"], 31, 5, 15, 0],\n \"0035-20e3\": [['5\\uFE0F\\u20E3', '5\\u20E3'], '\\uE220', '\\uDBBA\\uDC32', [\"five\"], 31, 6, 15, 0],\n \"0036-20e3\": [['6\\uFE0F\\u20E3', '6\\u20E3'], '\\uE221', '\\uDBBA\\uDC33', [\"six\"], 31, 7, 15, 0],\n \"0037-20e3\": [['7\\uFE0F\\u20E3', '7\\u20E3'], '\\uE222', '\\uDBBA\\uDC34', [\"seven\"], 31, 8, 15, 0],\n \"0038-20e3\": [['8\\uFE0F\\u20E3', '8\\u20E3'], '\\uE223', '\\uDBBA\\uDC35', [\"eight\"], 31, 9, 15, 0],\n \"0039-20e3\": [['9\\uFE0F\\u20E3', '9\\u20E3'], '\\uE224', '\\uDBBA\\uDC36', [\"nine\"], 31, 10, 15, 0],\n \"1f1e6-1f1e8\": [['\\uD83C\\uDDE6\\uD83C\\uDDE8'], \"\", \"\", [\"flag-ac\"], 31, 11, 63, 0],\n \"1f1e6-1f1e9\": [['\\uD83C\\uDDE6\\uD83C\\uDDE9'], \"\", \"\", [\"flag-ad\"], 31, 12, 63, 0],\n \"1f1e6-1f1ea\": [['\\uD83C\\uDDE6\\uD83C\\uDDEA'], \"\", \"\", [\"flag-ae\"], 31, 13, 63, 0],\n \"1f1e6-1f1eb\": [['\\uD83C\\uDDE6\\uD83C\\uDDEB'], \"\", \"\", [\"flag-af\"], 31, 14, 63, 0],\n \"1f1e6-1f1ec\": [['\\uD83C\\uDDE6\\uD83C\\uDDEC'], \"\", \"\", [\"flag-ag\"], 31, 15, 63, 0],\n \"1f1e6-1f1ee\": [['\\uD83C\\uDDE6\\uD83C\\uDDEE'], \"\", \"\", [\"flag-ai\"], 31, 16, 63, 0],\n \"1f1e6-1f1f1\": [['\\uD83C\\uDDE6\\uD83C\\uDDF1'], \"\", \"\", [\"flag-al\"], 31, 17, 63, 0],\n \"1f1e6-1f1f2\": [['\\uD83C\\uDDE6\\uD83C\\uDDF2'], \"\", \"\", [\"flag-am\"], 31, 18, 63, 0],\n \"1f1e6-1f1f4\": [['\\uD83C\\uDDE6\\uD83C\\uDDF4'], \"\", \"\", [\"flag-ao\"], 31, 19, 63, 0],\n \"1f1e6-1f1f6\": [['\\uD83C\\uDDE6\\uD83C\\uDDF6'], \"\", \"\", [\"flag-aq\"], 31, 20, 63, 0],\n \"1f1e6-1f1f7\": [['\\uD83C\\uDDE6\\uD83C\\uDDF7'], \"\", \"\", [\"flag-ar\"], 31, 21, 63, 0],\n \"1f1e6-1f1f8\": [['\\uD83C\\uDDE6\\uD83C\\uDDF8'], \"\", \"\", [\"flag-as\"], 31, 22, 63, 0],\n \"1f1e6-1f1f9\": [['\\uD83C\\uDDE6\\uD83C\\uDDF9'], \"\", \"\", [\"flag-at\"], 31, 23, 63, 0],\n \"1f1e6-1f1fa\": [['\\uD83C\\uDDE6\\uD83C\\uDDFA'], \"\", \"\", [\"flag-au\"], 31, 24, 63, 0],\n \"1f1e6-1f1fc\": [['\\uD83C\\uDDE6\\uD83C\\uDDFC'], \"\", \"\", [\"flag-aw\"], 31, 25, 63, 0],\n \"1f1e6-1f1fd\": [['\\uD83C\\uDDE6\\uD83C\\uDDFD'], \"\", \"\", [\"flag-ax\"], 31, 26, 63, 0],\n \"1f1e6-1f1ff\": [['\\uD83C\\uDDE6\\uD83C\\uDDFF'], \"\", \"\", [\"flag-az\"], 31, 27, 63, 0],\n \"1f1e7-1f1e6\": [['\\uD83C\\uDDE7\\uD83C\\uDDE6'], \"\", \"\", [\"flag-ba\"], 31, 28, 31, 0],\n \"1f1e7-1f1e7\": [['\\uD83C\\uDDE7\\uD83C\\uDDE7'], \"\", \"\", [\"flag-bb\"], 31, 29, 63, 0],\n \"1f1e7-1f1e9\": [['\\uD83C\\uDDE7\\uD83C\\uDDE9'], \"\", \"\", [\"flag-bd\"], 31, 30, 63, 0],\n \"1f1e7-1f1ea\": [['\\uD83C\\uDDE7\\uD83C\\uDDEA'], \"\", \"\", [\"flag-be\"], 31, 31, 63, 0],\n \"1f1e7-1f1eb\": [['\\uD83C\\uDDE7\\uD83C\\uDDEB'], \"\", \"\", [\"flag-bf\"], 31, 32, 63, 0],\n \"1f1e7-1f1ec\": [['\\uD83C\\uDDE7\\uD83C\\uDDEC'], \"\", \"\", [\"flag-bg\"], 31, 33, 63, 0],\n \"1f1e7-1f1ed\": [['\\uD83C\\uDDE7\\uD83C\\uDDED'], \"\", \"\", [\"flag-bh\"], 31, 34, 63, 0],\n \"1f1e7-1f1ee\": [['\\uD83C\\uDDE7\\uD83C\\uDDEE'], \"\", \"\", [\"flag-bi\"], 31, 35, 63, 0],\n \"1f1e7-1f1ef\": [['\\uD83C\\uDDE7\\uD83C\\uDDEF'], \"\", \"\", [\"flag-bj\"], 31, 36, 63, 0],\n \"1f1e7-1f1f1\": [['\\uD83C\\uDDE7\\uD83C\\uDDF1'], \"\", \"\", [\"flag-bl\"], 31, 37, 61, 0],\n \"1f1e7-1f1f2\": [['\\uD83C\\uDDE7\\uD83C\\uDDF2'], \"\", \"\", [\"flag-bm\"], 31, 38, 63, 0],\n \"1f1e7-1f1f3\": [['\\uD83C\\uDDE7\\uD83C\\uDDF3'], \"\", \"\", [\"flag-bn\"], 31, 39, 31, 0],\n \"1f1e7-1f1f4\": [['\\uD83C\\uDDE7\\uD83C\\uDDF4'], \"\", \"\", [\"flag-bo\"], 31, 40, 63, 0],\n \"1f1e7-1f1f6\": [['\\uD83C\\uDDE7\\uD83C\\uDDF6'], \"\", \"\", [\"flag-bq\"], 31, 41, 61, 0],\n \"1f1e7-1f1f7\": [['\\uD83C\\uDDE7\\uD83C\\uDDF7'], \"\", \"\", [\"flag-br\"], 31, 42, 63, 0],\n \"1f1e7-1f1f8\": [['\\uD83C\\uDDE7\\uD83C\\uDDF8'], \"\", \"\", [\"flag-bs\"], 31, 43, 63, 0],\n \"1f1e7-1f1f9\": [['\\uD83C\\uDDE7\\uD83C\\uDDF9'], \"\", \"\", [\"flag-bt\"], 31, 44, 63, 0],\n \"1f1e7-1f1fb\": [['\\uD83C\\uDDE7\\uD83C\\uDDFB'], \"\", \"\", [\"flag-bv\"], 31, 45, 61, 0],\n \"1f1e7-1f1fc\": [['\\uD83C\\uDDE7\\uD83C\\uDDFC'], \"\", \"\", [\"flag-bw\"], 31, 46, 63, 0],\n \"1f1e7-1f1fe\": [['\\uD83C\\uDDE7\\uD83C\\uDDFE'], \"\", \"\", [\"flag-by\"], 31, 47, 63, 0],\n \"1f1e7-1f1ff\": [['\\uD83C\\uDDE7\\uD83C\\uDDFF'], \"\", \"\", [\"flag-bz\"], 31, 48, 63, 0],\n \"1f1e8-1f1e6\": [['\\uD83C\\uDDE8\\uD83C\\uDDE6'], \"\", \"\", [\"flag-ca\"], 32, 0, 63, 0],\n \"1f1e8-1f1e8\": [['\\uD83C\\uDDE8\\uD83C\\uDDE8'], \"\", \"\", [\"flag-cc\"], 32, 1, 63, 0],\n \"1f1e8-1f1e9\": [['\\uD83C\\uDDE8\\uD83C\\uDDE9'], \"\", \"\", [\"flag-cd\"], 32, 2, 63, 0],\n \"1f1e8-1f1eb\": [['\\uD83C\\uDDE8\\uD83C\\uDDEB'], \"\", \"\", [\"flag-cf\"], 32, 3, 63, 0],\n \"1f1e8-1f1ec\": [['\\uD83C\\uDDE8\\uD83C\\uDDEC'], \"\", \"\", [\"flag-cg\"], 32, 4, 63, 0],\n \"1f1e8-1f1ed\": [['\\uD83C\\uDDE8\\uD83C\\uDDED'], \"\", \"\", [\"flag-ch\"], 32, 5, 63, 0],\n \"1f1e8-1f1ee\": [['\\uD83C\\uDDE8\\uD83C\\uDDEE'], \"\", \"\", [\"flag-ci\"], 32, 6, 63, 0],\n \"1f1e8-1f1f0\": [['\\uD83C\\uDDE8\\uD83C\\uDDF0'], \"\", \"\", [\"flag-ck\"], 32, 7, 63, 0],\n \"1f1e8-1f1f1\": [['\\uD83C\\uDDE8\\uD83C\\uDDF1'], \"\", \"\", [\"flag-cl\"], 32, 8, 63, 0],\n \"1f1e8-1f1f2\": [['\\uD83C\\uDDE8\\uD83C\\uDDF2'], \"\", \"\", [\"flag-cm\"], 32, 9, 63, 0],\n \"1f1e8-1f1f3\": [['\\uD83C\\uDDE8\\uD83C\\uDDF3'], '\\uE513', '\\uDBB9\\uDCED', [\"flag-cn\", \"cn\"], 32, 10, 63, 0],\n \"1f1e8-1f1f4\": [['\\uD83C\\uDDE8\\uD83C\\uDDF4'], \"\", \"\", [\"flag-co\"], 32, 11, 63, 0],\n \"1f1e8-1f1f5\": [['\\uD83C\\uDDE8\\uD83C\\uDDF5'], \"\", \"\", [\"flag-cp\"], 32, 12, 29, 0],\n \"1f1e8-1f1f7\": [['\\uD83C\\uDDE8\\uD83C\\uDDF7'], \"\", \"\", [\"flag-cr\"], 32, 13, 63, 0],\n \"1f1e8-1f1fa\": [['\\uD83C\\uDDE8\\uD83C\\uDDFA'], \"\", \"\", [\"flag-cu\"], 32, 14, 63, 0],\n \"1f1e8-1f1fb\": [['\\uD83C\\uDDE8\\uD83C\\uDDFB'], \"\", \"\", [\"flag-cv\"], 32, 15, 63, 0],\n \"1f1e8-1f1fc\": [['\\uD83C\\uDDE8\\uD83C\\uDDFC'], \"\", \"\", [\"flag-cw\"], 32, 16, 63, 0],\n \"1f1e8-1f1fd\": [['\\uD83C\\uDDE8\\uD83C\\uDDFD'], \"\", \"\", [\"flag-cx\"], 32, 17, 63, 0],\n \"1f1e8-1f1fe\": [['\\uD83C\\uDDE8\\uD83C\\uDDFE'], \"\", \"\", [\"flag-cy\"], 32, 18, 63, 0],\n \"1f1e8-1f1ff\": [['\\uD83C\\uDDE8\\uD83C\\uDDFF'], \"\", \"\", [\"flag-cz\"], 32, 19, 63, 0],\n \"1f1e9-1f1ea\": [['\\uD83C\\uDDE9\\uD83C\\uDDEA'], '\\uE50E', '\\uDBB9\\uDCE8', [\"flag-de\", \"de\"], 32, 20, 63, 0],\n \"1f1e9-1f1ec\": [['\\uD83C\\uDDE9\\uD83C\\uDDEC'], \"\", \"\", [\"flag-dg\"], 32, 21, 61, 0],\n \"1f1e9-1f1ef\": [['\\uD83C\\uDDE9\\uD83C\\uDDEF'], \"\", \"\", [\"flag-dj\"], 32, 22, 63, 0],\n \"1f1e9-1f1f0\": [['\\uD83C\\uDDE9\\uD83C\\uDDF0'], \"\", \"\", [\"flag-dk\"], 32, 23, 63, 0],\n \"1f1e9-1f1f2\": [['\\uD83C\\uDDE9\\uD83C\\uDDF2'], \"\", \"\", [\"flag-dm\"], 32, 24, 63, 0],\n \"1f1e9-1f1f4\": [['\\uD83C\\uDDE9\\uD83C\\uDDF4'], \"\", \"\", [\"flag-do\"], 32, 25, 63, 0],\n \"1f1e9-1f1ff\": [['\\uD83C\\uDDE9\\uD83C\\uDDFF'], \"\", \"\", [\"flag-dz\"], 32, 26, 63, 0],\n \"1f1ea-1f1e6\": [['\\uD83C\\uDDEA\\uD83C\\uDDE6'], \"\", \"\", [\"flag-ea\"], 32, 27, 61, 0],\n \"1f1ea-1f1e8\": [['\\uD83C\\uDDEA\\uD83C\\uDDE8'], \"\", \"\", [\"flag-ec\"], 32, 28, 63, 0],\n \"1f1ea-1f1ea\": [['\\uD83C\\uDDEA\\uD83C\\uDDEA'], \"\", \"\", [\"flag-ee\"], 32, 29, 63, 0],\n \"1f1ea-1f1ec\": [['\\uD83C\\uDDEA\\uD83C\\uDDEC'], \"\", \"\", [\"flag-eg\"], 32, 30, 63, 0],\n \"1f1ea-1f1ed\": [['\\uD83C\\uDDEA\\uD83C\\uDDED'], \"\", \"\", [\"flag-eh\"], 32, 31, 61, 0],\n \"1f1ea-1f1f7\": [['\\uD83C\\uDDEA\\uD83C\\uDDF7'], \"\", \"\", [\"flag-er\"], 32, 32, 63, 0],\n \"1f1ea-1f1f8\": [['\\uD83C\\uDDEA\\uD83C\\uDDF8'], '\\uE511', '\\uDBB9\\uDCEB', [\"flag-es\", \"es\"], 32, 33, 63, 0],\n \"1f1ea-1f1f9\": [['\\uD83C\\uDDEA\\uD83C\\uDDF9'], \"\", \"\", [\"flag-et\"], 32, 34, 63, 0],\n \"1f1ea-1f1fa\": [['\\uD83C\\uDDEA\\uD83C\\uDDFA'], \"\", \"\", [\"flag-eu\"], 32, 35, 63, 0],\n \"1f1eb-1f1ee\": [['\\uD83C\\uDDEB\\uD83C\\uDDEE'], \"\", \"\", [\"flag-fi\"], 32, 36, 63, 0],\n \"1f1eb-1f1ef\": [['\\uD83C\\uDDEB\\uD83C\\uDDEF'], \"\", \"\", [\"flag-fj\"], 32, 37, 63, 0],\n \"1f1eb-1f1f0\": [['\\uD83C\\uDDEB\\uD83C\\uDDF0'], \"\", \"\", [\"flag-fk\"], 32, 38, 61, 0],\n \"1f1eb-1f1f2\": [['\\uD83C\\uDDEB\\uD83C\\uDDF2'], \"\", \"\", [\"flag-fm\"], 32, 39, 63, 0],\n \"1f1eb-1f1f4\": [['\\uD83C\\uDDEB\\uD83C\\uDDF4'], \"\", \"\", [\"flag-fo\"], 32, 40, 63, 0],\n \"1f1eb-1f1f7\": [['\\uD83C\\uDDEB\\uD83C\\uDDF7'], '\\uE50D', '\\uDBB9\\uDCE7', [\"flag-fr\", \"fr\"], 32, 41, 63, 0],\n \"1f1ec-1f1e6\": [['\\uD83C\\uDDEC\\uD83C\\uDDE6'], \"\", \"\", [\"flag-ga\"], 32, 42, 63, 0],\n \"1f1ec-1f1e7\": [['\\uD83C\\uDDEC\\uD83C\\uDDE7'], '\\uE510', '\\uDBB9\\uDCEA', [\"flag-gb\", \"gb\", \"uk\"], 32, 43, 63, 0],\n \"1f1ec-1f1e9\": [['\\uD83C\\uDDEC\\uD83C\\uDDE9'], \"\", \"\", [\"flag-gd\"], 32, 44, 63, 0],\n \"1f1ec-1f1ea\": [['\\uD83C\\uDDEC\\uD83C\\uDDEA'], \"\", \"\", [\"flag-ge\"], 32, 45, 63, 0],\n \"1f1ec-1f1eb\": [['\\uD83C\\uDDEC\\uD83C\\uDDEB'], \"\", \"\", [\"flag-gf\"], 32, 46, 61, 0],\n \"1f1ec-1f1ec\": [['\\uD83C\\uDDEC\\uD83C\\uDDEC'], \"\", \"\", [\"flag-gg\"], 32, 47, 63, 0],\n \"1f1ec-1f1ed\": [['\\uD83C\\uDDEC\\uD83C\\uDDED'], \"\", \"\", [\"flag-gh\"], 32, 48, 63, 0],\n \"1f1ec-1f1ee\": [['\\uD83C\\uDDEC\\uD83C\\uDDEE'], \"\", \"\", [\"flag-gi\"], 33, 0, 63, 0],\n \"1f1ec-1f1f1\": [['\\uD83C\\uDDEC\\uD83C\\uDDF1'], \"\", \"\", [\"flag-gl\"], 33, 1, 63, 0],\n \"1f1ec-1f1f2\": [['\\uD83C\\uDDEC\\uD83C\\uDDF2'], \"\", \"\", [\"flag-gm\"], 33, 2, 63, 0],\n \"1f1ec-1f1f3\": [['\\uD83C\\uDDEC\\uD83C\\uDDF3'], \"\", \"\", [\"flag-gn\"], 33, 3, 63, 0],\n \"1f1ec-1f1f5\": [['\\uD83C\\uDDEC\\uD83C\\uDDF5'], \"\", \"\", [\"flag-gp\"], 33, 4, 61, 0],\n \"1f1ec-1f1f6\": [['\\uD83C\\uDDEC\\uD83C\\uDDF6'], \"\", \"\", [\"flag-gq\"], 33, 5, 63, 0],\n \"1f1ec-1f1f7\": [['\\uD83C\\uDDEC\\uD83C\\uDDF7'], \"\", \"\", [\"flag-gr\"], 33, 6, 63, 0],\n \"1f1ec-1f1f8\": [['\\uD83C\\uDDEC\\uD83C\\uDDF8'], \"\", \"\", [\"flag-gs\"], 33, 7, 61, 0],\n \"1f1ec-1f1f9\": [['\\uD83C\\uDDEC\\uD83C\\uDDF9'], \"\", \"\", [\"flag-gt\"], 33, 8, 63, 0],\n \"1f1ec-1f1fa\": [['\\uD83C\\uDDEC\\uD83C\\uDDFA'], \"\", \"\", [\"flag-gu\"], 33, 9, 63, 0],\n \"1f1ec-1f1fc\": [['\\uD83C\\uDDEC\\uD83C\\uDDFC'], \"\", \"\", [\"flag-gw\"], 33, 10, 63, 0],\n \"1f1ec-1f1fe\": [['\\uD83C\\uDDEC\\uD83C\\uDDFE'], \"\", \"\", [\"flag-gy\"], 33, 11, 63, 0],\n \"1f1ed-1f1f0\": [['\\uD83C\\uDDED\\uD83C\\uDDF0'], \"\", \"\", [\"flag-hk\"], 33, 12, 63, 0],\n \"1f1ed-1f1f2\": [['\\uD83C\\uDDED\\uD83C\\uDDF2'], \"\", \"\", [\"flag-hm\"], 33, 13, 61, 0],\n \"1f1ed-1f1f3\": [['\\uD83C\\uDDED\\uD83C\\uDDF3'], \"\", \"\", [\"flag-hn\"], 33, 14, 63, 0],\n \"1f1ed-1f1f7\": [['\\uD83C\\uDDED\\uD83C\\uDDF7'], \"\", \"\", [\"flag-hr\"], 33, 15, 63, 0],\n \"1f1ed-1f1f9\": [['\\uD83C\\uDDED\\uD83C\\uDDF9'], \"\", \"\", [\"flag-ht\"], 33, 16, 63, 0],\n \"1f1ed-1f1fa\": [['\\uD83C\\uDDED\\uD83C\\uDDFA'], \"\", \"\", [\"flag-hu\"], 33, 17, 63, 0],\n \"1f1ee-1f1e8\": [['\\uD83C\\uDDEE\\uD83C\\uDDE8'], \"\", \"\", [\"flag-ic\"], 33, 18, 63, 0],\n \"1f1ee-1f1e9\": [['\\uD83C\\uDDEE\\uD83C\\uDDE9'], \"\", \"\", [\"flag-id\"], 33, 19, 63, 0],\n \"1f1ee-1f1ea\": [['\\uD83C\\uDDEE\\uD83C\\uDDEA'], \"\", \"\", [\"flag-ie\"], 33, 20, 63, 0],\n \"1f1ee-1f1f1\": [['\\uD83C\\uDDEE\\uD83C\\uDDF1'], \"\", \"\", [\"flag-il\"], 33, 21, 63, 0],\n \"1f1ee-1f1f2\": [['\\uD83C\\uDDEE\\uD83C\\uDDF2'], \"\", \"\", [\"flag-im\"], 33, 22, 63, 0],\n \"1f1ee-1f1f3\": [['\\uD83C\\uDDEE\\uD83C\\uDDF3'], \"\", \"\", [\"flag-in\"], 33, 23, 63, 0],\n \"1f1ee-1f1f4\": [['\\uD83C\\uDDEE\\uD83C\\uDDF4'], \"\", \"\", [\"flag-io\"], 33, 24, 63, 0],\n \"1f1ee-1f1f6\": [['\\uD83C\\uDDEE\\uD83C\\uDDF6'], \"\", \"\", [\"flag-iq\"], 33, 25, 63, 0],\n \"1f1ee-1f1f7\": [['\\uD83C\\uDDEE\\uD83C\\uDDF7'], \"\", \"\", [\"flag-ir\"], 33, 26, 63, 0],\n \"1f1ee-1f1f8\": [['\\uD83C\\uDDEE\\uD83C\\uDDF8'], \"\", \"\", [\"flag-is\"], 33, 27, 63, 0],\n \"1f1ee-1f1f9\": [['\\uD83C\\uDDEE\\uD83C\\uDDF9'], '\\uE50F', '\\uDBB9\\uDCE9', [\"flag-it\", \"it\"], 33, 28, 63, 0],\n \"1f1ef-1f1ea\": [['\\uD83C\\uDDEF\\uD83C\\uDDEA'], \"\", \"\", [\"flag-je\"], 33, 29, 63, 0],\n \"1f1ef-1f1f2\": [['\\uD83C\\uDDEF\\uD83C\\uDDF2'], \"\", \"\", [\"flag-jm\"], 33, 30, 63, 0],\n \"1f1ef-1f1f4\": [['\\uD83C\\uDDEF\\uD83C\\uDDF4'], \"\", \"\", [\"flag-jo\"], 33, 31, 63, 0],\n \"1f1ef-1f1f5\": [['\\uD83C\\uDDEF\\uD83C\\uDDF5'], '\\uE50B', '\\uDBB9\\uDCE5', [\"flag-jp\", \"jp\"], 33, 32, 63, 0],\n \"1f1f0-1f1ea\": [['\\uD83C\\uDDF0\\uD83C\\uDDEA'], \"\", \"\", [\"flag-ke\"], 33, 33, 63, 0],\n \"1f1f0-1f1ec\": [['\\uD83C\\uDDF0\\uD83C\\uDDEC'], \"\", \"\", [\"flag-kg\"], 33, 34, 63, 0],\n \"1f1f0-1f1ed\": [['\\uD83C\\uDDF0\\uD83C\\uDDED'], \"\", \"\", [\"flag-kh\"], 33, 35, 63, 0],\n \"1f1f0-1f1ee\": [['\\uD83C\\uDDF0\\uD83C\\uDDEE'], \"\", \"\", [\"flag-ki\"], 33, 36, 63, 0],\n \"1f1f0-1f1f2\": [['\\uD83C\\uDDF0\\uD83C\\uDDF2'], \"\", \"\", [\"flag-km\"], 33, 37, 63, 0],\n \"1f1f0-1f1f3\": [['\\uD83C\\uDDF0\\uD83C\\uDDF3'], \"\", \"\", [\"flag-kn\"], 33, 38, 63, 0],\n \"1f1f0-1f1f5\": [['\\uD83C\\uDDF0\\uD83C\\uDDF5'], \"\", \"\", [\"flag-kp\"], 33, 39, 63, 0],\n \"1f1f0-1f1f7\": [['\\uD83C\\uDDF0\\uD83C\\uDDF7'], '\\uE514', '\\uDBB9\\uDCEE', [\"flag-kr\", \"kr\"], 33, 40, 63, 0],\n \"1f1f0-1f1fc\": [['\\uD83C\\uDDF0\\uD83C\\uDDFC'], \"\", \"\", [\"flag-kw\"], 33, 41, 63, 0],\n \"1f1f0-1f1fe\": [['\\uD83C\\uDDF0\\uD83C\\uDDFE'], \"\", \"\", [\"flag-ky\"], 33, 42, 63, 0],\n \"1f1f0-1f1ff\": [['\\uD83C\\uDDF0\\uD83C\\uDDFF'], \"\", \"\", [\"flag-kz\"], 33, 43, 63, 0],\n \"1f1f1-1f1e6\": [['\\uD83C\\uDDF1\\uD83C\\uDDE6'], \"\", \"\", [\"flag-la\"], 33, 44, 63, 0],\n \"1f1f1-1f1e7\": [['\\uD83C\\uDDF1\\uD83C\\uDDE7'], \"\", \"\", [\"flag-lb\"], 33, 45, 63, 0],\n \"1f1f1-1f1e8\": [['\\uD83C\\uDDF1\\uD83C\\uDDE8'], \"\", \"\", [\"flag-lc\"], 33, 46, 63, 0],\n \"1f1f1-1f1ee\": [['\\uD83C\\uDDF1\\uD83C\\uDDEE'], \"\", \"\", [\"flag-li\"], 33, 47, 63, 0],\n \"1f1f1-1f1f0\": [['\\uD83C\\uDDF1\\uD83C\\uDDF0'], \"\", \"\", [\"flag-lk\"], 33, 48, 63, 0],\n \"1f1f1-1f1f7\": [['\\uD83C\\uDDF1\\uD83C\\uDDF7'], \"\", \"\", [\"flag-lr\"], 34, 0, 63, 0],\n \"1f1f1-1f1f8\": [['\\uD83C\\uDDF1\\uD83C\\uDDF8'], \"\", \"\", [\"flag-ls\"], 34, 1, 63, 0],\n \"1f1f1-1f1f9\": [['\\uD83C\\uDDF1\\uD83C\\uDDF9'], \"\", \"\", [\"flag-lt\"], 34, 2, 63, 0],\n \"1f1f1-1f1fa\": [['\\uD83C\\uDDF1\\uD83C\\uDDFA'], \"\", \"\", [\"flag-lu\"], 34, 3, 63, 0],\n \"1f1f1-1f1fb\": [['\\uD83C\\uDDF1\\uD83C\\uDDFB'], \"\", \"\", [\"flag-lv\"], 34, 4, 63, 0],\n \"1f1f1-1f1fe\": [['\\uD83C\\uDDF1\\uD83C\\uDDFE'], \"\", \"\", [\"flag-ly\"], 34, 5, 63, 0],\n \"1f1f2-1f1e6\": [['\\uD83C\\uDDF2\\uD83C\\uDDE6'], \"\", \"\", [\"flag-ma\"], 34, 6, 63, 0],\n \"1f1f2-1f1e8\": [['\\uD83C\\uDDF2\\uD83C\\uDDE8'], \"\", \"\", [\"flag-mc\"], 34, 7, 63, 0],\n \"1f1f2-1f1e9\": [['\\uD83C\\uDDF2\\uD83C\\uDDE9'], \"\", \"\", [\"flag-md\"], 34, 8, 63, 0],\n \"1f1f2-1f1ea\": [['\\uD83C\\uDDF2\\uD83C\\uDDEA'], \"\", \"\", [\"flag-me\"], 34, 9, 63, 0],\n \"1f1f2-1f1eb\": [['\\uD83C\\uDDF2\\uD83C\\uDDEB'], \"\", \"\", [\"flag-mf\"], 34, 10, 61, 0],\n \"1f1f2-1f1ec\": [['\\uD83C\\uDDF2\\uD83C\\uDDEC'], \"\", \"\", [\"flag-mg\"], 34, 11, 63, 0],\n \"1f1f2-1f1ed\": [['\\uD83C\\uDDF2\\uD83C\\uDDED'], \"\", \"\", [\"flag-mh\"], 34, 12, 63, 0],\n \"1f1f2-1f1f0\": [['\\uD83C\\uDDF2\\uD83C\\uDDF0'], \"\", \"\", [\"flag-mk\"], 34, 13, 63, 0],\n \"1f1f2-1f1f1\": [['\\uD83C\\uDDF2\\uD83C\\uDDF1'], \"\", \"\", [\"flag-ml\"], 34, 14, 63, 0],\n \"1f1f2-1f1f2\": [['\\uD83C\\uDDF2\\uD83C\\uDDF2'], \"\", \"\", [\"flag-mm\"], 34, 15, 63, 0],\n \"1f1f2-1f1f3\": [['\\uD83C\\uDDF2\\uD83C\\uDDF3'], \"\", \"\", [\"flag-mn\"], 34, 16, 63, 0],\n \"1f1f2-1f1f4\": [['\\uD83C\\uDDF2\\uD83C\\uDDF4'], \"\", \"\", [\"flag-mo\"], 34, 17, 63, 0],\n \"1f1f2-1f1f5\": [['\\uD83C\\uDDF2\\uD83C\\uDDF5'], \"\", \"\", [\"flag-mp\"], 34, 18, 63, 0],\n \"1f1f2-1f1f6\": [['\\uD83C\\uDDF2\\uD83C\\uDDF6'], \"\", \"\", [\"flag-mq\"], 34, 19, 61, 0],\n \"1f1f2-1f1f7\": [['\\uD83C\\uDDF2\\uD83C\\uDDF7'], \"\", \"\", [\"flag-mr\"], 34, 20, 63, 0],\n \"1f1f2-1f1f8\": [['\\uD83C\\uDDF2\\uD83C\\uDDF8'], \"\", \"\", [\"flag-ms\"], 34, 21, 63, 0],\n \"1f1f2-1f1f9\": [['\\uD83C\\uDDF2\\uD83C\\uDDF9'], \"\", \"\", [\"flag-mt\"], 34, 22, 63, 0],\n \"1f1f2-1f1fa\": [['\\uD83C\\uDDF2\\uD83C\\uDDFA'], \"\", \"\", [\"flag-mu\"], 34, 23, 63, 0],\n \"1f1f2-1f1fb\": [['\\uD83C\\uDDF2\\uD83C\\uDDFB'], \"\", \"\", [\"flag-mv\"], 34, 24, 63, 0],\n \"1f1f2-1f1fc\": [['\\uD83C\\uDDF2\\uD83C\\uDDFC'], \"\", \"\", [\"flag-mw\"], 34, 25, 63, 0],\n \"1f1f2-1f1fd\": [['\\uD83C\\uDDF2\\uD83C\\uDDFD'], \"\", \"\", [\"flag-mx\"], 34, 26, 63, 0],\n \"1f1f2-1f1fe\": [['\\uD83C\\uDDF2\\uD83C\\uDDFE'], \"\", \"\", [\"flag-my\"], 34, 27, 63, 0],\n \"1f1f2-1f1ff\": [['\\uD83C\\uDDF2\\uD83C\\uDDFF'], \"\", \"\", [\"flag-mz\"], 34, 28, 63, 0],\n \"1f1f3-1f1e6\": [['\\uD83C\\uDDF3\\uD83C\\uDDE6'], \"\", \"\", [\"flag-na\"], 34, 29, 63, 0],\n \"1f1f3-1f1e8\": [['\\uD83C\\uDDF3\\uD83C\\uDDE8'], \"\", \"\", [\"flag-nc\"], 34, 30, 61, 0],\n \"1f1f3-1f1ea\": [['\\uD83C\\uDDF3\\uD83C\\uDDEA'], \"\", \"\", [\"flag-ne\"], 34, 31, 63, 0],\n \"1f1f3-1f1eb\": [['\\uD83C\\uDDF3\\uD83C\\uDDEB'], \"\", \"\", [\"flag-nf\"], 34, 32, 63, 0],\n \"1f1f3-1f1ec\": [['\\uD83C\\uDDF3\\uD83C\\uDDEC'], \"\", \"\", [\"flag-ng\"], 34, 33, 63, 0],\n \"1f1f3-1f1ee\": [['\\uD83C\\uDDF3\\uD83C\\uDDEE'], \"\", \"\", [\"flag-ni\"], 34, 34, 63, 0],\n \"1f1f3-1f1f1\": [['\\uD83C\\uDDF3\\uD83C\\uDDF1'], \"\", \"\", [\"flag-nl\"], 34, 35, 63, 0],\n \"1f1f3-1f1f4\": [['\\uD83C\\uDDF3\\uD83C\\uDDF4'], \"\", \"\", [\"flag-no\"], 34, 36, 63, 0],\n \"1f1f3-1f1f5\": [['\\uD83C\\uDDF3\\uD83C\\uDDF5'], \"\", \"\", [\"flag-np\"], 34, 37, 63, 0],\n \"1f1f3-1f1f7\": [['\\uD83C\\uDDF3\\uD83C\\uDDF7'], \"\", \"\", [\"flag-nr\"], 34, 38, 63, 0],\n \"1f1f3-1f1fa\": [['\\uD83C\\uDDF3\\uD83C\\uDDFA'], \"\", \"\", [\"flag-nu\"], 34, 39, 63, 0],\n \"1f1f3-1f1ff\": [['\\uD83C\\uDDF3\\uD83C\\uDDFF'], \"\", \"\", [\"flag-nz\"], 34, 40, 63, 0],\n \"1f1f4-1f1f2\": [['\\uD83C\\uDDF4\\uD83C\\uDDF2'], \"\", \"\", [\"flag-om\"], 34, 41, 63, 0],\n \"1f1f5-1f1e6\": [['\\uD83C\\uDDF5\\uD83C\\uDDE6'], \"\", \"\", [\"flag-pa\"], 34, 42, 63, 0],\n \"1f1f5-1f1ea\": [['\\uD83C\\uDDF5\\uD83C\\uDDEA'], \"\", \"\", [\"flag-pe\"], 34, 43, 63, 0],\n \"1f1f5-1f1eb\": [['\\uD83C\\uDDF5\\uD83C\\uDDEB'], \"\", \"\", [\"flag-pf\"], 34, 44, 63, 0],\n \"1f1f5-1f1ec\": [['\\uD83C\\uDDF5\\uD83C\\uDDEC'], \"\", \"\", [\"flag-pg\"], 34, 45, 63, 0],\n \"1f1f5-1f1ed\": [['\\uD83C\\uDDF5\\uD83C\\uDDED'], \"\", \"\", [\"flag-ph\"], 34, 46, 63, 0],\n \"1f1f5-1f1f0\": [['\\uD83C\\uDDF5\\uD83C\\uDDF0'], \"\", \"\", [\"flag-pk\"], 34, 47, 63, 0],\n \"1f1f5-1f1f1\": [['\\uD83C\\uDDF5\\uD83C\\uDDF1'], \"\", \"\", [\"flag-pl\"], 34, 48, 63, 0],\n \"1f1f5-1f1f2\": [['\\uD83C\\uDDF5\\uD83C\\uDDF2'], \"\", \"\", [\"flag-pm\"], 35, 0, 61, 0],\n \"1f1f5-1f1f3\": [['\\uD83C\\uDDF5\\uD83C\\uDDF3'], \"\", \"\", [\"flag-pn\"], 35, 1, 63, 0],\n \"1f1f5-1f1f7\": [['\\uD83C\\uDDF5\\uD83C\\uDDF7'], \"\", \"\", [\"flag-pr\"], 35, 2, 63, 0],\n \"1f1f5-1f1f8\": [['\\uD83C\\uDDF5\\uD83C\\uDDF8'], \"\", \"\", [\"flag-ps\"], 35, 3, 63, 0],\n \"1f1f5-1f1f9\": [['\\uD83C\\uDDF5\\uD83C\\uDDF9'], \"\", \"\", [\"flag-pt\"], 35, 4, 63, 0],\n \"1f1f5-1f1fc\": [['\\uD83C\\uDDF5\\uD83C\\uDDFC'], \"\", \"\", [\"flag-pw\"], 35, 5, 63, 0],\n \"1f1f5-1f1fe\": [['\\uD83C\\uDDF5\\uD83C\\uDDFE'], \"\", \"\", [\"flag-py\"], 35, 6, 63, 0],\n \"1f1f6-1f1e6\": [['\\uD83C\\uDDF6\\uD83C\\uDDE6'], \"\", \"\", [\"flag-qa\"], 35, 7, 63, 0],\n \"1f1f7-1f1ea\": [['\\uD83C\\uDDF7\\uD83C\\uDDEA'], \"\", \"\", [\"flag-re\"], 35, 8, 61, 0],\n \"1f1f7-1f1f4\": [['\\uD83C\\uDDF7\\uD83C\\uDDF4'], \"\", \"\", [\"flag-ro\"], 35, 9, 63, 0],\n \"1f1f7-1f1f8\": [['\\uD83C\\uDDF7\\uD83C\\uDDF8'], \"\", \"\", [\"flag-rs\"], 35, 10, 63, 0],\n \"1f1f7-1f1fa\": [['\\uD83C\\uDDF7\\uD83C\\uDDFA'], '\\uE512', '\\uDBB9\\uDCEC', [\"flag-ru\", \"ru\"], 35, 11, 63, 0],\n \"1f1f7-1f1fc\": [['\\uD83C\\uDDF7\\uD83C\\uDDFC'], \"\", \"\", [\"flag-rw\"], 35, 12, 63, 0],\n \"1f1f8-1f1e6\": [['\\uD83C\\uDDF8\\uD83C\\uDDE6'], \"\", \"\", [\"flag-sa\"], 35, 13, 63, 0],\n \"1f1f8-1f1e7\": [['\\uD83C\\uDDF8\\uD83C\\uDDE7'], \"\", \"\", [\"flag-sb\"], 35, 14, 63, 0],\n \"1f1f8-1f1e8\": [['\\uD83C\\uDDF8\\uD83C\\uDDE8'], \"\", \"\", [\"flag-sc\"], 35, 15, 63, 0],\n \"1f1f8-1f1e9\": [['\\uD83C\\uDDF8\\uD83C\\uDDE9'], \"\", \"\", [\"flag-sd\"], 35, 16, 63, 0],\n \"1f1f8-1f1ea\": [['\\uD83C\\uDDF8\\uD83C\\uDDEA'], \"\", \"\", [\"flag-se\"], 35, 17, 63, 0],\n \"1f1f8-1f1ec\": [['\\uD83C\\uDDF8\\uD83C\\uDDEC'], \"\", \"\", [\"flag-sg\"], 35, 18, 63, 0],\n \"1f1f8-1f1ed\": [['\\uD83C\\uDDF8\\uD83C\\uDDED'], \"\", \"\", [\"flag-sh\"], 35, 19, 63, 0],\n \"1f1f8-1f1ee\": [['\\uD83C\\uDDF8\\uD83C\\uDDEE'], \"\", \"\", [\"flag-si\"], 35, 20, 63, 0],\n \"1f1f8-1f1ef\": [['\\uD83C\\uDDF8\\uD83C\\uDDEF'], \"\", \"\", [\"flag-sj\"], 35, 21, 61, 0],\n \"1f1f8-1f1f0\": [['\\uD83C\\uDDF8\\uD83C\\uDDF0'], \"\", \"\", [\"flag-sk\"], 35, 22, 63, 0],\n \"1f1f8-1f1f1\": [['\\uD83C\\uDDF8\\uD83C\\uDDF1'], \"\", \"\", [\"flag-sl\"], 35, 23, 63, 0],\n \"1f1f8-1f1f2\": [['\\uD83C\\uDDF8\\uD83C\\uDDF2'], \"\", \"\", [\"flag-sm\"], 35, 24, 63, 0],\n \"1f1f8-1f1f3\": [['\\uD83C\\uDDF8\\uD83C\\uDDF3'], \"\", \"\", [\"flag-sn\"], 35, 25, 63, 0],\n \"1f1f8-1f1f4\": [['\\uD83C\\uDDF8\\uD83C\\uDDF4'], \"\", \"\", [\"flag-so\"], 35, 26, 63, 0],\n \"1f1f8-1f1f7\": [['\\uD83C\\uDDF8\\uD83C\\uDDF7'], \"\", \"\", [\"flag-sr\"], 35, 27, 63, 0],\n \"1f1f8-1f1f8\": [['\\uD83C\\uDDF8\\uD83C\\uDDF8'], \"\", \"\", [\"flag-ss\"], 35, 28, 63, 0],\n \"1f1f8-1f1f9\": [['\\uD83C\\uDDF8\\uD83C\\uDDF9'], \"\", \"\", [\"flag-st\"], 35, 29, 63, 0],\n \"1f1f8-1f1fb\": [['\\uD83C\\uDDF8\\uD83C\\uDDFB'], \"\", \"\", [\"flag-sv\"], 35, 30, 63, 0],\n \"1f1f8-1f1fd\": [['\\uD83C\\uDDF8\\uD83C\\uDDFD'], \"\", \"\", [\"flag-sx\"], 35, 31, 63, 0],\n \"1f1f8-1f1fe\": [['\\uD83C\\uDDF8\\uD83C\\uDDFE'], \"\", \"\", [\"flag-sy\"], 35, 32, 63, 0],\n \"1f1f8-1f1ff\": [['\\uD83C\\uDDF8\\uD83C\\uDDFF'], \"\", \"\", [\"flag-sz\"], 35, 33, 63, 0],\n \"1f1f9-1f1e6\": [['\\uD83C\\uDDF9\\uD83C\\uDDE6'], \"\", \"\", [\"flag-ta\"], 35, 34, 63, 0],\n \"1f1f9-1f1e8\": [['\\uD83C\\uDDF9\\uD83C\\uDDE8'], \"\", \"\", [\"flag-tc\"], 35, 35, 63, 0],\n \"1f1f9-1f1e9\": [['\\uD83C\\uDDF9\\uD83C\\uDDE9'], \"\", \"\", [\"flag-td\"], 35, 36, 63, 0],\n \"1f1f9-1f1eb\": [['\\uD83C\\uDDF9\\uD83C\\uDDEB'], \"\", \"\", [\"flag-tf\"], 35, 37, 61, 0],\n \"1f1f9-1f1ec\": [['\\uD83C\\uDDF9\\uD83C\\uDDEC'], \"\", \"\", [\"flag-tg\"], 35, 38, 63, 0],\n \"1f1f9-1f1ed\": [['\\uD83C\\uDDF9\\uD83C\\uDDED'], \"\", \"\", [\"flag-th\"], 35, 39, 63, 0],\n \"1f1f9-1f1ef\": [['\\uD83C\\uDDF9\\uD83C\\uDDEF'], \"\", \"\", [\"flag-tj\"], 35, 40, 63, 0],\n \"1f1f9-1f1f0\": [['\\uD83C\\uDDF9\\uD83C\\uDDF0'], \"\", \"\", [\"flag-tk\"], 35, 41, 63, 0],\n \"1f1f9-1f1f1\": [['\\uD83C\\uDDF9\\uD83C\\uDDF1'], \"\", \"\", [\"flag-tl\"], 35, 42, 63, 0],\n \"1f1f9-1f1f2\": [['\\uD83C\\uDDF9\\uD83C\\uDDF2'], \"\", \"\", [\"flag-tm\"], 35, 43, 63, 0],\n \"1f1f9-1f1f3\": [['\\uD83C\\uDDF9\\uD83C\\uDDF3'], \"\", \"\", [\"flag-tn\"], 35, 44, 63, 0],\n \"1f1f9-1f1f4\": [['\\uD83C\\uDDF9\\uD83C\\uDDF4'], \"\", \"\", [\"flag-to\"], 35, 45, 63, 0],\n \"1f1f9-1f1f7\": [['\\uD83C\\uDDF9\\uD83C\\uDDF7'], \"\", \"\", [\"flag-tr\"], 35, 46, 63, 0],\n \"1f1f9-1f1f9\": [['\\uD83C\\uDDF9\\uD83C\\uDDF9'], \"\", \"\", [\"flag-tt\"], 35, 47, 63, 0],\n \"1f1f9-1f1fb\": [['\\uD83C\\uDDF9\\uD83C\\uDDFB'], \"\", \"\", [\"flag-tv\"], 35, 48, 63, 0],\n \"1f1f9-1f1fc\": [['\\uD83C\\uDDF9\\uD83C\\uDDFC'], \"\", \"\", [\"flag-tw\"], 36, 0, 63, 0],\n \"1f1f9-1f1ff\": [['\\uD83C\\uDDF9\\uD83C\\uDDFF'], \"\", \"\", [\"flag-tz\"], 36, 1, 63, 0],\n \"1f1fa-1f1e6\": [['\\uD83C\\uDDFA\\uD83C\\uDDE6'], \"\", \"\", [\"flag-ua\"], 36, 2, 63, 0],\n \"1f1fa-1f1ec\": [['\\uD83C\\uDDFA\\uD83C\\uDDEC'], \"\", \"\", [\"flag-ug\"], 36, 3, 63, 0],\n \"1f1fa-1f1f2\": [['\\uD83C\\uDDFA\\uD83C\\uDDF2'], \"\", \"\", [\"flag-um\"], 36, 4, 61, 0],\n \"1f1fa-1f1f3\": [['\\uD83C\\uDDFA\\uD83C\\uDDF3'], \"\", \"\", [\"flag-un\"], 36, 5, 6, 0],\n \"1f1fa-1f1f8\": [['\\uD83C\\uDDFA\\uD83C\\uDDF8'], '\\uE50C', '\\uDBB9\\uDCE6', [\"flag-us\", \"us\"], 36, 6, 63, 0],\n \"1f1fa-1f1fe\": [['\\uD83C\\uDDFA\\uD83C\\uDDFE'], \"\", \"\", [\"flag-uy\"], 36, 7, 63, 0],\n \"1f1fa-1f1ff\": [['\\uD83C\\uDDFA\\uD83C\\uDDFF'], \"\", \"\", [\"flag-uz\"], 36, 8, 63, 0],\n \"1f1fb-1f1e6\": [['\\uD83C\\uDDFB\\uD83C\\uDDE6'], \"\", \"\", [\"flag-va\"], 36, 9, 63, 0],\n \"1f1fb-1f1e8\": [['\\uD83C\\uDDFB\\uD83C\\uDDE8'], \"\", \"\", [\"flag-vc\"], 36, 10, 63, 0],\n \"1f1fb-1f1ea\": [['\\uD83C\\uDDFB\\uD83C\\uDDEA'], \"\", \"\", [\"flag-ve\"], 36, 11, 63, 0],\n \"1f1fb-1f1ec\": [['\\uD83C\\uDDFB\\uD83C\\uDDEC'], \"\", \"\", [\"flag-vg\"], 36, 12, 63, 0],\n \"1f1fb-1f1ee\": [['\\uD83C\\uDDFB\\uD83C\\uDDEE'], \"\", \"\", [\"flag-vi\"], 36, 13, 63, 0],\n \"1f1fb-1f1f3\": [['\\uD83C\\uDDFB\\uD83C\\uDDF3'], \"\", \"\", [\"flag-vn\"], 36, 14, 63, 0],\n \"1f1fb-1f1fa\": [['\\uD83C\\uDDFB\\uD83C\\uDDFA'], \"\", \"\", [\"flag-vu\"], 36, 15, 63, 0],\n \"1f1fc-1f1eb\": [['\\uD83C\\uDDFC\\uD83C\\uDDEB'], \"\", \"\", [\"flag-wf\"], 36, 16, 61, 0],\n \"1f1fc-1f1f8\": [['\\uD83C\\uDDFC\\uD83C\\uDDF8'], \"\", \"\", [\"flag-ws\"], 36, 17, 63, 0],\n \"1f1fd-1f1f0\": [['\\uD83C\\uDDFD\\uD83C\\uDDF0'], \"\", \"\", [\"flag-xk\"], 36, 18, 61, 0],\n \"1f1fe-1f1ea\": [['\\uD83C\\uDDFE\\uD83C\\uDDEA'], \"\", \"\", [\"flag-ye\"], 36, 19, 63, 0],\n \"1f1fe-1f1f9\": [['\\uD83C\\uDDFE\\uD83C\\uDDF9'], \"\", \"\", [\"flag-yt\"], 36, 20, 61, 0],\n \"1f1ff-1f1e6\": [['\\uD83C\\uDDFF\\uD83C\\uDDE6'], \"\", \"\", [\"flag-za\"], 36, 21, 63, 0],\n \"1f1ff-1f1f2\": [['\\uD83C\\uDDFF\\uD83C\\uDDF2'], \"\", \"\", [\"flag-zm\"], 36, 22, 63, 0],\n \"1f1ff-1f1fc\": [['\\uD83C\\uDDFF\\uD83C\\uDDFC'], \"\", \"\", [\"flag-zw\"], 36, 23, 63, 0],\n \"1f468-200d-1f33e\": [['\\uD83D\\uDC68\\u200D\\uD83C\\uDF3E'], \"\", \"\", [\"male-farmer\"], 36, 24, 23, 0],\n \"1f468-200d-1f373\": [['\\uD83D\\uDC68\\u200D\\uD83C\\uDF73'], \"\", \"\", [\"male-cook\"], 36, 30, 23, 0],\n \"1f468-200d-1f393\": [['\\uD83D\\uDC68\\u200D\\uD83C\\uDF93'], \"\", \"\", [\"male-student\"], 36, 36, 23, 0],\n \"1f468-200d-1f3a4\": [['\\uD83D\\uDC68\\u200D\\uD83C\\uDFA4'], \"\", \"\", [\"male-singer\"], 36, 42, 23, 0],\n \"1f468-200d-1f3a8\": [['\\uD83D\\uDC68\\u200D\\uD83C\\uDFA8'], \"\", \"\", [\"male-artist\"], 36, 48, 23, 0],\n \"1f468-200d-1f3eb\": [['\\uD83D\\uDC68\\u200D\\uD83C\\uDFEB'], \"\", \"\", [\"male-teacher\"], 37, 5, 23, 0],\n \"1f468-200d-1f3ed\": [['\\uD83D\\uDC68\\u200D\\uD83C\\uDFED'], \"\", \"\", [\"male-factory-worker\"], 37, 11, 23, 0],\n \"1f468-200d-1f466\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"man-boy\"], 37, 17, 23, 0],\n \"1f468-200d-1f467\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC67'], \"\", \"\", [\"man-girl\"], 37, 18, 23, 0],\n \"1f468-200d-1f4bb\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDCBB'], \"\", \"\", [\"male-technologist\"], 37, 19, 23, 0],\n \"1f468-200d-1f4bc\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDCBC'], \"\", \"\", [\"male-office-worker\"], 37, 25, 23, 0],\n \"1f468-200d-1f527\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDD27'], \"\", \"\", [\"male-mechanic\"], 37, 31, 23, 0],\n \"1f468-200d-1f52c\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDD2C'], \"\", \"\", [\"male-scientist\"], 37, 37, 23, 0],\n \"1f468-200d-1f680\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDE80'], \"\", \"\", [\"male-astronaut\"], 37, 43, 23, 0],\n \"1f468-200d-1f692\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDE92'], \"\", \"\", [\"male-firefighter\"], 38, 0, 23, 0],\n \"1f469-200d-1f33e\": [['\\uD83D\\uDC69\\u200D\\uD83C\\uDF3E'], \"\", \"\", [\"female-farmer\"], 38, 6, 23, 0],\n \"1f469-200d-1f373\": [['\\uD83D\\uDC69\\u200D\\uD83C\\uDF73'], \"\", \"\", [\"female-cook\"], 38, 12, 23, 0],\n \"1f469-200d-1f393\": [['\\uD83D\\uDC69\\u200D\\uD83C\\uDF93'], \"\", \"\", [\"female-student\"], 38, 18, 23, 0],\n \"1f469-200d-1f3a4\": [['\\uD83D\\uDC69\\u200D\\uD83C\\uDFA4'], \"\", \"\", [\"female-singer\"], 38, 24, 23, 0],\n \"1f469-200d-1f3a8\": [['\\uD83D\\uDC69\\u200D\\uD83C\\uDFA8'], \"\", \"\", [\"female-artist\"], 38, 30, 23, 0],\n \"1f469-200d-1f3eb\": [['\\uD83D\\uDC69\\u200D\\uD83C\\uDFEB'], \"\", \"\", [\"female-teacher\"], 38, 36, 23, 0],\n \"1f469-200d-1f3ed\": [['\\uD83D\\uDC69\\u200D\\uD83C\\uDFED'], \"\", \"\", [\"female-factory-worker\"], 38, 42, 23, 0],\n \"1f469-200d-1f466\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"woman-boy\"], 38, 48, 23, 0],\n \"1f469-200d-1f467\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDC67'], \"\", \"\", [\"woman-girl\"], 39, 0, 23, 0],\n \"1f469-200d-1f4bb\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDCBB'], \"\", \"\", [\"female-technologist\"], 39, 1, 23, 0],\n \"1f469-200d-1f4bc\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDCBC'], \"\", \"\", [\"female-office-worker\"], 39, 7, 23, 0],\n \"1f469-200d-1f527\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDD27'], \"\", \"\", [\"female-mechanic\"], 39, 13, 23, 0],\n \"1f469-200d-1f52c\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDD2C'], \"\", \"\", [\"female-scientist\"], 39, 19, 23, 0],\n \"1f469-200d-1f680\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDE80'], \"\", \"\", [\"female-astronaut\"], 39, 25, 23, 0],\n \"1f469-200d-1f692\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDE92'], \"\", \"\", [\"female-firefighter\"], 39, 31, 23, 0],\n \"1f3c3-200d-2640-fe0f\": [['\\uD83C\\uDFC3\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-running\"], 39, 37, 5, 0],\n \"1f3c3-200d-2642-fe0f\": [['\\uD83C\\uDFC3\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFC3'], \"\", \"\", [\"man-running\", \"runner\", \"running\"], 39, 43, 5, 0],\n \"1f3c4-200d-2640-fe0f\": [['\\uD83C\\uDFC4\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-surfing\"], 40, 0, 5, 0],\n \"1f3c4-200d-2642-fe0f\": [['\\uD83C\\uDFC4\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFC4'], \"\", \"\", [\"man-surfing\", \"surfer\"], 40, 6, 5, 0],\n \"1f3ca-200d-2640-fe0f\": [['\\uD83C\\uDFCA\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-swimming\"], 40, 12, 5, 0],\n \"1f3ca-200d-2642-fe0f\": [['\\uD83C\\uDFCA\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCA'], \"\", \"\", [\"man-swimming\", \"swimmer\"], 40, 18, 5, 0],\n \"1f3cb-fe0f-200d-2640-fe0f\": [['\\uD83C\\uDFCB\\uFE0F\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-lifting-weights\"], 40, 24, 5, 0],\n \"1f3cb-fe0f-200d-2642-fe0f\": [['\\uD83C\\uDFCB\\uFE0F\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCB\\uFE0F', '\\uD83C\\uDFCB'], \"\", \"\", [\"man-lifting-weights\", \"weight_lifter\"], 40, 30, 5, 0],\n \"1f3cc-fe0f-200d-2640-fe0f\": [['\\uD83C\\uDFCC\\uFE0F\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-golfing\"], 40, 36, 5, 0],\n \"1f3cc-fe0f-200d-2642-fe0f\": [['\\uD83C\\uDFCC\\uFE0F\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCC\\uFE0F', '\\uD83C\\uDFCC'], \"\", \"\", [\"man-golfing\", \"golfer\"], 40, 42, 5, 0],\n \"1f3f3-fe0f-200d-1f308\": [['\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08'], \"\", \"\", [\"rainbow-flag\"], 40, 48, 53, 0],\n \"1f441-fe0f-200d-1f5e8-fe0f\": [['\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8\\uFE0F'], \"\", \"\", [\"eye-in-speech-bubble\"], 41, 0, 1, 0],\n \"1f468-200d-1f466-200d-1f466\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"man-boy-boy\"], 41, 1, 23, 0],\n \"1f468-200d-1f467-200d-1f466\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"man-girl-boy\"], 41, 2, 23, 0],\n \"1f468-200d-1f467-200d-1f467\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC67'], \"\", \"\", [\"man-girl-girl\"], 41, 3, 23, 0],\n \"1f468-200d-1f468-200d-1f466\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC68\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"man-man-boy\"], 41, 4, 63, 0],\n \"1f468-200d-1f468-200d-1f466-200d-1f466\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC68\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"man-man-boy-boy\"], 41, 5, 63, 0],\n \"1f468-200d-1f468-200d-1f467\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC68\\u200D\\uD83D\\uDC67'], \"\", \"\", [\"man-man-girl\"], 41, 6, 63, 0],\n \"1f468-200d-1f468-200d-1f467-200d-1f466\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC68\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"man-man-girl-boy\"], 41, 7, 63, 0],\n \"1f468-200d-1f468-200d-1f467-200d-1f467\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC68\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC67'], \"\", \"\", [\"man-man-girl-girl\"], 41, 8, 63, 0],\n \"1f468-200d-1f469-200d-1f466\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66', '\\uD83D\\uDC6A'], \"\", \"\", [\"man-woman-boy\", \"family\"], 41, 9, 55, 0],\n \"1f468-200d-1f469-200d-1f466-200d-1f466\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"man-woman-boy-boy\"], 41, 10, 63, 0],\n \"1f468-200d-1f469-200d-1f467\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC67'], \"\", \"\", [\"man-woman-girl\"], 41, 11, 63, 0],\n \"1f468-200d-1f469-200d-1f467-200d-1f466\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"man-woman-girl-boy\"], 41, 12, 63, 0],\n \"1f468-200d-1f469-200d-1f467-200d-1f467\": [['\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC67'], \"\", \"\", [\"man-woman-girl-girl\"], 41, 13, 63, 0],\n \"1f468-200d-2695-fe0f\": [['\\uD83D\\uDC68\\u200D\\u2695\\uFE0F'], \"\", \"\", [\"male-doctor\"], 41, 14, 5, 0],\n \"1f468-200d-2696-fe0f\": [['\\uD83D\\uDC68\\u200D\\u2696\\uFE0F'], \"\", \"\", [\"male-judge\"], 41, 20, 5, 0],\n \"1f468-200d-2708-fe0f\": [['\\uD83D\\uDC68\\u200D\\u2708\\uFE0F'], \"\", \"\", [\"male-pilot\"], 41, 26, 5, 0],\n \"1f468-200d-2764-fe0f-200d-1f468\": [['\\uD83D\\uDC68\\u200D\\u2764\\uFE0F\\u200D\\uD83D\\uDC68'], \"\", \"\", [\"man-heart-man\"], 41, 32, 53, 0],\n \"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468\": [['\\uD83D\\uDC68\\u200D\\u2764\\uFE0F\\u200D\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68'], \"\", \"\", [\"man-kiss-man\"], 41, 33, 53, 0],\n \"1f469-200d-1f466-200d-1f466\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"woman-boy-boy\"], 41, 34, 23, 0],\n \"1f469-200d-1f467-200d-1f466\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"woman-girl-boy\"], 41, 35, 23, 0],\n \"1f469-200d-1f467-200d-1f467\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC67'], \"\", \"\", [\"woman-girl-girl\"], 41, 36, 23, 0],\n \"1f469-200d-1f469-200d-1f466\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"woman-woman-boy\"], 41, 37, 63, 0],\n \"1f469-200d-1f469-200d-1f466-200d-1f466\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"woman-woman-boy-boy\"], 41, 38, 63, 0],\n \"1f469-200d-1f469-200d-1f467\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC67'], \"\", \"\", [\"woman-woman-girl\"], 41, 39, 63, 0],\n \"1f469-200d-1f469-200d-1f467-200d-1f466\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC66'], \"\", \"\", [\"woman-woman-girl-boy\"], 41, 40, 63, 0],\n \"1f469-200d-1f469-200d-1f467-200d-1f467\": [['\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D\\uD83D\\uDC67'], \"\", \"\", [\"woman-woman-girl-girl\"], 41, 41, 63, 0],\n \"1f469-200d-2695-fe0f\": [['\\uD83D\\uDC69\\u200D\\u2695\\uFE0F'], \"\", \"\", [\"female-doctor\"], 41, 42, 5, 0],\n \"1f469-200d-2696-fe0f\": [['\\uD83D\\uDC69\\u200D\\u2696\\uFE0F'], \"\", \"\", [\"female-judge\"], 41, 48, 5, 0],\n \"1f469-200d-2708-fe0f\": [['\\uD83D\\uDC69\\u200D\\u2708\\uFE0F'], \"\", \"\", [\"female-pilot\"], 42, 5, 5, 0],\n \"1f469-200d-2764-fe0f-200d-1f468\": [['\\uD83D\\uDC69\\u200D\\u2764\\uFE0F\\u200D\\uD83D\\uDC68', '\\uD83D\\uDC91'], \"\", \"\", [\"woman-heart-man\", \"couple_with_heart\"], 42, 11, 21, 0],\n \"1f469-200d-2764-fe0f-200d-1f469\": [['\\uD83D\\uDC69\\u200D\\u2764\\uFE0F\\u200D\\uD83D\\uDC69'], \"\", \"\", [\"woman-heart-woman\"], 42, 12, 53, 0],\n \"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468\": [['\\uD83D\\uDC69\\u200D\\u2764\\uFE0F\\u200D\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68', '\\uD83D\\uDC8F'], \"\", \"\", [\"woman-kiss-man\", \"couplekiss\"], 42, 13, 21, 0],\n \"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469\": [['\\uD83D\\uDC69\\u200D\\u2764\\uFE0F\\u200D\\uD83D\\uDC8B\\u200D\\uD83D\\uDC69'], \"\", \"\", [\"woman-kiss-woman\"], 42, 14, 53, 0],\n \"1f46e-200d-2640-fe0f\": [['\\uD83D\\uDC6E\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"female-police-officer\"], 42, 15, 5, 0],\n \"1f46e-200d-2642-fe0f\": [['\\uD83D\\uDC6E\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC6E'], \"\", \"\", [\"male-police-officer\", \"cop\"], 42, 21, 5, 0],\n \"1f46f-200d-2640-fe0f\": [['\\uD83D\\uDC6F\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC6F'], \"\", \"\", [\"woman-with-bunny-ears-partying\", \"dancers\"], 42, 27, 5, 0],\n \"1f46f-200d-2642-fe0f\": [['\\uD83D\\uDC6F\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-with-bunny-ears-partying\"], 42, 28, 5, 0],\n \"1f471-200d-2640-fe0f\": [['\\uD83D\\uDC71\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"blond-haired-woman\"], 42, 29, 5, 0],\n \"1f471-200d-2642-fe0f\": [['\\uD83D\\uDC71\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC71'], \"\", \"\", [\"blond-haired-man\", \"person_with_blond_hair\"], 42, 35, 5, 0],\n \"1f473-200d-2640-fe0f\": [['\\uD83D\\uDC73\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-wearing-turban\"], 42, 41, 5, 0],\n \"1f473-200d-2642-fe0f\": [['\\uD83D\\uDC73\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC73'], \"\", \"\", [\"man-wearing-turban\", \"man_with_turban\"], 42, 47, 5, 0],\n \"1f477-200d-2640-fe0f\": [['\\uD83D\\uDC77\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"female-construction-worker\"], 43, 4, 5, 0],\n \"1f477-200d-2642-fe0f\": [['\\uD83D\\uDC77\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC77'], \"\", \"\", [\"male-construction-worker\", \"construction_worker\"], 43, 10, 5, 0],\n \"1f481-200d-2640-fe0f\": [['\\uD83D\\uDC81\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC81'], \"\", \"\", [\"woman-tipping-hand\", \"information_desk_person\"], 43, 16, 5, 0],\n \"1f481-200d-2642-fe0f\": [['\\uD83D\\uDC81\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-tipping-hand\"], 43, 22, 5, 0],\n \"1f482-200d-2640-fe0f\": [['\\uD83D\\uDC82\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"female-guard\"], 43, 28, 5, 0],\n \"1f482-200d-2642-fe0f\": [['\\uD83D\\uDC82\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC82'], \"\", \"\", [\"male-guard\", \"guardsman\"], 43, 34, 5, 0],\n \"1f486-200d-2640-fe0f\": [['\\uD83D\\uDC86\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC86'], \"\", \"\", [\"woman-getting-massage\", \"massage\"], 43, 40, 5, 0],\n \"1f486-200d-2642-fe0f\": [['\\uD83D\\uDC86\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-getting-massage\"], 43, 46, 5, 0],\n \"1f487-200d-2640-fe0f\": [['\\uD83D\\uDC87\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC87'], \"\", \"\", [\"woman-getting-haircut\", \"haircut\"], 44, 3, 5, 0],\n \"1f487-200d-2642-fe0f\": [['\\uD83D\\uDC87\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-getting-haircut\"], 44, 9, 5, 0],\n \"1f575-fe0f-200d-2640-fe0f\": [['\\uD83D\\uDD75\\uFE0F\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"female-detective\"], 44, 15, 5, 0],\n \"1f575-fe0f-200d-2642-fe0f\": [['\\uD83D\\uDD75\\uFE0F\\u200D\\u2642\\uFE0F', '\\uD83D\\uDD75\\uFE0F', '\\uD83D\\uDD75'], \"\", \"\", [\"male-detective\", \"sleuth_or_spy\"], 44, 21, 5, 0],\n \"1f645-200d-2640-fe0f\": [['\\uD83D\\uDE45\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE45'], \"\", \"\", [\"woman-gesturing-no\", \"no_good\"], 44, 27, 5, 0],\n \"1f645-200d-2642-fe0f\": [['\\uD83D\\uDE45\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-gesturing-no\"], 44, 33, 5, 0],\n \"1f646-200d-2640-fe0f\": [['\\uD83D\\uDE46\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE46'], \"\", \"\", [\"woman-gesturing-ok\", \"ok_woman\"], 44, 39, 5, 0],\n \"1f646-200d-2642-fe0f\": [['\\uD83D\\uDE46\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-gesturing-ok\"], 44, 45, 5, 0],\n \"1f647-200d-2640-fe0f\": [['\\uD83D\\uDE47\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-bowing\"], 45, 2, 5, 0],\n \"1f647-200d-2642-fe0f\": [['\\uD83D\\uDE47\\u200D\\u2642\\uFE0F', '\\uD83D\\uDE47'], \"\", \"\", [\"man-bowing\", \"bow\"], 45, 8, 5, 0],\n \"1f64b-200d-2640-fe0f\": [['\\uD83D\\uDE4B\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4B'], \"\", \"\", [\"woman-raising-hand\", \"raising_hand\"], 45, 14, 5, 0],\n \"1f64b-200d-2642-fe0f\": [['\\uD83D\\uDE4B\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-raising-hand\"], 45, 20, 5, 0],\n \"1f64d-200d-2640-fe0f\": [['\\uD83D\\uDE4D\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4D'], \"\", \"\", [\"woman-frowning\", \"person_frowning\"], 45, 26, 5, 0],\n \"1f64d-200d-2642-fe0f\": [['\\uD83D\\uDE4D\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-frowning\"], 45, 32, 5, 0],\n \"1f64e-200d-2640-fe0f\": [['\\uD83D\\uDE4E\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4E'], \"\", \"\", [\"woman-pouting\", \"person_with_pouting_face\"], 45, 38, 5, 0],\n \"1f64e-200d-2642-fe0f\": [['\\uD83D\\uDE4E\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-pouting\"], 45, 44, 5, 0],\n \"1f6a3-200d-2640-fe0f\": [['\\uD83D\\uDEA3\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-rowing-boat\"], 46, 1, 5, 0],\n \"1f6a3-200d-2642-fe0f\": [['\\uD83D\\uDEA3\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEA3'], \"\", \"\", [\"man-rowing-boat\", \"rowboat\"], 46, 7, 5, 0],\n \"1f6b4-200d-2640-fe0f\": [['\\uD83D\\uDEB4\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-biking\"], 46, 13, 5, 0],\n \"1f6b4-200d-2642-fe0f\": [['\\uD83D\\uDEB4\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB4'], \"\", \"\", [\"man-biking\", \"bicyclist\"], 46, 19, 5, 0],\n \"1f6b5-200d-2640-fe0f\": [['\\uD83D\\uDEB5\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-mountain-biking\"], 46, 25, 5, 0],\n \"1f6b5-200d-2642-fe0f\": [['\\uD83D\\uDEB5\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB5'], \"\", \"\", [\"man-mountain-biking\", \"mountain_bicyclist\"], 46, 31, 5, 0],\n \"1f6b6-200d-2640-fe0f\": [['\\uD83D\\uDEB6\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-walking\"], 46, 37, 5, 0],\n \"1f6b6-200d-2642-fe0f\": [['\\uD83D\\uDEB6\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB6'], \"\", \"\", [\"man-walking\", \"walking\"], 46, 43, 5, 0],\n \"1f926-200d-2640-fe0f\": [['\\uD83E\\uDD26\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-facepalming\"], 47, 0, 5, 0],\n \"1f926-200d-2642-fe0f\": [['\\uD83E\\uDD26\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-facepalming\"], 47, 6, 5, 0],\n \"1f937-200d-2640-fe0f\": [['\\uD83E\\uDD37\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-shrugging\"], 47, 12, 5, 0],\n \"1f937-200d-2642-fe0f\": [['\\uD83E\\uDD37\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-shrugging\"], 47, 18, 5, 0],\n \"1f938-200d-2640-fe0f\": [['\\uD83E\\uDD38\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-cartwheeling\"], 47, 24, 5, 0],\n \"1f938-200d-2642-fe0f\": [['\\uD83E\\uDD38\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-cartwheeling\"], 47, 30, 5, 0],\n \"1f939-200d-2640-fe0f\": [['\\uD83E\\uDD39\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-juggling\"], 47, 36, 5, 0],\n \"1f939-200d-2642-fe0f\": [['\\uD83E\\uDD39\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-juggling\"], 47, 42, 5, 0],\n \"1f93c-200d-2640-fe0f\": [['\\uD83E\\uDD3C\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-wrestling\"], 47, 48, 5, 0],\n \"1f93c-200d-2642-fe0f\": [['\\uD83E\\uDD3C\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-wrestling\"], 48, 0, 5, 0],\n \"1f93d-200d-2640-fe0f\": [['\\uD83E\\uDD3D\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-playing-water-polo\"], 48, 1, 5, 0],\n \"1f93d-200d-2642-fe0f\": [['\\uD83E\\uDD3D\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-playing-water-polo\"], 48, 7, 5, 0],\n \"1f93e-200d-2640-fe0f\": [['\\uD83E\\uDD3E\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-playing-handball\"], 48, 13, 5, 0],\n \"1f93e-200d-2642-fe0f\": [['\\uD83E\\uDD3E\\u200D\\u2642\\uFE0F'], \"\", \"\", [\"man-playing-handball\"], 48, 19, 5, 0],\n \"26f9-fe0f-200d-2640-fe0f\": [['\\u26F9\\uFE0F\\u200D\\u2640\\uFE0F'], \"\", \"\", [\"woman-bouncing-ball\"], 48, 25, 5, 0],\n \"26f9-fe0f-200d-2642-fe0f\": [['\\u26F9\\uFE0F\\u200D\\u2642\\uFE0F', '\\u26F9\\uFE0F', '\\u26F9'], \"\", \"\", [\"man-bouncing-ball\", \"person_with_ball\"], 48, 31, 5, 0]\n };\n /** @private */\n emoji.prototype.emoticons_data = {\n \"<3\": \"heart\",\n \":o)\": \"monkey_face\",\n \"<\\/3\": \"broken_heart\",\n \"=)\": \"smiley\",\n \"=-)\": \"smiley\",\n \"C:\": \"smile\",\n \"c:\": \"smile\",\n \":D\": \"smile\",\n \":-D\": \"smile\",\n \":>\": \"laughing\",\n \":->\": \"laughing\",\n \";)\": \"wink\",\n \";-)\": \"wink\",\n \"8)\": \"sunglasses\",\n \":|\": \"neutral_face\",\n \":-|\": \"neutral_face\",\n \":\\\\\": \"confused\",\n \":-\\\\\": \"confused\",\n \":\\/\": \"confused\",\n \":-\\/\": \"confused\",\n \":*\": \"kissing_heart\",\n \":-*\": \"kissing_heart\",\n \":p\": \"stuck_out_tongue\",\n \":-p\": \"stuck_out_tongue\",\n \":P\": \"stuck_out_tongue\",\n \":-P\": \"stuck_out_tongue\",\n \":b\": \"stuck_out_tongue\",\n \":-b\": \"stuck_out_tongue\",\n \";p\": \"stuck_out_tongue_winking_eye\",\n \";-p\": \"stuck_out_tongue_winking_eye\",\n \";b\": \"stuck_out_tongue_winking_eye\",\n \";-b\": \"stuck_out_tongue_winking_eye\",\n \";P\": \"stuck_out_tongue_winking_eye\",\n \";-P\": \"stuck_out_tongue_winking_eye\",\n \"):\": \"disappointed\",\n \":(\": \"disappointed\",\n \":-(\": \"disappointed\",\n \">:(\": \"angry\",\n \">:-(\": \"angry\",\n \":'(\": \"cry\",\n \"D:\": \"anguished\",\n \":o\": \"open_mouth\",\n \":-o\": \"open_mouth\",\n \":O\": \"open_mouth\",\n \":-O\": \"open_mouth\",\n \":)\": \"slightly_smiling_face\",\n \"(:\": \"slightly_smiling_face\",\n \":-)\": \"slightly_smiling_face\"\n };\n /** @private */\n emoji.prototype.variations_data = {\n \"261d\": { \"1f3fb\": [\"261d-1f3fb\", 1, 3, 63, ['\\u261D\\uD83C\\uDFFB']], \"1f3fc\": [\"261d-1f3fc\", 1, 4, 63, ['\\u261D\\uD83C\\uDFFC']], \"1f3fd\": [\"261d-1f3fd\", 1, 5, 63, ['\\u261D\\uD83C\\uDFFD']], \"1f3fe\": [\"261d-1f3fe\", 1, 6, 63, ['\\u261D\\uD83C\\uDFFE']], \"1f3ff\": [\"261d-1f3ff\", 1, 7, 63, ['\\u261D\\uD83C\\uDFFF']] },\n \"270a\": { \"1f3fb\": [\"270a-1f3fb\", 2, 38, 63, ['\\u270A\\uD83C\\uDFFB']], \"1f3fc\": [\"270a-1f3fc\", 2, 39, 63, ['\\u270A\\uD83C\\uDFFC']], \"1f3fd\": [\"270a-1f3fd\", 2, 40, 63, ['\\u270A\\uD83C\\uDFFD']], \"1f3fe\": [\"270a-1f3fe\", 2, 41, 63, ['\\u270A\\uD83C\\uDFFE']], \"1f3ff\": [\"270a-1f3ff\", 2, 42, 63, ['\\u270A\\uD83C\\uDFFF']] },\n \"270b\": { \"1f3fb\": [\"270b-1f3fb\", 2, 44, 63, ['\\u270B\\uD83C\\uDFFB']], \"1f3fc\": [\"270b-1f3fc\", 2, 45, 63, ['\\u270B\\uD83C\\uDFFC']], \"1f3fd\": [\"270b-1f3fd\", 2, 46, 63, ['\\u270B\\uD83C\\uDFFD']], \"1f3fe\": [\"270b-1f3fe\", 2, 47, 63, ['\\u270B\\uD83C\\uDFFE']], \"1f3ff\": [\"270b-1f3ff\", 2, 48, 63, ['\\u270B\\uD83C\\uDFFF']] },\n \"270c\": { \"1f3fb\": [\"270c-1f3fb\", 3, 1, 63, ['\\u270C\\uD83C\\uDFFB']], \"1f3fc\": [\"270c-1f3fc\", 3, 2, 63, ['\\u270C\\uD83C\\uDFFC']], \"1f3fd\": [\"270c-1f3fd\", 3, 3, 63, ['\\u270C\\uD83C\\uDFFD']], \"1f3fe\": [\"270c-1f3fe\", 3, 4, 63, ['\\u270C\\uD83C\\uDFFE']], \"1f3ff\": [\"270c-1f3ff\", 3, 5, 63, ['\\u270C\\uD83C\\uDFFF']] },\n \"270d\": { \"1f3fb\": [\"270d-1f3fb\", 3, 7, 31, ['\\u270D\\uD83C\\uDFFB']], \"1f3fc\": [\"270d-1f3fc\", 3, 8, 31, ['\\u270D\\uD83C\\uDFFC']], \"1f3fd\": [\"270d-1f3fd\", 3, 9, 31, ['\\u270D\\uD83C\\uDFFD']], \"1f3fe\": [\"270d-1f3fe\", 3, 10, 31, ['\\u270D\\uD83C\\uDFFE']], \"1f3ff\": [\"270d-1f3ff\", 3, 11, 31, ['\\u270D\\uD83C\\uDFFF']] },\n \"1f385\": { \"1f3fb\": [\"1f385-1f3fb\", 7, 18, 63, ['\\uD83C\\uDF85\\uD83C\\uDFFB']], \"1f3fc\": [\"1f385-1f3fc\", 7, 19, 63, ['\\uD83C\\uDF85\\uD83C\\uDFFC']], \"1f3fd\": [\"1f385-1f3fd\", 7, 20, 63, ['\\uD83C\\uDF85\\uD83C\\uDFFD']], \"1f3fe\": [\"1f385-1f3fe\", 7, 21, 63, ['\\uD83C\\uDF85\\uD83C\\uDFFE']], \"1f3ff\": [\"1f385-1f3ff\", 7, 22, 63, ['\\uD83C\\uDF85\\uD83C\\uDFFF']] },\n \"1f3c2\": { \"1f3fb\": [\"1f3c2-1f3fb\", 8, 30, 53, ['\\uD83C\\uDFC2\\uD83C\\uDFFB']], \"1f3fc\": [\"1f3c2-1f3fc\", 8, 31, 53, ['\\uD83C\\uDFC2\\uD83C\\uDFFC']], \"1f3fd\": [\"1f3c2-1f3fd\", 8, 32, 53, ['\\uD83C\\uDFC2\\uD83C\\uDFFD']], \"1f3fe\": [\"1f3c2-1f3fe\", 8, 33, 53, ['\\uD83C\\uDFC2\\uD83C\\uDFFE']], \"1f3ff\": [\"1f3c2-1f3ff\", 8, 34, 53, ['\\uD83C\\uDFC2\\uD83C\\uDFFF']] },\n \"1f3c7\": { \"1f3fb\": [\"1f3c7-1f3fb\", 9, 1, 61, ['\\uD83C\\uDFC7\\uD83C\\uDFFB']], \"1f3fc\": [\"1f3c7-1f3fc\", 9, 2, 61, ['\\uD83C\\uDFC7\\uD83C\\uDFFC']], \"1f3fd\": [\"1f3c7-1f3fd\", 9, 3, 61, ['\\uD83C\\uDFC7\\uD83C\\uDFFD']], \"1f3fe\": [\"1f3c7-1f3fe\", 9, 4, 61, ['\\uD83C\\uDFC7\\uD83C\\uDFFE']], \"1f3ff\": [\"1f3c7-1f3ff\", 9, 5, 61, ['\\uD83C\\uDFC7\\uD83C\\uDFFF']] },\n \"1f442\": { \"1f3fb\": [\"1f442-1f3fb\", 11, 43, 63, ['\\uD83D\\uDC42\\uD83C\\uDFFB']], \"1f3fc\": [\"1f442-1f3fc\", 11, 44, 63, ['\\uD83D\\uDC42\\uD83C\\uDFFC']], \"1f3fd\": [\"1f442-1f3fd\", 11, 45, 63, ['\\uD83D\\uDC42\\uD83C\\uDFFD']], \"1f3fe\": [\"1f442-1f3fe\", 11, 46, 63, ['\\uD83D\\uDC42\\uD83C\\uDFFE']], \"1f3ff\": [\"1f442-1f3ff\", 11, 47, 63, ['\\uD83D\\uDC42\\uD83C\\uDFFF']] },\n \"1f443\": { \"1f3fb\": [\"1f443-1f3fb\", 12, 0, 63, ['\\uD83D\\uDC43\\uD83C\\uDFFB']], \"1f3fc\": [\"1f443-1f3fc\", 12, 1, 63, ['\\uD83D\\uDC43\\uD83C\\uDFFC']], \"1f3fd\": [\"1f443-1f3fd\", 12, 2, 63, ['\\uD83D\\uDC43\\uD83C\\uDFFD']], \"1f3fe\": [\"1f443-1f3fe\", 12, 3, 63, ['\\uD83D\\uDC43\\uD83C\\uDFFE']], \"1f3ff\": [\"1f443-1f3ff\", 12, 4, 63, ['\\uD83D\\uDC43\\uD83C\\uDFFF']] },\n \"1f446\": { \"1f3fb\": [\"1f446-1f3fb\", 12, 8, 63, ['\\uD83D\\uDC46\\uD83C\\uDFFB']], \"1f3fc\": [\"1f446-1f3fc\", 12, 9, 63, ['\\uD83D\\uDC46\\uD83C\\uDFFC']], \"1f3fd\": [\"1f446-1f3fd\", 12, 10, 63, ['\\uD83D\\uDC46\\uD83C\\uDFFD']], \"1f3fe\": [\"1f446-1f3fe\", 12, 11, 63, ['\\uD83D\\uDC46\\uD83C\\uDFFE']], \"1f3ff\": [\"1f446-1f3ff\", 12, 12, 63, ['\\uD83D\\uDC46\\uD83C\\uDFFF']] },\n \"1f447\": { \"1f3fb\": [\"1f447-1f3fb\", 12, 14, 63, ['\\uD83D\\uDC47\\uD83C\\uDFFB']], \"1f3fc\": [\"1f447-1f3fc\", 12, 15, 63, ['\\uD83D\\uDC47\\uD83C\\uDFFC']], \"1f3fd\": [\"1f447-1f3fd\", 12, 16, 63, ['\\uD83D\\uDC47\\uD83C\\uDFFD']], \"1f3fe\": [\"1f447-1f3fe\", 12, 17, 63, ['\\uD83D\\uDC47\\uD83C\\uDFFE']], \"1f3ff\": [\"1f447-1f3ff\", 12, 18, 63, ['\\uD83D\\uDC47\\uD83C\\uDFFF']] },\n \"1f448\": { \"1f3fb\": [\"1f448-1f3fb\", 12, 20, 63, ['\\uD83D\\uDC48\\uD83C\\uDFFB']], \"1f3fc\": [\"1f448-1f3fc\", 12, 21, 63, ['\\uD83D\\uDC48\\uD83C\\uDFFC']], \"1f3fd\": [\"1f448-1f3fd\", 12, 22, 63, ['\\uD83D\\uDC48\\uD83C\\uDFFD']], \"1f3fe\": [\"1f448-1f3fe\", 12, 23, 63, ['\\uD83D\\uDC48\\uD83C\\uDFFE']], \"1f3ff\": [\"1f448-1f3ff\", 12, 24, 63, ['\\uD83D\\uDC48\\uD83C\\uDFFF']] },\n \"1f449\": { \"1f3fb\": [\"1f449-1f3fb\", 12, 26, 63, ['\\uD83D\\uDC49\\uD83C\\uDFFB']], \"1f3fc\": [\"1f449-1f3fc\", 12, 27, 63, ['\\uD83D\\uDC49\\uD83C\\uDFFC']], \"1f3fd\": [\"1f449-1f3fd\", 12, 28, 63, ['\\uD83D\\uDC49\\uD83C\\uDFFD']], \"1f3fe\": [\"1f449-1f3fe\", 12, 29, 63, ['\\uD83D\\uDC49\\uD83C\\uDFFE']], \"1f3ff\": [\"1f449-1f3ff\", 12, 30, 63, ['\\uD83D\\uDC49\\uD83C\\uDFFF']] },\n \"1f44a\": { \"1f3fb\": [\"1f44a-1f3fb\", 12, 32, 63, ['\\uD83D\\uDC4A\\uD83C\\uDFFB']], \"1f3fc\": [\"1f44a-1f3fc\", 12, 33, 63, ['\\uD83D\\uDC4A\\uD83C\\uDFFC']], \"1f3fd\": [\"1f44a-1f3fd\", 12, 34, 63, ['\\uD83D\\uDC4A\\uD83C\\uDFFD']], \"1f3fe\": [\"1f44a-1f3fe\", 12, 35, 63, ['\\uD83D\\uDC4A\\uD83C\\uDFFE']], \"1f3ff\": [\"1f44a-1f3ff\", 12, 36, 63, ['\\uD83D\\uDC4A\\uD83C\\uDFFF']] },\n \"1f44b\": { \"1f3fb\": [\"1f44b-1f3fb\", 12, 38, 63, ['\\uD83D\\uDC4B\\uD83C\\uDFFB']], \"1f3fc\": [\"1f44b-1f3fc\", 12, 39, 63, ['\\uD83D\\uDC4B\\uD83C\\uDFFC']], \"1f3fd\": [\"1f44b-1f3fd\", 12, 40, 63, ['\\uD83D\\uDC4B\\uD83C\\uDFFD']], \"1f3fe\": [\"1f44b-1f3fe\", 12, 41, 63, ['\\uD83D\\uDC4B\\uD83C\\uDFFE']], \"1f3ff\": [\"1f44b-1f3ff\", 12, 42, 63, ['\\uD83D\\uDC4B\\uD83C\\uDFFF']] },\n \"1f44c\": { \"1f3fb\": [\"1f44c-1f3fb\", 12, 44, 63, ['\\uD83D\\uDC4C\\uD83C\\uDFFB']], \"1f3fc\": [\"1f44c-1f3fc\", 12, 45, 63, ['\\uD83D\\uDC4C\\uD83C\\uDFFC']], \"1f3fd\": [\"1f44c-1f3fd\", 12, 46, 63, ['\\uD83D\\uDC4C\\uD83C\\uDFFD']], \"1f3fe\": [\"1f44c-1f3fe\", 12, 47, 63, ['\\uD83D\\uDC4C\\uD83C\\uDFFE']], \"1f3ff\": [\"1f44c-1f3ff\", 12, 48, 63, ['\\uD83D\\uDC4C\\uD83C\\uDFFF']] },\n \"1f44d\": { \"1f3fb\": [\"1f44d-1f3fb\", 13, 1, 63, ['\\uD83D\\uDC4D\\uD83C\\uDFFB']], \"1f3fc\": [\"1f44d-1f3fc\", 13, 2, 63, ['\\uD83D\\uDC4D\\uD83C\\uDFFC']], \"1f3fd\": [\"1f44d-1f3fd\", 13, 3, 63, ['\\uD83D\\uDC4D\\uD83C\\uDFFD']], \"1f3fe\": [\"1f44d-1f3fe\", 13, 4, 63, ['\\uD83D\\uDC4D\\uD83C\\uDFFE']], \"1f3ff\": [\"1f44d-1f3ff\", 13, 5, 63, ['\\uD83D\\uDC4D\\uD83C\\uDFFF']] },\n \"1f44e\": { \"1f3fb\": [\"1f44e-1f3fb\", 13, 7, 63, ['\\uD83D\\uDC4E\\uD83C\\uDFFB']], \"1f3fc\": [\"1f44e-1f3fc\", 13, 8, 63, ['\\uD83D\\uDC4E\\uD83C\\uDFFC']], \"1f3fd\": [\"1f44e-1f3fd\", 13, 9, 63, ['\\uD83D\\uDC4E\\uD83C\\uDFFD']], \"1f3fe\": [\"1f44e-1f3fe\", 13, 10, 63, ['\\uD83D\\uDC4E\\uD83C\\uDFFE']], \"1f3ff\": [\"1f44e-1f3ff\", 13, 11, 63, ['\\uD83D\\uDC4E\\uD83C\\uDFFF']] },\n \"1f44f\": { \"1f3fb\": [\"1f44f-1f3fb\", 13, 13, 63, ['\\uD83D\\uDC4F\\uD83C\\uDFFB']], \"1f3fc\": [\"1f44f-1f3fc\", 13, 14, 63, ['\\uD83D\\uDC4F\\uD83C\\uDFFC']], \"1f3fd\": [\"1f44f-1f3fd\", 13, 15, 63, ['\\uD83D\\uDC4F\\uD83C\\uDFFD']], \"1f3fe\": [\"1f44f-1f3fe\", 13, 16, 63, ['\\uD83D\\uDC4F\\uD83C\\uDFFE']], \"1f3ff\": [\"1f44f-1f3ff\", 13, 17, 63, ['\\uD83D\\uDC4F\\uD83C\\uDFFF']] },\n \"1f450\": { \"1f3fb\": [\"1f450-1f3fb\", 13, 19, 63, ['\\uD83D\\uDC50\\uD83C\\uDFFB']], \"1f3fc\": [\"1f450-1f3fc\", 13, 20, 63, ['\\uD83D\\uDC50\\uD83C\\uDFFC']], \"1f3fd\": [\"1f450-1f3fd\", 13, 21, 63, ['\\uD83D\\uDC50\\uD83C\\uDFFD']], \"1f3fe\": [\"1f450-1f3fe\", 13, 22, 63, ['\\uD83D\\uDC50\\uD83C\\uDFFE']], \"1f3ff\": [\"1f450-1f3ff\", 13, 23, 63, ['\\uD83D\\uDC50\\uD83C\\uDFFF']] },\n \"1f466\": { \"1f3fb\": [\"1f466-1f3fb\", 13, 46, 63, ['\\uD83D\\uDC66\\uD83C\\uDFFB']], \"1f3fc\": [\"1f466-1f3fc\", 13, 47, 63, ['\\uD83D\\uDC66\\uD83C\\uDFFC']], \"1f3fd\": [\"1f466-1f3fd\", 13, 48, 63, ['\\uD83D\\uDC66\\uD83C\\uDFFD']], \"1f3fe\": [\"1f466-1f3fe\", 14, 0, 63, ['\\uD83D\\uDC66\\uD83C\\uDFFE']], \"1f3ff\": [\"1f466-1f3ff\", 14, 1, 63, ['\\uD83D\\uDC66\\uD83C\\uDFFF']] },\n \"1f467\": { \"1f3fb\": [\"1f467-1f3fb\", 14, 3, 63, ['\\uD83D\\uDC67\\uD83C\\uDFFB']], \"1f3fc\": [\"1f467-1f3fc\", 14, 4, 63, ['\\uD83D\\uDC67\\uD83C\\uDFFC']], \"1f3fd\": [\"1f467-1f3fd\", 14, 5, 63, ['\\uD83D\\uDC67\\uD83C\\uDFFD']], \"1f3fe\": [\"1f467-1f3fe\", 14, 6, 63, ['\\uD83D\\uDC67\\uD83C\\uDFFE']], \"1f3ff\": [\"1f467-1f3ff\", 14, 7, 63, ['\\uD83D\\uDC67\\uD83C\\uDFFF']] },\n \"1f468\": { \"1f3fb\": [\"1f468-1f3fb\", 14, 9, 63, ['\\uD83D\\uDC68\\uD83C\\uDFFB']], \"1f3fc\": [\"1f468-1f3fc\", 14, 10, 63, ['\\uD83D\\uDC68\\uD83C\\uDFFC']], \"1f3fd\": [\"1f468-1f3fd\", 14, 11, 63, ['\\uD83D\\uDC68\\uD83C\\uDFFD']], \"1f3fe\": [\"1f468-1f3fe\", 14, 12, 63, ['\\uD83D\\uDC68\\uD83C\\uDFFE']], \"1f3ff\": [\"1f468-1f3ff\", 14, 13, 63, ['\\uD83D\\uDC68\\uD83C\\uDFFF']] },\n \"1f469\": { \"1f3fb\": [\"1f469-1f3fb\", 14, 15, 63, ['\\uD83D\\uDC69\\uD83C\\uDFFB']], \"1f3fc\": [\"1f469-1f3fc\", 14, 16, 63, ['\\uD83D\\uDC69\\uD83C\\uDFFC']], \"1f3fd\": [\"1f469-1f3fd\", 14, 17, 63, ['\\uD83D\\uDC69\\uD83C\\uDFFD']], \"1f3fe\": [\"1f469-1f3fe\", 14, 18, 63, ['\\uD83D\\uDC69\\uD83C\\uDFFE']], \"1f3ff\": [\"1f469-1f3ff\", 14, 19, 63, ['\\uD83D\\uDC69\\uD83C\\uDFFF']] },\n \"1f470\": { \"1f3fb\": [\"1f470-1f3fb\", 14, 32, 63, ['\\uD83D\\uDC70\\uD83C\\uDFFB']], \"1f3fc\": [\"1f470-1f3fc\", 14, 33, 63, ['\\uD83D\\uDC70\\uD83C\\uDFFC']], \"1f3fd\": [\"1f470-1f3fd\", 14, 34, 63, ['\\uD83D\\uDC70\\uD83C\\uDFFD']], \"1f3fe\": [\"1f470-1f3fe\", 14, 35, 63, ['\\uD83D\\uDC70\\uD83C\\uDFFE']], \"1f3ff\": [\"1f470-1f3ff\", 14, 36, 63, ['\\uD83D\\uDC70\\uD83C\\uDFFF']] },\n \"1f472\": { \"1f3fb\": [\"1f472-1f3fb\", 14, 44, 63, ['\\uD83D\\uDC72\\uD83C\\uDFFB']], \"1f3fc\": [\"1f472-1f3fc\", 14, 45, 63, ['\\uD83D\\uDC72\\uD83C\\uDFFC']], \"1f3fd\": [\"1f472-1f3fd\", 14, 46, 63, ['\\uD83D\\uDC72\\uD83C\\uDFFD']], \"1f3fe\": [\"1f472-1f3fe\", 14, 47, 63, ['\\uD83D\\uDC72\\uD83C\\uDFFE']], \"1f3ff\": [\"1f472-1f3ff\", 14, 48, 63, ['\\uD83D\\uDC72\\uD83C\\uDFFF']] },\n \"1f474\": { \"1f3fb\": [\"1f474-1f3fb\", 15, 7, 63, ['\\uD83D\\uDC74\\uD83C\\uDFFB']], \"1f3fc\": [\"1f474-1f3fc\", 15, 8, 63, ['\\uD83D\\uDC74\\uD83C\\uDFFC']], \"1f3fd\": [\"1f474-1f3fd\", 15, 9, 63, ['\\uD83D\\uDC74\\uD83C\\uDFFD']], \"1f3fe\": [\"1f474-1f3fe\", 15, 10, 63, ['\\uD83D\\uDC74\\uD83C\\uDFFE']], \"1f3ff\": [\"1f474-1f3ff\", 15, 11, 63, ['\\uD83D\\uDC74\\uD83C\\uDFFF']] },\n \"1f475\": { \"1f3fb\": [\"1f475-1f3fb\", 15, 13, 63, ['\\uD83D\\uDC75\\uD83C\\uDFFB']], \"1f3fc\": [\"1f475-1f3fc\", 15, 14, 63, ['\\uD83D\\uDC75\\uD83C\\uDFFC']], \"1f3fd\": [\"1f475-1f3fd\", 15, 15, 63, ['\\uD83D\\uDC75\\uD83C\\uDFFD']], \"1f3fe\": [\"1f475-1f3fe\", 15, 16, 63, ['\\uD83D\\uDC75\\uD83C\\uDFFE']], \"1f3ff\": [\"1f475-1f3ff\", 15, 17, 63, ['\\uD83D\\uDC75\\uD83C\\uDFFF']] },\n \"1f476\": { \"1f3fb\": [\"1f476-1f3fb\", 15, 19, 63, ['\\uD83D\\uDC76\\uD83C\\uDFFB']], \"1f3fc\": [\"1f476-1f3fc\", 15, 20, 63, ['\\uD83D\\uDC76\\uD83C\\uDFFC']], \"1f3fd\": [\"1f476-1f3fd\", 15, 21, 63, ['\\uD83D\\uDC76\\uD83C\\uDFFD']], \"1f3fe\": [\"1f476-1f3fe\", 15, 22, 63, ['\\uD83D\\uDC76\\uD83C\\uDFFE']], \"1f3ff\": [\"1f476-1f3ff\", 15, 23, 63, ['\\uD83D\\uDC76\\uD83C\\uDFFF']] },\n \"1f478\": { \"1f3fb\": [\"1f478-1f3fb\", 15, 31, 63, ['\\uD83D\\uDC78\\uD83C\\uDFFB']], \"1f3fc\": [\"1f478-1f3fc\", 15, 32, 63, ['\\uD83D\\uDC78\\uD83C\\uDFFC']], \"1f3fd\": [\"1f478-1f3fd\", 15, 33, 63, ['\\uD83D\\uDC78\\uD83C\\uDFFD']], \"1f3fe\": [\"1f478-1f3fe\", 15, 34, 63, ['\\uD83D\\uDC78\\uD83C\\uDFFE']], \"1f3ff\": [\"1f478-1f3ff\", 15, 35, 63, ['\\uD83D\\uDC78\\uD83C\\uDFFF']] },\n \"1f47c\": { \"1f3fb\": [\"1f47c-1f3fb\", 15, 40, 63, ['\\uD83D\\uDC7C\\uD83C\\uDFFB']], \"1f3fc\": [\"1f47c-1f3fc\", 15, 41, 63, ['\\uD83D\\uDC7C\\uD83C\\uDFFC']], \"1f3fd\": [\"1f47c-1f3fd\", 15, 42, 63, ['\\uD83D\\uDC7C\\uD83C\\uDFFD']], \"1f3fe\": [\"1f47c-1f3fe\", 15, 43, 63, ['\\uD83D\\uDC7C\\uD83C\\uDFFE']], \"1f3ff\": [\"1f47c-1f3ff\", 15, 44, 63, ['\\uD83D\\uDC7C\\uD83C\\uDFFF']] },\n \"1f483\": { \"1f3fb\": [\"1f483-1f3fb\", 16, 13, 63, ['\\uD83D\\uDC83\\uD83C\\uDFFB']], \"1f3fc\": [\"1f483-1f3fc\", 16, 14, 63, ['\\uD83D\\uDC83\\uD83C\\uDFFC']], \"1f3fd\": [\"1f483-1f3fd\", 16, 15, 63, ['\\uD83D\\uDC83\\uD83C\\uDFFD']], \"1f3fe\": [\"1f483-1f3fe\", 16, 16, 63, ['\\uD83D\\uDC83\\uD83C\\uDFFE']], \"1f3ff\": [\"1f483-1f3ff\", 16, 17, 63, ['\\uD83D\\uDC83\\uD83C\\uDFFF']] },\n \"1f485\": { \"1f3fb\": [\"1f485-1f3fb\", 16, 20, 63, ['\\uD83D\\uDC85\\uD83C\\uDFFB']], \"1f3fc\": [\"1f485-1f3fc\", 16, 21, 63, ['\\uD83D\\uDC85\\uD83C\\uDFFC']], \"1f3fd\": [\"1f485-1f3fd\", 16, 22, 63, ['\\uD83D\\uDC85\\uD83C\\uDFFD']], \"1f3fe\": [\"1f485-1f3fe\", 16, 23, 63, ['\\uD83D\\uDC85\\uD83C\\uDFFE']], \"1f3ff\": [\"1f485-1f3ff\", 16, 24, 63, ['\\uD83D\\uDC85\\uD83C\\uDFFF']] },\n \"1f4aa\": { \"1f3fb\": [\"1f4aa-1f3fb\", 17, 23, 63, ['\\uD83D\\uDCAA\\uD83C\\uDFFB']], \"1f3fc\": [\"1f4aa-1f3fc\", 17, 24, 63, ['\\uD83D\\uDCAA\\uD83C\\uDFFC']], \"1f3fd\": [\"1f4aa-1f3fd\", 17, 25, 63, ['\\uD83D\\uDCAA\\uD83C\\uDFFD']], \"1f3fe\": [\"1f4aa-1f3fe\", 17, 26, 63, ['\\uD83D\\uDCAA\\uD83C\\uDFFE']], \"1f3ff\": [\"1f4aa-1f3ff\", 17, 27, 63, ['\\uD83D\\uDCAA\\uD83C\\uDFFF']] },\n \"1f574\": { \"1f3fb\": [\"1f574-1f3fb\", 21, 12, 21, ['\\uD83D\\uDD74\\uD83C\\uDFFB']], \"1f3fc\": [\"1f574-1f3fc\", 21, 13, 21, ['\\uD83D\\uDD74\\uD83C\\uDFFC']], \"1f3fd\": [\"1f574-1f3fd\", 21, 14, 21, ['\\uD83D\\uDD74\\uD83C\\uDFFD']], \"1f3fe\": [\"1f574-1f3fe\", 21, 15, 21, ['\\uD83D\\uDD74\\uD83C\\uDFFE']], \"1f3ff\": [\"1f574-1f3ff\", 21, 16, 21, ['\\uD83D\\uDD74\\uD83C\\uDFFF']] },\n \"1f57a\": { \"1f3fb\": [\"1f57a-1f3fb\", 21, 28, 31, ['\\uD83D\\uDD7A\\uD83C\\uDFFB']], \"1f3fc\": [\"1f57a-1f3fc\", 21, 29, 31, ['\\uD83D\\uDD7A\\uD83C\\uDFFC']], \"1f3fd\": [\"1f57a-1f3fd\", 21, 30, 31, ['\\uD83D\\uDD7A\\uD83C\\uDFFD']], \"1f3fe\": [\"1f57a-1f3fe\", 21, 31, 31, ['\\uD83D\\uDD7A\\uD83C\\uDFFE']], \"1f3ff\": [\"1f57a-1f3ff\", 21, 32, 31, ['\\uD83D\\uDD7A\\uD83C\\uDFFF']] },\n \"1f590\": { \"1f3fb\": [\"1f590-1f3fb\", 21, 39, 31, ['\\uD83D\\uDD90\\uD83C\\uDFFB']], \"1f3fc\": [\"1f590-1f3fc\", 21, 40, 31, ['\\uD83D\\uDD90\\uD83C\\uDFFC']], \"1f3fd\": [\"1f590-1f3fd\", 21, 41, 31, ['\\uD83D\\uDD90\\uD83C\\uDFFD']], \"1f3fe\": [\"1f590-1f3fe\", 21, 42, 31, ['\\uD83D\\uDD90\\uD83C\\uDFFE']], \"1f3ff\": [\"1f590-1f3ff\", 21, 43, 31, ['\\uD83D\\uDD90\\uD83C\\uDFFF']] },\n \"1f595\": { \"1f3fb\": [\"1f595-1f3fb\", 21, 45, 31, ['\\uD83D\\uDD95\\uD83C\\uDFFB']], \"1f3fc\": [\"1f595-1f3fc\", 21, 46, 31, ['\\uD83D\\uDD95\\uD83C\\uDFFC']], \"1f3fd\": [\"1f595-1f3fd\", 21, 47, 31, ['\\uD83D\\uDD95\\uD83C\\uDFFD']], \"1f3fe\": [\"1f595-1f3fe\", 21, 48, 31, ['\\uD83D\\uDD95\\uD83C\\uDFFE']], \"1f3ff\": [\"1f595-1f3ff\", 22, 0, 31, ['\\uD83D\\uDD95\\uD83C\\uDFFF']] },\n \"1f596\": { \"1f3fb\": [\"1f596-1f3fb\", 22, 2, 31, ['\\uD83D\\uDD96\\uD83C\\uDFFB']], \"1f3fc\": [\"1f596-1f3fc\", 22, 3, 31, ['\\uD83D\\uDD96\\uD83C\\uDFFC']], \"1f3fd\": [\"1f596-1f3fd\", 22, 4, 31, ['\\uD83D\\uDD96\\uD83C\\uDFFD']], \"1f3fe\": [\"1f596-1f3fe\", 22, 5, 31, ['\\uD83D\\uDD96\\uD83C\\uDFFE']], \"1f3ff\": [\"1f596-1f3ff\", 22, 6, 31, ['\\uD83D\\uDD96\\uD83C\\uDFFF']] },\n \"1f64c\": { \"1f3fb\": [\"1f64c-1f3fb\", 24, 32, 63, ['\\uD83D\\uDE4C\\uD83C\\uDFFB']], \"1f3fc\": [\"1f64c-1f3fc\", 24, 33, 63, ['\\uD83D\\uDE4C\\uD83C\\uDFFC']], \"1f3fd\": [\"1f64c-1f3fd\", 24, 34, 63, ['\\uD83D\\uDE4C\\uD83C\\uDFFD']], \"1f3fe\": [\"1f64c-1f3fe\", 24, 35, 63, ['\\uD83D\\uDE4C\\uD83C\\uDFFE']], \"1f3ff\": [\"1f64c-1f3ff\", 24, 36, 63, ['\\uD83D\\uDE4C\\uD83C\\uDFFF']] },\n \"1f64f\": { \"1f3fb\": [\"1f64f-1f3fb\", 25, 1, 63, ['\\uD83D\\uDE4F\\uD83C\\uDFFB']], \"1f3fc\": [\"1f64f-1f3fc\", 25, 2, 63, ['\\uD83D\\uDE4F\\uD83C\\uDFFC']], \"1f3fd\": [\"1f64f-1f3fd\", 25, 3, 63, ['\\uD83D\\uDE4F\\uD83C\\uDFFD']], \"1f3fe\": [\"1f64f-1f3fe\", 25, 4, 63, ['\\uD83D\\uDE4F\\uD83C\\uDFFE']], \"1f3ff\": [\"1f64f-1f3ff\", 25, 5, 63, ['\\uD83D\\uDE4F\\uD83C\\uDFFF']] },\n \"1f6c0\": { \"1f3fb\": [\"1f6c0-1f3fb\", 26, 42, 63, ['\\uD83D\\uDEC0\\uD83C\\uDFFB']], \"1f3fc\": [\"1f6c0-1f3fc\", 26, 43, 63, ['\\uD83D\\uDEC0\\uD83C\\uDFFC']], \"1f3fd\": [\"1f6c0-1f3fd\", 26, 44, 63, ['\\uD83D\\uDEC0\\uD83C\\uDFFD']], \"1f3fe\": [\"1f6c0-1f3fe\", 26, 45, 63, ['\\uD83D\\uDEC0\\uD83C\\uDFFE']], \"1f3ff\": [\"1f6c0-1f3ff\", 26, 46, 63, ['\\uD83D\\uDEC0\\uD83C\\uDFFF']] },\n \"1f6cc\": { \"1f3fb\": [\"1f6cc-1f3fb\", 27, 5, 21, ['\\uD83D\\uDECC\\uD83C\\uDFFB']], \"1f3fc\": [\"1f6cc-1f3fc\", 27, 6, 21, ['\\uD83D\\uDECC\\uD83C\\uDFFC']], \"1f3fd\": [\"1f6cc-1f3fd\", 27, 7, 21, ['\\uD83D\\uDECC\\uD83C\\uDFFD']], \"1f3fe\": [\"1f6cc-1f3fe\", 27, 8, 21, ['\\uD83D\\uDECC\\uD83C\\uDFFE']], \"1f3ff\": [\"1f6cc-1f3ff\", 27, 9, 21, ['\\uD83D\\uDECC\\uD83C\\uDFFF']] },\n \"1f918\": { \"1f3fb\": [\"1f918-1f3fb\", 27, 39, 31, ['\\uD83E\\uDD18\\uD83C\\uDFFB']], \"1f3fc\": [\"1f918-1f3fc\", 27, 40, 31, ['\\uD83E\\uDD18\\uD83C\\uDFFC']], \"1f3fd\": [\"1f918-1f3fd\", 27, 41, 31, ['\\uD83E\\uDD18\\uD83C\\uDFFD']], \"1f3fe\": [\"1f918-1f3fe\", 27, 42, 31, ['\\uD83E\\uDD18\\uD83C\\uDFFE']], \"1f3ff\": [\"1f918-1f3ff\", 27, 43, 31, ['\\uD83E\\uDD18\\uD83C\\uDFFF']] },\n \"1f919\": { \"1f3fb\": [\"1f919-1f3fb\", 27, 45, 31, ['\\uD83E\\uDD19\\uD83C\\uDFFB']], \"1f3fc\": [\"1f919-1f3fc\", 27, 46, 31, ['\\uD83E\\uDD19\\uD83C\\uDFFC']], \"1f3fd\": [\"1f919-1f3fd\", 27, 47, 31, ['\\uD83E\\uDD19\\uD83C\\uDFFD']], \"1f3fe\": [\"1f919-1f3fe\", 27, 48, 31, ['\\uD83E\\uDD19\\uD83C\\uDFFE']], \"1f3ff\": [\"1f919-1f3ff\", 28, 0, 31, ['\\uD83E\\uDD19\\uD83C\\uDFFF']] },\n \"1f91a\": { \"1f3fb\": [\"1f91a-1f3fb\", 28, 2, 31, ['\\uD83E\\uDD1A\\uD83C\\uDFFB']], \"1f3fc\": [\"1f91a-1f3fc\", 28, 3, 31, ['\\uD83E\\uDD1A\\uD83C\\uDFFC']], \"1f3fd\": [\"1f91a-1f3fd\", 28, 4, 31, ['\\uD83E\\uDD1A\\uD83C\\uDFFD']], \"1f3fe\": [\"1f91a-1f3fe\", 28, 5, 31, ['\\uD83E\\uDD1A\\uD83C\\uDFFE']], \"1f3ff\": [\"1f91a-1f3ff\", 28, 6, 31, ['\\uD83E\\uDD1A\\uD83C\\uDFFF']] },\n \"1f91b\": { \"1f3fb\": [\"1f91b-1f3fb\", 28, 8, 31, ['\\uD83E\\uDD1B\\uD83C\\uDFFB']], \"1f3fc\": [\"1f91b-1f3fc\", 28, 9, 31, ['\\uD83E\\uDD1B\\uD83C\\uDFFC']], \"1f3fd\": [\"1f91b-1f3fd\", 28, 10, 31, ['\\uD83E\\uDD1B\\uD83C\\uDFFD']], \"1f3fe\": [\"1f91b-1f3fe\", 28, 11, 31, ['\\uD83E\\uDD1B\\uD83C\\uDFFE']], \"1f3ff\": [\"1f91b-1f3ff\", 28, 12, 31, ['\\uD83E\\uDD1B\\uD83C\\uDFFF']] },\n \"1f91c\": { \"1f3fb\": [\"1f91c-1f3fb\", 28, 14, 31, ['\\uD83E\\uDD1C\\uD83C\\uDFFB']], \"1f3fc\": [\"1f91c-1f3fc\", 28, 15, 31, ['\\uD83E\\uDD1C\\uD83C\\uDFFC']], \"1f3fd\": [\"1f91c-1f3fd\", 28, 16, 31, ['\\uD83E\\uDD1C\\uD83C\\uDFFD']], \"1f3fe\": [\"1f91c-1f3fe\", 28, 17, 31, ['\\uD83E\\uDD1C\\uD83C\\uDFFE']], \"1f3ff\": [\"1f91c-1f3ff\", 28, 18, 31, ['\\uD83E\\uDD1C\\uD83C\\uDFFF']] },\n \"1f91e\": { \"1f3fb\": [\"1f91e-1f3fb\", 28, 21, 31, ['\\uD83E\\uDD1E\\uD83C\\uDFFB']], \"1f3fc\": [\"1f91e-1f3fc\", 28, 22, 31, ['\\uD83E\\uDD1E\\uD83C\\uDFFC']], \"1f3fd\": [\"1f91e-1f3fd\", 28, 23, 31, ['\\uD83E\\uDD1E\\uD83C\\uDFFD']], \"1f3fe\": [\"1f91e-1f3fe\", 28, 24, 31, ['\\uD83E\\uDD1E\\uD83C\\uDFFE']], \"1f3ff\": [\"1f91e-1f3ff\", 28, 25, 31, ['\\uD83E\\uDD1E\\uD83C\\uDFFF']] },\n \"1f926\": { \"1f3fb\": [\"1f926-1f3fb\", 28, 33, 31, ['\\uD83E\\uDD26\\uD83C\\uDFFB']], \"1f3fc\": [\"1f926-1f3fc\", 28, 34, 31, ['\\uD83E\\uDD26\\uD83C\\uDFFC']], \"1f3fd\": [\"1f926-1f3fd\", 28, 35, 31, ['\\uD83E\\uDD26\\uD83C\\uDFFD']], \"1f3fe\": [\"1f926-1f3fe\", 28, 36, 31, ['\\uD83E\\uDD26\\uD83C\\uDFFE']], \"1f3ff\": [\"1f926-1f3ff\", 28, 37, 31, ['\\uD83E\\uDD26\\uD83C\\uDFFF']] },\n \"1f930\": { \"1f3fb\": [\"1f930-1f3fb\", 28, 40, 31, ['\\uD83E\\uDD30\\uD83C\\uDFFB']], \"1f3fc\": [\"1f930-1f3fc\", 28, 41, 31, ['\\uD83E\\uDD30\\uD83C\\uDFFC']], \"1f3fd\": [\"1f930-1f3fd\", 28, 42, 31, ['\\uD83E\\uDD30\\uD83C\\uDFFD']], \"1f3fe\": [\"1f930-1f3fe\", 28, 43, 31, ['\\uD83E\\uDD30\\uD83C\\uDFFE']], \"1f3ff\": [\"1f930-1f3ff\", 28, 44, 31, ['\\uD83E\\uDD30\\uD83C\\uDFFF']] },\n \"1f933\": { \"1f3fb\": [\"1f933-1f3fb\", 28, 46, 31, ['\\uD83E\\uDD33\\uD83C\\uDFFB']], \"1f3fc\": [\"1f933-1f3fc\", 28, 47, 31, ['\\uD83E\\uDD33\\uD83C\\uDFFC']], \"1f3fd\": [\"1f933-1f3fd\", 28, 48, 31, ['\\uD83E\\uDD33\\uD83C\\uDFFD']], \"1f3fe\": [\"1f933-1f3fe\", 29, 0, 31, ['\\uD83E\\uDD33\\uD83C\\uDFFE']], \"1f3ff\": [\"1f933-1f3ff\", 29, 1, 31, ['\\uD83E\\uDD33\\uD83C\\uDFFF']] },\n \"1f934\": { \"1f3fb\": [\"1f934-1f3fb\", 29, 3, 31, ['\\uD83E\\uDD34\\uD83C\\uDFFB']], \"1f3fc\": [\"1f934-1f3fc\", 29, 4, 31, ['\\uD83E\\uDD34\\uD83C\\uDFFC']], \"1f3fd\": [\"1f934-1f3fd\", 29, 5, 31, ['\\uD83E\\uDD34\\uD83C\\uDFFD']], \"1f3fe\": [\"1f934-1f3fe\", 29, 6, 31, ['\\uD83E\\uDD34\\uD83C\\uDFFE']], \"1f3ff\": [\"1f934-1f3ff\", 29, 7, 31, ['\\uD83E\\uDD34\\uD83C\\uDFFF']] },\n \"1f935\": { \"1f3fb\": [\"1f935-1f3fb\", 29, 9, 31, ['\\uD83E\\uDD35\\uD83C\\uDFFB']], \"1f3fc\": [\"1f935-1f3fc\", 29, 10, 31, ['\\uD83E\\uDD35\\uD83C\\uDFFC']], \"1f3fd\": [\"1f935-1f3fd\", 29, 11, 31, ['\\uD83E\\uDD35\\uD83C\\uDFFD']], \"1f3fe\": [\"1f935-1f3fe\", 29, 12, 31, ['\\uD83E\\uDD35\\uD83C\\uDFFE']], \"1f3ff\": [\"1f935-1f3ff\", 29, 13, 31, ['\\uD83E\\uDD35\\uD83C\\uDFFF']] },\n \"1f936\": { \"1f3fb\": [\"1f936-1f3fb\", 29, 15, 31, ['\\uD83E\\uDD36\\uD83C\\uDFFB']], \"1f3fc\": [\"1f936-1f3fc\", 29, 16, 31, ['\\uD83E\\uDD36\\uD83C\\uDFFC']], \"1f3fd\": [\"1f936-1f3fd\", 29, 17, 31, ['\\uD83E\\uDD36\\uD83C\\uDFFD']], \"1f3fe\": [\"1f936-1f3fe\", 29, 18, 31, ['\\uD83E\\uDD36\\uD83C\\uDFFE']], \"1f3ff\": [\"1f936-1f3ff\", 29, 19, 31, ['\\uD83E\\uDD36\\uD83C\\uDFFF']] },\n \"1f937\": { \"1f3fb\": [\"1f937-1f3fb\", 29, 21, 31, ['\\uD83E\\uDD37\\uD83C\\uDFFB']], \"1f3fc\": [\"1f937-1f3fc\", 29, 22, 31, ['\\uD83E\\uDD37\\uD83C\\uDFFC']], \"1f3fd\": [\"1f937-1f3fd\", 29, 23, 31, ['\\uD83E\\uDD37\\uD83C\\uDFFD']], \"1f3fe\": [\"1f937-1f3fe\", 29, 24, 31, ['\\uD83E\\uDD37\\uD83C\\uDFFE']], \"1f3ff\": [\"1f937-1f3ff\", 29, 25, 31, ['\\uD83E\\uDD37\\uD83C\\uDFFF']] },\n \"1f938\": { \"1f3fb\": [\"1f938-1f3fb\", 29, 27, 31, ['\\uD83E\\uDD38\\uD83C\\uDFFB']], \"1f3fc\": [\"1f938-1f3fc\", 29, 28, 31, ['\\uD83E\\uDD38\\uD83C\\uDFFC']], \"1f3fd\": [\"1f938-1f3fd\", 29, 29, 31, ['\\uD83E\\uDD38\\uD83C\\uDFFD']], \"1f3fe\": [\"1f938-1f3fe\", 29, 30, 31, ['\\uD83E\\uDD38\\uD83C\\uDFFE']], \"1f3ff\": [\"1f938-1f3ff\", 29, 31, 31, ['\\uD83E\\uDD38\\uD83C\\uDFFF']] },\n \"1f939\": { \"1f3fb\": [\"1f939-1f3fb\", 29, 33, 31, ['\\uD83E\\uDD39\\uD83C\\uDFFB']], \"1f3fc\": [\"1f939-1f3fc\", 29, 34, 31, ['\\uD83E\\uDD39\\uD83C\\uDFFC']], \"1f3fd\": [\"1f939-1f3fd\", 29, 35, 31, ['\\uD83E\\uDD39\\uD83C\\uDFFD']], \"1f3fe\": [\"1f939-1f3fe\", 29, 36, 31, ['\\uD83E\\uDD39\\uD83C\\uDFFE']], \"1f3ff\": [\"1f939-1f3ff\", 29, 37, 31, ['\\uD83E\\uDD39\\uD83C\\uDFFF']] },\n \"1f93d\": { \"1f3fb\": [\"1f93d-1f3fb\", 29, 41, 31, ['\\uD83E\\uDD3D\\uD83C\\uDFFB']], \"1f3fc\": [\"1f93d-1f3fc\", 29, 42, 31, ['\\uD83E\\uDD3D\\uD83C\\uDFFC']], \"1f3fd\": [\"1f93d-1f3fd\", 29, 43, 31, ['\\uD83E\\uDD3D\\uD83C\\uDFFD']], \"1f3fe\": [\"1f93d-1f3fe\", 29, 44, 31, ['\\uD83E\\uDD3D\\uD83C\\uDFFE']], \"1f3ff\": [\"1f93d-1f3ff\", 29, 45, 31, ['\\uD83E\\uDD3D\\uD83C\\uDFFF']] },\n \"1f93e\": { \"1f3fb\": [\"1f93e-1f3fb\", 29, 47, 31, ['\\uD83E\\uDD3E\\uD83C\\uDFFB']], \"1f3fc\": [\"1f93e-1f3fc\", 29, 48, 31, ['\\uD83E\\uDD3E\\uD83C\\uDFFC']], \"1f3fd\": [\"1f93e-1f3fd\", 30, 0, 31, ['\\uD83E\\uDD3E\\uD83C\\uDFFD']], \"1f3fe\": [\"1f93e-1f3fe\", 30, 1, 31, ['\\uD83E\\uDD3E\\uD83C\\uDFFE']], \"1f3ff\": [\"1f93e-1f3ff\", 30, 2, 31, ['\\uD83E\\uDD3E\\uD83C\\uDFFF']] },\n \"1f468-200d-1f33e\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f33e\", 36, 25, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83C\\uDF3E']], \"1f3fc\": [\"1f468-1f3fc-200d-1f33e\", 36, 26, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83C\\uDF3E']], \"1f3fd\": [\"1f468-1f3fd-200d-1f33e\", 36, 27, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83C\\uDF3E']], \"1f3fe\": [\"1f468-1f3fe-200d-1f33e\", 36, 28, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83C\\uDF3E']], \"1f3ff\": [\"1f468-1f3ff-200d-1f33e\", 36, 29, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83C\\uDF3E']] },\n \"1f468-200d-1f373\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f373\", 36, 31, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83C\\uDF73']], \"1f3fc\": [\"1f468-1f3fc-200d-1f373\", 36, 32, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83C\\uDF73']], \"1f3fd\": [\"1f468-1f3fd-200d-1f373\", 36, 33, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83C\\uDF73']], \"1f3fe\": [\"1f468-1f3fe-200d-1f373\", 36, 34, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83C\\uDF73']], \"1f3ff\": [\"1f468-1f3ff-200d-1f373\", 36, 35, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83C\\uDF73']] },\n \"1f468-200d-1f393\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f393\", 36, 37, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83C\\uDF93']], \"1f3fc\": [\"1f468-1f3fc-200d-1f393\", 36, 38, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83C\\uDF93']], \"1f3fd\": [\"1f468-1f3fd-200d-1f393\", 36, 39, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83C\\uDF93']], \"1f3fe\": [\"1f468-1f3fe-200d-1f393\", 36, 40, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83C\\uDF93']], \"1f3ff\": [\"1f468-1f3ff-200d-1f393\", 36, 41, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83C\\uDF93']] },\n \"1f468-200d-1f3a4\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f3a4\", 36, 43, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83C\\uDFA4']], \"1f3fc\": [\"1f468-1f3fc-200d-1f3a4\", 36, 44, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83C\\uDFA4']], \"1f3fd\": [\"1f468-1f3fd-200d-1f3a4\", 36, 45, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83C\\uDFA4']], \"1f3fe\": [\"1f468-1f3fe-200d-1f3a4\", 36, 46, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83C\\uDFA4']], \"1f3ff\": [\"1f468-1f3ff-200d-1f3a4\", 36, 47, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83C\\uDFA4']] },\n \"1f468-200d-1f3a8\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f3a8\", 37, 0, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83C\\uDFA8']], \"1f3fc\": [\"1f468-1f3fc-200d-1f3a8\", 37, 1, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83C\\uDFA8']], \"1f3fd\": [\"1f468-1f3fd-200d-1f3a8\", 37, 2, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83C\\uDFA8']], \"1f3fe\": [\"1f468-1f3fe-200d-1f3a8\", 37, 3, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83C\\uDFA8']], \"1f3ff\": [\"1f468-1f3ff-200d-1f3a8\", 37, 4, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83C\\uDFA8']] },\n \"1f468-200d-1f3eb\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f3eb\", 37, 6, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83C\\uDFEB']], \"1f3fc\": [\"1f468-1f3fc-200d-1f3eb\", 37, 7, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83C\\uDFEB']], \"1f3fd\": [\"1f468-1f3fd-200d-1f3eb\", 37, 8, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83C\\uDFEB']], \"1f3fe\": [\"1f468-1f3fe-200d-1f3eb\", 37, 9, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83C\\uDFEB']], \"1f3ff\": [\"1f468-1f3ff-200d-1f3eb\", 37, 10, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83C\\uDFEB']] },\n \"1f468-200d-1f3ed\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f3ed\", 37, 12, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83C\\uDFED']], \"1f3fc\": [\"1f468-1f3fc-200d-1f3ed\", 37, 13, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83C\\uDFED']], \"1f3fd\": [\"1f468-1f3fd-200d-1f3ed\", 37, 14, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83C\\uDFED']], \"1f3fe\": [\"1f468-1f3fe-200d-1f3ed\", 37, 15, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83C\\uDFED']], \"1f3ff\": [\"1f468-1f3ff-200d-1f3ed\", 37, 16, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83C\\uDFED']] },\n \"1f468-200d-1f4bb\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f4bb\", 37, 20, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83D\\uDCBB']], \"1f3fc\": [\"1f468-1f3fc-200d-1f4bb\", 37, 21, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83D\\uDCBB']], \"1f3fd\": [\"1f468-1f3fd-200d-1f4bb\", 37, 22, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83D\\uDCBB']], \"1f3fe\": [\"1f468-1f3fe-200d-1f4bb\", 37, 23, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83D\\uDCBB']], \"1f3ff\": [\"1f468-1f3ff-200d-1f4bb\", 37, 24, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83D\\uDCBB']] },\n \"1f468-200d-1f4bc\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f4bc\", 37, 26, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83D\\uDCBC']], \"1f3fc\": [\"1f468-1f3fc-200d-1f4bc\", 37, 27, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83D\\uDCBC']], \"1f3fd\": [\"1f468-1f3fd-200d-1f4bc\", 37, 28, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83D\\uDCBC']], \"1f3fe\": [\"1f468-1f3fe-200d-1f4bc\", 37, 29, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83D\\uDCBC']], \"1f3ff\": [\"1f468-1f3ff-200d-1f4bc\", 37, 30, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83D\\uDCBC']] },\n \"1f468-200d-1f527\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f527\", 37, 32, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83D\\uDD27']], \"1f3fc\": [\"1f468-1f3fc-200d-1f527\", 37, 33, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83D\\uDD27']], \"1f3fd\": [\"1f468-1f3fd-200d-1f527\", 37, 34, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83D\\uDD27']], \"1f3fe\": [\"1f468-1f3fe-200d-1f527\", 37, 35, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83D\\uDD27']], \"1f3ff\": [\"1f468-1f3ff-200d-1f527\", 37, 36, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83D\\uDD27']] },\n \"1f468-200d-1f52c\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f52c\", 37, 38, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83D\\uDD2C']], \"1f3fc\": [\"1f468-1f3fc-200d-1f52c\", 37, 39, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83D\\uDD2C']], \"1f3fd\": [\"1f468-1f3fd-200d-1f52c\", 37, 40, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83D\\uDD2C']], \"1f3fe\": [\"1f468-1f3fe-200d-1f52c\", 37, 41, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83D\\uDD2C']], \"1f3ff\": [\"1f468-1f3ff-200d-1f52c\", 37, 42, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83D\\uDD2C']] },\n \"1f468-200d-1f680\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f680\", 37, 44, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83D\\uDE80']], \"1f3fc\": [\"1f468-1f3fc-200d-1f680\", 37, 45, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83D\\uDE80']], \"1f3fd\": [\"1f468-1f3fd-200d-1f680\", 37, 46, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83D\\uDE80']], \"1f3fe\": [\"1f468-1f3fe-200d-1f680\", 37, 47, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83D\\uDE80']], \"1f3ff\": [\"1f468-1f3ff-200d-1f680\", 37, 48, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83D\\uDE80']] },\n \"1f468-200d-1f692\": { \"1f3fb\": [\"1f468-1f3fb-200d-1f692\", 38, 1, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\uD83D\\uDE92']], \"1f3fc\": [\"1f468-1f3fc-200d-1f692\", 38, 2, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\uD83D\\uDE92']], \"1f3fd\": [\"1f468-1f3fd-200d-1f692\", 38, 3, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\uD83D\\uDE92']], \"1f3fe\": [\"1f468-1f3fe-200d-1f692\", 38, 4, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\uD83D\\uDE92']], \"1f3ff\": [\"1f468-1f3ff-200d-1f692\", 38, 5, 23, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\uD83D\\uDE92']] },\n \"1f469-200d-1f33e\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f33e\", 38, 7, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83C\\uDF3E']], \"1f3fc\": [\"1f469-1f3fc-200d-1f33e\", 38, 8, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83C\\uDF3E']], \"1f3fd\": [\"1f469-1f3fd-200d-1f33e\", 38, 9, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83C\\uDF3E']], \"1f3fe\": [\"1f469-1f3fe-200d-1f33e\", 38, 10, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83C\\uDF3E']], \"1f3ff\": [\"1f469-1f3ff-200d-1f33e\", 38, 11, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83C\\uDF3E']] },\n \"1f469-200d-1f373\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f373\", 38, 13, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83C\\uDF73']], \"1f3fc\": [\"1f469-1f3fc-200d-1f373\", 38, 14, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83C\\uDF73']], \"1f3fd\": [\"1f469-1f3fd-200d-1f373\", 38, 15, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83C\\uDF73']], \"1f3fe\": [\"1f469-1f3fe-200d-1f373\", 38, 16, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83C\\uDF73']], \"1f3ff\": [\"1f469-1f3ff-200d-1f373\", 38, 17, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83C\\uDF73']] },\n \"1f469-200d-1f393\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f393\", 38, 19, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83C\\uDF93']], \"1f3fc\": [\"1f469-1f3fc-200d-1f393\", 38, 20, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83C\\uDF93']], \"1f3fd\": [\"1f469-1f3fd-200d-1f393\", 38, 21, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83C\\uDF93']], \"1f3fe\": [\"1f469-1f3fe-200d-1f393\", 38, 22, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83C\\uDF93']], \"1f3ff\": [\"1f469-1f3ff-200d-1f393\", 38, 23, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83C\\uDF93']] },\n \"1f469-200d-1f3a4\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f3a4\", 38, 25, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83C\\uDFA4']], \"1f3fc\": [\"1f469-1f3fc-200d-1f3a4\", 38, 26, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83C\\uDFA4']], \"1f3fd\": [\"1f469-1f3fd-200d-1f3a4\", 38, 27, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83C\\uDFA4']], \"1f3fe\": [\"1f469-1f3fe-200d-1f3a4\", 38, 28, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83C\\uDFA4']], \"1f3ff\": [\"1f469-1f3ff-200d-1f3a4\", 38, 29, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83C\\uDFA4']] },\n \"1f469-200d-1f3a8\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f3a8\", 38, 31, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83C\\uDFA8']], \"1f3fc\": [\"1f469-1f3fc-200d-1f3a8\", 38, 32, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83C\\uDFA8']], \"1f3fd\": [\"1f469-1f3fd-200d-1f3a8\", 38, 33, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83C\\uDFA8']], \"1f3fe\": [\"1f469-1f3fe-200d-1f3a8\", 38, 34, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83C\\uDFA8']], \"1f3ff\": [\"1f469-1f3ff-200d-1f3a8\", 38, 35, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83C\\uDFA8']] },\n \"1f469-200d-1f3eb\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f3eb\", 38, 37, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83C\\uDFEB']], \"1f3fc\": [\"1f469-1f3fc-200d-1f3eb\", 38, 38, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83C\\uDFEB']], \"1f3fd\": [\"1f469-1f3fd-200d-1f3eb\", 38, 39, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83C\\uDFEB']], \"1f3fe\": [\"1f469-1f3fe-200d-1f3eb\", 38, 40, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83C\\uDFEB']], \"1f3ff\": [\"1f469-1f3ff-200d-1f3eb\", 38, 41, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83C\\uDFEB']] },\n \"1f469-200d-1f3ed\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f3ed\", 38, 43, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83C\\uDFED']], \"1f3fc\": [\"1f469-1f3fc-200d-1f3ed\", 38, 44, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83C\\uDFED']], \"1f3fd\": [\"1f469-1f3fd-200d-1f3ed\", 38, 45, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83C\\uDFED']], \"1f3fe\": [\"1f469-1f3fe-200d-1f3ed\", 38, 46, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83C\\uDFED']], \"1f3ff\": [\"1f469-1f3ff-200d-1f3ed\", 38, 47, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83C\\uDFED']] },\n \"1f469-200d-1f4bb\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f4bb\", 39, 2, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83D\\uDCBB']], \"1f3fc\": [\"1f469-1f3fc-200d-1f4bb\", 39, 3, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83D\\uDCBB']], \"1f3fd\": [\"1f469-1f3fd-200d-1f4bb\", 39, 4, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83D\\uDCBB']], \"1f3fe\": [\"1f469-1f3fe-200d-1f4bb\", 39, 5, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83D\\uDCBB']], \"1f3ff\": [\"1f469-1f3ff-200d-1f4bb\", 39, 6, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83D\\uDCBB']] },\n \"1f469-200d-1f4bc\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f4bc\", 39, 8, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83D\\uDCBC']], \"1f3fc\": [\"1f469-1f3fc-200d-1f4bc\", 39, 9, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83D\\uDCBC']], \"1f3fd\": [\"1f469-1f3fd-200d-1f4bc\", 39, 10, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83D\\uDCBC']], \"1f3fe\": [\"1f469-1f3fe-200d-1f4bc\", 39, 11, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83D\\uDCBC']], \"1f3ff\": [\"1f469-1f3ff-200d-1f4bc\", 39, 12, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83D\\uDCBC']] },\n \"1f469-200d-1f527\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f527\", 39, 14, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83D\\uDD27']], \"1f3fc\": [\"1f469-1f3fc-200d-1f527\", 39, 15, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83D\\uDD27']], \"1f3fd\": [\"1f469-1f3fd-200d-1f527\", 39, 16, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83D\\uDD27']], \"1f3fe\": [\"1f469-1f3fe-200d-1f527\", 39, 17, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83D\\uDD27']], \"1f3ff\": [\"1f469-1f3ff-200d-1f527\", 39, 18, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83D\\uDD27']] },\n \"1f469-200d-1f52c\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f52c\", 39, 20, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83D\\uDD2C']], \"1f3fc\": [\"1f469-1f3fc-200d-1f52c\", 39, 21, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83D\\uDD2C']], \"1f3fd\": [\"1f469-1f3fd-200d-1f52c\", 39, 22, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83D\\uDD2C']], \"1f3fe\": [\"1f469-1f3fe-200d-1f52c\", 39, 23, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83D\\uDD2C']], \"1f3ff\": [\"1f469-1f3ff-200d-1f52c\", 39, 24, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83D\\uDD2C']] },\n \"1f469-200d-1f680\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f680\", 39, 26, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83D\\uDE80']], \"1f3fc\": [\"1f469-1f3fc-200d-1f680\", 39, 27, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83D\\uDE80']], \"1f3fd\": [\"1f469-1f3fd-200d-1f680\", 39, 28, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83D\\uDE80']], \"1f3fe\": [\"1f469-1f3fe-200d-1f680\", 39, 29, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83D\\uDE80']], \"1f3ff\": [\"1f469-1f3ff-200d-1f680\", 39, 30, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83D\\uDE80']] },\n \"1f469-200d-1f692\": { \"1f3fb\": [\"1f469-1f3fb-200d-1f692\", 39, 32, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83D\\uDE92']], \"1f3fc\": [\"1f469-1f3fc-200d-1f692\", 39, 33, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83D\\uDE92']], \"1f3fd\": [\"1f469-1f3fd-200d-1f692\", 39, 34, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83D\\uDE92']], \"1f3fe\": [\"1f469-1f3fe-200d-1f692\", 39, 35, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83D\\uDE92']], \"1f3ff\": [\"1f469-1f3ff-200d-1f692\", 39, 36, 23, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83D\\uDE92']] },\n \"1f3c3-200d-2640-fe0f\": { \"1f3fb\": [\"1f3c3-1f3fb-200d-2640-fe0f\", 39, 38, 5, ['\\uD83C\\uDFC3\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f3c3-1f3fc-200d-2640-fe0f\", 39, 39, 5, ['\\uD83C\\uDFC3\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f3c3-1f3fd-200d-2640-fe0f\", 39, 40, 5, ['\\uD83C\\uDFC3\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f3c3-1f3fe-200d-2640-fe0f\", 39, 41, 5, ['\\uD83C\\uDFC3\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f3c3-1f3ff-200d-2640-fe0f\", 39, 42, 5, ['\\uD83C\\uDFC3\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f3c3-200d-2642-fe0f\": { \"1f3fb\": [\"1f3c3-1f3fb-200d-2642-fe0f\", 39, 44, 5, ['\\uD83C\\uDFC3\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFC3\\uD83C\\uDFFB']], \"1f3fc\": [\"1f3c3-1f3fc-200d-2642-fe0f\", 39, 45, 5, ['\\uD83C\\uDFC3\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFC3\\uD83C\\uDFFC']], \"1f3fd\": [\"1f3c3-1f3fd-200d-2642-fe0f\", 39, 46, 5, ['\\uD83C\\uDFC3\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFC3\\uD83C\\uDFFD']], \"1f3fe\": [\"1f3c3-1f3fe-200d-2642-fe0f\", 39, 47, 5, ['\\uD83C\\uDFC3\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFC3\\uD83C\\uDFFE']], \"1f3ff\": [\"1f3c3-1f3ff-200d-2642-fe0f\", 39, 48, 5, ['\\uD83C\\uDFC3\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFC3\\uD83C\\uDFFF']] },\n \"1f3c4-200d-2640-fe0f\": { \"1f3fb\": [\"1f3c4-1f3fb-200d-2640-fe0f\", 40, 1, 5, ['\\uD83C\\uDFC4\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f3c4-1f3fc-200d-2640-fe0f\", 40, 2, 5, ['\\uD83C\\uDFC4\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f3c4-1f3fd-200d-2640-fe0f\", 40, 3, 5, ['\\uD83C\\uDFC4\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f3c4-1f3fe-200d-2640-fe0f\", 40, 4, 5, ['\\uD83C\\uDFC4\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f3c4-1f3ff-200d-2640-fe0f\", 40, 5, 5, ['\\uD83C\\uDFC4\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f3c4-200d-2642-fe0f\": { \"1f3fb\": [\"1f3c4-1f3fb-200d-2642-fe0f\", 40, 7, 5, ['\\uD83C\\uDFC4\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFC4\\uD83C\\uDFFB']], \"1f3fc\": [\"1f3c4-1f3fc-200d-2642-fe0f\", 40, 8, 5, ['\\uD83C\\uDFC4\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFC4\\uD83C\\uDFFC']], \"1f3fd\": [\"1f3c4-1f3fd-200d-2642-fe0f\", 40, 9, 5, ['\\uD83C\\uDFC4\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFC4\\uD83C\\uDFFD']], \"1f3fe\": [\"1f3c4-1f3fe-200d-2642-fe0f\", 40, 10, 5, ['\\uD83C\\uDFC4\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFC4\\uD83C\\uDFFE']], \"1f3ff\": [\"1f3c4-1f3ff-200d-2642-fe0f\", 40, 11, 5, ['\\uD83C\\uDFC4\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFC4\\uD83C\\uDFFF']] },\n \"1f3ca-200d-2640-fe0f\": { \"1f3fb\": [\"1f3ca-1f3fb-200d-2640-fe0f\", 40, 13, 5, ['\\uD83C\\uDFCA\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f3ca-1f3fc-200d-2640-fe0f\", 40, 14, 5, ['\\uD83C\\uDFCA\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f3ca-1f3fd-200d-2640-fe0f\", 40, 15, 5, ['\\uD83C\\uDFCA\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f3ca-1f3fe-200d-2640-fe0f\", 40, 16, 5, ['\\uD83C\\uDFCA\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f3ca-1f3ff-200d-2640-fe0f\", 40, 17, 5, ['\\uD83C\\uDFCA\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f3ca-200d-2642-fe0f\": { \"1f3fb\": [\"1f3ca-1f3fb-200d-2642-fe0f\", 40, 19, 5, ['\\uD83C\\uDFCA\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCA\\uD83C\\uDFFB']], \"1f3fc\": [\"1f3ca-1f3fc-200d-2642-fe0f\", 40, 20, 5, ['\\uD83C\\uDFCA\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCA\\uD83C\\uDFFC']], \"1f3fd\": [\"1f3ca-1f3fd-200d-2642-fe0f\", 40, 21, 5, ['\\uD83C\\uDFCA\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCA\\uD83C\\uDFFD']], \"1f3fe\": [\"1f3ca-1f3fe-200d-2642-fe0f\", 40, 22, 5, ['\\uD83C\\uDFCA\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCA\\uD83C\\uDFFE']], \"1f3ff\": [\"1f3ca-1f3ff-200d-2642-fe0f\", 40, 23, 5, ['\\uD83C\\uDFCA\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCA\\uD83C\\uDFFF']] },\n \"1f3cb-fe0f-200d-2640-fe0f\": { \"1f3fb\": [\"1f3cb-1f3fb-200d-2640-fe0f\", 40, 25, 5, ['\\uD83C\\uDFCB\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f3cb-1f3fc-200d-2640-fe0f\", 40, 26, 5, ['\\uD83C\\uDFCB\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f3cb-1f3fd-200d-2640-fe0f\", 40, 27, 5, ['\\uD83C\\uDFCB\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f3cb-1f3fe-200d-2640-fe0f\", 40, 28, 5, ['\\uD83C\\uDFCB\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f3cb-1f3ff-200d-2640-fe0f\", 40, 29, 5, ['\\uD83C\\uDFCB\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f3cb-fe0f-200d-2642-fe0f\": { \"1f3fb\": [\"1f3cb-1f3fb-200d-2642-fe0f\", 40, 31, 5, ['\\uD83C\\uDFCB\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCB\\uD83C\\uDFFB']], \"1f3fc\": [\"1f3cb-1f3fc-200d-2642-fe0f\", 40, 32, 5, ['\\uD83C\\uDFCB\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCB\\uD83C\\uDFFC']], \"1f3fd\": [\"1f3cb-1f3fd-200d-2642-fe0f\", 40, 33, 5, ['\\uD83C\\uDFCB\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCB\\uD83C\\uDFFD']], \"1f3fe\": [\"1f3cb-1f3fe-200d-2642-fe0f\", 40, 34, 5, ['\\uD83C\\uDFCB\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCB\\uD83C\\uDFFE']], \"1f3ff\": [\"1f3cb-1f3ff-200d-2642-fe0f\", 40, 35, 5, ['\\uD83C\\uDFCB\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCB\\uD83C\\uDFFF']] },\n \"1f3cc-fe0f-200d-2640-fe0f\": { \"1f3fb\": [\"1f3cc-1f3fb-200d-2640-fe0f\", 40, 37, 5, ['\\uD83C\\uDFCC\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f3cc-1f3fc-200d-2640-fe0f\", 40, 38, 5, ['\\uD83C\\uDFCC\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f3cc-1f3fd-200d-2640-fe0f\", 40, 39, 5, ['\\uD83C\\uDFCC\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f3cc-1f3fe-200d-2640-fe0f\", 40, 40, 5, ['\\uD83C\\uDFCC\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f3cc-1f3ff-200d-2640-fe0f\", 40, 41, 5, ['\\uD83C\\uDFCC\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f3cc-fe0f-200d-2642-fe0f\": { \"1f3fb\": [\"1f3cc-1f3fb-200d-2642-fe0f\", 40, 43, 5, ['\\uD83C\\uDFCC\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCC\\uD83C\\uDFFB']], \"1f3fc\": [\"1f3cc-1f3fc-200d-2642-fe0f\", 40, 44, 5, ['\\uD83C\\uDFCC\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCC\\uD83C\\uDFFC']], \"1f3fd\": [\"1f3cc-1f3fd-200d-2642-fe0f\", 40, 45, 5, ['\\uD83C\\uDFCC\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCC\\uD83C\\uDFFD']], \"1f3fe\": [\"1f3cc-1f3fe-200d-2642-fe0f\", 40, 46, 5, ['\\uD83C\\uDFCC\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCC\\uD83C\\uDFFE']], \"1f3ff\": [\"1f3cc-1f3ff-200d-2642-fe0f\", 40, 47, 5, ['\\uD83C\\uDFCC\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83C\\uDFCC\\uD83C\\uDFFF']] },\n \"1f468-200d-2695-fe0f\": { \"1f3fb\": [\"1f468-1f3fb-200d-2695-fe0f\", 41, 15, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\u2695\\uFE0F']], \"1f3fc\": [\"1f468-1f3fc-200d-2695-fe0f\", 41, 16, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\u2695\\uFE0F']], \"1f3fd\": [\"1f468-1f3fd-200d-2695-fe0f\", 41, 17, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\u2695\\uFE0F']], \"1f3fe\": [\"1f468-1f3fe-200d-2695-fe0f\", 41, 18, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\u2695\\uFE0F']], \"1f3ff\": [\"1f468-1f3ff-200d-2695-fe0f\", 41, 19, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\u2695\\uFE0F']] },\n \"1f468-200d-2696-fe0f\": { \"1f3fb\": [\"1f468-1f3fb-200d-2696-fe0f\", 41, 21, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\u2696\\uFE0F']], \"1f3fc\": [\"1f468-1f3fc-200d-2696-fe0f\", 41, 22, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\u2696\\uFE0F']], \"1f3fd\": [\"1f468-1f3fd-200d-2696-fe0f\", 41, 23, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\u2696\\uFE0F']], \"1f3fe\": [\"1f468-1f3fe-200d-2696-fe0f\", 41, 24, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\u2696\\uFE0F']], \"1f3ff\": [\"1f468-1f3ff-200d-2696-fe0f\", 41, 25, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\u2696\\uFE0F']] },\n \"1f468-200d-2708-fe0f\": { \"1f3fb\": [\"1f468-1f3fb-200d-2708-fe0f\", 41, 27, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFB\\u200D\\u2708\\uFE0F']], \"1f3fc\": [\"1f468-1f3fc-200d-2708-fe0f\", 41, 28, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFC\\u200D\\u2708\\uFE0F']], \"1f3fd\": [\"1f468-1f3fd-200d-2708-fe0f\", 41, 29, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFD\\u200D\\u2708\\uFE0F']], \"1f3fe\": [\"1f468-1f3fe-200d-2708-fe0f\", 41, 30, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFE\\u200D\\u2708\\uFE0F']], \"1f3ff\": [\"1f468-1f3ff-200d-2708-fe0f\", 41, 31, 5, ['\\uD83D\\uDC68\\uD83C\\uDFFF\\u200D\\u2708\\uFE0F']] },\n \"1f469-200d-2695-fe0f\": { \"1f3fb\": [\"1f469-1f3fb-200d-2695-fe0f\", 41, 43, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\u2695\\uFE0F']], \"1f3fc\": [\"1f469-1f3fc-200d-2695-fe0f\", 41, 44, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\u2695\\uFE0F']], \"1f3fd\": [\"1f469-1f3fd-200d-2695-fe0f\", 41, 45, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\u2695\\uFE0F']], \"1f3fe\": [\"1f469-1f3fe-200d-2695-fe0f\", 41, 46, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\u2695\\uFE0F']], \"1f3ff\": [\"1f469-1f3ff-200d-2695-fe0f\", 41, 47, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\u2695\\uFE0F']] },\n \"1f469-200d-2696-fe0f\": { \"1f3fb\": [\"1f469-1f3fb-200d-2696-fe0f\", 42, 0, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\u2696\\uFE0F']], \"1f3fc\": [\"1f469-1f3fc-200d-2696-fe0f\", 42, 1, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\u2696\\uFE0F']], \"1f3fd\": [\"1f469-1f3fd-200d-2696-fe0f\", 42, 2, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\u2696\\uFE0F']], \"1f3fe\": [\"1f469-1f3fe-200d-2696-fe0f\", 42, 3, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\u2696\\uFE0F']], \"1f3ff\": [\"1f469-1f3ff-200d-2696-fe0f\", 42, 4, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\u2696\\uFE0F']] },\n \"1f469-200d-2708-fe0f\": { \"1f3fb\": [\"1f469-1f3fb-200d-2708-fe0f\", 42, 6, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\u2708\\uFE0F']], \"1f3fc\": [\"1f469-1f3fc-200d-2708-fe0f\", 42, 7, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\u2708\\uFE0F']], \"1f3fd\": [\"1f469-1f3fd-200d-2708-fe0f\", 42, 8, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\u2708\\uFE0F']], \"1f3fe\": [\"1f469-1f3fe-200d-2708-fe0f\", 42, 9, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\u2708\\uFE0F']], \"1f3ff\": [\"1f469-1f3ff-200d-2708-fe0f\", 42, 10, 5, ['\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\u2708\\uFE0F']] },\n \"1f46e-200d-2640-fe0f\": { \"1f3fb\": [\"1f46e-1f3fb-200d-2640-fe0f\", 42, 16, 5, ['\\uD83D\\uDC6E\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f46e-1f3fc-200d-2640-fe0f\", 42, 17, 5, ['\\uD83D\\uDC6E\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f46e-1f3fd-200d-2640-fe0f\", 42, 18, 5, ['\\uD83D\\uDC6E\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f46e-1f3fe-200d-2640-fe0f\", 42, 19, 5, ['\\uD83D\\uDC6E\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f46e-1f3ff-200d-2640-fe0f\", 42, 20, 5, ['\\uD83D\\uDC6E\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f46e-200d-2642-fe0f\": { \"1f3fb\": [\"1f46e-1f3fb-200d-2642-fe0f\", 42, 22, 5, ['\\uD83D\\uDC6E\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC6E\\uD83C\\uDFFB']], \"1f3fc\": [\"1f46e-1f3fc-200d-2642-fe0f\", 42, 23, 5, ['\\uD83D\\uDC6E\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC6E\\uD83C\\uDFFC']], \"1f3fd\": [\"1f46e-1f3fd-200d-2642-fe0f\", 42, 24, 5, ['\\uD83D\\uDC6E\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC6E\\uD83C\\uDFFD']], \"1f3fe\": [\"1f46e-1f3fe-200d-2642-fe0f\", 42, 25, 5, ['\\uD83D\\uDC6E\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC6E\\uD83C\\uDFFE']], \"1f3ff\": [\"1f46e-1f3ff-200d-2642-fe0f\", 42, 26, 5, ['\\uD83D\\uDC6E\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC6E\\uD83C\\uDFFF']] },\n \"1f471-200d-2640-fe0f\": { \"1f3fb\": [\"1f471-1f3fb-200d-2640-fe0f\", 42, 30, 5, ['\\uD83D\\uDC71\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f471-1f3fc-200d-2640-fe0f\", 42, 31, 5, ['\\uD83D\\uDC71\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f471-1f3fd-200d-2640-fe0f\", 42, 32, 5, ['\\uD83D\\uDC71\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f471-1f3fe-200d-2640-fe0f\", 42, 33, 5, ['\\uD83D\\uDC71\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f471-1f3ff-200d-2640-fe0f\", 42, 34, 5, ['\\uD83D\\uDC71\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f471-200d-2642-fe0f\": { \"1f3fb\": [\"1f471-1f3fb-200d-2642-fe0f\", 42, 36, 5, ['\\uD83D\\uDC71\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC71\\uD83C\\uDFFB']], \"1f3fc\": [\"1f471-1f3fc-200d-2642-fe0f\", 42, 37, 5, ['\\uD83D\\uDC71\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC71\\uD83C\\uDFFC']], \"1f3fd\": [\"1f471-1f3fd-200d-2642-fe0f\", 42, 38, 5, ['\\uD83D\\uDC71\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC71\\uD83C\\uDFFD']], \"1f3fe\": [\"1f471-1f3fe-200d-2642-fe0f\", 42, 39, 5, ['\\uD83D\\uDC71\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC71\\uD83C\\uDFFE']], \"1f3ff\": [\"1f471-1f3ff-200d-2642-fe0f\", 42, 40, 5, ['\\uD83D\\uDC71\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC71\\uD83C\\uDFFF']] },\n \"1f473-200d-2640-fe0f\": { \"1f3fb\": [\"1f473-1f3fb-200d-2640-fe0f\", 42, 42, 5, ['\\uD83D\\uDC73\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f473-1f3fc-200d-2640-fe0f\", 42, 43, 5, ['\\uD83D\\uDC73\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f473-1f3fd-200d-2640-fe0f\", 42, 44, 5, ['\\uD83D\\uDC73\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f473-1f3fe-200d-2640-fe0f\", 42, 45, 5, ['\\uD83D\\uDC73\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f473-1f3ff-200d-2640-fe0f\", 42, 46, 5, ['\\uD83D\\uDC73\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f473-200d-2642-fe0f\": { \"1f3fb\": [\"1f473-1f3fb-200d-2642-fe0f\", 42, 48, 5, ['\\uD83D\\uDC73\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC73\\uD83C\\uDFFB']], \"1f3fc\": [\"1f473-1f3fc-200d-2642-fe0f\", 43, 0, 5, ['\\uD83D\\uDC73\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC73\\uD83C\\uDFFC']], \"1f3fd\": [\"1f473-1f3fd-200d-2642-fe0f\", 43, 1, 5, ['\\uD83D\\uDC73\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC73\\uD83C\\uDFFD']], \"1f3fe\": [\"1f473-1f3fe-200d-2642-fe0f\", 43, 2, 5, ['\\uD83D\\uDC73\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC73\\uD83C\\uDFFE']], \"1f3ff\": [\"1f473-1f3ff-200d-2642-fe0f\", 43, 3, 5, ['\\uD83D\\uDC73\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC73\\uD83C\\uDFFF']] },\n \"1f477-200d-2640-fe0f\": { \"1f3fb\": [\"1f477-1f3fb-200d-2640-fe0f\", 43, 5, 5, ['\\uD83D\\uDC77\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f477-1f3fc-200d-2640-fe0f\", 43, 6, 5, ['\\uD83D\\uDC77\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f477-1f3fd-200d-2640-fe0f\", 43, 7, 5, ['\\uD83D\\uDC77\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f477-1f3fe-200d-2640-fe0f\", 43, 8, 5, ['\\uD83D\\uDC77\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f477-1f3ff-200d-2640-fe0f\", 43, 9, 5, ['\\uD83D\\uDC77\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f477-200d-2642-fe0f\": { \"1f3fb\": [\"1f477-1f3fb-200d-2642-fe0f\", 43, 11, 5, ['\\uD83D\\uDC77\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC77\\uD83C\\uDFFB']], \"1f3fc\": [\"1f477-1f3fc-200d-2642-fe0f\", 43, 12, 5, ['\\uD83D\\uDC77\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC77\\uD83C\\uDFFC']], \"1f3fd\": [\"1f477-1f3fd-200d-2642-fe0f\", 43, 13, 5, ['\\uD83D\\uDC77\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC77\\uD83C\\uDFFD']], \"1f3fe\": [\"1f477-1f3fe-200d-2642-fe0f\", 43, 14, 5, ['\\uD83D\\uDC77\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC77\\uD83C\\uDFFE']], \"1f3ff\": [\"1f477-1f3ff-200d-2642-fe0f\", 43, 15, 5, ['\\uD83D\\uDC77\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC77\\uD83C\\uDFFF']] },\n \"1f481-200d-2640-fe0f\": { \"1f3fb\": [\"1f481-1f3fb-200d-2640-fe0f\", 43, 17, 5, ['\\uD83D\\uDC81\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC81\\uD83C\\uDFFB']], \"1f3fc\": [\"1f481-1f3fc-200d-2640-fe0f\", 43, 18, 5, ['\\uD83D\\uDC81\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC81\\uD83C\\uDFFC']], \"1f3fd\": [\"1f481-1f3fd-200d-2640-fe0f\", 43, 19, 5, ['\\uD83D\\uDC81\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC81\\uD83C\\uDFFD']], \"1f3fe\": [\"1f481-1f3fe-200d-2640-fe0f\", 43, 20, 5, ['\\uD83D\\uDC81\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC81\\uD83C\\uDFFE']], \"1f3ff\": [\"1f481-1f3ff-200d-2640-fe0f\", 43, 21, 5, ['\\uD83D\\uDC81\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC81\\uD83C\\uDFFF']] },\n \"1f481-200d-2642-fe0f\": { \"1f3fb\": [\"1f481-1f3fb-200d-2642-fe0f\", 43, 23, 5, ['\\uD83D\\uDC81\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f481-1f3fc-200d-2642-fe0f\", 43, 24, 5, ['\\uD83D\\uDC81\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f481-1f3fd-200d-2642-fe0f\", 43, 25, 5, ['\\uD83D\\uDC81\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f481-1f3fe-200d-2642-fe0f\", 43, 26, 5, ['\\uD83D\\uDC81\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f481-1f3ff-200d-2642-fe0f\", 43, 27, 5, ['\\uD83D\\uDC81\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f482-200d-2640-fe0f\": { \"1f3fb\": [\"1f482-1f3fb-200d-2640-fe0f\", 43, 29, 5, ['\\uD83D\\uDC82\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f482-1f3fc-200d-2640-fe0f\", 43, 30, 5, ['\\uD83D\\uDC82\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f482-1f3fd-200d-2640-fe0f\", 43, 31, 5, ['\\uD83D\\uDC82\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f482-1f3fe-200d-2640-fe0f\", 43, 32, 5, ['\\uD83D\\uDC82\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f482-1f3ff-200d-2640-fe0f\", 43, 33, 5, ['\\uD83D\\uDC82\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f482-200d-2642-fe0f\": { \"1f3fb\": [\"1f482-1f3fb-200d-2642-fe0f\", 43, 35, 5, ['\\uD83D\\uDC82\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC82\\uD83C\\uDFFB']], \"1f3fc\": [\"1f482-1f3fc-200d-2642-fe0f\", 43, 36, 5, ['\\uD83D\\uDC82\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC82\\uD83C\\uDFFC']], \"1f3fd\": [\"1f482-1f3fd-200d-2642-fe0f\", 43, 37, 5, ['\\uD83D\\uDC82\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC82\\uD83C\\uDFFD']], \"1f3fe\": [\"1f482-1f3fe-200d-2642-fe0f\", 43, 38, 5, ['\\uD83D\\uDC82\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC82\\uD83C\\uDFFE']], \"1f3ff\": [\"1f482-1f3ff-200d-2642-fe0f\", 43, 39, 5, ['\\uD83D\\uDC82\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83D\\uDC82\\uD83C\\uDFFF']] },\n \"1f486-200d-2640-fe0f\": { \"1f3fb\": [\"1f486-1f3fb-200d-2640-fe0f\", 43, 41, 5, ['\\uD83D\\uDC86\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC86\\uD83C\\uDFFB']], \"1f3fc\": [\"1f486-1f3fc-200d-2640-fe0f\", 43, 42, 5, ['\\uD83D\\uDC86\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC86\\uD83C\\uDFFC']], \"1f3fd\": [\"1f486-1f3fd-200d-2640-fe0f\", 43, 43, 5, ['\\uD83D\\uDC86\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC86\\uD83C\\uDFFD']], \"1f3fe\": [\"1f486-1f3fe-200d-2640-fe0f\", 43, 44, 5, ['\\uD83D\\uDC86\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC86\\uD83C\\uDFFE']], \"1f3ff\": [\"1f486-1f3ff-200d-2640-fe0f\", 43, 45, 5, ['\\uD83D\\uDC86\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC86\\uD83C\\uDFFF']] },\n \"1f486-200d-2642-fe0f\": { \"1f3fb\": [\"1f486-1f3fb-200d-2642-fe0f\", 43, 47, 5, ['\\uD83D\\uDC86\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f486-1f3fc-200d-2642-fe0f\", 43, 48, 5, ['\\uD83D\\uDC86\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f486-1f3fd-200d-2642-fe0f\", 44, 0, 5, ['\\uD83D\\uDC86\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f486-1f3fe-200d-2642-fe0f\", 44, 1, 5, ['\\uD83D\\uDC86\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f486-1f3ff-200d-2642-fe0f\", 44, 2, 5, ['\\uD83D\\uDC86\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f487-200d-2640-fe0f\": { \"1f3fb\": [\"1f487-1f3fb-200d-2640-fe0f\", 44, 4, 5, ['\\uD83D\\uDC87\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC87\\uD83C\\uDFFB']], \"1f3fc\": [\"1f487-1f3fc-200d-2640-fe0f\", 44, 5, 5, ['\\uD83D\\uDC87\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC87\\uD83C\\uDFFC']], \"1f3fd\": [\"1f487-1f3fd-200d-2640-fe0f\", 44, 6, 5, ['\\uD83D\\uDC87\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC87\\uD83C\\uDFFD']], \"1f3fe\": [\"1f487-1f3fe-200d-2640-fe0f\", 44, 7, 5, ['\\uD83D\\uDC87\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC87\\uD83C\\uDFFE']], \"1f3ff\": [\"1f487-1f3ff-200d-2640-fe0f\", 44, 8, 5, ['\\uD83D\\uDC87\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F', '\\uD83D\\uDC87\\uD83C\\uDFFF']] },\n \"1f487-200d-2642-fe0f\": { \"1f3fb\": [\"1f487-1f3fb-200d-2642-fe0f\", 44, 10, 5, ['\\uD83D\\uDC87\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f487-1f3fc-200d-2642-fe0f\", 44, 11, 5, ['\\uD83D\\uDC87\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f487-1f3fd-200d-2642-fe0f\", 44, 12, 5, ['\\uD83D\\uDC87\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f487-1f3fe-200d-2642-fe0f\", 44, 13, 5, ['\\uD83D\\uDC87\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f487-1f3ff-200d-2642-fe0f\", 44, 14, 5, ['\\uD83D\\uDC87\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f575-fe0f-200d-2640-fe0f\": { \"1f3fb\": [\"1f575-1f3fb-200d-2640-fe0f\", 44, 16, 5, ['\\uD83D\\uDD75\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f575-1f3fc-200d-2640-fe0f\", 44, 17, 5, ['\\uD83D\\uDD75\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f575-1f3fd-200d-2640-fe0f\", 44, 18, 5, ['\\uD83D\\uDD75\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f575-1f3fe-200d-2640-fe0f\", 44, 19, 5, ['\\uD83D\\uDD75\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f575-1f3ff-200d-2640-fe0f\", 44, 20, 5, ['\\uD83D\\uDD75\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f575-fe0f-200d-2642-fe0f\": { \"1f3fb\": [\"1f575-1f3fb-200d-2642-fe0f\", 44, 22, 5, ['\\uD83D\\uDD75\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83D\\uDD75\\uD83C\\uDFFB']], \"1f3fc\": [\"1f575-1f3fc-200d-2642-fe0f\", 44, 23, 5, ['\\uD83D\\uDD75\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83D\\uDD75\\uD83C\\uDFFC']], \"1f3fd\": [\"1f575-1f3fd-200d-2642-fe0f\", 44, 24, 5, ['\\uD83D\\uDD75\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83D\\uDD75\\uD83C\\uDFFD']], \"1f3fe\": [\"1f575-1f3fe-200d-2642-fe0f\", 44, 25, 5, ['\\uD83D\\uDD75\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83D\\uDD75\\uD83C\\uDFFE']], \"1f3ff\": [\"1f575-1f3ff-200d-2642-fe0f\", 44, 26, 5, ['\\uD83D\\uDD75\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83D\\uDD75\\uD83C\\uDFFF']] },\n \"1f645-200d-2640-fe0f\": { \"1f3fb\": [\"1f645-1f3fb-200d-2640-fe0f\", 44, 28, 5, ['\\uD83D\\uDE45\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE45\\uD83C\\uDFFB']], \"1f3fc\": [\"1f645-1f3fc-200d-2640-fe0f\", 44, 29, 5, ['\\uD83D\\uDE45\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE45\\uD83C\\uDFFC']], \"1f3fd\": [\"1f645-1f3fd-200d-2640-fe0f\", 44, 30, 5, ['\\uD83D\\uDE45\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE45\\uD83C\\uDFFD']], \"1f3fe\": [\"1f645-1f3fe-200d-2640-fe0f\", 44, 31, 5, ['\\uD83D\\uDE45\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE45\\uD83C\\uDFFE']], \"1f3ff\": [\"1f645-1f3ff-200d-2640-fe0f\", 44, 32, 5, ['\\uD83D\\uDE45\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE45\\uD83C\\uDFFF']] },\n \"1f645-200d-2642-fe0f\": { \"1f3fb\": [\"1f645-1f3fb-200d-2642-fe0f\", 44, 34, 5, ['\\uD83D\\uDE45\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f645-1f3fc-200d-2642-fe0f\", 44, 35, 5, ['\\uD83D\\uDE45\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f645-1f3fd-200d-2642-fe0f\", 44, 36, 5, ['\\uD83D\\uDE45\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f645-1f3fe-200d-2642-fe0f\", 44, 37, 5, ['\\uD83D\\uDE45\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f645-1f3ff-200d-2642-fe0f\", 44, 38, 5, ['\\uD83D\\uDE45\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f646-200d-2640-fe0f\": { \"1f3fb\": [\"1f646-1f3fb-200d-2640-fe0f\", 44, 40, 5, ['\\uD83D\\uDE46\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE46\\uD83C\\uDFFB']], \"1f3fc\": [\"1f646-1f3fc-200d-2640-fe0f\", 44, 41, 5, ['\\uD83D\\uDE46\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE46\\uD83C\\uDFFC']], \"1f3fd\": [\"1f646-1f3fd-200d-2640-fe0f\", 44, 42, 5, ['\\uD83D\\uDE46\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE46\\uD83C\\uDFFD']], \"1f3fe\": [\"1f646-1f3fe-200d-2640-fe0f\", 44, 43, 5, ['\\uD83D\\uDE46\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE46\\uD83C\\uDFFE']], \"1f3ff\": [\"1f646-1f3ff-200d-2640-fe0f\", 44, 44, 5, ['\\uD83D\\uDE46\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE46\\uD83C\\uDFFF']] },\n \"1f646-200d-2642-fe0f\": { \"1f3fb\": [\"1f646-1f3fb-200d-2642-fe0f\", 44, 46, 5, ['\\uD83D\\uDE46\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f646-1f3fc-200d-2642-fe0f\", 44, 47, 5, ['\\uD83D\\uDE46\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f646-1f3fd-200d-2642-fe0f\", 44, 48, 5, ['\\uD83D\\uDE46\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f646-1f3fe-200d-2642-fe0f\", 45, 0, 5, ['\\uD83D\\uDE46\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f646-1f3ff-200d-2642-fe0f\", 45, 1, 5, ['\\uD83D\\uDE46\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f647-200d-2640-fe0f\": { \"1f3fb\": [\"1f647-1f3fb-200d-2640-fe0f\", 45, 3, 5, ['\\uD83D\\uDE47\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f647-1f3fc-200d-2640-fe0f\", 45, 4, 5, ['\\uD83D\\uDE47\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f647-1f3fd-200d-2640-fe0f\", 45, 5, 5, ['\\uD83D\\uDE47\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f647-1f3fe-200d-2640-fe0f\", 45, 6, 5, ['\\uD83D\\uDE47\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f647-1f3ff-200d-2640-fe0f\", 45, 7, 5, ['\\uD83D\\uDE47\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f647-200d-2642-fe0f\": { \"1f3fb\": [\"1f647-1f3fb-200d-2642-fe0f\", 45, 9, 5, ['\\uD83D\\uDE47\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83D\\uDE47\\uD83C\\uDFFB']], \"1f3fc\": [\"1f647-1f3fc-200d-2642-fe0f\", 45, 10, 5, ['\\uD83D\\uDE47\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83D\\uDE47\\uD83C\\uDFFC']], \"1f3fd\": [\"1f647-1f3fd-200d-2642-fe0f\", 45, 11, 5, ['\\uD83D\\uDE47\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83D\\uDE47\\uD83C\\uDFFD']], \"1f3fe\": [\"1f647-1f3fe-200d-2642-fe0f\", 45, 12, 5, ['\\uD83D\\uDE47\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83D\\uDE47\\uD83C\\uDFFE']], \"1f3ff\": [\"1f647-1f3ff-200d-2642-fe0f\", 45, 13, 5, ['\\uD83D\\uDE47\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83D\\uDE47\\uD83C\\uDFFF']] },\n \"1f64b-200d-2640-fe0f\": { \"1f3fb\": [\"1f64b-1f3fb-200d-2640-fe0f\", 45, 15, 5, ['\\uD83D\\uDE4B\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4B\\uD83C\\uDFFB']], \"1f3fc\": [\"1f64b-1f3fc-200d-2640-fe0f\", 45, 16, 5, ['\\uD83D\\uDE4B\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4B\\uD83C\\uDFFC']], \"1f3fd\": [\"1f64b-1f3fd-200d-2640-fe0f\", 45, 17, 5, ['\\uD83D\\uDE4B\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4B\\uD83C\\uDFFD']], \"1f3fe\": [\"1f64b-1f3fe-200d-2640-fe0f\", 45, 18, 5, ['\\uD83D\\uDE4B\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4B\\uD83C\\uDFFE']], \"1f3ff\": [\"1f64b-1f3ff-200d-2640-fe0f\", 45, 19, 5, ['\\uD83D\\uDE4B\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4B\\uD83C\\uDFFF']] },\n \"1f64b-200d-2642-fe0f\": { \"1f3fb\": [\"1f64b-1f3fb-200d-2642-fe0f\", 45, 21, 5, ['\\uD83D\\uDE4B\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f64b-1f3fc-200d-2642-fe0f\", 45, 22, 5, ['\\uD83D\\uDE4B\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f64b-1f3fd-200d-2642-fe0f\", 45, 23, 5, ['\\uD83D\\uDE4B\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f64b-1f3fe-200d-2642-fe0f\", 45, 24, 5, ['\\uD83D\\uDE4B\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f64b-1f3ff-200d-2642-fe0f\", 45, 25, 5, ['\\uD83D\\uDE4B\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f64d-200d-2640-fe0f\": { \"1f3fb\": [\"1f64d-1f3fb-200d-2640-fe0f\", 45, 27, 5, ['\\uD83D\\uDE4D\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4D\\uD83C\\uDFFB']], \"1f3fc\": [\"1f64d-1f3fc-200d-2640-fe0f\", 45, 28, 5, ['\\uD83D\\uDE4D\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4D\\uD83C\\uDFFC']], \"1f3fd\": [\"1f64d-1f3fd-200d-2640-fe0f\", 45, 29, 5, ['\\uD83D\\uDE4D\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4D\\uD83C\\uDFFD']], \"1f3fe\": [\"1f64d-1f3fe-200d-2640-fe0f\", 45, 30, 5, ['\\uD83D\\uDE4D\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4D\\uD83C\\uDFFE']], \"1f3ff\": [\"1f64d-1f3ff-200d-2640-fe0f\", 45, 31, 5, ['\\uD83D\\uDE4D\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4D\\uD83C\\uDFFF']] },\n \"1f64d-200d-2642-fe0f\": { \"1f3fb\": [\"1f64d-1f3fb-200d-2642-fe0f\", 45, 33, 5, ['\\uD83D\\uDE4D\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f64d-1f3fc-200d-2642-fe0f\", 45, 34, 5, ['\\uD83D\\uDE4D\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f64d-1f3fd-200d-2642-fe0f\", 45, 35, 5, ['\\uD83D\\uDE4D\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f64d-1f3fe-200d-2642-fe0f\", 45, 36, 5, ['\\uD83D\\uDE4D\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f64d-1f3ff-200d-2642-fe0f\", 45, 37, 5, ['\\uD83D\\uDE4D\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f64e-200d-2640-fe0f\": { \"1f3fb\": [\"1f64e-1f3fb-200d-2640-fe0f\", 45, 39, 5, ['\\uD83D\\uDE4E\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4E\\uD83C\\uDFFB']], \"1f3fc\": [\"1f64e-1f3fc-200d-2640-fe0f\", 45, 40, 5, ['\\uD83D\\uDE4E\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4E\\uD83C\\uDFFC']], \"1f3fd\": [\"1f64e-1f3fd-200d-2640-fe0f\", 45, 41, 5, ['\\uD83D\\uDE4E\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4E\\uD83C\\uDFFD']], \"1f3fe\": [\"1f64e-1f3fe-200d-2640-fe0f\", 45, 42, 5, ['\\uD83D\\uDE4E\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4E\\uD83C\\uDFFE']], \"1f3ff\": [\"1f64e-1f3ff-200d-2640-fe0f\", 45, 43, 5, ['\\uD83D\\uDE4E\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F', '\\uD83D\\uDE4E\\uD83C\\uDFFF']] },\n \"1f64e-200d-2642-fe0f\": { \"1f3fb\": [\"1f64e-1f3fb-200d-2642-fe0f\", 45, 45, 5, ['\\uD83D\\uDE4E\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f64e-1f3fc-200d-2642-fe0f\", 45, 46, 5, ['\\uD83D\\uDE4E\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f64e-1f3fd-200d-2642-fe0f\", 45, 47, 5, ['\\uD83D\\uDE4E\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f64e-1f3fe-200d-2642-fe0f\", 45, 48, 5, ['\\uD83D\\uDE4E\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f64e-1f3ff-200d-2642-fe0f\", 46, 0, 5, ['\\uD83D\\uDE4E\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f6a3-200d-2640-fe0f\": { \"1f3fb\": [\"1f6a3-1f3fb-200d-2640-fe0f\", 46, 2, 5, ['\\uD83D\\uDEA3\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f6a3-1f3fc-200d-2640-fe0f\", 46, 3, 5, ['\\uD83D\\uDEA3\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f6a3-1f3fd-200d-2640-fe0f\", 46, 4, 5, ['\\uD83D\\uDEA3\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f6a3-1f3fe-200d-2640-fe0f\", 46, 5, 5, ['\\uD83D\\uDEA3\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f6a3-1f3ff-200d-2640-fe0f\", 46, 6, 5, ['\\uD83D\\uDEA3\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f6a3-200d-2642-fe0f\": { \"1f3fb\": [\"1f6a3-1f3fb-200d-2642-fe0f\", 46, 8, 5, ['\\uD83D\\uDEA3\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEA3\\uD83C\\uDFFB']], \"1f3fc\": [\"1f6a3-1f3fc-200d-2642-fe0f\", 46, 9, 5, ['\\uD83D\\uDEA3\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEA3\\uD83C\\uDFFC']], \"1f3fd\": [\"1f6a3-1f3fd-200d-2642-fe0f\", 46, 10, 5, ['\\uD83D\\uDEA3\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEA3\\uD83C\\uDFFD']], \"1f3fe\": [\"1f6a3-1f3fe-200d-2642-fe0f\", 46, 11, 5, ['\\uD83D\\uDEA3\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEA3\\uD83C\\uDFFE']], \"1f3ff\": [\"1f6a3-1f3ff-200d-2642-fe0f\", 46, 12, 5, ['\\uD83D\\uDEA3\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEA3\\uD83C\\uDFFF']] },\n \"1f6b4-200d-2640-fe0f\": { \"1f3fb\": [\"1f6b4-1f3fb-200d-2640-fe0f\", 46, 14, 5, ['\\uD83D\\uDEB4\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f6b4-1f3fc-200d-2640-fe0f\", 46, 15, 5, ['\\uD83D\\uDEB4\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f6b4-1f3fd-200d-2640-fe0f\", 46, 16, 5, ['\\uD83D\\uDEB4\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f6b4-1f3fe-200d-2640-fe0f\", 46, 17, 5, ['\\uD83D\\uDEB4\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f6b4-1f3ff-200d-2640-fe0f\", 46, 18, 5, ['\\uD83D\\uDEB4\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f6b4-200d-2642-fe0f\": { \"1f3fb\": [\"1f6b4-1f3fb-200d-2642-fe0f\", 46, 20, 5, ['\\uD83D\\uDEB4\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB4\\uD83C\\uDFFB']], \"1f3fc\": [\"1f6b4-1f3fc-200d-2642-fe0f\", 46, 21, 5, ['\\uD83D\\uDEB4\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB4\\uD83C\\uDFFC']], \"1f3fd\": [\"1f6b4-1f3fd-200d-2642-fe0f\", 46, 22, 5, ['\\uD83D\\uDEB4\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB4\\uD83C\\uDFFD']], \"1f3fe\": [\"1f6b4-1f3fe-200d-2642-fe0f\", 46, 23, 5, ['\\uD83D\\uDEB4\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB4\\uD83C\\uDFFE']], \"1f3ff\": [\"1f6b4-1f3ff-200d-2642-fe0f\", 46, 24, 5, ['\\uD83D\\uDEB4\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB4\\uD83C\\uDFFF']] },\n \"1f6b5-200d-2640-fe0f\": { \"1f3fb\": [\"1f6b5-1f3fb-200d-2640-fe0f\", 46, 26, 5, ['\\uD83D\\uDEB5\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f6b5-1f3fc-200d-2640-fe0f\", 46, 27, 5, ['\\uD83D\\uDEB5\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f6b5-1f3fd-200d-2640-fe0f\", 46, 28, 5, ['\\uD83D\\uDEB5\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f6b5-1f3fe-200d-2640-fe0f\", 46, 29, 5, ['\\uD83D\\uDEB5\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f6b5-1f3ff-200d-2640-fe0f\", 46, 30, 5, ['\\uD83D\\uDEB5\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f6b5-200d-2642-fe0f\": { \"1f3fb\": [\"1f6b5-1f3fb-200d-2642-fe0f\", 46, 32, 5, ['\\uD83D\\uDEB5\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB5\\uD83C\\uDFFB']], \"1f3fc\": [\"1f6b5-1f3fc-200d-2642-fe0f\", 46, 33, 5, ['\\uD83D\\uDEB5\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB5\\uD83C\\uDFFC']], \"1f3fd\": [\"1f6b5-1f3fd-200d-2642-fe0f\", 46, 34, 5, ['\\uD83D\\uDEB5\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB5\\uD83C\\uDFFD']], \"1f3fe\": [\"1f6b5-1f3fe-200d-2642-fe0f\", 46, 35, 5, ['\\uD83D\\uDEB5\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB5\\uD83C\\uDFFE']], \"1f3ff\": [\"1f6b5-1f3ff-200d-2642-fe0f\", 46, 36, 5, ['\\uD83D\\uDEB5\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB5\\uD83C\\uDFFF']] },\n \"1f6b6-200d-2640-fe0f\": { \"1f3fb\": [\"1f6b6-1f3fb-200d-2640-fe0f\", 46, 38, 5, ['\\uD83D\\uDEB6\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f6b6-1f3fc-200d-2640-fe0f\", 46, 39, 5, ['\\uD83D\\uDEB6\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f6b6-1f3fd-200d-2640-fe0f\", 46, 40, 5, ['\\uD83D\\uDEB6\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f6b6-1f3fe-200d-2640-fe0f\", 46, 41, 5, ['\\uD83D\\uDEB6\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f6b6-1f3ff-200d-2640-fe0f\", 46, 42, 5, ['\\uD83D\\uDEB6\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f6b6-200d-2642-fe0f\": { \"1f3fb\": [\"1f6b6-1f3fb-200d-2642-fe0f\", 46, 44, 5, ['\\uD83D\\uDEB6\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB6\\uD83C\\uDFFB']], \"1f3fc\": [\"1f6b6-1f3fc-200d-2642-fe0f\", 46, 45, 5, ['\\uD83D\\uDEB6\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB6\\uD83C\\uDFFC']], \"1f3fd\": [\"1f6b6-1f3fd-200d-2642-fe0f\", 46, 46, 5, ['\\uD83D\\uDEB6\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB6\\uD83C\\uDFFD']], \"1f3fe\": [\"1f6b6-1f3fe-200d-2642-fe0f\", 46, 47, 5, ['\\uD83D\\uDEB6\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB6\\uD83C\\uDFFE']], \"1f3ff\": [\"1f6b6-1f3ff-200d-2642-fe0f\", 46, 48, 5, ['\\uD83D\\uDEB6\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\uD83D\\uDEB6\\uD83C\\uDFFF']] },\n \"1f926-200d-2640-fe0f\": { \"1f3fb\": [\"1f926-1f3fb-200d-2640-fe0f\", 47, 1, 5, ['\\uD83E\\uDD26\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f926-1f3fc-200d-2640-fe0f\", 47, 2, 5, ['\\uD83E\\uDD26\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f926-1f3fd-200d-2640-fe0f\", 47, 3, 5, ['\\uD83E\\uDD26\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f926-1f3fe-200d-2640-fe0f\", 47, 4, 5, ['\\uD83E\\uDD26\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f926-1f3ff-200d-2640-fe0f\", 47, 5, 5, ['\\uD83E\\uDD26\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f926-200d-2642-fe0f\": { \"1f3fb\": [\"1f926-1f3fb-200d-2642-fe0f\", 47, 7, 5, ['\\uD83E\\uDD26\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f926-1f3fc-200d-2642-fe0f\", 47, 8, 5, ['\\uD83E\\uDD26\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f926-1f3fd-200d-2642-fe0f\", 47, 9, 5, ['\\uD83E\\uDD26\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f926-1f3fe-200d-2642-fe0f\", 47, 10, 5, ['\\uD83E\\uDD26\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f926-1f3ff-200d-2642-fe0f\", 47, 11, 5, ['\\uD83E\\uDD26\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f937-200d-2640-fe0f\": { \"1f3fb\": [\"1f937-1f3fb-200d-2640-fe0f\", 47, 13, 5, ['\\uD83E\\uDD37\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f937-1f3fc-200d-2640-fe0f\", 47, 14, 5, ['\\uD83E\\uDD37\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f937-1f3fd-200d-2640-fe0f\", 47, 15, 5, ['\\uD83E\\uDD37\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f937-1f3fe-200d-2640-fe0f\", 47, 16, 5, ['\\uD83E\\uDD37\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f937-1f3ff-200d-2640-fe0f\", 47, 17, 5, ['\\uD83E\\uDD37\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f937-200d-2642-fe0f\": { \"1f3fb\": [\"1f937-1f3fb-200d-2642-fe0f\", 47, 19, 5, ['\\uD83E\\uDD37\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f937-1f3fc-200d-2642-fe0f\", 47, 20, 5, ['\\uD83E\\uDD37\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f937-1f3fd-200d-2642-fe0f\", 47, 21, 5, ['\\uD83E\\uDD37\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f937-1f3fe-200d-2642-fe0f\", 47, 22, 5, ['\\uD83E\\uDD37\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f937-1f3ff-200d-2642-fe0f\", 47, 23, 5, ['\\uD83E\\uDD37\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f938-200d-2640-fe0f\": { \"1f3fb\": [\"1f938-1f3fb-200d-2640-fe0f\", 47, 25, 5, ['\\uD83E\\uDD38\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f938-1f3fc-200d-2640-fe0f\", 47, 26, 5, ['\\uD83E\\uDD38\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f938-1f3fd-200d-2640-fe0f\", 47, 27, 5, ['\\uD83E\\uDD38\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f938-1f3fe-200d-2640-fe0f\", 47, 28, 5, ['\\uD83E\\uDD38\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f938-1f3ff-200d-2640-fe0f\", 47, 29, 5, ['\\uD83E\\uDD38\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f938-200d-2642-fe0f\": { \"1f3fb\": [\"1f938-1f3fb-200d-2642-fe0f\", 47, 31, 5, ['\\uD83E\\uDD38\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f938-1f3fc-200d-2642-fe0f\", 47, 32, 5, ['\\uD83E\\uDD38\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f938-1f3fd-200d-2642-fe0f\", 47, 33, 5, ['\\uD83E\\uDD38\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f938-1f3fe-200d-2642-fe0f\", 47, 34, 5, ['\\uD83E\\uDD38\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f938-1f3ff-200d-2642-fe0f\", 47, 35, 5, ['\\uD83E\\uDD38\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f939-200d-2640-fe0f\": { \"1f3fb\": [\"1f939-1f3fb-200d-2640-fe0f\", 47, 37, 5, ['\\uD83E\\uDD39\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f939-1f3fc-200d-2640-fe0f\", 47, 38, 5, ['\\uD83E\\uDD39\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f939-1f3fd-200d-2640-fe0f\", 47, 39, 5, ['\\uD83E\\uDD39\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f939-1f3fe-200d-2640-fe0f\", 47, 40, 5, ['\\uD83E\\uDD39\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f939-1f3ff-200d-2640-fe0f\", 47, 41, 5, ['\\uD83E\\uDD39\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f939-200d-2642-fe0f\": { \"1f3fb\": [\"1f939-1f3fb-200d-2642-fe0f\", 47, 43, 5, ['\\uD83E\\uDD39\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f939-1f3fc-200d-2642-fe0f\", 47, 44, 5, ['\\uD83E\\uDD39\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f939-1f3fd-200d-2642-fe0f\", 47, 45, 5, ['\\uD83E\\uDD39\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f939-1f3fe-200d-2642-fe0f\", 47, 46, 5, ['\\uD83E\\uDD39\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f939-1f3ff-200d-2642-fe0f\", 47, 47, 5, ['\\uD83E\\uDD39\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f93d-200d-2640-fe0f\": { \"1f3fb\": [\"1f93d-1f3fb-200d-2640-fe0f\", 48, 2, 5, ['\\uD83E\\uDD3D\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f93d-1f3fc-200d-2640-fe0f\", 48, 3, 5, ['\\uD83E\\uDD3D\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f93d-1f3fd-200d-2640-fe0f\", 48, 4, 5, ['\\uD83E\\uDD3D\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f93d-1f3fe-200d-2640-fe0f\", 48, 5, 5, ['\\uD83E\\uDD3D\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f93d-1f3ff-200d-2640-fe0f\", 48, 6, 5, ['\\uD83E\\uDD3D\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f93d-200d-2642-fe0f\": { \"1f3fb\": [\"1f93d-1f3fb-200d-2642-fe0f\", 48, 8, 5, ['\\uD83E\\uDD3D\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f93d-1f3fc-200d-2642-fe0f\", 48, 9, 5, ['\\uD83E\\uDD3D\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f93d-1f3fd-200d-2642-fe0f\", 48, 10, 5, ['\\uD83E\\uDD3D\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f93d-1f3fe-200d-2642-fe0f\", 48, 11, 5, ['\\uD83E\\uDD3D\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f93d-1f3ff-200d-2642-fe0f\", 48, 12, 5, ['\\uD83E\\uDD3D\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"1f93e-200d-2640-fe0f\": { \"1f3fb\": [\"1f93e-1f3fb-200d-2640-fe0f\", 48, 14, 5, ['\\uD83E\\uDD3E\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"1f93e-1f3fc-200d-2640-fe0f\", 48, 15, 5, ['\\uD83E\\uDD3E\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"1f93e-1f3fd-200d-2640-fe0f\", 48, 16, 5, ['\\uD83E\\uDD3E\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"1f93e-1f3fe-200d-2640-fe0f\", 48, 17, 5, ['\\uD83E\\uDD3E\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"1f93e-1f3ff-200d-2640-fe0f\", 48, 18, 5, ['\\uD83E\\uDD3E\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"1f93e-200d-2642-fe0f\": { \"1f3fb\": [\"1f93e-1f3fb-200d-2642-fe0f\", 48, 20, 5, ['\\uD83E\\uDD3E\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F']], \"1f3fc\": [\"1f93e-1f3fc-200d-2642-fe0f\", 48, 21, 5, ['\\uD83E\\uDD3E\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F']], \"1f3fd\": [\"1f93e-1f3fd-200d-2642-fe0f\", 48, 22, 5, ['\\uD83E\\uDD3E\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F']], \"1f3fe\": [\"1f93e-1f3fe-200d-2642-fe0f\", 48, 23, 5, ['\\uD83E\\uDD3E\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F']], \"1f3ff\": [\"1f93e-1f3ff-200d-2642-fe0f\", 48, 24, 5, ['\\uD83E\\uDD3E\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F']] },\n \"26f9-fe0f-200d-2640-fe0f\": { \"1f3fb\": [\"26f9-1f3fb-200d-2640-fe0f\", 48, 26, 5, ['\\u26F9\\uD83C\\uDFFB\\u200D\\u2640\\uFE0F']], \"1f3fc\": [\"26f9-1f3fc-200d-2640-fe0f\", 48, 27, 5, ['\\u26F9\\uD83C\\uDFFC\\u200D\\u2640\\uFE0F']], \"1f3fd\": [\"26f9-1f3fd-200d-2640-fe0f\", 48, 28, 5, ['\\u26F9\\uD83C\\uDFFD\\u200D\\u2640\\uFE0F']], \"1f3fe\": [\"26f9-1f3fe-200d-2640-fe0f\", 48, 29, 5, ['\\u26F9\\uD83C\\uDFFE\\u200D\\u2640\\uFE0F']], \"1f3ff\": [\"26f9-1f3ff-200d-2640-fe0f\", 48, 30, 5, ['\\u26F9\\uD83C\\uDFFF\\u200D\\u2640\\uFE0F']] },\n \"26f9-fe0f-200d-2642-fe0f\": { \"1f3fb\": [\"26f9-1f3fb-200d-2642-fe0f\", 48, 32, 5, ['\\u26F9\\uD83C\\uDFFB\\u200D\\u2642\\uFE0F', '\\u26F9\\uD83C\\uDFFB']], \"1f3fc\": [\"26f9-1f3fc-200d-2642-fe0f\", 48, 33, 5, ['\\u26F9\\uD83C\\uDFFC\\u200D\\u2642\\uFE0F', '\\u26F9\\uD83C\\uDFFC']], \"1f3fd\": [\"26f9-1f3fd-200d-2642-fe0f\", 48, 34, 5, ['\\u26F9\\uD83C\\uDFFD\\u200D\\u2642\\uFE0F', '\\u26F9\\uD83C\\uDFFD']], \"1f3fe\": [\"26f9-1f3fe-200d-2642-fe0f\", 48, 35, 5, ['\\u26F9\\uD83C\\uDFFE\\u200D\\u2642\\uFE0F', '\\u26F9\\uD83C\\uDFFE']], \"1f3ff\": [\"26f9-1f3ff-200d-2642-fe0f\", 48, 36, 5, ['\\u26F9\\uD83C\\uDFFF\\u200D\\u2642\\uFE0F', '\\u26F9\\uD83C\\uDFFF']] }\n };\n /** @private */\n emoji.prototype.obsoletes_data = {\n \"26f9-fe0f-200d-2642-fe0f\": [\"26f9\", 2, 25, 31],\n \"26f9-1f3fb-200d-2642-fe0f\": [\"26f9-1f3fb\", 2, 26, 31],\n \"26f9-1f3fc-200d-2642-fe0f\": [\"26f9-1f3fc\", 2, 27, 31],\n \"26f9-1f3fd-200d-2642-fe0f\": [\"26f9-1f3fd\", 2, 28, 31],\n \"26f9-1f3fe-200d-2642-fe0f\": [\"26f9-1f3fe\", 2, 29, 31],\n \"26f9-1f3ff-200d-2642-fe0f\": [\"26f9-1f3ff\", 2, 30, 31],\n \"1f3c3-200d-2642-fe0f\": [\"1f3c3\", 8, 35, 63],\n \"1f3c3-1f3fb-200d-2642-fe0f\": [\"1f3c3-1f3fb\", 8, 36, 63],\n \"1f3c3-1f3fc-200d-2642-fe0f\": [\"1f3c3-1f3fc\", 8, 37, 63],\n \"1f3c3-1f3fd-200d-2642-fe0f\": [\"1f3c3-1f3fd\", 8, 38, 63],\n \"1f3c3-1f3fe-200d-2642-fe0f\": [\"1f3c3-1f3fe\", 8, 39, 63],\n \"1f3c3-1f3ff-200d-2642-fe0f\": [\"1f3c3-1f3ff\", 8, 40, 63],\n \"1f3c4-200d-2642-fe0f\": [\"1f3c4\", 8, 41, 63],\n \"1f3c4-1f3fb-200d-2642-fe0f\": [\"1f3c4-1f3fb\", 8, 42, 63],\n \"1f3c4-1f3fc-200d-2642-fe0f\": [\"1f3c4-1f3fc\", 8, 43, 63],\n \"1f3c4-1f3fd-200d-2642-fe0f\": [\"1f3c4-1f3fd\", 8, 44, 63],\n \"1f3c4-1f3fe-200d-2642-fe0f\": [\"1f3c4-1f3fe\", 8, 45, 63],\n \"1f3c4-1f3ff-200d-2642-fe0f\": [\"1f3c4-1f3ff\", 8, 46, 63],\n \"1f3ca-200d-2642-fe0f\": [\"1f3ca\", 9, 8, 63],\n \"1f3ca-1f3fb-200d-2642-fe0f\": [\"1f3ca-1f3fb\", 9, 9, 63],\n \"1f3ca-1f3fc-200d-2642-fe0f\": [\"1f3ca-1f3fc\", 9, 10, 63],\n \"1f3ca-1f3fd-200d-2642-fe0f\": [\"1f3ca-1f3fd\", 9, 11, 63],\n \"1f3ca-1f3fe-200d-2642-fe0f\": [\"1f3ca-1f3fe\", 9, 12, 63],\n \"1f3ca-1f3ff-200d-2642-fe0f\": [\"1f3ca-1f3ff\", 9, 13, 63],\n \"1f3cb-fe0f-200d-2642-fe0f\": [\"1f3cb\", 9, 14, 31],\n \"1f3cb-1f3fb-200d-2642-fe0f\": [\"1f3cb-1f3fb\", 9, 15, 31],\n \"1f3cb-1f3fc-200d-2642-fe0f\": [\"1f3cb-1f3fc\", 9, 16, 31],\n \"1f3cb-1f3fd-200d-2642-fe0f\": [\"1f3cb-1f3fd\", 9, 17, 31],\n \"1f3cb-1f3fe-200d-2642-fe0f\": [\"1f3cb-1f3fe\", 9, 18, 31],\n \"1f3cb-1f3ff-200d-2642-fe0f\": [\"1f3cb-1f3ff\", 9, 19, 31],\n \"1f3cc-fe0f-200d-2642-fe0f\": [\"1f3cc\", 9, 20, 31],\n \"1f3cc-1f3fb-200d-2642-fe0f\": [\"1f3cc-1f3fb\", 9, 21, 21],\n \"1f3cc-1f3fc-200d-2642-fe0f\": [\"1f3cc-1f3fc\", 9, 22, 21],\n \"1f3cc-1f3fd-200d-2642-fe0f\": [\"1f3cc-1f3fd\", 9, 23, 21],\n \"1f3cc-1f3fe-200d-2642-fe0f\": [\"1f3cc-1f3fe\", 9, 24, 21],\n \"1f3cc-1f3ff-200d-2642-fe0f\": [\"1f3cc-1f3ff\", 9, 25, 21],\n \"1f468-200d-1f469-200d-1f466\": [\"1f46a\", 14, 20, 63],\n \"1f46e-200d-2642-fe0f\": [\"1f46e\", 14, 24, 63],\n \"1f46e-1f3fb-200d-2642-fe0f\": [\"1f46e-1f3fb\", 14, 25, 63],\n \"1f46e-1f3fc-200d-2642-fe0f\": [\"1f46e-1f3fc\", 14, 26, 63],\n \"1f46e-1f3fd-200d-2642-fe0f\": [\"1f46e-1f3fd\", 14, 27, 63],\n \"1f46e-1f3fe-200d-2642-fe0f\": [\"1f46e-1f3fe\", 14, 28, 63],\n \"1f46e-1f3ff-200d-2642-fe0f\": [\"1f46e-1f3ff\", 14, 29, 63],\n \"1f46f-200d-2640-fe0f\": [\"1f46f\", 14, 30, 63],\n \"1f471-200d-2642-fe0f\": [\"1f471\", 14, 37, 63],\n \"1f471-1f3fb-200d-2642-fe0f\": [\"1f471-1f3fb\", 14, 38, 63],\n \"1f471-1f3fc-200d-2642-fe0f\": [\"1f471-1f3fc\", 14, 39, 63],\n \"1f471-1f3fd-200d-2642-fe0f\": [\"1f471-1f3fd\", 14, 40, 63],\n \"1f471-1f3fe-200d-2642-fe0f\": [\"1f471-1f3fe\", 14, 41, 63],\n \"1f471-1f3ff-200d-2642-fe0f\": [\"1f471-1f3ff\", 14, 42, 63],\n \"1f473-200d-2642-fe0f\": [\"1f473\", 15, 0, 63],\n \"1f473-1f3fb-200d-2642-fe0f\": [\"1f473-1f3fb\", 15, 1, 63],\n \"1f473-1f3fc-200d-2642-fe0f\": [\"1f473-1f3fc\", 15, 2, 63],\n \"1f473-1f3fd-200d-2642-fe0f\": [\"1f473-1f3fd\", 15, 3, 63],\n \"1f473-1f3fe-200d-2642-fe0f\": [\"1f473-1f3fe\", 15, 4, 63],\n \"1f473-1f3ff-200d-2642-fe0f\": [\"1f473-1f3ff\", 15, 5, 63],\n \"1f477-200d-2642-fe0f\": [\"1f477\", 15, 24, 63],\n \"1f477-1f3fb-200d-2642-fe0f\": [\"1f477-1f3fb\", 15, 25, 63],\n \"1f477-1f3fc-200d-2642-fe0f\": [\"1f477-1f3fc\", 15, 26, 63],\n \"1f477-1f3fd-200d-2642-fe0f\": [\"1f477-1f3fd\", 15, 27, 63],\n \"1f477-1f3fe-200d-2642-fe0f\": [\"1f477-1f3fe\", 15, 28, 63],\n \"1f477-1f3ff-200d-2642-fe0f\": [\"1f477-1f3ff\", 15, 29, 63],\n \"1f481-200d-2640-fe0f\": [\"1f481\", 16, 0, 63],\n \"1f481-1f3fb-200d-2640-fe0f\": [\"1f481-1f3fb\", 16, 1, 63],\n \"1f481-1f3fc-200d-2640-fe0f\": [\"1f481-1f3fc\", 16, 2, 63],\n \"1f481-1f3fd-200d-2640-fe0f\": [\"1f481-1f3fd\", 16, 3, 63],\n \"1f481-1f3fe-200d-2640-fe0f\": [\"1f481-1f3fe\", 16, 4, 63],\n \"1f481-1f3ff-200d-2640-fe0f\": [\"1f481-1f3ff\", 16, 5, 63],\n \"1f482-200d-2642-fe0f\": [\"1f482\", 16, 6, 63],\n \"1f482-1f3fb-200d-2642-fe0f\": [\"1f482-1f3fb\", 16, 7, 63],\n \"1f482-1f3fc-200d-2642-fe0f\": [\"1f482-1f3fc\", 16, 8, 63],\n \"1f482-1f3fd-200d-2642-fe0f\": [\"1f482-1f3fd\", 16, 9, 63],\n \"1f482-1f3fe-200d-2642-fe0f\": [\"1f482-1f3fe\", 16, 10, 63],\n \"1f482-1f3ff-200d-2642-fe0f\": [\"1f482-1f3ff\", 16, 11, 63],\n \"1f486-200d-2640-fe0f\": [\"1f486\", 16, 25, 63],\n \"1f486-1f3fb-200d-2640-fe0f\": [\"1f486-1f3fb\", 16, 26, 63],\n \"1f486-1f3fc-200d-2640-fe0f\": [\"1f486-1f3fc\", 16, 27, 63],\n \"1f486-1f3fd-200d-2640-fe0f\": [\"1f486-1f3fd\", 16, 28, 63],\n \"1f486-1f3fe-200d-2640-fe0f\": [\"1f486-1f3fe\", 16, 29, 63],\n \"1f486-1f3ff-200d-2640-fe0f\": [\"1f486-1f3ff\", 16, 30, 63],\n \"1f487-200d-2640-fe0f\": [\"1f487\", 16, 31, 63],\n \"1f487-1f3fb-200d-2640-fe0f\": [\"1f487-1f3fb\", 16, 32, 63],\n \"1f487-1f3fc-200d-2640-fe0f\": [\"1f487-1f3fc\", 16, 33, 63],\n \"1f487-1f3fd-200d-2640-fe0f\": [\"1f487-1f3fd\", 16, 34, 63],\n \"1f487-1f3fe-200d-2640-fe0f\": [\"1f487-1f3fe\", 16, 35, 63],\n \"1f487-1f3ff-200d-2640-fe0f\": [\"1f487-1f3ff\", 16, 36, 63],\n \"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468\": [\"1f48f\", 16, 44, 61],\n \"1f469-200d-2764-fe0f-200d-1f468\": [\"1f491\", 16, 46, 61],\n \"1f575-fe0f-200d-2642-fe0f\": [\"1f575\", 21, 17, 31],\n \"1f575-1f3fb-200d-2642-fe0f\": [\"1f575-1f3fb\", 21, 18, 31],\n \"1f575-1f3fc-200d-2642-fe0f\": [\"1f575-1f3fc\", 21, 19, 31],\n \"1f575-1f3fd-200d-2642-fe0f\": [\"1f575-1f3fd\", 21, 20, 31],\n \"1f575-1f3fe-200d-2642-fe0f\": [\"1f575-1f3fe\", 21, 21, 31],\n \"1f575-1f3ff-200d-2642-fe0f\": [\"1f575-1f3ff\", 21, 22, 31],\n \"1f645-200d-2640-fe0f\": [\"1f645\", 24, 4, 63],\n \"1f645-1f3fb-200d-2640-fe0f\": [\"1f645-1f3fb\", 24, 5, 63],\n \"1f645-1f3fc-200d-2640-fe0f\": [\"1f645-1f3fc\", 24, 6, 63],\n \"1f645-1f3fd-200d-2640-fe0f\": [\"1f645-1f3fd\", 24, 7, 63],\n \"1f645-1f3fe-200d-2640-fe0f\": [\"1f645-1f3fe\", 24, 8, 63],\n \"1f645-1f3ff-200d-2640-fe0f\": [\"1f645-1f3ff\", 24, 9, 63],\n \"1f646-200d-2640-fe0f\": [\"1f646\", 24, 10, 63],\n \"1f646-1f3fb-200d-2640-fe0f\": [\"1f646-1f3fb\", 24, 11, 63],\n \"1f646-1f3fc-200d-2640-fe0f\": [\"1f646-1f3fc\", 24, 12, 63],\n \"1f646-1f3fd-200d-2640-fe0f\": [\"1f646-1f3fd\", 24, 13, 63],\n \"1f646-1f3fe-200d-2640-fe0f\": [\"1f646-1f3fe\", 24, 14, 63],\n \"1f646-1f3ff-200d-2640-fe0f\": [\"1f646-1f3ff\", 24, 15, 63],\n \"1f647-200d-2642-fe0f\": [\"1f647\", 24, 16, 63],\n \"1f647-1f3fb-200d-2642-fe0f\": [\"1f647-1f3fb\", 24, 17, 63],\n \"1f647-1f3fc-200d-2642-fe0f\": [\"1f647-1f3fc\", 24, 18, 63],\n \"1f647-1f3fd-200d-2642-fe0f\": [\"1f647-1f3fd\", 24, 19, 63],\n \"1f647-1f3fe-200d-2642-fe0f\": [\"1f647-1f3fe\", 24, 20, 63],\n \"1f647-1f3ff-200d-2642-fe0f\": [\"1f647-1f3ff\", 24, 21, 63],\n \"1f64b-200d-2640-fe0f\": [\"1f64b\", 24, 25, 63],\n \"1f64b-1f3fb-200d-2640-fe0f\": [\"1f64b-1f3fb\", 24, 26, 63],\n \"1f64b-1f3fc-200d-2640-fe0f\": [\"1f64b-1f3fc\", 24, 27, 63],\n \"1f64b-1f3fd-200d-2640-fe0f\": [\"1f64b-1f3fd\", 24, 28, 63],\n \"1f64b-1f3fe-200d-2640-fe0f\": [\"1f64b-1f3fe\", 24, 29, 63],\n \"1f64b-1f3ff-200d-2640-fe0f\": [\"1f64b-1f3ff\", 24, 30, 63],\n \"1f64d-200d-2640-fe0f\": [\"1f64d\", 24, 37, 63],\n \"1f64d-1f3fb-200d-2640-fe0f\": [\"1f64d-1f3fb\", 24, 38, 63],\n \"1f64d-1f3fc-200d-2640-fe0f\": [\"1f64d-1f3fc\", 24, 39, 63],\n \"1f64d-1f3fd-200d-2640-fe0f\": [\"1f64d-1f3fd\", 24, 40, 63],\n \"1f64d-1f3fe-200d-2640-fe0f\": [\"1f64d-1f3fe\", 24, 41, 63],\n \"1f64d-1f3ff-200d-2640-fe0f\": [\"1f64d-1f3ff\", 24, 42, 63],\n \"1f64e-200d-2640-fe0f\": [\"1f64e\", 24, 43, 63],\n \"1f64e-1f3fb-200d-2640-fe0f\": [\"1f64e-1f3fb\", 24, 44, 63],\n \"1f64e-1f3fc-200d-2640-fe0f\": [\"1f64e-1f3fc\", 24, 45, 63],\n \"1f64e-1f3fd-200d-2640-fe0f\": [\"1f64e-1f3fd\", 24, 46, 63],\n \"1f64e-1f3fe-200d-2640-fe0f\": [\"1f64e-1f3fe\", 24, 47, 63],\n \"1f64e-1f3ff-200d-2640-fe0f\": [\"1f64e-1f3ff\", 24, 48, 63],\n \"1f6a3-200d-2642-fe0f\": [\"1f6a3\", 25, 41, 63],\n \"1f6a3-1f3fb-200d-2642-fe0f\": [\"1f6a3-1f3fb\", 25, 42, 31],\n \"1f6a3-1f3fc-200d-2642-fe0f\": [\"1f6a3-1f3fc\", 25, 43, 31],\n \"1f6a3-1f3fd-200d-2642-fe0f\": [\"1f6a3-1f3fd\", 25, 44, 31],\n \"1f6a3-1f3fe-200d-2642-fe0f\": [\"1f6a3-1f3fe\", 25, 45, 31],\n \"1f6a3-1f3ff-200d-2642-fe0f\": [\"1f6a3-1f3ff\", 25, 46, 31],\n \"1f6b4-200d-2642-fe0f\": [\"1f6b4\", 26, 14, 63],\n \"1f6b4-1f3fb-200d-2642-fe0f\": [\"1f6b4-1f3fb\", 26, 15, 63],\n \"1f6b4-1f3fc-200d-2642-fe0f\": [\"1f6b4-1f3fc\", 26, 16, 63],\n \"1f6b4-1f3fd-200d-2642-fe0f\": [\"1f6b4-1f3fd\", 26, 17, 63],\n \"1f6b4-1f3fe-200d-2642-fe0f\": [\"1f6b4-1f3fe\", 26, 18, 63],\n \"1f6b4-1f3ff-200d-2642-fe0f\": [\"1f6b4-1f3ff\", 26, 19, 63],\n \"1f6b5-200d-2642-fe0f\": [\"1f6b5\", 26, 20, 63],\n \"1f6b5-1f3fb-200d-2642-fe0f\": [\"1f6b5-1f3fb\", 26, 21, 63],\n \"1f6b5-1f3fc-200d-2642-fe0f\": [\"1f6b5-1f3fc\", 26, 22, 63],\n \"1f6b5-1f3fd-200d-2642-fe0f\": [\"1f6b5-1f3fd\", 26, 23, 63],\n \"1f6b5-1f3fe-200d-2642-fe0f\": [\"1f6b5-1f3fe\", 26, 24, 63],\n \"1f6b5-1f3ff-200d-2642-fe0f\": [\"1f6b5-1f3ff\", 26, 25, 63],\n \"1f6b6-200d-2642-fe0f\": [\"1f6b6\", 26, 26, 63],\n \"1f6b6-1f3fb-200d-2642-fe0f\": [\"1f6b6-1f3fb\", 26, 27, 63],\n \"1f6b6-1f3fc-200d-2642-fe0f\": [\"1f6b6-1f3fc\", 26, 28, 63],\n \"1f6b6-1f3fd-200d-2642-fe0f\": [\"1f6b6-1f3fd\", 26, 29, 63],\n \"1f6b6-1f3fe-200d-2642-fe0f\": [\"1f6b6-1f3fe\", 26, 30, 63],\n \"1f6b6-1f3ff-200d-2642-fe0f\": [\"1f6b6-1f3ff\", 26, 31, 63]\n };\n\n // export\n if (true) {\n if (typeof module !== 'undefined' && module.exports) {\n exports = module.exports = emoji;\n }\n exports.EmojiConvertor = emoji;\n } else if (typeof define === 'function' && define.amd) {\n define(function () {\n return emoji;\n });\n } else {\n root.EmojiConvertor = emoji;\n }\n}).call(function () {\n return this || (typeof window !== 'undefined' ? window : global);\n}());\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(42)))\n\n/***/ }),\n/* 765 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright (c) Rotorz Limited. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root.\n\n\n\nvar PluginEnvironment = __webpack_require__(766);\nvar tokenizer = __webpack_require__(767);\n\nfunction setup(md, options) {\n var env = new PluginEnvironment(md, options);\n\n md.block.ruler.before(\"fence\", \"block-image\", tokenizer.bind(env), {\n alt: [\"paragraph\", \"reference\", \"blockquote\", \"list\"]\n });\n}\n\nmodule.exports = setup;\n\n/***/ }),\n/* 766 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright (c) Rotorz Limited. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root.\n\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PluginEnvironment = function () {\n function PluginEnvironment(md, options) {\n _classCallCheck(this, PluginEnvironment);\n\n this.md = md;\n this.options = Object.assign(this.getDefaultOptions(), options);\n }\n\n _createClass(PluginEnvironment, [{\n key: \"getDefaultOptions\",\n value: function getDefaultOptions() {\n return {\n outputContainer: false,\n containerClassName: \"block-image\"\n };\n }\n }]);\n\n return PluginEnvironment;\n}();\n\nmodule.exports = PluginEnvironment;\n\n/***/ }),\n/* 767 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright (c) Rotorz Limited. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root.\n\n\n\nvar SYNTAX_CHARS = \"![]()\".split(\"\");\nvar SYNTAX_CODES = SYNTAX_CHARS.map(function (char) {\n return char.charCodeAt(0);\n});\n\nfunction advanceToSymbol(state, endLine, symbol, pointer) {\n var maxPos = null;\n var symbolLine = pointer.line;\n var symbolIndex = state.src.indexOf(symbol, pointer.pos);\n\n if (symbolIndex === -1) return false;\n\n maxPos = state.eMarks[pointer.line];\n while (symbolIndex >= maxPos) {\n ++symbolLine;\n maxPos = state.eMarks[symbolLine];\n\n if (symbolLine >= endLine) return false;\n }\n\n pointer.prevPos = pointer.pos;\n pointer.pos = symbolIndex;\n pointer.line = symbolLine;\n return true;\n}\n\nfunction tokenizer(state, startLine, endLine, silent) {\n var startPos = state.bMarks[startLine] + state.tShift[startLine];\n var maxPos = state.eMarks[startLine];\n\n var pointer = { line: startLine, pos: startPos };\n\n // Block image must be at start of input or the previous line must be blank.\n if (startLine !== 0) {\n var prevLineStartPos = state.bMarks[startLine - 1] + state.tShift[startLine - 1];\n var prevLineMaxPos = state.eMarks[startLine - 1];\n if (prevLineMaxPos > prevLineStartPos) return false;\n }\n\n // Identify as being a potential block image.\n if (maxPos - startPos < 2) return false;\n if (SYNTAX_CODES[0] !== state.src.charCodeAt(pointer.pos++)) return false;\n\n // Read alt text from within square brackets.\n if (SYNTAX_CODES[1] !== state.src.charCodeAt(pointer.pos++)) return false;\n if (!advanceToSymbol(state, endLine, \"]\", pointer)) return false;\n ++pointer.pos;\n\n // Read image url and title from within parenthesis.\n if (SYNTAX_CODES[3] !== state.src.charCodeAt(pointer.pos++)) return false;\n if (!advanceToSymbol(state, endLine, \")\", pointer)) return false;\n\n ++pointer.pos;\n\n // Do not recognize as block element when there is trailing text.\n maxPos = state.eMarks[pointer.line];\n var trailingText = state.src.substr(pointer.pos, maxPos - pointer.pos).trim();\n if (trailingText !== \"\") return false;\n\n // Block image must be at end of input or the next line must be blank.\n if (endLine !== pointer.line + 1) {\n var nextLineStartPos = state.bMarks[pointer.line + 1] + state.tShift[pointer.line + 1];\n var nextLineMaxPos = state.eMarks[pointer.line + 1];\n if (nextLineMaxPos > nextLineStartPos) return false;\n }\n\n if (pointer.line >= endLine) return false;\n\n if (!silent) {\n var token = void 0;\n\n if (this.options.outputContainer) {\n token = state.push(\"block-image_open\", this.options.outputContainer, 1);\n token.map = [pointer.line, pointer.line + 1];\n\n if (this.options.containerClassName) {\n token.attrSet(\"class\", this.options.containerClassName);\n }\n }\n\n token = state.push(\"inline\", \"\", 0);\n token.content = state.src.substr(startPos, pointer.pos - startPos);\n token.map = [startLine, pointer.line + 1];\n token.children = [];\n\n if (this.options.outputContainer) {\n state.push(\"block-image_close\", this.options.outputContainer, -1);\n }\n\n state.line = pointer.line + 1;\n }\n\n return true;\n}\n\nmodule.exports = tokenizer;\n\n/***/ }),\n/* 768 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.textOnHover = textOnHover;\ntextOnHover.$inject = ['$'];\n\nfunction textOnHover($) {\n return {\n scope: {\n textOnHover: '@textOnHover'\n },\n link: function link($scope, element) {\n var backupText = '';\n $(element).on('mouseover', function () {\n backupText = $(element).text();\n $(element).text($scope.textOnHover);\n });\n\n $(element).on('mouseout', function () {\n $(element).text(backupText);\n });\n }\n };\n}\n\n/***/ }),\n/* 769 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(7);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar cartonomyLogo = __webpack_require__(417);\n\n_module3.default.directive('cartonomyLogo', ['$', function ($) {\n return {\n restrict: 'E',\n link: function link($scope, element) {\n $(element).html(cartonomyLogo);\n }\n };\n}]);\n\n/***/ }),\n/* 770 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _module2 = __webpack_require__(68);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _routeConfig = __webpack_require__(771);\n\nvar _routeConfig2 = _interopRequireDefault(_routeConfig);\n\nvar _CartController = __webpack_require__(777);\n\nvar _CartController2 = _interopRequireDefault(_CartController);\n\nvar _InvitedPeopleListController = __webpack_require__(778);\n\nvar _InvitedPeopleListController2 = _interopRequireDefault(_InvitedPeopleListController);\n\nvar _PopupBagDirective = __webpack_require__(779);\n\nvar _PopupBagDirective2 = _interopRequireDefault(_PopupBagDirective);\n\nvar _OrderDetailsDirective = __webpack_require__(780);\n\nvar _OrderDetailsDirective2 = _interopRequireDefault(_OrderDetailsDirective);\n\nvar _CartGroupsService = __webpack_require__(782);\n\nvar _CartGroupsService2 = _interopRequireDefault(_CartGroupsService);\n\nvar _CartDirective = __webpack_require__(783);\n\nvar _CartDirective2 = _interopRequireDefault(_CartDirective);\n\nvar _CartGroupsDirective = __webpack_require__(785);\n\nvar _CartGroupsDirective2 = _interopRequireDefault(_CartGroupsDirective);\n\nvar _StoreAdminCartController = __webpack_require__(428);\n\nvar _StoreAdminCartController2 = _interopRequireDefault(_StoreAdminCartController);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_module3.default.controller('Cartonomy.Cart.CartController', _CartController2.default);\n_module3.default.controller('Cartonomy.Cart.InvitedPeopleListController', _InvitedPeopleListController2.default);\n_module3.default.controller(_StoreAdminCartController2.default.$controllerName, _StoreAdminCartController2.default);\n\n_module3.default.directive('popupBag', [function () {\n return {\n scope: {\n hasGroupOrder: '='\n },\n template: __webpack_require__(787),\n controller: _PopupBagDirective2.default\n };\n}]);\n\n_module3.default.config(['$stateProvider', function ($stateProvider) {\n _routeConfig2.default.forEach(function (route) {\n $stateProvider.state(route);\n });\n}]);\n\nexports.default = _module3.default.name;\n\n/***/ }),\n/* 771 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _StoreAdminCartController = __webpack_require__(428);\n\nvar _StoreAdminCartController2 = _interopRequireDefault(_StoreAdminCartController);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar routes = [{\n name: _CommonConstants2.default.RoutingStates.CART,\n url: \"/cart\",\n windowTitle: 'client.cart.group',\n views: {\n contents: {\n template: __webpack_require__(772),\n controller: 'Cartonomy.Cart.CartController'\n }\n }\n}, {\n name: _CommonConstants2.default.RoutingStates.START_CHECKOUT,\n url: \"/start_checkout\",\n windowTitle: 'client.cart.checkout_start',\n views: {\n contents: {\n template: __webpack_require__(773),\n controller: \"Cartonomy.Cart.CartController\"\n }\n }\n}, {\n name: _CommonConstants2.default.RoutingStates.INVITED_PEOPLE,\n url: \"/invitedPeople\",\n windowTitle: 'client.members',\n views: {\n contents: {\n template: __webpack_require__(774),\n controller: 'Cartonomy.Cart.InvitedPeopleListController'\n }\n }\n}, {\n name: _CommonConstants2.default.RoutingStates.STORE_ADMIN,\n url: \"/storeAdmin\",\n views: {\n contents: {\n template: __webpack_require__(775),\n controller: _StoreAdminCartController2.default.$controllerName\n }\n }\n}, {\n name: _CommonConstants2.default.RoutingStates.OPEN_CARTS,\n url: \"/opentCarts\",\n windowTitle: 'client.cart.open_cart',\n views: {\n contents: {\n template: __webpack_require__(776),\n controller: _StoreAdminCartController2.default.$controllerName\n }\n }\n}];\n\nexports.default = routes;\n\n/***/ }),\n/* 772 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\"\n\n/***/ }),\n/* 773 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n
{{'client.cart.checkout_process' | translate}}
{{'client.cart.checkout_share' | translate}}
{{'client.cart.checkout_pay_info' | translate}}
{{'client.cart.total' | translate}}{{formatAmount(myTab.subtotal)}}
{{'client.cart.group_total' | translate}}{{formatAmount(groupSpending)}}
{{'client.cart.total_after' | translate}}{{formatAmount(myTapDiscounted)}}
\"\n\n/***/ }),\n/* 774 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
{{ contact.firstLetter }}
{{ contact.name }}
{{ contact.email }}
{{ contact.status }}
\"\n\n/***/ }),\n/* 775 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
{{'client.order.report' | translate}}
{{ cart.cartName }}
{{'client.owner' | translate}}:{{cart.ownerName}}
\"\n\n/***/ }),\n/* 776 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
{{'client.cart.open_group_chart' | translate}}
{{ cart.cartName }}
{{'client.owner' | translate}}:{{cart.ownerName}}
\"\n\n/***/ }),\n/* 777 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _communicationService = __webpack_require__(28);\n\nvar _commandKeys = __webpack_require__(27);\n\nvar _utils = __webpack_require__(29);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CartController = function () {\n function CartController(scope, stateService, cartService, session, authenticationService, messageService, rootScope, checkoutService, cartGroupsService, orderSetupService, configurationService, cartonomyConfig, timeout, localForageService, $translate) {\n var _this = this;\n\n _classCallCheck(this, CartController);\n\n scope.groupSpending = \"\";\n scope.numbers = _.range(1, 10);\n scope.deleteItem = function (item) {\n return _this._deleteItem(item);\n };\n scope.payMyTab = function () {\n return _this._payMyTab();\n };\n scope.leaveOrder = function () {\n return _this._leaveOrder();\n };\n scope.quantityKeyPressed = function ($event) {\n return _this._quantityKeyPressed($event);\n };\n\n scope.showPayButton = function () {\n return _this._shouldShowPayButton();\n };\n scope.shouldShowStartIndividualPaymentButton = function () {\n return _this._shouldShowStartIndividualPaymentButton();\n };\n\n scope.clearCart = function () {\n return _this._clearCart();\n };\n scope.cancelOrder = function () {\n return _this._cancelOrder();\n };\n scope.canCancelOrder = function () {\n return _this._canCancelOrder();\n };\n scope.separatePayments = function () {\n return _this._separatePayments();\n };\n scope.startCheckoutProcess = function (userId) {\n return _this._startCheckoutProcess(userId);\n };\n scope.toggleCollapse = function (group) {\n return _this._toggleCollapse(group);\n };\n scope.updateQuantity = function ($event, item, updateValue) {\n return _this._updateQuantity($event, item, updateValue);\n };\n scope.backToCart = function () {\n return _this._backToCart();\n };\n scope.confirmStartCheckout = function () {\n return _this._confirmStartCheckout();\n };\n scope.goToOrderSettings = function () {\n return _this._goToOrderSetting();\n };\n scope.startNewOrder = function () {\n return _this._startNewOrder();\n };\n\n window.messageService = messageService;\n\n this._cartService = cartService;\n this._scope = scope;\n this._state = stateService;\n this._session = session;\n this._messageService = messageService;\n this._authenticationService = authenticationService;\n this._checkoutService = checkoutService;\n this._cartGroupsService = cartGroupsService;\n this._scope.loading = false;\n this._cartonomyConfig = cartonomyConfig;\n this._rootScope = rootScope;\n this._orderSetupService = orderSetupService;\n this._timeout = timeout;\n this._configurationService = configurationService;\n this._localForageService = localForageService;\n this.$translate = $translate;\n\n this._cartChanging = false;\n this._retailer = null;\n this._scope.items = [];\n this._scope.checkOut = false;\n this._scope.groupsCollapses = {};\n this.quantityUpdating = false;\n this.quantityUpdateClicked = false;\n\n scope.updateSelectedTab = function (number) {\n scope.selectedTab = number;\n };\n\n scope.setQuantity = function (item) {\n return _this._setQuantity(item);\n };\n\n scope.startEditingItem = function (item) {\n item.isEditing = true;\n };\n\n scope.stopEditingItem = function (item) {\n setTimeout(function () {\n item.quantity = item.savedQuantity;\n item.isEditing = false;\n _scope2.default.apply(_this._scope);\n }, 200);\n };\n\n scope.isStealthUserMode = this._session.getStealthUserMode();\n scope.showClearButtonCart = function () {\n return _this._showClearButtonCart();\n };\n scope.isGeneralMillsPOC = false;\n }\n\n _createClass(CartController, [{\n key: '$onInit',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n var _this2 = this;\n\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n this._rootScope.storeWindowTitle = 'client.header.group_cart';\n _context7.next = 3;\n return this._messageService.showLoadingWhiteBackground();\n\n case 3:\n this._scope.loading = _context7.sent;\n _context7.next = 6;\n return this._configurationService.getItem('retailer');\n\n case 6:\n this._retailer = _context7.sent;\n\n this._scope.isGeneralMillsPOC = this._retailer && _CommonConstants2.default.GENERAL_MILLS_POC.some(function (poc) {\n return _this2._retailer.name.indexOf(poc) > -1;\n });\n\n if (!this._rootScope.safariWarningIsShowing) {\n _context7.next = 11;\n break;\n }\n\n _context7.next = 11;\n return this._rootScope.displaySafariWarning();\n\n case 11:\n if (!(_utils.utils.hash.indexOf('#/invite/') > -1)) {\n _context7.next = 21;\n break;\n }\n\n this._rootScope.$on(_CommonConstants2.default.Events.INVITATION_ACCEPTED, _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this2.resetCartToEmpty();\n _scope2.default.apply(_this2._scope);\n _context.next = 4;\n return _this2._onCartChanged();\n\n case 4:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this2);\n })));\n\n this._rootScope.$on(_CommonConstants2.default.Events.INVITATION_FAILED_DUE_TO_CART_CLOSED, _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _this2.$onInit();\n\n case 2:\n return _context2.abrupt('return', _context2.sent);\n\n case 3:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this2);\n })));\n\n _context7.next = 16;\n return this._session.loggedIn();\n\n case 16:\n if (!_context7.sent) {\n _context7.next = 21;\n break;\n }\n\n this.resetCartToEmpty();\n _scope2.default.apply(this._scope);\n _context7.next = 21;\n return this._onCartChanged();\n\n case 21:\n _context7.next = 23;\n return this._getAndSetupCart();\n\n case 23:\n\n if (this._scope.loading) {\n this._scope.loading.close();\n this._scope.loading = null;\n }\n _scope2.default.apply(this._scope);\n\n this._scope.$on(_CommonConstants2.default.RootEvents.CART_CHANGED, function () {\n return _this2._onCartChanged();\n });\n\n this._scope.$on(_CommonConstants2.default.Events.WINDOW_STATE_CHANGED, _.debounce(function (scope, windowState) {\n return _this2.onWindowStateChanged(windowState);\n }, 200));\n\n this._scope.$on(_CommonConstants2.default.Events.ORDER_CANCELLED, _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _this2.resetCartToEmpty();\n _scope2.default.apply(_this2._scope);\n _context3.next = 4;\n return _this2._onCartChanged();\n\n case 4:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, _this2);\n })));\n\n this._scope.$on(_CommonConstants2.default.Events.ORDER_CANCELLED_BY_OWNER, _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _this2.resetCartToEmpty();\n _scope2.default.apply(_this2._scope);\n\n case 2:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, _this2);\n })));\n\n this._scope.$on(_CommonConstants2.default.Events.ORDER_CLEARED_BY_OWNER, _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _this2.resetCartToEmpty();\n _scope2.default.apply(_this2._scope);\n\n case 2:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, _this2);\n })));\n\n this._scope.$on(_CommonConstants2.default.Events.ORDER_CHECKED_OUT, _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _this2.resetCartToEmpty();\n _scope2.default.apply(_this2._scope);\n\n case 2:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, _this2);\n })));\n\n case 31:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function $onInit() {\n return _ref.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: '_showClearButtonCart',\n value: function _showClearButtonCart() {\n return this._retailer && this._retailer.retailerType !== 'Shopify';\n }\n }, {\n key: '_shouldShowStartIndividualPaymentButton',\n value: function _shouldShowStartIndividualPaymentButton() {\n if (this._scope.cart) {\n if (this._rootScope.retailer.cartonomyMode === _CommonConstants2.default.CartonomyMode.marketing) {\n return this._scope.cart.cartStatus === 'OPEN' && (0, _moment2.default)().isAfter((0, _moment2.default)(this._scope.cart.closeOn));\n }\n if (this._scope.cart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.MIXED || this._scope.cart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.FULL_MIXED || this._scope.cart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.SELF) {\n return this._scope.cart.cartStatus === 'OPEN';\n }\n }\n\n return false;\n }\n }, {\n key: '_shouldShowPayButton',\n value: function _shouldShowPayButton() {\n if (this._scope.cart) {\n if (this._scope.cart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.MIXED || this._scope.cart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.FULL_MIXED || this._scope.cart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.SELF) {\n return this._scope.isOwner ? this._scope.cart.cartStatus === 'OWNER_CHECKING_OUT' : this._scope.cart.cartStatus === 'CHECKING_OUT';\n }\n }\n\n return (!this._scope.isGroupOrder || this._scope.payAllowed) && !this._scope.paymentAuthorized;\n }\n }, {\n key: '_clearCart',\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n var confirmed;\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.order.remove_confirm'), '', this.$translate.instant('client.yes'), this.$translate.instant('client.no'), 'md-warn');\n\n case 2:\n confirmed = _context8.sent;\n\n if (confirmed) {\n _context8.next = 5;\n break;\n }\n\n return _context8.abrupt('return', null);\n\n case 5:\n _context8.prev = 5;\n _context8.next = 8;\n return this._cartService.clearCart();\n\n case 8:\n this._scope.items = [];\n this.resetCartToEmpty();\n _context8.next = 15;\n break;\n\n case 12:\n _context8.prev = 12;\n _context8.t0 = _context8['catch'](5);\n\n this._messageService.showErrorPopupForResponse(_context8.t0);\n\n case 15:\n\n _scope2.default.apply(this._scope);\n\n case 16:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this, [[5, 12]]);\n }));\n\n function _clearCart() {\n return _ref8.apply(this, arguments);\n }\n\n return _clearCart;\n }()\n }, {\n key: '_cancelOrder',\n value: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n var confirmed, stateToGo;\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.order.group_cancel_confirm'), '', this.$translate.instant('client.yes'), this.$translate.instant('client.no'), 'md-warn');\n\n case 2:\n confirmed = _context9.sent;\n\n if (confirmed) {\n _context9.next = 5;\n break;\n }\n\n return _context9.abrupt('return', null);\n\n case 5:\n if (!(this._scope.cart.cartStatus === \"CHECKING_OUT\" || this._participants.some(function (p) {\n return p.paymentStatus === 1 && p.status !== 'OWNER' && p.items && p.items.length;\n }))) {\n _context9.next = 9;\n break;\n }\n\n _context9.next = 8;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.order.payment_done_cancel_confirm'));\n\n case 8:\n confirmed = _context9.sent;\n\n case 9:\n if (confirmed) {\n _context9.next = 11;\n break;\n }\n\n return _context9.abrupt('return', null);\n\n case 11:\n _context9.prev = 11;\n _context9.next = 14;\n return this._cartService.deleteCart();\n\n case 14:\n _context9.next = 16;\n return this._cartService.resetCartInvitationType();\n\n case 16:\n this._rootScope.$broadcast(_CommonConstants2.default.Events.ORDER_CANCELLED);\n\n stateToGo = this._cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CART : _CommonConstants2.default.RoutingStates.CATALOG;\n\n this._state.go(stateToGo);\n _context9.next = 24;\n break;\n\n case 21:\n _context9.prev = 21;\n _context9.t0 = _context9['catch'](11);\n\n this._messageService.showErrorPopupForResponse(_context9.t0);\n\n case 24:\n\n _scope2.default.apply(this._scope);\n\n case 25:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, this, [[11, 21]]);\n }));\n\n function _cancelOrder() {\n return _ref9.apply(this, arguments);\n }\n\n return _cancelOrder;\n }()\n }, {\n key: 'onWindowStateChanged',\n value: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10(windowState) {\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n if (!(windowState === _CommonConstants2.default.WindowMode.maximized && this._scope.isCart())) {\n _context10.next = 3;\n break;\n }\n\n _context10.next = 3;\n return this._checkOrderAvailable();\n\n case 3:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function onWindowStateChanged(_x) {\n return _ref10.apply(this, arguments);\n }\n\n return onWindowStateChanged;\n }()\n }, {\n key: '_onCartChanged',\n value: function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {\n var _this3 = this;\n\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n if (this._cartChangeTimeout) {\n clearTimeout(this._cartChangeTimeout);\n }\n\n this._cartChangeTimeout = setTimeout(function () {\n clearTimeout(_this3._cartChangeTimeout);\n _this3._getAndSetupCart().then(function () {\n _this3.quantityUpdating = false;\n _scope2.default.apply(_this3._scope);\n });\n }, 500);\n\n case 2:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function _onCartChanged() {\n return _ref11.apply(this, arguments);\n }\n\n return _onCartChanged;\n }()\n }, {\n key: '_checkOrderAvailable',\n value: function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {\n var _this4 = this;\n\n var orderExists, isUserLoggedIn, cart, cartOwner;\n return regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n orderExists = false;\n\n if (!this._cartonomyConfig.externalStoreMode) {\n _context12.next = 19;\n break;\n }\n\n if (!this._orderSetupService.invitationPromise) {\n _context12.next = 5;\n break;\n }\n\n _context12.next = 5;\n return this._orderSetupService.invitationPromise;\n\n case 5:\n _context12.next = 7;\n return this._session.loggedIn();\n\n case 7:\n isUserLoggedIn = _context12.sent;\n\n if (!(!isUserLoggedIn && !(_utils.utils.hash.indexOf('#/invite/') > -1))) {\n _context12.next = 11;\n break;\n }\n\n _context12.next = 11;\n return this._authenticationService.showLoginDialog('', 'facade', true);\n\n case 11:\n _context12.next = 13;\n return this._cartService.isGroupOrder();\n\n case 13:\n orderExists = _context12.sent;\n\n if (orderExists) {\n _context12.next = 19;\n break;\n }\n\n _context12.next = 17;\n return this._orderSetupService.createOrder();\n\n case 17:\n if (_context12.sent) {\n _context12.next = 19;\n break;\n }\n\n return _context12.abrupt('return');\n\n case 19:\n _context12.next = 21;\n return this._cartService.getCart();\n\n case 21:\n cart = _context12.sent;\n _context12.next = 24;\n return this._cartService.isGroupOrder();\n\n case 24:\n orderExists = _context12.sent;\n\n if (!(cart && orderExists)) {\n _context12.next = 31;\n break;\n }\n\n cartOwner = _.find(cart.participants, function (participant) {\n return participant.status === 'OWNER' || _this4._scope.isStealthUserMode && participant.status === 'REMOVED';\n });\n\n if (this._retailer.customCartNames === '1' && cart.cartName && cart.cartName !== this.$translate.instant(_CommonConstants2.default.CART_NAME_DEFAULT_VALUE)) this._scope.cartOwnerBtn = this.$translate.instant(_utils.utils.compileMyCartButtonText(cart.cartName), { user: cart.cartName });else this._scope.cartOwnerBtn = this.$translate.instant('client.add_to') + ' ' + this.toPossessiveString(cartOwner && cartOwner.name) + ' ' + this.$translate.instant('client.header.group_cart');\n\n this._scope.recentlyAddedProduct = this._rootScope.addingProduct && this._rootScope.addingProduct.variantId;\n _context12.next = 31;\n return this._setupCart(cart);\n\n case 31:\n case 'end':\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function _checkOrderAvailable() {\n return _ref12.apply(this, arguments);\n }\n\n return _checkOrderAvailable;\n }()\n }, {\n key: 'toPossessiveString',\n value: function toPossessiveString(name) {\n if (name[name.length - 1] == 's') {\n return name + '\\'';\n }\n\n return name + '\\'s';\n }\n }, {\n key: '_setQuantity',\n value: function () {\n var _ref13 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13(item, recursiveChangeValue) {\n return regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n if (!(item < 1)) {\n _context13.next = 2;\n break;\n }\n\n return _context13.abrupt('return');\n\n case 2:\n _context13.prev = 2;\n _context13.next = 5;\n return this._updateItem(item);\n\n case 5:\n _context13.next = 7;\n return this._updateGroups();\n\n case 7:\n _context13.next = 15;\n break;\n\n case 9:\n _context13.prev = 9;\n _context13.t0 = _context13['catch'](2);\n\n item.quantity -= recursiveChangeValue;\n _scope2.default.apply(this._scope);\n _context13.next = 15;\n return this.__setQuantityRecursively(item, recursiveChangeValue);\n\n case 15:\n case 'end':\n return _context13.stop();\n }\n }\n }, _callee13, this, [[2, 9]]);\n }));\n\n function _setQuantity(_x2, _x3) {\n return _ref13.apply(this, arguments);\n }\n\n return _setQuantity;\n }()\n }, {\n key: '__setQuantityRecursively',\n value: function () {\n var _ref14 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14(item, recursiveChangeValue) {\n return regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n if (!(item.savedQuantity === item.quantity || item.quantity < 1)) {\n _context14.next = 3;\n break;\n }\n\n this.quantityUpdating = false;\n return _context14.abrupt('return');\n\n case 3:\n _context14.prev = 3;\n _context14.next = 6;\n return this._updateItem(item);\n\n case 6:\n _context14.next = 14;\n break;\n\n case 8:\n _context14.prev = 8;\n _context14.t0 = _context14['catch'](3);\n\n item.quantity -= recursiveChangeValue;\n _scope2.default.apply(this._scope);\n _context14.next = 14;\n return this.__setQuantityRecursively(item, recursiveChangeValue);\n\n case 14:\n case 'end':\n return _context14.stop();\n }\n }\n }, _callee14, this, [[3, 8]]);\n }));\n\n function __setQuantityRecursively(_x4, _x5) {\n return _ref14.apply(this, arguments);\n }\n\n return __setQuantityRecursively;\n }()\n }, {\n key: '_updateItem',\n value: function () {\n var _ref15 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15(item) {\n return regeneratorRuntime.wrap(function _callee15$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n _context15.prev = 0;\n _context15.next = 3;\n return this._cartService.updateItem(item);\n\n case 3:\n _context15.next = 9;\n break;\n\n case 5:\n _context15.prev = 5;\n _context15.t0 = _context15['catch'](0);\n\n this._messageService.showErrorPopupForResponse(_context15.t0);\n throw _context15.t0;\n\n case 9:\n case 'end':\n return _context15.stop();\n }\n }\n }, _callee15, this, [[0, 5]]);\n }));\n\n function _updateItem(_x6) {\n return _ref15.apply(this, arguments);\n }\n\n return _updateItem;\n }()\n }, {\n key: '_quantityKeyPressed',\n value: function _quantityKeyPressed($event) {\n if ($event.which !== 13) {\n return;\n }\n\n $event.target.blur();\n }\n }, {\n key: '_deleteItem',\n value: function () {\n var _ref16 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16(item) {\n var i;\n return regeneratorRuntime.wrap(function _callee16$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n _context16.prev = 0;\n _context16.next = 3;\n return this._cartService.deleteItem(item.id);\n\n case 3:\n i = 0;\n\n case 4:\n if (!(i < this._scope.items.length)) {\n _context16.next = 11;\n break;\n }\n\n if (!(this._scope.items[i].id === item.id)) {\n _context16.next = 8;\n break;\n }\n\n this._scope.items.splice(i, 1);\n return _context16.abrupt('break', 11);\n\n case 8:\n i++;\n _context16.next = 4;\n break;\n\n case 11:\n _context16.next = 13;\n return this._updateGroups();\n\n case 13:\n _context16.next = 18;\n break;\n\n case 15:\n _context16.prev = 15;\n _context16.t0 = _context16['catch'](0);\n\n this._messageService.showErrorPopupForResponse(_context16.t0);\n\n case 18:\n case 'end':\n return _context16.stop();\n }\n }\n }, _callee16, this, [[0, 15]]);\n }));\n\n function _deleteItem(_x7) {\n return _ref16.apply(this, arguments);\n }\n\n return _deleteItem;\n }()\n }, {\n key: '_updateGroups',\n value: function () {\n var _ref17 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee17() {\n var recentUpdated;\n return regeneratorRuntime.wrap(function _callee17$(_context17) {\n while (1) {\n switch (_context17.prev = _context17.next) {\n case 0:\n if (this._scope.items.length) {\n recentUpdated = _.maxBy(this._scope.items, function (item) {\n return item.recordedOn;\n });\n\n\n if (recentUpdated) recentUpdated.recentlyUpdated = true;\n }\n\n _context17.next = 3;\n return this._cartGroupsService.groupItems(this._scope.items, this._participants);\n\n case 3:\n this._scope.groups = _context17.sent;\n\n this._scope.myTab = _.find(this._scope.groups, { myTab: true });\n this._scope.groupSpending = _.sumBy(this._scope.groups, function (group) {\n return group.subtotal;\n });\n if (this._scope.myTab && this._scope.cart) {\n this._scope.myTapDiscounted = this._scope.myTab.subtotal - this._scope.cart.cartDiscount;\n }\n\n _scope2.default.apply(this._scope);\n\n case 8:\n case 'end':\n return _context17.stop();\n }\n }\n }, _callee17, this);\n }));\n\n function _updateGroups() {\n return _ref17.apply(this, arguments);\n }\n\n return _updateGroups;\n }()\n }, {\n key: '_getAndSetupCart',\n value: function () {\n var _ref18 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee18() {\n return regeneratorRuntime.wrap(function _callee18$(_context18) {\n while (1) {\n switch (_context18.prev = _context18.next) {\n case 0:\n _context18.next = 2;\n return this._checkOrderAvailable();\n\n case 2:\n _scope2.default.apply(this._scope);\n\n case 3:\n case 'end':\n return _context18.stop();\n }\n }\n }, _callee18, this);\n }));\n\n function _getAndSetupCart() {\n return _ref18.apply(this, arguments);\n }\n\n return _getAndSetupCart;\n }()\n }, {\n key: 'resetCartToEmpty',\n value: function resetCartToEmpty() {\n this._scope.groups = null;\n this._scope.myTab = null;\n this._scope.groupSpending = null;\n this._scope.myTapDiscounted = null;\n }\n }, {\n key: '_setupCart',\n value: function () {\n var _ref19 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee19(cart) {\n var _this5 = this;\n\n var currentUser, currentParticipant;\n return regeneratorRuntime.wrap(function _callee19$(_context19) {\n while (1) {\n switch (_context19.prev = _context19.next) {\n case 0:\n if (cart) {\n _context19.next = 3;\n break;\n }\n\n this.resetCartToEmpty();\n return _context19.abrupt('return');\n\n case 3:\n\n this._scope.groupAllowance = cart.orderLimit;\n _context19.next = 6;\n return this._cartService.isGroupOrder(cart);\n\n case 6:\n this._scope.isGroupOrder = _context19.sent;\n\n this._scope.cart = cart;\n _context19.next = 10;\n return this._cartService.getCart();\n\n case 10:\n this._scope.cart = _context19.sent;\n _context19.next = 13;\n return this._cartService.isGroupOrder();\n\n case 13:\n this._scope.orderExists = _context19.sent;\n\n if (cart.closeOn) {\n _context19.next = 18;\n break;\n }\n\n this._scope.orderDeadline = this.$translate.instant('client.order.deadline') + ': ' + this.$translate.instant('client.none');\n _context19.next = 28;\n break;\n\n case 18:\n if (!_moment2.default.utc(cart.closeOn).isBefore((0, _moment2.default)())) {\n _context19.next = 27;\n break;\n }\n\n this._scope.orderDeadline = this.$translate.instant('client.order.deadline') + ': ' + this.$translate.instant('client.order.closed_br') + '
';\n _context19.next = 22;\n return this._session.getUserEmail();\n\n case 22:\n currentUser = _context19.sent;\n currentParticipant = _.find(cart.participants, function (participant) {\n return participant.email == currentUser;\n });\n\n if (currentParticipant && currentParticipant.status === \"OWNER\") {\n this._scope.orderDeadline += '' + this.$translate.instant('client.order.deadline_open');\n }\n _context19.next = 28;\n break;\n\n case 27:\n this._scope.orderDeadline = this.$translate.instant('client.order.deadline') + ': ' + (0, _moment2.default)().to(_moment2.default.utc(cart.closeOn));\n\n case 28:\n _context19.next = 30;\n return this._cartService.isOwner(cart);\n\n case 30:\n this._scope.isOwner = _context19.sent;\n\n this._scope.canDeleteItem = this._retailer.cartonomyMode !== _CommonConstants2.default.CartonomyMode.marketing;\n this._scope.marketingMode = this._retailer.cartonomyMode === _CommonConstants2.default.CartonomyMode.marketing;\n\n this._scope.items = _.cloneDeep(cart.items);\n this._scope._itemsCount = _.sumBy(this._scope.items, function (item) {\n return item.quantity;\n });\n this._participants = cart.participants;\n _context19.next = 38;\n return this._checkoutService.paymentAuthorizedOrCaptured();\n\n case 38:\n this._scope.paymentAuthorized = _context19.sent;\n\n\n this._participants.forEach(function (participant) {\n participant.items = _this5._scope.items.filter(function (item) {\n return item.participantEmail === participant.email;\n });\n });\n\n this._scope.awaitPayment = this._participants.filter(function (p) {\n return p.paymentStatus === 0 && p.status !== 'OWNER' && p.items.length;\n }).length;\n\n if (cart.cartStatus === 'CHECKING_OUT') {\n this._scope.paymentStatusMessage = this._scope.awaitPayment === 0 ? this.$translate.instant('client.order.checkout_complete') : this._scope.awaitPayment + ' ' + (this._scope.awaitPayment > 1 ? this.$translate.instant('client.order.people_need') : this.$translate.instant('client.order.people_needs')) + ' ' + this.$translate.instant('client.order.to_pay');\n }\n\n if (cart.cartStatus === 'OPEN') {\n this._scope.isAllowChangeQuantity = true;\n }\n\n this._scope.groupPay = cart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.MULTIPLE;\n\n if (this._scope.groupPay) {\n this._scope.payAllowed = true;\n } else if (!this._scope.isGroupOrder) {\n this._scope.payAllowed = true;\n } else {\n this._scope.payAllowed = this._scope.isOwner && !this._scope.paymentAuthorized;\n }\n\n _.each(this._scope.items, function (item) {\n item.savedQuantity = item.quantity;\n if (!item.catalogProductImage) {\n item.catalogProductImage = _CommonConstants2.default.DEFAULT_PRODUCT_IMAGE;\n }\n });\n\n _context19.next = 48;\n return this._updateGroups();\n\n case 48:\n case 'end':\n return _context19.stop();\n }\n }\n }, _callee19, this);\n }));\n\n function _setupCart(_x8) {\n return _ref19.apply(this, arguments);\n }\n\n return _setupCart;\n }()\n }, {\n key: '_leaveOrder',\n value: function () {\n var _ref20 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee20() {\n var confirmed;\n return regeneratorRuntime.wrap(function _callee20$(_context20) {\n while (1) {\n switch (_context20.prev = _context20.next) {\n case 0:\n _context20.next = 2;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.order.leave_order'), '', this.$translate.instant('client.yes'), this.$translate.instant('client.no'), 'md-warn');\n\n case 2:\n confirmed = _context20.sent;\n\n if (confirmed) {\n _context20.next = 5;\n break;\n }\n\n return _context20.abrupt('return', null);\n\n case 5:\n _context20.prev = 5;\n _context20.next = 8;\n return this._cartService.leaveCart();\n\n case 8:\n this._scope.overlayOpened = false;\n\n if (!this._cartonomyConfig.externalStoreMode) {\n _context20.next = 14;\n break;\n }\n\n _context20.next = 12;\n return this._rootScope.$broadcast(_CommonConstants2.default.Events.LEFT_ORDER);\n\n case 12:\n _context20.next = 15;\n break;\n\n case 14:\n this._state.go(_CommonConstants2.default.RoutingStates.CATALOG);\n\n case 15:\n\n this._messageService.showErrorPopup(this.$translate.instant('client.order.left_order'));\n _context20.next = 23;\n break;\n\n case 18:\n _context20.prev = 18;\n _context20.t0 = _context20['catch'](5);\n\n this._scope.overlayOpened = false;\n _scope2.default.apply(this._scope);\n this._messageService.showErrorPopupForResponse(_context20.t0);\n\n case 23:\n case 'end':\n return _context20.stop();\n }\n }\n }, _callee20, this, [[5, 18]]);\n }));\n\n function _leaveOrder() {\n return _ref20.apply(this, arguments);\n }\n\n return _leaveOrder;\n }()\n }, {\n key: '_separatePayments',\n value: function () {\n var _ref21 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee21() {\n var confirmed;\n return regeneratorRuntime.wrap(function _callee21$(_context21) {\n while (1) {\n switch (_context21.prev = _context21.next) {\n case 0:\n _context21.next = 2;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.cart.proceed_with_email'), '', this.$translate.instant('client.yes'), this.$translate.instant('client.no'), 'md-warn');\n\n case 2:\n confirmed = _context21.sent;\n\n if (confirmed) {\n _context21.next = 5;\n break;\n }\n\n return _context21.abrupt('return', null);\n\n case 5:\n _context21.next = 7;\n return this._cartService.checkOutCart();\n\n case 7:\n this._rootScope.$broadcast(_CommonConstants2.default.RootEvents.CART_CHANGED);\n\n case 8:\n case 'end':\n return _context21.stop();\n }\n }\n }, _callee21, this);\n }));\n\n function _separatePayments() {\n return _ref21.apply(this, arguments);\n }\n\n return _separatePayments;\n }()\n\n /**\r\n * Check out by owner only\r\n */\n\n }, {\n key: '_startCheckoutProcess',\n value: function () {\n var _ref22 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee22(userId) {\n var retailer;\n return regeneratorRuntime.wrap(function _callee22$(_context22) {\n while (1) {\n switch (_context22.prev = _context22.next) {\n case 0:\n if (!(this._scope.cart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.FULL_MIXED && this._scope.isOwner && !userId)) {\n _context22.next = 3;\n break;\n }\n\n this._state.go(_CommonConstants2.default.RoutingStates.CHECKOUT_FULL_MIXED);\n return _context22.abrupt('return');\n\n case 3:\n if (this._cartonomyConfig.externalStoreMode) {\n _context22.next = 7;\n break;\n }\n\n this._state.go(_CommonConstants2.default.RoutingStates.CHECKOUT);\n _context22.next = 33;\n break;\n\n case 7:\n _context22.prev = 7;\n _context22.next = 10;\n return this._configurationService.getItem('retailer');\n\n case 10:\n retailer = _context22.sent;\n\n if (!(retailer.retailerType === 'Amazon')) {\n _context22.next = 16;\n break;\n }\n\n _context22.next = 14;\n return this._amazonCheckout();\n\n case 14:\n _context22.next = 28;\n break;\n\n case 16:\n if (!(retailer.retailerType === 'Walmart')) {\n _context22.next = 21;\n break;\n }\n\n _context22.next = 19;\n return this._walmartCheckout();\n\n case 19:\n _context22.next = 28;\n break;\n\n case 21:\n if (!(retailer.retailerType === 'Freshop')) {\n _context22.next = 26;\n break;\n }\n\n _context22.next = 24;\n return this._freshopCheckout();\n\n case 24:\n _context22.next = 28;\n break;\n\n case 26:\n _context22.next = 28;\n return this._shopifyCheckout(userId);\n\n case 28:\n _context22.next = 33;\n break;\n\n case 30:\n _context22.prev = 30;\n _context22.t0 = _context22['catch'](7);\n\n this._messageService.showErrorPopupForResponse(_context22.t0);\n\n case 33:\n this._rootScope.$broadcast(_CommonConstants2.default.RootEvents.CART_CHANGED);\n\n case 34:\n case 'end':\n return _context22.stop();\n }\n }\n }, _callee22, this, [[7, 30]]);\n }));\n\n function _startCheckoutProcess(_x9) {\n return _ref22.apply(this, arguments);\n }\n\n return _startCheckoutProcess;\n }()\n\n /**\r\n * Check out for mixed mode - pay personally\r\n */\n\n }, {\n key: '_payMyTab',\n value: function () {\n var _ref23 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee23() {\n var retailer;\n return regeneratorRuntime.wrap(function _callee23$(_context23) {\n while (1) {\n switch (_context23.prev = _context23.next) {\n case 0:\n if (this._cartonomyConfig.externalStoreMode) {\n _context23.next = 4;\n break;\n }\n\n this._state.go(_CommonConstants2.default.RoutingStates.CHECKOUT);\n _context23.next = 30;\n break;\n\n case 4:\n _context23.prev = 4;\n _context23.next = 7;\n return this._configurationService.getItem('retailer');\n\n case 7:\n retailer = _context23.sent;\n\n if (!(retailer.retailerType === 'Amazon')) {\n _context23.next = 13;\n break;\n }\n\n _context23.next = 11;\n return this._amazonCheckout();\n\n case 11:\n _context23.next = 25;\n break;\n\n case 13:\n if (!(retailer.retailerType === 'Walmart')) {\n _context23.next = 18;\n break;\n }\n\n _context23.next = 16;\n return this._walmartCheckout();\n\n case 16:\n _context23.next = 25;\n break;\n\n case 18:\n if (!(retailer.retailerType === 'Freshop')) {\n _context23.next = 23;\n break;\n }\n\n _context23.next = 21;\n return this._freshopCheckout();\n\n case 21:\n _context23.next = 25;\n break;\n\n case 23:\n _context23.next = 25;\n return this._shopifyCheckout();\n\n case 25:\n _context23.next = 30;\n break;\n\n case 27:\n _context23.prev = 27;\n _context23.t0 = _context23['catch'](4);\n\n this._messageService.showErrorPopupForResponse(_context23.t0);\n\n case 30:\n case 'end':\n return _context23.stop();\n }\n }\n }, _callee23, this, [[4, 27]]);\n }));\n\n function _payMyTab() {\n return _ref23.apply(this, arguments);\n }\n\n return _payMyTab;\n }()\n }, {\n key: '_canCancelOrder',\n value: function _canCancelOrder() {\n return this._scope.cart && this._scope.isOwner;\n }\n }, {\n key: '_amazonCheckout',\n value: function () {\n var _ref24 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee24() {\n var loadingDialog, amazonCheckoutInfo;\n return regeneratorRuntime.wrap(function _callee24$(_context24) {\n while (1) {\n switch (_context24.prev = _context24.next) {\n case 0:\n _context24.next = 2;\n return this._messageService.showLoading();\n\n case 2:\n loadingDialog = _context24.sent;\n _context24.next = 5;\n return this._checkoutService.getAmazonCheckoutInfo();\n\n case 5:\n amazonCheckoutInfo = _context24.sent;\n _context24.next = 8;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.checkoutCart, {\n cartInfo: amazonCheckoutInfo.cartInfo,\n checkoutUrl: amazonCheckoutInfo.url\n });\n\n case 8:\n\n loadingDialog.close();\n\n case 9:\n case 'end':\n return _context24.stop();\n }\n }\n }, _callee24, this);\n }));\n\n function _amazonCheckout() {\n return _ref24.apply(this, arguments);\n }\n\n return _amazonCheckout;\n }()\n }, {\n key: '_shopifyCheckout',\n value: function () {\n var _ref25 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee25(userId) {\n var loadingDialog, shopifyCheckoutInfo, myCartItems, continueCheckout, existingShopifyCartItems, hasMyCartItems, continueCheckoutWhenMatch, _continueCheckout, checkoutResult;\n\n return regeneratorRuntime.wrap(function _callee25$(_context25) {\n while (1) {\n switch (_context25.prev = _context25.next) {\n case 0:\n _context25.next = 2;\n return this._messageService.showLoading();\n\n case 2:\n loadingDialog = _context25.sent;\n _context25.prev = 3;\n _context25.next = 6;\n return this._checkoutService.getShopifyCheckoutInfo(userId);\n\n case 6:\n shopifyCheckoutInfo = _context25.sent;\n myCartItems = shopifyCheckoutInfo.cartInfo.cartItems;\n\n if (!shopifyCheckoutInfo.warningInfo) {\n _context25.next = 18;\n break;\n }\n\n loadingDialog.close();\n _context25.next = 12;\n return this._messageService.showQuestionPopup(shopifyCheckoutInfo.warningInfo, '', this.$translate.instant('client.cart.continue_checkout'), this.$translate.instant('client.cart.checkout_review'));\n\n case 12:\n continueCheckout = _context25.sent;\n\n if (continueCheckout) {\n _context25.next = 15;\n break;\n }\n\n return _context25.abrupt('return');\n\n case 15:\n _context25.next = 17;\n return this._messageService.showLoading();\n\n case 17:\n loadingDialog = _context25.sent;\n\n case 18:\n _context25.next = 20;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.checkCartItems, {});\n\n case 20:\n existingShopifyCartItems = _context25.sent;\n hasMyCartItems = existingShopifyCartItems.data.items.some(function (item) {\n return myCartItems.some(function (myCart) {\n return item.id === myCart.id;\n });\n });\n\n if (!(existingShopifyCartItems.data.item_count > 0)) {\n _context25.next = 44;\n break;\n }\n\n if (!hasMyCartItems) {\n _context25.next = 35;\n break;\n }\n\n loadingDialog.close();\n _context25.next = 27;\n return this._cartService.confirmContinueCheckoutWhenMatchCartItems();\n\n case 27:\n continueCheckoutWhenMatch = _context25.sent;\n\n if (continueCheckoutWhenMatch) {\n _context25.next = 30;\n break;\n }\n\n return _context25.abrupt('return');\n\n case 30:\n _context25.next = 32;\n return this._messageService.showLoading();\n\n case 32:\n loadingDialog = _context25.sent;\n _context25.next = 44;\n break;\n\n case 35:\n loadingDialog.close();\n _context25.next = 38;\n return this._cartService.confirmContinueCheckout();\n\n case 38:\n _continueCheckout = _context25.sent;\n\n if (_continueCheckout) {\n _context25.next = 41;\n break;\n }\n\n return _context25.abrupt('return');\n\n case 41:\n _context25.next = 43;\n return this._messageService.showLoading();\n\n case 43:\n loadingDialog = _context25.sent;\n\n case 44:\n _context25.next = 46;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.checkoutCart, {\n cartInfo: shopifyCheckoutInfo.cartInfo\n });\n\n case 46:\n checkoutResult = _context25.sent;\n\n\n if (!checkoutResult.success) {\n loadingDialog.close();\n this._messageService.showErrorPopup(checkoutResult.errorMessage);\n } else {\n loadingDialog.close();\n }\n _context25.next = 53;\n break;\n\n case 50:\n _context25.prev = 50;\n _context25.t0 = _context25['catch'](3);\n\n this._messageService.showErrorPopupForResponse(_context25.t0);\n\n case 53:\n _context25.prev = 53;\n\n loadingDialog.close();\n return _context25.finish(53);\n\n case 56:\n case 'end':\n return _context25.stop();\n }\n }\n }, _callee25, this, [[3, 50, 53, 56]]);\n }));\n\n function _shopifyCheckout(_x10) {\n return _ref25.apply(this, arguments);\n }\n\n return _shopifyCheckout;\n }()\n }, {\n key: '_walmartCheckout',\n value: function () {\n var _ref26 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee26() {\n var loadingDialog, walmartCheckoutInfo, myCartItems, checkoutResult;\n return regeneratorRuntime.wrap(function _callee26$(_context26) {\n while (1) {\n switch (_context26.prev = _context26.next) {\n case 0:\n _context26.next = 2;\n return this._messageService.showLoading();\n\n case 2:\n loadingDialog = _context26.sent;\n _context26.next = 5;\n return this._checkoutService.getWalmartCheckoutInfo();\n\n case 5:\n walmartCheckoutInfo = _context26.sent;\n myCartItems = walmartCheckoutInfo.cartInfo;\n _context26.next = 9;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.checkoutCart, {\n cartItems: myCartItems\n });\n\n case 9:\n checkoutResult = _context26.sent;\n\n if (checkoutResult.success) {\n _context26.next = 16;\n break;\n }\n\n loadingDialog.close();\n _context26.next = 14;\n return this._messageService.showErrorPopup(checkoutResult.errorMessage);\n\n case 14:\n _context26.next = 17;\n break;\n\n case 16:\n loadingDialog.close();\n\n case 17:\n case 'end':\n return _context26.stop();\n }\n }\n }, _callee26, this);\n }));\n\n function _walmartCheckout() {\n return _ref26.apply(this, arguments);\n }\n\n return _walmartCheckout;\n }()\n }, {\n key: '_freshopCheckout',\n value: function () {\n var _ref27 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee27() {\n var loadingDialog, freshopCheckoutInfo, myCartItems, isItemsResp, continueCheckout, checkoutResult;\n return regeneratorRuntime.wrap(function _callee27$(_context27) {\n while (1) {\n switch (_context27.prev = _context27.next) {\n case 0:\n _context27.next = 2;\n return this._messageService.showLoading();\n\n case 2:\n loadingDialog = _context27.sent;\n _context27.next = 5;\n return this._checkoutService.getFreshopCheckoutInfo();\n\n case 5:\n freshopCheckoutInfo = _context27.sent;\n myCartItems = freshopCheckoutInfo.cartInfo;\n _context27.next = 9;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.checkCartItems, {});\n\n case 9:\n isItemsResp = _context27.sent;\n\n if (isItemsResp.success) {\n _context27.next = 16;\n break;\n }\n\n _context27.next = 13;\n return this._cartService.confirmContinueCheckout('Freshop');\n\n case 13:\n continueCheckout = _context27.sent;\n\n if (continueCheckout) {\n _context27.next = 16;\n break;\n }\n\n return _context27.abrupt('return');\n\n case 16:\n _context27.next = 18;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.checkoutCart, {\n cartItems: myCartItems,\n storeId: this._scope.cart.retailerStoreId\n });\n\n case 18:\n checkoutResult = _context27.sent;\n\n if (checkoutResult.success) {\n _context27.next = 25;\n break;\n }\n\n loadingDialog.close();\n _context27.next = 23;\n return this._messageService.showErrorPopup(checkoutResult.errorMessage);\n\n case 23:\n _context27.next = 26;\n break;\n\n case 25:\n loadingDialog.close();\n\n case 26:\n case 'end':\n return _context27.stop();\n }\n }\n }, _callee27, this);\n }));\n\n function _freshopCheckout() {\n return _ref27.apply(this, arguments);\n }\n\n return _freshopCheckout;\n }()\n }, {\n key: '_toggleCollapse',\n value: function _toggleCollapse(group) {\n this._scope.groupsCollapses[group.participant.userId] = !this._scope.groupsCollapses[group.participant.userId];\n }\n }, {\n key: '_updateQuantity',\n value: function () {\n var _ref28 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee29($event, item, updateValue) {\n var _this6 = this;\n\n return regeneratorRuntime.wrap(function _callee29$(_context29) {\n while (1) {\n switch (_context29.prev = _context29.next) {\n case 0:\n if (this.qtyChangeTimeout) {\n clearTimeout(this.qtyChangeTimeout);\n } else {\n item.savedQuantity = item.quantity;\n }\n\n if (!this.quantityUpdating) {\n _context29.next = 3;\n break;\n }\n\n return _context29.abrupt('return');\n\n case 3:\n\n item.quantity += updateValue;\n\n this.qtyChangeTimeout = setTimeout(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee28() {\n return regeneratorRuntime.wrap(function _callee28$(_context28) {\n while (1) {\n switch (_context28.prev = _context28.next) {\n case 0:\n _this6.quantityUpdating = true;\n _context28.next = 3;\n return _this6._setQuantity(item, updateValue);\n\n case 3:\n case 'end':\n return _context28.stop();\n }\n }\n }, _callee28, _this6);\n })), 1000);\n\n case 5:\n case 'end':\n return _context29.stop();\n }\n }\n }, _callee29, this);\n }));\n\n function _updateQuantity(_x11, _x12, _x13) {\n return _ref28.apply(this, arguments);\n }\n\n return _updateQuantity;\n }()\n }, {\n key: '_backToCart',\n value: function _backToCart() {\n this._state.go(_CommonConstants2.default.RoutingStates.CART);\n }\n }, {\n key: '_confirmStartCheckout',\n value: function _confirmStartCheckout() {\n this._state.go(_CommonConstants2.default.RoutingStates.START_CHECKOUT);\n }\n }, {\n key: '_copyClipboard',\n value: function () {\n var _ref30 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee30() {\n return regeneratorRuntime.wrap(function _callee30$(_context30) {\n while (1) {\n switch (_context30.prev = _context30.next) {\n case 0:\n this._cartService.copyClipboard(this._scope.invitationLink);\n\n case 1:\n case 'end':\n return _context30.stop();\n }\n }\n }, _callee30, this);\n }));\n\n function _copyClipboard() {\n return _ref30.apply(this, arguments);\n }\n\n return _copyClipboard;\n }()\n }, {\n key: '_goToOrderSetting',\n value: function () {\n var _ref31 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee31() {\n return regeneratorRuntime.wrap(function _callee31$(_context31) {\n while (1) {\n switch (_context31.prev = _context31.next) {\n case 0:\n _context31.prev = 0;\n\n this._scope.overlayOpened = false;\n _scope2.default.apply(this._scope);\n _context31.next = 5;\n return this._orderSetupService.editOrder('preview');\n\n case 5:\n _context31.next = 7;\n return this._onCartChanged();\n\n case 7:\n _context31.next = 12;\n break;\n\n case 9:\n _context31.prev = 9;\n _context31.t0 = _context31['catch'](0);\n\n this._messageService.showErrorPopupForResponse(_context31.t0);\n\n case 12:\n case 'end':\n return _context31.stop();\n }\n }\n }, _callee31, this, [[0, 9]]);\n }));\n\n function _goToOrderSetting() {\n return _ref31.apply(this, arguments);\n }\n\n return _goToOrderSetting;\n }()\n }, {\n key: '_startNewOrder',\n value: function () {\n var _ref32 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee32() {\n return regeneratorRuntime.wrap(function _callee32$(_context32) {\n while (1) {\n switch (_context32.prev = _context32.next) {\n case 0:\n _context32.next = 2;\n return this._orderSetupService.createOrder();\n\n case 2:\n case 'end':\n return _context32.stop();\n }\n }\n }, _callee32, this);\n }));\n\n function _startNewOrder() {\n return _ref32.apply(this, arguments);\n }\n\n return _startNewOrder;\n }()\n }]);\n\n return CartController;\n}();\n\nCartController.$inject = ['$scope', '$state', 'CartService', 'Session', 'AuthenticationService', 'Message', '$rootScope', 'CheckoutService', 'CartGroupsService', 'OrderSetupService', 'ConfigurationService', 'cartonomyConfig', '$timeout', 'LocalForageService', '$translate'];\nexports.default = CartController;\n\n/***/ }),\n/* 778 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar InvitedPeopleListController = function () {\n function InvitedPeopleListController(scope, cartService, dialogService, messageService, sessionService, rootScope, cartonomyConfig, stateService, HeapService, orderSetupService, configurationService, groupOrderService, $translate) {\n var _this = this;\n\n _classCallCheck(this, InvitedPeopleListController);\n\n this._scope = scope;\n this._dialogService = dialogService;\n this._cartService = cartService;\n this._messageService = messageService;\n this._rootScope = rootScope;\n this._sessionService = sessionService;\n this._cartonomyConfig = cartonomyConfig;\n this._stateService = stateService;\n this._heapService = HeapService;\n this._orderSetupService = orderSetupService;\n this._configurationService = configurationService;\n this._groupOrderService = groupOrderService;\n this.$translate = $translate;\n\n scope.searchString = '';\n scope.contacts = [];\n\n scope.clearSearch = function () {\n return _this._clearSearch();\n };\n scope.inviteMorePeople = function () {\n return _this._inviteMorePeople();\n };\n scope.filterContacts = function () {\n return _this._filterContacts();\n };\n scope.isCurrentUser = function (contact) {\n return _this._isCurrentUser(contact);\n };\n scope.resendInvitation = function (contact) {\n return _this._resendInvitation(contact);\n };\n scope.removeFromCart = function (contact) {\n return _this._removeFromCart(contact);\n };\n\n scope.makeContactGroupOwner = function (contact) {\n return _this._makeContactGroupOwner(contact);\n };\n scope.leaveOrder = function () {\n return _this._leaveOrder();\n };\n scope.cancelOrder = function () {\n return _this._cancelOrder();\n };\n scope.isLocked = function () {\n return _this.isLocked();\n };\n scope.canRemoveUser = function (contact) {\n return _this.canRemoveUser(contact);\n };\n scope.invitationLink = this._cartService.getInviteSingleLink();\n scope.invitationType = this._cartService.getInvitationType();\n scope.invitationCode = this._cartService.getInviteCode();\n scope.copyClipboard = function () {\n return _this._copyClipboard();\n };\n scope.isStealthUserMode = this._sessionService.getStealthUserMode();\n scope.marketingMode = this._rootScope.retailer.cartonomyMode === _CommonConstants2.default.CartonomyMode.marketing;\n }\n\n _createClass(InvitedPeopleListController, [{\n key: '$onInit',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var _this2 = this;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._initInvitationCode();\n\n case 2:\n _context.next = 4;\n return this._fetchParticipants();\n\n case 4:\n\n this._rootScope.storeWindowTitle = 'client.members';\n this._rootScope.$on(_CommonConstants2.default.RootEvents.CART_CHANGED, function () {\n return _this2._fetchParticipants();\n });\n this._rootScope.$on(_CommonConstants2.default.RootEvents.DELETE_CONTACT_CONFIRM_FROM_ADDMORE_PEOPLE, function (scope, contact) {\n return _this2._onDialogDeleteContact(scope, contact);\n });\n _scope2.default.apply(this._scope);\n\n case 8:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function $onInit() {\n return _ref.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: '_fetchParticipants',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var _this3 = this;\n\n var participants;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context2.sent) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt('return');\n\n case 4:\n _context2.next = 6;\n return this._sessionService.getUserEmail();\n\n case 6:\n this.currentUserEmail = _context2.sent;\n\n if (!this._scope.isStealthUserMode) {\n _context2.next = 11;\n break;\n }\n\n this._cartService.getCart().then(function (cart) {\n _this3.cart = cart;\n _this3._cartService.isOwner(cart).then(function (isOwner) {\n _this3._scope.isOwner = isOwner;\n });\n var participants = cart.participants;\n _this3._onReceivedParticipants(participants);\n });\n _context2.next = 25;\n break;\n\n case 11:\n this._cartService.getCart().then(function (cart) {\n _this3.cart = cart;\n _this3._cartService.isOwner(cart).then(function (isOwner) {\n _this3._scope.isOwner = isOwner;\n });\n });\n\n _context2.prev = 12;\n _context2.next = 15;\n return this._cartService.getParticipants();\n\n case 15:\n participants = _context2.sent;\n\n this._onReceivedParticipants(participants);\n _context2.next = 22;\n break;\n\n case 19:\n _context2.prev = 19;\n _context2.t0 = _context2['catch'](12);\n\n this._messageService.showErrorPopupForResponse(_context2.t0);\n\n case 22:\n _context2.prev = 22;\n\n _scope2.default.apply(this._scope);\n return _context2.finish(22);\n\n case 25:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this, [[12, 19, 22, 25]]);\n }));\n\n function _fetchParticipants() {\n return _ref2.apply(this, arguments);\n }\n\n return _fetchParticipants;\n }()\n }, {\n key: 'isLocked',\n value: function isLocked() {\n var isLocked = this.cart && (this.cart.cartStatus === \"CHECKING_OUT\" || this.cart.cartStatus === \"OWNER_CHECKING_OUT\");\n\n return isLocked;\n }\n }, {\n key: 'canRemoveUser',\n value: function canRemoveUser(contact) {\n return !contact.invitationResending && !contact.isOwner && contact.paymentStatus === 0;\n }\n }, {\n key: '_isCurrentUser',\n value: function _isCurrentUser(contact) {\n return contact.email === this.currentUserEmail;\n }\n }, {\n key: '_removeFromCart',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(contact) {\n var confirmed, response;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(!this._scope.isOwner || contact.isOwner)) {\n _context3.next = 2;\n break;\n }\n\n return _context3.abrupt('return');\n\n case 2:\n _context3.next = 4;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.cart.remove_items', { contactName: contact.name }));\n\n case 4:\n confirmed = _context3.sent;\n\n if (confirmed) {\n _context3.next = 7;\n break;\n }\n\n return _context3.abrupt('return');\n\n case 7:\n _context3.prev = 7;\n _context3.next = 10;\n return this._cartService.removeParticipant(contact.email);\n\n case 10:\n response = _context3.sent;\n\n\n this._heapService.track('Remove-Participant', { email: contact.email });\n _context3.next = 17;\n break;\n\n case 14:\n _context3.prev = 14;\n _context3.t0 = _context3['catch'](7);\n\n this._messageService.showErrorPopupForResponse(_context3.t0);\n\n case 17:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this, [[7, 14]]);\n }));\n\n function _removeFromCart(_x) {\n return _ref3.apply(this, arguments);\n }\n\n return _removeFromCart;\n }()\n }, {\n key: '_resendInvitation',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(contact) {\n var response;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (!contact.isOwner) {\n _context4.next = 2;\n break;\n }\n\n return _context4.abrupt('return');\n\n case 2:\n _context4.prev = 2;\n\n contact.invitationResending = true;\n _context4.next = 6;\n return this._cartService.sendInvites([contact.email]);\n\n case 6:\n response = _context4.sent;\n\n if (!response.data[0]) {\n _context4.next = 16;\n break;\n }\n\n if (!(response.data[0].status === \"INVITESENT\" || response.data[0].status === \"INVITED\")) {\n _context4.next = 13;\n break;\n }\n\n _context4.next = 11;\n return this._messageService.showMessagePopup(this.$translate.instant('client.user.email_sent', { contactEmail: contact.email }));\n\n case 11:\n _context4.next = 16;\n break;\n\n case 13:\n if (!(response.data[0].status === \"JOINED\")) {\n _context4.next = 16;\n break;\n }\n\n _context4.next = 16;\n return this._messageService.showMessagePopup(this.$translate.instant('client.user.email_resent', { contactEmail: contact.email }));\n\n case 16:\n _scope2.default.apply(this._scope, function () {\n contact.invitationResending = false;\n });\n\n this._heapService.track('Invite-Resend', { email: contact.email });\n\n _context4.next = 23;\n break;\n\n case 20:\n _context4.prev = 20;\n _context4.t0 = _context4['catch'](2);\n\n this._messageService.showErrorPopupForResponse(_context4.t0);\n\n case 23:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this, [[2, 20]]);\n }));\n\n function _resendInvitation(_x2) {\n return _ref4.apply(this, arguments);\n }\n\n return _resendInvitation;\n }()\n }, {\n key: '_participantToContact',\n value: function _participantToContact(participant) {\n\n // if (participant.status === Constants.CartDetails.Participant.Status.REMOVED) {\n // return;\n // }\n\n var status = 'Undefined';\n\n if (participant.status === _CommonConstants2.default.CartDetails.Participant.Status.INVITE_SENT || participant.status === _CommonConstants2.default.CartDetails.Participant.Status.INVITED) {\n status = this.$translate.instant('client.invited');\n } else if (participant.status === _CommonConstants2.default.CartDetails.Participant.Status.JOINED) {\n status = this.$translate.instant('client.joined');\n } else if (participant.status === _CommonConstants2.default.CartDetails.Participant.Status.DECLINED) {\n status = this.$translate.instant('client.declined');\n } else if (participant.status === _CommonConstants2.default.CartDetails.Participant.Status.OWNER) {\n status = this.$translate.instant('client.owner');;\n } else if (participant.status === _CommonConstants2.default.CartDetails.Participant.Status.LEFT) {\n status = this.$translate.instant('client.order.left');;\n } else if (participant.status === _CommonConstants2.default.CartDetails.Participant.Status.REMOVED) {\n status = this.$translate.instant('client.remove');\n }\n\n var contact = {\n status: status,\n name: participant.name,\n email: participant.email,\n participantId: participant.participantId,\n userId: participant.userId,\n avatar: participant.avatar,\n avatarCropped: participant.avatarCropped,\n isOwner: status == 'Owner',\n paymentStatus: participant.paymentStatus\n };\n\n if (contact.name === contact.email) {\n contact.name = '';\n }\n\n contact.firstLetter = (contact.name || contact.email).substring(0, 1);\n\n return contact;\n }\n }, {\n key: '_onReceivedParticipants',\n value: function _onReceivedParticipants(participants) {\n var _this4 = this;\n\n this._scope.contacts = participants.map(function (participant) {\n return _this4._participantToContact(participant);\n }).filter(function (contact) {\n return contact;\n });\n }\n }, {\n key: '_clearSearch',\n value: function _clearSearch() {\n this._scope.searchString = '';\n }\n }, {\n key: '_filterContacts',\n value: function _filterContacts() {\n\n if (!this._scope.searchString) {\n return this._scope.contacts;\n }\n\n var filter = this._scope.searchString.toLowerCase();\n\n var contacts = this._scope.contacts.filter(function (contact) {\n return (contact.name && contact.name.toLowerCase().indexOf(filter)) >= 0 || contact.email && contact.email.toLowerCase().indexOf(filter) >= 0;\n });\n return contacts;\n }\n }, {\n key: '_makeContactGroupOwner',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(contact) {\n var confirmed;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.order.make_owner', { contactName: contact.name }), '', this.$translate.instant('client.yes'), this.$translate.instant('client.no'), 'md-warn');\n\n case 2:\n confirmed = _context5.sent;\n\n if (confirmed) {\n _context5.next = 5;\n break;\n }\n\n return _context5.abrupt('return', null);\n\n case 5:\n _context5.prev = 5;\n _context5.next = 8;\n return this._cartService.transferOwner(contact.participantId);\n\n case 8:\n _context5.next = 10;\n return this._messageService.showMessagePopup(this.$translate.instant('client.cart.ownership_transfer', { contactName: contact.name }));\n\n case 10:\n _context5.next = 15;\n break;\n\n case 12:\n _context5.prev = 12;\n _context5.t0 = _context5['catch'](5);\n\n this._messageService.showErrorPopupForResponse(_context5.t0);\n\n case 15:\n\n _scope2.default.apply(this._scope);\n\n case 16:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this, [[5, 12]]);\n }));\n\n function _makeContactGroupOwner(_x3) {\n return _ref5.apply(this, arguments);\n }\n\n return _makeContactGroupOwner;\n }()\n }, {\n key: '_initInvitationCode',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n var cart, _retailer;\n\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return this._cartService.getCart();\n\n case 2:\n cart = _context6.sent;\n\n if (!cart) {\n _context6.next = 11;\n break;\n }\n\n if (this._scope.invitationCode) {\n _context6.next = 9;\n break;\n }\n\n _context6.next = 7;\n return this._cartService.getShareTokenByCartId(cart.id);\n\n case 7:\n this._scope.invitationCode = _context6.sent;\n\n if (this._scope.invitationCode && this._scope.invitationCode > 0) {\n this._cartService.setInviteCode(this._scope.invitationCode);\n this._cartService.setInvitationType(_CommonConstants2.default.InvitationTypes.share);\n this._scope.invitationType = _CommonConstants2.default.InvitationTypes.share;\n }\n\n case 9:\n\n if (!this._scope.invitationLink) {\n //Retailer Link\n _retailer = this._configurationService.getRetailer().retailer;\n\n if (_retailer.retailerType === 'Shopify') {\n this._scope.invitationLink = 'https://' + _retailer.website + _CommonConstants2.default.INVITE_LINK + this._scope.invitationCode;\n } else {\n this._scope.invitationLink = _retailer.website + _CommonConstants2.default.INVITE_LINK + this._scope.invitationCode;\n }\n\n this._cartService.setInviteSingleLink(this._scope.invitationLink);\n }\n\n _scope2.default.apply(this._scope);\n\n case 11:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _initInvitationCode() {\n return _ref6.apply(this, arguments);\n }\n\n return _initInvitationCode;\n }()\n }, {\n key: '_inviteMorePeople',\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n var emails;\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n\n this._cartService.setInviteMorePeopleMode(true);\n emails = this._scope.contacts.map(function (c) {\n return c.email;\n });\n _context7.next = 4;\n return this._orderSetupService.showInviteMorePeople(emails);\n\n case 4:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function _inviteMorePeople() {\n return _ref7.apply(this, arguments);\n }\n\n return _inviteMorePeople;\n }()\n }, {\n key: '_cancelOrder',\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n var confirmed, stateToGo;\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.order.group_cancel_confirm'), '', this.$translate.instant('client.yes'), this.$translate.instant('client.no'), 'md-warn');\n\n case 2:\n confirmed = _context8.sent;\n\n if (confirmed) {\n _context8.next = 5;\n break;\n }\n\n return _context8.abrupt('return', null);\n\n case 5:\n _context8.prev = 5;\n _context8.next = 8;\n return this._cartService.deleteCart();\n\n case 8:\n _context8.next = 10;\n return this._cartService.resetCartInvitationType();\n\n case 10:\n this._rootScope.$broadcast(_CommonConstants2.default.Events.ORDER_CANCELLED);\n\n _context8.t0 = this._heapService;\n _context8.next = 14;\n return this._sessionService.getAuthToken();\n\n case 14:\n _context8.t1 = _context8.sent;\n _context8.t2 = {\n user: _context8.t1\n };\n\n _context8.t0.track.call(_context8.t0, 'Cart-Cancel', _context8.t2);\n\n stateToGo = this._cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CART : _CommonConstants2.default.RoutingStates.CATALOG;\n\n this._stateService.go(stateToGo);\n _context8.next = 24;\n break;\n\n case 21:\n _context8.prev = 21;\n _context8.t3 = _context8['catch'](5);\n\n this._messageService.showErrorPopupForResponse(_context8.t3);\n\n case 24:\n\n _scope2.default.apply(this._scope);\n\n case 25:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this, [[5, 21]]);\n }));\n\n function _cancelOrder() {\n return _ref8.apply(this, arguments);\n }\n\n return _cancelOrder;\n }()\n }, {\n key: '_leaveOrder',\n value: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n var confirmed;\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.cart.group_leave'), '', this.$translate.instant('client.yes'), this.$translate.instant('client.no'), 'md-warn');\n\n case 2:\n confirmed = _context9.sent;\n\n if (confirmed) {\n _context9.next = 5;\n break;\n }\n\n return _context9.abrupt('return', null);\n\n case 5:\n _context9.prev = 5;\n _context9.next = 8;\n return this._cartService.leaveCart();\n\n case 8:\n _context9.t0 = this._heapService;\n _context9.next = 11;\n return this._sessionService.getAuthToken();\n\n case 11:\n _context9.t1 = _context9.sent;\n _context9.t2 = {\n user: _context9.t1\n };\n\n _context9.t0.track.call(_context9.t0, 'Cart-Leave', _context9.t2);\n\n if (this._cartonomyConfig.externalStoreMode) {\n this._rootScope.$broadcast(_CommonConstants2.default.Events.LEFT_ORDER);\n } else {\n this._stateService.go(_CommonConstants2.default.RoutingStates.CATALOG);\n }\n _context9.next = 20;\n break;\n\n case 17:\n _context9.prev = 17;\n _context9.t3 = _context9['catch'](5);\n\n this._messageService.showErrorPopupForResponse(_context9.t3);\n\n case 20:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, this, [[5, 17]]);\n }));\n\n function _leaveOrder() {\n return _ref9.apply(this, arguments);\n }\n\n return _leaveOrder;\n }()\n }, {\n key: '_copyClipboard',\n value: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n this._cartService.copyClipboard(this._scope.invitationLink);\n\n case 1:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function _copyClipboard() {\n return _ref10.apply(this, arguments);\n }\n\n return _copyClipboard;\n }()\n }, {\n key: '_onDialogDeleteContact',\n value: function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11(scope, contact) {\n var confirmed;\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n _context11.next = 2;\n return this._messageService.showQuestionPopup(this.$translate.instant('client.user.remove_contact'), '', this.$translate.instant('client.yes'), this.$translate.instant('client.no'), 'md-warn');\n\n case 2:\n confirmed = _context11.sent;\n\n if (!(confirmed && contact)) {\n _context11.next = 6;\n break;\n }\n\n _context11.next = 6;\n return this._groupOrderService.deleteContact(contact.contactUserId);\n\n case 6:\n\n this._scope.inviteMorePeople();\n\n case 7:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function _onDialogDeleteContact(_x4, _x5) {\n return _ref11.apply(this, arguments);\n }\n\n return _onDialogDeleteContact;\n }()\n }]);\n\n return InvitedPeopleListController;\n}();\n\nInvitedPeopleListController.$inject = ['$scope', 'CartService', '$mdDialog', 'Message', 'Session', '$rootScope', 'cartonomyConfig', '$state', 'HeapService', 'OrderSetupService', 'ConfigurationService', 'GroupOrder', '$translate'];\nexports.default = InvitedPeopleListController;\n\n/***/ }),\n/* 779 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PopupBagDirectiveController = function () {\n function PopupBagDirectiveController(scope, timeoutService, cartService, sessionService, stateService, rootScope, checkoutService, cartonomyConfig) {\n var _this = this;\n\n _classCallCheck(this, PopupBagDirectiveController);\n\n this._scope = scope;\n this._sessionService = sessionService;\n this._timeoutService = timeoutService;\n this._stateService = stateService;\n this._cartService = cartService;\n this._checkoutService = checkoutService;\n this._rootScope = rootScope;\n this._cartonomyConfig = cartonomyConfig;\n\n scope.show = false;\n scope.count = 0;\n scope.countHot = false;\n scope.title = '';\n scope.subTotal = 0;\n scope.items = [];\n scope.exists = false;\n\n scope.close = function () {\n return _this._close();\n };\n scope.viewOrder = function () {\n return _this._viewOrder();\n };\n scope.payMyTab = function () {\n return _this._payMyTab();\n };\n\n rootScope.$on(_CommonConstants2.default.RootEvents.PAYMENT_STATUS_CHANGED, function () {\n _this._onPaymentStatusChanged();\n });\n\n scope.$on(_CommonConstants2.default.BroadcastMessages.POPUP_BAG_CHANGED, function () {\n _this._updateBagState(null, true);\n });\n\n scope.$on(_CommonConstants2.default.BroadcastMessages.DISPLAY_POPUP_BAG, function (event, itemId) {\n scope.show = true;\n _this._updateBagState(itemId, true);\n });\n\n scope.$on(_CommonConstants2.default.BroadcastMessages.TOGGLE_POPUP_BAG, function () {\n scope.countHot = false;\n });\n\n this._updateBagState(null, false);\n this._onPaymentStatusChanged();\n }\n\n _createClass(PopupBagDirectiveController, [{\n key: '_close',\n value: function _close() {\n this._scope.show = false;\n this._scope.countHot = false;\n this._rootScope.bagOpened = this._scope.show;\n }\n }, {\n key: 'isCart',\n value: function isCart() {\n return this._stateService.is(_CommonConstants2.default.RoutingStates.CART);\n }\n }, {\n key: '_viewOrder',\n value: function _viewOrder() {\n if (this.isCart()) {\n this._rootScope.$broadcast(_CommonConstants2.default.BroadcastMessages.CART_PAGE_REQUESTED);\n } else {\n this._stateService.go(_CommonConstants2.default.RoutingStates.CART);\n }\n this._scope.close();\n }\n }, {\n key: '_payMyTab',\n value: function _payMyTab() {\n this._stateService.go(_CommonConstants2.default.RoutingStates.CHECKOUT);\n this._scope.close();\n }\n }, {\n key: '_getOnlyMyItems',\n value: function _getOnlyMyItems(cart) {\n var _this2 = this;\n\n if (!cart || !cart.items || cart.items.length === 0) {\n return [];\n }\n\n return this._sessionService.loggedIn().then(function (loggedIn) {\n if (!loggedIn) {\n return cart.items || [];\n } else {\n return _this2._sessionService.getUserEmail().then(function (participantEmail) {\n if (!participantEmail) {\n return cart.items || [];\n }\n\n return cart.items.filter(function (item) {\n return item.participantEmail == participantEmail;\n });\n });\n }\n });\n }\n }, {\n key: '_emptyScope',\n value: function _emptyScope(cart) {\n this._scope.count = 0;\n this._scope.title = cart ? cart.title : '';\n this._scope.subTotal = 0;\n this._scope.items = [];\n this._scope.exists = false;\n }\n }, {\n key: '_loadScope',\n value: function _loadScope(cart, updateHot, previousCount, itemId) {\n var _this3 = this;\n\n this._scope.title = cart.title;\n this._scope.exists = true;\n this._scope.groupPay = cart.fulfillment.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.MULTIPLE;\n\n var highlightItem = null;\n if (this._scope.items) {\n highlightItem = this._scope.items.find(function (item) {\n return item.highlight;\n });\n }\n\n var itemsForCounting = this._cartonomyConfig.externalStoreMode ? cart.items : this._getOnlyMyItems(cart);\n\n this._scope.items = _.map(itemsForCounting, function (item) {\n return {\n id: item.id,\n name: item.itemName,\n quantity: item.quantity,\n price: item.price,\n comment: item.comment,\n catalogProductId: item.catalogProductId,\n highlight: false\n };\n });\n\n if (highlightItem) {\n highlightItem = this._scope.items.find(function (item) {\n return item.id === highlightItem.id;\n });\n if (highlightItem) {\n highlightItem.highlight = true;\n }\n }\n\n this._scope.count = _.sumBy(this._scope.items, function (item) {\n return item.quantity;\n });\n this._scope.subTotal = _.sumBy(this._scope.items, function (item) {\n return item.quantity * item.price;\n });\n\n if (updateHot && !this.isCart()) {\n this._scope.countHot = previousCount !== this._scope.count;\n }\n\n if (itemId) {\n var item = _.find(this._scope.items, { id: itemId });\n if (item) {\n item.highlight = true;\n this._timeoutService(function () {\n item = _.find(_this3._scope.items, { id: itemId });\n if (item) {\n item.highlight = false;\n }\n }, 3000);\n }\n }\n\n // forcing update because it mystically doesn't trigger often for this update\n _scope2.default.apply(this._scope);\n }\n }, {\n key: '_updateBagState',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(itemId, updateHot) {\n var previousCount, cart;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n previousCount = this._scope.count;\n _context.next = 3;\n return this._cartService.getCart();\n\n case 3:\n cart = _context.sent;\n\n\n if (!cart.items || !cart.items.length) {\n this._emptyScope(cart);\n } else {\n this._loadScope(cart, updateHot, previousCount, itemId);\n }\n _scope2.default.apply(this._scope);\n\n case 6:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _updateBagState(_x, _x2) {\n return _ref.apply(this, arguments);\n }\n\n return _updateBagState;\n }()\n }, {\n key: '_onPaymentStatusChanged',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._checkoutService.paymentAuthorizedOrCaptured();\n\n case 2:\n this._scope.paymentProvided = _context2.sent;\n\n _scope2.default.apply(this._scope);\n\n case 4:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function _onPaymentStatusChanged() {\n return _ref2.apply(this, arguments);\n }\n\n return _onPaymentStatusChanged;\n }()\n }]);\n\n return PopupBagDirectiveController;\n}();\n\nPopupBagDirectiveController.$inject = ['$scope', '$timeout', 'CartService', 'Session', '$state', '$rootScope', 'CheckoutService', 'cartonomyConfig'];\nexports.default = PopupBagDirectiveController;\n\n/***/ }),\n/* 780 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OrderDetailsDirective = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(68);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _communicationService = __webpack_require__(28);\n\nvar _commandKeys = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderDetailsDirective = exports.OrderDetailsDirective = function () {\n function OrderDetailsDirective(scope, cartService, stateService, orderSetupService, messageService, rootScope, configurationService, cartonomyConfig, $interval, $translate) {\n var _this = this;\n\n _classCallCheck(this, OrderDetailsDirective);\n\n this.intervals = {\n year: {\n singular: 'client.year',\n plural: 'client.years'\n },\n month: {\n singular: 'client.month',\n plural: 'client.months'\n },\n week: {\n singular: 'client.week',\n plural: 'client.weeks'\n },\n day: {\n singular: 'client.day',\n plural: 'client.days'\n },\n hour: {\n singular: 'client.hour',\n plural: 'client.hours'\n },\n minute: {\n singular: 'client.minute',\n plural: 'client.minutes'\n }\n };\n\n\n this._scope = scope;\n this._orderSetupService = orderSetupService;\n this._cartService = cartService;\n this._stateService = stateService;\n this._messageService = messageService;\n this._savedCart = {};\n this._scope.sections = [];\n this._rootScope = rootScope;\n this._configurationService = configurationService;\n this._scope.configuration = {\n readOnly: true,\n doNotAutoProcess: false,\n notificationsForParticipants: false,\n singlePay: false\n };\n this._cartonomyConfig = cartonomyConfig;\n this.$interval = $interval;\n this.$translate = $translate;\n\n this._scope.editSection = function (id) {\n return _this._editSection(id);\n };\n this._scope.updateCartName = function () {\n return _this._updateCartName();\n };\n this._scope.cancelCartNameChange = function () {\n return _this._cancelCartNameChange();\n };\n this._scope.saveCartName = function () {\n return _this._saveCartName();\n };\n this._scope.showUpdateCartName = false;\n this._scope.cartModel = {\n customCartNames: '0',\n cartNameValue: '',\n cartNameOldValue: ''\n };\n this._scope.$on(_CommonConstants2.default.RootEvents.INVITATION_ACCEPTED, _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this._initialize();\n\n case 2:\n return _context.abrupt('return', _context.sent);\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n })));\n }\n\n _createClass(OrderDetailsDirective, [{\n key: '$onInit',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._initialize();\n\n case 2:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function $onInit() {\n return _ref2.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: '$onDestroy',\n value: function $onDestroy() {\n if (angular.isDefined(this.deadlineInterval)) {\n this.$interval.cancel(this.deadlineInterval);\n stop = undefined;\n }\n }\n }, {\n key: '_initialize',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n var _this2 = this;\n\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this._reloadConfiguration();\n\n case 2:\n _context3.next = 4;\n return this._loadCustomCartName();\n\n case 4:\n\n this._scope.$watch('configuration.doNotAutoProcess', function (newValue, oldValue) {\n if (newValue !== oldValue) {\n _this2._onDoNotAutoProcessChanged();\n }\n });\n\n this._scope.$watch('configuration.notificationsForParticipants', function (newValue, oldValue) {\n if (newValue != oldValue) {\n _this2._onNotificationsForParticipantsChanged();\n }\n });\n\n this._rootScope.$on(_CommonConstants2.default.RootEvents.CART_CHANGED, function () {\n _this2._scope.configuration.readOnly = true;\n _this2._reloadConfiguration();\n\n _scope2.default.apply(_this2._scope);\n });\n\n case 7:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function _initialize() {\n return _ref3.apply(this, arguments);\n }\n\n return _initialize;\n }()\n }, {\n key: '_setupTab',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(tabId) {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n\n this._scope.configuration.readOnly = true;\n\n _context4.prev = 1;\n _context4.next = 4;\n return this._orderSetupService.editOrder(tabId);\n\n case 4:\n _context4.next = 6;\n return this._reloadConfiguration();\n\n case 6:\n this._scope.configuration.readOnly = false;\n _context4.next = 13;\n break;\n\n case 9:\n _context4.prev = 9;\n _context4.t0 = _context4['catch'](1);\n\n this._scope.configuration.readOnly = false;\n this._messageService.showErrorPopupForResponse(_context4.t0);\n\n case 13:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this, [[1, 9]]);\n }));\n\n function _setupTab(_x) {\n return _ref4.apply(this, arguments);\n }\n\n return _setupTab;\n }()\n }, {\n key: '_editSection',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(id) {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!this._scope.configuration.readOnly) {\n _context5.next = 2;\n break;\n }\n\n return _context5.abrupt('return', null);\n\n case 2:\n _context5.t0 = id;\n _context5.next = _context5.t0 === 'payment-info' ? 5 : _context5.t0 === 'budget' ? 8 : _context5.t0 === 'delivery' ? 11 : _context5.t0 === 'deadline' ? 14 : 17;\n break;\n\n case 5:\n _context5.next = 7;\n return this._setupTab(_CommonConstants2.default.OrderSetupTabs.PAYMENT_DETAILS);\n\n case 7:\n return _context5.abrupt('break', 17);\n\n case 8:\n _context5.next = 10;\n return this._setupTab(_CommonConstants2.default.OrderSetupTabs.BUDGET);\n\n case 10:\n return _context5.abrupt('break', 17);\n\n case 11:\n _context5.next = 13;\n return this._setupTab(_CommonConstants2.default.OrderSetupTabs.DELIVERY_ADDRESS);\n\n case 13:\n return _context5.abrupt('break', 17);\n\n case 14:\n _context5.next = 16;\n return this._setupTab(_CommonConstants2.default.OrderSetupTabs.DEADLINE);\n\n case 16:\n return _context5.abrupt('break', 17);\n\n case 17:\n\n _scope2.default.apply(this._scope);\n\n case 18:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function _editSection(_x2) {\n return _ref5.apply(this, arguments);\n }\n\n return _editSection;\n }()\n }, {\n key: '_onDoNotAutoProcessChanged',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n if (!this._scope.configuration.readOnly) {\n _context6.next = 3;\n break;\n }\n\n this._scope.configuration.doNotAutoProcess = this._savedCart.automaticProcess;\n return _context6.abrupt('return');\n\n case 3:\n\n this._scope.configuration.readOnly = true;\n\n this._savedCart.automaticProcess = !this._scope.configuration.doNotAutoProcess;\n\n _context6.prev = 5;\n _context6.next = 8;\n return this._cartService.setCartConfiguration(this._savedCart);\n\n case 8:\n _context6.next = 13;\n break;\n\n case 10:\n _context6.prev = 10;\n _context6.t0 = _context6['catch'](5);\n\n this._messageService.showErrorPopupForResponse(_context6.t0);\n\n case 13:\n\n this._scope.configuration.readOnly = false;\n\n case 14:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this, [[5, 10]]);\n }));\n\n function _onDoNotAutoProcessChanged() {\n return _ref6.apply(this, arguments);\n }\n\n return _onDoNotAutoProcessChanged;\n }()\n }, {\n key: '_onNotificationsForParticipantsChanged',\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n if (!this._scope.configuration.readOnly) {\n _context7.next = 3;\n break;\n }\n\n this._scope.configuration.notificationsForParticipants = this._savedCart.sendCloseNotification;\n return _context7.abrupt('return');\n\n case 3:\n\n this._scope.configuration.readOnly = true;\n\n this._savedCart.sendCloseNotification = this._scope.configuration.notificationsForParticipants;\n\n _context7.prev = 5;\n _context7.next = 8;\n return this._cartService.setCartConfiguration(this._savedCart);\n\n case 8:\n _context7.next = 13;\n break;\n\n case 10:\n _context7.prev = 10;\n _context7.t0 = _context7['catch'](5);\n\n this._messageService.showErrorPopupForResponse(_context7.t0);\n\n case 13:\n\n this._scope.configuration.readOnly = false;\n\n case 14:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this, [[5, 10]]);\n }));\n\n function _onNotificationsForParticipantsChanged() {\n return _ref7.apply(this, arguments);\n }\n\n return _onNotificationsForParticipantsChanged;\n }()\n }, {\n key: '_getOrderDeadlineSection',\n value: function _getOrderDeadlineSection(cart) {\n var _this3 = this;\n\n this.retailer = this._configurationService.getRetailer().retailer;\n\n this.retailerTimezone = this.retailer.timeZoneSettingName;\n\n var dealine = {\n id: 'deadline',\n title: cart.closeOn ? '' : this.$translate.instant('client.deadline'),\n highlighted: cart.closeOn,\n lines: [this._getDeadlineString(cart)],\n line: cart.closeOn ? _moment2.default.tz(cart.closeOn, this.retailerTimezone).format('Do MMM') : this.$translate.instant('client.none'),\n editable: cart.cartStatus !== \"OWNER_CHECKING_OUT\" && cart.cartStatus !== \"CHECKING_OUT\"\n };\n\n this.deadlineInterval = this.$interval(function () {\n dealine.lines[0] = _this3._getDeadlineString(cart);\n }, 1000);\n\n return dealine;\n }\n }, {\n key: '_getDeadlineString',\n value: function _getDeadlineString(cart) {\n var _this4 = this;\n\n if (!cart.closeOn) {\n return this.$translate.instant('client.none');\n }\n\n var localTimeDeadline = _moment2.default.tz(cart.closeOn, this.retailerTimezone);\n if ((0, _moment2.default)(localTimeDeadline).isBefore((0, _moment2.default)())) {\n return this.$translate.instant('client.order.closed');\n }\n\n var result = null;\n Object.keys(this.intervals).forEach(function (key) {\n if (result) {\n return;\n }\n var count = localTimeDeadline.diff((0, _moment2.default)(), key);\n if (count > 0) {\n if (count === 1) {\n var duration = _this4.$translate.instant(_this4.intervals[key].singular);\n result = _this4.$translate.instant('client.order.end_in', { count: count, duration: duration });\n } else {\n var _duration = _this4.$translate.instant(_this4.intervals[key].plural);\n result = _this4.$translate.instant('client.order.end_in', { count: count, duration: _duration });\n }\n }\n });\n\n if (result) {\n return result;\n } else {\n return this.$translate.instant('client.order.time_end_min');\n }\n }\n }, {\n key: '_getDeliverySection',\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8(cartDetails) {\n var pickupAddress, ret, _ret;\n\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.t0 = cartDetails.deliveryMethod;\n _context8.next = _context8.t0 === _CommonConstants2.default.CartDetails.DeliveryMethods.PICKUP ? 3 : _context8.t0 === _CommonConstants2.default.CartDetails.DeliveryMethods.DELIVERY ? 11 : _context8.t0 === _CommonConstants2.default.CartDetails.DeliveryMethods.SHIPPING ? 17 : 18;\n break;\n\n case 3:\n if (!(this._scope.retailer.retailerType === _CommonConstants2.default.SHOPIFY_RETAILER_TYPE || this._scope.retailer.retailerType === _CommonConstants2.default.AMAZON_RETAILER_TYPE || this._scope.retailer.retailerType.toLowerCase() === 'poc')) {\n _context8.next = 5;\n break;\n }\n\n return _context8.abrupt('return');\n\n case 5:\n _context8.next = 7;\n return this._configurationService.getItem('pickupAddress');\n\n case 7:\n pickupAddress = _context8.sent;\n ret = {\n id: 'delivery',\n title: this.$translate.instant('client.order.pick_up_info'),\n lines: [pickupAddress],\n editable: true\n };\n\n if (cartDetails.deliveryDate) {\n ret.lines.push(' on ' + _moment2.default.utc(cartDetails.deliveryDate).local().format('dddd[,] MMMM Do [at] LT'));\n }\n return _context8.abrupt('return', ret);\n\n case 11:\n if (!(this._scope.retailer.retailerType === _CommonConstants2.default.SHOPIFY_RETAILER_TYPE || this._scope.retailer.retailerType.toLowerCase() === 'poc')) {\n _context8.next = 13;\n break;\n }\n\n return _context8.abrupt('return');\n\n case 13:\n _ret = {\n id: 'delivery',\n title: this.$translate.instant('client.order.delivery_info'),\n lines: [cartDetails.deliveryAddress.street + ' ' + (', ' + cartDetails.deliveryAddress.aptSuite || ''), cartDetails.deliveryAddress.city + ', ' + cartDetails.deliveryAddress.state + ' ' + cartDetails.deliveryAddress.zip],\n editable: true\n };\n\n\n if (cartDetails.deliveryDate) {\n _ret.lines.push(' on ' + _moment2.default.utc(cartDetails.deliveryDate).local().format('dddd[,] MMMM Do [at] LT'));\n }\n\n if (cartDetails.deliveryPhone) {\n _ret.lines.push(this.$translate.instant('client.order.contact_phone') + ': (' + cartDetails.deliveryPhone.substring(0, 3) + ') ' + cartDetails.deliveryPhone.substring(3, 6) + '-' + cartDetails.deliveryPhone.substring(6, 10) + ' ' + cartDetails.deliveryPhone.substring(10, 20));\n }\n\n return _context8.abrupt('return', _ret);\n\n case 17:\n return _context8.abrupt('return', {});\n\n case 18:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function _getDeliverySection(_x3) {\n return _ref8.apply(this, arguments);\n }\n\n return _getDeliverySection;\n }()\n }, {\n key: '_getBudgetSection',\n value: function _getBudgetSection(cart) {\n return {\n id: 'budget',\n title: this.$translate.instant('client.budget'),\n lines: [cart.orderLimit > 0 ? this._rootScope.formatAmount(cart.orderLimit) : this.$translate.instant('client.unlimited')],\n line: cart.orderLimit > 0 ? this._rootScope.formatAmount(cart.orderLimit) : this.$translate.instant('client.unlimited'),\n editable: cart.cartStatus !== \"OWNER_CHECKING_OUT\" && cart.cartStatus !== \"CHECKING_OUT\"\n };\n }\n }, {\n key: '_reloadConfiguration',\n value: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n var _this5 = this;\n\n var cart, cartDetails, sections;\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return this._cartService.getCart();\n\n case 2:\n cart = _context9.sent;\n\n this._savedCart = cart;\n _context9.next = 6;\n return this._cartService.getCartDetails();\n\n case 6:\n cartDetails = _context9.sent;\n\n\n this._scope.configuration.singlePay = cartDetails.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.SINGLE;\n this._scope.configuration.notificationsForParticipants = cart.sendCloseNotification;\n this._scope.configuration.doNotAutoProcess = !cart.automaticProcess;\n\n sections = [];\n\n\n if (!this._cartonomyConfig.externalStoreMode) {\n sections.push(OrderDetailsDirective._getPaymentMethodSection(cartDetails));\n }\n\n sections.push(this._getOrderDeadlineSection(cart));\n\n if (this._rootScope.retailer && !(_CommonConstants2.default.GENERAL_MILLS_POC.some(function (poc) {\n return _this5._rootScope.retailer.website.indexOf(poc) > -1;\n }) || this._rootScope.retailer.noBudgetMode)) {\n sections.push(this._getBudgetSection(cart));\n }\n\n this._scope.sections = sections.filter(function (section) {\n return section && section && section.lines && section.lines.length;\n });\n this._scope.configuration.readOnly = false;\n\n _scope2.default.apply(this._scope);\n\n case 17:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function _reloadConfiguration() {\n return _ref9.apply(this, arguments);\n }\n\n return _reloadConfiguration;\n }()\n }, {\n key: '_loadCustomCartName',\n value: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n this._scope.cartModel.cartNameValue = this._savedCart.cartName;\n this._scope.cartModel.cartNameOldValue = this._savedCart.cartName;\n this._scope.cartModel.customCartNames = this._rootScope.retailer.customCartNames;\n\n case 3:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function _loadCustomCartName() {\n return _ref10.apply(this, arguments);\n }\n\n return _loadCustomCartName;\n }()\n }, {\n key: '_updateCartName',\n value: function _updateCartName() {\n this._scope.showUpdateCartName = true;\n }\n }, {\n key: '_cancelCartNameChange',\n value: function _cancelCartNameChange() {\n this._scope.showUpdateCartName = false;\n this._scope.cartModel.cartNameValue = this._scope.cartModel.cartNameOldValue;\n }\n }, {\n key: '_saveCartName',\n value: function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n if (!(this._scope.cartModel.cartNameValue && this._scope.cartModel.cartNameValue !== this._scope.cartModel.cartNameOldValue)) {\n _context11.next = 7;\n break;\n }\n\n _context11.next = 3;\n return this._cartService.updateCartName(this._scope.cartModel.cartNameValue);\n\n case 3:\n\n // update realtime cart name for button\n _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.updateMyCartButtonText, { cartNameValue: this._scope.cartModel.cartNameValue });\n this._scope.cartModel.cartNameOldValue = this._scope.cartModel.cartNameValue;\n _context11.next = 8;\n break;\n\n case 7:\n this._scope.cartModel.cartNameValue = this._scope.cartModel.cartNameOldValue;\n\n case 8:\n this._scope.showUpdateCartName = false;\n\n case 9:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function _saveCartName() {\n return _ref11.apply(this, arguments);\n }\n\n return _saveCartName;\n }()\n }], [{\n key: '_getPaymentMethodSection',\n value: function _getPaymentMethodSection(cartDetails) {\n return {\n id: 'payment-mode',\n title: 'Payment',\n lines: [cartDetails.paymentMethod === _CommonConstants2.default.CartDetails.PaymentMethods.SINGLE ? this.$translate.instant('client.order.single_payment') : this.$translate.instant('client.order.everyone_for')],\n editable: false\n };\n }\n }, {\n key: '_getPaymentInfoSection',\n value: function _getPaymentInfoSection() {\n return {\n id: 'payment-info',\n title: this.$translate.instant('client.order.payment_info'),\n lines: [],\n editable: false\n };\n }\n }]);\n\n return OrderDetailsDirective;\n}();\n\nOrderDetailsDirective.$inject = ['$scope', 'CartService', '$state', 'OrderSetupService', 'Message', '$rootScope', 'ConfigurationService', 'cartonomyConfig', '$interval', '$translate'];\n\n\n_module3.default.controller('OrderDetailsDirectiveController', OrderDetailsDirective);\n\n_module3.default.directive('orderDetails', [function () {\n return {\n template: __webpack_require__(781),\n controller: 'OrderDetailsDirectiveController',\n scope: true\n };\n}]);\n\n/***/ }),\n/* 781 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
{{ section.title }}: {{ line }}{{ line }}
\"\n\n/***/ }),\n/* 782 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CartGroupsService = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(68);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CartGroupsService = exports.CartGroupsService = function () {\n function CartGroupsService(sessionService, configurationService) {\n _classCallCheck(this, CartGroupsService);\n\n this._sessionService = sessionService;\n this._configurationService = configurationService;\n }\n\n _createClass(CartGroupsService, [{\n key: 'groupItems',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(items, participants) {\n var email, loggedIn, owner, isCartOwner, retailer;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._sessionService.getUserEmail();\n\n case 2:\n email = _context.sent;\n _context.next = 5;\n return this._sessionService.loggedIn();\n\n case 5:\n loggedIn = _context.sent;\n owner = participants.find(function (p) {\n return p.status === 'OWNER';\n });\n isCartOwner = false;\n\n if (owner) {\n isCartOwner = email === owner.email;\n }\n\n _context.next = 11;\n return this._configurationService.getItem('retailer');\n\n case 11:\n retailer = _context.sent;\n return _context.abrupt('return', _.chain(items).groupBy(function (item) {\n return item.participantEmail;\n }).values().map(function (items) {\n var participantEmail = items[0].participant ? items[0].participant.participantEmail : items[0].participantEmail;\n var myTab = !loggedIn || items.length > 0 && participantEmail && participantEmail === email;\n var participant = !loggedIn || participants.find(function (p) {\n return p.email === participantEmail;\n });\n var participantName = participant ? loggedIn ? participant.name || participant.email || participant.participantEmail || \"?\" : 'Me' : participantEmail;\n return {\n participant: participant,\n iconLetter: participantName[0],\n participantName: participantName,\n items: items,\n subtotal: _.sumBy(items, function (item) {\n return item.price * item.quantity;\n }),\n paid: participant.paymentStatus !== 0,\n editable: myTab || isCartOwner && retailer.cartonomyMode !== _CommonConstants2.default.CartonomyMode.marketing,\n myTab: myTab,\n collapsed: true\n };\n }).sortBy(function (g) {\n return (g.myTab ? 'a' : 'b') + ':' + g.participantName;\n }).value());\n\n case 13:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function groupItems(_x, _x2) {\n return _ref.apply(this, arguments);\n }\n\n return groupItems;\n }()\n }]);\n\n return CartGroupsService;\n}();\n\nCartGroupsService.$inject = ['Session', 'ConfigurationService'];\n\n\n_module3.default.service('CartGroupsService', CartGroupsService);\n\n/***/ }),\n/* 783 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(68);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n_module3.default.directive('cartonomyCart', ['CartService', 'ConfigurationService', 'Session', '$translate', function (cartService, ConfigurationService, sessionService, $translate) {\n var _this = this;\n\n function toPossessiveString(name) {\n if (name[name.length - 1] == 's') {\n return name + '\\'';\n }\n\n return name + '\\'s';\n }\n\n return {\n template: __webpack_require__(784),\n link: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(scope, element, attributes) {\n var orderExists, cart, cartOwner;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n scope.isMobile = function () {\n return (/ios|iphone|android/gi.test(navigator.userAgent)\n );\n };\n\n _context.next = 3;\n return cartService.isGroupOrder();\n\n case 3:\n orderExists = _context.sent;\n _context.next = 6;\n return cartService.getCart();\n\n case 6:\n cart = _context.sent;\n\n\n if (orderExists) {\n cartOwner = _.find(cart.participants, function (participant) {\n return participant.status === 'OWNER' || sessionService.getStealthUserMode() && participant.status === 'REMOVED';\n });\n\n scope.groupCartButtonText = $translate.instant('client.add_to') + ' ' + toPossessiveString(cartOwner && cartOwner.name) + ' ' + $translate.instant('client.header.group_cart');\n } else {\n scope.groupCartButtonText = $translate.instant('client.cart.group_add');\n }\n\n case 8:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n return function link(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n }()\n };\n}]);\n\n/***/ }),\n/* 784 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
{{'client.cart.empty' | translate}}
{{'client.cart.empty_info' | translate}}
{{'client.cart.add' | translate}}
{{ cartOwnerBtn }}
{{'client.cart.total' | translate}}{{formatAmount(myTab.subtotal)}}
{{'client.cart.group_total' | translate}}{{formatAmount(groupSpending)}}
{{'client.cart.total_after' | translate}}{{formatAmount(myTapDiscounted)}}
\"\n\n/***/ }),\n/* 785 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(68);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_module3.default.directive('cartonomyCartGroups', ['$rootScope', function ($rootScope) {\n return {\n template: __webpack_require__(786),\n link: function link(scope, element, attribute) {\n\n scope.overlayOpened = false;\n\n scope.openItem = function (item) {\n if (item.externalProductId) {\n $rootScope.$broadcast(_CommonConstants2.default.Events.EXTERNAL_PRODUCT_DETAIL_REQUESTED, item.productUrl);\n }\n };\n\n scope.isParticipantOwner = function (participant) {\n return participant.status === _CommonConstants2.default.CartDetails.Participant.Status.OWNER;\n };\n\n scope.isGneralMillsPOC = function (item) {\n // Hide price, checkout button, budget for: Pillsbury, Bettycrocker, Tablespoon// retailerShop\n // CW-2661- hide :checkout, budget\n return _CommonConstants2.default.GENERAL_MILLS_POC.some(function (poc) {\n return item.productUrl && item.productUrl.indexOf(poc) > -1;\n }) && item.price == 0;\n };\n\n scope.canPayForParticipant = function (group) {\n return scope.isOwner && scope.cart.cartStatus === 'CHECKING_OUT' && group.participant.paymentStatus === 0 && !group.myTab;\n };\n\n scope.getItemOptions = function (item) {\n if (!item.itemOption) return '';\n\n item.itemOption = item.itemOption.replace(/=/g, ': ');\n var options = item.itemOption.split('||').filter(function (_) {\n return _[0] !== '_';\n });\n return options;\n };\n\n scope.canShowGroupOwner = function () {\n return scope.cart.cartStatus === 'CHECKING_OUT' || scope.cart.cartStatus === 'OWNER_CHECKING_OUT';\n };\n scope.canShowPaidStatus = function () {\n return scope.cart.cartStatus === 'CHECKING_OUT' || scope.cart.cartStatus === 'OWNER_CHECKING_OUT';\n };\n }\n };\n}]);\n\n/***/ }),\n/* 786 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
{{group.iconLetter}}
{{group.participant.name}}
{{'client.cart.group_owner' | translate}}
{{'client.paid' | translate}}
{{'client.unpaid' | translate}}
{{formatAmount(group.subtotal)}}
{{item.itemName}}
{{ option | ellipsisText:28 }}
{{formatAmount(item.total)}}
\"\n\n/***/ }),\n/* 787 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
{{ count }}
\"\n\n/***/ }),\n/* 788 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _InviteController = __webpack_require__(429);\n\nvar _OrderSetupDialogController = __webpack_require__(419);\n\nvar _OrderSetupDialogController2 = _interopRequireDefault(_OrderSetupDialogController);\n\nvar _OrderCheckoutController = __webpack_require__(791);\n\nvar _OrderCheckoutController2 = _interopRequireDefault(_OrderCheckoutController);\n\nvar _OrderCheckoutFullMixedController = __webpack_require__(792);\n\nvar _OrderCheckoutFullMixedController2 = _interopRequireDefault(_OrderCheckoutFullMixedController);\n\nvar _OrderConfirmationController = __webpack_require__(793);\n\nvar _OrderConfirmationController2 = _interopRequireDefault(_OrderConfirmationController);\n\nvar _OrderPayController = __webpack_require__(794);\n\nvar _OrderPayController2 = _interopRequireDefault(_OrderPayController);\n\nvar _OrderTabAddPeopleController = __webpack_require__(795);\n\nvar _OrderTabAddPeopleController2 = _interopRequireDefault(_OrderTabAddPeopleController);\n\nvar _OrderTabBudgetController = __webpack_require__(796);\n\nvar _OrderTabBudgetController2 = _interopRequireDefault(_OrderTabBudgetController);\n\nvar _OrderTabDeliveryAddressController = __webpack_require__(797);\n\nvar _OrderTabDeliveryAddressController2 = _interopRequireDefault(_OrderTabDeliveryAddressController);\n\nvar _OrderTabFinishController = __webpack_require__(798);\n\nvar _OrderTabFinishController2 = _interopRequireDefault(_OrderTabFinishController);\n\nvar _OrderTabPayModeController = __webpack_require__(799);\n\nvar _OrderTabPayModeController2 = _interopRequireDefault(_OrderTabPayModeController);\n\nvar _OrderTabPaymentDetailsController = __webpack_require__(800);\n\nvar _OrderTabPaymentDetailsController2 = _interopRequireDefault(_OrderTabPaymentDetailsController);\n\nvar _OrderTabPreviewController = __webpack_require__(801);\n\nvar _OrderTabPreviewController2 = _interopRequireDefault(_OrderTabPreviewController);\n\nvar _OrderTabDeliveryModeController = __webpack_require__(805);\n\nvar _OrderTabDeliveryModeController2 = _interopRequireDefault(_OrderTabDeliveryModeController);\n\nvar _OrderSummaryPageController = __webpack_require__(806);\n\nvar _OrderSummaryPageController2 = _interopRequireDefault(_OrderSummaryPageController);\n\nvar _OrderAddPeopleDirective = __webpack_require__(807);\n\nvar _OrderAddPeopleDirective2 = _interopRequireDefault(_OrderAddPeopleDirective);\n\nvar _OrderContactViewDirective = __webpack_require__(809);\n\nvar _OrderContactViewDirective2 = _interopRequireDefault(_OrderContactViewDirective);\n\nvar _orderDateService = __webpack_require__(810);\n\nvar _orderDateService2 = _interopRequireDefault(_orderDateService);\n\nvar _routeConfig = __webpack_require__(811);\n\nvar _routeConfig2 = _interopRequireDefault(_routeConfig);\n\nvar _OrderTabDeadlineController = __webpack_require__(813);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_module3.default.factory('OrderDateService', ['ConfigurationService', function (configurationService) {\n return configurationService.getItem('storeHours').then(function (storeHours) {\n return configurationService.getItem('deliveryDaysRange').then(function (deliveryDaysRange) {\n return function (addMinutes, maximumDate) {\n return new _orderDateService2.default(storeHours, deliveryDaysRange, addMinutes, maximumDate);\n };\n });\n });\n}]);\n\n_module3.default.config(['$stateProvider', function ($stateProvider) {\n _routeConfig2.default.forEach(function (route) {\n $stateProvider.state(route);\n });\n}]);\n\n_module3.default.controller('OrderTabDeadline', _OrderTabDeadlineController.OrderTabDeadlineController);\n_module3.default.controller('Cartonomy.Order.OrderSummaryPageController', _OrderSummaryPageController2.default);\n\nexports.default = _module3.default.name;\n\n/***/ }),\n/* 789 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = function (inviteDetails) {\n return ['$scope', '$mdDialog', '$state', 'Session', 'AuthenticationService', 'cartonomyConfig', function (scope, dialogService, stateService, sessionService, authenticationService, cartonomyConfig) {\n return new InviteDialogController(scope, dialogService, stateService, sessionService, authenticationService, cartonomyConfig, inviteDetails);\n }];\n};\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar InviteDialogController = function () {\n function InviteDialogController(scope, dialogService, stateService, sessionService, authenticationService, cartonomyConfig, inviteDetails) {\n var _this = this;\n\n _classCallCheck(this, InviteDialogController);\n\n this._stateService = stateService;\n this._dialogService = dialogService;\n this._scope = scope;\n this._authenticationService = authenticationService;\n this._inviteDetails = inviteDetails;\n this._cartonomyConfig = cartonomyConfig;\n\n sessionService.loggedIn().then(function (loggedIn) {\n scope.loggedIn = loggedIn;\n });\n\n if (scope.loggedIn) {\n // scope.username = await sessionService.getUserName();\n // scope.email = await sessionService.getUserEmail();\n sessionService.getUserName().then(function (username) {\n scope.username = username;\n return sessionService.getUserEmail();\n }).then(function (email) {\n scope.email = email;\n });\n } else {\n scope.username = inviteDetails.userName;\n scope.email = inviteDetails.userEmail;\n }\n scope.userFirstLetter = scope.username.substring(0, 1).toUpperCase();\n\n scope.continue = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt('return', _this._continue());\n\n case 1:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n scope.login = function () {\n return _this._login();\n };\n scope.signup = function () {\n return _this._signup();\n };\n }\n\n _createClass(InviteDialogController, [{\n key: '_goToCatalog',\n value: function _goToCatalog() {\n var stateToGo = this._cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CART : _CommonConstants2.default.RoutingStates.CATALOG;\n this._stateService.go(stateToGo);\n }\n }, {\n key: '_continue',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (this._scope.loggedIn) {\n _context2.next = 5;\n break;\n }\n\n _context2.next = 3;\n return this._authenticationService.loginWithInviteToken(this._inviteDetails);\n\n case 3:\n _context2.next = 6;\n break;\n\n case 5:\n this._authenticationService.onInviteAccepted();\n\n case 6:\n\n this._goToCatalog();\n this._dialogService.hide();\n\n case 8:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function _continue() {\n return _ref2.apply(this, arguments);\n }\n\n return _continue;\n }()\n }, {\n key: '_login',\n value: function _login() {\n var _this2 = this;\n\n this._dialogService.hide();\n this._authenticationService.showLoginDialog(this._scope.email).then(function () {\n return _this2._goToCatalog();\n });\n }\n }, {\n key: '_signup',\n value: function _signup() {\n var _this3 = this;\n\n this._dialogService.hide();\n this._authenticationService.showSignupDialog(this._scope.email).then(function () {\n return _this3._goToCatalog();\n });\n }\n }]);\n\n return InviteDialogController;\n}();\n\n/***/ }),\n/* 790 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"

{{'client.order.already_paid' | translate}}
{{'client.order.join_new_cart' | translate}}

{{'client.accept' | translate}}{{'client.accept' | translate}}
\"\n\n/***/ }),\n/* 791 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction OrderCheckoutController($scope, cartService, session, $state, checkoutService, messageService) {\n var _this = this;\n\n this.$onInit = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return $scope.init();\n\n case 2:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n $scope.paymentSystemReady = false;\n $scope.config = {};\n $scope.paymentSystem = '';\n\n // $scope.$watch('paymentSystem', async paymentSystem => {\n $scope.paymentSystemChanged = function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(paymentSystem) {\n var paymentConfiguration;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n\n paymentSystem = paymentSystem || $scope.paymentSystem;\n\n if (paymentSystem) {\n _context2.next = 5;\n break;\n }\n\n $scope.paymentSystemReady = false;\n $scope.paymentError = '';\n return _context2.abrupt('return');\n\n case 5:\n\n $scope.paymentSystemReady = false;\n $scope.paymentError = '';\n _scope2.default.apply($scope);\n\n _context2.prev = 8;\n _context2.next = 11;\n return checkoutService.beginCheckout(paymentSystem);\n\n case 11:\n paymentConfiguration = _context2.sent;\n _context2.t0 = paymentSystem;\n _context2.next = _context2.t0 === 'PayPal' ? 15 : _context2.t0 === 'Square' ? 17 : 18;\n break;\n\n case 15:\n $scope.clientToken = paymentConfiguration.clientToken;\n return _context2.abrupt('break', 18);\n\n case 17:\n return _context2.abrupt('break', 18);\n\n case 18:\n $scope.paymentSystemReady = true;\n _context2.next = 25;\n break;\n\n case 21:\n _context2.prev = 21;\n _context2.t1 = _context2['catch'](8);\n\n $scope.paymentError = messageService.getMessageFromErrorResponse(_context2.t1);\n $scope.paymentSystemReady = false;\n\n case 25:\n _context2.prev = 25;\n\n _scope2.default.apply($scope);\n return _context2.finish(25);\n\n case 28:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this, [[8, 21, 25, 28]]);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n\n //); // end $scope.$watch\n\n $scope.pay = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n var cardData;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!($scope.paymentSystem === 'PayPal')) {\n _context3.next = 3;\n break;\n }\n\n window.location.href = _CommonConstants2.default.PAYPAL_CHECKOUT_URL + $scope.clientToken;\n return _context3.abrupt('return');\n\n case 3:\n\n $scope.paymentSystemReady = false;\n $scope.paymentError = '';\n _scope2.default.apply($scope);\n\n _context3.prev = 6;\n _context3.next = 9;\n return $scope.config.getCardNonce();\n\n case 9:\n cardData = _context3.sent;\n\n cardData.orderTotal = $scope.orderTotal;\n cardData.isAuthorization = false;\n _context3.next = 14;\n return checkoutService.submitOrder($scope.paymentSystem, cardData);\n\n case 14:\n $state.go(_CommonConstants2.default.RoutingStates.CONFIRM_ORDER);\n _context3.next = 22;\n break;\n\n case 17:\n _context3.prev = 17;\n _context3.t0 = _context3['catch'](6);\n\n $scope.paymentError = \"client.payment.credit_trans_not_approved\";\n $scope.paymentSystemReady = true;\n _scope2.default.apply($scope);\n\n case 22:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, _this, [[6, 17]]);\n }));\n\n $scope.init = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n var cart, userEmail;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return cartService.getCart();\n\n case 2:\n cart = _context4.sent;\n\n if (!(cart.items.length === 0)) {\n _context4.next = 6;\n break;\n }\n\n $scope.showCatalog();\n return _context4.abrupt('return');\n\n case 6:\n\n $scope.groupOrder = cartService.isGroupOrder(cart);\n\n _context4.next = 9;\n return session.getUserEmail();\n\n case 9:\n userEmail = _context4.sent;\n\n\n $scope.orderTotal = 0;\n\n if (cart.fulfillment.paymentMethod == \"single\") {\n $scope.orderTotal = cart.cartTotal;\n } else {\n _.each(cart.items, function (item) {\n if (!userEmail || item.participantEmail == userEmail) {\n $scope.orderTotal += item.price * item.quantity;\n }\n });\n }\n\n case 12:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, _this);\n }));\n}\n\n_module3.default.controller('Cartonomy.Order.CheckoutController', ['$scope', 'CartService', 'Session', '$state', 'CheckoutService', 'Message', OrderCheckoutController]);\n\n/***/ }),\n/* 792 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _communicationService = __webpack_require__(28);\n\nvar _commandKeys = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction OrderCheckoutFullMixedController($scope, rootScope, cartService, session, $state, checkoutService, messageService, $translate) {\n var _this = this;\n\n this.$onInit = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return $scope.init();\n\n case 2:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n $scope.participantAmounts = [];\n $scope.cartTotal = 0;\n $scope.totalAllocated = 0;\n $scope.totalRemaining = $scope.cartTotal - $scope.totalAllocated;\n this._rootScope = rootScope;\n\n $scope.init = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var cart;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return cartService.getCart();\n\n case 2:\n cart = _context2.sent;\n\n $scope.cartId = cart.id;\n $scope.cartTotal = cart.cartTotal;\n _context2.next = 7;\n return cartService.getParticipantamounts(cart.id);\n\n case 7:\n $scope.participantAmounts = _context2.sent;\n\n $scope.totalAllocated = $scope.participantAmounts.map(function (r) {\n return r.amountToPay;\n }).reduce(function (total, item) {\n return total + item;\n });\n $scope.totalRemaining = $scope.cartTotal - $scope.totalAllocated;\n _scope2.default.apply($scope);\n\n case 11:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this);\n }));\n\n $scope.amountToPayChange = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n $scope.totalAllocated = $scope.participantAmounts.map(function (r) {\n return r.amountToPay;\n }).reduce(function (total, item) {\n return total + item;\n });\n $scope.totalRemaining = $scope.cartTotal - $scope.totalAllocated;\n\n case 2:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, _this);\n }));\n\n $scope.saveForLater = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (!($scope.totalAllocated > $scope.cartTotal)) {\n _context4.next = 3;\n break;\n }\n\n messageService.showErrorPopup($translate.instant('client.order.total_allocated'));\n return _context4.abrupt('return');\n\n case 3:\n _context4.prev = 3;\n _context4.next = 6;\n return cartService.updateAmountTopay($scope.participantAmounts);\n\n case 6:\n _context4.next = 8;\n return cartService.getCart($scope.cartId, false);\n\n case 8:\n\n $state.go(_CommonConstants2.default.RoutingStates.CART);\n _context4.next = 14;\n break;\n\n case 11:\n _context4.prev = 11;\n _context4.t0 = _context4['catch'](3);\n\n messageService.showErrorPopupForResponse(_context4.t0);\n\n case 14:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, _this, [[3, 11]]);\n }));\n\n $scope.completeAndStartPaying = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n var update;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!($scope.totalAllocated > $scope.cartTotal)) {\n _context5.next = 3;\n break;\n }\n\n messageService.showErrorPopup($translate.instant('client.order.total_allocated'));\n return _context5.abrupt('return');\n\n case 3:\n _context5.next = 5;\n return cartService.updateAmountTopay($scope.participantAmounts);\n\n case 5:\n update = _context5.sent;\n\n if (!update.data) {\n _context5.next = 9;\n break;\n }\n\n _context5.next = 9;\n return $scope.shopifyCheckout();\n\n case 9:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, _this);\n }));\n\n $scope.shopifyCheckout = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n var confirmed, loadingDialog, shopifyCheckoutInfo, myCartItems, continueCheckout, existingShopifyCartItems, hasMyCartItems, continueCheckoutWhenMatch, _continueCheckout, checkoutResult;\n\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return cartService.startProcessCheckout();\n\n case 2:\n confirmed = _context6.sent;\n\n if (confirmed) {\n _context6.next = 5;\n break;\n }\n\n return _context6.abrupt('return', null);\n\n case 5:\n _context6.next = 7;\n return messageService.showLoading();\n\n case 7:\n loadingDialog = _context6.sent;\n _context6.prev = 8;\n _context6.next = 11;\n return checkoutService.getShopifyCheckoutInfo();\n\n case 11:\n shopifyCheckoutInfo = _context6.sent;\n myCartItems = shopifyCheckoutInfo.cartInfo.cartItems;\n\n if (!shopifyCheckoutInfo.warningInfo) {\n _context6.next = 23;\n break;\n }\n\n loadingDialog.close();\n _context6.next = 17;\n return messageService.showQuestionPopup(shopifyCheckoutInfo.warningInfo, '', $translate.instant('client.cart.continue_checkout'), $translate.instant('client.cart.checkout_review'));\n\n case 17:\n continueCheckout = _context6.sent;\n\n if (continueCheckout) {\n _context6.next = 20;\n break;\n }\n\n return _context6.abrupt('return');\n\n case 20:\n _context6.next = 22;\n return messageService.showLoading();\n\n case 22:\n loadingDialog = _context6.sent;\n\n case 23:\n if (!shopifyCheckoutInfo.ownerPaid) {\n _context6.next = 27;\n break;\n }\n\n loadingDialog.close();\n $state.go(_CommonConstants2.default.RoutingStates.CART);\n return _context6.abrupt('return');\n\n case 27:\n _context6.next = 29;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.checkCartItems, {});\n\n case 29:\n existingShopifyCartItems = _context6.sent;\n hasMyCartItems = existingShopifyCartItems.data.items.some(function (item) {\n return myCartItems.some(function (myCart) {\n return item.id === myCart.id;\n });\n });\n\n if (!(existingShopifyCartItems.data.item_count > 0)) {\n _context6.next = 53;\n break;\n }\n\n if (!hasMyCartItems) {\n _context6.next = 44;\n break;\n }\n\n loadingDialog.close();\n _context6.next = 36;\n return cartService.confirmContinueCheckoutWhenMatchCartItems();\n\n case 36:\n continueCheckoutWhenMatch = _context6.sent;\n\n if (continueCheckoutWhenMatch) {\n _context6.next = 39;\n break;\n }\n\n return _context6.abrupt('return');\n\n case 39:\n _context6.next = 41;\n return messageService.showLoading();\n\n case 41:\n loadingDialog = _context6.sent;\n _context6.next = 53;\n break;\n\n case 44:\n loadingDialog.close();\n _context6.next = 47;\n return cartService.confirmContinueCheckout();\n\n case 47:\n _continueCheckout = _context6.sent;\n\n if (_continueCheckout) {\n _context6.next = 50;\n break;\n }\n\n return _context6.abrupt('return');\n\n case 50:\n _context6.next = 52;\n return messageService.showLoading();\n\n case 52:\n loadingDialog = _context6.sent;\n\n case 53:\n _context6.next = 55;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.checkoutCart, {\n cartInfo: shopifyCheckoutInfo.cartInfo\n });\n\n case 55:\n checkoutResult = _context6.sent;\n\n\n if (!checkoutResult.success) {\n messageService.showErrorPopup(checkoutResult.errorMessage);\n }\n _context6.next = 62;\n break;\n\n case 59:\n _context6.prev = 59;\n _context6.t0 = _context6['catch'](8);\n\n messageService.showErrorPopupForResponse(_context6.t0);\n\n case 62:\n _context6.prev = 62;\n\n loadingDialog.close();\n return _context6.finish(62);\n\n case 65:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, _this, [[8, 59, 62, 65]]);\n }));\n}\n\n_module3.default.controller('Cartonomy.Order.CheckoutFullMixedController', ['$scope', '$rootScope', 'CartService', 'Session', '$state', 'CheckoutService', 'Message', '$translate', OrderCheckoutFullMixedController]);\n\n/***/ }),\n/* 793 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction OrderConfirmationController($scope, $state, cartService) {\n\n cartService.getCartDetails().then(function (cartDetails) {\n $scope.deliveryTime = (0, _moment2.default)(cartDetails.deliveryDate).format('LT [on] dddd[,] MMM DD');\n });\n\n $scope.go = function () {\n $state.go(_CommonConstants2.default.RoutingStates.CATALOG);\n };\n}\n\n_module3.default.controller('Cartonomy.Order.ConfirmationController', ['$scope', '$state', 'CartService', OrderConfirmationController]);\n\n/***/ }),\n/* 794 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction OrderPayController($scope, $stateParams, groupOrder, $state) {\n\n $scope.paymentDetails = {\n cardNumber: '',\n cardName: '',\n expirationDate: '',\n securityCode: '',\n payTitle: 'client.pay_now',\n amountToPay: groupOrder.getAmountToPay()\n };\n\n /*jshint -W041 */\n if ($scope.paymentDetails.amountToPay == 0) {\n $state.go(_CommonConstants2.default.RoutingStates.CATALOG);\n return;\n }\n /*jshint +W041 */\n\n $scope.payNow = function (form) {\n\n if (!form.$valid) {\n form.highlightAllErrors();\n return;\n }\n\n groupOrder.payNow({\n cardNumber: $scope.paymentDetails.cardNumber,\n cardName: $scope.paymentDetails.cardName,\n expirationDate: $scope.paymentDetails.expirationDate,\n securityCode: $scope.paymentDetails.securityCode,\n id: $stateParams.id\n }).then(function () {\n $state.go(_CommonConstants2.default.RoutingStates.CONFIRM_ORDER);\n });\n };\n}\n\n_module3.default.controller('Cartonomy.Order.PayController', ['$scope', '$stateParams', 'GroupOrder', '$state', OrderPayController]);\n\n/***/ }),\n/* 795 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OrderTabAddPeopleController = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderTabAddPeopleController = exports.OrderTabAddPeopleController = function () {\n function OrderTabAddPeopleController(scope, $rootScope, groupOrderService, messageService) {\n var _this = this;\n\n _classCallCheck(this, OrderTabAddPeopleController);\n\n this.scope = scope;\n\n scope.onContactListChanged = function (emails) {\n scope.configuration.contactDetails.selectedEmails = emails || scope.configuration.contactDetails.selectedEmails || [];\n scope.nextDisabled = scope.checkDisableGoingForward();\n _scope2.default.apply(scope);\n };\n\n scope.checkDisableGoingForward = function () {\n return _.isEmpty(scope.configuration.contactDetails.selectedEmails) && _.isEmpty(scope.configuration.contactDetails.selectedContacts);\n };\n\n scope.configuration = {\n contactDetails: groupOrderService.getContactDetails() || {\n selectedContacts: [],\n createdGroups: [],\n createdContacts: [],\n allContacts: [],\n allGroups: [],\n selectedEmails: []\n }\n };\n\n scope.$on('order:add:people.canAddPeople', function (s, value) {\n scope.canAddEmail = value;\n scope.nextDisabled = scope.checkDisableGoingForward();\n _scope2.default.apply(scope);\n });\n\n scope.sendInvitation = function (emails) {\n groupOrderService.setContactDetails(scope.configuration.contactDetails);\n\n var nextDisabled = scope.checkDisableGoingForward();\n\n if (!nextDisabled) {\n scope.next();\n }\n };\n\n scope.addPeopleToOrder = function () {\n scope.$broadcast(_CommonConstants2.default.Events.ADD_PEOPLE_ADVANCE_TO_NEXT_PAGE);\n };\n\n scope.goBack = function () {\n scope.back();\n };\n\n scope.onDeleteContact = function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(contact) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n scope.onDialogDeleteContact(contact);\n\n case 1:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }();\n }\n\n _createClass(OrderTabAddPeopleController, [{\n key: '$onInit',\n value: function $onInit() {\n this.scope.onContactListChanged();\n }\n }]);\n\n return OrderTabAddPeopleController;\n}();\n\nOrderTabAddPeopleController.$inject = ['$scope', '$rootScope', 'GroupOrder', 'Message'];\n\n\n_module3.default.controller('OrderTabAddPeople', OrderTabAddPeopleController);\n\n/***/ }),\n/* 796 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderTabBudgetController = function () {\n function OrderTabBudgetController($scope, cartonomyConfig, $filter, orderDateServicePromise, checkoutService, cartService, groupOrderService, $location, $window, messageService) {\n var _this = this;\n\n _classCallCheck(this, OrderTabBudgetController);\n\n this._scope = $scope;\n this._cartonomyConfig = cartonomyConfig;\n this._filterService = $filter;\n this._checkoutService = checkoutService;\n this._cartService = cartService;\n this._groupOrderService = groupOrderService;\n this._locationService = $location;\n this._windowService = $window;\n this._messageService = messageService;\n this._orderDateServicePromise = orderDateServicePromise;\n\n $scope.externalStoreMode = cartonomyConfig.externalStoreMode;\n $scope.maxAllowedBudget = 100000;\n\n this._joinDateTime = function () {\n return null;\n };\n\n $scope.parentBack = $scope.back;\n\n $scope.back = function (form) {\n return _this._back(form);\n };\n\n $scope.acceptSinglePayOrderNoBudget = function (form) {\n return _this._acceptSinglePayOrderNoBudget(form);\n };\n $scope.acceptSinglePayOrderNoPayment = function (form) {\n return _this._acceptSinglePayOrderNoPayment(form);\n };\n $scope.onBudgetChanged = function () {\n return _this._onBudgetChanged();\n };\n $scope.acceptSinglePayOrderBudget = function (form) {\n return _this._acceptSinglePayOrderBudget(form);\n };\n $scope.acceptPaymentInformation = function () {\n return _this._acceptPaymentInformation();\n };\n\n $scope.shouldDisablePaymentInformationNextButton = function () {\n return _this._shouldDisablePaymentInformationNextButton();\n };\n\n $scope.$watch('configuration.paymentSystem', function (paymentSystem) {\n return _this._onPaymentSystemChanged(paymentSystem);\n });\n }\n\n _createClass(OrderTabBudgetController, [{\n key: '$onInit',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._initialize();\n\n case 2:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function $onInit() {\n return _ref.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: '_initialize',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n this._scope.configuration = {\n groupPay: this._groupOrderService.getGroupPay(),\n singlePayOrder: this._groupOrderService.getSinglePayOrder() || {\n paymentInformation: {}\n },\n paymentSystem: this._groupOrderService.getPaymentSystem(),\n vendorDetails: this._groupOrderService.getVendorDetails() || {},\n deliveryDetails: this._groupOrderService.getDeliveryDetails()\n };\n\n if (!this._scope._editMode) {\n _context2.next = 6;\n break;\n }\n\n _context2.next = 4;\n return this._cartService.getCart();\n\n case 4:\n this.cart = _context2.sent;\n\n\n if (!this._scope.configuration.singlePayOrder.budget) {\n this._scope.configuration.singlePayOrder.budget = this.cart.orderLimit;\n }\n\n case 6:\n\n // stick a $ in front if not there\n if (_.isString(this._scope.configuration.singlePayOrder.budget) && this._scope.configuration.singlePayOrder.budget.match(/^\\d/) || this._scope.configuration.singlePayOrder.budget > 0) {\n this._scope.configuration.singlePayOrder.budget = parseFloat(this._scope.configuration.singlePayOrder.budget);\n this._scope.configuration.singlePayOrder.defineBudget = 'yes';\n this._scope.configuration.singlePayOrder.budgetEntered = true;\n } else {\n this._scope.configuration.singlePayOrder.budget = \"\";\n this._scope.configuration.singlePayOrder.defineBudget = 'no';\n }\n\n if (this._scope.returnToPreview) {\n this._scope.configuration.singlePayOrder.defineBudget = 'yes';\n }\n\n _context2.next = 10;\n return this._checkoutService.paymentAuthorizedOrCaptured();\n\n case 10:\n this._scope.configuration.paymentProvided = _context2.sent;\n\n\n if (this._scope.externalStoreMode && !this._scope.configuration.singlePayOrder.enterPaymentInformation) {\n this._scope.configuration.singlePayOrder.enterPaymentInformation = 'no';\n }\n\n case 12:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function _initialize() {\n return _ref2.apply(this, arguments);\n }\n\n return _initialize;\n }()\n }, {\n key: 'save',\n value: function save() {\n this._groupOrderService.setSinglePayOrder(this._scope.configuration.singlePayOrder);\n this._groupOrderService.setVendorDetails(this._scope.configuration.vendorDetails);\n this._groupOrderService.setPaymentSystem(this._scope.configuration.paymentSystem);\n }\n }, {\n key: 'saveAndGotoNext',\n value: function saveAndGotoNext() {\n this.save();\n this._scope.next();\n }\n }, {\n key: '_rejectSinglePayOrderPlace',\n value: function _rejectSinglePayOrderPlace() {\n if (!this._scope._editMode) {\n // this._scope.configuration.deliveryDetails.placeEntered = false;\n }\n }\n }, {\n key: '_back',\n value: function _back(form) {\n if (form && !form.$valid) {\n form.highlightAllErrors();\n return;\n }\n\n this._scope.parentBack();\n }\n }, {\n key: '_acceptSinglePayOrderNoBudget',\n value: function _acceptSinglePayOrderNoBudget(form) {\n if (form && !form.$valid) {\n form.highlightAllErrors();\n return;\n }\n\n this._scope.configuration.singlePayOrder.budget = 0;\n\n this.saveAndGotoNext();\n\n _scope2.default.apply(this._scope);\n }\n }, {\n key: '_acceptSinglePayOrderNoPayment',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(form) {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(form && !form.$valid)) {\n _context3.next = 3;\n break;\n }\n\n form.highlightAllErrors();\n return _context3.abrupt('return');\n\n case 3:\n\n this._scope.budgetExceeds = false;\n this._scope.budgetMaximumReach = false;\n _context3.next = 7;\n return this._onBudgetChanged();\n\n case 7:\n\n if (!this._scope.budgetExceeds && !this._scope.budgetMaximumReach) {\n this.saveAndGotoNext();\n }\n\n case 8:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function _acceptSinglePayOrderNoPayment(_x) {\n return _ref3.apply(this, arguments);\n }\n\n return _acceptSinglePayOrderNoPayment;\n }()\n }, {\n key: '_onBudgetChanged',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n var currentAmount;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (this._scope.configuration.singlePayOrder.budget && _.isString(this._scope.configuration.singlePayOrder.budget)) {\n this._scope.configuration.singlePayOrder.budget = this._scope.configuration.singlePayOrder.budget.replace(/[^0-9.]/g, \"\");\n this._scope.configuration.singlePayOrder.budgetEntered = true;\n } else {\n this._scope.configuration.singlePayOrder.budgetEntered = false;\n }\n\n if (this._scope.externalStoreMode && !this._scope.configuration.singlePayOrder.enterPaymentInformation) {\n this._scope.configuration.singlePayOrder.enterPaymentInformation = 'no';\n }\n\n this._scope.budgetExceeds = false;\n this._scope.budgetMaximumReach = false;\n\n _context4.next = 6;\n return this._cartService.getCartAmount();\n\n case 6:\n currentAmount = _context4.sent;\n\n if (this._scope.configuration.singlePayOrder.budget < currentAmount) {\n this._scope.budgetExceeds = currentAmount;\n }\n if (this._scope.configuration.singlePayOrder.budget > this._scope.maxAllowedBudget) {\n this._scope.budgetMaximumReach = true;\n }\n\n _scope2.default.apply(this._scope);\n\n case 10:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function _onBudgetChanged() {\n return _ref4.apply(this, arguments);\n }\n\n return _onBudgetChanged;\n }()\n }, {\n key: '_acceptSinglePayOrderBudget',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(form) {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (form.$valid) {\n _context5.next = 3;\n break;\n }\n\n form.highlightAllErrors();\n return _context5.abrupt('return');\n\n case 3:\n\n // only digits and decimal point\n if (_.isString(this._scope.configuration.singlePayOrder.budget)) {\n this._scope.configuration.singlePayOrder.budget = this._scope.configuration.singlePayOrder.budget.replace(/[^0-9.]/g, \"\");\n this._scope.configuration.singlePayOrder.budgetEntered = true;\n } else {\n this.saveAndGotoNext();\n }\n\n case 4:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function _acceptSinglePayOrderBudget(_x2) {\n return _ref5.apply(this, arguments);\n }\n\n return _acceptSinglePayOrderBudget;\n }()\n }, {\n key: '_shouldDisablePaymentInformationNextButton',\n value: function _shouldDisablePaymentInformationNextButton() {\n if (!this._scope.configuration.paymentSystem) {\n return true;\n }\n\n if (this._scope.configuration.paymentSystem && this._scope.configuration.paymentSystem == 'PayPal' && !this._scope.configuration.vendorDetails.clientToken) {\n\n return true;\n }\n\n return this._scope.configuration.paymentSystem == '';\n }\n }, {\n key: '_onPaypalSelected',\n value: function _onPaypalSelected() {\n this._scope.processingPayment = true;\n this.save();\n this._groupOrderService.saveToSessionStorage();\n // this._windowService.onbeforeunload = null;\n window.location.href = _CommonConstants2.default.PAYPAL_CHECKOUT_URL + this._scope.configuration.vendorDetails.clientToken;\n }\n }, {\n key: '_onCreditCardSelected',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n\n this._scope.processingPayment = true;\n this._scope.paymentSystemError = '';\n _scope2.default.apply(this._scope);\n\n _context6.prev = 3;\n _context6.next = 6;\n return this._scope.configuration.getCardNonce();\n\n case 6:\n this._scope.configuration.vendorDetails = _context6.sent;\n\n this._scope.configuration.vendorDetails.isAuthorization = true;\n this._scope.configuration.vendorDetails.orderTotal = this._scope.configuration.singlePayOrder.budget;\n\n _context6.next = 11;\n return this._checkoutService.submitOrder(this._scope.configuration.paymentSystem, this._scope.configuration.vendorDetails);\n\n case 11:\n _context6.next = 19;\n break;\n\n case 13:\n _context6.prev = 13;\n _context6.t0 = _context6['catch'](3);\n\n this._scope.paymentSystemError = \"client.payment.credit_trans_not_approved\";\n\n this._scope.processingPayment = false;\n _scope2.default.apply(this._scope);\n return _context6.abrupt('return', null);\n\n case 19:\n\n this._scope.processingPayment = false;\n _scope2.default.apply(this._scope);\n\n this.saveAndGotoNext();\n\n case 22:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this, [[3, 13]]);\n }));\n\n function _onCreditCardSelected() {\n return _ref6.apply(this, arguments);\n }\n\n return _onCreditCardSelected;\n }()\n }, {\n key: '_acceptPaymentInformation',\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.t0 = this._scope.configuration.paymentSystem;\n _context7.next = _context7.t0 === 'PayPal' ? 3 : _context7.t0 === 'Square' ? 4 : 7;\n break;\n\n case 3:\n return _context7.abrupt('return', this._onPaypalSelected());\n\n case 4:\n _context7.next = 6;\n return this._onCreditCardSelected();\n\n case 6:\n return _context7.abrupt('return', _context7.sent);\n\n case 7:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function _acceptPaymentInformation() {\n return _ref7.apply(this, arguments);\n }\n\n return _acceptPaymentInformation;\n }()\n }, {\n key: '_onPaymentSystemChanged',\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8(paymentSystem) {\n var paymentConfiguration;\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n if (paymentSystem) {\n _context8.next = 3;\n break;\n }\n\n this._scope.processingPayment = false;\n return _context8.abrupt('return', null);\n\n case 3:\n\n this._scope.processingPayment = true;\n this._scope.paymentSystemError = '';\n _scope2.default.apply(this._scope);\n\n _context8.prev = 6;\n _context8.next = 9;\n return this._groupOrderService.save();\n\n case 9:\n _context8.next = 11;\n return this._checkoutService.beginCheckout(paymentSystem);\n\n case 11:\n paymentConfiguration = _context8.sent;\n\n this._scope.configuration.vendorDetails.clientToken = paymentConfiguration.clientToken;\n _context8.next = 18;\n break;\n\n case 15:\n _context8.prev = 15;\n _context8.t0 = _context8['catch'](6);\n\n this._scope.paymentSystemError = this._messageService.getMessageFromErrorResponse(_context8.t0);\n\n case 18:\n\n this._scope.processingPayment = false;\n _scope2.default.apply(this._scope);\n\n case 20:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this, [[6, 15]]);\n }));\n\n function _onPaymentSystemChanged(_x3) {\n return _ref8.apply(this, arguments);\n }\n\n return _onPaymentSystemChanged;\n }()\n }]);\n\n return OrderTabBudgetController;\n}();\n\nOrderTabBudgetController.$inject = ['$scope', 'cartonomyConfig', '$filter', 'OrderDateService', 'CheckoutService', 'CartService', 'GroupOrder', '$location', '$window', 'Message'];\n\n\n_module3.default.controller('OrderTabBudget', OrderTabBudgetController);\n\n/***/ }),\n/* 797 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// import module from '../module';\n// import Constants from '../../../utils/CommonConstants';\n// import states from '../../../resources/data/states.json';\n// import moment from 'moment';\n//\n// function OrderTabDeliveryAddressController($scope, $window, configurationService, orderDateServicePromise, userProfileService, groupOrderService) {\n//\n//\n// let getTimeValues = function () {\n// return [];\n// };\n//\n// let joinDateTime = function () {\n// return null;\n// };\n//\n// $scope.pickupLocations = [];\n// $scope.timeValues = [];\n// $scope.minimumDate = new Date();\n// $scope.maximumDate = new Date();\n// $scope.acceptedDateFilter = function () {\n// return true;\n// };\n// $scope.states = states;\n//\n// $scope.configuration = {\n// delivery: groupOrderService.getDeliveryMode(),\n// deliveryDetails: groupOrderService.getDeliveryDetails(),\n// deliveryAddress: groupOrderService.getDeliveryAddress(),\n// selectedDeliveryAddress: groupOrderService.getSelectedDeliveryAddress()\n// };\n//\n// function saveAndGotoNext() {\n// groupOrderService.setDeliveryDetails($scope.configuration.deliveryDetails);\n// groupOrderService.setDeliveryAddress($scope.configuration.deliveryAddress);\n// groupOrderService.setSelectedDeliveryAddress($scope.configuration.selectedDeliveryAddress);\n// $scope.next();\n// }\n//\n// $scope.$watch('configuration.deliveryDetails.date', function () {\n// $scope.timeValues = getTimeValues($scope.configuration.deliveryDetails.date);\n// });\n//\n// $scope.$watch('configuration.deliveryDetails.accepted', function () {\n// if ($scope.configuration.deliveryDetails.accepted && $scope.selectDeliveryPhone) {\n// $scope.selectDeliveryPhone({selectAll: $scope.configuration.deliveryDetails.phone});\n// }\n// });\n//\n// function resetDeliveryAddress() {\n// $scope.configuration.deliveryAddress = {\n// city: '',\n// state: '',\n// street: '',\n// zip: '',\n// aptSuite: '',\n// entered: false\n// };\n// }\n//\n// function resetDeliveryDetails() {\n// $scope.configuration.deliveryDetails = {\n// date: $scope.minimumDate,\n// time: null,\n// deliveryTime: '',\n// deliveryTimeFormatted: '',\n// deadlineTime: '',\n// deadlineTimeFormatted: '',\n// phone: '',\n// entered: false,\n// accepted: false,\n// pickupLocation: ''\n// };\n// }\n//\n// $scope.rejectDeliveryAddress = function () {\n// $scope.configuration.deliveryAddress.entered = false;\n// };\n//\n// $scope.acceptDeliveryAddress = function (form) {\n// if (!form.$valid) {\n// form.highlightAllErrors();\n// return;\n// }\n//\n// $scope.configuration.deliveryAddress.entered = true;\n// };\n//\n// $scope.deliveryAddressSelected = function () {\n//\n// if (!$scope.configuration.selectedDeliveryAddress) {\n// $scope.rejectDeliveryAddress();\n// return;\n// }\n//\n// let selected = $scope.configuration.selectedDeliveryAddress;\n//\n// if (selected.id === 0) {\n// resetDeliveryAddress();\n// return;\n// }\n//\n// selected = selected.source;\n//\n// let deliveryAddress = $scope.configuration.deliveryAddress;\n//\n// deliveryAddress.entered = true;\n// deliveryAddress.city = selected.city;\n// deliveryAddress.state = selected.state;\n// deliveryAddress.zip = selected.zip;\n// deliveryAddress.street = selected.address;\n// deliveryAddress.aptSuite = selected.address2;\n// };\n//\n// $scope.rejectPickupLocation = function () {\n// $scope.configuration.deliveryAddress.entered = false;\n// };\n//\n// $scope.acceptPickupLocation = function (form) {\n// if (!form.$valid) {\n// form.pickupLocation.$setTouched();\n// return;\n// }\n//\n// $scope.configuration.deliveryAddress.entered = true;\n// };\n//\n// $scope.rejectDeliveryDetails = function () {\n// $scope.configuration.deliveryDetails.entered = false;\n// $scope.configuration.deliveryDetails.accepted = false;\n// };\n//\n// $scope.checkDeliveryDetails = function (form) {\n//\n// if (!form.$valid) {\n// form.highlightAllErrors();\n// return;\n// }\n//\n// const deliveryDetails = $scope.configuration.deliveryDetails;\n//\n// // deliveryDetails.deliveryTime = joinDateTime(deliveryDetails.date, deliveryDetails.time);\n// // deliveryDetails.deliveryTimeFormatted = moment(deliveryDetails.deliveryTime).format('LT');\n// //\n// // deliveryDetails.deadlineTime = moment(deliveryDetails.deliveryTime).subtract($scope.configuration.delivery ? 60 : 30, 'minutes').toDate();\n// // deliveryDetails.deadlineTimeFormatted = moment(deliveryDetails.deadlineTime).format('LT');\n// //\n// // $scope.configuration.deliveryDetails.placeDate = deliveryDetails.deadlineTime;\n// // $scope.configuration.deliveryDetails.placeTime = moment(deliveryDetails.deadlineTime).toISOString();\n//\n// deliveryDetails.entered = true;\n// };\n//\n// $scope.acceptDeliveryPhone = async function (form) {\n//\n// if (!form.$valid) {\n// form.deliveryPhone.$setTouched();\n// return null;\n// }\n//\n// $window.sessionStorage.setItem(Constants.SessionStorage.DELIVERY_PHONE, $scope.configuration.deliveryDetails.phone);\n//\n// let address = $scope.configuration.selectedDeliveryAddress;\n//\n// if (address && address.id !== 0) {\n// $window.sessionStorage.setItem(Constants.SessionStorage.DELIVERY_ADDRESS, address.id);\n// saveAndGotoNext();\n// return null;\n// }\n//\n// address = $scope.configuration.deliveryAddress;\n//\n// await userProfileService.createAddress({\n// address: address.street,\n// address2: address.aptSuite,\n// city: address.city,\n// state: address.state,\n// zip: address.zip\n// });\n//\n// saveAndGotoNext();\n// };\n//\n// this.$onInit = () => {\n// configurationService.getItem('pickupAddress').then((pickupAddress) => {\n// $scope.pickupLocations = [\n// {address: pickupAddress}\n// ];\n// });\n//\n// orderDateServicePromise.then(function (orderDateService) {\n// orderDateService = orderDateService($scope.configuration.delivery ? 75 : 45);\n// $scope.minimumDate = orderDateService.getMinimumDate();\n// $scope.maximumDate = orderDateService.getMaximumDate();\n// $scope.acceptedDateFilter = orderDateService.getDateInRangeFilter();\n// getTimeValues = orderDateService.getTimeValues;\n// $scope.timeValues = getTimeValues($scope.configuration.deliveryDetails.date);\n// joinDateTime = orderDateService.joinDateAndTime;\n// });\n//\n// if (!$scope.configuration.deliveryDetails.time && $scope.configuration.deliveryDetails.deliveryTime) {\n// // const time = moment.utc($scope.configuration.deliveryDetails.deliveryTime);\n// $scope.configuration.deliveryDetails.date = time.toDate();\n// $scope.configuration.deliveryDetails.time = time.toISOString();\n// }\n//\n//\n// if (!$scope.configuration.deliveryDetails) {\n// resetDeliveryDetails();\n// }\n//\n// const phone = $window.sessionStorage.getItem(Constants.SessionStorage.DELIVERY_PHONE);\n// if (phone) {\n// $scope.configuration.deliveryDetails.phone = phone;\n// }\n//\n// if (!$scope.configuration.deliveryAddress) {\n// resetDeliveryAddress();\n// }\n//\n// if ($scope.deliveryAddresses && $scope.deliveryAddresses.length > 1 && !$scope.configuration.selectedDeliveryAddress) {\n//\n// const deliveryAddressId = $window.sessionStorage.getItem(Constants.SessionStorage.DELIVERY_ADDRESS);\n//\n// if (deliveryAddressId) {\n// const deliveryAddress = $scope.deliveryAddresses.find(a => a.id == deliveryAddressId);\n// if (deliveryAddress) {\n// $scope.configuration.selectedDeliveryAddress = deliveryAddress;\n// $scope.deliveryAddressSelected();\n// }\n// }\n// }\n// };\n// }\n//\n// module.controller('OrderTabDeliveryAddress', ['$scope', '$window', 'ConfigurationService', 'OrderDateService', 'UserProfile', 'GroupOrder', OrderTabDeliveryAddressController]);\n\n\n/***/ }),\n/* 798 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction OrderTabFinishController($scope, cartonomyConfig, userProfile, session, groupOrderService) {\n\n session.getUserName().then(function (ownerEmail) {\n $scope.orderOwnerEmail = ownerEmail;\n });\n $scope.orderOwnerName = $scope.orderOwnerEmail;\n $scope.externalStoreMode = cartonomyConfig.externalStoreMode;\n\n $scope.configuration = {\n groupPay: groupOrderService.getGroupPay(),\n singlePayOrder: groupOrderService.getSinglePayOrder(),\n deliveryDetails: groupOrderService.getDeliveryDetails()\n };\n\n $scope.deadlineTime = (0, _moment2.default)($scope.configuration.deliveryDetails.deadlineTime).format('LT [on] MMMM D, YYYY');\n\n if ((0, _moment2.default)($scope.configuration.deliveryDetails.deadlineTime).isValid()) {\n $scope.deadlineTimeText = (0, _moment2.default)($scope.configuration.deliveryDetails.deadlineTime).format('LT [on] MMMM D, YYYY');\n }\n\n userProfile.getUser().then(function (user) {\n $scope.orderOwnerName = _.trim(user.firstName + ' ' + user.lastName);\n });\n}\n\n_module3.default.controller('OrderTabFinish', ['$scope', 'cartonomyConfig', 'UserProfile', 'Session', 'GroupOrder', OrderTabFinishController]);\n\n/***/ }),\n/* 799 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction OrderTabPayModeController($scope, groupOrderService) {\n\n $scope.configuration = {\n groupPay: groupOrderService.getGroupPay()\n };\n\n $scope.selectGroupPay = function (mode) {\n\n groupOrderService.setGroupPay(mode);\n groupOrderService.setSinglePayOrder(groupOrderService.getSinglePayOrder() || {});\n\n if (!mode) {\n $scope.cancelPreview();\n }\n\n $scope.next();\n };\n}\n\n_module3.default.controller('OrderTabPayMode', ['$scope', 'GroupOrder', OrderTabPayModeController]);\n\n/***/ }),\n/* 800 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction OrderTabPaymentDetailsController($scope, groupOrderService) {\n\n $scope.configuration.singlePayOrder = groupOrderService.getSinglePayOrder() || {};\n\n $scope.acceptPaymentDetails = function (form) {\n\n if (!form.$valid) {\n form.highlightAllErrors();\n return;\n }\n\n $scope.next();\n };\n}\n\n_module3.default.controller('OrderTabPaymentDetails', ['$scope', 'GroupOrder', OrderTabPaymentDetailsController]);\n\n/***/ }),\n/* 801 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OrderTabPreviewController = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _communicationService = __webpack_require__(28);\n\nvar _commandKeys = __webpack_require__(27);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n__webpack_require__(802);\n\nvar OrderTabPreviewController = exports.OrderTabPreviewController = function () {\n function OrderTabPreviewController(scope, cartonomyConfig, cartService, qService, messageService, configurationService, groupOrderService, checkoutService, rootScope, mdSelect, $translate) {\n var _this = this;\n\n _classCallCheck(this, OrderTabPreviewController);\n\n this._deadlineExpired = function () {\n if (!_this._scope.configuration.deliveryDetails.deadlineTime) {\n return false;\n }\n var deadlineTime = (0, _moment2.default)(_this._scope.configuration.deliveryDetails.deadlineTime).subtract(15, 'minutes').toDate();\n return (0, _moment2.default)().isAfter(deadlineTime);\n };\n\n this.__mdSelectBackdropCallback = function () {\n _this._mdSelect.hide();\n };\n\n this._scope = scope;\n\n this._cartService = cartService;\n this._cartonomyConfig = cartonomyConfig;\n this._qService = qService;\n this._messageService = messageService;\n this._groupOrderService = groupOrderService;\n this._configurationService = configurationService;\n this._checkoutService = checkoutService;\n this._rootScope = rootScope;\n this._mdSelect = mdSelect;\n this.$translate = $translate;\n\n scope.externalStoreMode = cartonomyConfig.externalStoreMode;\n scope.maxAllowedBudget = 100000;\n\n scope.readOnly = false;\n scope.errorMessage = '';\n\n scope.editDeliveryInfo = function () {\n return scope.previewTab('deliveryAddress');\n };\n scope.editOrderDeadline = function () {\n return scope.previewTab('deadline');\n };\n scope.editInvitees = function () {\n return scope.previewTab('addPeople');\n };\n scope.editBudget = function () {\n return scope.previewTab('budget');\n };\n scope.createOrderAndSendInvites = function () {\n return _this._createOrderAndSendInvites();\n };\n scope.acceptSinglePayOrderNoBudget = function (form) {\n return _this._acceptSinglePayOrderNoBudget(form);\n };\n scope.acceptSinglePayOrderNoPayment = function (form) {\n return _this._acceptSinglePayOrderNoPayment(form);\n };\n scope.onBudgetChanged = function () {\n return _this._onBudgetChanged();\n };\n scope.acceptSinglePayOrderBudget = function (form) {\n return _this._acceptSinglePayOrderBudget(form);\n };\n scope.acceptPaymentInformation = function () {\n return _this._acceptPaymentInformation();\n };\n scope.shouldDisablePaymentInformationNextButton = function () {\n return _this._shouldDisablePaymentInformationNextButton();\n };\n scope.saveAndGoNext = function () {\n return _this._saveAndGoNext();\n };\n scope.onDeadlineDateChanged = function () {\n return _this._onDeadlineDateChanged();\n };\n scope.onMdSelectOpen = function () {\n return _this._onMdSelectOpen();\n };\n scope.onMdSelectClose = function () {\n return _this._onMdSelectClose();\n };\n\n scope.cartNameChange = function () {\n return _this._cartNameChange();\n };\n scope.orderModel = {\n cartNameValue: $translate.instant(_CommonConstants2.default.CART_NAME_DEFAULT_VALUE),\n isValid: true,\n deadlineDate: null,\n deadlineTime: null,\n customCartName: '0'\n };\n\n scope.deliverTimeValues = [];\n\n scope.modelValidation = {\n budget: true,\n deadlineDate: true,\n deadlineTime: true,\n deliveryDate: true\n };\n\n scope.isGeneralMillsPOC = false;\n\n scope.currencySymbol = this._rootScope.moneyFormat.replace('{{amount}}', '');\n\n scope.$watch('configuration.paymentSystem', function (paymentSystem) {\n return _this._onPaymentSystemChanged(paymentSystem);\n });\n }\n\n _createClass(OrderTabPreviewController, [{\n key: '$onInit',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var _this2 = this;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this._scope.orderModel.customCartName = this._rootScope.retailer.customCartNames;\n this._scope.configuration = {\n delivery: this._groupOrderService.getDeliveryMode(),\n groupPay: this._groupOrderService.getGroupPay(),\n paymentMethod: _CommonConstants2.default.CartDetails.PaymentMethods.SINGLE,\n singlePayOrder: this._groupOrderService.getSinglePayOrder(),\n contactDetails: this._groupOrderService.getContactDetails(),\n deliveryDetails: this._groupOrderService.getDeliveryDetails(),\n deliveryAddress: this._groupOrderService.getDeliveryAddress()\n };\n\n this._scope.canChangeDeadline = this._rootScope.retailer.cartonomyMode !== _CommonConstants2.default.CartonomyMode.marketing;\n this._scope.hasDeliveryDate = this._rootScope.retailer.hasDeliveryDate;\n this._scope.createInstruction = this._rootScope.retailer.cartonomyMode === _CommonConstants2.default.CartonomyMode.marketing ? 'client.user.marketing' : 'client.user.marketing_link';\n this._scope.marketingMode = this._rootScope.retailer.cartonomyMode === _CommonConstants2.default.CartonomyMode.marketing;\n\n this._scope.invitedPeopleCount = this._scope.configuration.contactDetails != null ? this._scope.configuration.contactDetails.selectedEmails.length : 0;\n if (!this._scope.configuration.delivery) {\n this._scope.pickup = {};\n this._configurationService.getItem('pickupAddress').then(function (pickupAddress) {\n _this2._scope.pickup.address = pickupAddress;\n _scope2.default.apply(_this2._scope);\n });\n }\n\n if (!this._scope._editMode) {\n _context.next = 14;\n break;\n }\n\n _context.next = 11;\n return this._cartService.getCart();\n\n case 11:\n this.cart = _context.sent;\n\n this._scope.orderModel.cartNameValue = this.cart.cartName || this.$translate.instant(_CommonConstants2.default.CART_NAME_DEFAULT_VALUE);\n\n if (!this._scope.configuration.singlePayOrder.budget) {\n this._scope.configuration.singlePayOrder.budget = this.cart.orderLimit;\n }\n\n case 14:\n\n if (_.isString(this._scope.configuration.singlePayOrder.budget) && this._scope.configuration.singlePayOrder.budget.match(/^\\d/) || this._scope.configuration.singlePayOrder.budget > 0) {\n this._scope.configuration.singlePayOrder.budget = parseFloat(this._scope.configuration.singlePayOrder.budget);\n this._scope.configuration.singlePayOrder.defineBudget = 'yes';\n this._scope.configuration.singlePayOrder.budgetEntered = true;\n } else {\n this._scope.configuration.singlePayOrder.budget = \"\";\n this._scope.configuration.singlePayOrder.defineBudget = 'no';\n }\n\n _context.next = 17;\n return this._checkoutService.paymentAuthorizedOrCaptured();\n\n case 17:\n this._scope.configuration.paymentProvided = _context.sent;\n\n\n if (this._scope.externalStoreMode && !this._scope.configuration.singlePayOrder.enterPaymentInformation) {\n this._scope.configuration.singlePayOrder.enterPaymentInformation = 'no';\n }\n\n //Retailer Link\n this.retailer = this._configurationService.getRetailer().retailer;\n this.retailerTimezone = this.retailer.timeZoneSettingName;\n _context.next = 23;\n return this._setupDeliveryTime();\n\n case 23:\n\n this._scope.isSelectPaymentType = this.retailer.paymentType === _CommonConstants2.default.CartDetails.PaymentMethods.USER_SELECT;\n this._scope.isSelectBudgetType = this.retailer.budgetType === _CommonConstants2.default.CartDetails.BudgetTypes.USER_SELECT;\n this._scope.isGeneralMillsPOC = this.retailer && _CommonConstants2.default.GENERAL_MILLS_POC.some(function (poc) {\n return _this2.retailer.name.indexOf(poc) > -1;\n });\n\n this._scope.configuration.singlePayOrder.budgetType = this._scope.isSelectBudgetType ? _CommonConstants2.default.CartDetails.BudgetTypes.PER_CART : this.retailer.budgetType;\n\n _scope2.default.apply(this._scope);\n\n case 28:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function $onInit() {\n return _ref.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: '_createOrderAndSendInvites',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var response;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._scope.hasDeliveryDate && !this._scope.configuration.deliveryDetails.deliveryTime)) {\n _context2.next = 3;\n break;\n }\n\n this._scope.modelValidation.deliveryDate = false;\n return _context2.abrupt('return');\n\n case 3:\n _context2.next = 5;\n return _communicationService.communicationService.requestToParent(_commandKeys.commandKeys.createNewGroupOrder);\n\n case 5:\n response = _context2.sent;\n\n if (!(!response || !response.success)) {\n _context2.next = 10;\n break;\n }\n\n this._scope.errorMessage = response && response.errorMessage || this.$translate.instant('client.order.error_parent');\n this._scope.readOnly = true;\n return _context2.abrupt('return');\n\n case 10:\n if (!this._deadlineExpired()) {\n _context2.next = 14;\n break;\n }\n\n this._scope.errorMessage = this.$translate.instant('client.order.deadline_expired', { delivery: this._scope.configuration.delivery ? 'delivery' : 'pickup' });\n this._scope.readOnly = true;\n return _context2.abrupt('return');\n\n case 14:\n\n this._scope.readOnly = true;\n this._scope.errorMessage = '';\n\n _context2.prev = 16;\n _context2.next = 19;\n return this._cartService.setInvitationType(_CommonConstants2.default.InvitationTypes.share);\n\n case 19:\n _context2.next = 21;\n return this._submitOrder(response.data);\n\n case 21:\n _context2.prev = 21;\n\n this._scope.readOnly = false;\n return _context2.finish(21);\n\n case 24:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this, [[16,, 21, 24]]);\n }));\n\n function _createOrderAndSendInvites() {\n return _ref2.apply(this, arguments);\n }\n\n return _createOrderAndSendInvites;\n }()\n }, {\n key: '_submitOrder',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(data) {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n this._scope.invitationCode = this._cartService.getInviteCode();\n\n if (this._scope.invitationCode) {\n _context3.next = 7;\n break;\n }\n\n _context3.next = 4;\n return this._cartService.getInvitationCode();\n\n case 4:\n this._scope.invitationCode = _context3.sent;\n\n this._cartService.setInviteCode(this._scope.invitationCode);\n this._cartService.setInvitationType(_CommonConstants2.default.InvitationTypes.share);\n\n case 7:\n _context3.next = 9;\n return this._saveOrderInfo();\n\n case 9:\n if (this._isModelValid()) {\n _context3.next = 11;\n break;\n }\n\n return _context3.abrupt('return');\n\n case 11:\n\n this._groupOrderService.setDeliveryDetails(this._scope.configuration.deliveryDetails);\n\n _context3.prev = 12;\n _context3.next = 15;\n return this._groupOrderService.save(data);\n\n case 15:\n _context3.next = 17;\n return this._groupOrderService.sendInvites();\n\n case 17:\n _context3.next = 19;\n return this._cartService.resetCart();\n\n case 19:\n this._scope.setCurrentTabById('finish');\n _scope2.default.apply(this._scope);\n _context3.next = 26;\n break;\n\n case 23:\n _context3.prev = 23;\n _context3.t0 = _context3['catch'](12);\n\n this._scope.errorMessage = this._messageService.getMessageFromErrorResponse(_context3.t0) || this.$translate.instant('client.order.cart_not_update');\n\n case 26:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this, [[12, 23]]);\n }));\n\n function _submitOrder(_x) {\n return _ref3.apply(this, arguments);\n }\n\n return _submitOrder;\n }()\n }, {\n key: '_saveAndGoNext',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (this._isModelValid()) {\n _context4.next = 2;\n break;\n }\n\n return _context4.abrupt('return');\n\n case 2:\n _context4.next = 4;\n return this._saveOrderInfo();\n\n case 4:\n this._scope.next();\n\n case 5:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function _saveAndGoNext() {\n return _ref4.apply(this, arguments);\n }\n\n return _saveAndGoNext;\n }()\n }, {\n key: '_saveOrderInfo',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (this._scope._editMode && this._scope.configuration.singlePayOrder.budget && this.cart.cartTotal < this._scope.configuration.singlePayOrder.budget) {\n this._scope.configuration.singlePayOrder.budgetInvalid = true;\n }\n\n if (!this._scope.configuration.singlePayOrder.budget) {\n _context5.next = 6;\n break;\n }\n\n _context5.next = 4;\n return this._acceptSinglePayOrderBudget();\n\n case 4:\n _context5.next = 8;\n break;\n\n case 6:\n _context5.next = 8;\n return this._acceptSinglePayOrderNoBudget();\n\n case 8:\n _context5.next = 10;\n return this.saveDeadline();\n\n case 10:\n _context5.next = 12;\n return this.saveCartName();\n\n case 12:\n this._groupOrderService.setPaymentMethod(this._scope.configuration.paymentMethod);\n\n case 13:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function _saveOrderInfo() {\n return _ref5.apply(this, arguments);\n }\n\n return _saveOrderInfo;\n }()\n }, {\n key: '_setupDeliveryTime',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n var _this3 = this;\n\n var placeDateAndTime, minimumTime, minimumDeliveryTime, minimumDate, maximumTime, maximumDate, getTimeValues, timeValues;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n this._scope.configuration.deliveryDetails.placeDateAndTime = this._scope.configuration.deliveryDetails.placeDateAndTime || this._scope.configuration.deliveryDetails.deadlineTime;\n\n placeDateAndTime = this._scope.configuration.deliveryDetails.placeDateAndTime;\n\n this._scope.closeOn = placeDateAndTime ? _moment2.default.tz(placeDateAndTime, this.retailerTimezone).format('ddd[,] MMM Do[,] LT') + this.retailer.timeZoneDisplayName : '';\n\n minimumTime = (0, _moment2.default)().add(15, 'minutes');\n minimumDeliveryTime = (0, _moment2.default)().add(90, 'minutes');\n minimumDate = _moment2.default.tz(minimumTime, this.retailerTimezone).startOf('day');\n maximumTime = null;\n\n\n if (!this._scope._editMode || this._cartonomyConfig.externalStoreMode) {\n maximumTime = (0, _moment2.default)().clone().add('3', 'years').endOf('day');\n } else if (this._scope.configuration.deliveryDetails.deadlineTime && !this._cartonomyConfig.externalStoreMode) {\n maximumTime = (0, _moment2.default)(this._scope.configuration.deliveryDetails.deadlineTime);\n } else {\n maximumTime = (0, _moment2.default)().clone().endOf('day');\n }\n\n maximumDate = maximumTime.clone().endOf('day');\n\n\n this._scope.minimumDate = minimumDate.toDate();\n this._scope.maximumDate = maximumDate.toDate();\n\n if (placeDateAndTime) {\n this._scope.configuration.deliveryDetails.placeDate = (0, _moment2.default)(placeDateAndTime).toDate();\n }\n\n if (placeDateAndTime && (0, _moment2.default)(placeDateAndTime).isValid()) {\n this._scope.configuration.deliveryDetails.placeTime = (0, _moment2.default)(placeDateAndTime).format();\n\n this._scope.configuration.deliveryDetails.defineDeadline = true;\n } else {\n this._scope.configuration.deliveryDetails.defineDeadline = false;\n }\n\n getTimeValues = function getTimeValues(date, minimumTime, maximumTime) {\n\n var currentDate = (0, _moment2.default)(date).startOf('day');\n var endDate = currentDate.clone().endOf('day');\n\n var list = [];\n\n for (; currentDate.isSameOrBefore(endDate); currentDate.add(30, 'minutes')) {\n var _minimumTime = (0, _moment2.default)(minimumTime);\n var _maximumTime = (0, _moment2.default)(maximumTime);\n if (currentDate.isBetween(_minimumTime, _maximumTime, 'minutes', '[]')) {\n\n var value = currentDate.format();\n list.push({\n text: currentDate.format('LT'),\n value: value\n });\n }\n }\n\n return list;\n };\n\n this._scope.acceptedDateFilter = function (date) {\n date = (0, _moment2.default)(date).format('YYYY-MM-DD');\n date = _moment2.default.tz(date, _this3.retailerTimezone);\n return date.isSameOrAfter(minimumDate);\n };\n\n // regular mode will have expire time assigned, shopify mode should not have\n if (!this._cartonomyConfig.externalStoreMode) {\n timeValues = getTimeValues(maximumDate, minimumTime, maximumTime);\n\n\n if (timeValues.length && !placeDateAndTime) {\n this._scope.configuration.deliveryDetails.placeTime = timeValues[timeValues.length - 1].value;\n }\n }\n\n if (this._scope.configuration.deliveryDetails.deliveryDate) {\n this._scope.configuration.deliveryDetails._deliveryDate = _moment2.default.utc(this._scope.configuration.deliveryDetails.deliveryDate).local().toDate();\n this._scope.configuration.deliveryDetails.deliveryTime = _moment2.default.utc(this._scope.configuration.deliveryDetails.deliveryTime).local().format();\n }\n\n this._scope.$watch('configuration.deliveryDetails._deliveryDate', function (newValue) {\n if (!newValue) return;\n\n _this3._scope.configuration.deliveryDetails.deliveryDate = _this3._scope.configuration.deliveryDetails._deliveryDate;\n _this3._scope.deliverTimeValues = getTimeValues(newValue, minimumDeliveryTime, maximumDate);\n\n if (_this3._scope.configuration.deliveryDetails.deliveryTime && _moment2.default.utc(_this3._scope.configuration.deliveryDetails.deliveryTime).local().isSame(_moment2.default.utc(_this3._scope.configuration.deliveryDetails._deliveryDate).local(), 'day')) {\n _this3._scope.configuration.deliveryDetails.deliveryTime = _moment2.default.utc(_this3._scope.configuration.deliveryDetails.deliveryTime).local().format();\n } else {\n _this3._scope.configuration.deliveryDetails.deliveryTime = _this3._scope.deliverTimeValues[0].value;\n }\n _scope2.default.apply(_this3._scope);\n });\n\n this._scope.$watch('configuration.deliveryDetails.placeDate', function (newValue) {\n if (!newValue) return;\n\n var timeValues = getTimeValues(newValue, minimumTime, maximumTime);\n _this3._scope.timeValues = timeValues;\n\n if (!placeDateAndTime) {\n _this3._scope.configuration.deliveryDetails.placeTime = timeValues[timeValues.length - 1].value;\n }\n _scope2.default.apply(_this3._scope);\n });\n\n case 19:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _setupDeliveryTime() {\n return _ref6.apply(this, arguments);\n }\n\n return _setupDeliveryTime;\n }()\n }, {\n key: '_acceptPaymentInformation',\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.t0 = this._scope.configuration.paymentSystem;\n _context7.next = _context7.t0 === 'PayPal' ? 3 : _context7.t0 === 'Square' ? 4 : 7;\n break;\n\n case 3:\n return _context7.abrupt('return', this._onPaypalSelected());\n\n case 4:\n _context7.next = 6;\n return this._onCreditCardSelected();\n\n case 6:\n return _context7.abrupt('return', _context7.sent);\n\n case 7:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function _acceptPaymentInformation() {\n return _ref7.apply(this, arguments);\n }\n\n return _acceptPaymentInformation;\n }()\n }, {\n key: '_acceptSinglePayOrderNoPayment',\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n this._scope.budgetExceeds = false;\n this._scope.budgetMaximumReach = false;\n _context8.next = 4;\n return this._onBudgetChanged();\n\n case 4:\n\n if (!this._scope.budgetExceeds && !this._scope.budgetMaximumReach) {\n this.saveBudget();\n }\n\n case 5:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function _acceptSinglePayOrderNoPayment() {\n return _ref8.apply(this, arguments);\n }\n\n return _acceptSinglePayOrderNoPayment;\n }()\n }, {\n key: '_onBudgetChanged',\n value: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n var currentAmount;\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n if (this._scope.configuration.singlePayOrder.budget && _.isString(this._scope.configuration.singlePayOrder.budget)) {\n this._scope.configuration.singlePayOrder.budget = this._scope.configuration.singlePayOrder.budget.replace(/[^0-9.]/g, \"\");\n this._scope.configuration.singlePayOrder.budgetEntered = true;\n } else {\n this._scope.configuration.singlePayOrder.budgetEntered = false;\n }\n\n if (this._scope.externalStoreMode && !this._scope.configuration.singlePayOrder.enterPaymentInformation) {\n this._scope.configuration.singlePayOrder.enterPaymentInformation = 'no';\n }\n\n this._scope.budgetExceeds = false;\n this._scope.budgetMaximumReach = false;\n\n _context9.next = 6;\n return this._cartService.getCartAmount();\n\n case 6:\n currentAmount = _context9.sent;\n\n if (this._scope.configuration.singlePayOrder.budget < currentAmount) {\n this._scope.budgetExceeds = currentAmount;\n }\n if (this._scope.configuration.singlePayOrder.budget > this._scope.maxAllowedBudget) {\n this._scope.budgetMaximumReach = true;\n }\n this._scope.modelValidation.budget = !(!!this._scope.configuration.singlePayOrder.budget && (this._scope.budgetExceeds || this._scope.budgetMaximumReach));\n _scope2.default.apply(this._scope);\n\n case 11:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function _onBudgetChanged() {\n return _ref9.apply(this, arguments);\n }\n\n return _onBudgetChanged;\n }()\n }, {\n key: '_acceptSinglePayOrderBudget',\n value: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n if (!_.isString(this._scope.configuration.singlePayOrder.budget)) {\n _context10.next = 5;\n break;\n }\n\n this._scope.configuration.singlePayOrder.budget = this._scope.configuration.singlePayOrder.budget.replace(/[^0-9.]/g, \"\");\n this._scope.configuration.singlePayOrder.budgetEntered = true;\n _context10.next = 7;\n break;\n\n case 5:\n _context10.next = 7;\n return this.saveBudget();\n\n case 7:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function _acceptSinglePayOrderBudget() {\n return _ref10.apply(this, arguments);\n }\n\n return _acceptSinglePayOrderBudget;\n }()\n }, {\n key: '_acceptSinglePayOrderNoBudget',\n value: function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n this._scope.configuration.singlePayOrder.budget = 0;\n _context11.next = 3;\n return this.saveBudget();\n\n case 3:\n _scope2.default.apply(this._scope);\n\n case 4:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function _acceptSinglePayOrderNoBudget() {\n return _ref11.apply(this, arguments);\n }\n\n return _acceptSinglePayOrderNoBudget;\n }()\n }, {\n key: '_shouldDisablePaymentInformationNextButton',\n value: function _shouldDisablePaymentInformationNextButton() {\n if (!this._scope.configuration.paymentSystem) {\n return true;\n }\n\n if (this._scope.configuration.paymentSystem && this._scope.configuration.paymentSystem == 'PayPal' && !this._scope.configuration.vendorDetails.clientToken) {\n\n return true;\n }\n\n return this._scope.configuration.paymentSystem == '';\n }\n }, {\n key: '_onPaypalSelected',\n value: function _onPaypalSelected() {\n this._scope.processingPayment = true;\n this.saveBudget();\n this._groupOrderService.saveToSessionStorage();\n window.location.href = _CommonConstants2.default.PAYPAL_CHECKOUT_URL + this._scope.configuration.vendorDetails.clientToken;\n }\n }, {\n key: '_onCreditCardSelected',\n value: function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {\n return regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n\n this._scope.processingPayment = true;\n this._scope.paymentSystemError = '';\n _scope2.default.apply(this._scope);\n\n _context12.prev = 3;\n _context12.next = 6;\n return this._scope.configuration.getCardNonce();\n\n case 6:\n this._scope.configuration.vendorDetails = _context12.sent;\n\n this._scope.configuration.vendorDetails.isAuthorization = true;\n this._scope.configuration.vendorDetails.orderTotal = this._scope.configuration.singlePayOrder.budget;\n\n _context12.next = 11;\n return this._checkoutService.submitOrder(this._scope.configuration.paymentSystem, this._scope.configuration.vendorDetails);\n\n case 11:\n _context12.next = 19;\n break;\n\n case 13:\n _context12.prev = 13;\n _context12.t0 = _context12['catch'](3);\n\n this._scope.paymentSystemError = \"client.payment.credit_trans_not_approved\";\n\n this._scope.processingPayment = false;\n _scope2.default.apply(this._scope);\n return _context12.abrupt('return', null);\n\n case 19:\n\n this._scope.processingPayment = false;\n _scope2.default.apply(this._scope);\n\n this.saveBudget();\n\n case 22:\n case 'end':\n return _context12.stop();\n }\n }\n }, _callee12, this, [[3, 13]]);\n }));\n\n function _onCreditCardSelected() {\n return _ref12.apply(this, arguments);\n }\n\n return _onCreditCardSelected;\n }()\n }, {\n key: '_onPaymentSystemChanged',\n value: function () {\n var _ref13 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13(paymentSystem) {\n var paymentConfiguration;\n return regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n if (paymentSystem) {\n _context13.next = 3;\n break;\n }\n\n this._scope.processingPayment = false;\n return _context13.abrupt('return', null);\n\n case 3:\n\n this._scope.processingPayment = true;\n this._scope.paymentSystemError = '';\n _scope2.default.apply(this._scope);\n\n _context13.prev = 6;\n _context13.next = 9;\n return this._groupOrderService.save();\n\n case 9:\n _context13.next = 11;\n return this._checkoutService.beginCheckout(paymentSystem);\n\n case 11:\n paymentConfiguration = _context13.sent;\n\n this._scope.configuration.vendorDetails.clientToken = paymentConfiguration.clientToken;\n _context13.next = 18;\n break;\n\n case 15:\n _context13.prev = 15;\n _context13.t0 = _context13['catch'](6);\n\n this._scope.paymentSystemError = this._messageService.getMessageFromErrorResponse(_context13.t0);\n\n case 18:\n\n this._scope.processingPayment = false;\n _scope2.default.apply(this._scope);\n\n case 20:\n case 'end':\n return _context13.stop();\n }\n }\n }, _callee13, this, [[6, 15]]);\n }));\n\n function _onPaymentSystemChanged(_x2) {\n return _ref13.apply(this, arguments);\n }\n\n return _onPaymentSystemChanged;\n }()\n }, {\n key: '_cartNameChange',\n value: function _cartNameChange() {\n if (!this._scope.orderModel.cartNameValue) {\n this._scope.orderModel.isValid = false;\n } else {\n this._scope.orderModel.isValid = true;\n }\n }\n }, {\n key: 'addEventListenerOnce',\n value: function addEventListenerOnce(target, type, listener, addOptions, removeOptions) {\n target.addEventListener(type, function fn(event) {\n target.removeEventListener(type, fn, removeOptions);\n listener.apply(this, arguments);\n }, addOptions);\n }\n }, {\n key: '_onMdSelectOpen',\n value: function _onMdSelectOpen() {\n var _this4 = this;\n\n setTimeout(function () {\n _this4.addEventListenerOnce(document, \"click\", _this4.__mdSelectBackdropCallback, true);\n }, 500);\n }\n }, {\n key: '_onMdSelectClose',\n value: function _onMdSelectClose() {\n document.removeEventListener(\"click\", this.__mdSelectBackdropCallback, true);\n }\n }, {\n key: '_onDeadlineDateChanged',\n value: function _onDeadlineDateChanged() {\n this._scope.modelValidation.deadlineDate = !this._scope.configuration.deliveryDetails.placeTime && !this._scope.configuration.deliveryDetails.placeDate || !this._scope.configuration.deliveryDetails.placeTime || this._scope.configuration.deliveryDetails.placeDate;\n this._scope.modelValidation.deadlineTime = !this._scope.configuration.deliveryDetails.placeTime && !this._scope.configuration.deliveryDetails.placeDate || this._scope.configuration.deliveryDetails.placeTime || !this._scope.configuration.deliveryDetails.placeDate;\n }\n }, {\n key: 'saveBudget',\n value: function () {\n var _ref14 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14() {\n return regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n this._groupOrderService.setSinglePayOrder(this._scope.configuration.singlePayOrder);\n this._groupOrderService.setVendorDetails(this._scope.configuration.vendorDetails);\n this._groupOrderService.setPaymentSystem(this._scope.configuration.paymentSystem);\n\n case 3:\n case 'end':\n return _context14.stop();\n }\n }\n }, _callee14, this);\n }));\n\n function saveBudget() {\n return _ref14.apply(this, arguments);\n }\n\n return saveBudget;\n }()\n }, {\n key: 'saveDeadline',\n value: function () {\n var _ref15 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15() {\n var deadline, time;\n return regeneratorRuntime.wrap(function _callee15$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n if (this._scope.configuration.deliveryDetails.placeDate) {\n deadline = (0, _moment2.default)(this._scope.configuration.deliveryDetails.placeDate);\n\n if (this._scope.configuration.deliveryDetails.placeTime) {\n time = (0, _moment2.default)(this._scope.configuration.deliveryDetails.placeTime);\n\n deadline.hour(time.hour());\n deadline.minute(time.minute());\n } else {\n deadline.hour(0);\n deadline.minute(0);\n }\n this._scope.configuration.deliveryDetails.deadlineTime = _moment2.default.tz(deadline, this.retailerTimezone).format();\n } else {\n this._scope.configuration.deliveryDetails.deadlineTime = null;\n }\n this._groupOrderService.setDeliveryDetails(this._scope.configuration.deliveryDetails);\n\n case 2:\n case 'end':\n return _context15.stop();\n }\n }\n }, _callee15, this);\n }));\n\n function saveDeadline() {\n return _ref15.apply(this, arguments);\n }\n\n return saveDeadline;\n }()\n }, {\n key: 'saveCartName',\n value: function () {\n var _ref16 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16() {\n return regeneratorRuntime.wrap(function _callee16$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n if (!(this._scope.orderModel.customCartName === '1' && !this._scope.orderModel.cartNameValue)) {\n _context16.next = 3;\n break;\n }\n\n this._scope.orderModel.isValid = false;\n return _context16.abrupt('return');\n\n case 3:\n this._groupOrderService.setCustomCartName(this._scope.orderModel.customCartName, this._scope.orderModel.cartNameValue);\n\n case 4:\n case 'end':\n return _context16.stop();\n }\n }\n }, _callee16, this);\n }));\n\n function saveCartName() {\n return _ref16.apply(this, arguments);\n }\n\n return saveCartName;\n }()\n }, {\n key: '_isModelValid',\n value: function _isModelValid() {\n return this._scope.modelValidation.budget && this._scope.modelValidation.deadlineDate && this._scope.modelValidation.deadlineTime;\n }\n }]);\n\n return OrderTabPreviewController;\n}();\n\nOrderTabPreviewController.$inject = ['$scope', 'cartonomyConfig', 'CartService', '$q', 'Message', 'ConfigurationService', 'GroupOrder', 'CheckoutService', '$rootScope', '$mdSelect', '$translate'];\n\n\n_module3.default.controller('OrderTabPreview', OrderTabPreviewController);\n\n/***/ }),\n/* 802 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar moment = module.exports = __webpack_require__(803);\nmoment.tz.load(__webpack_require__(804));\n\n/***/ }),\n/* 803 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//! moment-timezone.js\n//! version : 0.5.31\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\n\tif (( false ? 'undefined' : _typeof(module)) === 'object' && module.exports) {\n\t\tmodule.exports = factory(__webpack_require__(1)); // Node\n\t} else if (true) {\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n})(undefined, function (moment) {\n\t\"use strict\";\n\n\t// Resolves es6 module loading issue\n\n\tif (moment.version === undefined && moment.default) {\n\t\tmoment = moment.default;\n\t}\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.31\",\n\t zones = {},\n\t links = {},\n\t _countries = {},\n\t names = {},\n\t guesses = {},\n\t cachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t major = +momentVersion[0],\n\t minor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || major === 2 && minor < 6) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n \tUnpacking\n ************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t parts = string.split('.'),\n\t\t whole = parts[0],\n\t\t fractional = parts[1] || '',\n\t\t multiplier = 1,\n\t\t num,\n\t\t out = 0,\n\t\t sign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt(array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil(array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + array[i] * 60000); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices(source, indices) {\n\t\tvar out = [],\n\t\t i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack(string) {\n\t\tvar data = string.split('|'),\n\t\t offsets = data[2].split(' '),\n\t\t indices = data[3].split(''),\n\t\t untils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname: data[0],\n\t\t\tabbrs: mapIndices(data[1].split(' '), indices),\n\t\t\toffsets: mapIndices(offsets, indices),\n\t\t\tuntils: untils,\n\t\t\tpopulation: data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n \tZone object\n ************************************/\n\n\tfunction Zone(packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set: function _set(unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index: function _index(timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t untils = this.untils,\n\t\t\t i;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tcountries: function countries() {\n\t\t\tvar zone_name = this.name;\n\t\t\treturn Object.keys(_countries).filter(function (country_code) {\n\t\t\t\treturn _countries[country_code].zones.indexOf(zone_name) !== -1;\n\t\t\t});\n\t\t},\n\n\t\tparse: function parse(timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t offsets = this.offsets,\n\t\t\t untils = this.untils,\n\t\t\t max = untils.length - 1,\n\t\t\t offset,\n\t\t\t offsetNext,\n\t\t\t offsetPrev,\n\t\t\t i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - offset * 60000) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr: function abbr(mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset: function offset(mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset: function utcOffset(mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n \tCountry object\n ************************************/\n\n\tfunction Country(country_name, zone_names) {\n\t\tthis.name = country_name;\n\t\tthis.zones = zone_names;\n\t}\n\n\t/************************************\n \tCurrent Timezone\n ************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile (diff = ((high.at - low.at) / 12e4 | 0) * 6e4) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t last = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t offsets = [last],\n\t\t change,\n\t\t next,\n\t\t i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores(a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\tif (a.zone.population !== b.zone.population) {\n\t\t\treturn b.zone.population - a.zone.population;\n\t\t}\n\t\treturn b.zone.name.localeCompare(a.zone.name);\n\t}\n\n\tfunction addToGuesses(name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets(offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t filteredGuesses = {},\n\t\t out = [],\n\t\t i,\n\t\t j,\n\t\t guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess() {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t offsetsLength = offsets.length,\n\t\t guesses = guessesForUserOffsets(offsets),\n\t\t zoneScores = [],\n\t\t zoneScore,\n\t\t i,\n\t\t j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess(ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n \tGlobal Methods\n ************************************/\n\n\tfunction normalizeName(name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone(packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone(name, caller) {\n\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames() {\n\t\tvar i,\n\t\t out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction getCountryNames() {\n\t\treturn Object.keys(_countries);\n\t}\n\n\tfunction addLink(aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction addCountries(data) {\n\t\tvar i, country_code, country_zones, split;\n\t\tif (!data || !data.length) return;\n\t\tfor (i = 0; i < data.length; i++) {\n\t\t\tsplit = data[i].split('|');\n\t\t\tcountry_code = split[0].toUpperCase();\n\t\t\tcountry_zones = split[1].split(' ');\n\t\t\t_countries[country_code] = new Country(country_code, country_zones);\n\t\t}\n\t}\n\n\tfunction getCountry(name) {\n\t\tname = name.toUpperCase();\n\t\treturn _countries[name] || null;\n\t}\n\n\tfunction zonesForCountry(country, with_offset) {\n\t\tcountry = getCountry(country);\n\n\t\tif (!country) return null;\n\n\t\tvar zones = country.zones.sort();\n\n\t\tif (with_offset) {\n\t\t\treturn zones.map(function (zone_name) {\n\t\t\t\tvar zone = getZone(zone_name);\n\t\t\t\treturn {\n\t\t\t\t\tname: zone_name,\n\t\t\t\t\toffset: zone.utcOffset(new Date())\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\treturn zones;\n\t}\n\n\tfunction loadData(data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\taddCountries(data.countries);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists(name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset(m) {\n\t\tvar isUnixTimestamp = m._f === 'X' || m._f === 'x';\n\t\treturn !!(m._a && m._tzm === undefined && !isUnixTimestamp);\n\t}\n\n\tfunction logError(message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n \tmoment.tz namespace\n ************************************/\n\n\tfunction tz(input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t name = arguments[arguments.length - 1],\n\t\t zone = getZone(name),\n\t\t out = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz._countries = _countries;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\ttz.countries = getCountryNames;\n\ttz.zonesForCountry = zonesForCountry;\n\n\t/************************************\n \tInterface with Moment.js\n ************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t offset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tvar z = mom._z;\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t\tmom._z = z;\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + (typeof name === 'undefined' ? 'undefined' : _typeof(name)) + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) {\n\t\t\treturn this._z.name;\n\t\t}\n\t};\n\n\tfunction abbrWrap(old) {\n\t\treturn function () {\n\t\t\tif (this._z) {\n\t\t\t\treturn this._z.abbr(this);\n\t\t\t}\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap(old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap2(old) {\n\t\treturn function () {\n\t\t\tif (arguments.length > 0) this._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\tfn.local = resetZoneWrap(fn.local);\n\tfn.utcOffset = resetZoneWrap2(fn.utcOffset);\n\n\tmoment.tz.setDefault = function (name) {\n\t\tif (major < 2 || major === 2 && minor < 9) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(46)(module)))\n\n/***/ }),\n/* 804 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"version\":\"2020a\",\"zones\":[\"Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5\",\"Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5\",\"Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5\",\"Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5\",\"Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6\",\"Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4\",\"Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5\",\"Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6\",\"Africa/Casablanca|LMT +00 +01|u.k 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0|32e5\",\"Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3\",\"Africa/El_Aaiun|LMT -01 +00 +01|Q.M 10 0 -10|012323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0|20e4\",\"Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5\",\"Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0|\",\"Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5\",\"Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5\",\"Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5\",\"Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|0121|-2le00 4i6N0 2q00|\",\"Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5\",\"Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5\",\"Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4\",\"America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326\",\"America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4\",\"America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3\",\"America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4\",\"America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0|\",\"America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0|\",\"America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0|\",\"America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0|\",\"America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|\",\"America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0|\",\"America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|\",\"America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0|\",\"America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0|\",\"America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0|\",\"America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0|\",\"America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0|\",\"America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4\",\"America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5\",\"America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2\",\"America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3\",\"America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5\",\"America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4\",\"America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5\",\"America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3\",\"America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2\",\"America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2\",\"America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5\",\"America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4\",\"America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2\",\"America/Campo_Grande|LMT -04 -03|3C.s 40 30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4\",\"America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4\",\"America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5\",\"America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3\",\"America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5\",\"America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5\",\"America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4\",\"America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5\",\"America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2\",\"America/Cuiaba|LMT -04 -03|3I.k 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|54e4\",\"America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8\",\"America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3\",\"America/Dawson|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|01010230405656565656565656565656565656565656565656565656565656565656565656565656565656565657|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|13e2\",\"America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5\",\"America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|0123425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 JxX1 SMX 1cN0 1cL0 aW10 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5\",\"America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|0121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 XQp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5\",\"America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3\",\"America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5\",\"America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5\",\"America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2\",\"America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5\",\"America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3\",\"America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3\",\"America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2\",\"America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2\",\"America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5\",\"America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5\",\"America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4\",\"America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4\",\"America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5\",\"America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4\",\"America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010401054541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 8wn0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2\",\"America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2\",\"America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4\",\"America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3\",\"America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 1nX1 e0X 9vd0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5\",\"America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6\",\"America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6\",\"America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4\",\"America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5\",\"America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5\",\"America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4\",\"America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4\",\"America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4\",\"America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2\",\"America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5\",\"America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|01203030303030303030303030303030304545450454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2\",\"America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6\",\"America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2\",\"America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3\",\"America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5\",\"America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5\",\"America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5\",\"America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4\",\"America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6\",\"America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2\",\"America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2\",\"America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2\",\"America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3\",\"America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2\",\"America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4\",\"America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5\",\"America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\",\"America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4\",\"America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4\",\"America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5\",\"America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|\",\"America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842\",\"America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2\",\"America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5\",\"America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4\",\"America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229\",\"America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4\",\"America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0|62e5\",\"America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5\",\"America/Sao_Paulo|LMT -03 -02|36.s 30 20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6\",\"America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452\",\"America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2\",\"America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4\",\"America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3\",\"America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5\",\"America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656\",\"America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4\",\"America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\",\"America/Whitehorse|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|01010230405656565656565656565656565656565656565656565656565656565656565656565656565656565657|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|23e3\",\"America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4\",\"America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642\",\"America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3\",\"Antarctica/Casey|-00 +08 +11|0 -80 -b0|01212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10|10\",\"Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70\",\"Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80\",\"Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1\",\"Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60\",\"Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5\",\"Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40\",\"Antarctica/Rothera|-00 -03|0 30|01|gOo0|130\",\"Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20\",\"Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40\",\"Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25\",\"Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4\",\"Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5\",\"Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5\",\"Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5\",\"Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3\",\"Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4\",\"Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4\",\"Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4\",\"Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|\",\"Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5\",\"Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4\",\"Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5\",\"Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6\",\"Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|\",\"Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5\",\"Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4\",\"Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4\",\"Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6\",\"Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4\",\"Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3\",\"Asia/Shanghai|CST CDT|-80 -90|01010101010101010101010101010|-23uw0 18n0 OjB0 Rz0 11d0 1wL0 A10 8HX0 1G10 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 aL0 1tU30 Rb0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6\",\"Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5\",\"Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6\",\"Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5\",\"Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4\",\"Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5\",\"Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4\",\"Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|\",\"Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|0101010101010101010101010101010123232323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXd0 gM0 8Q00 IM0 1wM0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0|18e5\",\"Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXd0 gM0 8Q00 IM0 1wM0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0|25e4\",\"Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5\",\"Asia/Hong_Kong|LMT HKT HKST HKWT JST|-7A.G -80 -90 -8u -90|0123412121212121212121212121212121212121212121212121212121212121212121|-2CFH0 1taO0 Hc0 xUu 9tBu 11z0 1tDu Rc0 1wo0 11A0 1cM0 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5\",\"Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3\",\"Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\",\"Europe/Istanbul|IMT EET EEST +03 +04|-1U.U -20 -30 -30 -40|0121212121212121212121212121212121212121212121234312121212121212121212121212121212121212121212121212121212121212123|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSN0 CL0 mp0 1Vz0 1gN0 8yn0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1ip0 19X0 1ip0 17b0 qdB0 38L0 1jd0 Tz0 l6O0 11A0 WN0 1qL0 TB0 1tX0 U10 1tz0 11B0 1in0 17d0 z90 cne0 pb0 2Cp0 1800 14o0 1dc0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6\",\"Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6\",\"Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4\",\"Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 bXd0 gM0 8Q00 IM0 1wM0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4\",\"Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5\",\"Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4\",\"Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6\",\"Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5\",\"Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5\",\"Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2\",\"Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5\",\"Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5\",\"Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4\",\"Asia/Macau|LMT CST +09 +10 CDT|-7y.a -80 -90 -a0 -90|012323214141414141414141414141414141414141414141414141414141414141414141|-2CFHy.a 1uqKy.a PX0 1kn0 15B0 11b0 4Qq0 1oM0 11c0 1ko0 1u00 11A0 1cM0 11c0 1o00 11A0 1o00 11A0 1oo0 1400 1o00 11A0 1o00 U00 1tA0 U00 1wo0 Rc0 1wru U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cK0 1cO0 1cK0 1cO0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|57e4\",\"Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3\",\"Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5\",\"Asia/Manila|PST PDT JST|-80 -90 -90|010201010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6\",\"Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4\",\"Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4\",\"Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5\",\"Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5\",\"Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4\",\"Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4\",\"Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BA0|29e5\",\"Asia/Qostanay|LMT +04 +05 +06|-4e.s -40 -50 -60|012323232323232323232123232323232323232323232323|-1Pc4e.s eUoe.s 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|\",\"Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|01232323232323232323232323232323232323232323232|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 zQl0|73e4\",\"Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5\",\"Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4\",\"Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4\",\"Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -a0 -9u|012343434343151515151515134343|-2um8r.Q 97XV.Q 1m1zu 6CM0 Fz0 1kN0 14n0 1kN0 14L0 1zd0 On0 69B0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6\",\"Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2\",\"Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5\",\"Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5\",\"Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5\",\"Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6\",\"Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3\",\"Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rc0 1lc0 14o0 1zc0 Oo0 1zc0 Oo0|38e6\",\"Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5\",\"Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5\",\"Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2\",\"Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\",\"Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4\",\"Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5\",\"Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5\",\"Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4\",\"Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3\",\"Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\"Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4\",\"Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3\",\"Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4\",\"Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4\",\"Atlantic/South_Georgia|-02|20|0||30\",\"Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2\",\"Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5\",\"Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5\",\"Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5\",\"Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3\",\"Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746\",\"Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4\",\"Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368\",\"Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4\",\"Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347\",\"Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10\",\"Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5\",\"Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5\",\"CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|\",\"Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0|30e2\",\"CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|\",\"Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"EST|EST|50|0||\",\"EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"Etc/GMT-0|GMT|0|0||\",\"Etc/GMT-1|+01|-10|0||\",\"Pacific/Port_Moresby|+10|-a0|0||25e4\",\"Etc/GMT-11|+11|-b0|0||\",\"Pacific/Tarawa|+12|-c0|0||29e3\",\"Etc/GMT-13|+13|-d0|0||\",\"Etc/GMT-14|+14|-e0|0||\",\"Etc/GMT-2|+02|-20|0||\",\"Etc/GMT-3|+03|-30|0||\",\"Etc/GMT-4|+04|-40|0||\",\"Etc/GMT-5|+05|-50|0||\",\"Etc/GMT-6|+06|-60|0||\",\"Indian/Christmas|+07|-70|0||21e2\",\"Etc/GMT-8|+08|-80|0||\",\"Pacific/Palau|+09|-90|0||21e3\",\"Etc/GMT+1|-01|10|0||\",\"Etc/GMT+10|-10|a0|0||\",\"Etc/GMT+11|-11|b0|0||\",\"Etc/GMT+12|-12|c0|0||\",\"Etc/GMT+3|-03|30|0||\",\"Etc/GMT+4|-04|40|0||\",\"Etc/GMT+5|-05|50|0||\",\"Etc/GMT+6|-06|60|0||\",\"Etc/GMT+7|-07|70|0||\",\"Etc/GMT+8|-08|80|0||\",\"Etc/GMT+9|-09|90|0||\",\"Etc/UTC|UTC|0|0||\",\"Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5\",\"Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3\",\"Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|10e5\",\"Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5\",\"Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6\",\"Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5\",\"Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5\",\"Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5\",\"Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5\",\"Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5\",\"Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4\",\"Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4\",\"Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3\",\"Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"Europe/Kaliningrad|CET CEST EET EEST MSK MSD +03|-10 -20 -20 -30 -30 -40 -30|01010101010101232454545454545454543232323232323232323232323232323232323232323262|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 390 7A0 1en0 12N0 1pbb0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4\",\"Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5\",\"Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4\",\"Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5\",\"Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\"Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5\",\"Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4\",\"Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5\",\"Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3\",\"Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6\",\"Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6\",\"Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4\",\"Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5\",\"Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5\",\"Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810|\",\"Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4\",\"Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5\",\"Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4\",\"Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4\",\"Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|13e5\",\"Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4\",\"Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1ao0 1co0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5\",\"Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\"Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 9Jd0|10e5\",\"Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5\",\"Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4\",\"HST|HST|a0|0||\",\"Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2\",\"Indian/Cocos|+0630|-6u|0||596\",\"Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130\",\"Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3\",\"Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4\",\"Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4\",\"Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4\",\"Pacific/Kwajalein|+11 +10 +09 -12 +12|-b0 -a0 -90 c0 -c0|012034|-1kln0 akp0 6Up0 12ry0 Wan0|14e3\",\"MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|\",\"MST|MST|70|0||\",\"MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600\",\"Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3\",\"Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4\",\"Pacific/Chuuk|+10 +09|-a0 -90|01010|-2ewy0 axB0 RVX0 axd0|49e3\",\"Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3\",\"Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1\",\"Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483\",\"Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00|88e4\",\"Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3\",\"Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125\",\"Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4\",\"Pacific/Guam|GST +09 GDT ChST|-a0 -90 -b0 -a0|01020202020202020203|-18jK0 6pB0 AhB0 3QL0 g2p0 3p91 WOX rX0 1zd0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4\",\"Pacific/Honolulu|HST HDT HWT HPT HST|au 9u 9u 9u a0|0102304|-1thLu 8x0 lef0 8wWu iAu 46p0|37e4\",\"Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2\",\"Pacific/Kosrae|+11 +09 +10 +12|-b0 -90 -a0 -c0|01021030|-2ewz0 axC0 HBy0 akp0 axd0 WOK0 1bdz0|66e2\",\"Pacific/Majuro|+11 +09 +10 +12|-b0 -90 -a0 -c0|0102103|-2ewz0 axC0 HBy0 akp0 6RB0 12um0|28e3\",\"Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2\",\"Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2\",\"Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E QCnB.E 7mqu 1lnbu|10e3\",\"Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2\",\"Pacific/Norfolk|+1112 +1130 +1230 +11 +12|-bc -bu -cu -b0 -c0|012134343434343434343434343434343434343434|-Kgbc W01G Oo0 1COo0 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|25e4\",\"Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3\",\"Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56\",\"Pacific/Pohnpei|+11 +09 +10|-b0 -90 -a0|010210|-2ewz0 axC0 HBy0 akp0 axd0|34e3\",\"Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3\",\"Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4\",\"Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3\",\"PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\"WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|\"],\"links\":[\"Africa/Abidjan|Africa/Bamako\",\"Africa/Abidjan|Africa/Banjul\",\"Africa/Abidjan|Africa/Conakry\",\"Africa/Abidjan|Africa/Dakar\",\"Africa/Abidjan|Africa/Freetown\",\"Africa/Abidjan|Africa/Lome\",\"Africa/Abidjan|Africa/Nouakchott\",\"Africa/Abidjan|Africa/Ouagadougou\",\"Africa/Abidjan|Africa/Timbuktu\",\"Africa/Abidjan|Atlantic/St_Helena\",\"Africa/Cairo|Egypt\",\"Africa/Johannesburg|Africa/Maseru\",\"Africa/Johannesburg|Africa/Mbabane\",\"Africa/Lagos|Africa/Bangui\",\"Africa/Lagos|Africa/Brazzaville\",\"Africa/Lagos|Africa/Douala\",\"Africa/Lagos|Africa/Kinshasa\",\"Africa/Lagos|Africa/Libreville\",\"Africa/Lagos|Africa/Luanda\",\"Africa/Lagos|Africa/Malabo\",\"Africa/Lagos|Africa/Niamey\",\"Africa/Lagos|Africa/Porto-Novo\",\"Africa/Maputo|Africa/Blantyre\",\"Africa/Maputo|Africa/Bujumbura\",\"Africa/Maputo|Africa/Gaborone\",\"Africa/Maputo|Africa/Harare\",\"Africa/Maputo|Africa/Kigali\",\"Africa/Maputo|Africa/Lubumbashi\",\"Africa/Maputo|Africa/Lusaka\",\"Africa/Nairobi|Africa/Addis_Ababa\",\"Africa/Nairobi|Africa/Asmara\",\"Africa/Nairobi|Africa/Asmera\",\"Africa/Nairobi|Africa/Dar_es_Salaam\",\"Africa/Nairobi|Africa/Djibouti\",\"Africa/Nairobi|Africa/Kampala\",\"Africa/Nairobi|Africa/Mogadishu\",\"Africa/Nairobi|Indian/Antananarivo\",\"Africa/Nairobi|Indian/Comoro\",\"Africa/Nairobi|Indian/Mayotte\",\"Africa/Tripoli|Libya\",\"America/Adak|America/Atka\",\"America/Adak|US/Aleutian\",\"America/Anchorage|US/Alaska\",\"America/Argentina/Buenos_Aires|America/Buenos_Aires\",\"America/Argentina/Catamarca|America/Argentina/ComodRivadavia\",\"America/Argentina/Catamarca|America/Catamarca\",\"America/Argentina/Cordoba|America/Cordoba\",\"America/Argentina/Cordoba|America/Rosario\",\"America/Argentina/Jujuy|America/Jujuy\",\"America/Argentina/Mendoza|America/Mendoza\",\"America/Atikokan|America/Coral_Harbour\",\"America/Chicago|US/Central\",\"America/Curacao|America/Aruba\",\"America/Curacao|America/Kralendijk\",\"America/Curacao|America/Lower_Princes\",\"America/Denver|America/Shiprock\",\"America/Denver|Navajo\",\"America/Denver|US/Mountain\",\"America/Detroit|US/Michigan\",\"America/Edmonton|Canada/Mountain\",\"America/Fort_Wayne|America/Indiana/Indianapolis\",\"America/Fort_Wayne|America/Indianapolis\",\"America/Fort_Wayne|US/East-Indiana\",\"America/Godthab|America/Nuuk\",\"America/Halifax|Canada/Atlantic\",\"America/Havana|Cuba\",\"America/Indiana/Knox|America/Knox_IN\",\"America/Indiana/Knox|US/Indiana-Starke\",\"America/Jamaica|Jamaica\",\"America/Kentucky/Louisville|America/Louisville\",\"America/Los_Angeles|US/Pacific\",\"America/Los_Angeles|US/Pacific-New\",\"America/Manaus|Brazil/West\",\"America/Mazatlan|Mexico/BajaSur\",\"America/Mexico_City|Mexico/General\",\"America/New_York|US/Eastern\",\"America/Noronha|Brazil/DeNoronha\",\"America/Panama|America/Cayman\",\"America/Phoenix|US/Arizona\",\"America/Port_of_Spain|America/Anguilla\",\"America/Port_of_Spain|America/Antigua\",\"America/Port_of_Spain|America/Dominica\",\"America/Port_of_Spain|America/Grenada\",\"America/Port_of_Spain|America/Guadeloupe\",\"America/Port_of_Spain|America/Marigot\",\"America/Port_of_Spain|America/Montserrat\",\"America/Port_of_Spain|America/St_Barthelemy\",\"America/Port_of_Spain|America/St_Kitts\",\"America/Port_of_Spain|America/St_Lucia\",\"America/Port_of_Spain|America/St_Thomas\",\"America/Port_of_Spain|America/St_Vincent\",\"America/Port_of_Spain|America/Tortola\",\"America/Port_of_Spain|America/Virgin\",\"America/Regina|Canada/Saskatchewan\",\"America/Rio_Branco|America/Porto_Acre\",\"America/Rio_Branco|Brazil/Acre\",\"America/Santiago|Chile/Continental\",\"America/Sao_Paulo|Brazil/East\",\"America/St_Johns|Canada/Newfoundland\",\"America/Tijuana|America/Ensenada\",\"America/Tijuana|America/Santa_Isabel\",\"America/Tijuana|Mexico/BajaNorte\",\"America/Toronto|America/Montreal\",\"America/Toronto|Canada/Eastern\",\"America/Vancouver|Canada/Pacific\",\"America/Whitehorse|Canada/Yukon\",\"America/Winnipeg|Canada/Central\",\"Asia/Ashgabat|Asia/Ashkhabad\",\"Asia/Bangkok|Asia/Phnom_Penh\",\"Asia/Bangkok|Asia/Vientiane\",\"Asia/Dhaka|Asia/Dacca\",\"Asia/Dubai|Asia/Muscat\",\"Asia/Ho_Chi_Minh|Asia/Saigon\",\"Asia/Hong_Kong|Hongkong\",\"Asia/Jerusalem|Asia/Tel_Aviv\",\"Asia/Jerusalem|Israel\",\"Asia/Kathmandu|Asia/Katmandu\",\"Asia/Kolkata|Asia/Calcutta\",\"Asia/Kuala_Lumpur|Asia/Singapore\",\"Asia/Kuala_Lumpur|Singapore\",\"Asia/Macau|Asia/Macao\",\"Asia/Makassar|Asia/Ujung_Pandang\",\"Asia/Nicosia|Europe/Nicosia\",\"Asia/Qatar|Asia/Bahrain\",\"Asia/Rangoon|Asia/Yangon\",\"Asia/Riyadh|Asia/Aden\",\"Asia/Riyadh|Asia/Kuwait\",\"Asia/Seoul|ROK\",\"Asia/Shanghai|Asia/Chongqing\",\"Asia/Shanghai|Asia/Chungking\",\"Asia/Shanghai|Asia/Harbin\",\"Asia/Shanghai|PRC\",\"Asia/Taipei|ROC\",\"Asia/Tehran|Iran\",\"Asia/Thimphu|Asia/Thimbu\",\"Asia/Tokyo|Japan\",\"Asia/Ulaanbaatar|Asia/Ulan_Bator\",\"Asia/Urumqi|Asia/Kashgar\",\"Atlantic/Faroe|Atlantic/Faeroe\",\"Atlantic/Reykjavik|Iceland\",\"Atlantic/South_Georgia|Etc/GMT+2\",\"Australia/Adelaide|Australia/South\",\"Australia/Brisbane|Australia/Queensland\",\"Australia/Broken_Hill|Australia/Yancowinna\",\"Australia/Darwin|Australia/North\",\"Australia/Hobart|Australia/Tasmania\",\"Australia/Lord_Howe|Australia/LHI\",\"Australia/Melbourne|Australia/Victoria\",\"Australia/Perth|Australia/West\",\"Australia/Sydney|Australia/ACT\",\"Australia/Sydney|Australia/Canberra\",\"Australia/Sydney|Australia/NSW\",\"Etc/GMT-0|Etc/GMT\",\"Etc/GMT-0|Etc/GMT+0\",\"Etc/GMT-0|Etc/GMT0\",\"Etc/GMT-0|Etc/Greenwich\",\"Etc/GMT-0|GMT\",\"Etc/GMT-0|GMT+0\",\"Etc/GMT-0|GMT-0\",\"Etc/GMT-0|GMT0\",\"Etc/GMT-0|Greenwich\",\"Etc/UTC|Etc/UCT\",\"Etc/UTC|Etc/Universal\",\"Etc/UTC|Etc/Zulu\",\"Etc/UTC|UCT\",\"Etc/UTC|UTC\",\"Etc/UTC|Universal\",\"Etc/UTC|Zulu\",\"Europe/Belgrade|Europe/Ljubljana\",\"Europe/Belgrade|Europe/Podgorica\",\"Europe/Belgrade|Europe/Sarajevo\",\"Europe/Belgrade|Europe/Skopje\",\"Europe/Belgrade|Europe/Zagreb\",\"Europe/Chisinau|Europe/Tiraspol\",\"Europe/Dublin|Eire\",\"Europe/Helsinki|Europe/Mariehamn\",\"Europe/Istanbul|Asia/Istanbul\",\"Europe/Istanbul|Turkey\",\"Europe/Lisbon|Portugal\",\"Europe/London|Europe/Belfast\",\"Europe/London|Europe/Guernsey\",\"Europe/London|Europe/Isle_of_Man\",\"Europe/London|Europe/Jersey\",\"Europe/London|GB\",\"Europe/London|GB-Eire\",\"Europe/Moscow|W-SU\",\"Europe/Oslo|Arctic/Longyearbyen\",\"Europe/Oslo|Atlantic/Jan_Mayen\",\"Europe/Prague|Europe/Bratislava\",\"Europe/Rome|Europe/San_Marino\",\"Europe/Rome|Europe/Vatican\",\"Europe/Warsaw|Poland\",\"Europe/Zurich|Europe/Busingen\",\"Europe/Zurich|Europe/Vaduz\",\"Indian/Christmas|Etc/GMT-7\",\"Pacific/Auckland|Antarctica/McMurdo\",\"Pacific/Auckland|Antarctica/South_Pole\",\"Pacific/Auckland|NZ\",\"Pacific/Chatham|NZ-CHAT\",\"Pacific/Chuuk|Pacific/Truk\",\"Pacific/Chuuk|Pacific/Yap\",\"Pacific/Easter|Chile/EasterIsland\",\"Pacific/Guam|Pacific/Saipan\",\"Pacific/Honolulu|Pacific/Johnston\",\"Pacific/Honolulu|US/Hawaii\",\"Pacific/Kwajalein|Kwajalein\",\"Pacific/Pago_Pago|Pacific/Midway\",\"Pacific/Pago_Pago|Pacific/Samoa\",\"Pacific/Pago_Pago|US/Samoa\",\"Pacific/Palau|Etc/GMT-9\",\"Pacific/Pohnpei|Pacific/Ponape\",\"Pacific/Port_Moresby|Etc/GMT-10\",\"Pacific/Tarawa|Etc/GMT-12\",\"Pacific/Tarawa|Pacific/Funafuti\",\"Pacific/Tarawa|Pacific/Wake\",\"Pacific/Tarawa|Pacific/Wallis\"],\"countries\":[\"AD|Europe/Andorra\",\"AE|Asia/Dubai\",\"AF|Asia/Kabul\",\"AG|America/Port_of_Spain America/Antigua\",\"AI|America/Port_of_Spain America/Anguilla\",\"AL|Europe/Tirane\",\"AM|Asia/Yerevan\",\"AO|Africa/Lagos Africa/Luanda\",\"AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo\",\"AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia\",\"AS|Pacific/Pago_Pago\",\"AT|Europe/Vienna\",\"AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Currie Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla\",\"AW|America/Curacao America/Aruba\",\"AX|Europe/Helsinki Europe/Mariehamn\",\"AZ|Asia/Baku\",\"BA|Europe/Belgrade Europe/Sarajevo\",\"BB|America/Barbados\",\"BD|Asia/Dhaka\",\"BE|Europe/Brussels\",\"BF|Africa/Abidjan Africa/Ouagadougou\",\"BG|Europe/Sofia\",\"BH|Asia/Qatar Asia/Bahrain\",\"BI|Africa/Maputo Africa/Bujumbura\",\"BJ|Africa/Lagos Africa/Porto-Novo\",\"BL|America/Port_of_Spain America/St_Barthelemy\",\"BM|Atlantic/Bermuda\",\"BN|Asia/Brunei\",\"BO|America/La_Paz\",\"BQ|America/Curacao America/Kralendijk\",\"BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco\",\"BS|America/Nassau\",\"BT|Asia/Thimphu\",\"BW|Africa/Maputo Africa/Gaborone\",\"BY|Europe/Minsk\",\"BZ|America/Belize\",\"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Vancouver America/Whitehorse America/Dawson\",\"CC|Indian/Cocos\",\"CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi\",\"CF|Africa/Lagos Africa/Bangui\",\"CG|Africa/Lagos Africa/Brazzaville\",\"CH|Europe/Zurich\",\"CI|Africa/Abidjan\",\"CK|Pacific/Rarotonga\",\"CL|America/Santiago America/Punta_Arenas Pacific/Easter\",\"CM|Africa/Lagos Africa/Douala\",\"CN|Asia/Shanghai Asia/Urumqi\",\"CO|America/Bogota\",\"CR|America/Costa_Rica\",\"CU|America/Havana\",\"CV|Atlantic/Cape_Verde\",\"CW|America/Curacao\",\"CX|Indian/Christmas\",\"CY|Asia/Nicosia Asia/Famagusta\",\"CZ|Europe/Prague\",\"DE|Europe/Zurich Europe/Berlin Europe/Busingen\",\"DJ|Africa/Nairobi Africa/Djibouti\",\"DK|Europe/Copenhagen\",\"DM|America/Port_of_Spain America/Dominica\",\"DO|America/Santo_Domingo\",\"DZ|Africa/Algiers\",\"EC|America/Guayaquil Pacific/Galapagos\",\"EE|Europe/Tallinn\",\"EG|Africa/Cairo\",\"EH|Africa/El_Aaiun\",\"ER|Africa/Nairobi Africa/Asmara\",\"ES|Europe/Madrid Africa/Ceuta Atlantic/Canary\",\"ET|Africa/Nairobi Africa/Addis_Ababa\",\"FI|Europe/Helsinki\",\"FJ|Pacific/Fiji\",\"FK|Atlantic/Stanley\",\"FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae\",\"FO|Atlantic/Faroe\",\"FR|Europe/Paris\",\"GA|Africa/Lagos Africa/Libreville\",\"GB|Europe/London\",\"GD|America/Port_of_Spain America/Grenada\",\"GE|Asia/Tbilisi\",\"GF|America/Cayenne\",\"GG|Europe/London Europe/Guernsey\",\"GH|Africa/Accra\",\"GI|Europe/Gibraltar\",\"GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule\",\"GM|Africa/Abidjan Africa/Banjul\",\"GN|Africa/Abidjan Africa/Conakry\",\"GP|America/Port_of_Spain America/Guadeloupe\",\"GQ|Africa/Lagos Africa/Malabo\",\"GR|Europe/Athens\",\"GS|Atlantic/South_Georgia\",\"GT|America/Guatemala\",\"GU|Pacific/Guam\",\"GW|Africa/Bissau\",\"GY|America/Guyana\",\"HK|Asia/Hong_Kong\",\"HN|America/Tegucigalpa\",\"HR|Europe/Belgrade Europe/Zagreb\",\"HT|America/Port-au-Prince\",\"HU|Europe/Budapest\",\"ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura\",\"IE|Europe/Dublin\",\"IL|Asia/Jerusalem\",\"IM|Europe/London Europe/Isle_of_Man\",\"IN|Asia/Kolkata\",\"IO|Indian/Chagos\",\"IQ|Asia/Baghdad\",\"IR|Asia/Tehran\",\"IS|Atlantic/Reykjavik\",\"IT|Europe/Rome\",\"JE|Europe/London Europe/Jersey\",\"JM|America/Jamaica\",\"JO|Asia/Amman\",\"JP|Asia/Tokyo\",\"KE|Africa/Nairobi\",\"KG|Asia/Bishkek\",\"KH|Asia/Bangkok Asia/Phnom_Penh\",\"KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati\",\"KM|Africa/Nairobi Indian/Comoro\",\"KN|America/Port_of_Spain America/St_Kitts\",\"KP|Asia/Pyongyang\",\"KR|Asia/Seoul\",\"KW|Asia/Riyadh Asia/Kuwait\",\"KY|America/Panama America/Cayman\",\"KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral\",\"LA|Asia/Bangkok Asia/Vientiane\",\"LB|Asia/Beirut\",\"LC|America/Port_of_Spain America/St_Lucia\",\"LI|Europe/Zurich Europe/Vaduz\",\"LK|Asia/Colombo\",\"LR|Africa/Monrovia\",\"LS|Africa/Johannesburg Africa/Maseru\",\"LT|Europe/Vilnius\",\"LU|Europe/Luxembourg\",\"LV|Europe/Riga\",\"LY|Africa/Tripoli\",\"MA|Africa/Casablanca\",\"MC|Europe/Monaco\",\"MD|Europe/Chisinau\",\"ME|Europe/Belgrade Europe/Podgorica\",\"MF|America/Port_of_Spain America/Marigot\",\"MG|Africa/Nairobi Indian/Antananarivo\",\"MH|Pacific/Majuro Pacific/Kwajalein\",\"MK|Europe/Belgrade Europe/Skopje\",\"ML|Africa/Abidjan Africa/Bamako\",\"MM|Asia/Yangon\",\"MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan\",\"MO|Asia/Macau\",\"MP|Pacific/Guam Pacific/Saipan\",\"MQ|America/Martinique\",\"MR|Africa/Abidjan Africa/Nouakchott\",\"MS|America/Port_of_Spain America/Montserrat\",\"MT|Europe/Malta\",\"MU|Indian/Mauritius\",\"MV|Indian/Maldives\",\"MW|Africa/Maputo Africa/Blantyre\",\"MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas\",\"MY|Asia/Kuala_Lumpur Asia/Kuching\",\"MZ|Africa/Maputo\",\"NA|Africa/Windhoek\",\"NC|Pacific/Noumea\",\"NE|Africa/Lagos Africa/Niamey\",\"NF|Pacific/Norfolk\",\"NG|Africa/Lagos\",\"NI|America/Managua\",\"NL|Europe/Amsterdam\",\"NO|Europe/Oslo\",\"NP|Asia/Kathmandu\",\"NR|Pacific/Nauru\",\"NU|Pacific/Niue\",\"NZ|Pacific/Auckland Pacific/Chatham\",\"OM|Asia/Dubai Asia/Muscat\",\"PA|America/Panama\",\"PE|America/Lima\",\"PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier\",\"PG|Pacific/Port_Moresby Pacific/Bougainville\",\"PH|Asia/Manila\",\"PK|Asia/Karachi\",\"PL|Europe/Warsaw\",\"PM|America/Miquelon\",\"PN|Pacific/Pitcairn\",\"PR|America/Puerto_Rico\",\"PS|Asia/Gaza Asia/Hebron\",\"PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores\",\"PW|Pacific/Palau\",\"PY|America/Asuncion\",\"QA|Asia/Qatar\",\"RE|Indian/Reunion\",\"RO|Europe/Bucharest\",\"RS|Europe/Belgrade\",\"RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Astrakhan Europe/Volgograd Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr\",\"RW|Africa/Maputo Africa/Kigali\",\"SA|Asia/Riyadh\",\"SB|Pacific/Guadalcanal\",\"SC|Indian/Mahe\",\"SD|Africa/Khartoum\",\"SE|Europe/Stockholm\",\"SG|Asia/Singapore\",\"SH|Africa/Abidjan Atlantic/St_Helena\",\"SI|Europe/Belgrade Europe/Ljubljana\",\"SJ|Europe/Oslo Arctic/Longyearbyen\",\"SK|Europe/Prague Europe/Bratislava\",\"SL|Africa/Abidjan Africa/Freetown\",\"SM|Europe/Rome Europe/San_Marino\",\"SN|Africa/Abidjan Africa/Dakar\",\"SO|Africa/Nairobi Africa/Mogadishu\",\"SR|America/Paramaribo\",\"SS|Africa/Juba\",\"ST|Africa/Sao_Tome\",\"SV|America/El_Salvador\",\"SX|America/Curacao America/Lower_Princes\",\"SY|Asia/Damascus\",\"SZ|Africa/Johannesburg Africa/Mbabane\",\"TC|America/Grand_Turk\",\"TD|Africa/Ndjamena\",\"TF|Indian/Reunion Indian/Kerguelen\",\"TG|Africa/Abidjan Africa/Lome\",\"TH|Asia/Bangkok\",\"TJ|Asia/Dushanbe\",\"TK|Pacific/Fakaofo\",\"TL|Asia/Dili\",\"TM|Asia/Ashgabat\",\"TN|Africa/Tunis\",\"TO|Pacific/Tongatapu\",\"TR|Europe/Istanbul\",\"TT|America/Port_of_Spain\",\"TV|Pacific/Funafuti\",\"TW|Asia/Taipei\",\"TZ|Africa/Nairobi Africa/Dar_es_Salaam\",\"UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye\",\"UG|Africa/Nairobi Africa/Kampala\",\"UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway\",\"US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu\",\"UY|America/Montevideo\",\"UZ|Asia/Samarkand Asia/Tashkent\",\"VA|Europe/Rome Europe/Vatican\",\"VC|America/Port_of_Spain America/St_Vincent\",\"VE|America/Caracas\",\"VG|America/Port_of_Spain America/Tortola\",\"VI|America/Port_of_Spain America/St_Thomas\",\"VN|Asia/Bangkok Asia/Ho_Chi_Minh\",\"VU|Pacific/Efate\",\"WF|Pacific/Wallis\",\"WS|Pacific/Apia\",\"YE|Asia/Riyadh Asia/Aden\",\"YT|Africa/Nairobi Indian/Mayotte\",\"ZA|Africa/Johannesburg\",\"ZM|Africa/Maputo Africa/Lusaka\",\"ZW|Africa/Maputo Africa/Harare\"]}\n\n/***/ }),\n/* 805 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction OrderTabDeliveryModeController($scope, groupOrderService) {\n var _this = this;\n\n $scope.selectDelivery = function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(mode) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n groupOrderService.setDeliveryMode(mode);\n $scope.cancelPreview();\n $scope.next();\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }();\n}\n\n_module3.default.controller('OrderTabDeliveryMode', ['$scope', 'GroupOrder', OrderTabDeliveryModeController]);\n\n/***/ }),\n/* 806 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderSummaryPageController = function () {\n function OrderSummaryPageController(scope, stateService, cartService, orderSetupService, configurationService, groupOrderService) {\n var _this = this;\n\n _classCallCheck(this, OrderSummaryPageController);\n\n this._scope = scope;\n this._stateService = stateService;\n this._cartService = cartService;\n this._orderSetupService = orderSetupService;\n this._configurationService = configurationService;\n this._groupOrderService = groupOrderService;\n\n scope.submitOrder = function () {\n return _this._submitOrder();\n };\n scope.invitationCode = this._cartService.getInviteCode();\n scope.invitationLink = '';\n this._initialize();\n }\n\n _createClass(OrderSummaryPageController, [{\n key: '_initialize',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var _retailer;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _retailer = this._configurationService.getRetailer().retailer;\n\n if (_retailer.retailerType === 'Shopify') {\n this._scope.invitationLink = 'https://' + _retailer.website + '#/invite/';\n } else {\n this._scope.invitationLink = _retailer.website + '#/invite/';\n }\n\n if (this._scope.invitationCode) {\n _context.next = 9;\n break;\n }\n\n _context.next = 5;\n return this._cartService.getInvitationCode();\n\n case 5:\n this._scope.invitationCode = _context.sent;\n\n this._cartService.setInviteCode(this._scope.invitationCode);\n this._cartService.setInvitationType(_CommonConstants2.default.InvitationTypes.share);\n\n this._scope.submitOrder();\n\n case 9:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _initialize() {\n return _ref.apply(this, arguments);\n }\n\n return _initialize;\n }()\n }, {\n key: '_submitOrder',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n _context2.next = 3;\n return this._groupOrderService.save();\n\n case 3:\n this._cartService.resetCart();\n this._scope.setCurrentTabById('finish');\n _scope2.default.apply(this._scope);\n _context2.next = 10;\n break;\n\n case 8:\n _context2.prev = 8;\n _context2.t0 = _context2['catch'](0);\n\n case 10:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this, [[0, 8]]);\n }));\n\n function _submitOrder() {\n return _ref2.apply(this, arguments);\n }\n\n return _submitOrder;\n }()\n }]);\n\n return OrderSummaryPageController;\n}();\n\nOrderSummaryPageController.$inject = ['$scope', '$state', 'CartService', 'OrderSetupService', 'ConfigurationService', 'GroupOrder'];\nexports.default = OrderSummaryPageController;\n\n/***/ }),\n/* 807 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderAddPeopleDirectiveController = function () {\n function OrderAddPeopleDirectiveController(scope, rootScope, contactsService, toastService, userProfileService, messageService, sessionService, $translate) {\n var _this = this;\n\n _classCallCheck(this, OrderAddPeopleDirectiveController);\n\n this._scope = scope;\n this._rootScope = rootScope;\n this._userEmails = {};\n this._excludedEmails = {};\n this._allContactsAndGroups = [];\n this._contactsService = contactsService;\n this._userProfileService = userProfileService;\n this._messageService = messageService;\n this._toastService = toastService;\n this._sessionService = sessionService;\n this.$translate = $translate;\n\n scope.foundContacts = [];\n scope.addAsGroup = false;\n scope.selectedEmails = scope.selectedEmails || [];\n scope.selectedContacts = scope.selectedContacts || [];\n scope.created = scope.created || [];\n scope.selectedTwoContacts = false;\n scope.groupNameToAdd = '';\n scope.nameToAdd = '';\n scope.context = scope.context || {};\n scope.context.contacts = scope.context.contacts || [];\n scope.recent = [];\n scope.allContactsMinusRecent = [];\n scope.showErrorMessage = false;\n scope.errorMessage = '';\n scope.addSelectedContactsToGroup = function () {\n return _this._addSelectedContactsToGroup();\n };\n scope.selectContact = function (contact) {\n return _this._selectContact(contact);\n };\n scope.unselectContact = function (contact) {\n return _this._unselectContact(contact);\n };\n scope.nameToAddChanged = function () {\n return _this._nameToAddChanged();\n };\n scope.closeFoundContactsForm = function () {\n return _this._closeFoundContactsForm();\n };\n scope.nameToAddKeyPressed = function (event) {\n return _this._nameToAddKeyPressed(event);\n };\n scope.groupToAddKeyPressed = function (event) {\n return _this._groupToAddKeyPressed(event);\n };\n scope.addEnteredEmails = function () {\n return _this._addEnteredEmails();\n };\n scope.updateSelectedContacts = function () {\n return _this._updateSelectedContacts();\n };\n\n scope.onNextBtnClicked = function () {\n return _this._onNextBtnClicked();\n };\n scope.onBackBtnClicked = function () {\n return _this._onBackBtnClicked();\n };\n scope.onDeleteContactClicked = function (contact) {\n return _this._onDeleteContactClicked(contact);\n };\n\n scope.$on(_CommonConstants2.default.Events.ADD_PEOPLE_ADVANCE_TO_NEXT_PAGE, function () {\n return _this._addEnteredEmails(true);\n });\n }\n\n _createClass(OrderAddPeopleDirectiveController, [{\n key: '$onInit',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var contactsLoaded;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n contactsLoaded = !!this._scope.context.contacts && this._scope.context.contacts.length;\n\n if (!contactsLoaded) {\n _context.next = 5;\n break;\n }\n\n this._addContextContacts();\n _context.next = 7;\n break;\n\n case 5:\n _context.next = 7;\n return this._getUserAndContacts();\n\n case 7:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function $onInit() {\n return _ref.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: '_fetchGroups',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var _this2 = this;\n\n var groups;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._contactsService.getGroups();\n\n case 2:\n groups = _context2.sent;\n\n\n this._scope.context.contacts = this._scope.context.contacts || [];\n this._scope.context.groups = [];\n\n if (!(!groups || !groups.length)) {\n _context2.next = 8;\n break;\n }\n\n _scope2.default.apply(this._scope);\n return _context2.abrupt('return');\n\n case 8:\n\n _.each(groups, function (item) {\n return _this2._onGroupReceived(item);\n });\n\n this._updateRecentContacts();\n this._sortContactsAndGroups();\n this._updateSelectableGroups();\n\n _scope2.default.apply(this._scope);\n\n case 13:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function _fetchGroups() {\n return _ref2.apply(this, arguments);\n }\n\n return _fetchGroups;\n }()\n }, {\n key: '_onGroupReceived',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(groupDefinition) {\n var _this3 = this;\n\n var group, forcedSelected;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n group = this._initializeGroup(groupDefinition.name);\n forcedSelected = 0;\n\n\n _.each(groupDefinition.groupMembers, function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(groupMember) {\n var contact;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n contact = _.find(_this3._scope.context.contacts, { email: groupMember.memberEmail });\n\n if (contact) {\n _context3.next = 8;\n break;\n }\n\n _context3.next = 4;\n return _this3._initializeContact(groupMember.memberName, groupMember.memberEmail);\n\n case 4:\n contact = _context3.sent;\n\n contact.forcedSelected = _this3._userEmails[contact.email] || _this3._excludedEmails[contact.email];\n _this3._scope.context.contacts.push(contact);\n _this3._allContactsAndGroups.push(contact);\n\n case 8:\n\n if (contact.forcedSelected) {\n contact.selected = true;\n forcedSelected++;\n }\n\n group.contacts.push(contact);\n\n case 10:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, _this3);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }());\n\n group.forcedSelected = group.contacts.length === forcedSelected;\n\n if (group.forcedSelected) {\n group.selected = true;\n }\n\n this._scope.context.groups.push(group);\n this._allContactsAndGroups.push(group);\n\n _scope2.default.apply(this._scope);\n\n case 8:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function _onGroupReceived(_x) {\n return _ref3.apply(this, arguments);\n }\n\n return _onGroupReceived;\n }()\n }, {\n key: '_fetchContacts',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n var contacts, i, item, contact;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return this._contactsService.getContacts();\n\n case 2:\n contacts = _context5.sent;\n\n\n this._scope.context.contacts = this._scope.context.contacts || [];\n\n if (!(!contacts || !contacts.length)) {\n _context5.next = 7;\n break;\n }\n\n _scope2.default.apply(this._scope);\n return _context5.abrupt('return');\n\n case 7:\n _context5.t0 = regeneratorRuntime.keys(contacts);\n\n case 8:\n if ((_context5.t1 = _context5.t0()).done) {\n _context5.next = 21;\n break;\n }\n\n i = _context5.t1.value;\n item = contacts[i];\n contact = _.find(this._scope.context.contacts, { email: item.email });\n\n if (contact) {\n _context5.next = 19;\n break;\n }\n\n _context5.next = 15;\n return this._initializeContact(item.name, item.email, item.recent, item.avatar, item.userId, item.contactUserId);\n\n case 15:\n contact = _context5.sent;\n\n contact.forcedSelected = this._userEmails[contact.email] || this._excludedEmails[contact.email];\n this._scope.context.contacts.push(contact);\n this._allContactsAndGroups.push(contact);\n\n case 19:\n _context5.next = 8;\n break;\n\n case 21:\n\n this._updateRecentContacts();\n this._sortContactsAndGroups();\n _scope2.default.apply(this._scope);\n\n case 24:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function _fetchContacts() {\n return _ref5.apply(this, arguments);\n }\n\n return _fetchContacts;\n }()\n }, {\n key: '_addContextContacts',\n value: function _addContextContacts() {\n var _this4 = this;\n\n // which means we have already read all data\n\n _.each(this._scope.context.groups, function (group) {\n _this4._allContactsAndGroups.push(group);\n });\n\n _.each(this._scope.context.contacts, function (contact) {\n _this4._allContactsAndGroups.push(contact);\n });\n\n this._updateRecentContacts();\n }\n }, {\n key: '_getUserAndContacts',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n var _this5 = this;\n\n var user;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return this._userProfileService.getUser();\n\n case 2:\n user = _context6.sent;\n\n\n _.each(user.userEmails, function (item) {\n _this5._userEmails[item.email] = true;\n });\n\n if (this._scope.exclude) {\n this._scope.exclude.forEach(function (email) {\n _this5._excludedEmails[email] = true;\n });\n }\n\n _scope2.default.apply(this._scope, function () {\n _this5._scope.loading = true;\n });\n _context6.next = 8;\n return this._fetchGroups();\n\n case 8:\n _context6.next = 10;\n return this._fetchContacts();\n\n case 10:\n _scope2.default.apply(this._scope, function () {\n _this5._scope.loading = false;\n });\n\n case 11:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _getUserAndContacts() {\n return _ref6.apply(this, arguments);\n }\n\n return _getUserAndContacts;\n }()\n }, {\n key: '_updateSelectableGroups',\n value: function _updateSelectableGroups() {\n this._scope.selectableGroups = _.filter(this._scope.context.groups, {\n forcedSelected: false\n });\n }\n }, {\n key: '_addSelectedContactsToExistingGroup',\n value: function _addSelectedContactsToExistingGroup(group) {\n var _this6 = this;\n\n var addedContacts = _.map(group.contacts, function (contact) {\n return contact.email;\n });\n var contactsAdded = false;\n\n _.each(this._scope.selectedContacts, function (contact) {\n\n if (contact.isGroup) {\n return;\n }\n\n if (_.some(group.contacts, { email: contact.email })) {\n return;\n }\n\n contactsAdded = true;\n group.contacts.push(contact);\n contact.selected = false;\n addedContacts.push(contact.email);\n });\n\n group.selected = true;\n\n if (contactsAdded) {\n group.forcedSelected = false;\n this._contactsService.updateGroup(group.name, addedContacts).catch(function (error) {\n return _this6._messageService.showErrorPopupForResponse(error);\n });\n }\n\n this._scope.updateSelectedContacts();\n this._updateSelectableGroups();\n\n this._scope.addAsGroup = false;\n this._scope.groupNameToAdd = '';\n }\n }, {\n key: '_addSelectedContactsToGroup',\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n var _this7 = this;\n\n var groupName, group, addedContacts;\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n groupName = _.trim(this._scope.groupNameToAdd);\n\n if (!(groupName.length === 0)) {\n _context7.next = 3;\n break;\n }\n\n return _context7.abrupt('return');\n\n case 3:\n group = _.find(this._scope.context.groups, { name: groupName });\n addedContacts = [];\n\n if (!group) {\n _context7.next = 8;\n break;\n }\n\n this._addSelectedContactsToExistingGroup(group);\n return _context7.abrupt('return');\n\n case 8:\n\n group = this._initializeGroup(groupName);\n\n _.each(this._scope.selectedContacts, function (contact) {\n\n if (!contact.isGroup) {\n group.contacts.push(contact);\n contact.selected = false;\n addedContacts.push(contact.email);\n }\n });\n\n group.selected = true;\n\n this._scope.context.groups.push(group);\n this._allContactsAndGroups.push(group);\n\n _context7.next = 15;\n return this._contactsService.createGroup(groupName, addedContacts).catch(function (error) {\n return _this7._messageService.showErrorPopupForResponse(error);\n });\n\n case 15:\n\n this._sortContactsAndGroups();\n\n this._scope.groupNameToAdd = '';\n this._scope.addAsGroup = false;\n\n this._updateSelectedContacts();\n this._updateSelectableGroups();\n\n case 20:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function _addSelectedContactsToGroup() {\n return _ref7.apply(this, arguments);\n }\n\n return _addSelectedContactsToGroup;\n }()\n }, {\n key: '_selectContact',\n value: function _selectContact(contact) {\n console.log('_selectContact');\n if (contact.selected) {\n return;\n }\n\n contact.selected = true;\n\n this._updateSelectedContacts();\n }\n }, {\n key: '_unselectContact',\n value: function _unselectContact(contact) {\n console.log('_unselectContact');\n if (!contact.selected) {\n return;\n }\n\n contact.selected = false;\n\n this._updateSelectedContacts();\n }\n }, {\n key: '_updateRecentContacts',\n value: function _updateRecentContacts() {\n var _this8 = this;\n\n this._scope.recentContacts = _.chain(this._scope.context.contacts).filter(function (contact) {\n return contact && (contact.recent || false) && !contact.forcedSelected;\n }).sortBy(function (contact) {\n return _this8._getContactSortBy(contact);\n }).value();\n\n var alreadyInCartContacts = _.chain(this._scope.context.contacts).filter(function (contact) {\n return contact && !(contact.recent || false) && contact.forcedSelected;\n }).sortBy(function (contact) {\n return _this8._getContactSortBy(contact);\n }).value();\n\n this._scope.alreadyInCartContacts = alreadyInCartContacts.map(function (contact) {\n contact.selected = true;\n return contact;\n });\n\n this._scope.allContactsMinusRecent = _.chain(this._scope.context.contacts).filter(function (contact) {\n return contact && !(contact.recent || false) && !contact.forcedSelected && !contact.selected;\n }).sortBy(function (contact) {\n return _this8._getContactSortBy(contact);\n }).value();\n\n if (this._scope.selectedContacts.length) {\n this._scope.showErrorMessage = false;\n }\n\n _scope2.default.apply(this._scope);\n }\n }, {\n key: '_nameToAddChanged',\n value: function _nameToAddChanged() {\n var name = _.trim(this._scope.nameToAdd).toLowerCase();\n\n if (name.length === 0) {\n this._scope.foundContacts = [];\n return;\n }\n\n this._scope.foundContacts = _.chain(this._allContactsAndGroups).filter(function (contact) {\n return contact && (contact.name && contact.name.toLowerCase().includes(name) || contact.email.includes(name));\n }).sortBy(this._getContactSortBy).take(7).value();\n }\n }, {\n key: '_closeFoundContactsForm',\n value: function _closeFoundContactsForm() {\n this._scope.foundContacts = [];\n this._scope.nameToAdd = '';\n }\n }, {\n key: '_nameToAddKeyPressed',\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8(event) {\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n if (_CommonConstants2.default.EMAIL_REGEX.test(this._scope.nameToAdd)) {\n _context8.next = 3;\n break;\n }\n\n this._rootScope.$broadcast('order:add:people.canAddPeople', false);\n return _context8.abrupt('return');\n\n case 3:\n this._rootScope.$broadcast('order:add:people.canAddPeople', true);\n\n if (!(event.which !== 13)) {\n _context8.next = 6;\n break;\n }\n\n return _context8.abrupt('return');\n\n case 6:\n _context8.next = 8;\n return this._addEnteredEmails();\n\n case 8:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function _nameToAddKeyPressed(_x3) {\n return _ref8.apply(this, arguments);\n }\n\n return _nameToAddKeyPressed;\n }()\n }, {\n key: '_groupToAddKeyPressed',\n value: function _groupToAddKeyPressed(event) {\n\n if (event.which !== 13) {\n return;\n }\n\n this._addSelectedContactsToGroup();\n }\n }, {\n key: '_initializeContact',\n value: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9(name, email, recent, avatar, userId, contactUserId) {\n var avatarModel;\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n if (!(!name && !avatar)) {\n _context9.next = 11;\n break;\n }\n\n _context9.prev = 1;\n _context9.next = 4;\n return this._userProfileService.getUserAvatar(email);\n\n case 4:\n avatarModel = _context9.sent;\n\n if (avatarModel && avatarModel.data) avatar = avatarModel.data.avatar;\n _context9.next = 11;\n break;\n\n case 8:\n _context9.prev = 8;\n _context9.t0 = _context9['catch'](1);\n\n avatar = null;\n\n case 11:\n return _context9.abrupt('return', {\n email: _.trim(email).toLowerCase(),\n name: _.trim(name),\n isGroup: false,\n selected: false,\n recent: recent,\n avatar: avatar,\n userId: userId,\n contactUserId: contactUserId\n });\n\n case 12:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, this, [[1, 8]]);\n }));\n\n function _initializeContact(_x4, _x5, _x6, _x7, _x8, _x9) {\n return _ref9.apply(this, arguments);\n }\n\n return _initializeContact;\n }()\n }, {\n key: '_initializeGroup',\n value: function _initializeGroup(name) {\n return {\n name: name.trim(),\n isGroup: true,\n contacts: [],\n selected: false,\n expanded: false\n };\n }\n }, {\n key: '_addEnteredEmail',\n value: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10(email, state) {\n var existingContact, newContact;\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n\n email = _.trim(email);\n\n if (!(email.length === 0)) {\n _context10.next = 3;\n break;\n }\n\n return _context10.abrupt('return');\n\n case 3:\n existingContact = this._scope.context.contacts.find(function (contact) {\n return contact.email === email;\n });\n\n if (!existingContact) {\n _context10.next = 15;\n break;\n }\n\n if (!this._excludedEmails[existingContact.email]) {\n _context10.next = 10;\n break;\n }\n\n if (state.updatedNameToAdd) {\n state.updatedNameToAdd += ', ';\n }\n state.updatedNameToAdd += email;\n state.excludedEmails.push(email);\n return _context10.abrupt('return');\n\n case 10:\n\n existingContact.selected = true;\n existingContact.selectedOn = new Date();\n // existingContact.recent = true;\n state.addedEmails++;\n _context10.next = 35;\n break;\n\n case 15:\n if (_CommonConstants2.default.EMAIL_REGEX.test(email)) {\n _context10.next = 20;\n break;\n }\n\n if (state.updatedNameToAdd) {\n state.updatedNameToAdd += ', ';\n }\n state.updatedNameToAdd += email;\n state.incorrectEmails++;\n return _context10.abrupt('return');\n\n case 20:\n if (!this._excludedEmails[email]) {\n _context10.next = 25;\n break;\n }\n\n if (state.updatedNameToAdd) {\n state.updatedNameToAdd += ', ';\n }\n state.updatedNameToAdd += email;\n state.excludedEmails++;\n return _context10.abrupt('return');\n\n case 25:\n _context10.next = 27;\n return this._initializeContact(null, email);\n\n case 27:\n newContact = _context10.sent;\n\n\n newContact.selected = true;\n newContact.recent = true;\n this._scope.context.contacts.push(newContact);\n this._allContactsAndGroups.push(newContact);\n this._scope.created.push(newContact);\n state.addedEmails++;\n _scope2.default.apply(this._scope);\n\n case 35:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function _addEnteredEmail(_x10, _x11) {\n return _ref10.apply(this, arguments);\n }\n\n return _addEnteredEmail;\n }()\n }, {\n key: '_addEnteredEmails',\n value: function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11(sendInvitation) {\n var emails, ownerEmail, hasOwnerEmail, state, i, email, message, toast;\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n this._scope.errorMessage = '';\n this._scope.showErrorMessage = false;\n\n emails = this._scope.nameToAdd.split(/[,; ]/);\n\n // [CW-735] - prevent owner to invite himself to his cart.\n\n _context11.next = 5;\n return this._sessionService.getUserEmail();\n\n case 5:\n ownerEmail = _context11.sent;\n hasOwnerEmail = emails.some(function (email) {\n return ownerEmail === email;\n });\n\n if (!hasOwnerEmail) {\n _context11.next = 11;\n break;\n }\n\n this._scope.errorMessage = this.this.$translate.instant('client.cart.invite_restrict');\n this._scope.showErrorMessage = true;\n return _context11.abrupt('return');\n\n case 11:\n state = {\n addedEmails: 0,\n incorrectEmails: 0,\n excludedEmails: [],\n updatedNameToAdd: ''\n };\n _context11.t0 = regeneratorRuntime.keys(emails);\n\n case 13:\n if ((_context11.t1 = _context11.t0()).done) {\n _context11.next = 20;\n break;\n }\n\n i = _context11.t1.value;\n email = emails[i];\n _context11.next = 18;\n return this._addEnteredEmail(email, state);\n\n case 18:\n _context11.next = 13;\n break;\n\n case 20:\n\n this._sortContactsAndGroups();\n this._updateSelectedContacts(sendInvitation);\n this._closeFoundContactsForm();\n this._updateRecentContacts();\n\n this._scope.nameToAdd = state.updatedNameToAdd;\n\n if (state.updatedNameToAdd) {\n message = '';\n\n if (state.excludedEmails.length) {\n message = this.$translate.instant('client.cart.exclude_emails', { excludedEmails: state.excludedEmails.join(', '), excludedEmailsLength: state.excludedEmails.length > 1 ? '' : 's' });\n }\n if (state.incorrectEmails) {\n if (message) {\n message += ', ';\n }\n message += this.$translate.instant('client.user.valid.email');\n }\n\n toast = this._toastService.simple().textContent(state.addedEmails ? this.$translate.instant('client.user.correct_email') : message).position('top');\n\n // this._toastService.show(toast);\n\n this._scope.errorMessage = message;\n this._scope.showErrorMessage = true;\n } else {\n this._scope.errorMessage = '';\n this._scope.showErrorMessage = false;\n }\n _scope2.default.apply(this._scope);\n\n case 27:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function _addEnteredEmails(_x12) {\n return _ref11.apply(this, arguments);\n }\n\n return _addEnteredEmails;\n }()\n }, {\n key: '_getContactSortBy',\n value: function _getContactSortBy(contact) {\n return (contact.name || contact.email).toLowerCase();\n }\n }, {\n key: '_sortContactsAndGroups',\n value: function _sortContactsAndGroups() {\n var _this9 = this;\n\n this._scope.context.contacts = _.chain(this._scope.context.contacts).filter(function (contact) {\n return !!contact;\n }).sortBy(function (contact) {\n return _this9._getContactSortBy(contact);\n }).value();\n\n this._scope.context.groups = _.chain(this._scope.context.groups).filter(function (contact) {\n return !!contact;\n }).sortBy(function (contact) {\n return _this9._getContactSortBy(contact);\n }).value();\n }\n }, {\n key: '_updateSelectedContacts',\n value: function _updateSelectedContacts(sendInvitation) {\n this._scope.selectedContacts = _.chain(this._allContactsAndGroups).filter(function (contact) {\n return contact && contact.selected && !contact.forcedSelected;\n }).sortBy(function (contact) {\n return -(contact.selectedOn || new Date()).getTime();\n }).value();\n\n this._scope.selectedTwoContacts = _.chain(this._scope.selectedContacts).filter(function (contact) {\n return !contact.isGroup;\n }).value().length > 1;\n\n var emailsSet = {};\n\n this._scope.selectedContacts.forEach(function (item) {\n if (item.isGroup) {\n item.contacts.forEach(function (contact) {\n emailsSet[contact.email] = true;\n });\n } else {\n emailsSet[item.email] = true;\n }\n });\n\n this._scope.selectedEmails = _.keys(emailsSet);\n\n if (this._scope.onChanged) {\n this._scope.onChanged(this._scope.selectedEmails);\n }\n\n if (sendInvitation && this._scope.sendInvitation) {\n this._scope.sendInvitation(this._scope.selectedEmails);\n }\n\n this._updateRecentContacts();\n\n this._rootScope.$broadcast('order:add:people.canAddPeople', this._scope.selectedEmails.length > 0);\n }\n }, {\n key: '_onNextBtnClicked',\n value: function _onNextBtnClicked() {\n if (!this._scope.selectedContacts.length && !this._scope.alreadyInCartContacts.length) {\n this._scope.showErrorMessage = true;\n _scope2.default.apply(this._scope);\n return;\n }\n\n this._scope.showErrorMessage = false;\n this._scope.goNext();\n }\n }, {\n key: '_onBackBtnClicked',\n value: function _onBackBtnClicked() {\n this._scope.goBack();\n }\n }, {\n key: '_onDeleteContactClicked',\n value: function _onDeleteContactClicked(conctact) {\n this._scope.deleteContact(conctact);\n }\n }]);\n\n return OrderAddPeopleDirectiveController;\n}();\n\nOrderAddPeopleDirectiveController.$inject = ['$scope', '$rootScope', 'ContactsService', '$mdToast', 'UserProfile', 'Message', 'Session', '$translate'];\nexports.default = OrderAddPeopleDirectiveController;\n\n\n_module3.default.directive('cartonomyOrderAddPeople', function () {\n return {\n scope: {\n selectedContacts: '=?selectedContacts',\n selectedEmails: '=?selectedEmails',\n onChanged: '=?onChanged',\n sendInvitation: '=?sendInvitation',\n created: '=?created',\n context: '=?context',\n exclude: '=?exclude',\n title: '@title',\n goNext: '=?goNext',\n goBack: '=?goBack',\n cancelAction: '=?cancelAction',\n showCancelButton: '=?showCancelButton',\n deleteContact: '=?deleteContact'\n },\n transclude: true,\n template: __webpack_require__(808),\n controller: OrderAddPeopleDirectiveController\n };\n});\n\n/***/ }),\n/* 808 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
cleararrow_back

{{showCancelButton ? \\\"Send Invites\\\" : \\\"Next\\\"}}  send
{{'client.close' | translate}}
add_circle_outline
{{ errorMessage }}

{{'client.your_contacts' | translate}}

{{'client.order.in' | translate}}

{{'client.user.add_min' | translate}}\\n
\"\n\n/***/ }),\n/* 809 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(18);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction OrderContactViewDirective($scope, messageService, groupOrderService) {\n var _this = this;\n\n function setFirstLetter(contact) {\n if (!contact.isGroup) {\n var name = contact.name || contact.email || \"-\";\n contact.firstLetter = name.substring(0, 1);\n }\n }\n\n $scope.toggleContact = function (contact) {\n if (contact.forcedSelected) {\n return;\n }\n contact.selected = !contact.selected;\n if (contact.selected) {\n contact.selectedOn = new Date();\n } else {\n contact.selectedOn = null;\n }\n $scope.onChanged();\n };\n\n $scope.expandCollapseGroup = function () {\n $scope.contact.expanded = !$scope.contact.expanded;\n $scope.onChanged();\n };\n\n this.$onInit = function () {\n setFirstLetter($scope.contact);\n\n if ($scope.contact.contacts) {\n $scope.contact.contacts.forEach(function (contact) {\n return setFirstLetter(contact);\n });\n }\n };\n\n $scope.deleteContact = function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(email) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n $scope.onContactDelete();\n\n case 1:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }();\n}\n\nOrderContactViewDirective.$inject = ['$scope', 'Message', 'GroupOrder'];\n\n_module3.default.directive('cartonomyOrderContact', function () {\n return {\n scope: {\n contact: '=contact',\n onChanged: '&contactChanged',\n groupView: '=',\n onContactDelete: '&contactDelete'\n },\n templateUrl: 'modules/order/views/contactView.html',\n controller: OrderContactViewDirective\n };\n});\n\n/***/ }),\n/* 810 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// import module from '../module';\n// import moment from 'moment';\n// import * as _ from 'lodash';\n//\n// export default function OrderDateService(storeHours, deliveryDaysRange, addMinutes, maximumDate) {\n//\n// const minimumDate = moment();\n//\n// minimumDate.add(addMinutes, 'minutes');\n//\n// const weekHours = {};\n//\n// _.each(storeHours, (storeHour) => {\n//\n// if (!storeHour.open || !storeHour.close) {\n// return;\n// }\n//\n// const openDate = moment(storeHour.open);\n// const closeDate = moment(storeHour.close);\n// const dayOfWeek = storeHour.dayOfWeek;\n//\n// (weekHours[dayOfWeek] = weekHours[dayOfWeek] || []).push({\n// open: getTime(openDate),\n// close: getTime(closeDate),\n// inRange: function (date) {\n// const time = getTime(date);\n// return time >= this.open && time < this.close;\n// }\n// });\n// });\n//\n// function getTime(date) {\n// if (!date.hour) {\n// return date; // suppose it is already a number\n// }\n// return date.hour() * 60 + date.minute();\n// }\n//\n// function getWeekDay(date) {\n// const day = date.isoWeekday();\n// return day === 7 ? 0 : day;\n// }\n//\n// let day;\n//\n// for (day = 0; day < 20; day++) {\n//\n// const dayOfWeek = getWeekDay(minimumDate);\n// const hours = weekHours[dayOfWeek];\n// if (hours) {\n// const start = getTime(minimumDate);\n// let i;\n// for (i = 0; i < hours.length; i++) {\n// if (hours[i].close > start) {\n// break;\n// }\n// }\n// if (i < hours.length) {\n// break;\n// }\n// }\n//\n// minimumDate.add(1, 'days');\n// minimumDate.startOf('day');\n// }\n// /*\n// if (day >= 20) {\n// return {\n//\n// };\n// } */\n//\n// const minimumTime = minimumDate.clone();\n// minimumDate.startOf('day');\n//\n// if (minimumTime.minutes() % 30 !== 0) {\n// minimumTime.add(30 - minimumTime.minutes() % 30, 'minutes');\n// }\n//\n// let maximumTime = null;\n//\n// if (maximumDate) {\n// maximumDate = moment(maximumDate);\n// maximumTime = maximumDate;\n// } else {\n// maximumDate = minimumDate.clone().add(1, 'day');\n//\n// let weekDay = getWeekDay(minimumDate) + 1;\n//\n// for (let days = 1; days < deliveryDaysRange; weekDay++) {\n// if (weekDay > 6) {\n// weekDay = 0;\n// }\n// if (weekHours[weekDay]) {\n// days++;\n// }\n// maximumDate.add(1, 'days');\n// }\n//\n// maximumDate.endOf('day');\n// }\n//\n// function isTimeInRange(date) {\n//\n// if (!date.isoWeekday) {\n// date = moment(date);\n// }\n//\n// const weekDay = getWeekDay(date);\n// let hours = weekHours[weekDay];\n//\n// if (!hours) {\n// return false;\n// }\n//\n// const time = getTime(date);\n//\n// return _.some(hours, function (hour) {\n// return hour.inRange(time);\n// });\n// }\n//\n// function dateHasWorkingHours(date) {\n// if (!date.isoWeekday) {\n// date = moment(date);\n// }\n//\n// if (date.isBefore(minimumDate)) {\n// return false;\n// }\n//\n// if (date.isAfter(maximumDate)) {\n// return false;\n// }\n//\n// const weekDay = getWeekDay(date);\n//\n// let workingHour = weekHours[weekDay];\n//\n// return !!workingHour && workingHour.length;\n// }\n//\n// function getTimeValues(newValue) {\n//\n// let currentTime = moment(newValue);\n//\n// const timeValues = [{\n// text: '',\n// value: null\n// }];\n//\n// if (currentTime.isBefore(minimumTime)) {\n// if (currentTime.dayOfYear() != minimumTime.dayOfYear()) {\n// return timeValues;\n// }\n//\n// currentTime = minimumTime.clone();\n// } else if (currentTime.dayOfYear() != minimumDate.dayOfYear()) {\n// currentTime = currentTime.startOf('day');\n// }\n//\n// let endOfDay = currentTime.clone().endOf('day');\n//\n// if (maximumTime && endOfDay.isAfter(maximumTime)) {\n// endOfDay = maximumTime.clone().add(1, 'minutes');\n// }\n//\n// for (; currentTime.isBefore(endOfDay); currentTime.add(30, 'minutes')) {\n// if (isTimeInRange(currentTime)) {\n// timeValues.push({\n// text: currentTime.format('LT'),\n// value: currentTime.toISOString()\n// });\n// }\n// }\n//\n// return timeValues;\n// }\n//\n// this.getMinimumDate = () => {\n// return minimumDate.toDate();\n// };\n//\n// this.getMaximumDate = () => {\n// return maximumDate.toDate();\n// };\n//\n// this.getTimeValues = (value) => getTimeValues(value);\n//\n// this.getDateInRangeFilter = () => dateHasWorkingHours;\n//\n// this.joinDateAndTime = (date, time) => {\n// time = moment(time);\n//\n// let joined = moment({\n// year: date.getFullYear(),\n// month: date.getMonth(),\n// day: date.getDate(),\n// hours: time.hour(),\n// minutes: time.minute()\n// });\n//\n// return joined.toDate();\n// };\n// }\n\n\n/***/ }),\n/* 811 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _InviteController = __webpack_require__(429);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar routes = [{\n name: _CommonConstants2.default.RoutingStates.INVITE,\n url: \"/invite/{participantToken}\",\n views: {\n contents: {\n controller: _InviteController.InviteController\n }\n }\n}, {\n name: _CommonConstants2.default.RoutingStates.ORDER_SUMMARY_PAGE,\n url: \"/orderSummaryPage\",\n views: {\n contents: {\n template: __webpack_require__(812),\n controller: 'Cartonomy.Order.OrderSummaryPageController'\n }\n }\n}];\n\nexports.default = routes;\n\n/***/ }),\n/* 812 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar jade = __webpack_require__(41);\n\nmodule.exports = function template(locals) {\nvar buf = [];\nvar jade_mixins = {};\nvar jade_interp;\n\nbuf.push(\"
{{'client.join_link' | translate}}
{{invitationLink}}{{invitationCode}}
\");;return buf.join(\"\");\n}\n\n/***/ }),\n/* 813 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// import module from '../module';\n// import moment from 'moment';\n//\n// require('moment-timezone');\n// import scopeUtils from '../../../utils/scope';\n//\n// export class OrderTabDeadlineController {\n// static $inject = [\n// '$scope', 'cartonomyConfig', '$filter', 'OrderDateService',\n// 'CheckoutService', 'CartService', 'GroupOrder',\n// '$location', '$window', 'Message',\n// 'ConfigurationService' ];\n//\n// constructor($scope, cartonomyConfig, $filter, orderDateServicePromise,\n// checkoutService, cartService, groupOrderService,\n// $location, $window, messageService,\n// ConfigurationService) {\n//\n// this._scope = $scope;\n// this._cartonomyConfig = cartonomyConfig;\n// this._filterService = $filter;\n// this._checkoutService = checkoutService;\n// this._cartService = cartService;\n// this._groupOrderService = groupOrderService;\n// this._locationService = $location;\n// this._windowService = $window;\n// this._messageService = messageService;\n// this._orderDateServicePromise = orderDateServicePromise;\n// this._configurationService = ConfigurationService;\n//\n// $scope.externalStoreMode = cartonomyConfig.externalStoreMode;\n// $scope.maxAllowedBudget = 100000;\n//\n// this._joinDateTime = () => {\n// return null;\n// };\n//\n// $scope.parentBack = $scope.back;\n//\n// $scope.back = (form) => this._back(form);\n//\n// $scope.onDeadlineDateChanged = () => this._onDeadlineDateChanged();\n//\n// $scope.save = () => this.saveAndGotoNext();\n// }\n//\n// async $onInit() {\n// await this._initialize();\n// await this._setupDeliveryTime(this._orderDateServicePromise);\n// }\n//\n// async _initialize() {\n// this.retailer = this._configurationService.getRetailer().retailer;\n//\n// this._scope.retailerTimezoneName = this.retailer.timeZoneDisplayName;\n// this.retailerTimezone = this.retailer.timeZoneSettingName;\n//\n// this._scope.configuration = {\n// groupPay: this._groupOrderService.getGroupPay(),\n// singlePayOrder: this._groupOrderService.getSinglePayOrder() || {\n// paymentInformation: {}\n// },\n// paymentSystem: this._groupOrderService.getPaymentSystem(),\n// vendorDetails: this._groupOrderService.getVendorDetails() || {},\n// deliveryDetails: this._groupOrderService.getDeliveryDetails(),\n// };\n// }\n//\n// save() {\n// if (!this._scope.configuration.deliveryDetails.defineDeadline) {\n// this._scope.configuration.deliveryDetails.deadlineTime = null\n// } else {\n// this._scope.configuration.deliveryDetails.deadlineTime = moment.tz(this._scope.configuration.deliveryDetails.placeTime, this.retailerTimezone).format();\n// }\n//\n// this._groupOrderService.setDeliveryDetails(this._scope.configuration.deliveryDetails);\n// }\n//\n// saveAndGotoNext() {\n// this.save();\n// this._scope.next();\n// }\n//\n// async _setupDeliveryTime(orderDateServicePromise) {\n// this._scope.configuration.deliveryDetails.placeDateAndTime =\n// this._scope.configuration.deliveryDetails.placeDateAndTime ||\n// this._scope.configuration.deliveryDetails.deadlineTime;\n//\n// let placeDateAndTime = this._scope.configuration.deliveryDetails.placeDateAndTime;\n// this._scope.closeOn = placeDateAndTime ? moment.tz(placeDateAndTime, this.retailerTimezone).format('ddd[,] MMM Do[,] LT') + this.retailer.timeZoneDisplayName : '';\n//\n// let minimumTime = moment().add(15, 'minutes');\n// let minimumDate = moment.tz(minimumTime,this.retailerTimezone).startOf('day');\n//\n// let maximumTime = null;\n//\n// if (!this._scope._editMode || this._cartonomyConfig.externalStoreMode) {\n// maximumTime = moment().clone().add('14', 'days').endOf('day');\n// } else if (this._scope.configuration.deliveryDetails.deadlineTime && !this._cartonomyConfig.externalStoreMode) {\n// maximumTime = moment(this._scope.configuration.deliveryDetails.deadlineTime);\n// } else {\n// maximumTime = moment().clone().endOf('day');\n// }\n//\n// let maximumDate = maximumTime.clone().endOf('day');\n//\n// this._scope.minimumDate = minimumDate.toDate();\n// this._scope.maximumDate = maximumDate.toDate();\n//\n// this._scope.configuration.deliveryDetails.placeDate = moment.tz(placeDateAndTime, this.retailerTimezone).format();\n// if(moment.tz(placeDateAndTime, this.retailerTimezone) < moment.tz(moment(), this.retailerTimezone)){\n// this._scope.configuration.deliveryDetails.placeDate = moment.tz(moment(), this.retailerTimezone).format();\n// }\n//\n// if (placeDateAndTime && moment(placeDateAndTime).isValid()) {\n// this._scope.configuration.deliveryDetails.placeTime = moment.tz(placeDateAndTime, this.retailerTimezone).format();\n//\n// this._scope.configuration.deliveryDetails.defineDeadline = true;\n// } else {\n// this._scope.configuration.deliveryDetails.defineDeadline = false;\n// }\n// this._scope.configuration.deliveryDetails.placeEntered = true;\n//\n// if (this._scope.returnToPreview) {\n// this._scope.configuration.deliveryDetails.defineDeadline = true;\n// }\n//\n// let getTimeValues = date => {\n// let dateInRetailerTimezone = date;// moment.tz(date, this.retailerTimezone).format();\n//\n// let currentDate = moment.tz(moment(date),this.retailerTimezone).startOf('day');\n// let endDate = currentDate.clone().endOf('day');\n//\n// let list = [];\n//\n// for (; currentDate.isSameOrBefore(endDate); currentDate.add(30, 'minutes')) {\n// var _minimumTime = moment.tz(minimumTime,this.retailerTimezone);\n// var _maximumTime = moment.tz(maximumTime,this.retailerTimezone);\n// if (currentDate.isBetween(_minimumTime, _maximumTime, 'minutes', '[]')) {\n//\n// let value = currentDate.format().substr(0, 19);\n// list.push({\n// text: currentDate.format('LT'),\n// value: value\n// });\n// }\n// }\n//\n// return list;\n// };\n//\n// this._scope.acceptedDateFilter = date => {\n// date = moment(date).format('YYYY-MM-DD');\n// date = moment.tz(date,this.retailerTimezone);\n// return date.isSameOrAfter(minimumDate) && date.isSameOrBefore(maximumDate);\n// };\n//\n// // regular mode will have expire time assigned, shopify mode should not have\n// if (!this._cartonomyConfig.externalStoreMode) {\n// let timeValues = getTimeValues(maximumDate);\n//\n// if (timeValues.length && !placeDateAndTime) {\n// this._scope.configuration.deliveryDetails.placeTime = timeValues[ timeValues.length - 1 ].value;\n// }\n// }\n//\n// this._scope.$watch('configuration.deliveryDetails.placeDate', (newValue) => {\n// if (!newValue)\n// return;\n//\n// let timeValues = getTimeValues(newValue);\n// this._scope.timeValues = timeValues;\n//\n// this._scope.configuration.deliveryDetails.placeTime = timeValues[ timeValues.length - 1 ].value;\n// scopeUtils.apply(this._scope);\n// });\n//\n// this._scope.$watch('configuration.deliveryDetails.deadlineTime', async (newValue) => {\n// if (!newValue)\n// return;\n//\n// let orderDateServiceClass = await orderDateServicePromise;\n// let orderDateService = orderDateServiceClass(this._scope.configuration.delivery ? 75 : 45, newValue);\n// this._joinDateTime = orderDateService.joinDateAndTime;\n// });\n//\n// if (this._scope.configuration.deliveryDetails.deadlineTime) {\n// let orderDateServiceClass = await orderDateServicePromise;\n// let orderDateService = orderDateServiceClass(this._scope.configuration.delivery ? 75 : 45, this._scope.configuration.deliveryDetails.deadlineTime);\n// this._joinDateTime = orderDateService.joinDateAndTime;\n// }\n// }\n//\n// _onDeadlineDateChanged() {\n// this._rejectSinglePayOrderPlace();\n//\n// if (!this._scope.configuration.deliveryDetails.placeTime) {\n//\n// }\n// }\n//\n//\n// _onDeadlineTimeChanged() {\n// this._rejectSinglePayOrderPlace();\n// }\n//\n// _rejectSinglePayOrderPlace() {\n// if (!this._scope._editMode) {\n// // this._scope.configuration.deliveryDetails.placeEntered = false;\n// }\n// }\n//\n// _back(form) {\n// if (form && !form.$valid) {\n// form.highlightAllErrors();\n// return;\n// }\n//\n// this._scope.parentBack();\n// }\n// }\n//\n// module.controller('OrderTabDeadline', OrderTabDeadlineController);\n\n\n/***/ }),\n/* 814 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _module2 = __webpack_require__(58);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _ProfileController = __webpack_require__(815);\n\nvar _ProfileController2 = _interopRequireDefault(_ProfileController);\n\nvar _OrderHistoryService = __webpack_require__(816);\n\nvar _OrderHistoryService2 = _interopRequireDefault(_OrderHistoryService);\n\nvar _OrderHistoryDetailsDirective = __webpack_require__(817);\n\nvar _OrderHistoryDetailsDirective2 = _interopRequireDefault(_OrderHistoryDetailsDirective);\n\nvar _OrderHistoryDirective = __webpack_require__(818);\n\nvar _OrderHistoryDirective2 = _interopRequireDefault(_OrderHistoryDirective);\n\nvar _OrderHistoryHeaderDirective = __webpack_require__(819);\n\nvar _OrderHistoryHeaderDirective2 = _interopRequireDefault(_OrderHistoryHeaderDirective);\n\nvar _UserProfileDirective = __webpack_require__(820);\n\nvar _UserProfileDirective2 = _interopRequireDefault(_UserProfileDirective);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _module3.default.name;\n\n/***/ }),\n/* 815 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ProfileController = undefined;\n\nvar _module2 = __webpack_require__(58);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ProfileController = exports.ProfileController = function ProfileController(scope, rootScope, authenticationService, messageService, userProfileService, sessionService) {\n _classCallCheck(this, ProfileController);\n\n this._scope = scope;\n this._messageService = messageService;\n this._userProfileService = userProfileService;\n this._sessionService = sessionService;\n this._rootScope = rootScope;\n};\n\nProfileController.$inject = ['$scope', '$rootScope', 'AuthenticationService', 'Message', 'UserProfile', 'Session'];\n\n\n_module3.default.controller('Cartonomy.Profile.ProfileController', ProfileController);\n\n/***/ }),\n/* 816 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(58);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderHistoryService = function () {\n function OrderHistoryService(httpService, cartonomyConfig) {\n _classCallCheck(this, OrderHistoryService);\n\n this._httpService = httpService;\n this._urlBase = cartonomyConfig.ApiV2 + 'order';\n }\n\n _createClass(OrderHistoryService, [{\n key: 'getDetails',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(id) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._httpService.get(this._urlBase + '/' + id);\n\n case 2:\n return _context.abrupt('return', _context.sent.data);\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getDetails(_x) {\n return _ref.apply(this, arguments);\n }\n\n return getDetails;\n }()\n }, {\n key: 'getHistory',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._httpService.get(this._urlBase);\n\n case 2:\n return _context2.abrupt('return', _context2.sent.data);\n\n case 3:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getHistory() {\n return _ref2.apply(this, arguments);\n }\n\n return getHistory;\n }()\n }]);\n\n return OrderHistoryService;\n}();\n\nOrderHistoryService.$inject = ['$http', 'cartonomyConfig'];\n\n\n_module3.default.factory('OrderHistoryService', OrderHistoryService);\n\n/***/ }),\n/* 817 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(58);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderHistoryDetailsDirectiveController = function () {\n function OrderHistoryDetailsDirectiveController(scope, orderHistoryService, cartGroupsService) {\n var _this = this;\n\n _classCallCheck(this, OrderHistoryDetailsDirectiveController);\n\n this._scope = scope;\n this._orderHistoryService = orderHistoryService;\n this._cartGroupsService = cartGroupsService;\n scope.printDetails = function () {\n return _this._printDetails();\n };\n scope.groups = [];\n this._getItems();\n }\n\n _createClass(OrderHistoryDetailsDirectiveController, [{\n key: '_getItems',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var details;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._orderHistoryService.getDetails(this._scope.orderDetails.orderId);\n\n case 2:\n details = _context.sent;\n _context.next = 5;\n return this._cartGroupsService.groupItems(details.items, details.participants);\n\n case 5:\n this._scope.groups = _context.sent;\n\n _.each(this._scope.groups, function (group) {\n group.history = true;\n group.editable = false;\n });\n\n case 7:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _getItems() {\n return _ref.apply(this, arguments);\n }\n\n return _getItems;\n }()\n }, {\n key: '_printDetails',\n value: function _printDetails() {\n window.print();\n }\n }]);\n\n return OrderHistoryDetailsDirectiveController;\n}();\n\nOrderHistoryDetailsDirectiveController.$inject = ['$scope', 'OrderHistoryService', 'CartGroupsService'];\n\n\n_module3.default.directive('orderHistoryDetails', function () {\n return {\n templateUrl: 'modules/profile/views/orderHistoryDetails.html',\n controller: OrderHistoryDetailsDirectiveController\n };\n});\n\n/***/ }),\n/* 818 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(58);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderHistoryDirectiveController = function () {\n function OrderHistoryDirectiveController(scope, orderHistoryService) {\n var _this = this;\n\n _classCallCheck(this, OrderHistoryDirectiveController);\n\n this._scope = scope;\n this._orderHistoryService = orderHistoryService;\n this._scope.viewDetails = function (id) {\n return _this._viewDetails(id);\n };\n this._scope.closeDetails = function () {\n return _this._scope.orderDetails = null;\n };\n this._scope.orderDetails = null;\n this._scope.history = [];\n this._initialize();\n }\n\n _createClass(OrderHistoryDirectiveController, [{\n key: '_initialize',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var history;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._orderHistoryService.getHistory();\n\n case 2:\n history = _context.sent;\n\n this._scope.history = history;\n\n _.each(history, function (item) {\n item.orderedFormatted = (0, _moment2.default)(item.orderedOn).format('H:mm A dddd, MMMM DD, YYYY');\n item.expectedFormatted = (0, _moment2.default)(item.expectedOn).format('MMMM DD, YYYY');\n item.address = item.shippingAddress + (item.shippingAddress2 ? ' ' + item.shippingAddress2 : '') + ', ' + item.shippingCity + ', ' + item.shippingState + ' ' + item.shippingZip;\n });\n\n _scope2.default.apply(this._scope);\n\n case 6:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _initialize() {\n return _ref.apply(this, arguments);\n }\n\n return _initialize;\n }()\n }, {\n key: '_viewDetails',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(id) {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n this._scope.orderDetails = _.find(this._scope.history, function (item) {\n return item.orderId === id;\n });\n _scope2.default.apply(this._scope);\n\n case 2:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function _viewDetails(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return _viewDetails;\n }()\n }]);\n\n return OrderHistoryDirectiveController;\n}();\n\nOrderHistoryDirectiveController.$inject = ['$scope', 'OrderHistoryService'];\n\n\n_module3.default.directive('orderHistory', function () {\n return {\n scope: true,\n templateUrl: 'modules/profile/views/orderHistory.html',\n controller: OrderHistoryDirectiveController\n };\n});\n\n/***/ }),\n/* 819 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _module2 = __webpack_require__(58);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_module3.default.directive('orderHistoryHeader', function () {\n return {\n transclude: true,\n templateUrl: 'modules/profile/views/orderHistoryHeader.html',\n scope: {\n record: '=orderHistoryHeader'\n }\n };\n});\n\n/***/ }),\n/* 820 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(58);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _EditAddressController = __webpack_require__(821);\n\nvar _EditAddressController2 = _interopRequireDefault(_EditAddressController);\n\nvar _utils = __webpack_require__(29);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar UserProfileDirectiveController = function () {\n function UserProfileDirectiveController(scope, authenticationService, stateService, userProfileService, dialogService, messageService, rootScope, cartonomyConfig, SessionStorage, sessionService, cartService, localForageService, $translate) {\n var _this = this;\n\n _classCallCheck(this, UserProfileDirectiveController);\n\n this._scope = scope;\n this._stateService = stateService;\n this._userProfileService = userProfileService;\n this._dialogService = dialogService;\n this._messageService = messageService;\n this._authenticationService = authenticationService;\n this._cartonomyConfig = cartonomyConfig;\n this._rootScope = rootScope;\n //this._sessionStorageService = SessionStorage;\n this._localForageService = localForageService;\n this._sessionService = sessionService;\n this._cartService = cartService;\n this._translateService = $translate;\n\n scope.emailEditMode = false;\n scope.addressEditMode = false;\n\n scope.data = {\n addresses: [],\n emails: []\n };\n\n scope.openIdProviders = authenticationService.getOpenIdProviders();\n\n scope.toggleEmailEditMode = function () {\n return scope.emailEditMode = !scope.emailEditMode;\n };\n scope.toggleAddressEditMode = function () {\n return scope.addressEditMode = !scope.addressEditMode;\n };\n scope.toggleNameEditMode = function () {\n return scope.nameEditMode = !scope.nameEditMode;\n };\n\n scope.changePassword = function () {\n return authenticationService.showChangePasswordDialog();\n };\n scope.canChangePassword = function () {\n return _this._canChangePassword();\n };\n scope.login = function () {\n return authenticationService.showLoginDialog();\n };\n scope.logout = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt('return', _this.logout());\n\n case 1:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n scope.canLoadAvatarFrom = function (openIdProvider) {\n return _this._canLoadAvatarFrom(openIdProvider);\n };\n scope.updateAvatarFromProvider = function (provider) {\n return _this._updateAvatarFromProvider(provider);\n };\n\n scope.canLinkAccount = function (openIdProvider) {\n return _this._canLinkAccount(openIdProvider);\n };\n scope.linkToProvider = function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(openIdProvider) {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt('return', _this._linkAccountToProvider(openIdProvider));\n\n case 1:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n\n this.onOAuthResponseCallback = function (event) {\n return _this.onOAuthResponse(event);\n };\n window.addEventListener('message', this.onOAuthResponseCallback);\n\n scope.isStoreAdmin = function () {\n return _this._rootScope.isStoreAdmin;\n };\n scope.changeAvatar = function () {\n return _this._changeAvatar(event);\n };\n\n scope.goToGroupOrderReport = function () {\n _this._stateService.go(_CommonConstants2.default.RoutingStates.STORE_ADMIN);\n };\n\n scope.goToOpenCarts = function () {\n _this._stateService.go(_CommonConstants2.default.RoutingStates.OPEN_CARTS);\n };\n scope.createNewGroupOrder = function () {\n // 1. Clear Stealth mod if needed\n if (_this._sessionService.getStealthUserMode()) {\n _this._sessionService.setStealthUserMode(null);\n _this._cartService.resetCart();\n _this._rootScope.$broadcast(_CommonConstants2.default.Events.ORDER_CANCELLED);\n }\n\n // 2. go to\n _this._rootScope.$broadcast(_CommonConstants2.default.Events.OPEN_SPLASH_SCREEN);\n _this._stateService.go(_CommonConstants2.default.RoutingStates.CART);\n };\n\n scope.addEmailInput = function () {\n return _this._addEmailInput();\n };\n scope.saveProfile = function () {\n return _this._save();\n };\n }\n\n _createClass(UserProfileDirectiveController, [{\n key: '$onInit',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function $onInit() {\n return _ref3.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: '_save',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n var _this2 = this;\n\n var isError, user;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n isError = false;\n\n this._scope.profile.emails.forEach(function (item) {\n if (!isError && !_CommonConstants2.default.EMAIL_REGEX.test(item.email)) {\n _this2._messageService.showErrorPopup(\"Incorrect email address\");\n isError = true;\n }\n });\n\n if (!isError) {\n _context4.next = 4;\n break;\n }\n\n return _context4.abrupt('return');\n\n case 4:\n _context4.prev = 4;\n _context4.next = 7;\n return this._userProfileService.saveProfile({\n firstName: this._scope.profile.firstName,\n lastName: this._scope.profile.lastName,\n emails: this._scope.profile.emails\n });\n\n case 7:\n user = _context4.sent;\n\n this._messageService.showMessagePopup(this._translateService.instant('client.profile.success'));\n _context4.t0 = this._sessionService;\n _context4.t1 = user.email;\n _context4.t2 = user.fullName;\n _context4.t3 = user.firstName;\n _context4.t4 = user.lastName;\n _context4.next = 16;\n return this._sessionService.getAuthToken();\n\n case 16:\n _context4.t5 = _context4.sent;\n _context4.next = 19;\n return this._sessionService.isInvite();\n\n case 19:\n _context4.t6 = _context4.sent;\n _context4.t7 = {\n userEmail: _context4.t1,\n userName: _context4.t2,\n firstName: _context4.t3,\n lastName: _context4.t4,\n authToken: _context4.t5,\n isInvite: _context4.t6\n };\n\n _context4.t0.setSessionDetails.call(_context4.t0, _context4.t7);\n\n _context4.next = 27;\n break;\n\n case 24:\n _context4.prev = 24;\n _context4.t8 = _context4['catch'](4);\n\n this._messageService.showErrorPopupForResponse(_context4.t8);\n\n case 27:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this, [[4, 24]]);\n }));\n\n function _save() {\n return _ref4.apply(this, arguments);\n }\n\n return _save;\n }()\n }, {\n key: 'logout',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n var stateToGo;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return this._authenticationService.logout();\n\n case 2:\n this._rootScope.$broadcast(_CommonConstants2.default.Events.USER_LOGGED_OUT);\n\n stateToGo = this._cartonomyConfig.externalStoreMode ? _CommonConstants2.default.RoutingStates.CART : _CommonConstants2.default.RoutingStates.CATALOG;\n\n this._authenticationService.showLoginDialog('', 'login');\n\n case 5:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function logout() {\n return _ref5.apply(this, arguments);\n }\n\n return logout;\n }()\n }, {\n key: '_changeAvatar',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6($event) {\n var file, upload;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n if (!($event && $event.target.files && $event.target.files.length > 0)) {\n _context6.next = 6;\n break;\n }\n\n file = $event.target.files[0];\n _context6.next = 4;\n return this._userProfileService.uploadAvatar(file);\n\n case 4:\n upload = _context6.sent;\n\n if (upload.status === 200) {\n this._scope.profile.avatar = upload.data.data.avatar;\n this._scope.profile.avatarCropped = upload.data.data.avatar;\n this._rootScope.$broadcast(_CommonConstants2.default.RootEvents.USER_PROFILE_UPDATED);\n _scope2.default.apply(this._scope);\n }\n\n case 6:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _changeAvatar(_x2) {\n return _ref6.apply(this, arguments);\n }\n\n return _changeAvatar;\n }()\n }, {\n key: '_canChangePassword',\n value: function _canChangePassword() {\n return !this._scope.isGuest && this._scope.profile && !this._scope.profile.linkOAuthOnly;\n }\n }, {\n key: '_canLoadAvatarFrom',\n value: function _canLoadAvatarFrom(openIdProvider) {\n return this._scope.profile && this._scope.profile.linkedOAuth && _.some(this._scope.profile.linkedOAuth, function (p) {\n return p == openIdProvider;\n });\n }\n }, {\n key: '_canLinkAccount',\n value: function _canLinkAccount(openIdProvider) {\n return this._scope.profile && this._scope.profile.linkedOAuth && !_.some(this._scope.profile.linkedOAuth, function (p) {\n return p == openIdProvider;\n });\n }\n }, {\n key: '_linkAccountToProvider',\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(openIdProvider) {\n var externalLogin;\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return this._localForageService.store(_CommonConstants2.default.SessionStorage.LINKING_SOCIAL_ACCOUNT, true);\n\n case 2:\n _context7.next = 4;\n return this._authenticationService.checkLoginToken();\n\n case 4:\n externalLogin = this._authenticationService.externalLogin(openIdProvider);\n\n window.open('' + externalLogin, 'social_login_facebook');\n\n case 6:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function _linkAccountToProvider(_x3) {\n return _ref7.apply(this, arguments);\n }\n\n return _linkAccountToProvider;\n }()\n }, {\n key: '_updateAvatarFromProvider',\n value: function _updateAvatarFromProvider(provider) {\n var _this3 = this;\n\n this._userProfileService.updateOpenIdAvatar(provider).then(function () {\n _this3._rootScope.$broadcast(_CommonConstants2.default.RootEvents.USER_PROFILE_UPDATED);\n }, function (error) {\n var message = _this3._messageService.getMessageFromErrorResponse(error) || 'Cannot update avatar';\n _this3._messageService.showErrorPopup(message);\n });\n }\n }, {\n key: 'onOAuthResponse',\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8(response) {\n var responseData, authToken, user, awaitingInvitation, linkingSocialAccount;\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n if (!(response.data.eventType !== 'OAuthResult')) {\n _context8.next = 2;\n break;\n }\n\n return _context8.abrupt('return');\n\n case 2:\n _context8.next = 4;\n return this._sessionService.loggedIn();\n\n case 4:\n if (_context8.sent) {\n _context8.next = 6;\n break;\n }\n\n return _context8.abrupt('return');\n\n case 6:\n responseData = response.data;\n authToken = responseData.token;\n\n if (!(!authToken && responseData.errorMessage)) {\n _context8.next = 12;\n break;\n }\n\n _context8.next = 11;\n return this._messageService.showErrorPopup(responseData.errorMessage);\n\n case 11:\n return _context8.abrupt('return');\n\n case 12:\n\n window.removeEventListener('message', this.onOAuthResponseCallback);\n _context8.prev = 13;\n _context8.next = 16;\n return this._authenticationService.externalLoginFinalize(authToken);\n\n case 16:\n _context8.next = 23;\n break;\n\n case 18:\n _context8.prev = 18;\n _context8.t0 = _context8['catch'](13);\n _context8.next = 22;\n return this._messageService.showErrorPopupForResponse(_context8.t0);\n\n case 22:\n return _context8.abrupt('return');\n\n case 23:\n _context8.next = 25;\n return this._sessionService.clearSessionDetails();\n\n case 25:\n _context8.t1 = this._sessionService;\n _context8.t2 = authToken;\n _context8.next = 29;\n return this._sessionService.getUserEmail();\n\n case 29:\n _context8.t3 = _context8.sent;\n _context8.next = 32;\n return this._sessionService.getUserName();\n\n case 32:\n _context8.t4 = _context8.sent;\n _context8.t5 = {\n authToken: _context8.t2,\n userEmail: _context8.t3,\n userName: _context8.t4\n };\n _context8.next = 36;\n return _context8.t1.setSessionDetails.call(_context8.t1, _context8.t5);\n\n case 36:\n this._userProfileService.resetUser();\n _context8.next = 39;\n return this._userProfileService.getUser();\n\n case 39:\n user = _context8.sent;\n _context8.next = 42;\n return this._sessionService.setSessionDetails({\n authToken: authToken,\n userEmail: user.email,\n userName: user.fullName,\n firstName: user.firstName,\n lastName: user.lastName\n });\n\n case 42:\n awaitingInvitation = null;\n\n if (_utils.utils.hash.indexOf('#/invite/') > -1) {\n awaitingInvitation = JSON.stringify({ participantToken: _utils.utils.hash.replace('#/invite/', '') });\n }\n\n if (!awaitingInvitation) {\n _context8.next = 47;\n break;\n }\n\n this._stateService.go(_CommonConstants2.default.RoutingStates.INVITE, JSON.parse(awaitingInvitation));\n return _context8.abrupt('return');\n\n case 47:\n _context8.next = 49;\n return this._localForageService.retrieve(_CommonConstants2.default.SessionStorage.LINKING_SOCIAL_ACCOUNT);\n\n case 49:\n linkingSocialAccount = _context8.sent;\n\n if (!linkingSocialAccount) {\n _context8.next = 55;\n break;\n }\n\n _context8.next = 53;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.LINKING_SOCIAL_ACCOUNT);\n\n case 53:\n this._stateService.go(_CommonConstants2.default.RoutingStates.USER_PROFILE);\n return _context8.abrupt('return');\n\n case 55:\n\n this._sessionService.setCartReference(null);\n\n case 56:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this, [[13, 18]]);\n }));\n\n function onOAuthResponse(_x4) {\n return _ref8.apply(this, arguments);\n }\n\n return onOAuthResponse;\n }()\n }]);\n\n return UserProfileDirectiveController;\n}();\n\nUserProfileDirectiveController.$inject = ['$scope', 'AuthenticationService', '$state', 'UserProfile', '$mdDialog', 'Message', '$rootScope', 'cartonomyConfig', 'SessionStorage', 'Session', 'CartService', 'LocalForageService', '$translate'];\n\n\n_module3.default.directive('userProfile', function () {\n return {\n scope: true,\n template: __webpack_require__(823),\n controller: UserProfileDirectiveController\n };\n});\n\n_module3.default.directive('fileOnChange', function () {\n return {\n scope: true,\n restrict: 'A',\n link: function link(scope, element, attrs) {\n element.bind('change', scope.changeAvatar);\n },\n controller: UserProfileDirectiveController\n };\n});\n\n/***/ }),\n/* 821 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _states = __webpack_require__(822);\n\nvar _states2 = _interopRequireDefault(_states);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar EditAddressController = function () {\n function EditAddressController(scope, dialogService, address) {\n var _this = this;\n\n _classCallCheck(this, EditAddressController);\n\n this._dialogService = dialogService;\n this._scope = scope;\n scope.states = _states2.default;\n\n scope.address = address;\n scope.save = function (form) {\n return _this.save(form);\n };\n scope.cancel = function () {\n return _this.cancel();\n };\n }\n\n _createClass(EditAddressController, [{\n key: 'save',\n value: function save(form) {\n if (!form.$valid) {\n form.highlightAllErrors();\n return;\n }\n\n this._dialogService.hide(this._scope.address);\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this._dialogService.cancel();\n }\n }]);\n\n return EditAddressController;\n}();\n\nexports.default = ['$scope', '$mdDialog', 'address', function (scope, dialogService, address) {\n return new EditAddressController(scope, dialogService, address);\n}];\n\n/***/ }),\n/* 822 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\"AL\",\"AK\",\"AZ\",\"AR\",\"CA\",\"CO\",\"CT\",\"DE\",\"DC\",\"FL\",\"GA\",\"HI\",\"ID\",\"IL\",\"IN\",\"IA\",\"KS\",\"KY\",\"LA\",\"ME\",\"MD\",\"MA\",\"MI\",\"MN\",\"MS\",\"MO\",\"MT\",\"NE\",\"NV\",\"NH\",\"NJ\",\"NM\",\"NY\",\"NC\",\"ND\",\"OH\",\"OK\",\"OR\",\"PA\",\"RI\",\"SC\",\"SD\",\"TN\",\"TX\",\"UT\",\"VT\",\"VA\",\"WA\",\"WV\",\"WI\",\"WY\"]\n\n/***/ }),\n/* 823 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\"\n\n/***/ }),\n/* 824 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _module2 = __webpack_require__(116);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _ChatViewController = __webpack_require__(825);\n\nvar _ChatViewController2 = _interopRequireDefault(_ChatViewController);\n\nvar _CategoryController = __webpack_require__(826);\n\nvar _CategoryController2 = _interopRequireDefault(_CategoryController);\n\nvar _ProductDetailController = __webpack_require__(430);\n\nvar _ProductDetailController2 = _interopRequireDefault(_ProductDetailController);\n\nvar _ProductListDirective = __webpack_require__(827);\n\nvar _ProductListDirective2 = _interopRequireDefault(_ProductListDirective);\n\nvar _ChatDirective = __webpack_require__(828);\n\nvar _ChatDirective2 = _interopRequireDefault(_ChatDirective);\n\nvar _ChatCounterDirective = __webpack_require__(832);\n\nvar _ChatCounterDirective2 = _interopRequireDefault(_ChatCounterDirective);\n\nvar _CatalogService = __webpack_require__(833);\n\nvar _CatalogService2 = _interopRequireDefault(_CatalogService);\n\nvar _ChatService = __webpack_require__(834);\n\nvar _ChatService2 = _interopRequireDefault(_ChatService);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_module3.default.controller('Cartonomy.Catalog.ChatViewController', _ChatViewController2.default);\n\n_module3.default.controller('Cartonomy.Catalog.CategoryController', ['$scope', '$rootScope', '$state', 'Message', '$stateParams', 'OrderSetupService', 'GroupOrder', 'CheckoutService', 'CartService', _CategoryController2.default]);\n\n_module3.default.directive('cartonomyCatalogProductList', function () {\n return {\n scope: {\n categoryId: '=',\n searchString: '='\n },\n templateUrl: 'modules/catalog/views/productList.html',\n controller: _ProductListDirective2.default\n };\n});\n\n_module3.default.directive('cartonomyCatalogChat', function () {\n return {\n scope: true,\n template: __webpack_require__(835),\n controller: _ChatDirective2.default\n };\n});\n\n_module3.default.service('CatalogService', _CatalogService2.default);\n\n_module3.default.service('CatalogChatService', _ChatService2.default);\n\n_module3.default.directive('chatCounter', [function () {\n return {\n templateUrl: '/modules/catalog/views/chatCounterDirective.html',\n controller: _ChatCounterDirective2.default\n };\n}]);\n\n_module3.default.directive('chatListener', ['CatalogChatService', function (chatService) {\n return {\n link: function link(scope, element, attr) {\n\n var count = chatService.getUnreadMessages();\n if (count && count > 0) {\n element.addClass(attr.chatListener);\n }\n\n scope.$on(_CommonConstants2.default.Events.CHAT_MESSAGE_RECEIVED, function (scope, unreadMessages) {\n if (unreadMessages) {\n element.addClass(attr.chatListener);\n } else {\n element.removeClass(attr.chatListener);\n }\n _scope2.default.apply(scope);\n });\n }\n };\n}]);\n\nexports.default = _module3.default.name;\n\n/***/ }),\n/* 825 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ChatViewController = function () {\n function ChatViewController(scope) {\n var _this = this;\n\n _classCallCheck(this, ChatViewController);\n\n this._scope = scope;\n this._scope.CHATVIEW = 0;\n this._scope.INVITEDPEOPLE = 1;\n\n this._scope.switchTab = function (tab) {\n return _this._switchTab(tab);\n };\n this._scope.switchToChatTab = function () {\n return _this._switchToChatTab();\n };\n this._scope.switchToInvitedPeopleTab = function () {\n return _this._switchToInvitedPeopleTab();\n };\n }\n\n _createClass(ChatViewController, [{\n key: '_switchTab',\n value: function _switchTab(tab) {\n this._scope.selectedTab = tab;\n }\n }, {\n key: '_switchToChatTab',\n value: function _switchToChatTab() {\n this._switchTab(this._scope.CHATVIEW);\n }\n }, {\n key: '_switchToInvitedPeopleTab',\n value: function _switchToInvitedPeopleTab() {\n this._switchTab(this._scope.INVITEDPEOPLE);\n }\n }]);\n\n return ChatViewController;\n}();\n\nChatViewController.$inject = ['$scope'];\nexports.default = ChatViewController;\n\n/***/ }),\n/* 826 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _module2 = __webpack_require__(116);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction CategoryController(scope, rootScope, state, messageService, stateParams, orderSetupService, groupOrder, checkoutService, cartService) {\n\n _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var externalPayerId, cart, isGroupOrder, hasSavedSession;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n scope.page = 1;\n\n scope.underConstruction = function () {\n messageService.showErrorPopup('Under Construction');\n };\n\n if (!stateParams.externalPayerId) {\n _context.next = 6;\n break;\n }\n\n rootScope.externalPayerId = stateParams.externalPayerId;\n state.go(_CommonConstants2.default.RoutingStates.CATALOG);\n return _context.abrupt('return');\n\n case 6:\n if (!rootScope.externalPayerId) {\n _context.next = 17;\n break;\n }\n\n externalPayerId = rootScope.externalPayerId;\n\n rootScope.externalPayerId = undefined;\n\n _context.next = 11;\n return cartService.getCart();\n\n case 11:\n cart = _context.sent;\n isGroupOrder = cartService.isGroupOrder(cart);\n hasSavedSession = groupOrder.hasSavedSession();\n _context.next = 16;\n return checkoutService.submitOrder('PayPal', scope.total, {\n externalPayerId: externalPayerId,\n isAuthorization: hasSavedSession\n });\n\n case 16:\n\n if (hasSavedSession) {\n orderSetupService.continueOrder({\n externalPayerId: externalPayerId\n });\n } else {\n state.go(_CommonConstants2.default.RoutingStates.CONFIRM_ORDER);\n }\n\n case 17:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }))();\n}\n\nexports.default = CategoryController;\n\n/***/ }),\n/* 827 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _module2 = __webpack_require__(116);\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _ProductDetailController = __webpack_require__(430);\n\nvar _ProductDetailController2 = _interopRequireDefault(_ProductDetailController);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ProductListDirectiveController = function () {\n function ProductListDirectiveController(scope, mdDialog, catalogService, cartService, timeoutService, messageService, locationService) {\n var _this = this;\n\n _classCallCheck(this, ProductListDirectiveController);\n\n this._scope = scope;\n this._catalogService = catalogService;\n this._cartService = cartService;\n this._messageService = messageService;\n this._timeoutService = timeoutService;\n this._dialogService = mdDialog;\n this._locationService = locationService;\n\n scope.products = [];\n scope.pageNum = 0;\n scope.hasMore = true;\n\n scope.loadMore = function () {\n return _this._loadMore();\n };\n scope.customizeProduct = function (product) {\n return _this._customizeProduct(product);\n };\n scope.endCustomizeProduct = function (product) {\n return _this._endCustomizeProduct(product);\n };\n scope.customizeKeyPressed = function ($event, product) {\n return _this._customizeKeyPressed($event, product);\n };\n\n scope.$watch('categoryId', function (newValue, oldValue) {\n return _this._onCategoryIdChanged(newValue, oldValue);\n });\n\n scope.$watch('searchString', function (newValue, oldValue) {\n if (newValue !== oldValue) {\n _this.refreshList();\n }\n });\n\n scope.showProductDetail = function (product) {\n return _this._showProductDetail(product);\n };\n scope.addToCart = function (product) {\n return _this._addToCart(product);\n };\n }\n\n _createClass(ProductListDirectiveController, [{\n key: '$onInit',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.refreshList();\n\n case 1:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function $onInit() {\n return _ref.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: '_loadMore',\n value: function _loadMore() {\n this._scope.pageNum++;\n this.refreshList();\n }\n }, {\n key: '_customizeProduct',\n value: function _customizeProduct(product) {\n product.showComment = true;\n product.setFocus();\n }\n }, {\n key: '_endCustomizeProduct',\n value: function _endCustomizeProduct(product) {\n if (!product.comment.length) {\n product.showComment = false;\n }\n this._addToCart(product);\n }\n }, {\n key: '_customizeKeyPressed',\n value: function _customizeKeyPressed($event, product) {\n if ($event.which === 13) {\n this.endCustomizeProduct(product);\n }\n }\n }, {\n key: '_onCategoryIdChanged',\n value: function _onCategoryIdChanged(newValue, oldValue) {\n\n if (newValue === oldValue) {\n return;\n }\n\n this.catDefaults();\n this.refreshList();\n }\n }, {\n key: 'catDefaults',\n value: function catDefaults() {\n this._scope.pageNum = 0;\n this._scope.hasMore = true;\n this._scope.products = [];\n }\n }, {\n key: 'prepareProducts',\n value: function prepareProducts() {\n var _this2 = this;\n\n _.each(this._scope.products, function (product) {\n if (!product.image) {\n product.image = _CommonConstants2.default.DEFAULT_PRODUCT_IMAGE;\n } else {\n product.image = product.image.replace(/^(\\w)+\\:/, function () {\n return _this2._locationService.protocol() + ':';\n });\n }\n product.quantity = 1;\n product.comment = \"\";\n product.showComment = false;\n product.addedState = false;\n product.setFocus = function () {};\n });\n }\n }, {\n key: 'refreshList',\n value: function refreshList() {\n var _this3 = this;\n\n if (!this._scope.searchString && !this._scope.categoryId) {\n this._scope.products = [];\n return;\n }\n\n if (_.isEmpty(this._scope.searchString)) {\n var limit = _CommonConstants2.default.Pagination.PAGE_LIMIT;\n var offset = this._scope.pageNum * limit;\n this._catalogService.getProductsBySuperCategory(this._scope.categoryId, offset, limit).then(function (data) {\n var _products = data || [];\n if (_.isEmpty(_products)) {\n _this3._scope.hasMore = false;\n }\n\n _this3._scope.products = _this3._scope.products.concat(_products);\n _this3.prepareProducts();\n });\n } else {\n this._catalogService.searchProducts(this._scope.searchString, 0).then(function (data) {\n _this3._scope.products = data.productList.result || {};\n _this3.prepareProducts();\n });\n }\n }\n }, {\n key: '_showProductDetail',\n value: function _showProductDetail(product) {\n var _this4 = this;\n\n this._catalogService.getProduct(product.id).then(function (product) {\n _this4._dialogService.show({\n controller: _ProductDetailController2.default,\n templateUrl: '/modules/catalog/views/productDetails.html',\n clickOutsideToClose: true,\n locals: {\n product: product\n }\n });\n });\n }\n }, {\n key: '_addToCart',\n value: function _addToCart(product) {\n var _this5 = this;\n\n this._cartService.addProduct({\n id: product.id,\n image: product.image,\n quantity: product.quantity || 1,\n comment: product.comment,\n name: product.name,\n price: product.price\n }).then(function () {\n product.quantity = 1;\n product.comment = \"\";\n product.showComment = false;\n product.addedState = true;\n _this5._timeoutService(function () {\n product.addedState = false;\n }, 3000);\n }, function (error) {\n return _this5._messageService.showErrorPopupForResponse(error);\n });\n }\n }]);\n\n return ProductListDirectiveController;\n}();\n\nProductListDirectiveController.$inject = ['$scope', '$mdDialog', 'CatalogService', 'CartService', '$timeout', 'Message', '$location'];\nexports.default = ProductListDirectiveController;\n\n/***/ }),\n/* 828 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nvar _emojiPicker = __webpack_require__(829);\n\nvar _emojiPicker2 = _interopRequireDefault(_emojiPicker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar logoPath = 'resources/images/cartonomy-icon.svg';\n\nvar ChatDirectiveController = function () {\n function ChatDirectiveController(scope, catalogChatService, stateService, messageService, timeoutService, Session, localForageService, $, configurationService, cartService, rootScope, orderSetupService) {\n var _this = this;\n\n _classCallCheck(this, ChatDirectiveController);\n\n this._onChatUpdated = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var newMessages;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n setTimeout(function () {\n if (document.querySelector('.msg_container_base') && document.querySelector('.msg_container_base')) {\n document.querySelector('.msg_container_base').scrollTop = document.querySelector('.msg_container_base').scrollHeight;\n }\n }, 100);\n _this._scope.refreshing = true;\n _context.next = 4;\n return _this._catalogChatService.getMessages();\n\n case 4:\n newMessages = _context.sent;\n\n if (_this._scope.messages.length <= newMessages.length) {\n _this._scope.messages = newMessages;\n }\n _this._scope.hasMore = false;\n\n if (_this._scope.compactMode && _this._scope.messages.length > _CommonConstants2.default.CHAT_MESSAGES_LIMIT) {\n _this._scope.messages = _.slice(_this._scope.messages, _this._scope.messages.length - _CommonConstants2.default.CHAT_MESSAGES_LIMIT);\n _this._scope.hasMore = true;\n }\n\n if (_this._scope.messages.length) {\n _context.next = 12;\n break;\n }\n\n _this._scope.participants = [];\n // this._scope.refreshing = false;\n _scope2.default.apply(_this._scope);\n return _context.abrupt('return');\n\n case 12:\n\n _.each(_this._scope.messages, function (message) {\n message.name = message.Name || message.name || message.Email || message.email;\n message.email = message.Email || message.email;\n message.message = _this._formatMessage(message.Message) || _this._formatMessage(message.message);\n message.isMy = message.email === _this._scope.currentLoggedInUserEmail;\n\n // message.message = message.message.replace('target=\"_parent\"', 'target=\"_blank\"');\n\n message.iconLetter = message.name[0];\n message.avatarCropped = message.avatarCropped || message.AvatarCropped;\n message.avatar = message.avatar || message.Avatar;\n });\n\n _this._scope.participants = _.chain(_this._scope.messages).map(function (m) {\n return _.pick(m, ['email', 'name']);\n }).uniqWith(_.isEqual).sortBy('name').value();\n _this._scope.selectedParticipants = _this._scope.participants.map(function (r) {\n return r.email;\n });\n\n _this._scope.refreshing = false;\n _scope2.default.apply(_this._scope);\n\n case 17:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this);\n }));\n\n\n this._catalogChatService = catalogChatService;\n this._scope = scope;\n this._stateService = stateService;\n this._cartService = cartService;\n this._messageService = messageService;\n this._sessionService = Session;\n this._configurationService = configurationService;\n //this._sessionStorageService = SessionStorage;\n this._localForageService = localForageService;\n this.currentClientTime = new Date();\n this.currentClientTimeCount = new Date().getTime();\n this._rootScope = rootScope;\n this._orderSetupService = orderSetupService;\n scope.copyClipboard = function () {\n return _this._copyClipboard();\n };\n\n scope.participants = [];\n scope.messages = [];\n scope.newMessage = '';\n scope.compactMode = stateService.is(_CommonConstants2.default.RoutingStates.CATALOG);\n scope.maxTextLength = _CommonConstants2.default.MAXIMUM_CHAT_TEXT_LENGTH;\n scope.refreshing = false;\n scope.selectedParticipants = [];\n this._sessionService.getUserEmail().then(function (result) {\n return scope.currentLoggedInUserEmail = result;\n });\n this.jQuery = $;\n\n scope.getTimeForMessage = function (messageUTCTime) {\n var currentTime = new Date().getTime();\n return new Date(messageUTCTime).getTime() > currentTime ? currentTime : messageUTCTime;\n };\n\n scope.participantsFilter = function () {\n return _this._participantsFilter();\n };\n scope.selectAllParticipants = function () {\n return _this._selectAllParticipants();\n };\n scope.checkedAllParticipants = function () {\n return _this._checkedAllParticipants();\n };\n\n scope.isSvg = function (path) {\n return !!path && path.indexOf(logoPath) > -1;\n };\n scope.$on('$destroy', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _this._catalogChatService.startWatchingOnUnreadMessage();\n\n case 2:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this);\n })));\n\n scope.$on(_CommonConstants2.default.Events.WINDOW_STATE_CHANGED, function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(scope, state) {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(state === _CommonConstants2.default.WindowMode.maximized)) {\n _context3.next = 3;\n break;\n }\n\n _context3.next = 3;\n return _this._catalogChatService.stopWatchingForUnreadMessage();\n\n case 3:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, _this);\n }));\n\n return function (_x, _x2) {\n return _ref3.apply(this, arguments);\n };\n }());\n\n scope.$on(_CommonConstants2.default.Events.REALTIME_CHAT_RECEIVED, function (scope) {\n timeoutService(function () {\n return _this._onChatUpdated();\n }, 1);\n });\n\n scope.postMessage = function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(event) {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt('return', _this._postMessage(event));\n\n case 1:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, _this);\n }));\n\n return function (_x3) {\n return _ref4.apply(this, arguments);\n };\n }();\n\n scope.onMessageTextAreaKeyPress = function (event) {\n if (event.which === 13) {\n return _this._postMessage(event).then(function () {\n return;\n });\n }\n };\n\n scope.showMore = function () {\n return _this._showMore();\n };\n\n this._refreshTimes = 0;\n this._lastRefreshTime = null;\n this.emojiEditor = null;\n this.emojiArea = null;\n scope.isStealthUserMode = this._sessionService.getStealthUserMode();\n }\n\n _createClass(ChatDirectiveController, [{\n key: '$onInit',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n var _this2 = this;\n\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n this._rootScope.storeWindowTitle = 'Group Chat';\n new _emojiPicker2.default({\n emojiable_selector: '[data-emojiable=true]',\n assetsPath: '/resources/emoji-data/emoji-picker/img',\n popupButtonClasses: 'fa fa-smile-o',\n onLoaded: function onLoaded(emojiEditor, emojiArea) {\n\n if (_this2._scope.isStealthUserMode && emojiEditor) {\n emojiEditor[0].setAttribute(\"placeholder\", 'You are viewing this cart and cannot send messages');\n emojiEditor[0].setAttribute(\"disabled\", 'disabled');\n }\n\n _this2.emojiEditor = emojiEditor;\n _this2.emojiArea = emojiArea;\n },\n onKeyUp: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(event, emojiEditor) {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _scope2.default.apply(_this2._scope, function () {\n _this2._scope.newMessage = emojiEditor.html();\n });\n\n if (!(event.which === 13)) {\n _context5.next = 5;\n break;\n }\n\n _this2._scope.newMessage = emojiEditor.html();\n _context5.next = 5;\n return _this2._postMessage(event);\n\n case 5:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, _this2);\n }));\n\n return function onKeyUp(_x4, _x5) {\n return _ref6.apply(this, arguments);\n };\n }()\n }).discover();\n\n _context8.next = 4;\n return this._refreshData();\n\n case 4:\n\n this._refreshTimes = 0;\n this._lastRefreshTime = null;\n this._scope.$on(_CommonConstants2.default.Events.SIGNALR_CONNECTED, function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(scope) {\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n if (!(_this2._lastRefreshTime && (0, _moment2.default)(_this2._lastRefreshTime).diff((0, _moment2.default)(), 'seconds', true) <= 20 && _this2._refreshTimes >= 3)) {\n _context6.next = 3;\n break;\n }\n\n window.location.reload(true);\n return _context6.abrupt('return');\n\n case 3:\n _this2._refreshTimes++;\n _this2._lastRefreshTime = new Date();\n\n if (_this2._signalrConnectedTimeOut) {\n clearTimeout(_this2._signalrConnectedTimeOut);\n }\n\n _this2._signalrConnectedTimeOut = setTimeout(function () {\n return _this2._refreshData();\n }, 500);\n\n case 7:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, _this2);\n }));\n\n return function (_x6) {\n return _ref7.apply(this, arguments);\n };\n }());\n\n this._scope.$on(_CommonConstants2.default.Events.USER_JOINED_OTHER_CART, function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(scope) {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return _this2._refreshData();\n\n case 2:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, _this2);\n }));\n\n return function (_x7) {\n return _ref8.apply(this, arguments);\n };\n }());\n\n case 8:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function $onInit() {\n return _ref5.apply(this, arguments);\n }\n\n return $onInit;\n }()\n }, {\n key: '_refreshData',\n value: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n var cart;\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n if (!this._orderSetupService.invitationPromise) {\n _context9.next = 3;\n break;\n }\n\n _context9.next = 3;\n return this._orderSetupService.invitationPromise;\n\n case 3:\n this._scope.refreshing = true;\n _context9.next = 6;\n return this._sessionService.getCartReference();\n\n case 6:\n cart = _context9.sent;\n\n if (!(cart && cart.id != 0)) {\n _context9.next = 12;\n break;\n }\n\n _context9.next = 10;\n return this._catalogChatService.updateByCartId(cart.id);\n\n case 10:\n _context9.next = 14;\n break;\n\n case 12:\n _context9.next = 14;\n return this._catalogChatService.update();\n\n case 14:\n _context9.next = 16;\n return this._catalogChatService.stopWatchingForUnreadMessage();\n\n case 16:\n _context9.next = 18;\n return this._onChatUpdated();\n\n case 18:\n setTimeout(function () {\n if (document.querySelector('.msg_container_base')) document.querySelector('.msg_container_base').scrollTop = document.querySelector('.msg_container_base').scrollHeight;\n }, 100);\n\n case 19:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function _refreshData() {\n return _ref9.apply(this, arguments);\n }\n\n return _refreshData;\n }()\n }, {\n key: '_showMore',\n value: function _showMore() {\n this._stateService.go(_CommonConstants2.default.RoutingStates.CHAT);\n }\n }, {\n key: '_copyClipboard',\n value: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n this._cartService.copyClipboard(this._scope.invitationLink);\n\n case 1:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function _copyClipboard() {\n return _ref10.apply(this, arguments);\n }\n\n return _copyClipboard;\n }()\n }, {\n key: '_postMessage',\n value: function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11(event) {\n var _this3 = this;\n\n var newMessage, userData, user, newMessageObj, res;\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n\n if (event) {\n event.preventDefault();\n }\n\n // hide emoji before posting messages\n if (this.emojiArea && this.emojiArea.emojiMenu) {\n this.emojiArea.emojiMenu.hide();\n }\n\n //CW-2552 & CW-2553: issues relates to microsoft edge . added .replace('
','')\n if (this._scope.newMessage === '
') this._scope.newMessage = this._scope.newMessage.replace('
', '');\n\n newMessage = _.trim(this._scope.newMessage);\n\n if (!newMessage.length) {\n _context11.next = 25;\n break;\n }\n\n _context11.prev = 5;\n _context11.next = 8;\n return this._localForageService.retrieve(_CommonConstants2.default.SessionStorage.USER_DATA);\n\n case 8:\n userData = _context11.sent;\n user = JSON.parse(userData);\n newMessageObj = {\n message: newMessage,\n name: user.fullName,\n isSending: true,\n avatarCropped: user.avatarCropped,\n avatar: user.avatarSrc,\n createdOn: new Date()\n };\n\n\n this._scope.messages.splice(0, 0, newMessageObj);\n\n _scope2.default.apply(this._scope, function () {\n _this3._scope.newMessage = '';\n\n _this3.emojiEditor && _this3.emojiEditor.empty && _this3.emojiEditor.empty();\n });\n _context11.next = 15;\n return this._catalogChatService.postMessage(newMessage);\n\n case 15:\n res = _context11.sent;\n\n\n if (res && res.data && res.data.id) {\n newMessageObj.isSending = false;\n }\n _context11.next = 21;\n break;\n\n case 19:\n _context11.prev = 19;\n _context11.t0 = _context11['catch'](5);\n\n case 21:\n _context11.prev = 21;\n\n _scope2.default.apply(this._scope, function () {});\n setTimeout(function () {\n document.querySelector('.msg_container_base').scrollTop = document.querySelector('.msg_container_base').scrollHeight;\n }, 100);\n return _context11.finish(21);\n\n case 25:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee11, this, [[5, 19, 21, 25]]);\n }));\n\n function _postMessage(_x8) {\n return _ref11.apply(this, arguments);\n }\n\n return _postMessage;\n }()\n }, {\n key: '_participantsFilter',\n value: function _participantsFilter() {\n var _this4 = this;\n\n if (this._scope.selectedParticipants.length > 0) {\n var results = this._scope.messages.filter(function (r) {\n return _this4._scope.selectedParticipants.indexOf(r.email) > -1 || r.email === _this4._scope.currentLoggedInUserEmail;\n });\n return results;\n } else {\n return [];\n }\n }\n }, {\n key: '_selectAllParticipants',\n value: function _selectAllParticipants() {\n if (this._scope.checkedAllParticipants()) {\n this._scope.selectedParticipants = [];\n } else {\n this._scope.selectedParticipants = this._scope.participants.map(function (r) {\n return r.email;\n });\n }\n }\n }, {\n key: '_checkedAllParticipants',\n value: function _checkedAllParticipants() {\n return this._scope.participants.length === this._scope.selectedParticipants.length;\n }\n }, {\n key: '_formatMessage',\n value: function _formatMessage(message) {\n if (!message) {\n return message;\n }\n\n var utcLabelIndex = message.indexOf(_CommonConstants2.default.CHAT_TIME_LABEL);\n if (utcLabelIndex !== -1) {\n var timeString = message.substr(message.indexOf('(', utcLabelIndex) + 1, message.indexOf(')', utcLabelIndex) - message.indexOf('(', utcLabelIndex) - 1);\n var timeStringFormated = (0, _moment2.default)(timeString).format('dddd, MMM Do, YYYY [at] hh:mm A');\n return message.replace(_CommonConstants2.default.CHAT_TIME_LABEL + '(' + timeString + ')', timeStringFormated);\n }\n\n return message;\n }\n }]);\n\n return ChatDirectiveController;\n}();\n\nChatDirectiveController.$inject = ['$scope', 'CatalogChatService', '$state', 'Message', '$timeout', 'Session', 'LocalForageService', '$', 'ConfigurationService', 'CartService', '$rootScope', 'OrderSetupService'];\nexports.default = ChatDirectiveController;\n\n/***/ }),\n/* 829 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _jquery = __webpack_require__(84);\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _config = __webpack_require__(431);\n\nvar _config2 = _interopRequireDefault(_config);\n\nvar _jquery3 = __webpack_require__(830);\n\nvar _jquery4 = _interopRequireDefault(_jquery3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nwindow.jQuery = window.jQuery || _jquery2.default;\nvar $ = window.jQuery;\n\n(0, _jquery4.default)($, window, document);\n\nfunction EmojiPicker(options) {\n var ref, ref1;\n if (options == null) {\n options = {};\n }\n $.emojiarea.iconSize = (ref = options.iconSize) != null ? ref : 25;\n $.emojiarea.assetsPath = (ref1 = options.assetsPath) != null ? ref1 : '';\n this.generateEmojiIconSets(options);\n if (!options.emojiable_selector) {\n options.emojiable_selector = '[data-emojiable=true]';\n }\n this.options = options;\n}\n\nEmojiPicker.prototype.discover = function () {\n var isiOS;\n isiOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n if (isiOS) {\n return;\n }\n return $(this.options.emojiable_selector).emojiarea($.extend({\n emojiPopup: this,\n norealTime: true\n }, this.options));\n};\n\nEmojiPicker.prototype.generateEmojiIconSets = function (options) {\n var column, dataItem, hex, i, icons, j, name, reverseIcons, row, totalColumns;\n icons = {};\n reverseIcons = {};\n i = void 0;\n j = void 0;\n hex = void 0;\n name = void 0;\n dataItem = void 0;\n row = void 0;\n column = void 0;\n totalColumns = void 0;\n j = 0;\n while (j < _config2.default.EmojiCategories.length) {\n totalColumns = _config2.default.EmojiCategorySpritesheetDimens[j][1];\n i = 0;\n while (i < _config2.default.EmojiCategories[j].length) {\n dataItem = _config2.default.Emoji[_config2.default.EmojiCategories[j][i]];\n name = dataItem[1][0];\n row = Math.floor(i / totalColumns);\n column = i % totalColumns;\n icons[':' + name + ':'] = [j, row, column, ':' + name + ':'];\n reverseIcons[name] = dataItem[0];\n i++;\n }\n j++;\n }\n $.emojiarea.icons = icons;\n return $.emojiarea.reverseIcons = reverseIcons;\n};\n\nEmojiPicker.prototype.colonToUnicode = function (input) {\n if (!input) {\n return '';\n }\n if (!_config2.default.rx_colons) {\n _config2.default.init_unified();\n }\n return input.replace(_config2.default.rx_colons, function (m) {\n var val;\n val = _config2.default.mapcolon[m];\n if (val) {\n return val;\n } else {\n return '';\n }\n });\n};\n\nEmojiPicker.prototype.appendUnicodeAsImageToElement = function (element, input) {\n var k, len, split_on_unicode, text, val;\n if (!input) {\n return '';\n }\n if (!_config2.default.rx_codes) {\n _config2.default.init_unified();\n }\n split_on_unicode = input.split(_config2.default.rx_codes);\n for (k = 0, len = split_on_unicode.length; k < len; k++) {\n text = split_on_unicode[k];\n val = '';\n if (_config2.default.rx_codes.test(text)) {\n val = _config2.default.reversemap[text];\n if (val) {\n val = ':' + val + ':';\n val = $.emojiarea.createIcon($.emojiarea.icons[val]);\n }\n } else {\n val = document.createTextNode(text);\n }\n element.append(val);\n }\n return input.replace(_config2.default.rx_codes, function (m) {\n var $img;\n val = _config2.default.reversemap[m];\n if (val) {\n val = ':' + val + ':';\n $img = $.emojiarea.createIcon($.emojiarea.icons[val]);\n return $img;\n } else {\n return '';\n }\n });\n};\n\nEmojiPicker.prototype.colonToImage = function (input) {\n if (!input) {\n return '';\n }\n if (!_config2.default.rx_colons) {\n _config2.default.init_unified();\n }\n return input.replace(_config2.default.rx_colons, function (m) {\n var $img;\n if (m) {\n $img = $.emojiarea.createIcon($.emojiarea.icons[m]);\n return $img;\n } else {\n return '';\n }\n });\n};\n\nexports.default = EmojiPicker;\n\n/***/ }),\n/* 830 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = initialEmojiArea;\n\nvar _config = __webpack_require__(431);\n\nvar _config2 = _interopRequireDefault(_config);\n\nvar _util = __webpack_require__(831);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\r\n * This file also contains some modifications by Igor Zhukov in order to add\r\n * custom scrollbars to EmojiMenu See keyword `MODIFICATION` in source code.\r\n */\nfunction initialEmojiArea($, window, document) {\n function getGuid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = Math.random() * 16 | 0,\n v = c == 'x' ? r : r & 0x3 | 0x8;\n return v.toString(16);\n });\n }\n\n var ELEMENT_NODE = 1;\n var TEXT_NODE = 3;\n var TAGS_BLOCK = ['p', 'div', 'pre', 'form'];\n var KEY_ESC = 27;\n var KEY_TAB = 9;\n /* Keys that are not intercepted and canceled when the textbox has reached its max length:\r\n Backspace, Tab, Ctrl, Alt, Left Arrow, Up Arrow, Right Arrow, Down Arrow, Cmd Key, Delete\r\n */\n var MAX_LENGTH_ALLOWED_KEYS = [8, 9, 17, 18, 37, 38, 39, 40, 91, 46];\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n /*\r\n * ! MODIFICATION START Options 'spritesheetPath', 'spritesheetDimens',\r\n * 'iconSize' added by Andre Staltz.\r\n */\n $.emojiarea = {\n assetsPath: '',\n spriteSheetPath: '',\n blankGifPath: '',\n iconSize: 25,\n icons: {}\n };\n var defaultRecentEmojis = ':joy:,:kissing_heart:,:heart:,:heart_eyes:,:blush:,:grin:,:+1:,:relaxed:,:pensive:,:smile:,:sob:,:kiss:,:unamused:,:flushed:,:stuck_out_tongue_winking_eye:,:see_no_evil:,:wink:,:smiley:,:cry:,:stuck_out_tongue_closed_eyes:,:scream:,:rage:,:smirk:,:disappointed:,:sweat_smile:,:kissing_closed_eyes:,:speak_no_evil:,:relieved:,:grinning:,:yum:,:laughing:,:ok_hand:,:neutral_face:,:confused:'.split(',');\n /* ! MODIFICATION END */\n\n $.fn.emojiarea = function (options) {\n options = $.extend({}, options);\n return this.each(function () {\n var originalInput = $(this);\n var id = getGuid();\n if ('contentEditable' in document.body && options.wysiwyg !== false) {\n new EmojiArea_WYSIWYG(originalInput, id, $.extend({}, options));\n } else {\n new EmojiArea_Plain(originalInput, id, options);\n }\n originalInput.attr({\n 'data-emojiable': 'converted',\n 'data-id': id,\n 'data-type': 'original-input'\n });\n });\n };\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n var util = {};\n\n util.restoreSelection = function () {\n if (window.getSelection) {\n return function (savedSelection) {\n var sel = window.getSelection();\n sel.removeAllRanges();\n for (var i = 0, len = savedSelection.length; i < len; ++i) {\n sel.addRange(savedSelection[i]);\n }\n };\n } else if (document.selection && document.selection.createRange) {\n return function (savedSelection) {\n if (savedSelection) {\n savedSelection.select();\n }\n };\n }\n }();\n\n util.saveSelection = function () {\n if (window.getSelection) {\n return function () {\n var sel = window.getSelection(),\n ranges = [];\n if (sel.rangeCount) {\n for (var i = 0, len = sel.rangeCount; i < len; ++i) {\n ranges.push(sel.getRangeAt(i));\n }\n }\n return ranges;\n };\n } else if (document.selection && document.selection.createRange) {\n return function () {\n var sel = document.selection;\n return sel.type.toLowerCase() !== 'none' ? sel.createRange() : null;\n };\n }\n }();\n\n util.replaceSelection = function () {\n if (window.getSelection) {\n return function (content) {\n var range = void 0,\n sel = window.getSelection();\n var node = typeof content === 'string' ? document.createTextNode(content) : content;\n if (sel.getRangeAt && sel.rangeCount) {\n range = sel.getRangeAt(0);\n range.deleteContents();\n //range.insertNode(document.createTextNode(''));\n range.insertNode(node);\n range.setStart(node, 0);\n\n window.setTimeout(function () {\n range = document.createRange();\n range.setStartAfter(node);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }, 0);\n }\n };\n } else if (document.selection && document.selection.createRange) {\n return function (content) {\n var range = document.selection.createRange();\n if (typeof content === 'string') {\n range.text = content;\n } else {\n range.pasteHTML(content.outerHTML);\n }\n };\n }\n }();\n\n util.insertAtCursor = function (text, el) {\n text = ' ' + text;\n var val = el.value,\n endIndex = void 0,\n startIndex = void 0,\n range = void 0;\n if (typeof el.selectionStart != 'undefined' && typeof el.selectionEnd != 'undefined') {\n startIndex = el.selectionStart;\n endIndex = el.selectionEnd;\n el.value = val.substring(0, startIndex) + text + val.substring(el.selectionEnd);\n el.selectionStart = el.selectionEnd = startIndex + text.length;\n } else if (typeof document.selection != 'undefined' && typeof document.selection.createRange != 'undefined') {\n el.focus();\n range = document.selection.createRange();\n range.text = text;\n range.select();\n }\n };\n\n util.extend = function (a, b) {\n if (typeof a === 'undefined' || !a) {\n a = {};\n }\n if ((typeof b === 'undefined' ? 'undefined' : _typeof(b)) === 'object') {\n for (var key in b) {\n if (b.hasOwnProperty(key)) {\n a[key] = b[key];\n }\n }\n }\n return a;\n };\n\n util.escapeRegex = function (str) {\n return (str + '').replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n };\n\n util.htmlEntities = function (str) {\n return String(str).replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"');\n };\n\n /*\r\n * ! MODIFICATION START This function was added by Igor Zhukov to save\r\n * recent used emojis.\r\n */\n util.emojiInserted = function (emojiKey, menu) {\n _util.ConfigStorage.get('emojis_recent', function (curEmojis) {\n curEmojis = curEmojis || defaultRecentEmojis || [];\n\n var pos = curEmojis.indexOf(emojiKey);\n if (!pos) {\n return false;\n }\n if (pos != -1) {\n curEmojis.splice(pos, 1);\n }\n curEmojis.unshift(emojiKey);\n if (curEmojis.length > 42) {\n curEmojis = curEmojis.slice(42);\n }\n\n _util.ConfigStorage.set({\n emojis_recent: curEmojis\n });\n });\n };\n /* ! MODIFICATION END */\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n var EmojiArea = function EmojiArea() {};\n\n EmojiArea.prototype.setup = function () {\n var self = this;\n\n this.$editor.on('focus', function () {\n self.hasFocus = true;\n });\n this.$editor.on('blur', function () {\n self.hasFocus = false;\n });\n\n // Assign a unique instance of an emojiMenu to\n self.emojiMenu = new EmojiMenu(self);\n\n this.setupButton();\n };\n\n EmojiArea.prototype.setupButton = function () {\n var self = this;\n var $button = $('[data-id=' + this.id + '][data-type=picker]');\n\n $button.on('click', function (e) {\n self.emojiMenu.show(self);\n });\n\n this.$button = $button;\n this.$dontHideOnClick = 'emoji-picker';\n };\n\n /*\r\n * ! MODIFICATION START This function was modified by Andre Staltz so that\r\n * the icon is created from a spritesheet.\r\n */\n EmojiArea.createIcon = function (emoji, menu) {\n var category = emoji[0];\n var row = emoji[1];\n var column = emoji[2];\n var name = emoji[3];\n var filename = $.emojiarea.spriteSheetPath ? $.emojiarea.spriteSheetPath : $.emojiarea.assetsPath + '/emoji_spritesheet_!.png';\n var blankGifPath = $.emojiarea.blankGifPath ? $.emojiarea.blankGifPath : $.emojiarea.assetsPath + '/blank.gif';\n var iconSize = menu && _config2.default.Mobile ? 26 : $.emojiarea.iconSize;\n var xoffset = -(iconSize * column);\n var yoffset = -(iconSize * row);\n var scaledWidth = _config2.default.EmojiCategorySpritesheetDimens[category][1] * iconSize;\n var scaledHeight = _config2.default.EmojiCategorySpritesheetDimens[category][0] * iconSize;\n\n var style = 'display:inline-block;';\n style += 'width:' + iconSize + 'px;';\n style += 'height:' + iconSize + 'px;';\n style += 'background:url(\\'' + filename.replace('!', category) + '\\') ' + xoffset + 'px ' + yoffset + 'px no-repeat;';\n style += 'background-size:' + scaledWidth + 'px ' + scaledHeight + 'px;';\n return '\"'';\n };\n\n $.emojiarea.createIcon = EmojiArea.createIcon;\n /* ! MODIFICATION END */\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n /**\r\n * Editor (plain-text)\r\n *\r\n * @constructor\r\n * @param {object}\r\n * $textarea\r\n * @param {object}\r\n * options\r\n */\n\n var EmojiArea_Plain = function EmojiArea_Plain($textarea, id, options) {\n this.options = options;\n this.$textarea = $textarea;\n this.$editor = $textarea;\n this.id = id;\n this.setup();\n };\n\n EmojiArea_Plain.prototype.insert = function (emoji) {\n if (!$.emojiarea.icons.hasOwnProperty(emoji)) return;\n util.insertAtCursor(emoji, this.$textarea[0]);\n /*\r\n * MODIFICATION: Following line was added by Igor Zhukov, in order to\r\n * save recent emojis\r\n */\n util.emojiInserted(emoji, this.menu);\n this.$textarea.trigger('change');\n };\n\n EmojiArea_Plain.prototype.val = function () {\n if (this.$textarea == '\\n') return '';\n return this.$textarea.val();\n };\n\n util.extend(EmojiArea_Plain.prototype, EmojiArea.prototype);\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n /**\r\n * Editor (rich)\r\n *\r\n * @constructor\r\n * @param {object}\r\n * $textarea\r\n * @param {object}\r\n * options\r\n */\n\n var EmojiArea_WYSIWYG = function EmojiArea_WYSIWYG($textarea, id, options) {\n var self = this;\n\n this.options = options || {};\n if ($($textarea).attr('data-emoji-input') === 'unicode') this.options.inputMethod = 'unicode';else this.options.inputMethod = this.options.inputMethod || 'image';\n this.id = id;\n this.$textarea = $textarea;\n this.emojiPopup = options.emojiPopup;\n this.$editor = $('
').addClass('emoji-wysiwyg-editor').addClass($($textarea)[0].className);\n this.$editor.data('self', this);\n\n if ($textarea.attr('maxlength')) {\n this.$editor.attr('maxlength', $textarea.attr('maxlength'));\n }\n this.$editor.height($textarea.outerHeight()); //auto adjust height\n this.emojiPopup.appendUnicodeAsImageToElement(this.$editor, $textarea.val());\n\n this.$editor.attr({\n 'data-id': id,\n 'data-type': 'input',\n 'placeholder': $textarea.attr('placeholder'),\n 'contenteditable': 'true'\n });\n\n /*\r\n * ! MODIFICATION START Following code was modified by Igor Zhukov, in\r\n * order to improve rich text paste\r\n */\n var changeEvents = 'blur change';\n if (!this.options.norealTime) {\n changeEvents += ' keyup';\n }\n this.$editor.on(changeEvents, function (e) {\n return self.onChange.apply(self, [e]);\n });\n /* ! MODIFICATION END */\n\n this.$editor.on('mousedown focus', function () {\n document.execCommand('enableObjectResizing', false, false);\n });\n this.$editor.on('blur', function () {\n document.execCommand('enableObjectResizing', true, true);\n });\n\n var editorDiv = this.$editor;\n this.$editor.on(\"change keydown keyup resize scroll\", function (e) {\n if (MAX_LENGTH_ALLOWED_KEYS.indexOf(e.which) == -1 && !((e.ctrlKey || e.metaKey) && e.which == 65) && // Ctrl + A\n !((e.ctrlKey || e.metaKey) && e.which == 67) && // Ctrl + C\n editorDiv.text().length + editorDiv.find('img').length >= editorDiv.attr('maxlength')) {\n e.preventDefault();\n }\n self.updateBodyPadding(editorDiv);\n\n if (options.onKeyUp) {\n options.onKeyUp(e, editorDiv, self.emojiMenu);\n }\n });\n\n this.$editor.on(\"paste\", function (e) {\n e.preventDefault();\n var content = void 0;\n var charsRemaining = editorDiv.attr('maxlength') - (editorDiv.text().length + editorDiv.find('img').length);\n if ((e.originalEvent || e).clipboardData) {\n content = (e.originalEvent || e).clipboardData.getData('text/plain');\n if (self.options.onPaste) {\n content = self.options.onPaste(content);\n }\n if (charsRemaining < content.length) {\n content = content.substring(0, charsRemaining);\n }\n document.execCommand('insertText', false, content);\n } else if (window.clipboardData) {\n content = window.clipboardData.getData('Text');\n if (self.options.onPaste) {\n content = self.options.onPaste(content);\n }\n if (charsRemaining < content.length) {\n content = content.substring(0, charsRemaining);\n }\n document.selection.createRange().pasteHTML(content);\n }\n editorDiv.scrollTop(editorDiv[0].scrollHeight);\n });\n\n $textarea.after(\"\");\n\n $textarea.hide().after(this.$editor);\n this.setup();\n if (options.onLoaded) {\n options.onLoaded(editorDiv, self);\n }\n\n /*\r\n * MODIFICATION: Following line was modified by Igor Zhukov, in order to\r\n * improve emoji insert behaviour\r\n */\n $(document.body).on('mousedown', function () {\n if (self.hasFocus) {\n self.selection = util.saveSelection();\n }\n });\n };\n\n EmojiArea_WYSIWYG.prototype.updateBodyPadding = function (target) {\n var emojiPicker = $('[data-id=' + this.id + '][data-type=picker]');\n if ($(target).hasScrollbar()) {\n if (!emojiPicker.hasClass('parent-has-scroll')) emojiPicker.addClass('parent-has-scroll');\n if (!$(target).hasClass('parent-has-scroll')) $(target).addClass('parent-has-scroll');\n } else {\n if (emojiPicker.hasClass('parent-has-scroll')) emojiPicker.removeClass('parent-has-scroll');\n if ($(target).hasClass('parent-has-scroll')) $(target).removeClass('parent-has-scroll');\n }\n };\n\n EmojiArea_WYSIWYG.prototype.onChange = function (e) {\n var event = new CustomEvent('input', { bubbles: true });\n this.$textarea.val(this.val())[0].dispatchEvent(event);\n };\n\n EmojiArea_WYSIWYG.prototype.insert = function (emoji) {\n var content = void 0;\n /*\r\n * MODIFICATION: Following line was modified by Andre Staltz, to use new\r\n * implementation of createIcon function.\r\n */\n var insertionContent = '';\n if (this.options.inputMethod == 'unicode') {\n insertionContent = this.emojiPopup.colonToUnicode(emoji);\n } else {\n var $img = $(EmojiArea.createIcon($.emojiarea.icons[emoji]));\n if ($img[0].attachEvent) {\n $img[0].attachEvent('onresizestart', function (e) {\n e.returnValue = false;\n }, false);\n }\n insertionContent = $img[0];\n }\n\n this.$editor.trigger('focus');\n if (this.selection) {\n util.restoreSelection(this.selection);\n }\n try {\n util.replaceSelection(insertionContent);\n } catch (e) {}\n\n /*\r\n * MODIFICATION: Following line was added by Igor Zhukov, in order to\r\n * save recent emojis\r\n */\n util.emojiInserted(emoji, this.menu);\n\n this.onChange();\n };\n\n EmojiArea_WYSIWYG.prototype.val = function () {\n var lines = [];\n var line = [];\n var emojiPopup = this.emojiPopup;\n\n var flush = function flush() {\n lines.push(line.join(''));\n line = [];\n };\n\n var sanitizeNode = function sanitizeNode(node) {\n if (node.nodeType === TEXT_NODE) {\n line.push(node.nodeValue);\n } else if (node.nodeType === ELEMENT_NODE) {\n var tagName = node.tagName.toLowerCase();\n var isBlock = TAGS_BLOCK.indexOf(tagName) !== -1;\n\n if (isBlock && line.length) flush();\n\n if (tagName === 'img') {\n var alt = node.getAttribute('alt') || '';\n if (alt) {\n line.push(alt);\n }\n return;\n } else if (tagName === 'br') {\n flush();\n }\n\n var _children = node.childNodes;\n for (var i = 0; i < _children.length; i++) {\n sanitizeNode(_children[i]);\n }\n\n if (isBlock && line.length) flush();\n }\n };\n\n var children = this.$editor[0].childNodes;\n for (var i = 0; i < children.length; i++) {\n sanitizeNode(children[i]);\n }\n\n if (line.length) flush();\n\n var returnValue = lines.join('\\n');\n return emojiPopup.colonToUnicode(returnValue);\n };\n\n util.extend(EmojiArea_WYSIWYG.prototype, EmojiArea.prototype);\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n jQuery.fn.hasScrollbar = function () {\n var scrollHeight = this.get(0).scrollHeight;\n\n //safari's scrollHeight includes padding\n //if ($.browser.safari)\n // scrollHeight -= parseInt(this.css('padding-top')) + parseInt(this.css('padding-bottom'));\n if (this.outerHeight() < scrollHeight) return true;else return false;\n };\n\n /**\r\n * Emoji Dropdown Menu\r\n *\r\n * @constructor\r\n * @param {object}\r\n * emojiarea\r\n */\n var EmojiMenu = function EmojiMenu(emojiarea) {\n var self = this;\n self.id = emojiarea.id;\n var $body = $(document.body);\n var $window = $(window);\n\n this.visible = false;\n this.emojiarea = emojiarea;\n EmojiMenu.menuZIndex = 5000;\n this.$menu = $('
');\n this.$menu.addClass('emoji-menu');\n this.$menu.attr('data-id', self.id);\n this.$menu.attr('data-type', 'menu');\n this.$menu.hide();\n\n this.$itemsTailWrap = $('
').appendTo(this.$menu);\n this.$categoryTabs = $('' + '' + '' + '' + '' + '' + '' + '
').appendTo(this.$itemsTailWrap);\n this.$itemsWrap = $('
').appendTo(this.$itemsTailWrap);\n this.$items = $('
').appendTo(this.$itemsWrap);\n\n this.emojiarea.$editor.after(this.$menu);\n\n $body.on('keydown', function (e) {\n if (e.keyCode === KEY_ESC || e.keyCode === KEY_TAB) {\n self.hide();\n }\n });\n\n /*\r\n * ! MODIFICATION: Following 3 lines were added by Igor Zhukov, in order\r\n * to hide menu on message submit with keyboard\r\n */\n $body.on('message_send', function (e) {\n self.hide();\n });\n\n $body.on('mouseup', function (e) {\n e = e.originalEvent || e;\n var target = e.target || window;\n\n if ($(target).hasClass(self.emojiarea.$dontHideOnClick)) {\n return;\n }\n\n while (target && target != window) {\n target = target.parentNode;\n if (target == self.$menu[0] || self.emojiarea && target == self.emojiarea.$button[0]) {\n return;\n }\n }\n self.hide();\n });\n\n this.$menu.on('mouseup', 'a', function (e) {\n e.stopPropagation();\n return false;\n });\n\n this.$menu.on('click', 'a', function (e) {\n\n self.emojiarea.updateBodyPadding(self.emojiarea.$editor);\n if ($(this).hasClass('emoji-menu-tab')) {\n if (self.getTabIndex(this) !== self.currentCategory) {\n self.selectCategory(self.getTabIndex(this));\n }\n return false;\n }\n\n var emoji = $('.label', $(this)).text();\n window.setTimeout(function () {\n self.onItemSelected(emoji);\n if (e.ctrlKey || e.metaKey) {\n self.hide();\n }\n }, 0);\n e.stopPropagation();\n return false;\n });\n\n this.selectCategory(0);\n };\n\n /*\r\n * ! MODIFICATION START Following code was added by Andre Staltz, to\r\n * implement category selection.\r\n */\n EmojiMenu.prototype.getTabIndex = function (tab) {\n return this.$categoryTabs.find('.emoji-menu-tab').index(tab);\n };\n\n EmojiMenu.prototype.selectCategory = function (category) {\n var self = this;\n this.$categoryTabs.find('.emoji-menu-tab').each(function (index) {\n if (index === category) {\n this.className += '-selected';\n } else {\n this.className = this.className.replace('-selected', '');\n }\n });\n this.currentCategory = category;\n this.load(category);\n };\n /* ! MODIFICATION END */\n\n EmojiMenu.prototype.onItemSelected = function (emoji) {\n if (this.emojiarea.$editor.text().length + this.emojiarea.$editor.find('img').length >= this.emojiarea.$editor.attr('maxlength')) {\n return;\n }\n this.emojiarea.insert(emoji);\n };\n\n /*\r\n * MODIFICATION: The following function argument was modified by Andre\r\n * Staltz, in order to load only icons from a category. Also function was\r\n * modified by Igor Zhukov in order to display recent emojis from\r\n * localStorage\r\n */\n EmojiMenu.prototype.load = function (category) {\n var html = [];\n var options = $.emojiarea.icons;\n var path = $.emojiarea.assetsPath;\n var self = this;\n if (path.length && path.charAt(path.length - 1) !== '/') {\n path += '/';\n }\n\n /*\r\n * ! MODIFICATION: Following function was added by Igor Zhukov, in order\r\n * to add scrollbars to EmojiMenu\r\n */\n var updateItems = function updateItems() {\n self.$items.html(html.join(''));\n };\n\n if (category > 0) {\n for (var key in options) {\n /*\r\n * MODIFICATION: The following 2 lines were modified by Andre\r\n * Staltz, in order to load only icons from the specified\r\n * category.\r\n */\n if (options.hasOwnProperty(key) && options[key][0] === category - 1) {\n html.push('' + EmojiArea.createIcon(options[key], true) + '' + util.htmlEntities(key) + '');\n }\n }\n updateItems();\n } else {\n _util.ConfigStorage.get('emojis_recent', function (curEmojis) {\n curEmojis = curEmojis || defaultRecentEmojis || [];\n var key = void 0,\n i = void 0;\n for (i = 0; i < curEmojis.length; i++) {\n key = curEmojis[i];\n if (options[key]) {\n html.push('' + EmojiArea.createIcon(options[key], true) + '' + util.htmlEntities(key) + '');\n }\n }\n updateItems();\n });\n }\n };\n\n EmojiMenu.prototype.hide = function (callback) {\n this.visible = false;\n this.$menu.hide(\"fast\");\n };\n\n EmojiMenu.prototype.show = function (emojiarea) {\n /*\r\n * MODIFICATION: Following line was modified by Igor Zhukov, in order to\r\n * improve EmojiMenu behaviour\r\n */\n if (this.visible) return this.hide();\n $(this.$menu).css('z-index', ++EmojiMenu.menuZIndex);\n this.$menu.show(\"fast\");\n /*\r\n * MODIFICATION: Following 3 lines were added by Igor Zhukov, in order\r\n * to update EmojiMenu contents\r\n */\n if (!this.currentCategory) {\n this.load(0);\n }\n this.visible = true;\n };\n};\n\n/***/ }),\n/* 831 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar keyPrefix = '';\nvar noPrefix = false;\nvar cache = {};\nvar useCs = !!(window.chrome && chrome.storage && chrome.storage.local);\nvar useLs = !useCs && !!window.localStorage;\n\nfunction storageSetPrefix(newPrefix) {\n keyPrefix = newPrefix;\n}\n\nfunction storageSetNoPrefix() {\n noPrefix = true;\n}\n\nfunction storageGetPrefix() {\n if (noPrefix) {\n noPrefix = false;\n return '';\n }\n return keyPrefix;\n}\n\nfunction storageGetValue() {\n var keys = Array.prototype.slice.call(arguments),\n callback = keys.pop(),\n result = [],\n single = keys.length === 1,\n value = void 0,\n allFound = true,\n prefix = storageGetPrefix(),\n i = void 0,\n key = void 0;\n\n for (i = 0; i < keys.length; i++) {\n key = keys[i] = prefix + keys[i];\n if (key.substr(0, 3) !== 'xt_' && cache[key] !== undefined) {\n result.push(cache[key]);\n } else if (useLs) {\n try {\n value = localStorage.getItem(key);\n } catch (e) {\n useLs = false;\n }\n try {\n value = value === undefined || value === null ? false : JSON.parse(value);\n } catch (e) {\n value = false;\n }\n result.push(cache[key] = value);\n } else if (!useCs) {\n result.push(cache[key] = false);\n } else {\n allFound = false;\n }\n }\n\n if (allFound) {\n return callback(single ? result[0] : result);\n }\n\n chrome.storage.local.get(keys, function (resultObj) {\n var value = void 0;\n result = [];\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n value = resultObj[key];\n value = value === undefined || value === null ? false : JSON.parse(value);\n result.push(cache[key] = value);\n }\n\n callback(single ? result[0] : result);\n });\n};\n\nfunction storageSetValue(obj, callback) {\n var keyValues = {},\n prefix = storageGetPrefix(),\n key = void 0,\n value = void 0;\n\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n value = obj[key];\n key = prefix + key;\n cache[key] = value;\n value = JSON.stringify(value);\n if (useLs) {\n try {\n localStorage.setItem(key, value);\n } catch (e) {\n useLs = false;\n }\n } else {\n keyValues[key] = value;\n }\n }\n }\n\n if (useLs || !useCs) {\n if (callback) {\n callback();\n }\n return;\n }\n\n chrome.storage.local.set(keyValues, callback);\n};\n\nfunction storageRemoveValue() {\n var keys = Array.prototype.slice.call(arguments),\n prefix = storageGetPrefix(),\n i = void 0,\n key = void 0,\n callback = void 0;\n\n if (typeof keys[keys.length - 1] === 'function') {\n callback = keys.pop();\n }\n\n for (i = 0; i < keys.length; i++) {\n key = keys[i] = prefix + keys[i];\n delete cache[key];\n if (useLs) {\n try {\n localStorage.removeItem(key);\n } catch (e) {\n useLs = false;\n }\n }\n }\n if (useCs) {\n chrome.storage.local.remove(keys, callback);\n } else if (callback) {\n callback();\n }\n};\n\nvar ConfigStorage = exports.ConfigStorage = {\n prefix: storageSetPrefix,\n noPrefix: storageSetNoPrefix,\n get: storageGetValue,\n set: storageSetValue,\n remove: storageRemoveValue\n};\n\n// // Pollyfill for IE 9 support of CustomEvent\n// (function () {\n//\n// if (typeof window.CustomEvent === \"function\") return false;\n//\n// function CustomEvent(event, params) {\n// params = params || {bubbles: false, cancelable: false, detail: undefined};\n// let evt = document.createEvent('CustomEvent');\n// evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n// return evt;\n// }\n//\n// CustomEvent.prototype = window.Event.prototype;\n//\n// window.CustomEvent = CustomEvent;\n// })();\n\n/***/ }),\n/* 832 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _scope = __webpack_require__(11);\n\nvar _scope2 = _interopRequireDefault(_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ChatCounterDirectiveController = function ChatCounterDirectiveController(scope, ChatService) {\n var _this = this;\n\n _classCallCheck(this, ChatCounterDirectiveController);\n\n this._scope = scope;\n this._chatService = ChatService;\n\n this._chatService.getUnreadMessages().then(function (resp) {\n return scope.count = resp;\n });\n\n this._scope.$on(_CommonConstants2.default.Events.CHAT_MESSAGE_RECEIVED, function (scope, unreadMessages) {\n _this._scope.count = unreadMessages;\n _scope2.default.apply(_this._scope);\n });\n};\n\nChatCounterDirectiveController.$inject = ['$scope', 'CatalogChatService'];\nexports.default = ChatCounterDirectiveController;\n\n/***/ }),\n/* 833 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CatalogService = function () {\n function CatalogService(httpService, configurationService, cartonomyConfig) {\n _classCallCheck(this, CatalogService);\n\n this._httpService = httpService;\n this._configurationService = configurationService;\n this._urlBase = cartonomyConfig.ApiV2 + 'catalog/';\n this._cachedSuperCategoryProducts = {};\n }\n\n _createClass(CatalogService, [{\n key: 'getAllCategories',\n value: function getAllCategories() {\n\n if (this._allCategories) {\n return this._allCategories;\n }\n\n this._allCategories = this._httpService.get(this._urlBase + 'categories').then(function (res) {\n return res.data;\n });\n\n return this._allCategories;\n }\n }, {\n key: 'getCategory',\n value: function getCategory(categoryId) {\n return this._httpService.get(this._urlBase + 'categories/' + categoryId).then(function (res) {\n return res.data;\n });\n }\n }, {\n key: 'getDefaultCategory',\n value: function getDefaultCategory() {\n return this._configurationService.getItem('defaultCategory');\n }\n }, {\n key: 'getProductsInCategory',\n value: function getProductsInCategory(categoryId) {\n return this._httpService.get(this._urlBase + 'categories/' + categoryId + '/products').then(function (res) {\n return res.data;\n });\n }\n }, {\n key: 'getProductsBySuperCategory',\n value: function getProductsBySuperCategory(categoryId, offset, limit) {\n var _this = this;\n\n limit = typeof limit === \"undefined\" ? _CommonConstants2.default.Pagination.PAGE_LIMIT : limit;\n offset = typeof offset === \"undefined\" ? 0 : offset;\n\n var key = categoryId + \":\" + offset + \":\" + limit;\n\n if (this._cachedSuperCategoryProducts[key]) {\n return new Promise(function (resolve) {\n resolve(_this._cachedSuperCategoryProducts[key]);\n });\n }\n\n return this._httpService.get(this._urlBase + 'supercategory/' + categoryId + '/products/' + offset + '/' + limit).then(function (res) {\n _this._cachedSuperCategoryProducts[key] = res.data;\n return res.data;\n });\n }\n }, {\n key: 'getProduct',\n value: function getProduct(productId) {\n return this._httpService.get(this._urlBase + 'product/' + productId).then(function (res) {\n return res.data;\n });\n }\n }, {\n key: 'searchProducts',\n value: function searchProducts(searchString, page) {\n\n var catalogSearchParams = {\n SearchString: searchString,\n MaxProductsPerPage: _CommonConstants2.default.Pagination.PAGE_LIMIT,\n CurrentPage: page\n };\n\n return this._httpService.post(this._urlBase + 'search', catalogSearchParams).then(function (res) {\n return res.data;\n });\n }\n }]);\n\n return CatalogService;\n}();\n\nCatalogService.$inject = ['$http', 'ConfigurationService', 'cartonomyConfig'];\nexports.default = CatalogService;\n\n/***/ }),\n/* 834 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _lodash = __webpack_require__(5);\n\nvar _ = _interopRequireWildcard(_lodash);\n\nvar _CommonConstants = __webpack_require__(3);\n\nvar _CommonConstants2 = _interopRequireDefault(_CommonConstants);\n\nvar _moment = __webpack_require__(1);\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CatalogChatService = function () {\n function CatalogChatService(httpService, cartonomyConfig, messageService, sessionService, localForageService, rootScope, RealTimeUpdateService) {\n var _this2 = this;\n\n _classCallCheck(this, CatalogChatService);\n\n this._httpService = httpService;\n this._sessionService = sessionService;\n //this._sessionStorageService = sessionStorageService;\n this._localForageService = localForageService;\n this._urlBase = cartonomyConfig.ApiV2 + 'cartpost';\n this._postList = [];\n this._rootScope = rootScope;\n this._messageService = messageService;\n this._cartonomyConfig = cartonomyConfig;\n this._chatFailRetries = 0;\n\n this._refreshing = false;\n\n this.chatActive = false;\n\n this.realtimeUpdateService = RealTimeUpdateService;\n\n this.refreshing = function () {\n return _this2._refreshing;\n };\n\n this._unreadMessages = this.getUnreadMessages();\n\n rootScope.$on(_CommonConstants2.default.Events.WINDOW_STATE_CHANGED, function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(scope, state) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(state === _CommonConstants2.default.WindowMode.minimized)) {\n _context.next = 3;\n break;\n }\n\n _context.next = 3;\n return _this2.startWatchingOnUnreadMessage();\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, _this2);\n }));\n\n return function (_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }());\n\n rootScope.$on(_CommonConstants2.default.Events.REALTIME_CHAT_RECEIVED, function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(scope, messageObj) {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt('return', _this2._onChatMessageReceived(messageObj));\n\n case 1:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, _this2);\n }));\n\n return function (_x3, _x4) {\n return _ref2.apply(this, arguments);\n };\n }());\n }\n\n _createClass(CatalogChatService, [{\n key: 'postMessage',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(message) {\n var cart, cartId, res;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context3.sent) {\n _context3.next = 4;\n break;\n }\n\n return _context3.abrupt('return');\n\n case 4:\n if (this.realtimeUpdateService.instance) {\n _context3.next = 7;\n break;\n }\n\n _context3.next = 7;\n return this.realtimeUpdateService.ensureConnected();\n\n case 7:\n _context3.prev = 7;\n _context3.next = 10;\n return this._sessionService.getCartReference();\n\n case 10:\n cart = _context3.sent;\n cartId = void 0;\n\n if (cart) {\n cartId = cart.id;\n }\n _context3.next = 15;\n return this._httpService.post(this._urlBase, { message: message, cartId: cartId });\n\n case 15:\n res = _context3.sent;\n\n this._chatFailRetries = 0;\n return _context3.abrupt('return', res);\n\n case 20:\n _context3.prev = 20;\n _context3.t0 = _context3['catch'](7);\n\n this._chatFailRetries++;\n\n if (!(this._chatFailRetries === 5)) {\n _context3.next = 27;\n break;\n }\n\n //await this._messageService.showErrorPopup('Oops! Your chat session is having trouble communicating\n // with the server. Please press OK so that the application can re-load.');\n this._chatFailRetries = 0;\n location.reload(true);\n return _context3.abrupt('return');\n\n case 27:\n this.realtimeUpdateService.resetConnection();\n _context3.next = 30;\n return this.postMessage(message);\n\n case 30:\n return _context3.abrupt('return', _context3.sent);\n\n case 31:\n case 'end':\n return _context3.stop();\n }\n }\n }, _callee3, this, [[7, 20]]);\n }));\n\n function postMessage(_x5) {\n return _ref3.apply(this, arguments);\n }\n\n return postMessage;\n }()\n }, {\n key: 'reset',\n value: function reset() {\n this._postList = [];\n }\n }, {\n key: 'stopWatchingForUnreadMessage',\n value: function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.UnreadChatMessages);\n\n case 2:\n this._unreadMessages = undefined;\n this.chatActive = true;\n\n _context4.next = 6;\n return this._localForageService.remove(_CommonConstants2.default.SessionStorage.UnreadChatMessages);\n\n case 6:\n this._rootScope.$broadcast(_CommonConstants2.default.Events.CHAT_MESSAGE_RECEIVED, this._unreadMessages);\n\n case 7:\n case 'end':\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function stopWatchingForUnreadMessage() {\n return _ref4.apply(this, arguments);\n }\n\n return stopWatchingForUnreadMessage;\n }()\n }, {\n key: 'startWatchingOnUnreadMessage',\n value: function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return this._localForageService.retrieve(_CommonConstants2.default.SessionStorage.UnreadChatMessages);\n\n case 2:\n _context5.t0 = _context5.sent;\n\n if (_context5.t0) {\n _context5.next = 5;\n break;\n }\n\n _context5.t0 = 0;\n\n case 5:\n this._unreadMessages = _context5.t0;\n\n this.chatActive = false;\n\n case 7:\n case 'end':\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function startWatchingOnUnreadMessage() {\n return _ref5.apply(this, arguments);\n }\n\n return startWatchingOnUnreadMessage;\n }()\n }, {\n key: 'update',\n value: function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n var response;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context6.sent) {\n _context6.next = 5;\n break;\n }\n\n this.reset();\n return _context6.abrupt('return');\n\n case 5:\n _context6.next = 7;\n return this._httpService.get(this._urlBase);\n\n case 7:\n response = _context6.sent;\n\n\n this.reset();\n this._onResponseReceived(response.data);\n return _context6.abrupt('return', this._postList);\n\n case 11:\n case 'end':\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function update() {\n return _ref6.apply(this, arguments);\n }\n\n return update;\n }()\n }, {\n key: 'updateByCartId',\n value: function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(cartId) {\n var response;\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return this._sessionService.loggedIn();\n\n case 2:\n if (_context7.sent) {\n _context7.next = 5;\n break;\n }\n\n this.reset();\n return _context7.abrupt('return');\n\n case 5:\n _context7.next = 7;\n return this._httpService.get(this._urlBase + '/' + cartId);\n\n case 7:\n response = _context7.sent;\n\n\n this.reset();\n this._onResponseReceived(response.data);\n return _context7.abrupt('return', this._postList);\n\n case 11:\n case 'end':\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function updateByCartId(_x6) {\n return _ref7.apply(this, arguments);\n }\n\n return updateByCartId;\n }()\n }, {\n key: '_handleCartPostDetails',\n value: function _handleCartPostDetails(post) {\n post.id = post.id || post.Id;\n post.createdOn = _moment2.default.utc(post.createdOn).toDate();\n this._postList.push(post);\n }\n }, {\n key: '_onResponseReceived',\n value: function _onResponseReceived(data) {\n var _this3 = this;\n\n if (!data || !data.length) {\n return;\n }\n\n _.each(data, function (post) {\n return _this3._handleCartPostDetails(post);\n });\n }\n }, {\n key: 'getMessages',\n value: function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {\n var _this4 = this;\n\n return regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n return _context8.abrupt('return', new Promise(function (resolve, reject) {\n var _this = _this4;\n function checkAndReturnMessageList() {\n if (_this.lockMsgList) {\n setTimeout(function () {\n return checkAndReturnMessageList();\n }, 1);\n return;\n }\n resolve(_this._postList);\n }\n\n checkAndReturnMessageList();\n }));\n\n case 1:\n case 'end':\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function getMessages() {\n return _ref8.apply(this, arguments);\n }\n\n return getMessages;\n }()\n }, {\n key: 'notifyUnreadMessageIfNeeded',\n value: function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n var playSound = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n if (this.chatActive) {\n _context9.next = 7;\n break;\n }\n\n if (playSound) {\n new Audio(_CommonConstants2.default.Notifications.chatNotification).play();\n }\n if (this._unreadMessages === undefined) this._unreadMessages = 0;\n\n this._unreadMessages++;\n _context9.next = 6;\n return this._localForageService.store(_CommonConstants2.default.SessionStorage.UnreadChatMessages, this._unreadMessages);\n\n case 6:\n this._rootScope.$broadcast(_CommonConstants2.default.Events.CHAT_MESSAGE_RECEIVED, this._unreadMessages);\n\n case 7:\n case 'end':\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function notifyUnreadMessageIfNeeded() {\n return _ref9.apply(this, arguments);\n }\n\n return notifyUnreadMessageIfNeeded;\n }()\n }, {\n key: 'getUnreadMessages',\n value: function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n return regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return this._localForageService.retrieve(_CommonConstants2.default.SessionStorage.UnreadChatMessages);\n\n case 2:\n _context10.t0 = _context10.sent;\n\n if (_context10.t0) {\n _context10.next = 5;\n break;\n }\n\n _context10.t0 = undefined;\n\n case 5:\n return _context10.abrupt('return', _context10.t0);\n\n case 6:\n case 'end':\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function getUnreadMessages() {\n return _ref10.apply(this, arguments);\n }\n\n return getUnreadMessages;\n }()\n }, {\n key: '_onChatMessageReceived',\n value: function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11(messageObj) {\n var cart, existingChatMsg, currentLoggedInUser, playSound, _currentLoggedInUser, _playSound;\n\n return regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n this.lockMsgList = true;\n _context11.next = 3;\n return this._sessionService.getCartReference();\n\n case 3:\n cart = _context11.sent;\n\n if (!cart && this._postList.length > 0) cart = { id: this._postList[0].cartId };\n\n if (!(cart && cart.id === messageObj.cartId)) {\n _context11.next = 15;\n break;\n }\n\n existingChatMsg = _.find(this._postList, function (post) {\n return post.id === messageObj.id || post.id === messageObj.Id;\n });\n\n if (existingChatMsg) {\n this._postList = _.without(this._postList, existingChatMsg);\n }\n\n currentLoggedInUser = this._sessionService.getUserEmail();\n\n this._handleCartPostDetails(messageObj);\n\n playSound = false;\n\n if (messageObj.Email !== currentLoggedInUser && !messageObj.IsOwner) {\n playSound = true;\n }\n this.notifyUnreadMessageIfNeeded(playSound);\n _context11.next = 22;\n break;\n\n case 15:\n _context11.next = 17;\n return this._sessionService.getUserEmail();\n\n case 17:\n _currentLoggedInUser = _context11.sent;\n _playSound = false;\n\n if (messageObj.Email !== _currentLoggedInUser && !messageObj.IsOwner) {\n _playSound = true;\n }\n _context11.next = 22;\n return this.notifyUnreadMessageIfNeeded(_playSound);\n\n case 22:\n this.lockMsgList = false;\n\n case 23:\n case 'end':\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function _onChatMessageReceived(_x8) {\n return _ref11.apply(this, arguments);\n }\n\n return _onChatMessageReceived;\n }()\n }]);\n\n return CatalogChatService;\n}();\n\nCatalogChatService.$inject = ['$http', 'cartonomyConfig', 'Message', 'Session', 'LocalForageService', '$rootScope', 'RealTimeUpdateService'];\nexports.default = CatalogChatService;\n\n/***/ }),\n/* 835 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"
{{message.iconLetter}}
\\n\\n \\n background\\n \\n \\n \\n Layer 1\\n \\n \\n \\n \\n \\n \\n
{{ message.name }}
\\n\\n\\n
\"\n\n/***/ }),\n/* 836 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(837);\nmodule.exports = 'ngSanitize';\n\n/***/ }),\n/* 837 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @license AngularJS v1.6.4\n * (c) 2010-2017 Google, Inc. http://angularjs.org\n * License: MIT\n */\n(function (window, angular) {\n 'use strict';\n\n /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n * Any commits to this file should be reviewed with security in mind. *\n * Changes to this file can potentially create security vulnerabilities. *\n * An approval from 2 Core members with history of modifying *\n * this file is required. *\n * *\n * Does the change somehow allow for arbitrary javascript to be executed? *\n * Or allows for someone to change the prototype of built-in objects? *\n * Or gives undesired access to variables likes document or window? *\n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */\n\n var $sanitizeMinErr = angular.$$minErr('$sanitize');\n var bind;\n var extend;\n var forEach;\n var isDefined;\n var lowercase;\n var noop;\n var nodeContains;\n var htmlParser;\n var htmlSanitizeWriter;\n\n /**\n * @ngdoc module\n * @name ngSanitize\n * @description\n *\n * # ngSanitize\n *\n * The `ngSanitize` module provides functionality to sanitize HTML.\n *\n *\n *
\n *\n * See {@link ngSanitize.$sanitize `$sanitize`} for usage.\n */\n\n /**\n * @ngdoc service\n * @name $sanitize\n * @kind function\n *\n * @description\n * Sanitizes an html string by stripping all potentially dangerous tokens.\n *\n * The input is sanitized by parsing the HTML into tokens. All safe tokens (from a whitelist) are\n * then serialized back to properly escaped html string. This means that no unsafe input can make\n * it into the returned string.\n *\n * The whitelist for URL sanitization of attribute values is configured using the functions\n * `aHrefSanitizationWhitelist` and `imgSrcSanitizationWhitelist` of {@link ng.$compileProvider\n * `$compileProvider`}.\n *\n * The input may also contain SVG markup if this is enabled via {@link $sanitizeProvider}.\n *\n * @param {string} html HTML input.\n * @returns {string} Sanitized HTML.\n *\n * @example\n \n \n \n
\n Snippet: \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
DirectiveHowSourceRendered
ng-bind-htmlAutomatically uses $sanitize
<div ng-bind-html=\"snippet\">
</div>
ng-bind-htmlBypass $sanitize by explicitly trusting the dangerous value\n
<div ng-bind-html=\"deliberatelyTrustDangerousSnippet()\">\n  </div>
\n
ng-bindAutomatically escapes
<div ng-bind=\"snippet\">
</div>
\n
\n
\n \n it('should sanitize the html snippet by default', function() {\n expect(element(by.css('#bind-html-with-sanitize div')).getAttribute('innerHTML')).\n toBe('

an html\\nclick here\\nsnippet

');\n });\n \n it('should inline raw snippet if bound to a trusted value', function() {\n expect(element(by.css('#bind-html-with-trust div')).getAttribute('innerHTML')).\n toBe(\"

an html\\n\" +\n \"click here\\n\" +\n \"snippet

\");\n });\n \n it('should escape snippet without any filter', function() {\n expect(element(by.css('#bind-default div')).getAttribute('innerHTML')).\n toBe(\"<p style=\\\"color:blue\\\">an html\\n\" +\n \"<em onmouseover=\\\"this.textContent='PWN3D!'\\\">click here</em>\\n\" +\n \"snippet</p>\");\n });\n \n it('should update', function() {\n element(by.model('snippet')).clear();\n element(by.model('snippet')).sendKeys('new text');\n expect(element(by.css('#bind-html-with-sanitize div')).getAttribute('innerHTML')).\n toBe('new text');\n expect(element(by.css('#bind-html-with-trust div')).getAttribute('innerHTML')).toBe(\n 'new text');\n expect(element(by.css('#bind-default div')).getAttribute('innerHTML')).toBe(\n \"new <b onclick=\\\"alert(1)\\\">text</b>\");\n });\n
\n
\n */\n\n /**\n * @ngdoc provider\n * @name $sanitizeProvider\n * @this\n *\n * @description\n * Creates and configures {@link $sanitize} instance.\n */\n function $SanitizeProvider() {\n var svgEnabled = false;\n\n this.$get = ['$$sanitizeUri', function ($$sanitizeUri) {\n if (svgEnabled) {\n extend(validElements, svgElements);\n }\n return function (html) {\n var buf = [];\n htmlParser(html, htmlSanitizeWriter(buf, function (uri, isImage) {\n return !/^unsafe:/.test($$sanitizeUri(uri, isImage));\n }));\n return buf.join('');\n };\n }];\n\n /**\n * @ngdoc method\n * @name $sanitizeProvider#enableSvg\n * @kind function\n *\n * @description\n * Enables a subset of svg to be supported by the sanitizer.\n *\n *
\n *

By enabling this setting without taking other precautions, you might expose your\n * application to click-hijacking attacks. In these attacks, sanitized svg elements could be positioned\n * outside of the containing element and be rendered over other elements on the page (e.g. a login\n * link). Such behavior can then result in phishing incidents.

\n *\n *

To protect against these, explicitly setup `overflow: hidden` css rule for all potential svg\n * tags within the sanitized content:

\n *\n *
\n *\n *
\n     *   .rootOfTheIncludedContent svg {\n     *     overflow: hidden !important;\n     *   }\n     *   
\n *
\n *\n * @param {boolean=} flag Enable or disable SVG support in the sanitizer.\n * @returns {boolean|ng.$sanitizeProvider} Returns the currently configured value if called\n * without an argument or self for chaining otherwise.\n */\n this.enableSvg = function (enableSvg) {\n if (isDefined(enableSvg)) {\n svgEnabled = enableSvg;\n return this;\n } else {\n return svgEnabled;\n }\n };\n\n //////////////////////////////////////////////////////////////////////////////////////////////////\n // Private stuff\n //////////////////////////////////////////////////////////////////////////////////////////////////\n\n bind = angular.bind;\n extend = angular.extend;\n forEach = angular.forEach;\n isDefined = angular.isDefined;\n lowercase = angular.lowercase;\n noop = angular.noop;\n\n htmlParser = htmlParserImpl;\n htmlSanitizeWriter = htmlSanitizeWriterImpl;\n\n nodeContains = window.Node.prototype.contains || /** @this */function (arg) {\n // eslint-disable-next-line no-bitwise\n return !!(this.compareDocumentPosition(arg) & 16);\n };\n\n // Regular Expressions for parsing tags and attributes\n var SURROGATE_PAIR_REGEXP = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,\n\n // Match everything outside of normal chars and \" (quote character)\n NON_ALPHANUMERIC_REGEXP = /([^#-~ |!])/g;\n\n // Good source of info about elements and attributes\n // http://dev.w3.org/html5/spec/Overview.html#semantics\n // http://simon.html5.org/html-elements\n\n // Safe Void Elements - HTML5\n // http://dev.w3.org/html5/spec/Overview.html#void-elements\n var voidElements = toMap('area,br,col,hr,img,wbr');\n\n // Elements that you can, intentionally, leave open (and which close themselves)\n // http://dev.w3.org/html5/spec/Overview.html#optional-tags\n var optionalEndTagBlockElements = toMap('colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr'),\n optionalEndTagInlineElements = toMap('rp,rt'),\n optionalEndTagElements = extend({}, optionalEndTagInlineElements, optionalEndTagBlockElements);\n\n // Safe Block Elements - HTML5\n var blockElements = extend({}, optionalEndTagBlockElements, toMap('address,article,' + 'aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,' + 'h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul'));\n\n // Inline Elements - HTML5\n var inlineElements = extend({}, optionalEndTagInlineElements, toMap('a,abbr,acronym,b,' + 'bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,' + 'samp,small,span,strike,strong,sub,sup,time,tt,u,var'));\n\n // SVG Elements\n // https://wiki.whatwg.org/wiki/Sanitization_rules#svg_Elements\n // Note: the elements animate,animateColor,animateMotion,animateTransform,set are intentionally omitted.\n // They can potentially allow for arbitrary javascript to be executed. See #11290\n var svgElements = toMap('circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,' + 'hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,' + 'radialGradient,rect,stop,svg,switch,text,title,tspan');\n\n // Blocked Elements (will be stripped)\n var blockedElements = toMap('script,style');\n\n var validElements = extend({}, voidElements, blockElements, inlineElements, optionalEndTagElements);\n\n //Attributes that have href and hence need to be sanitized\n var uriAttrs = toMap('background,cite,href,longdesc,src,xlink:href');\n\n var htmlAttrs = toMap('abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,' + 'color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,' + 'ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,' + 'scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,' + 'valign,value,vspace,width');\n\n // SVG attributes (without \"id\" and \"name\" attributes)\n // https://wiki.whatwg.org/wiki/Sanitization_rules#svg_Attributes\n var svgAttrs = toMap('accent-height,accumulate,additive,alphabetic,arabic-form,ascent,' + 'baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,' + 'cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,' + 'font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,' + 'height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,' + 'marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,' + 'max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,' + 'path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,' + 'requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,' + 'stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,' + 'stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,' + 'stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,' + 'underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,' + 'width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,' + 'xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan', true);\n\n var validAttrs = extend({}, uriAttrs, svgAttrs, htmlAttrs);\n\n function toMap(str, lowercaseKeys) {\n var obj = {},\n items = str.split(','),\n i;\n for (i = 0; i < items.length; i++) {\n obj[lowercaseKeys ? lowercase(items[i]) : items[i]] = true;\n }\n return obj;\n }\n\n var inertBodyElement;\n (function (window) {\n var doc;\n if (window.document && window.document.implementation) {\n doc = window.document.implementation.createHTMLDocument('inert');\n } else {\n throw $sanitizeMinErr('noinert', 'Can\\'t create an inert html document');\n }\n var docElement = doc.documentElement || doc.getDocumentElement();\n var bodyElements = docElement.getElementsByTagName('body');\n\n // usually there should be only one body element in the document, but IE doesn't have any, so we need to create one\n if (bodyElements.length === 1) {\n inertBodyElement = bodyElements[0];\n } else {\n var html = doc.createElement('html');\n inertBodyElement = doc.createElement('body');\n html.appendChild(inertBodyElement);\n doc.appendChild(html);\n }\n })(window);\n\n /**\n * @example\n * htmlParser(htmlString, {\n * start: function(tag, attrs) {},\n * end: function(tag) {},\n * chars: function(text) {},\n * comment: function(text) {}\n * });\n *\n * @param {string} html string\n * @param {object} handler\n */\n function htmlParserImpl(html, handler) {\n if (html === null || html === undefined) {\n html = '';\n } else if (typeof html !== 'string') {\n html = '' + html;\n }\n inertBodyElement.innerHTML = html;\n\n //mXSS protection\n var mXSSAttempts = 5;\n do {\n if (mXSSAttempts === 0) {\n throw $sanitizeMinErr('uinput', 'Failed to sanitize html because the input is unstable');\n }\n mXSSAttempts--;\n\n // strip custom-namespaced attributes on IE<=11\n if (window.document.documentMode) {\n stripCustomNsAttrs(inertBodyElement);\n }\n html = inertBodyElement.innerHTML; //trigger mXSS\n inertBodyElement.innerHTML = html;\n } while (html !== inertBodyElement.innerHTML);\n\n var node = inertBodyElement.firstChild;\n while (node) {\n switch (node.nodeType) {\n case 1:\n // ELEMENT_NODE\n handler.start(node.nodeName.toLowerCase(), attrToMap(node.attributes));\n break;\n case 3:\n // TEXT NODE\n handler.chars(node.textContent);\n break;\n }\n\n var nextNode;\n if (!(nextNode = node.firstChild)) {\n if (node.nodeType === 1) {\n handler.end(node.nodeName.toLowerCase());\n }\n nextNode = getNonDescendant('nextSibling', node);\n if (!nextNode) {\n while (nextNode == null) {\n node = getNonDescendant('parentNode', node);\n if (node === inertBodyElement) break;\n nextNode = getNonDescendant('nextSibling', node);\n if (node.nodeType === 1) {\n handler.end(node.nodeName.toLowerCase());\n }\n }\n }\n }\n node = nextNode;\n }\n\n while (node = inertBodyElement.firstChild) {\n inertBodyElement.removeChild(node);\n }\n }\n\n function attrToMap(attrs) {\n var map = {};\n for (var i = 0, ii = attrs.length; i < ii; i++) {\n var attr = attrs[i];\n map[attr.name] = attr.value;\n }\n return map;\n }\n\n /**\n * Escapes all potentially dangerous characters, so that the\n * resulting string can be safely inserted into attribute or\n * element text.\n * @param value\n * @returns {string} escaped text\n */\n function encodeEntities(value) {\n return value.replace(/&/g, '&').replace(SURROGATE_PAIR_REGEXP, function (value) {\n var hi = value.charCodeAt(0);\n var low = value.charCodeAt(1);\n return '&#' + ((hi - 0xD800) * 0x400 + (low - 0xDC00) + 0x10000) + ';';\n }).replace(NON_ALPHANUMERIC_REGEXP, function (value) {\n return '&#' + value.charCodeAt(0) + ';';\n }).replace(//g, '>');\n }\n\n /**\n * create an HTML/XML writer which writes to buffer\n * @param {Array} buf use buf.join('') to get out sanitized html string\n * @returns {object} in the form of {\n * start: function(tag, attrs) {},\n * end: function(tag) {},\n * chars: function(text) {},\n * comment: function(text) {}\n * }\n */\n function htmlSanitizeWriterImpl(buf, uriValidator) {\n var ignoreCurrentElement = false;\n var out = bind(buf, buf.push);\n return {\n start: function start(tag, attrs) {\n tag = lowercase(tag);\n if (!ignoreCurrentElement && blockedElements[tag]) {\n ignoreCurrentElement = tag;\n }\n if (!ignoreCurrentElement && validElements[tag] === true) {\n out('<');\n out(tag);\n forEach(attrs, function (value, key) {\n var lkey = lowercase(key);\n var isImage = tag === 'img' && lkey === 'src' || lkey === 'background';\n if (validAttrs[lkey] === true && (uriAttrs[lkey] !== true || uriValidator(value, isImage))) {\n out(' ');\n out(key);\n out('=\"');\n out(encodeEntities(value));\n out('\"');\n }\n });\n out('>');\n }\n },\n end: function end(tag) {\n tag = lowercase(tag);\n if (!ignoreCurrentElement && validElements[tag] === true && voidElements[tag] !== true) {\n out('');\n }\n // eslint-disable-next-line eqeqeq\n if (tag == ignoreCurrentElement) {\n ignoreCurrentElement = false;\n }\n },\n chars: function chars(_chars) {\n if (!ignoreCurrentElement) {\n out(encodeEntities(_chars));\n }\n }\n };\n }\n\n /**\n * When IE9-11 comes across an unknown namespaced attribute e.g. 'xlink:foo' it adds 'xmlns:ns1' attribute to declare\n * ns1 namespace and prefixes the attribute with 'ns1' (e.g. 'ns1:xlink:foo'). This is undesirable since we don't want\n * to allow any of these custom attributes. This method strips them all.\n *\n * @param node Root element to process\n */\n function stripCustomNsAttrs(node) {\n while (node) {\n if (node.nodeType === window.Node.ELEMENT_NODE) {\n var attrs = node.attributes;\n for (var i = 0, l = attrs.length; i < l; i++) {\n var attrNode = attrs[i];\n var attrName = attrNode.name.toLowerCase();\n if (attrName === 'xmlns:ns1' || attrName.lastIndexOf('ns1:', 0) === 0) {\n node.removeAttributeNode(attrNode);\n i--;\n l--;\n }\n }\n }\n\n var nextNode = node.firstChild;\n if (nextNode) {\n stripCustomNsAttrs(nextNode);\n }\n\n node = getNonDescendant('nextSibling', node);\n }\n }\n\n function getNonDescendant(propName, node) {\n // An element is clobbered if its `propName` property points to one of its descendants\n var nextNode = node[propName];\n if (nextNode && nodeContains.call(node, nextNode)) {\n throw $sanitizeMinErr('elclob', 'Failed to sanitize html because the element is clobbered: {0}', node.outerHTML || node.outerText);\n }\n return nextNode;\n }\n }\n\n function sanitizeText(chars) {\n var buf = [];\n var writer = htmlSanitizeWriter(buf, noop);\n writer.chars(chars);\n return buf.join('');\n }\n\n // define ngSanitize module and register $sanitize service\n angular.module('ngSanitize', []).provider('$sanitize', $SanitizeProvider).info({ angularVersion: '1.6.4' });\n\n /**\n * @ngdoc filter\n * @name linky\n * @kind function\n *\n * @description\n * Finds links in text input and turns them into html links. Supports `http/https/ftp/mailto` and\n * plain email address links.\n *\n * Requires the {@link ngSanitize `ngSanitize`} module to be installed.\n *\n * @param {string} text Input text.\n * @param {string} target Window (`_blank|_self|_parent|_top`) or named frame to open links in.\n * @param {object|function(url)} [attributes] Add custom attributes to the link element.\n *\n * Can be one of:\n *\n * - `object`: A map of attributes\n * - `function`: Takes the url as a parameter and returns a map of attributes\n *\n * If the map of attributes contains a value for `target`, it overrides the value of\n * the target parameter.\n *\n *\n * @returns {string} Html-linkified and {@link $sanitize sanitized} text.\n *\n * @usage\n \n *\n * @example\n \n \n
\n Snippet: \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
FilterSourceRendered
linky filter\n
<div ng-bind-html=\"snippet | linky\">
</div>
\n
\n
\n
linky target\n
<div ng-bind-html=\"snippetWithSingleURL | linky:'_blank'\">
</div>
\n
\n
\n
linky custom attributes\n
<div ng-bind-html=\"snippetWithSingleURL | linky:'_self':{rel: 'nofollow'}\">
</div>
\n
\n
\n
no filter
<div ng-bind=\"snippet\">
</div>
\n \n \n angular.module('linkyExample', ['ngSanitize'])\n .controller('ExampleController', ['$scope', function($scope) {\n $scope.snippet =\n 'Pretty text with some links:\\n' +\n 'http://angularjs.org/,\\n' +\n 'mailto:us@somewhere.org,\\n' +\n 'another@somewhere.org,\\n' +\n 'and one more: ftp://127.0.0.1/.';\n $scope.snippetWithSingleURL = 'http://angularjs.org/';\n }]);\n \n \n it('should linkify the snippet with urls', function() {\n expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()).\n toBe('Pretty text with some links: http://angularjs.org/, us@somewhere.org, ' +\n 'another@somewhere.org, and one more: ftp://127.0.0.1/.');\n expect(element.all(by.css('#linky-filter a')).count()).toEqual(4);\n });\n \n it('should not linkify snippet without the linky filter', function() {\n expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText()).\n toBe('Pretty text with some links: http://angularjs.org/, mailto:us@somewhere.org, ' +\n 'another@somewhere.org, and one more: ftp://127.0.0.1/.');\n expect(element.all(by.css('#escaped-html a')).count()).toEqual(0);\n });\n \n it('should update', function() {\n element(by.model('snippet')).clear();\n element(by.model('snippet')).sendKeys('new http://link.');\n expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()).\n toBe('new http://link.');\n expect(element.all(by.css('#linky-filter a')).count()).toEqual(1);\n expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText())\n .toBe('new http://link.');\n });\n \n it('should work with the target property', function() {\n expect(element(by.id('linky-target')).\n element(by.binding(\"snippetWithSingleURL | linky:'_blank'\")).getText()).\n toBe('http://angularjs.org/');\n expect(element(by.css('#linky-target a')).getAttribute('target')).toEqual('_blank');\n });\n \n it('should optionally add custom attributes', function() {\n expect(element(by.id('linky-custom-attributes')).\n element(by.binding(\"snippetWithSingleURL | linky:'_self':{rel: 'nofollow'}\")).getText()).\n toBe('http://angularjs.org/');\n expect(element(by.css('#linky-custom-attributes a')).getAttribute('rel')).toEqual('nofollow');\n });\n \n \n */\n angular.module('ngSanitize').filter('linky', ['$sanitize', function ($sanitize) {\n var LINKY_URL_REGEXP = /((ftp|https?):\\/\\/|(www\\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\\S*[^\\s.;,(){}<>\"\\u201d\\u2019]/i,\n MAILTO_REGEXP = /^mailto:/i;\n\n var linkyMinErr = angular.$$minErr('linky');\n var isDefined = angular.isDefined;\n var isFunction = angular.isFunction;\n var isObject = angular.isObject;\n var isString = angular.isString;\n\n return function (text, target, attributes) {\n if (text == null || text === '') return text;\n if (!isString(text)) throw linkyMinErr('notstring', 'Expected string but received: {0}', text);\n\n var attributesFn = isFunction(attributes) ? attributes : isObject(attributes) ? function getAttributesObject() {\n return attributes;\n } : function getEmptyAttributesObject() {\n return {};\n };\n\n var match;\n var raw = text;\n var html = [];\n var url;\n var i;\n while (match = raw.match(LINKY_URL_REGEXP)) {\n // We can not end in these as they are sometimes found at the end of the sentence\n url = match[0];\n // if we did not match ftp/http/www/mailto then assume mailto\n if (!match[2] && !match[4]) {\n url = (match[3] ? 'http://' : 'mailto:') + url;\n }\n i = match.index;\n addText(raw.substr(0, i));\n addLink(url, match[0].replace(MAILTO_REGEXP, ''));\n raw = raw.substring(i + match[0].length);\n }\n addText(raw);\n return $sanitize(html.join(''));\n\n function addText(text) {\n if (!text) {\n return;\n }\n html.push(sanitizeText(text));\n }\n\n function addLink(url, text) {\n var key,\n linkAttributes = attributesFn(url);\n html.push('');\n addText(text);\n html.push('');\n }\n };\n }]);\n})(window, window.angular);\n\n/***/ }),\n/* 838 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\n * angular-marked\n * (c) 2014 - 2016 J. Harshbarger\n * Licensed MIT\n */\n\n/* global angular, marked */\n\n\n\nvar unindent = __webpack_require__(839);\n\n/**\n * @ngdoc overview\n * @name index\n *\n * @description\n * AngularJS Markdown using [marked](https://github.com/chjj/marked).\n *\n * ## Why?\n *\n * I wanted to use [marked](https://github.com/chjj/marked) instead of [showdown](https://github.com/coreyti/showdown) as used in [angular-markdown-directive](https://github.com/btford/angular-markdown-directive) as well as expose the option to globally set defaults.\n *\n * ## How?\n *\n * - {@link hc.marked.directive:marked As a directive}\n * - {@link hc.marked.service:marked As a service}\n * - {@link hc.marked.service:markedProvider Set default options}\n *\n * @example\n Convert markdown to html at run time. For example:\n \n \n
\n Markdown:
\n
\n Output:
\n
\n \n \n \n function MainController($scope) {\n $scope.my_markdown = \"*This* **is** [markdown](https://daringfireball.net/projects/markdown/)\";\n }\n angular.module('app', ['hc.marked']).controller('MainController', MainController);\n \n \n *\n */\n\n/**\n * @ngdoc overview\n * @name hc.marked\n * @description # angular-marked (core module)\n # Installation\n First include angular-marked.js in your HTML:\n ```js\n .\");\n }\n };\n\n // .on() was added in version 1.7.0, .load() was removed in version 3.0.0 so we fallback to .load() if .on() does\n // not exist to not break existing applications\n if (typeof _pageWindow.on == \"function\") {\n _pageWindow.on(\"load\", function () {\n _pageLoaded = true;\n });\n } else {\n _pageWindow.load(function () {\n _pageLoaded = true;\n });\n }\n\n function validateTransport(requestedTransport, connection) {\n /// Validates the requested transport by cross checking it with the pre-defined signalR.transports\n /// The designated transports that the user has specified.\n /// The connection that will be using the requested transports. Used for logging purposes.\n /// \n\n if ($.isArray(requestedTransport)) {\n // Go through transport array and remove an \"invalid\" tranports\n for (var i = requestedTransport.length - 1; i >= 0; i--) {\n var transport = requestedTransport[i];\n if ($.type(transport) !== \"string\" || !_signalR.transports[transport]) {\n connection.log(\"Invalid transport: \" + transport + \", removing it from the transports list.\");\n requestedTransport.splice(i, 1);\n }\n }\n\n // Verify we still have transports left, if we dont then we have invalid transports\n if (requestedTransport.length === 0) {\n connection.log(\"No transports remain within the specified transport array.\");\n requestedTransport = null;\n }\n } else if (!_signalR.transports[requestedTransport] && requestedTransport !== \"auto\") {\n connection.log(\"Invalid transport: \" + requestedTransport.toString() + \".\");\n requestedTransport = null;\n } else if (requestedTransport === \"auto\" && _signalR._.ieVersion <= 8) {\n // If we're doing an auto transport and we're IE8 then force longPolling, #1764\n return [\"longPolling\"];\n }\n\n return requestedTransport;\n }\n\n function getDefaultPort(protocol) {\n if (protocol === \"http:\") {\n return 80;\n } else if (protocol === \"https:\") {\n return 443;\n }\n }\n\n function addDefaultPort(protocol, url) {\n // Remove ports from url. We have to check if there's a / or end of line\n // following the port in order to avoid removing ports such as 8080.\n if (url.match(/:\\d+$/)) {\n return url;\n } else {\n return url + \":\" + getDefaultPort(protocol);\n }\n }\n\n function ConnectingMessageBuffer(connection, drainCallback) {\n var that = this,\n buffer = [];\n\n that.tryBuffer = function (message) {\n if (connection.state === $.signalR.connectionState.connecting) {\n buffer.push(message);\n\n return true;\n }\n\n return false;\n };\n\n that.drain = function () {\n // Ensure that the connection is connected when we drain (do not want to drain while a connection is not active)\n if (connection.state === $.signalR.connectionState.connected) {\n while (buffer.length > 0) {\n drainCallback(buffer.shift());\n }\n }\n };\n\n that.clear = function () {\n buffer = [];\n };\n }\n\n _signalR.fn = _signalR.prototype = {\n init: function init(url, qs, logging) {\n var $connection = $(this);\n\n this.url = url;\n this.qs = qs;\n this.lastError = null;\n this._ = {\n keepAliveData: {},\n connectingMessageBuffer: new ConnectingMessageBuffer(this, function (message) {\n $connection.triggerHandler(events.onReceived, [message]);\n }),\n lastMessageAt: new Date().getTime(),\n lastActiveAt: new Date().getTime(),\n beatInterval: 5000, // Default value, will only be overridden if keep alive is enabled,\n beatHandle: null,\n totalTransportConnectTimeout: 0 // This will be the sum of the TransportConnectTimeout sent in response to negotiate and connection.transportConnectTimeout\n };\n if (typeof logging === \"boolean\") {\n this.logging = logging;\n }\n },\n\n _parseResponse: function _parseResponse(response) {\n var that = this;\n\n if (!response) {\n return response;\n } else if (typeof response === \"string\") {\n return that.json.parse(response);\n } else {\n return response;\n }\n },\n\n _originalJson: window.JSON,\n\n json: window.JSON,\n\n isCrossDomain: function isCrossDomain(url, against) {\n /// Checks if url is cross domain\n /// The base URL\n /// \n /// An optional argument to compare the URL against, if not specified it will be set to window.location.\n /// If specified it must contain a protocol and a host property.\n /// \n var link;\n\n url = $.trim(url);\n\n against = against || window.location;\n\n if (url.indexOf(\"http\") !== 0) {\n return false;\n }\n\n // Create an anchor tag.\n link = window.document.createElement(\"a\");\n link.href = url;\n\n // When checking for cross domain we have to special case port 80 because the window.location will remove the\n return link.protocol + addDefaultPort(link.protocol, link.host) !== against.protocol + addDefaultPort(against.protocol, against.host);\n },\n\n ajaxDataType: \"text\",\n\n contentType: \"application/json; charset=UTF-8\",\n\n logging: false,\n\n state: _signalR.connectionState.disconnected,\n\n clientProtocol: \"1.5\",\n\n reconnectDelay: 2000,\n\n transportConnectTimeout: 0,\n\n disconnectTimeout: 30000, // This should be set by the server in response to the negotiate request (30s default)\n\n reconnectWindow: 30000, // This should be set by the server in response to the negotiate request\n\n keepAliveWarnAt: 2 / 3, // Warn user of slow connection if we breach the X% mark of the keep alive timeout\n\n start: function start(options, callback) {\n /// Starts the connection\n /// Options map\n /// A callback function to execute when the connection has started\n var connection = this,\n config = {\n pingInterval: 300000,\n waitForPageLoad: true,\n transport: \"auto\",\n jsonp: false\n },\n _initialize,\n deferred = connection._deferral || $.Deferred(),\n // Check to see if there is a pre-existing deferral that's being built on, if so we want to keep using it\n parser = window.document.createElement(\"a\");\n\n connection.lastError = null;\n\n // Persist the deferral so that if start is called multiple times the same deferral is used.\n connection._deferral = deferred;\n\n if (!connection.json) {\n // no JSON!\n throw new Error(\"SignalR: No JSON parser found. Please ensure json2.js is referenced before the SignalR.js file if you need to support clients without native JSON parsing support, e.g. IE<8.\");\n }\n\n if ($.type(options) === \"function\") {\n // Support calling with single callback parameter\n callback = options;\n } else if ($.type(options) === \"object\") {\n $.extend(config, options);\n if ($.type(config.callback) === \"function\") {\n callback = config.callback;\n }\n }\n\n config.transport = validateTransport(config.transport, connection);\n\n // If the transport is invalid throw an error and abort start\n if (!config.transport) {\n throw new Error(\"SignalR: Invalid transport(s) specified, aborting start.\");\n }\n\n connection._.config = config;\n\n // Check to see if start is being called prior to page load\n // If waitForPageLoad is true we then want to re-direct function call to the window load event\n if (!_pageLoaded && config.waitForPageLoad === true) {\n connection._.deferredStartHandler = function () {\n connection.start(options, callback);\n };\n _pageWindow.bind(\"load\", connection._.deferredStartHandler);\n\n return deferred.promise();\n }\n\n // If we're already connecting just return the same deferral as the original connection start\n if (connection.state === _signalR.connectionState.connecting) {\n return deferred.promise();\n } else if (changeState(connection, _signalR.connectionState.disconnected, _signalR.connectionState.connecting) === false) {\n // We're not connecting so try and transition into connecting.\n // If we fail to transition then we're either in connected or reconnecting.\n\n deferred.resolve(connection);\n return deferred.promise();\n }\n\n configureStopReconnectingTimeout(connection);\n\n // Resolve the full url\n parser.href = connection.url;\n if (!parser.protocol || parser.protocol === \":\") {\n connection.protocol = window.document.location.protocol;\n connection.host = parser.host || window.document.location.host;\n } else {\n connection.protocol = parser.protocol;\n connection.host = parser.host;\n }\n\n connection.baseUrl = connection.protocol + \"//\" + connection.host;\n\n // Set the websocket protocol\n connection.wsProtocol = connection.protocol === \"https:\" ? \"wss://\" : \"ws://\";\n\n // If jsonp with no/auto transport is specified, then set the transport to long polling\n // since that is the only transport for which jsonp really makes sense.\n // Some developers might actually choose to specify jsonp for same origin requests\n // as demonstrated by Issue #623.\n if (config.transport === \"auto\" && config.jsonp === true) {\n config.transport = \"longPolling\";\n }\n\n // If the url is protocol relative, prepend the current windows protocol to the url.\n if (connection.url.indexOf(\"//\") === 0) {\n connection.url = window.location.protocol + connection.url;\n connection.log(\"Protocol relative URL detected, normalizing it to '\" + connection.url + \"'.\");\n }\n\n if (this.isCrossDomain(connection.url)) {\n connection.log(\"Auto detected cross domain url.\");\n\n if (config.transport === \"auto\") {\n // TODO: Support XDM with foreverFrame\n config.transport = [\"webSockets\", \"serverSentEvents\", \"longPolling\"];\n }\n\n if (typeof config.withCredentials === \"undefined\") {\n config.withCredentials = true;\n }\n\n // Determine if jsonp is the only choice for negotiation, ajaxSend and ajaxAbort.\n // i.e. if the browser doesn't supports CORS\n // If it is, ignore any preference to the contrary, and switch to jsonp.\n if (!config.jsonp) {\n config.jsonp = !$.support.cors;\n\n if (config.jsonp) {\n connection.log(\"Using jsonp because this browser doesn't support CORS.\");\n }\n }\n\n connection.contentType = _signalR._.defaultContentType;\n }\n\n connection.withCredentials = config.withCredentials;\n\n connection.ajaxDataType = config.jsonp ? \"jsonp\" : \"text\";\n\n $(connection).bind(events.onStart, function (e, data) {\n if ($.type(callback) === \"function\") {\n callback.call(connection);\n }\n deferred.resolve(connection);\n });\n\n connection._.initHandler = _signalR.transports._logic.initHandler(connection);\n\n _initialize = function initialize(transports, index) {\n var noTransportError = _signalR._.error(resources.noTransportOnInit);\n\n index = index || 0;\n if (index >= transports.length) {\n if (index === 0) {\n connection.log(\"No transports supported by the server were selected.\");\n } else if (index === 1) {\n connection.log(\"No fallback transports were selected.\");\n } else {\n connection.log(\"Fallback transports exhausted.\");\n }\n\n // No transport initialized successfully\n $(connection).triggerHandler(events.onError, [noTransportError]);\n deferred.reject(noTransportError);\n // Stop the connection if it has connected and move it into the disconnected state\n connection.stop();\n return;\n }\n\n // The connection was aborted\n if (connection.state === _signalR.connectionState.disconnected) {\n return;\n }\n\n var transportName = transports[index],\n transport = _signalR.transports[transportName],\n onFallback = function onFallback() {\n _initialize(transports, index + 1);\n };\n\n connection.transport = transport;\n\n try {\n connection._.initHandler.start(transport, function () {\n // success\n // Firefox 11+ doesn't allow sync XHR withCredentials: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#withCredentials\n var isFirefox11OrGreater = _signalR._.firefoxMajorVersion(window.navigator.userAgent) >= 11,\n asyncAbort = !!connection.withCredentials && isFirefox11OrGreater;\n\n connection.log(\"The start request succeeded. Transitioning to the connected state.\");\n\n if (supportsKeepAlive(connection)) {\n _signalR.transports._logic.monitorKeepAlive(connection);\n }\n\n _signalR.transports._logic.startHeartbeat(connection);\n\n // Used to ensure low activity clients maintain their authentication.\n // Must be configured once a transport has been decided to perform valid ping requests.\n _signalR._.configurePingInterval(connection);\n\n if (!changeState(connection, _signalR.connectionState.connecting, _signalR.connectionState.connected)) {\n connection.log(\"WARNING! The connection was not in the connecting state.\");\n }\n\n // Drain any incoming buffered messages (messages that came in prior to connect)\n connection._.connectingMessageBuffer.drain();\n\n $(connection).triggerHandler(events.onStart);\n\n // wire the stop handler for when the user leaves the page\n _pageWindow.bind(\"unload\", function () {\n connection.log(\"Window unloading, stopping the connection.\");\n\n connection.stop(asyncAbort);\n });\n\n if (isFirefox11OrGreater) {\n // Firefox does not fire cross-domain XHRs in the normal unload handler on tab close.\n // #2400\n _pageWindow.bind(\"beforeunload\", function () {\n // If connection.stop() runs runs in beforeunload and fails, it will also fail\n // in unload unless connection.stop() runs after a timeout.\n window.setTimeout(function () {\n connection.stop(asyncAbort);\n }, 0);\n });\n }\n }, onFallback);\n } catch (error) {\n connection.log(transport.name + \" transport threw '\" + error.message + \"' when attempting to start.\");\n onFallback();\n }\n };\n\n var url = connection.url + \"/negotiate\",\n onFailed = function onFailed(error, connection) {\n var err = _signalR._.error(resources.errorOnNegotiate, error, connection._.negotiateRequest);\n\n $(connection).triggerHandler(events.onError, err);\n deferred.reject(err);\n // Stop the connection if negotiate failed\n connection.stop();\n };\n\n $(connection).triggerHandler(events.onStarting);\n\n url = _signalR.transports._logic.prepareQueryString(connection, url);\n\n connection.log(\"Negotiating with '\" + url + \"'.\");\n\n // Save the ajax negotiate request object so we can abort it if stop is called while the request is in flight.\n connection._.negotiateRequest = _signalR.transports._logic.ajax(connection, {\n url: url,\n error: function error(_error, statusText) {\n // We don't want to cause any errors if we're aborting our own negotiate request.\n if (statusText !== _negotiateAbortText) {\n onFailed(_error, connection);\n } else {\n // This rejection will noop if the deferred has already been resolved or rejected.\n deferred.reject(_signalR._.error(resources.stoppedWhileNegotiating, null /* error */, connection._.negotiateRequest));\n }\n },\n success: function success(result) {\n var res,\n keepAliveData,\n protocolError,\n transports = [],\n supportedTransports = [];\n\n try {\n res = connection._parseResponse(result);\n } catch (error) {\n onFailed(_signalR._.error(resources.errorParsingNegotiateResponse, error), connection);\n return;\n }\n\n keepAliveData = connection._.keepAliveData;\n connection.appRelativeUrl = res.Url;\n connection.id = res.ConnectionId;\n connection.token = res.ConnectionToken;\n connection.webSocketServerUrl = res.WebSocketServerUrl;\n\n // The long poll timeout is the ConnectionTimeout plus 10 seconds\n connection._.pollTimeout = res.ConnectionTimeout * 1000 + 10000; // in ms\n\n // Once the server has labeled the PersistentConnection as Disconnected, we should stop attempting to reconnect\n // after res.DisconnectTimeout seconds.\n connection.disconnectTimeout = res.DisconnectTimeout * 1000; // in ms\n\n // Add the TransportConnectTimeout from the response to the transportConnectTimeout from the client to calculate the total timeout\n connection._.totalTransportConnectTimeout = connection.transportConnectTimeout + res.TransportConnectTimeout * 1000;\n\n // If we have a keep alive\n if (res.KeepAliveTimeout) {\n // Register the keep alive data as activated\n keepAliveData.activated = true;\n\n // Timeout to designate when to force the connection into reconnecting converted to milliseconds\n keepAliveData.timeout = res.KeepAliveTimeout * 1000;\n\n // Timeout to designate when to warn the developer that the connection may be dead or is not responding.\n keepAliveData.timeoutWarning = keepAliveData.timeout * connection.keepAliveWarnAt;\n\n // Instantiate the frequency in which we check the keep alive. It must be short in order to not miss/pick up any changes\n connection._.beatInterval = (keepAliveData.timeout - keepAliveData.timeoutWarning) / 3;\n } else {\n keepAliveData.activated = false;\n }\n\n connection.reconnectWindow = connection.disconnectTimeout + (keepAliveData.timeout || 0);\n\n if (!res.ProtocolVersion || res.ProtocolVersion !== connection.clientProtocol) {\n protocolError = _signalR._.error(_signalR._.format(resources.protocolIncompatible, connection.clientProtocol, res.ProtocolVersion));\n $(connection).triggerHandler(events.onError, [protocolError]);\n deferred.reject(protocolError);\n\n return;\n }\n\n $.each(_signalR.transports, function (key) {\n if (key.indexOf(\"_\") === 0 || key === \"webSockets\" && !res.TryWebSockets) {\n return true;\n }\n supportedTransports.push(key);\n });\n\n if ($.isArray(config.transport)) {\n $.each(config.transport, function (_, transport) {\n if ($.inArray(transport, supportedTransports) >= 0) {\n transports.push(transport);\n }\n });\n } else if (config.transport === \"auto\") {\n transports = supportedTransports;\n } else if ($.inArray(config.transport, supportedTransports) >= 0) {\n transports.push(config.transport);\n }\n\n _initialize(transports);\n }\n });\n\n return deferred.promise();\n },\n\n starting: function starting(callback) {\n /// Adds a callback that will be invoked before anything is sent over the connection\n /// A callback function to execute before the connection is fully instantiated.\n /// \n var connection = this;\n $(connection).bind(events.onStarting, function (e, data) {\n callback.call(connection);\n });\n return connection;\n },\n\n send: function send(data) {\n /// Sends data over the connection\n /// The data to send over the connection\n /// \n var connection = this;\n\n if (connection.state === _signalR.connectionState.disconnected) {\n // Connection hasn't been started yet\n throw new Error(\"SignalR: Connection must be started before data can be sent. Call .start() before .send()\");\n }\n\n if (connection.state === _signalR.connectionState.connecting) {\n // Connection hasn't been started yet\n throw new Error(\"SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started.\");\n }\n\n connection.transport.send(connection, data);\n // REVIEW: Should we return deferred here?\n return connection;\n },\n\n received: function received(callback) {\n /// Adds a callback that will be invoked after anything is received over the connection\n /// A callback function to execute when any data is received on the connection\n /// \n var connection = this;\n\n $(connection).bind(events.onReceived, function (e, data) {\n callback.call(connection, data);\n });\n return connection;\n },\n\n stateChanged: function stateChanged(callback) {\n /// Adds a callback that will be invoked when the connection state changes\n /// A callback function to execute when the connection state changes\n /// \n var connection = this;\n\n $(connection).bind(events.onStateChanged, function (e, data) {\n callback.call(connection, data);\n });\n return connection;\n },\n\n error: function error(callback) {\n /// Adds a callback that will be invoked after an error occurs with the connection\n /// A callback function to execute when an error occurs on the connection\n /// \n var connection = this;\n\n $(connection).bind(events.onError, function (e, errorData, sendData) {\n connection.lastError = errorData;\n // In practice 'errorData' is the SignalR built error object.\n // In practice 'sendData' is undefined for all error events except those triggered by\n // 'ajaxSend' and 'webSockets.send'.'sendData' is the original send payload.\n callback.call(connection, errorData, sendData);\n });\n return connection;\n },\n\n disconnected: function disconnected(callback) {\n /// Adds a callback that will be invoked when the client disconnects\n /// A callback function to execute when the connection is broken\n /// \n var connection = this;\n\n $(connection).bind(events.onDisconnect, function (e, data) {\n callback.call(connection);\n });\n return connection;\n },\n\n connectionSlow: function connectionSlow(callback) {\n /// Adds a callback that will be invoked when the client detects a slow connection\n /// A callback function to execute when the connection is slow\n /// \n var connection = this;\n $(connection).bind(events.onConnectionSlow, function (e, data) {\n callback.call(connection);\n });\n\n return connection;\n },\n\n reconnecting: function reconnecting(callback) {\n /// Adds a callback that will be invoked when the underlying transport begins reconnecting\n /// A callback function to execute when the connection enters a reconnecting state\n /// \n var connection = this;\n $(connection).bind(events.onReconnecting, function (e, data) {\n callback.call(connection);\n });\n return connection;\n },\n\n reconnected: function reconnected(callback) {\n /// Adds a callback that will be invoked when the underlying transport reconnects\n /// A callback function to execute when the connection is restored\n /// \n var connection = this;\n $(connection).bind(events.onReconnect, function (e, data) {\n callback.call(connection);\n });\n return connection;\n },\n\n stop: function stop(async, notifyServer) {\n /// Stops listening\n /// Whether or not to asynchronously abort the connection\n /// Whether we want to notify the server that we are aborting the connection\n /// \n var connection = this,\n\n // Save deferral because this is always cleaned up\n deferral = connection._deferral;\n\n // Verify that we've bound a load event.\n if (connection._.deferredStartHandler) {\n // Unbind the event.\n _pageWindow.unbind(\"load\", connection._.deferredStartHandler);\n }\n\n // Always clean up private non-timeout based state.\n delete connection._.config;\n delete connection._.deferredStartHandler;\n\n // This needs to be checked despite the connection state because a connection start can be deferred until page load.\n // If we've deferred the start due to a page load we need to unbind the \"onLoad\" -> start event.\n if (!_pageLoaded && (!connection._.config || connection._.config.waitForPageLoad === true)) {\n connection.log(\"Stopping connection prior to negotiate.\");\n\n // If we have a deferral we should reject it\n if (deferral) {\n deferral.reject(_signalR._.error(resources.stoppedWhileLoading));\n }\n\n // Short-circuit because the start has not been fully started.\n return;\n }\n\n if (connection.state === _signalR.connectionState.disconnected) {\n return;\n }\n\n connection.log(\"Stopping connection.\");\n\n // Clear this no matter what\n window.clearTimeout(connection._.beatHandle);\n window.clearInterval(connection._.pingIntervalId);\n\n if (connection.transport) {\n connection.transport.stop(connection);\n\n if (notifyServer !== false) {\n connection.transport.abort(connection, async);\n }\n\n if (supportsKeepAlive(connection)) {\n _signalR.transports._logic.stopMonitoringKeepAlive(connection);\n }\n\n connection.transport = null;\n }\n\n if (connection._.negotiateRequest) {\n // If the negotiation request has already completed this will noop.\n connection._.negotiateRequest.abort(_negotiateAbortText);\n delete connection._.negotiateRequest;\n }\n\n // Ensure that initHandler.stop() is called before connection._deferral is deleted\n if (connection._.initHandler) {\n connection._.initHandler.stop();\n }\n\n delete connection._deferral;\n delete connection.messageId;\n delete connection.groupsToken;\n delete connection.id;\n delete connection._.pingIntervalId;\n delete connection._.lastMessageAt;\n delete connection._.lastActiveAt;\n\n // Clear out our message buffer\n connection._.connectingMessageBuffer.clear();\n\n // Trigger the disconnect event\n changeState(connection, connection.state, _signalR.connectionState.disconnected);\n $(connection).triggerHandler(events.onDisconnect);\n\n return connection;\n },\n\n log: function log(msg) {\n _log(msg, this.logging);\n }\n };\n\n _signalR.fn.init.prototype = _signalR.fn;\n\n _signalR.noConflict = function () {\n /// Reinstates the original value of $.connection and returns the signalR object for manual assignment\n /// \n if ($.connection === _signalR) {\n $.connection = _connection;\n }\n return _signalR;\n };\n\n if ($.connection) {\n _connection = $.connection;\n }\n\n $.connection = $.signalR = _signalR;\n})(window.jQuery, window);\n/* jquery.signalR.transports.common.js */\n// Copyright (c) .NET Foundation. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\n\n/*global window:false */\n/// \n\n(function ($, window, undefined) {\n\n var signalR = $.signalR,\n events = $.signalR.events,\n changeState = $.signalR.changeState,\n startAbortText = \"__Start Aborted__\",\n transportLogic;\n\n signalR.transports = {};\n\n function beat(connection) {\n if (connection._.keepAliveData.monitoring) {\n checkIfAlive(connection);\n }\n\n // Ensure that we successfully marked active before continuing the heartbeat.\n if (transportLogic.markActive(connection)) {\n connection._.beatHandle = window.setTimeout(function () {\n beat(connection);\n }, connection._.beatInterval);\n }\n }\n\n function checkIfAlive(connection) {\n var keepAliveData = connection._.keepAliveData,\n timeElapsed;\n\n // Only check if we're connected\n if (connection.state === signalR.connectionState.connected) {\n timeElapsed = new Date().getTime() - connection._.lastMessageAt;\n\n // Check if the keep alive has completely timed out\n if (timeElapsed >= keepAliveData.timeout) {\n connection.log(\"Keep alive timed out. Notifying transport that connection has been lost.\");\n\n // Notify transport that the connection has been lost\n connection.transport.lostConnection(connection);\n } else if (timeElapsed >= keepAliveData.timeoutWarning) {\n // This is to assure that the user only gets a single warning\n if (!keepAliveData.userNotified) {\n connection.log(\"Keep alive has been missed, connection may be dead/slow.\");\n $(connection).triggerHandler(events.onConnectionSlow);\n keepAliveData.userNotified = true;\n }\n } else {\n keepAliveData.userNotified = false;\n }\n }\n }\n\n function getAjaxUrl(connection, path) {\n var url = connection.url + path;\n\n if (connection.transport) {\n url += \"?transport=\" + connection.transport.name;\n }\n\n return transportLogic.prepareQueryString(connection, url);\n }\n\n function InitHandler(connection) {\n this.connection = connection;\n\n this.startRequested = false;\n this.startCompleted = false;\n this.connectionStopped = false;\n }\n\n InitHandler.prototype = {\n start: function start(transport, onSuccess, onFallback) {\n var that = this,\n connection = that.connection,\n failCalled = false;\n\n if (that.startRequested || that.connectionStopped) {\n connection.log(\"WARNING! \" + transport.name + \" transport cannot be started. Initialization ongoing or completed.\");\n return;\n }\n\n connection.log(transport.name + \" transport starting.\");\n\n transport.start(connection, function () {\n if (!failCalled) {\n that.initReceived(transport, onSuccess);\n }\n }, function (error) {\n // Don't allow the same transport to cause onFallback to be called twice\n if (!failCalled) {\n failCalled = true;\n that.transportFailed(transport, error, onFallback);\n }\n\n // Returns true if the transport should stop;\n // false if it should attempt to reconnect\n return !that.startCompleted || that.connectionStopped;\n });\n\n that.transportTimeoutHandle = window.setTimeout(function () {\n if (!failCalled) {\n failCalled = true;\n connection.log(transport.name + \" transport timed out when trying to connect.\");\n that.transportFailed(transport, undefined, onFallback);\n }\n }, connection._.totalTransportConnectTimeout);\n },\n\n stop: function stop() {\n this.connectionStopped = true;\n window.clearTimeout(this.transportTimeoutHandle);\n signalR.transports._logic.tryAbortStartRequest(this.connection);\n },\n\n initReceived: function initReceived(transport, onSuccess) {\n var that = this,\n connection = that.connection;\n\n if (that.startRequested) {\n connection.log(\"WARNING! The client received multiple init messages.\");\n return;\n }\n\n if (that.connectionStopped) {\n return;\n }\n\n that.startRequested = true;\n window.clearTimeout(that.transportTimeoutHandle);\n\n connection.log(transport.name + \" transport connected. Initiating start request.\");\n signalR.transports._logic.ajaxStart(connection, function () {\n that.startCompleted = true;\n onSuccess();\n });\n },\n\n transportFailed: function transportFailed(transport, error, onFallback) {\n var connection = this.connection,\n deferred = connection._deferral,\n wrappedError;\n\n if (this.connectionStopped) {\n return;\n }\n\n window.clearTimeout(this.transportTimeoutHandle);\n\n if (!this.startRequested) {\n transport.stop(connection);\n\n connection.log(transport.name + \" transport failed to connect. Attempting to fall back.\");\n onFallback();\n } else if (!this.startCompleted) {\n // Do not attempt to fall back if a start request is ongoing during a transport failure.\n // Instead, trigger an error and stop the connection.\n wrappedError = signalR._.error(signalR.resources.errorDuringStartRequest, error);\n\n connection.log(transport.name + \" transport failed during the start request. Stopping the connection.\");\n $(connection).triggerHandler(events.onError, [wrappedError]);\n if (deferred) {\n deferred.reject(wrappedError);\n }\n\n connection.stop();\n } else {\n // The start request has completed, but the connection has not stopped.\n // No need to do anything here. The transport should attempt its normal reconnect logic.\n }\n }\n };\n\n transportLogic = signalR.transports._logic = {\n ajax: function ajax(connection, options) {\n return $.ajax($.extend( /*deep copy*/true, {}, $.signalR.ajaxDefaults, {\n type: \"GET\",\n data: {},\n xhrFields: { withCredentials: connection.withCredentials },\n contentType: connection.contentType,\n dataType: connection.ajaxDataType\n }, options));\n },\n\n pingServer: function pingServer(connection) {\n /// Pings the server\n /// Connection associated with the server ping\n /// \n var url,\n xhr,\n deferral = $.Deferred();\n\n if (connection.transport) {\n url = connection.url + \"/ping\";\n\n url = transportLogic.addQs(url, connection.qs);\n\n xhr = transportLogic.ajax(connection, {\n url: url,\n success: function success(result) {\n var data;\n\n try {\n data = connection._parseResponse(result);\n } catch (error) {\n deferral.reject(signalR._.transportError(signalR.resources.pingServerFailedParse, connection.transport, error, xhr));\n connection.stop();\n return;\n }\n\n if (data.Response === \"pong\") {\n deferral.resolve();\n } else {\n deferral.reject(signalR._.transportError(signalR._.format(signalR.resources.pingServerFailedInvalidResponse, result), connection.transport, null /* error */\n , xhr));\n }\n },\n error: function error(_error2) {\n if (_error2.status === 401 || _error2.status === 403) {\n deferral.reject(signalR._.transportError(signalR._.format(signalR.resources.pingServerFailedStatusCode, _error2.status), connection.transport, _error2, xhr));\n connection.stop();\n } else {\n deferral.reject(signalR._.transportError(signalR.resources.pingServerFailed, connection.transport, _error2, xhr));\n }\n }\n });\n } else {\n deferral.reject(signalR._.transportError(signalR.resources.noConnectionTransport, connection.transport));\n }\n\n return deferral.promise();\n },\n\n prepareQueryString: function prepareQueryString(connection, url) {\n var preparedUrl;\n\n // Use addQs to start since it handles the ?/& prefix for us\n preparedUrl = transportLogic.addQs(url, \"clientProtocol=\" + connection.clientProtocol);\n\n // Add the user-specified query string params if any\n preparedUrl = transportLogic.addQs(preparedUrl, connection.qs);\n\n if (connection.token) {\n preparedUrl += \"&connectionToken=\" + window.encodeURIComponent(connection.token);\n }\n\n if (connection.data) {\n preparedUrl += \"&connectionData=\" + window.encodeURIComponent(connection.data);\n }\n\n return preparedUrl;\n },\n\n addQs: function addQs(url, qs) {\n var appender = url.indexOf(\"?\") !== -1 ? \"&\" : \"?\",\n firstChar;\n\n if (!qs) {\n return url;\n }\n\n if ((typeof qs === \"undefined\" ? \"undefined\" : _typeof(qs)) === \"object\") {\n return url + appender + $.param(qs);\n }\n\n if (typeof qs === \"string\") {\n firstChar = qs.charAt(0);\n\n if (firstChar === \"?\" || firstChar === \"&\") {\n appender = \"\";\n }\n\n return url + appender + qs;\n }\n\n throw new Error(\"Query string property must be either a string or object.\");\n },\n\n // BUG #2953: The url needs to be same otherwise it will cause a memory leak\n getUrl: function getUrl(connection, transport, reconnecting, poll, ajaxPost) {\n /// Gets the url for making a GET based connect request\n var baseUrl = transport === \"webSockets\" ? \"\" : connection.baseUrl,\n url = baseUrl + connection.appRelativeUrl,\n qs = \"transport=\" + transport;\n\n if (!ajaxPost && connection.groupsToken) {\n qs += \"&groupsToken=\" + window.encodeURIComponent(connection.groupsToken);\n }\n\n if (!reconnecting) {\n url += \"/connect\";\n } else {\n if (poll) {\n // longPolling transport specific\n url += \"/poll\";\n } else {\n url += \"/reconnect\";\n }\n\n if (!ajaxPost && connection.messageId) {\n qs += \"&messageId=\" + window.encodeURIComponent(connection.messageId);\n }\n }\n url += \"?\" + qs;\n url = transportLogic.prepareQueryString(connection, url);\n\n if (!ajaxPost) {\n url += \"&tid=\" + Math.floor(Math.random() * 11);\n }\n\n return url;\n },\n\n maximizePersistentResponse: function maximizePersistentResponse(minPersistentResponse) {\n return {\n MessageId: minPersistentResponse.C,\n Messages: minPersistentResponse.M,\n Initialized: typeof minPersistentResponse.S !== \"undefined\" ? true : false,\n ShouldReconnect: typeof minPersistentResponse.T !== \"undefined\" ? true : false,\n LongPollDelay: minPersistentResponse.L,\n GroupsToken: minPersistentResponse.G\n };\n },\n\n updateGroups: function updateGroups(connection, groupsToken) {\n if (groupsToken) {\n connection.groupsToken = groupsToken;\n }\n },\n\n stringifySend: function stringifySend(connection, message) {\n if (typeof message === \"string\" || typeof message === \"undefined\" || message === null) {\n return message;\n }\n return connection.json.stringify(message);\n },\n\n ajaxSend: function ajaxSend(connection, data) {\n var payload = transportLogic.stringifySend(connection, data),\n url = getAjaxUrl(connection, \"/send\"),\n xhr,\n onFail = function onFail(error, connection) {\n $(connection).triggerHandler(events.onError, [signalR._.transportError(signalR.resources.sendFailed, connection.transport, error, xhr), data]);\n };\n\n xhr = transportLogic.ajax(connection, {\n url: url,\n type: connection.ajaxDataType === \"jsonp\" ? \"GET\" : \"POST\",\n contentType: signalR._.defaultContentType,\n data: {\n data: payload\n },\n success: function success(result) {\n var res;\n\n if (result) {\n try {\n res = connection._parseResponse(result);\n } catch (error) {\n onFail(error, connection);\n connection.stop();\n return;\n }\n\n transportLogic.triggerReceived(connection, res);\n }\n },\n error: function error(_error3, textStatus) {\n if (textStatus === \"abort\" || textStatus === \"parsererror\") {\n // The parsererror happens for sends that don't return any data, and hence\n // don't write the jsonp callback to the response. This is harder to fix on the server\n // so just hack around it on the client for now.\n return;\n }\n\n onFail(_error3, connection);\n }\n });\n\n return xhr;\n },\n\n ajaxAbort: function ajaxAbort(connection, async) {\n if (typeof connection.transport === \"undefined\") {\n return;\n }\n\n // Async by default unless explicitly overidden\n async = typeof async === \"undefined\" ? true : async;\n\n var url = getAjaxUrl(connection, \"/abort\");\n\n transportLogic.ajax(connection, {\n url: url,\n async: true,\n timeout: 1000,\n type: \"POST\"\n });\n\n connection.log(\"Fired ajax abort async = \" + async + \".\");\n },\n\n ajaxStart: function ajaxStart(connection, onSuccess) {\n var rejectDeferred = function rejectDeferred(error) {\n var deferred = connection._deferral;\n if (deferred) {\n deferred.reject(error);\n }\n },\n triggerStartError = function triggerStartError(error) {\n connection.log(\"The start request failed. Stopping the connection.\");\n $(connection).triggerHandler(events.onError, [error]);\n rejectDeferred(error);\n connection.stop();\n };\n\n connection._.startRequest = transportLogic.ajax(connection, {\n url: getAjaxUrl(connection, \"/start\"),\n success: function success(result, statusText, xhr) {\n var data;\n\n try {\n data = connection._parseResponse(result);\n } catch (error) {\n triggerStartError(signalR._.error(signalR._.format(signalR.resources.errorParsingStartResponse, result), error, xhr));\n return;\n }\n\n if (data.Response === \"started\") {\n onSuccess();\n } else {\n triggerStartError(signalR._.error(signalR._.format(signalR.resources.invalidStartResponse, result), null /* error */, xhr));\n }\n },\n error: function error(xhr, statusText, _error4) {\n if (statusText !== startAbortText) {\n triggerStartError(signalR._.error(signalR.resources.errorDuringStartRequest, _error4, xhr));\n } else {\n // Stop has been called, no need to trigger the error handler\n // or stop the connection again with onStartError\n connection.log(\"The start request aborted because connection.stop() was called.\");\n rejectDeferred(signalR._.error(signalR.resources.stoppedDuringStartRequest, null /* error */, xhr));\n }\n }\n });\n },\n\n tryAbortStartRequest: function tryAbortStartRequest(connection) {\n if (connection._.startRequest) {\n // If the start request has already completed this will noop.\n connection._.startRequest.abort(startAbortText);\n delete connection._.startRequest;\n }\n },\n\n tryInitialize: function tryInitialize(connection, persistentResponse, onInitialized) {\n if (persistentResponse.Initialized && onInitialized) {\n onInitialized();\n } else if (persistentResponse.Initialized) {\n connection.log(\"WARNING! The client received an init message after reconnecting.\");\n }\n },\n\n triggerReceived: function triggerReceived(connection, data) {\n if (!connection._.connectingMessageBuffer.tryBuffer(data)) {\n $(connection).triggerHandler(events.onReceived, [data]);\n }\n },\n\n processMessages: function processMessages(connection, minData, onInitialized) {\n var data;\n\n // Update the last message time stamp\n transportLogic.markLastMessage(connection);\n\n if (minData) {\n data = transportLogic.maximizePersistentResponse(minData);\n\n transportLogic.updateGroups(connection, data.GroupsToken);\n\n if (data.MessageId) {\n connection.messageId = data.MessageId;\n }\n\n if (data.Messages) {\n $.each(data.Messages, function (index, message) {\n transportLogic.triggerReceived(connection, message);\n });\n\n transportLogic.tryInitialize(connection, data, onInitialized);\n }\n }\n },\n\n monitorKeepAlive: function monitorKeepAlive(connection) {\n var keepAliveData = connection._.keepAliveData;\n\n // If we haven't initiated the keep alive timeouts then we need to\n if (!keepAliveData.monitoring) {\n keepAliveData.monitoring = true;\n\n transportLogic.markLastMessage(connection);\n\n // Save the function so we can unbind it on stop\n connection._.keepAliveData.reconnectKeepAliveUpdate = function () {\n // Mark a new message so that keep alive doesn't time out connections\n transportLogic.markLastMessage(connection);\n };\n\n // Update Keep alive on reconnect\n $(connection).bind(events.onReconnect, connection._.keepAliveData.reconnectKeepAliveUpdate);\n\n connection.log(\"Now monitoring keep alive with a warning timeout of \" + keepAliveData.timeoutWarning + \", keep alive timeout of \" + keepAliveData.timeout + \" and disconnecting timeout of \" + connection.disconnectTimeout);\n } else {\n connection.log(\"Tried to monitor keep alive but it's already being monitored.\");\n }\n },\n\n stopMonitoringKeepAlive: function stopMonitoringKeepAlive(connection) {\n var keepAliveData = connection._.keepAliveData;\n\n // Only attempt to stop the keep alive monitoring if its being monitored\n if (keepAliveData.monitoring) {\n // Stop monitoring\n keepAliveData.monitoring = false;\n\n // Remove the updateKeepAlive function from the reconnect event\n $(connection).unbind(events.onReconnect, connection._.keepAliveData.reconnectKeepAliveUpdate);\n\n // Clear all the keep alive data\n connection._.keepAliveData = {};\n connection.log(\"Stopping the monitoring of the keep alive.\");\n }\n },\n\n startHeartbeat: function startHeartbeat(connection) {\n connection._.lastActiveAt = new Date().getTime();\n beat(connection);\n },\n\n markLastMessage: function markLastMessage(connection) {\n connection._.lastMessageAt = new Date().getTime();\n },\n\n markActive: function markActive(connection) {\n if (transportLogic.verifyLastActive(connection)) {\n connection._.lastActiveAt = new Date().getTime();\n return true;\n }\n\n return false;\n },\n\n isConnectedOrReconnecting: function isConnectedOrReconnecting(connection) {\n return connection.state === signalR.connectionState.connected || connection.state === signalR.connectionState.reconnecting;\n },\n\n ensureReconnectingState: function ensureReconnectingState(connection) {\n if (changeState(connection, signalR.connectionState.connected, signalR.connectionState.reconnecting) === true) {\n $(connection).triggerHandler(events.onReconnecting);\n }\n return connection.state === signalR.connectionState.reconnecting;\n },\n\n clearReconnectTimeout: function clearReconnectTimeout(connection) {\n if (connection && connection._.reconnectTimeout) {\n window.clearTimeout(connection._.reconnectTimeout);\n delete connection._.reconnectTimeout;\n }\n },\n\n verifyLastActive: function verifyLastActive(connection) {\n if (new Date().getTime() - connection._.lastActiveAt >= connection.reconnectWindow) {\n var message = signalR._.format(signalR.resources.reconnectWindowTimeout, new Date(connection._.lastActiveAt), connection.reconnectWindow);\n connection.log(message);\n $(connection).triggerHandler(events.onError, [signalR._.error(message, /* source */\"TimeoutException\")]);\n connection.stop( /* async */false, /* notifyServer */false);\n return false;\n }\n\n return true;\n },\n\n reconnect: function reconnect(connection, transportName) {\n var transport = signalR.transports[transportName];\n\n // We should only set a reconnectTimeout if we are currently connected\n // and a reconnectTimeout isn't already set.\n if (transportLogic.isConnectedOrReconnecting(connection) && !connection._.reconnectTimeout) {\n // Need to verify before the setTimeout occurs because an application sleep could occur during the setTimeout duration.\n if (!transportLogic.verifyLastActive(connection)) {\n return;\n }\n\n connection._.reconnectTimeout = window.setTimeout(function () {\n if (!transportLogic.verifyLastActive(connection)) {\n return;\n }\n\n transport.stop(connection);\n\n if (transportLogic.ensureReconnectingState(connection)) {\n connection.log(transportName + \" reconnecting.\");\n transport.start(connection);\n }\n }, connection.reconnectDelay);\n }\n },\n\n handleParseFailure: function handleParseFailure(connection, result, error, onFailed, context) {\n var wrappedError = signalR._.transportError(signalR._.format(signalR.resources.parseFailed, result), connection.transport, error, context);\n\n // If we're in the initialization phase trigger onFailed, otherwise stop the connection.\n if (onFailed && onFailed(wrappedError)) {\n connection.log(\"Failed to parse server response while attempting to connect.\");\n } else {\n $(connection).triggerHandler(events.onError, [wrappedError]);\n connection.stop();\n }\n },\n\n initHandler: function initHandler(connection) {\n return new InitHandler(connection);\n },\n\n foreverFrame: {\n count: 0,\n connections: {}\n }\n };\n})(window.jQuery, window);\n/* jquery.signalR.transports.webSockets.js */\n// Copyright (c) .NET Foundation. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\n\n\n/*global window:false */\n/// \n\n(function ($, window, undefined) {\n\n var signalR = $.signalR,\n events = $.signalR.events,\n changeState = $.signalR.changeState,\n transportLogic = signalR.transports._logic;\n\n signalR.transports.webSockets = {\n name: \"webSockets\",\n\n supportsKeepAlive: function supportsKeepAlive() {\n return true;\n },\n\n send: function send(connection, data) {\n var payload = transportLogic.stringifySend(connection, data);\n\n try {\n connection.socket.send(payload);\n } catch (ex) {\n $(connection).triggerHandler(events.onError, [signalR._.transportError(signalR.resources.webSocketsInvalidState, connection.transport, ex, connection.socket), data]);\n }\n },\n\n start: function start(connection, onSuccess, onFailed) {\n var url,\n opened = false,\n that = this,\n reconnecting = !onSuccess,\n $connection = $(connection);\n\n if (!window.WebSocket) {\n onFailed();\n return;\n }\n\n if (!connection.socket) {\n if (connection.webSocketServerUrl) {\n url = connection.webSocketServerUrl;\n } else {\n url = connection.wsProtocol + connection.host;\n }\n\n url += transportLogic.getUrl(connection, this.name, reconnecting);\n\n connection.log(\"Connecting to websocket endpoint '\" + url + \"'.\");\n connection.socket = new window.WebSocket(url);\n\n connection.socket.onopen = function () {\n opened = true;\n connection.log(\"Websocket opened.\");\n\n transportLogic.clearReconnectTimeout(connection);\n\n if (changeState(connection, signalR.connectionState.reconnecting, signalR.connectionState.connected) === true) {\n $connection.triggerHandler(events.onReconnect);\n }\n };\n\n connection.socket.onclose = function (event) {\n var error;\n\n // Only handle a socket close if the close is from the current socket.\n // Sometimes on disconnect the server will push down an onclose event\n // to an expired socket.\n\n if (this === connection.socket) {\n if (opened && typeof event.wasClean !== \"undefined\" && event.wasClean === false) {\n // Ideally this would use the websocket.onerror handler (rather than checking wasClean in onclose) but\n // I found in some circumstances Chrome won't call onerror. This implementation seems to work on all browsers.\n error = signalR._.transportError(signalR.resources.webSocketClosed, connection.transport, event);\n\n connection.log(\"Unclean disconnect from websocket: \" + (event.reason || \"[no reason given].\"));\n } else {\n connection.log(\"Websocket closed.\");\n }\n\n if (!onFailed || !onFailed(error)) {\n if (error) {\n $(connection).triggerHandler(events.onError, [error]);\n }\n\n that.reconnect(connection);\n }\n }\n };\n\n connection.socket.onmessage = function (event) {\n var data;\n\n try {\n data = connection._parseResponse(event.data);\n } catch (error) {\n transportLogic.handleParseFailure(connection, event.data, error, onFailed, event);\n return;\n }\n\n if (data) {\n // data.M is PersistentResponse.Messages\n if ($.isEmptyObject(data) || data.M) {\n transportLogic.processMessages(connection, data, onSuccess);\n } else {\n // For websockets we need to trigger onReceived\n // for callbacks to outgoing hub calls.\n transportLogic.triggerReceived(connection, data);\n }\n }\n };\n }\n },\n\n reconnect: function reconnect(connection) {\n transportLogic.reconnect(connection, this.name);\n },\n\n lostConnection: function lostConnection(connection) {\n this.reconnect(connection);\n },\n\n stop: function stop(connection) {\n // Don't trigger a reconnect after stopping\n transportLogic.clearReconnectTimeout(connection);\n\n if (connection.socket) {\n connection.log(\"Closing the Websocket.\");\n connection.socket.close();\n connection.socket = null;\n }\n },\n\n abort: function abort(connection, async) {\n transportLogic.ajaxAbort(connection, async);\n }\n };\n})(window.jQuery, window);\n/* jquery.signalR.transports.serverSentEvents.js */\n// Copyright (c) .NET Foundation. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\n\n\n/*global window:false */\n/// \n\n(function ($, window, undefined) {\n\n var signalR = $.signalR,\n events = $.signalR.events,\n changeState = $.signalR.changeState,\n transportLogic = signalR.transports._logic,\n clearReconnectAttemptTimeout = function clearReconnectAttemptTimeout(connection) {\n window.clearTimeout(connection._.reconnectAttemptTimeoutHandle);\n delete connection._.reconnectAttemptTimeoutHandle;\n };\n\n signalR.transports.serverSentEvents = {\n name: \"serverSentEvents\",\n\n supportsKeepAlive: function supportsKeepAlive() {\n return true;\n },\n\n timeOut: 3000,\n\n start: function start(connection, onSuccess, onFailed) {\n var that = this,\n opened = false,\n $connection = $(connection),\n reconnecting = !onSuccess,\n url;\n\n if (connection.eventSource) {\n connection.log(\"The connection already has an event source. Stopping it.\");\n connection.stop();\n }\n\n if (!window.EventSource) {\n if (onFailed) {\n connection.log(\"This browser doesn't support SSE.\");\n onFailed();\n }\n return;\n }\n\n url = transportLogic.getUrl(connection, this.name, reconnecting);\n\n try {\n connection.log(\"Attempting to connect to SSE endpoint '\" + url + \"'.\");\n connection.eventSource = new window.EventSource(url, { withCredentials: connection.withCredentials });\n } catch (e) {\n connection.log(\"EventSource failed trying to connect with error \" + e.Message + \".\");\n if (onFailed) {\n // The connection failed, call the failed callback\n onFailed();\n } else {\n $connection.triggerHandler(events.onError, [signalR._.transportError(signalR.resources.eventSourceFailedToConnect, connection.transport, e)]);\n if (reconnecting) {\n // If we were reconnecting, rather than doing initial connect, then try reconnect again\n that.reconnect(connection);\n }\n }\n return;\n }\n\n if (reconnecting) {\n connection._.reconnectAttemptTimeoutHandle = window.setTimeout(function () {\n if (opened === false) {\n // If we're reconnecting and the event source is attempting to connect,\n // don't keep retrying. This causes duplicate connections to spawn.\n if (connection.eventSource.readyState !== window.EventSource.OPEN) {\n // If we were reconnecting, rather than doing initial connect, then try reconnect again\n that.reconnect(connection);\n }\n }\n }, that.timeOut);\n }\n\n connection.eventSource.addEventListener(\"open\", function (e) {\n connection.log(\"EventSource connected.\");\n\n clearReconnectAttemptTimeout(connection);\n transportLogic.clearReconnectTimeout(connection);\n\n if (opened === false) {\n opened = true;\n\n if (changeState(connection, signalR.connectionState.reconnecting, signalR.connectionState.connected) === true) {\n $connection.triggerHandler(events.onReconnect);\n }\n }\n }, false);\n\n connection.eventSource.addEventListener(\"message\", function (e) {\n var res;\n\n // process messages\n if (e.data === \"initialized\") {\n return;\n }\n\n try {\n res = connection._parseResponse(e.data);\n } catch (error) {\n transportLogic.handleParseFailure(connection, e.data, error, onFailed, e);\n return;\n }\n\n transportLogic.processMessages(connection, res, onSuccess);\n }, false);\n\n connection.eventSource.addEventListener(\"error\", function (e) {\n var error = signalR._.transportError(signalR.resources.eventSourceError, connection.transport, e);\n\n // Only handle an error if the error is from the current Event Source.\n // Sometimes on disconnect the server will push down an error event\n // to an expired Event Source.\n if (this !== connection.eventSource) {\n return;\n }\n\n if (onFailed && onFailed(error)) {\n return;\n }\n\n connection.log(\"EventSource readyState: \" + connection.eventSource.readyState + \".\");\n\n if (e.eventPhase === window.EventSource.CLOSED) {\n // We don't use the EventSource's native reconnect function as it\n // doesn't allow us to change the URL when reconnecting. We need\n // to change the URL to not include the /connect suffix, and pass\n // the last message id we received.\n connection.log(\"EventSource reconnecting due to the server connection ending.\");\n that.reconnect(connection);\n } else {\n // connection error\n connection.log(\"EventSource error.\");\n $connection.triggerHandler(events.onError, [error]);\n }\n }, false);\n },\n\n reconnect: function reconnect(connection) {\n transportLogic.reconnect(connection, this.name);\n },\n\n lostConnection: function lostConnection(connection) {\n this.reconnect(connection);\n },\n\n send: function send(connection, data) {\n transportLogic.ajaxSend(connection, data);\n },\n\n stop: function stop(connection) {\n // Don't trigger a reconnect after stopping\n clearReconnectAttemptTimeout(connection);\n transportLogic.clearReconnectTimeout(connection);\n\n if (connection && connection.eventSource) {\n connection.log(\"EventSource calling close().\");\n connection.eventSource.close();\n connection.eventSource = null;\n delete connection.eventSource;\n }\n },\n\n abort: function abort(connection, async) {\n transportLogic.ajaxAbort(connection, async);\n }\n };\n})(window.jQuery, window);\n/* jquery.signalR.transports.foreverFrame.js */\n// Copyright (c) .NET Foundation. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\n\n\n/*global window:false */\n/// \n\n(function ($, window, undefined) {\n\n var signalR = $.signalR,\n events = $.signalR.events,\n changeState = $.signalR.changeState,\n transportLogic = signalR.transports._logic,\n createFrame = function createFrame() {\n var frame = window.document.createElement(\"iframe\");\n frame.setAttribute(\"style\", \"position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;\");\n return frame;\n },\n\n // Used to prevent infinite loading icon spins in older versions of ie\n // We build this object inside a closure so we don't pollute the rest of\n // the foreverFrame transport with unnecessary functions/utilities.\n loadPreventer = function () {\n var loadingFixIntervalId = null,\n loadingFixInterval = 1000,\n attachedTo = 0;\n\n return {\n prevent: function prevent() {\n // Prevent additional iframe removal procedures from newer browsers\n if (signalR._.ieVersion <= 8) {\n // We only ever want to set the interval one time, so on the first attachedTo\n if (attachedTo === 0) {\n // Create and destroy iframe every 3 seconds to prevent loading icon, super hacky\n loadingFixIntervalId = window.setInterval(function () {\n var tempFrame = createFrame();\n\n window.document.body.appendChild(tempFrame);\n window.document.body.removeChild(tempFrame);\n\n tempFrame = null;\n }, loadingFixInterval);\n }\n\n attachedTo++;\n }\n },\n cancel: function cancel() {\n // Only clear the interval if there's only one more object that the loadPreventer is attachedTo\n if (attachedTo === 1) {\n window.clearInterval(loadingFixIntervalId);\n }\n\n if (attachedTo > 0) {\n attachedTo--;\n }\n }\n };\n }();\n\n signalR.transports.foreverFrame = {\n name: \"foreverFrame\",\n\n supportsKeepAlive: function supportsKeepAlive() {\n return true;\n },\n\n // Added as a value here so we can create tests to verify functionality\n iframeClearThreshold: 50,\n\n start: function start(connection, onSuccess, onFailed) {\n var that = this,\n frameId = transportLogic.foreverFrame.count += 1,\n url,\n frame = createFrame(),\n frameLoadHandler = function frameLoadHandler() {\n connection.log(\"Forever frame iframe finished loading and is no longer receiving messages.\");\n if (!onFailed || !onFailed()) {\n that.reconnect(connection);\n }\n };\n\n if (window.EventSource) {\n // If the browser supports SSE, don't use Forever Frame\n if (onFailed) {\n connection.log(\"Forever Frame is not supported by SignalR on browsers with SSE support.\");\n onFailed();\n }\n return;\n }\n\n frame.setAttribute(\"data-signalr-connection-id\", connection.id);\n\n // Start preventing loading icon\n // This will only perform work if the loadPreventer is not attached to another connection.\n loadPreventer.prevent();\n\n // Build the url\n url = transportLogic.getUrl(connection, this.name);\n url += \"&frameId=\" + frameId;\n\n // add frame to the document prior to setting URL to avoid caching issues.\n window.document.documentElement.appendChild(frame);\n\n connection.log(\"Binding to iframe's load event.\");\n\n if (frame.addEventListener) {\n frame.addEventListener(\"load\", frameLoadHandler, false);\n } else if (frame.attachEvent) {\n frame.attachEvent(\"onload\", frameLoadHandler);\n }\n\n frame.src = url;\n transportLogic.foreverFrame.connections[frameId] = connection;\n\n connection.frame = frame;\n connection.frameId = frameId;\n\n if (onSuccess) {\n connection.onSuccess = function () {\n connection.log(\"Iframe transport started.\");\n onSuccess();\n };\n }\n },\n\n reconnect: function reconnect(connection) {\n var that = this;\n\n // Need to verify connection state and verify before the setTimeout occurs because an application sleep could occur during the setTimeout duration.\n if (transportLogic.isConnectedOrReconnecting(connection) && transportLogic.verifyLastActive(connection)) {\n window.setTimeout(function () {\n // Verify that we're ok to reconnect.\n if (!transportLogic.verifyLastActive(connection)) {\n return;\n }\n\n if (connection.frame && transportLogic.ensureReconnectingState(connection)) {\n var frame = connection.frame,\n src = transportLogic.getUrl(connection, that.name, true) + \"&frameId=\" + connection.frameId;\n connection.log(\"Updating iframe src to '\" + src + \"'.\");\n frame.src = src;\n }\n }, connection.reconnectDelay);\n }\n },\n\n lostConnection: function lostConnection(connection) {\n this.reconnect(connection);\n },\n\n send: function send(connection, data) {\n transportLogic.ajaxSend(connection, data);\n },\n\n receive: function receive(connection, data) {\n var cw, body, response;\n\n if (connection.json !== connection._originalJson) {\n // If there's a custom JSON parser configured then serialize the object\n // using the original (browser) JSON parser and then deserialize it using\n // the custom parser (connection._parseResponse does that). This is so we\n // can easily send the response from the server as \"raw\" JSON but still\n // support custom JSON deserialization in the browser.\n data = connection._originalJson.stringify(data);\n }\n\n response = connection._parseResponse(data);\n\n transportLogic.processMessages(connection, response, connection.onSuccess);\n\n // Protect against connection stopping from a callback trigger within the processMessages above.\n if (connection.state === $.signalR.connectionState.connected) {\n // Delete the script & div elements\n connection.frameMessageCount = (connection.frameMessageCount || 0) + 1;\n if (connection.frameMessageCount > signalR.transports.foreverFrame.iframeClearThreshold) {\n connection.frameMessageCount = 0;\n cw = connection.frame.contentWindow || connection.frame.contentDocument;\n if (cw && cw.document && cw.document.body) {\n body = cw.document.body;\n\n // Remove all the child elements from the iframe's body to conserver memory\n while (body.firstChild) {\n body.removeChild(body.firstChild);\n }\n }\n }\n }\n },\n\n stop: function stop(connection) {\n var cw = null;\n\n // Stop attempting to prevent loading icon\n loadPreventer.cancel();\n\n if (connection.frame) {\n if (connection.frame.stop) {\n connection.frame.stop();\n } else {\n try {\n cw = connection.frame.contentWindow || connection.frame.contentDocument;\n if (cw.document && cw.document.execCommand) {\n cw.document.execCommand(\"Stop\");\n }\n } catch (e) {\n connection.log(\"Error occurred when stopping foreverFrame transport. Message = \" + e.message + \".\");\n }\n }\n\n // Ensure the iframe is where we left it\n if (connection.frame.parentNode === window.document.body) {\n window.document.body.removeChild(connection.frame);\n }\n\n delete transportLogic.foreverFrame.connections[connection.frameId];\n connection.frame = null;\n connection.frameId = null;\n delete connection.frame;\n delete connection.frameId;\n delete connection.onSuccess;\n delete connection.frameMessageCount;\n connection.log(\"Stopping forever frame.\");\n }\n },\n\n abort: function abort(connection, async) {\n transportLogic.ajaxAbort(connection, async);\n },\n\n getConnection: function getConnection(id) {\n return transportLogic.foreverFrame.connections[id];\n },\n\n started: function started(connection) {\n if (changeState(connection, signalR.connectionState.reconnecting, signalR.connectionState.connected) === true) {\n\n $(connection).triggerHandler(events.onReconnect);\n }\n }\n };\n})(window.jQuery, window);\n/* jquery.signalR.transports.longPolling.js */\n// Copyright (c) .NET Foundation. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\n\n\n/*global window:false */\n/// \n\n(function ($, window, undefined) {\n\n var signalR = $.signalR,\n events = $.signalR.events,\n changeState = $.signalR.changeState,\n isDisconnecting = $.signalR.isDisconnecting,\n transportLogic = signalR.transports._logic;\n\n signalR.transports.longPolling = {\n name: \"longPolling\",\n\n supportsKeepAlive: function supportsKeepAlive() {\n return false;\n },\n\n reconnectDelay: 3000,\n\n start: function start(connection, onSuccess, onFailed) {\n /// Starts the long polling connection\n /// The SignalR connection to start\n var that = this,\n _fireConnect = function fireConnect() {\n _fireConnect = $.noop;\n\n connection.log(\"LongPolling connected.\");\n\n if (onSuccess) {\n onSuccess();\n } else {\n connection.log(\"WARNING! The client received an init message after reconnecting.\");\n }\n },\n tryFailConnect = function tryFailConnect(error) {\n if (onFailed(error)) {\n connection.log(\"LongPolling failed to connect.\");\n return true;\n }\n\n return false;\n },\n privateData = connection._,\n reconnectErrors = 0,\n fireReconnected = function fireReconnected(instance) {\n window.clearTimeout(privateData.reconnectTimeoutId);\n privateData.reconnectTimeoutId = null;\n\n if (changeState(instance, signalR.connectionState.reconnecting, signalR.connectionState.connected) === true) {\n // Successfully reconnected!\n instance.log(\"Raising the reconnect event\");\n $(instance).triggerHandler(events.onReconnect);\n }\n },\n\n // 1 hour\n maxFireReconnectedTimeout = 3600000;\n\n if (connection.pollXhr) {\n connection.log(\"Polling xhr requests already exists, aborting.\");\n connection.stop();\n }\n\n connection.messageId = null;\n\n privateData.reconnectTimeoutId = null;\n\n privateData.pollTimeoutId = window.setTimeout(function () {\n (function poll(instance, raiseReconnect) {\n var messageId = instance.messageId,\n connect = messageId === null,\n reconnecting = !connect,\n polling = !raiseReconnect,\n url = transportLogic.getUrl(instance, that.name, reconnecting, polling, true /* use Post for longPolling */),\n postData = {};\n\n if (instance.messageId) {\n postData.messageId = instance.messageId;\n }\n\n if (instance.groupsToken) {\n postData.groupsToken = instance.groupsToken;\n }\n\n // If we've disconnected during the time we've tried to re-instantiate the poll then stop.\n if (isDisconnecting(instance) === true) {\n return;\n }\n\n connection.log(\"Opening long polling request to '\" + url + \"'.\");\n instance.pollXhr = transportLogic.ajax(connection, {\n xhrFields: {\n onprogress: function onprogress() {\n transportLogic.markLastMessage(connection);\n }\n },\n url: url,\n type: \"POST\",\n contentType: signalR._.defaultContentType,\n data: postData,\n timeout: connection._.pollTimeout,\n success: function success(result) {\n var minData,\n delay = 0,\n data,\n shouldReconnect;\n\n connection.log(\"Long poll complete.\");\n\n // Reset our reconnect errors so if we transition into a reconnecting state again we trigger\n // reconnected quickly\n reconnectErrors = 0;\n\n try {\n // Remove any keep-alives from the beginning of the result\n minData = connection._parseResponse(result);\n } catch (error) {\n transportLogic.handleParseFailure(instance, result, error, tryFailConnect, instance.pollXhr);\n return;\n }\n\n // If there's currently a timeout to trigger reconnect, fire it now before processing messages\n if (privateData.reconnectTimeoutId !== null) {\n fireReconnected(instance);\n }\n\n if (minData) {\n data = transportLogic.maximizePersistentResponse(minData);\n }\n\n transportLogic.processMessages(instance, minData, _fireConnect);\n\n if (data && $.type(data.LongPollDelay) === \"number\") {\n delay = data.LongPollDelay;\n }\n\n if (isDisconnecting(instance) === true) {\n return;\n }\n\n shouldReconnect = data && data.ShouldReconnect;\n if (shouldReconnect) {\n // Transition into the reconnecting state\n // If this fails then that means that the user transitioned the connection into a invalid state in processMessages.\n if (!transportLogic.ensureReconnectingState(instance)) {\n return;\n }\n }\n\n // We never want to pass a raiseReconnect flag after a successful poll. This is handled via the error function\n if (delay > 0) {\n privateData.pollTimeoutId = window.setTimeout(function () {\n poll(instance, shouldReconnect);\n }, delay);\n } else {\n poll(instance, shouldReconnect);\n }\n },\n\n error: function error(data, textStatus) {\n var error = signalR._.transportError(signalR.resources.longPollFailed, connection.transport, data, instance.pollXhr);\n\n // Stop trying to trigger reconnect, connection is in an error state\n // If we're not in the reconnect state this will noop\n window.clearTimeout(privateData.reconnectTimeoutId);\n privateData.reconnectTimeoutId = null;\n\n if (textStatus === \"abort\") {\n connection.log(\"Aborted xhr request.\");\n return;\n }\n\n if (!tryFailConnect(error)) {\n\n // Increment our reconnect errors, we assume all errors to be reconnect errors\n // In the case that it's our first error this will cause Reconnect to be fired\n // after 1 second due to reconnectErrors being = 1.\n reconnectErrors++;\n\n if (connection.state !== signalR.connectionState.reconnecting) {\n connection.log(\"An error occurred using longPolling. Status = \" + textStatus + \". Response = \" + data.responseText + \".\");\n $(instance).triggerHandler(events.onError, [error]);\n }\n\n // We check the state here to verify that we're not in an invalid state prior to verifying Reconnect.\n // If we're not in connected or reconnecting then the next ensureReconnectingState check will fail and will return.\n // Therefore we don't want to change that failure code path.\n if ((connection.state === signalR.connectionState.connected || connection.state === signalR.connectionState.reconnecting) && !transportLogic.verifyLastActive(connection)) {\n return;\n }\n\n // Transition into the reconnecting state\n // If this fails then that means that the user transitioned the connection into the disconnected or connecting state within the above error handler trigger.\n if (!transportLogic.ensureReconnectingState(instance)) {\n return;\n }\n\n // Call poll with the raiseReconnect flag as true after the reconnect delay\n privateData.pollTimeoutId = window.setTimeout(function () {\n poll(instance, true);\n }, that.reconnectDelay);\n }\n }\n });\n\n // This will only ever pass after an error has occurred via the poll ajax procedure.\n if (reconnecting && raiseReconnect === true) {\n // We wait to reconnect depending on how many times we've failed to reconnect.\n // This is essentially a heuristic that will exponentially increase in wait time before\n // triggering reconnected. This depends on the \"error\" handler of Poll to cancel this\n // timeout if it triggers before the Reconnected event fires.\n // The Math.min at the end is to ensure that the reconnect timeout does not overflow.\n privateData.reconnectTimeoutId = window.setTimeout(function () {\n fireReconnected(instance);\n }, Math.min(1000 * (Math.pow(2, reconnectErrors) - 1), maxFireReconnectedTimeout));\n }\n })(connection);\n }, 250); // Have to delay initial poll so Chrome doesn't show loader spinner in tab\n },\n\n lostConnection: function lostConnection(connection) {\n if (connection.pollXhr) {\n connection.pollXhr.abort(\"lostConnection\");\n }\n },\n\n send: function send(connection, data) {\n transportLogic.ajaxSend(connection, data);\n },\n\n stop: function stop(connection) {\n /// Stops the long polling connection\n /// The SignalR connection to stop\n\n window.clearTimeout(connection._.pollTimeoutId);\n window.clearTimeout(connection._.reconnectTimeoutId);\n\n delete connection._.pollTimeoutId;\n delete connection._.reconnectTimeoutId;\n\n if (connection.pollXhr) {\n connection.pollXhr.abort();\n connection.pollXhr = null;\n delete connection.pollXhr;\n }\n },\n\n abort: function abort(connection, async) {\n transportLogic.ajaxAbort(connection, async);\n }\n };\n})(window.jQuery, window);\n/* jquery.signalR.hubs.js */\n// Copyright (c) .NET Foundation. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\n\n/*global window:false */\n/// \n\n(function ($, window, undefined) {\n\n var eventNamespace = \".hubProxy\",\n signalR = $.signalR;\n\n function makeEventName(event) {\n return event + eventNamespace;\n }\n\n // Equivalent to Array.prototype.map\n function map(arr, fun, thisp) {\n var i,\n length = arr.length,\n result = [];\n for (i = 0; i < length; i += 1) {\n if (arr.hasOwnProperty(i)) {\n result[i] = fun.call(thisp, arr[i], i, arr);\n }\n }\n return result;\n }\n\n function getArgValue(a) {\n return $.isFunction(a) ? null : $.type(a) === \"undefined\" ? null : a;\n }\n\n function hasMembers(obj) {\n for (var key in obj) {\n // If we have any properties in our callback map then we have callbacks and can exit the loop via return\n if (obj.hasOwnProperty(key)) {\n return true;\n }\n }\n\n return false;\n }\n\n function clearInvocationCallbacks(connection, error) {\n /// \n var callbacks = connection._.invocationCallbacks,\n callback;\n\n if (hasMembers(callbacks)) {\n connection.log(\"Clearing hub invocation callbacks with error: \" + error + \".\");\n }\n\n // Reset the callback cache now as we have a local var referencing it\n connection._.invocationCallbackId = 0;\n delete connection._.invocationCallbacks;\n connection._.invocationCallbacks = {};\n\n // Loop over the callbacks and invoke them.\n // We do this using a local var reference and *after* we've cleared the cache\n // so that if a fail callback itself tries to invoke another method we don't\n // end up with its callback in the list we're looping over.\n for (var callbackId in callbacks) {\n callback = callbacks[callbackId];\n callback.method.call(callback.scope, { E: error });\n }\n }\n\n // hubProxy\n function hubProxy(hubConnection, hubName) {\n /// \n /// Creates a new proxy object for the given hub connection that can be used to invoke\n /// methods on server hubs and handle client method invocation requests from the server.\n /// \n return new hubProxy.fn.init(hubConnection, hubName);\n }\n\n hubProxy.fn = hubProxy.prototype = {\n init: function init(connection, hubName) {\n this.state = {};\n this.connection = connection;\n this.hubName = hubName;\n this._ = {\n callbackMap: {}\n };\n },\n\n constructor: hubProxy,\n\n hasSubscriptions: function hasSubscriptions() {\n return hasMembers(this._.callbackMap);\n },\n\n on: function on(eventName, callback) {\n /// Wires up a callback to be invoked when a invocation request is received from the server hub.\n /// The name of the hub event to register the callback for.\n /// The callback to be invoked.\n var that = this,\n callbackMap = that._.callbackMap;\n\n // Normalize the event name to lowercase\n eventName = eventName.toLowerCase();\n\n // If there is not an event registered for this callback yet we want to create its event space in the callback map.\n if (!callbackMap[eventName]) {\n callbackMap[eventName] = {};\n }\n\n // Map the callback to our encompassed function\n callbackMap[eventName][callback] = function (e, data) {\n callback.apply(that, data);\n };\n\n $(that).bind(makeEventName(eventName), callbackMap[eventName][callback]);\n\n return that;\n },\n\n off: function off(eventName, callback) {\n /// Removes the callback invocation request from the server hub for the given event name.\n /// The name of the hub event to unregister the callback for.\n /// The callback to be invoked.\n var that = this,\n callbackMap = that._.callbackMap,\n callbackSpace;\n\n // Normalize the event name to lowercase\n eventName = eventName.toLowerCase();\n\n callbackSpace = callbackMap[eventName];\n\n // Verify that there is an event space to unbind\n if (callbackSpace) {\n // Only unbind if there's an event bound with eventName and a callback with the specified callback\n if (callbackSpace[callback]) {\n $(that).unbind(makeEventName(eventName), callbackSpace[callback]);\n\n // Remove the callback from the callback map\n delete callbackSpace[callback];\n\n // Check if there are any members left on the event, if not we need to destroy it.\n if (!hasMembers(callbackSpace)) {\n delete callbackMap[eventName];\n }\n } else if (!callback) {\n // Check if we're removing the whole event and we didn't error because of an invalid callback\n $(that).unbind(makeEventName(eventName));\n\n delete callbackMap[eventName];\n }\n }\n\n return that;\n },\n\n invoke: function invoke(methodName) {\n /// Invokes a server hub method with the given arguments.\n /// The name of the server hub method.\n\n var that = this,\n connection = that.connection,\n args = $.makeArray(arguments).slice(1),\n argValues = map(args, getArgValue),\n data = { H: that.hubName, M: methodName, A: argValues, I: connection._.invocationCallbackId },\n d = $.Deferred(),\n callback = function callback(minResult) {\n var result = that._maximizeHubResponse(minResult),\n source,\n error;\n\n // Update the hub state\n $.extend(that.state, result.State);\n\n if (result.Progress) {\n if (d.notifyWith) {\n // Progress is only supported in jQuery 1.7+\n d.notifyWith(that, [result.Progress.Data]);\n } else if (!connection._.progressjQueryVersionLogged) {\n connection.log(\"A hub method invocation progress update was received but the version of jQuery in use (\" + $.prototype.jquery + \") does not support progress updates. Upgrade to jQuery 1.7+ to receive progress notifications.\");\n connection._.progressjQueryVersionLogged = true;\n }\n } else if (result.Error) {\n // Server hub method threw an exception, log it & reject the deferred\n if (result.StackTrace) {\n connection.log(result.Error + \"\\n\" + result.StackTrace + \".\");\n }\n\n // result.ErrorData is only set if a HubException was thrown\n source = result.IsHubException ? \"HubException\" : \"Exception\";\n error = signalR._.error(result.Error, source);\n error.data = result.ErrorData;\n\n connection.log(that.hubName + \".\" + methodName + \" failed to execute. Error: \" + error.message);\n d.rejectWith(that, [error]);\n } else {\n // Server invocation succeeded, resolve the deferred\n connection.log(\"Invoked \" + that.hubName + \".\" + methodName);\n d.resolveWith(that, [result.Result]);\n }\n };\n\n connection._.invocationCallbacks[connection._.invocationCallbackId.toString()] = {\n scope: that,\n method: callback\n };\n connection._.invocationCallbackId += 1;\n\n if (!$.isEmptyObject(that.state)) {\n data.S = that.state;\n }\n\n connection.log(\"Invoking \" + that.hubName + \".\" + methodName);\n connection.send(data);\n\n return d.promise();\n },\n\n _maximizeHubResponse: function _maximizeHubResponse(minHubResponse) {\n return {\n State: minHubResponse.S,\n Result: minHubResponse.R,\n Progress: minHubResponse.P ? {\n Id: minHubResponse.P.I,\n Data: minHubResponse.P.D\n } : null,\n Id: minHubResponse.I,\n IsHubException: minHubResponse.H,\n Error: minHubResponse.E,\n StackTrace: minHubResponse.T,\n ErrorData: minHubResponse.D\n };\n }\n };\n\n hubProxy.fn.init.prototype = hubProxy.fn;\n\n // hubConnection\n function hubConnection(url, options) {\n /// Creates a new hub connection.\n /// [Optional] The hub route url, defaults to \"/signalr\".\n /// [Optional] Settings to use when creating the hubConnection.\n var settings = {\n qs: null,\n logging: false,\n useDefaultPath: true\n };\n\n $.extend(settings, options);\n\n if (!url || settings.useDefaultPath) {\n url = (url || \"\") + \"/signalr\";\n }\n return new hubConnection.fn.init(url, settings);\n }\n\n hubConnection.fn = hubConnection.prototype = $.connection();\n\n hubConnection.fn.init = function (url, options) {\n var settings = {\n qs: null,\n logging: false,\n useDefaultPath: true\n },\n connection = this;\n\n $.extend(settings, options);\n\n // Call the base constructor\n $.signalR.fn.init.call(connection, url, settings.qs, settings.logging);\n\n // Object to store hub proxies for this connection\n connection.proxies = {};\n\n connection._.invocationCallbackId = 0;\n connection._.invocationCallbacks = {};\n\n // Wire up the received handler\n connection.received(function (minData) {\n var data, proxy, dataCallbackId, callback, hubName, eventName;\n if (!minData) {\n return;\n }\n\n // We have to handle progress updates first in order to ensure old clients that receive\n // progress updates enter the return value branch and then no-op when they can't find\n // the callback in the map (because the minData.I value will not be a valid callback ID)\n if (typeof minData.P !== \"undefined\") {\n // Process progress notification\n dataCallbackId = minData.P.I.toString();\n callback = connection._.invocationCallbacks[dataCallbackId];\n if (callback) {\n callback.method.call(callback.scope, minData);\n }\n } else if (typeof minData.I !== \"undefined\") {\n // We received the return value from a server method invocation, look up callback by id and call it\n dataCallbackId = minData.I.toString();\n callback = connection._.invocationCallbacks[dataCallbackId];\n if (callback) {\n // Delete the callback from the proxy\n connection._.invocationCallbacks[dataCallbackId] = null;\n delete connection._.invocationCallbacks[dataCallbackId];\n\n // Invoke the callback\n callback.method.call(callback.scope, minData);\n }\n } else {\n data = this._maximizeClientHubInvocation(minData);\n\n // We received a client invocation request, i.e. broadcast from server hub\n connection.log(\"Triggering client hub event '\" + data.Method + \"' on hub '\" + data.Hub + \"'.\");\n\n // Normalize the names to lowercase\n hubName = data.Hub.toLowerCase();\n eventName = data.Method.toLowerCase();\n\n // Trigger the local invocation event\n proxy = this.proxies[hubName];\n\n // Update the hub state\n $.extend(proxy.state, data.State);\n $(proxy).triggerHandler(makeEventName(eventName), [data.Args]);\n }\n });\n\n connection.error(function (errData, origData) {\n var callbackId, callback;\n\n if (!origData) {\n // No original data passed so this is not a send error\n return;\n }\n\n callbackId = origData.I;\n callback = connection._.invocationCallbacks[callbackId];\n\n // Verify that there is a callback bound (could have been cleared)\n if (callback) {\n // Delete the callback\n connection._.invocationCallbacks[callbackId] = null;\n delete connection._.invocationCallbacks[callbackId];\n\n // Invoke the callback with an error to reject the promise\n callback.method.call(callback.scope, { E: errData });\n }\n });\n\n connection.reconnecting(function () {\n if (connection.transport && connection.transport.name === \"webSockets\") {\n clearInvocationCallbacks(connection, \"Connection started reconnecting before invocation result was received.\");\n }\n });\n\n connection.disconnected(function () {\n clearInvocationCallbacks(connection, \"Connection was disconnected before invocation result was received.\");\n });\n };\n\n hubConnection.fn._maximizeClientHubInvocation = function (minClientHubInvocation) {\n return {\n Hub: minClientHubInvocation.H,\n Method: minClientHubInvocation.M,\n Args: minClientHubInvocation.A,\n State: minClientHubInvocation.S\n };\n };\n\n hubConnection.fn._registerSubscribedHubs = function () {\n /// \n /// Sets the starting event to loop through the known hubs and register any new hubs\n /// that have been added to the proxy.\n /// \n var connection = this;\n\n if (!connection._subscribedToHubs) {\n connection._subscribedToHubs = true;\n connection.starting(function () {\n // Set the connection's data object with all the hub proxies with active subscriptions.\n // These proxies will receive notifications from the server.\n var subscribedHubs = [];\n\n $.each(connection.proxies, function (key) {\n if (this.hasSubscriptions()) {\n subscribedHubs.push({ name: key });\n connection.log(\"Client subscribed to hub '\" + key + \"'.\");\n }\n });\n\n if (subscribedHubs.length === 0) {\n connection.log(\"No hubs have been subscribed to. The client will not receive data from hubs. To fix, declare at least one client side function prior to connection start for each hub you wish to subscribe to.\");\n }\n\n connection.data = connection.json.stringify(subscribedHubs);\n });\n }\n };\n\n hubConnection.fn.createHubProxy = function (hubName) {\n /// \n /// Creates a new proxy object for the given hub connection that can be used to invoke\n /// methods on server hubs and handle client method invocation requests from the server.\n /// \n /// \n /// The name of the hub on the server to create the proxy for.\n /// \n\n // Normalize the name to lowercase\n hubName = hubName.toLowerCase();\n\n var proxy = this.proxies[hubName];\n if (!proxy) {\n proxy = hubProxy(this, hubName);\n this.proxies[hubName] = proxy;\n }\n\n this._registerSubscribedHubs();\n\n return proxy;\n };\n\n hubConnection.fn.init.prototype = hubConnection.fn;\n\n $.hubConnection = hubConnection;\n})(window.jQuery, window);\n/* jquery.signalR.version.js */\n// Copyright (c) .NET Foundation. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\n\n\n/*global window:false */\n/// \n(function ($, undefined) {\n $.signalR.version = \"2.2.1\";\n})(window.jQuery);\n\nexports.hubConnection = window.jQuery.hubConnection;\nexports.signalR = window.jQuery.signalR;\n\n/***/ }),\n/* 847 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _promise = __webpack_require__(848);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction fetchPolyfill(self) {\n 'use strict';\n\n if (self.fetch) {\n return;\n }\n\n if (!self.Promise) {\n (0, _promise2.default)(self);\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && function () {\n try {\n new Blob();\n return true;\n } catch (e) {\n return false;\n }\n }(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n if (support.arrayBuffer) {\n var viewClasses = ['[object Int8Array]', '[object Uint8Array]', '[object Uint8ClampedArray]', '[object Int16Array]', '[object Uint16Array]', '[object Int32Array]', '[object Uint32Array]', '[object Float32Array]', '[object Float64Array]'];\n\n var isDataView = function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj);\n };\n\n var isArrayBufferView = ArrayBuffer.isView || function (obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1;\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name');\n }\n return name.toLowerCase();\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value;\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function next() {\n var value = items.shift();\n return { done: value === undefined, value: value };\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function () {\n return iterator;\n };\n }\n\n return iterator;\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function (value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function (header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function (name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function (name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ',' + value : value;\n };\n\n Headers.prototype['delete'] = function (name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function (name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null;\n };\n\n Headers.prototype.has = function (name) {\n return this.map.hasOwnProperty(normalizeName(name));\n };\n\n Headers.prototype.set = function (name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function (callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function () {\n var items = [];\n this.forEach(function (value, name) {\n items.push(name);\n });\n return iteratorFor(items);\n };\n\n Headers.prototype.values = function () {\n var items = [];\n this.forEach(function (value) {\n items.push(value);\n });\n return iteratorFor(items);\n };\n\n Headers.prototype.entries = function () {\n var items = [];\n this.forEach(function (value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items);\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'));\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result);\n };\n reader.onerror = function () {\n reject(reader.error);\n };\n });\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise;\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise;\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('');\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0);\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer;\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function (body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n throw new Error('unsupported BodyInit type');\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function () {\n var rejected = consumed(this);\n if (rejected) {\n return rejected;\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob);\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]));\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob');\n } else {\n return Promise.resolve(new Blob([this._bodyText]));\n }\n };\n\n this.arrayBuffer = function () {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer);\n } else {\n return this.blob().then(readBlobAsArrayBuffer);\n }\n };\n }\n\n this.text = function () {\n var rejected = consumed(this);\n if (rejected) {\n return rejected;\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob);\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer));\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text');\n } else {\n return Promise.resolve(this._bodyText);\n }\n };\n\n if (support.formData) {\n this.formData = function () {\n return this.text().then(decode);\n };\n }\n\n this.json = function () {\n return this.text().then(JSON.parse);\n };\n\n return this;\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method;\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read');\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'omit';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests');\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function () {\n return new Request(this, { body: this._bodyInit });\n };\n\n function decode(body) {\n var form = new FormData();\n body.trim().split('&').forEach(function (bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form;\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function (line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers;\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = 'status' in options ? options.status : 200;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function () {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n });\n };\n\n Response.error = function () {\n var response = new Response(null, { status: 0, statusText: '' });\n response.type = 'error';\n return response;\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function (url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code');\n }\n\n return new Response(null, { status: status, headers: { location: url } });\n };\n\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n\n self.fetch = function (input, init) {\n return new Promise(function (resolve, reject) {\n var request = new Request(input, init);\n var xhr = new XMLHttpRequest();\n\n xhr.onload = function () {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function () {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function () {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function (value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n });\n };\n self.fetch.polyfill = true;\n}\n\nexports.default = fetchPolyfill;\n\n/***/ }),\n/* 848 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(setImmediate) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction promisePolyfill(root) {\n\n // Store setTimeout reference so promise-polyfill will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var setTimeoutFunc = setTimeout;\n\n function noop() {}\n\n // Polyfill for Function.prototype.bind\n function bind(fn, thisArg) {\n return function () {\n fn.apply(thisArg, arguments);\n };\n }\n\n function Promise(fn) {\n if (_typeof(this) !== 'object') throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n this._state = 0;\n this._handled = false;\n this._value = undefined;\n this._deferreds = [];\n\n doResolve(fn, this);\n }\n\n function handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function () {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n }\n\n function resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.');\n if (newValue && ((typeof newValue === 'undefined' ? 'undefined' : _typeof(newValue)) === 'object' || typeof newValue === 'function')) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n }\n\n function reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n }\n\n function finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function () {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n }\n\n function Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n }\n\n /**\r\n * Take a potentially misbehaving resolver function and make sure\r\n * onFulfilled and onRejected are only called once.\r\n *\r\n * Makes no guarantees about asynchrony.\r\n */\n function doResolve(fn, self) {\n var done = false;\n try {\n fn(function (value) {\n if (done) return;\n done = true;\n resolve(self, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n });\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n }\n\n Promise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n };\n\n Promise.prototype.then = function (onFulfilled, onRejected) {\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n };\n\n Promise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && ((typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(val, function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n };\n\n Promise.resolve = function (value) {\n if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function (resolve) {\n resolve(value);\n });\n };\n\n Promise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n };\n\n Promise.race = function (values) {\n return new Promise(function (resolve, reject) {\n for (var i = 0, len = values.length; i < len; i++) {\n values[i].then(resolve, reject);\n }\n });\n };\n\n // Use polyfill for setImmediate for performance gains\n Promise._immediateFn = typeof setImmediate === 'function' && function (fn) {\n setImmediate(fn);\n } || function (fn) {\n setTimeoutFunc(fn, 0);\n };\n\n Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n };\n\n /**\r\n * Set the immediate function to execute callbacks\r\n * @param fn {function} Function to execute\r\n * @deprecated\r\n */\n Promise._setImmediateFn = function _setImmediateFn(fn) {\n Promise._immediateFn = fn;\n };\n\n /**\r\n * Change the function to execute on unhandled rejection\r\n * @param {function} fn Function to execute on unhandled rejection\r\n * @deprecated\r\n */\n Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) {\n Promise._unhandledRejectionFn = fn;\n };\n\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = Promise;\n } else if (!root.Promise) {\n root.Promise = Promise;\n }\n}\n\nexports.default = promisePolyfill;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(849).setImmediate))\n\n/***/ }),\n/* 849 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nvar scope = typeof global !== \"undefined\" && global || typeof self !== \"undefined\" && self || window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function () {};\nTimeout.prototype.close = function () {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout) item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\n__webpack_require__(850);\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = typeof self !== \"undefined\" && self.setImmediate || typeof global !== \"undefined\" && global.setImmediate || undefined && undefined.setImmediate;\nexports.clearImmediate = typeof self !== \"undefined\" && self.clearImmediate || typeof global !== \"undefined\" && global.clearImmediate || undefined && undefined.clearImmediate;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(42)))\n\n/***/ }),\n/* 850 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global, process) {\n\n(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === \"string\" && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function registerImmediate(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function registerImmediate(handle) {\n // Create a \n
\n Snippet: \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
DirectiveHowSourceRendered
ng-bind-htmlAutomatically uses $sanitize
<div ng-bind-html=\"snippet\">
</div>
ng-bind-htmlBypass $sanitize by explicitly trusting the dangerous value\n
<div ng-bind-html=\"deliberatelyTrustDangerousSnippet()\">\n</div>
\n
ng-bindAutomatically escapes
<div ng-bind=\"snippet\">
</div>
\n
\n \n \n it('should sanitize the html snippet by default', function() {\n expect(element(by.css('#bind-html-with-sanitize div')).getAttribute('innerHTML')).\n toBe('

an html\\nclick here\\nsnippet

');\n });\n\n it('should inline raw snippet if bound to a trusted value', function() {\n expect(element(by.css('#bind-html-with-trust div')).getAttribute('innerHTML')).\n toBe(\"

an html\\n\" +\n \"click here\\n\" +\n \"snippet

\");\n });\n\n it('should escape snippet without any filter', function() {\n expect(element(by.css('#bind-default div')).getAttribute('innerHTML')).\n toBe(\"<p style=\\\"color:blue\\\">an html\\n\" +\n \"<em onmouseover=\\\"this.textContent='PWN3D!'\\\">click here</em>\\n\" +\n \"snippet</p>\");\n });\n\n it('should update', function() {\n element(by.model('snippet')).clear();\n element(by.model('snippet')).sendKeys('new text');\n expect(element(by.css('#bind-html-with-sanitize div')).getAttribute('innerHTML')).\n toBe('new text');\n expect(element(by.css('#bind-html-with-trust div')).getAttribute('innerHTML')).toBe(\n 'new text');\n expect(element(by.css('#bind-default div')).getAttribute('innerHTML')).toBe(\n \"new <b onclick=\\\"alert(1)\\\">text</b>\");\n });\n
\n \n */\n\n\n/**\n * @ngdoc provider\n * @name $sanitizeProvider\n * @this\n *\n * @description\n * Creates and configures {@link $sanitize} instance.\n */\nfunction $SanitizeProvider() {\n var svgEnabled = false;\n\n this.$get = ['$$sanitizeUri', function($$sanitizeUri) {\n if (svgEnabled) {\n extend(validElements, svgElements);\n }\n return function(html) {\n var buf = [];\n htmlParser(html, htmlSanitizeWriter(buf, function(uri, isImage) {\n return !/^unsafe:/.test($$sanitizeUri(uri, isImage));\n }));\n return buf.join('');\n };\n }];\n\n\n /**\n * @ngdoc method\n * @name $sanitizeProvider#enableSvg\n * @kind function\n *\n * @description\n * Enables a subset of svg to be supported by the sanitizer.\n *\n *
\n *

By enabling this setting without taking other precautions, you might expose your\n * application to click-hijacking attacks. In these attacks, sanitized svg elements could be positioned\n * outside of the containing element and be rendered over other elements on the page (e.g. a login\n * link). Such behavior can then result in phishing incidents.

\n *\n *

To protect against these, explicitly setup `overflow: hidden` css rule for all potential svg\n * tags within the sanitized content:

\n *\n *
\n *\n *
\n   *   .rootOfTheIncludedContent svg {\n   *     overflow: hidden !important;\n   *   }\n   *   
\n *
\n *\n * @param {boolean=} flag Enable or disable SVG support in the sanitizer.\n * @returns {boolean|ng.$sanitizeProvider} Returns the currently configured value if called\n * without an argument or self for chaining otherwise.\n */\n this.enableSvg = function(enableSvg) {\n if (isDefined(enableSvg)) {\n svgEnabled = enableSvg;\n return this;\n } else {\n return svgEnabled;\n }\n };\n\n //////////////////////////////////////////////////////////////////////////////////////////////////\n // Private stuff\n //////////////////////////////////////////////////////////////////////////////////////////////////\n\n bind = angular.bind;\n extend = angular.extend;\n forEach = angular.forEach;\n isDefined = angular.isDefined;\n lowercase = angular.lowercase;\n noop = angular.noop;\n\n htmlParser = htmlParserImpl;\n htmlSanitizeWriter = htmlSanitizeWriterImpl;\n\n nodeContains = window.Node.prototype.contains || /** @this */ function(arg) {\n // eslint-disable-next-line no-bitwise\n return !!(this.compareDocumentPosition(arg) & 16);\n };\n\n // Regular Expressions for parsing tags and attributes\n var SURROGATE_PAIR_REGEXP = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,\n // Match everything outside of normal chars and \" (quote character)\n NON_ALPHANUMERIC_REGEXP = /([^#-~ |!])/g;\n\n\n // Good source of info about elements and attributes\n // http://dev.w3.org/html5/spec/Overview.html#semantics\n // http://simon.html5.org/html-elements\n\n // Safe Void Elements - HTML5\n // http://dev.w3.org/html5/spec/Overview.html#void-elements\n var voidElements = toMap('area,br,col,hr,img,wbr');\n\n // Elements that you can, intentionally, leave open (and which close themselves)\n // http://dev.w3.org/html5/spec/Overview.html#optional-tags\n var optionalEndTagBlockElements = toMap('colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr'),\n optionalEndTagInlineElements = toMap('rp,rt'),\n optionalEndTagElements = extend({},\n optionalEndTagInlineElements,\n optionalEndTagBlockElements);\n\n // Safe Block Elements - HTML5\n var blockElements = extend({}, optionalEndTagBlockElements, toMap('address,article,' +\n 'aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,' +\n 'h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul'));\n\n // Inline Elements - HTML5\n var inlineElements = extend({}, optionalEndTagInlineElements, toMap('a,abbr,acronym,b,' +\n 'bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,' +\n 'samp,small,span,strike,strong,sub,sup,time,tt,u,var'));\n\n // SVG Elements\n // https://wiki.whatwg.org/wiki/Sanitization_rules#svg_Elements\n // Note: the elements animate,animateColor,animateMotion,animateTransform,set are intentionally omitted.\n // They can potentially allow for arbitrary javascript to be executed. See #11290\n var svgElements = toMap('circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,' +\n 'hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,' +\n 'radialGradient,rect,stop,svg,switch,text,title,tspan');\n\n // Blocked Elements (will be stripped)\n var blockedElements = toMap('script,style');\n\n var validElements = extend({},\n voidElements,\n blockElements,\n inlineElements,\n optionalEndTagElements);\n\n //Attributes that have href and hence need to be sanitized\n var uriAttrs = toMap('background,cite,href,longdesc,src,xlink:href');\n\n var htmlAttrs = toMap('abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,' +\n 'color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,' +\n 'ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,' +\n 'scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,' +\n 'valign,value,vspace,width');\n\n // SVG attributes (without \"id\" and \"name\" attributes)\n // https://wiki.whatwg.org/wiki/Sanitization_rules#svg_Attributes\n var svgAttrs = toMap('accent-height,accumulate,additive,alphabetic,arabic-form,ascent,' +\n 'baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,' +\n 'cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,' +\n 'font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,' +\n 'height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,' +\n 'marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,' +\n 'max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,' +\n 'path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,' +\n 'requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,' +\n 'stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,' +\n 'stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,' +\n 'stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,' +\n 'underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,' +\n 'width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,' +\n 'xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan', true);\n\n var validAttrs = extend({},\n uriAttrs,\n svgAttrs,\n htmlAttrs);\n\n function toMap(str, lowercaseKeys) {\n var obj = {}, items = str.split(','), i;\n for (i = 0; i < items.length; i++) {\n obj[lowercaseKeys ? lowercase(items[i]) : items[i]] = true;\n }\n return obj;\n }\n\n var inertBodyElement;\n (function(window) {\n var doc;\n if (window.document && window.document.implementation) {\n doc = window.document.implementation.createHTMLDocument('inert');\n } else {\n throw $sanitizeMinErr('noinert', 'Can\\'t create an inert html document');\n }\n var docElement = doc.documentElement || doc.getDocumentElement();\n var bodyElements = docElement.getElementsByTagName('body');\n\n // usually there should be only one body element in the document, but IE doesn't have any, so we need to create one\n if (bodyElements.length === 1) {\n inertBodyElement = bodyElements[0];\n } else {\n var html = doc.createElement('html');\n inertBodyElement = doc.createElement('body');\n html.appendChild(inertBodyElement);\n doc.appendChild(html);\n }\n })(window);\n\n /**\n * @example\n * htmlParser(htmlString, {\n * start: function(tag, attrs) {},\n * end: function(tag) {},\n * chars: function(text) {},\n * comment: function(text) {}\n * });\n *\n * @param {string} html string\n * @param {object} handler\n */\n function htmlParserImpl(html, handler) {\n if (html === null || html === undefined) {\n html = '';\n } else if (typeof html !== 'string') {\n html = '' + html;\n }\n inertBodyElement.innerHTML = html;\n\n //mXSS protection\n var mXSSAttempts = 5;\n do {\n if (mXSSAttempts === 0) {\n throw $sanitizeMinErr('uinput', 'Failed to sanitize html because the input is unstable');\n }\n mXSSAttempts--;\n\n // strip custom-namespaced attributes on IE<=11\n if (window.document.documentMode) {\n stripCustomNsAttrs(inertBodyElement);\n }\n html = inertBodyElement.innerHTML; //trigger mXSS\n inertBodyElement.innerHTML = html;\n } while (html !== inertBodyElement.innerHTML);\n\n var node = inertBodyElement.firstChild;\n while (node) {\n switch (node.nodeType) {\n case 1: // ELEMENT_NODE\n handler.start(node.nodeName.toLowerCase(), attrToMap(node.attributes));\n break;\n case 3: // TEXT NODE\n handler.chars(node.textContent);\n break;\n }\n\n var nextNode;\n if (!(nextNode = node.firstChild)) {\n if (node.nodeType === 1) {\n handler.end(node.nodeName.toLowerCase());\n }\n nextNode = getNonDescendant('nextSibling', node);\n if (!nextNode) {\n while (nextNode == null) {\n node = getNonDescendant('parentNode', node);\n if (node === inertBodyElement) break;\n nextNode = getNonDescendant('nextSibling', node);\n if (node.nodeType === 1) {\n handler.end(node.nodeName.toLowerCase());\n }\n }\n }\n }\n node = nextNode;\n }\n\n while ((node = inertBodyElement.firstChild)) {\n inertBodyElement.removeChild(node);\n }\n }\n\n function attrToMap(attrs) {\n var map = {};\n for (var i = 0, ii = attrs.length; i < ii; i++) {\n var attr = attrs[i];\n map[attr.name] = attr.value;\n }\n return map;\n }\n\n\n /**\n * Escapes all potentially dangerous characters, so that the\n * resulting string can be safely inserted into attribute or\n * element text.\n * @param value\n * @returns {string} escaped text\n */\n function encodeEntities(value) {\n return value.\n replace(/&/g, '&').\n replace(SURROGATE_PAIR_REGEXP, function(value) {\n var hi = value.charCodeAt(0);\n var low = value.charCodeAt(1);\n return '&#' + (((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000) + ';';\n }).\n replace(NON_ALPHANUMERIC_REGEXP, function(value) {\n return '&#' + value.charCodeAt(0) + ';';\n }).\n replace(//g, '>');\n }\n\n /**\n * create an HTML/XML writer which writes to buffer\n * @param {Array} buf use buf.join('') to get out sanitized html string\n * @returns {object} in the form of {\n * start: function(tag, attrs) {},\n * end: function(tag) {},\n * chars: function(text) {},\n * comment: function(text) {}\n * }\n */\n function htmlSanitizeWriterImpl(buf, uriValidator) {\n var ignoreCurrentElement = false;\n var out = bind(buf, buf.push);\n return {\n start: function(tag, attrs) {\n tag = lowercase(tag);\n if (!ignoreCurrentElement && blockedElements[tag]) {\n ignoreCurrentElement = tag;\n }\n if (!ignoreCurrentElement && validElements[tag] === true) {\n out('<');\n out(tag);\n forEach(attrs, function(value, key) {\n var lkey = lowercase(key);\n var isImage = (tag === 'img' && lkey === 'src') || (lkey === 'background');\n if (validAttrs[lkey] === true &&\n (uriAttrs[lkey] !== true || uriValidator(value, isImage))) {\n out(' ');\n out(key);\n out('=\"');\n out(encodeEntities(value));\n out('\"');\n }\n });\n out('>');\n }\n },\n end: function(tag) {\n tag = lowercase(tag);\n if (!ignoreCurrentElement && validElements[tag] === true && voidElements[tag] !== true) {\n out('');\n }\n // eslint-disable-next-line eqeqeq\n if (tag == ignoreCurrentElement) {\n ignoreCurrentElement = false;\n }\n },\n chars: function(chars) {\n if (!ignoreCurrentElement) {\n out(encodeEntities(chars));\n }\n }\n };\n }\n\n\n /**\n * When IE9-11 comes across an unknown namespaced attribute e.g. 'xlink:foo' it adds 'xmlns:ns1' attribute to declare\n * ns1 namespace and prefixes the attribute with 'ns1' (e.g. 'ns1:xlink:foo'). This is undesirable since we don't want\n * to allow any of these custom attributes. This method strips them all.\n *\n * @param node Root element to process\n */\n function stripCustomNsAttrs(node) {\n while (node) {\n if (node.nodeType === window.Node.ELEMENT_NODE) {\n var attrs = node.attributes;\n for (var i = 0, l = attrs.length; i < l; i++) {\n var attrNode = attrs[i];\n var attrName = attrNode.name.toLowerCase();\n if (attrName === 'xmlns:ns1' || attrName.lastIndexOf('ns1:', 0) === 0) {\n node.removeAttributeNode(attrNode);\n i--;\n l--;\n }\n }\n }\n\n var nextNode = node.firstChild;\n if (nextNode) {\n stripCustomNsAttrs(nextNode);\n }\n\n node = getNonDescendant('nextSibling', node);\n }\n }\n\n function getNonDescendant(propName, node) {\n // An element is clobbered if its `propName` property points to one of its descendants\n var nextNode = node[propName];\n if (nextNode && nodeContains.call(node, nextNode)) {\n throw $sanitizeMinErr('elclob', 'Failed to sanitize html because the element is clobbered: {0}', node.outerHTML || node.outerText);\n }\n return nextNode;\n }\n}\n\nfunction sanitizeText(chars) {\n var buf = [];\n var writer = htmlSanitizeWriter(buf, noop);\n writer.chars(chars);\n return buf.join('');\n}\n\n\n// define ngSanitize module and register $sanitize service\nangular.module('ngSanitize', [])\n .provider('$sanitize', $SanitizeProvider)\n .info({ angularVersion: '1.6.4' });\n\n/**\n * @ngdoc filter\n * @name linky\n * @kind function\n *\n * @description\n * Finds links in text input and turns them into html links. Supports `http/https/ftp/mailto` and\n * plain email address links.\n *\n * Requires the {@link ngSanitize `ngSanitize`} module to be installed.\n *\n * @param {string} text Input text.\n * @param {string} target Window (`_blank|_self|_parent|_top`) or named frame to open links in.\n * @param {object|function(url)} [attributes] Add custom attributes to the link element.\n *\n * Can be one of:\n *\n * - `object`: A map of attributes\n * - `function`: Takes the url as a parameter and returns a map of attributes\n *\n * If the map of attributes contains a value for `target`, it overrides the value of\n * the target parameter.\n *\n *\n * @returns {string} Html-linkified and {@link $sanitize sanitized} text.\n *\n * @usage\n \n *\n * @example\n \n \n
\n Snippet: \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
FilterSourceRendered
linky filter\n
<div ng-bind-html=\"snippet | linky\">
</div>
\n
\n
\n
linky target\n
<div ng-bind-html=\"snippetWithSingleURL | linky:'_blank'\">
</div>
\n
\n
\n
linky custom attributes\n
<div ng-bind-html=\"snippetWithSingleURL | linky:'_self':{rel: 'nofollow'}\">
</div>
\n
\n
\n
no filter
<div ng-bind=\"snippet\">
</div>
\n \n \n angular.module('linkyExample', ['ngSanitize'])\n .controller('ExampleController', ['$scope', function($scope) {\n $scope.snippet =\n 'Pretty text with some links:\\n' +\n 'http://angularjs.org/,\\n' +\n 'mailto:us@somewhere.org,\\n' +\n 'another@somewhere.org,\\n' +\n 'and one more: ftp://127.0.0.1/.';\n $scope.snippetWithSingleURL = 'http://angularjs.org/';\n }]);\n \n \n it('should linkify the snippet with urls', function() {\n expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()).\n toBe('Pretty text with some links: http://angularjs.org/, us@somewhere.org, ' +\n 'another@somewhere.org, and one more: ftp://127.0.0.1/.');\n expect(element.all(by.css('#linky-filter a')).count()).toEqual(4);\n });\n\n it('should not linkify snippet without the linky filter', function() {\n expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText()).\n toBe('Pretty text with some links: http://angularjs.org/, mailto:us@somewhere.org, ' +\n 'another@somewhere.org, and one more: ftp://127.0.0.1/.');\n expect(element.all(by.css('#escaped-html a')).count()).toEqual(0);\n });\n\n it('should update', function() {\n element(by.model('snippet')).clear();\n element(by.model('snippet')).sendKeys('new http://link.');\n expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()).\n toBe('new http://link.');\n expect(element.all(by.css('#linky-filter a')).count()).toEqual(1);\n expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText())\n .toBe('new http://link.');\n });\n\n it('should work with the target property', function() {\n expect(element(by.id('linky-target')).\n element(by.binding(\"snippetWithSingleURL | linky:'_blank'\")).getText()).\n toBe('http://angularjs.org/');\n expect(element(by.css('#linky-target a')).getAttribute('target')).toEqual('_blank');\n });\n\n it('should optionally add custom attributes', function() {\n expect(element(by.id('linky-custom-attributes')).\n element(by.binding(\"snippetWithSingleURL | linky:'_self':{rel: 'nofollow'}\")).getText()).\n toBe('http://angularjs.org/');\n expect(element(by.css('#linky-custom-attributes a')).getAttribute('rel')).toEqual('nofollow');\n });\n \n \n */\nangular.module('ngSanitize').filter('linky', ['$sanitize', function($sanitize) {\n var LINKY_URL_REGEXP =\n /((ftp|https?):\\/\\/|(www\\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\\S*[^\\s.;,(){}<>\"\\u201d\\u2019]/i,\n MAILTO_REGEXP = /^mailto:/i;\n\n var linkyMinErr = angular.$$minErr('linky');\n var isDefined = angular.isDefined;\n var isFunction = angular.isFunction;\n var isObject = angular.isObject;\n var isString = angular.isString;\n\n return function(text, target, attributes) {\n if (text == null || text === '') return text;\n if (!isString(text)) throw linkyMinErr('notstring', 'Expected string but received: {0}', text);\n\n var attributesFn =\n isFunction(attributes) ? attributes :\n isObject(attributes) ? function getAttributesObject() {return attributes;} :\n function getEmptyAttributesObject() {return {};};\n\n var match;\n var raw = text;\n var html = [];\n var url;\n var i;\n while ((match = raw.match(LINKY_URL_REGEXP))) {\n // We can not end in these as they are sometimes found at the end of the sentence\n url = match[0];\n // if we did not match ftp/http/www/mailto then assume mailto\n if (!match[2] && !match[4]) {\n url = (match[3] ? 'http://' : 'mailto:') + url;\n }\n i = match.index;\n addText(raw.substr(0, i));\n addLink(url, match[0].replace(MAILTO_REGEXP, ''));\n raw = raw.substring(i + match[0].length);\n }\n addText(raw);\n return $sanitize(html.join(''));\n\n function addText(text) {\n if (!text) {\n return;\n }\n html.push(sanitizeText(text));\n }\n\n function addLink(url, text) {\n var key, linkAttributes = attributesFn(url);\n html.push('');\n addText(text);\n html.push('');\n }\n };\n}]);\n\n\n})(window, window.angular);\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular-sanitize/angular-sanitize.js","/*\n * angular-marked\n * (c) 2014 - 2016 J. Harshbarger\n * Licensed MIT\n */\n\n/* global angular, marked */\n\n'use strict';\n\nvar unindent = require('./strip-indent');\n\n /**\n * @ngdoc overview\n * @name index\n *\n * @description\n * AngularJS Markdown using [marked](https://github.com/chjj/marked).\n *\n * ## Why?\n *\n * I wanted to use [marked](https://github.com/chjj/marked) instead of [showdown](https://github.com/coreyti/showdown) as used in [angular-markdown-directive](https://github.com/btford/angular-markdown-directive) as well as expose the option to globally set defaults.\n *\n * ## How?\n *\n * - {@link hc.marked.directive:marked As a directive}\n * - {@link hc.marked.service:marked As a service}\n * - {@link hc.marked.service:markedProvider Set default options}\n *\n * @example\n\n Convert markdown to html at run time. For example:\n\n \n \n
\n Markdown:
\n
\n Output:
\n
\n \n \n \n function MainController($scope) {\n $scope.my_markdown = \"*This* **is** [markdown](https://daringfireball.net/projects/markdown/)\";\n }\n angular.module('app', ['hc.marked']).controller('MainController', MainController);\n \n \n\n *\n */\n\n /**\n * @ngdoc overview\n * @name hc.marked\n * @description # angular-marked (core module)\n # Installation\n First include angular-marked.js in your HTML:\n\n ```js\n .\");\r\n }\r\n };\r\n\r\n // .on() was added in version 1.7.0, .load() was removed in version 3.0.0 so we fallback to .load() if .on() does\r\n // not exist to not break existing applications\r\n if (typeof _pageWindow.on == \"function\") {\r\n _pageWindow.on(\"load\", function () {\r\n _pageLoaded = true;\r\n });\r\n }\r\n else {\r\n _pageWindow.load(function () {\r\n _pageLoaded = true;\r\n });\r\n }\r\n\r\n function validateTransport(requestedTransport, connection) {\r\n /// Validates the requested transport by cross checking it with the pre-defined signalR.transports\r\n /// The designated transports that the user has specified.\r\n /// The connection that will be using the requested transports. Used for logging purposes.\r\n /// \r\n\r\n if ($.isArray(requestedTransport)) {\r\n // Go through transport array and remove an \"invalid\" tranports\r\n for (var i = requestedTransport.length - 1; i >= 0; i--) {\r\n var transport = requestedTransport[i];\r\n if ($.type(transport) !== \"string\" || !signalR.transports[transport]) {\r\n connection.log(\"Invalid transport: \" + transport + \", removing it from the transports list.\");\r\n requestedTransport.splice(i, 1);\r\n }\r\n }\r\n\r\n // Verify we still have transports left, if we dont then we have invalid transports\r\n if (requestedTransport.length === 0) {\r\n connection.log(\"No transports remain within the specified transport array.\");\r\n requestedTransport = null;\r\n }\r\n } else if (!signalR.transports[requestedTransport] && requestedTransport !== \"auto\") {\r\n connection.log(\"Invalid transport: \" + requestedTransport.toString() + \".\");\r\n requestedTransport = null;\r\n } else if (requestedTransport === \"auto\" && signalR._.ieVersion <= 8) {\r\n // If we're doing an auto transport and we're IE8 then force longPolling, #1764\r\n return [\"longPolling\"];\r\n\r\n }\r\n\r\n return requestedTransport;\r\n }\r\n\r\n function getDefaultPort(protocol) {\r\n if (protocol === \"http:\") {\r\n return 80;\r\n } else if (protocol === \"https:\") {\r\n return 443;\r\n }\r\n }\r\n\r\n function addDefaultPort(protocol, url) {\r\n // Remove ports from url. We have to check if there's a / or end of line\r\n // following the port in order to avoid removing ports such as 8080.\r\n if (url.match(/:\\d+$/)) {\r\n return url;\r\n } else {\r\n return url + \":\" + getDefaultPort(protocol);\r\n }\r\n }\r\n\r\n function ConnectingMessageBuffer(connection, drainCallback) {\r\n var that = this,\r\n buffer = [];\r\n\r\n that.tryBuffer = function (message) {\r\n if (connection.state === $.signalR.connectionState.connecting) {\r\n buffer.push(message);\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n that.drain = function () {\r\n // Ensure that the connection is connected when we drain (do not want to drain while a connection is not active)\r\n if (connection.state === $.signalR.connectionState.connected) {\r\n while (buffer.length > 0) {\r\n drainCallback(buffer.shift());\r\n }\r\n }\r\n };\r\n\r\n that.clear = function () {\r\n buffer = [];\r\n };\r\n }\r\n\r\n signalR.fn = signalR.prototype = {\r\n init: function (url, qs, logging) {\r\n var $connection = $(this);\r\n\r\n this.url = url;\r\n this.qs = qs;\r\n this.lastError = null;\r\n this._ = {\r\n keepAliveData: {},\r\n connectingMessageBuffer: new ConnectingMessageBuffer(this, function (message) {\r\n $connection.triggerHandler(events.onReceived, [message]);\r\n }),\r\n lastMessageAt: new Date().getTime(),\r\n lastActiveAt: new Date().getTime(),\r\n beatInterval: 5000, // Default value, will only be overridden if keep alive is enabled,\r\n beatHandle: null,\r\n totalTransportConnectTimeout: 0 // This will be the sum of the TransportConnectTimeout sent in response to negotiate and connection.transportConnectTimeout\r\n };\r\n if (typeof (logging) === \"boolean\") {\r\n this.logging = logging;\r\n }\r\n },\r\n\r\n _parseResponse: function (response) {\r\n var that = this;\r\n\r\n if (!response) {\r\n return response;\r\n } else if (typeof response === \"string\") {\r\n return that.json.parse(response);\r\n } else {\r\n return response;\r\n }\r\n },\r\n\r\n _originalJson: window.JSON,\r\n\r\n json: window.JSON,\r\n\r\n isCrossDomain: function (url, against) {\r\n /// Checks if url is cross domain\r\n /// The base URL\r\n /// \r\n /// An optional argument to compare the URL against, if not specified it will be set to window.location.\r\n /// If specified it must contain a protocol and a host property.\r\n /// \r\n var link;\r\n\r\n url = $.trim(url);\r\n\r\n against = against || window.location;\r\n\r\n if (url.indexOf(\"http\") !== 0) {\r\n return false;\r\n }\r\n\r\n // Create an anchor tag.\r\n link = window.document.createElement(\"a\");\r\n link.href = url;\r\n\r\n // When checking for cross domain we have to special case port 80 because the window.location will remove the\r\n return link.protocol + addDefaultPort(link.protocol, link.host) !== against.protocol + addDefaultPort(against.protocol, against.host);\r\n },\r\n\r\n ajaxDataType: \"text\",\r\n\r\n contentType: \"application/json; charset=UTF-8\",\r\n\r\n logging: false,\r\n\r\n state: signalR.connectionState.disconnected,\r\n\r\n clientProtocol: \"1.5\",\r\n\r\n reconnectDelay: 2000,\r\n\r\n transportConnectTimeout: 0,\r\n\r\n disconnectTimeout: 30000, // This should be set by the server in response to the negotiate request (30s default)\r\n\r\n reconnectWindow: 30000, // This should be set by the server in response to the negotiate request\r\n\r\n keepAliveWarnAt: 2 / 3, // Warn user of slow connection if we breach the X% mark of the keep alive timeout\r\n\r\n start: function (options, callback) {\r\n /// Starts the connection\r\n /// Options map\r\n /// A callback function to execute when the connection has started\r\n var connection = this,\r\n config = {\r\n pingInterval: 300000,\r\n waitForPageLoad: true,\r\n transport: \"auto\",\r\n jsonp: false\r\n },\r\n initialize,\r\n deferred = connection._deferral || $.Deferred(), // Check to see if there is a pre-existing deferral that's being built on, if so we want to keep using it\r\n parser = window.document.createElement(\"a\");\r\n\r\n connection.lastError = null;\r\n\r\n // Persist the deferral so that if start is called multiple times the same deferral is used.\r\n connection._deferral = deferred;\r\n\r\n if (!connection.json) {\r\n // no JSON!\r\n throw new Error(\"SignalR: No JSON parser found. Please ensure json2.js is referenced before the SignalR.js file if you need to support clients without native JSON parsing support, e.g. IE<8.\");\r\n }\r\n\r\n if ($.type(options) === \"function\") {\r\n // Support calling with single callback parameter\r\n callback = options;\r\n } else if ($.type(options) === \"object\") {\r\n $.extend(config, options);\r\n if ($.type(config.callback) === \"function\") {\r\n callback = config.callback;\r\n }\r\n }\r\n\r\n config.transport = validateTransport(config.transport, connection);\r\n\r\n // If the transport is invalid throw an error and abort start\r\n if (!config.transport) {\r\n throw new Error(\"SignalR: Invalid transport(s) specified, aborting start.\");\r\n }\r\n\r\n connection._.config = config;\r\n\r\n // Check to see if start is being called prior to page load\r\n // If waitForPageLoad is true we then want to re-direct function call to the window load event\r\n if (!_pageLoaded && config.waitForPageLoad === true) {\r\n connection._.deferredStartHandler = function () {\r\n connection.start(options, callback);\r\n };\r\n _pageWindow.bind(\"load\", connection._.deferredStartHandler);\r\n\r\n return deferred.promise();\r\n }\r\n\r\n // If we're already connecting just return the same deferral as the original connection start\r\n if (connection.state === signalR.connectionState.connecting) {\r\n return deferred.promise();\r\n } else if (changeState(connection,\r\n signalR.connectionState.disconnected,\r\n signalR.connectionState.connecting) === false) {\r\n // We're not connecting so try and transition into connecting.\r\n // If we fail to transition then we're either in connected or reconnecting.\r\n\r\n deferred.resolve(connection);\r\n return deferred.promise();\r\n }\r\n\r\n configureStopReconnectingTimeout(connection);\r\n\r\n // Resolve the full url\r\n parser.href = connection.url;\r\n if (!parser.protocol || parser.protocol === \":\") {\r\n connection.protocol = window.document.location.protocol;\r\n connection.host = parser.host || window.document.location.host;\r\n } else {\r\n connection.protocol = parser.protocol;\r\n connection.host = parser.host;\r\n }\r\n\r\n connection.baseUrl = connection.protocol + \"//\" + connection.host;\r\n\r\n // Set the websocket protocol\r\n connection.wsProtocol = connection.protocol === \"https:\" ? \"wss://\" : \"ws://\";\r\n\r\n // If jsonp with no/auto transport is specified, then set the transport to long polling\r\n // since that is the only transport for which jsonp really makes sense.\r\n // Some developers might actually choose to specify jsonp for same origin requests\r\n // as demonstrated by Issue #623.\r\n if (config.transport === \"auto\" && config.jsonp === true) {\r\n config.transport = \"longPolling\";\r\n }\r\n\r\n // If the url is protocol relative, prepend the current windows protocol to the url.\r\n if (connection.url.indexOf(\"//\") === 0) {\r\n connection.url = window.location.protocol + connection.url;\r\n connection.log(\"Protocol relative URL detected, normalizing it to '\" + connection.url + \"'.\");\r\n }\r\n\r\n if (this.isCrossDomain(connection.url)) {\r\n connection.log(\"Auto detected cross domain url.\");\r\n\r\n if (config.transport === \"auto\") {\r\n // TODO: Support XDM with foreverFrame\r\n config.transport = [\"webSockets\", \"serverSentEvents\", \"longPolling\"];\r\n }\r\n\r\n if (typeof (config.withCredentials) === \"undefined\") {\r\n config.withCredentials = true;\r\n }\r\n\r\n // Determine if jsonp is the only choice for negotiation, ajaxSend and ajaxAbort.\r\n // i.e. if the browser doesn't supports CORS\r\n // If it is, ignore any preference to the contrary, and switch to jsonp.\r\n if (!config.jsonp) {\r\n config.jsonp = !$.support.cors;\r\n\r\n if (config.jsonp) {\r\n connection.log(\"Using jsonp because this browser doesn't support CORS.\");\r\n }\r\n }\r\n\r\n connection.contentType = signalR._.defaultContentType;\r\n }\r\n\r\n connection.withCredentials = config.withCredentials;\r\n\r\n connection.ajaxDataType = config.jsonp ? \"jsonp\" : \"text\";\r\n\r\n $(connection).bind(events.onStart, function (e, data) {\r\n if ($.type(callback) === \"function\") {\r\n callback.call(connection);\r\n }\r\n deferred.resolve(connection);\r\n });\r\n\r\n connection._.initHandler = signalR.transports._logic.initHandler(connection);\r\n\r\n initialize = function (transports, index) {\r\n var noTransportError = signalR._.error(resources.noTransportOnInit);\r\n\r\n index = index || 0;\r\n if (index >= transports.length) {\r\n if (index === 0) {\r\n connection.log(\"No transports supported by the server were selected.\");\r\n } else if (index === 1) {\r\n connection.log(\"No fallback transports were selected.\");\r\n } else {\r\n connection.log(\"Fallback transports exhausted.\");\r\n }\r\n\r\n // No transport initialized successfully\r\n $(connection).triggerHandler(events.onError, [noTransportError]);\r\n deferred.reject(noTransportError);\r\n // Stop the connection if it has connected and move it into the disconnected state\r\n connection.stop();\r\n return;\r\n }\r\n\r\n // The connection was aborted\r\n if (connection.state === signalR.connectionState.disconnected) {\r\n return;\r\n }\r\n\r\n var transportName = transports[index],\r\n transport = signalR.transports[transportName],\r\n onFallback = function () {\r\n initialize(transports, index + 1);\r\n };\r\n\r\n connection.transport = transport;\r\n\r\n try {\r\n connection._.initHandler.start(transport, function () { // success\r\n // Firefox 11+ doesn't allow sync XHR withCredentials: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#withCredentials\r\n var isFirefox11OrGreater = signalR._.firefoxMajorVersion(window.navigator.userAgent) >= 11,\r\n asyncAbort = !!connection.withCredentials && isFirefox11OrGreater;\r\n\r\n connection.log(\"The start request succeeded. Transitioning to the connected state.\");\r\n\r\n if (supportsKeepAlive(connection)) {\r\n signalR.transports._logic.monitorKeepAlive(connection);\r\n }\r\n\r\n signalR.transports._logic.startHeartbeat(connection);\r\n\r\n // Used to ensure low activity clients maintain their authentication.\r\n // Must be configured once a transport has been decided to perform valid ping requests.\r\n signalR._.configurePingInterval(connection);\r\n\r\n if (!changeState(connection,\r\n signalR.connectionState.connecting,\r\n signalR.connectionState.connected)) {\r\n connection.log(\"WARNING! The connection was not in the connecting state.\");\r\n }\r\n\r\n // Drain any incoming buffered messages (messages that came in prior to connect)\r\n connection._.connectingMessageBuffer.drain();\r\n\r\n $(connection).triggerHandler(events.onStart);\r\n\r\n // wire the stop handler for when the user leaves the page\r\n _pageWindow.bind(\"unload\", function () {\r\n connection.log(\"Window unloading, stopping the connection.\");\r\n\r\n connection.stop(asyncAbort);\r\n });\r\n\r\n if (isFirefox11OrGreater) {\r\n // Firefox does not fire cross-domain XHRs in the normal unload handler on tab close.\r\n // #2400\r\n _pageWindow.bind(\"beforeunload\", function () {\r\n // If connection.stop() runs runs in beforeunload and fails, it will also fail\r\n // in unload unless connection.stop() runs after a timeout.\r\n window.setTimeout(function () {\r\n connection.stop(asyncAbort);\r\n }, 0);\r\n });\r\n }\r\n }, onFallback);\r\n }\r\n catch (error) {\r\n connection.log(transport.name + \" transport threw '\" + error.message + \"' when attempting to start.\");\r\n onFallback();\r\n }\r\n };\r\n\r\n var url = connection.url + \"/negotiate\",\r\n onFailed = function (error, connection) {\r\n var err = signalR._.error(resources.errorOnNegotiate, error, connection._.negotiateRequest);\r\n\r\n $(connection).triggerHandler(events.onError, err);\r\n deferred.reject(err);\r\n // Stop the connection if negotiate failed\r\n connection.stop();\r\n };\r\n\r\n $(connection).triggerHandler(events.onStarting);\r\n\r\n url = signalR.transports._logic.prepareQueryString(connection, url);\r\n\r\n connection.log(\"Negotiating with '\" + url + \"'.\");\r\n\r\n // Save the ajax negotiate request object so we can abort it if stop is called while the request is in flight.\r\n connection._.negotiateRequest = signalR.transports._logic.ajax(connection, {\r\n url: url,\r\n error: function (error, statusText) {\r\n // We don't want to cause any errors if we're aborting our own negotiate request.\r\n if (statusText !== _negotiateAbortText) {\r\n onFailed(error, connection);\r\n } else {\r\n // This rejection will noop if the deferred has already been resolved or rejected.\r\n deferred.reject(signalR._.error(resources.stoppedWhileNegotiating, null /* error */, connection._.negotiateRequest));\r\n }\r\n },\r\n success: function (result) {\r\n var res,\r\n keepAliveData,\r\n protocolError,\r\n transports = [],\r\n supportedTransports = [];\r\n\r\n try {\r\n res = connection._parseResponse(result);\r\n } catch (error) {\r\n onFailed(signalR._.error(resources.errorParsingNegotiateResponse, error), connection);\r\n return;\r\n }\r\n\r\n keepAliveData = connection._.keepAliveData;\r\n connection.appRelativeUrl = res.Url;\r\n connection.id = res.ConnectionId;\r\n connection.token = res.ConnectionToken;\r\n connection.webSocketServerUrl = res.WebSocketServerUrl;\r\n\r\n // The long poll timeout is the ConnectionTimeout plus 10 seconds\r\n connection._.pollTimeout = res.ConnectionTimeout * 1000 + 10000; // in ms\r\n\r\n // Once the server has labeled the PersistentConnection as Disconnected, we should stop attempting to reconnect\r\n // after res.DisconnectTimeout seconds.\r\n connection.disconnectTimeout = res.DisconnectTimeout * 1000; // in ms\r\n\r\n // Add the TransportConnectTimeout from the response to the transportConnectTimeout from the client to calculate the total timeout\r\n connection._.totalTransportConnectTimeout = connection.transportConnectTimeout + res.TransportConnectTimeout * 1000;\r\n\r\n // If we have a keep alive\r\n if (res.KeepAliveTimeout) {\r\n // Register the keep alive data as activated\r\n keepAliveData.activated = true;\r\n\r\n // Timeout to designate when to force the connection into reconnecting converted to milliseconds\r\n keepAliveData.timeout = res.KeepAliveTimeout * 1000;\r\n\r\n // Timeout to designate when to warn the developer that the connection may be dead or is not responding.\r\n keepAliveData.timeoutWarning = keepAliveData.timeout * connection.keepAliveWarnAt;\r\n\r\n // Instantiate the frequency in which we check the keep alive. It must be short in order to not miss/pick up any changes\r\n connection._.beatInterval = (keepAliveData.timeout - keepAliveData.timeoutWarning) / 3;\r\n } else {\r\n keepAliveData.activated = false;\r\n }\r\n\r\n connection.reconnectWindow = connection.disconnectTimeout + (keepAliveData.timeout || 0);\r\n\r\n if (!res.ProtocolVersion || res.ProtocolVersion !== connection.clientProtocol) {\r\n protocolError = signalR._.error(signalR._.format(resources.protocolIncompatible, connection.clientProtocol, res.ProtocolVersion));\r\n $(connection).triggerHandler(events.onError, [protocolError]);\r\n deferred.reject(protocolError);\r\n\r\n return;\r\n }\r\n\r\n $.each(signalR.transports, function (key) {\r\n if ((key.indexOf(\"_\") === 0) || (key === \"webSockets\" && !res.TryWebSockets)) {\r\n return true;\r\n }\r\n supportedTransports.push(key);\r\n });\r\n\r\n if ($.isArray(config.transport)) {\r\n $.each(config.transport, function (_, transport) {\r\n if ($.inArray(transport, supportedTransports) >= 0) {\r\n transports.push(transport);\r\n }\r\n });\r\n } else if (config.transport === \"auto\") {\r\n transports = supportedTransports;\r\n } else if ($.inArray(config.transport, supportedTransports) >= 0) {\r\n transports.push(config.transport);\r\n }\r\n\r\n initialize(transports);\r\n }\r\n });\r\n\r\n return deferred.promise();\r\n },\r\n\r\n starting: function (callback) {\r\n /// Adds a callback that will be invoked before anything is sent over the connection\r\n /// A callback function to execute before the connection is fully instantiated.\r\n /// \r\n var connection = this;\r\n $(connection).bind(events.onStarting, function (e, data) {\r\n callback.call(connection);\r\n });\r\n return connection;\r\n },\r\n\r\n send: function (data) {\r\n /// Sends data over the connection\r\n /// The data to send over the connection\r\n /// \r\n var connection = this;\r\n\r\n if (connection.state === signalR.connectionState.disconnected) {\r\n // Connection hasn't been started yet\r\n throw new Error(\"SignalR: Connection must be started before data can be sent. Call .start() before .send()\");\r\n }\r\n\r\n if (connection.state === signalR.connectionState.connecting) {\r\n // Connection hasn't been started yet\r\n throw new Error(\"SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started.\");\r\n }\r\n\r\n connection.transport.send(connection, data);\r\n // REVIEW: Should we return deferred here?\r\n return connection;\r\n },\r\n\r\n received: function (callback) {\r\n /// Adds a callback that will be invoked after anything is received over the connection\r\n /// A callback function to execute when any data is received on the connection\r\n /// \r\n var connection = this;\r\n\r\n $(connection).bind(events.onReceived, function (e, data) {\r\n callback.call(connection, data);\r\n });\r\n return connection;\r\n },\r\n\r\n stateChanged: function (callback) {\r\n /// Adds a callback that will be invoked when the connection state changes\r\n /// A callback function to execute when the connection state changes\r\n /// \r\n var connection = this;\r\n\r\n $(connection).bind(events.onStateChanged, function (e, data) {\r\n callback.call(connection, data);\r\n });\r\n return connection;\r\n },\r\n\r\n error: function (callback) {\r\n /// Adds a callback that will be invoked after an error occurs with the connection\r\n /// A callback function to execute when an error occurs on the connection\r\n /// \r\n var connection = this;\r\n\r\n $(connection).bind(events.onError, function (e, errorData, sendData) {\r\n connection.lastError = errorData;\r\n // In practice 'errorData' is the SignalR built error object.\r\n // In practice 'sendData' is undefined for all error events except those triggered by\r\n // 'ajaxSend' and 'webSockets.send'.'sendData' is the original send payload.\r\n callback.call(connection, errorData, sendData);\r\n });\r\n return connection;\r\n },\r\n\r\n disconnected: function (callback) {\r\n /// Adds a callback that will be invoked when the client disconnects\r\n /// A callback function to execute when the connection is broken\r\n /// \r\n var connection = this;\r\n\r\n $(connection).bind(events.onDisconnect, function (e, data) {\r\n callback.call(connection);\r\n });\r\n return connection;\r\n },\r\n\r\n connectionSlow: function (callback) {\r\n /// Adds a callback that will be invoked when the client detects a slow connection\r\n /// A callback function to execute when the connection is slow\r\n /// \r\n var connection = this;\r\n $(connection).bind(events.onConnectionSlow, function (e, data) {\r\n callback.call(connection);\r\n });\r\n\r\n return connection;\r\n },\r\n\r\n reconnecting: function (callback) {\r\n /// Adds a callback that will be invoked when the underlying transport begins reconnecting\r\n /// A callback function to execute when the connection enters a reconnecting state\r\n /// \r\n var connection = this;\r\n $(connection).bind(events.onReconnecting, function (e, data) {\r\n callback.call(connection);\r\n });\r\n return connection;\r\n },\r\n\r\n reconnected: function (callback) {\r\n /// Adds a callback that will be invoked when the underlying transport reconnects\r\n /// A callback function to execute when the connection is restored\r\n /// \r\n var connection = this;\r\n $(connection).bind(events.onReconnect, function (e, data) {\r\n callback.call(connection);\r\n });\r\n return connection;\r\n },\r\n\r\n stop: function (async, notifyServer) {\r\n /// Stops listening\r\n /// Whether or not to asynchronously abort the connection\r\n /// Whether we want to notify the server that we are aborting the connection\r\n /// \r\n var connection = this,\r\n // Save deferral because this is always cleaned up\r\n deferral = connection._deferral;\r\n\r\n // Verify that we've bound a load event.\r\n if (connection._.deferredStartHandler) {\r\n // Unbind the event.\r\n _pageWindow.unbind(\"load\", connection._.deferredStartHandler);\r\n }\r\n\r\n // Always clean up private non-timeout based state.\r\n delete connection._.config;\r\n delete connection._.deferredStartHandler;\r\n\r\n // This needs to be checked despite the connection state because a connection start can be deferred until page load.\r\n // If we've deferred the start due to a page load we need to unbind the \"onLoad\" -> start event.\r\n if (!_pageLoaded && (!connection._.config || connection._.config.waitForPageLoad === true)) {\r\n connection.log(\"Stopping connection prior to negotiate.\");\r\n\r\n // If we have a deferral we should reject it\r\n if (deferral) {\r\n deferral.reject(signalR._.error(resources.stoppedWhileLoading));\r\n }\r\n\r\n // Short-circuit because the start has not been fully started.\r\n return;\r\n }\r\n\r\n if (connection.state === signalR.connectionState.disconnected) {\r\n return;\r\n }\r\n\r\n connection.log(\"Stopping connection.\");\r\n\r\n // Clear this no matter what\r\n window.clearTimeout(connection._.beatHandle);\r\n window.clearInterval(connection._.pingIntervalId);\r\n\r\n if (connection.transport) {\r\n connection.transport.stop(connection);\r\n\r\n if (notifyServer !== false) {\r\n connection.transport.abort(connection, async);\r\n }\r\n\r\n if (supportsKeepAlive(connection)) {\r\n signalR.transports._logic.stopMonitoringKeepAlive(connection);\r\n }\r\n\r\n connection.transport = null;\r\n }\r\n\r\n if (connection._.negotiateRequest) {\r\n // If the negotiation request has already completed this will noop.\r\n connection._.negotiateRequest.abort(_negotiateAbortText);\r\n delete connection._.negotiateRequest;\r\n }\r\n\r\n // Ensure that initHandler.stop() is called before connection._deferral is deleted\r\n if (connection._.initHandler) {\r\n connection._.initHandler.stop();\r\n }\r\n\r\n delete connection._deferral;\r\n delete connection.messageId;\r\n delete connection.groupsToken;\r\n delete connection.id;\r\n delete connection._.pingIntervalId;\r\n delete connection._.lastMessageAt;\r\n delete connection._.lastActiveAt;\r\n\r\n // Clear out our message buffer\r\n connection._.connectingMessageBuffer.clear();\r\n\r\n // Trigger the disconnect event\r\n changeState(connection, connection.state, signalR.connectionState.disconnected);\r\n $(connection).triggerHandler(events.onDisconnect);\r\n\r\n return connection;\r\n },\r\n\r\n log: function (msg) {\r\n log(msg, this.logging);\r\n }\r\n };\r\n\r\n signalR.fn.init.prototype = signalR.fn;\r\n\r\n signalR.noConflict = function () {\r\n /// Reinstates the original value of $.connection and returns the signalR object for manual assignment\r\n /// \r\n if ($.connection === signalR) {\r\n $.connection = _connection;\r\n }\r\n return signalR;\r\n };\r\n\r\n if ($.connection) {\r\n _connection = $.connection;\r\n }\r\n\r\n $.connection = $.signalR = signalR;\r\n\r\n}(window.jQuery, window));\r\n/* jquery.signalR.transports.common.js */\r\n// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n\r\n/*global window:false */\r\n/// \r\n\r\n(function ($, window, undefined) {\r\n\r\n var signalR = $.signalR,\r\n events = $.signalR.events,\r\n changeState = $.signalR.changeState,\r\n startAbortText = \"__Start Aborted__\",\r\n transportLogic;\r\n\r\n signalR.transports = {};\r\n\r\n function beat(connection) {\r\n if (connection._.keepAliveData.monitoring) {\r\n checkIfAlive(connection);\r\n }\r\n\r\n // Ensure that we successfully marked active before continuing the heartbeat.\r\n if (transportLogic.markActive(connection)) {\r\n connection._.beatHandle = window.setTimeout(function () {\r\n beat(connection);\r\n }, connection._.beatInterval);\r\n }\r\n }\r\n\r\n function checkIfAlive(connection) {\r\n var keepAliveData = connection._.keepAliveData,\r\n timeElapsed;\r\n\r\n // Only check if we're connected\r\n if (connection.state === signalR.connectionState.connected) {\r\n timeElapsed = new Date().getTime() - connection._.lastMessageAt;\r\n\r\n // Check if the keep alive has completely timed out\r\n if (timeElapsed >= keepAliveData.timeout) {\r\n connection.log(\"Keep alive timed out. Notifying transport that connection has been lost.\");\r\n\r\n // Notify transport that the connection has been lost\r\n connection.transport.lostConnection(connection);\r\n } else if (timeElapsed >= keepAliveData.timeoutWarning) {\r\n // This is to assure that the user only gets a single warning\r\n if (!keepAliveData.userNotified) {\r\n connection.log(\"Keep alive has been missed, connection may be dead/slow.\");\r\n $(connection).triggerHandler(events.onConnectionSlow);\r\n keepAliveData.userNotified = true;\r\n }\r\n } else {\r\n keepAliveData.userNotified = false;\r\n }\r\n }\r\n }\r\n\r\n function getAjaxUrl(connection, path) {\r\n var url = connection.url + path;\r\n\r\n if (connection.transport) {\r\n url += \"?transport=\" + connection.transport.name;\r\n }\r\n\r\n return transportLogic.prepareQueryString(connection, url);\r\n }\r\n\r\n function InitHandler(connection) {\r\n this.connection = connection;\r\n\r\n this.startRequested = false;\r\n this.startCompleted = false;\r\n this.connectionStopped = false;\r\n }\r\n\r\n InitHandler.prototype = {\r\n start: function (transport, onSuccess, onFallback) {\r\n var that = this,\r\n connection = that.connection,\r\n failCalled = false;\r\n\r\n if (that.startRequested || that.connectionStopped) {\r\n connection.log(\"WARNING! \" + transport.name + \" transport cannot be started. Initialization ongoing or completed.\");\r\n return;\r\n }\r\n\r\n connection.log(transport.name + \" transport starting.\");\r\n\r\n transport.start(connection, function () {\r\n if (!failCalled) {\r\n that.initReceived(transport, onSuccess);\r\n }\r\n }, function (error) {\r\n // Don't allow the same transport to cause onFallback to be called twice\r\n if (!failCalled) {\r\n failCalled = true;\r\n that.transportFailed(transport, error, onFallback);\r\n }\r\n\r\n // Returns true if the transport should stop;\r\n // false if it should attempt to reconnect\r\n return !that.startCompleted || that.connectionStopped;\r\n });\r\n\r\n that.transportTimeoutHandle = window.setTimeout(function () {\r\n if (!failCalled) {\r\n failCalled = true;\r\n connection.log(transport.name + \" transport timed out when trying to connect.\");\r\n that.transportFailed(transport, undefined, onFallback);\r\n }\r\n }, connection._.totalTransportConnectTimeout);\r\n },\r\n\r\n stop: function () {\r\n this.connectionStopped = true;\r\n window.clearTimeout(this.transportTimeoutHandle);\r\n signalR.transports._logic.tryAbortStartRequest(this.connection);\r\n },\r\n\r\n initReceived: function (transport, onSuccess) {\r\n var that = this,\r\n connection = that.connection;\r\n\r\n if (that.startRequested) {\r\n connection.log(\"WARNING! The client received multiple init messages.\");\r\n return;\r\n }\r\n\r\n if (that.connectionStopped) {\r\n return;\r\n }\r\n\r\n that.startRequested = true;\r\n window.clearTimeout(that.transportTimeoutHandle);\r\n\r\n connection.log(transport.name + \" transport connected. Initiating start request.\");\r\n signalR.transports._logic.ajaxStart(connection, function () {\r\n that.startCompleted = true;\r\n onSuccess();\r\n });\r\n },\r\n\r\n transportFailed: function (transport, error, onFallback) {\r\n var connection = this.connection,\r\n deferred = connection._deferral,\r\n wrappedError;\r\n\r\n if (this.connectionStopped) {\r\n return;\r\n }\r\n\r\n window.clearTimeout(this.transportTimeoutHandle);\r\n\r\n if (!this.startRequested) {\r\n transport.stop(connection);\r\n\r\n connection.log(transport.name + \" transport failed to connect. Attempting to fall back.\");\r\n onFallback();\r\n } else if (!this.startCompleted) {\r\n // Do not attempt to fall back if a start request is ongoing during a transport failure.\r\n // Instead, trigger an error and stop the connection.\r\n wrappedError = signalR._.error(signalR.resources.errorDuringStartRequest, error);\r\n\r\n connection.log(transport.name + \" transport failed during the start request. Stopping the connection.\");\r\n $(connection).triggerHandler(events.onError, [wrappedError]);\r\n if (deferred) {\r\n deferred.reject(wrappedError);\r\n }\r\n\r\n connection.stop();\r\n } else {\r\n // The start request has completed, but the connection has not stopped.\r\n // No need to do anything here. The transport should attempt its normal reconnect logic.\r\n }\r\n }\r\n };\r\n\r\n transportLogic = signalR.transports._logic = {\r\n ajax: function (connection, options) {\r\n return $.ajax(\r\n $.extend(/*deep copy*/ true, {}, $.signalR.ajaxDefaults, {\r\n type: \"GET\",\r\n data: {},\r\n xhrFields: {withCredentials: connection.withCredentials},\r\n contentType: connection.contentType,\r\n dataType: connection.ajaxDataType\r\n }, options));\r\n },\r\n\r\n pingServer: function (connection) {\r\n /// Pings the server\r\n /// Connection associated with the server ping\r\n /// \r\n var url,\r\n xhr,\r\n deferral = $.Deferred();\r\n\r\n if (connection.transport) {\r\n url = connection.url + \"/ping\";\r\n\r\n url = transportLogic.addQs(url, connection.qs);\r\n\r\n xhr = transportLogic.ajax(connection, {\r\n url: url,\r\n success: function (result) {\r\n var data;\r\n\r\n try {\r\n data = connection._parseResponse(result);\r\n }\r\n catch (error) {\r\n deferral.reject(\r\n signalR._.transportError(\r\n signalR.resources.pingServerFailedParse,\r\n connection.transport,\r\n error,\r\n xhr\r\n )\r\n );\r\n connection.stop();\r\n return;\r\n }\r\n\r\n if (data.Response === \"pong\") {\r\n deferral.resolve();\r\n }\r\n else {\r\n deferral.reject(\r\n signalR._.transportError(\r\n signalR._.format(signalR.resources.pingServerFailedInvalidResponse, result),\r\n connection.transport,\r\n null /* error */,\r\n xhr\r\n )\r\n );\r\n }\r\n },\r\n error: function (error) {\r\n if (error.status === 401 || error.status === 403) {\r\n deferral.reject(\r\n signalR._.transportError(\r\n signalR._.format(signalR.resources.pingServerFailedStatusCode, error.status),\r\n connection.transport,\r\n error,\r\n xhr\r\n )\r\n );\r\n connection.stop();\r\n }\r\n else {\r\n deferral.reject(\r\n signalR._.transportError(\r\n signalR.resources.pingServerFailed,\r\n connection.transport,\r\n error,\r\n xhr\r\n )\r\n );\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n deferral.reject(\r\n signalR._.transportError(\r\n signalR.resources.noConnectionTransport,\r\n connection.transport\r\n )\r\n );\r\n }\r\n\r\n return deferral.promise();\r\n },\r\n\r\n prepareQueryString: function (connection, url) {\r\n var preparedUrl;\r\n\r\n // Use addQs to start since it handles the ?/& prefix for us\r\n preparedUrl = transportLogic.addQs(url, \"clientProtocol=\" + connection.clientProtocol);\r\n\r\n // Add the user-specified query string params if any\r\n preparedUrl = transportLogic.addQs(preparedUrl, connection.qs);\r\n\r\n if (connection.token) {\r\n preparedUrl += \"&connectionToken=\" + window.encodeURIComponent(connection.token);\r\n }\r\n\r\n if (connection.data) {\r\n preparedUrl += \"&connectionData=\" + window.encodeURIComponent(connection.data);\r\n }\r\n\r\n return preparedUrl;\r\n },\r\n\r\n addQs: function (url, qs) {\r\n var appender = url.indexOf(\"?\") !== -1 ? \"&\" : \"?\",\r\n firstChar;\r\n\r\n if (!qs) {\r\n return url;\r\n }\r\n\r\n if (typeof (qs) === \"object\") {\r\n return url + appender + $.param(qs);\r\n }\r\n\r\n if (typeof (qs) === \"string\") {\r\n firstChar = qs.charAt(0);\r\n\r\n if (firstChar === \"?\" || firstChar === \"&\") {\r\n appender = \"\";\r\n }\r\n\r\n return url + appender + qs;\r\n }\r\n\r\n throw new Error(\"Query string property must be either a string or object.\");\r\n },\r\n\r\n // BUG #2953: The url needs to be same otherwise it will cause a memory leak\r\n getUrl: function (connection, transport, reconnecting, poll, ajaxPost) {\r\n /// Gets the url for making a GET based connect request\r\n var baseUrl = transport === \"webSockets\" ? \"\" : connection.baseUrl,\r\n url = baseUrl + connection.appRelativeUrl,\r\n qs = \"transport=\" + transport;\r\n\r\n if (!ajaxPost && connection.groupsToken) {\r\n qs += \"&groupsToken=\" + window.encodeURIComponent(connection.groupsToken);\r\n }\r\n\r\n if (!reconnecting) {\r\n url += \"/connect\";\r\n } else {\r\n if (poll) {\r\n // longPolling transport specific\r\n url += \"/poll\";\r\n } else {\r\n url += \"/reconnect\";\r\n }\r\n\r\n if (!ajaxPost && connection.messageId) {\r\n qs += \"&messageId=\" + window.encodeURIComponent(connection.messageId);\r\n }\r\n }\r\n url += \"?\" + qs;\r\n url = transportLogic.prepareQueryString(connection, url);\r\n\r\n if (!ajaxPost) {\r\n url += \"&tid=\" + Math.floor(Math.random() * 11);\r\n }\r\n\r\n return url;\r\n },\r\n\r\n maximizePersistentResponse: function (minPersistentResponse) {\r\n return {\r\n MessageId: minPersistentResponse.C,\r\n Messages: minPersistentResponse.M,\r\n Initialized: typeof (minPersistentResponse.S) !== \"undefined\" ? true : false,\r\n ShouldReconnect: typeof (minPersistentResponse.T) !== \"undefined\" ? true : false,\r\n LongPollDelay: minPersistentResponse.L,\r\n GroupsToken: minPersistentResponse.G\r\n };\r\n },\r\n\r\n updateGroups: function (connection, groupsToken) {\r\n if (groupsToken) {\r\n connection.groupsToken = groupsToken;\r\n }\r\n },\r\n\r\n stringifySend: function (connection, message) {\r\n if (typeof (message) === \"string\" || typeof (message) === \"undefined\" || message === null) {\r\n return message;\r\n }\r\n return connection.json.stringify(message);\r\n },\r\n\r\n ajaxSend: function (connection, data) {\r\n var payload = transportLogic.stringifySend(connection, data),\r\n url = getAjaxUrl(connection, \"/send\"),\r\n xhr,\r\n onFail = function (error, connection) {\r\n $(connection).triggerHandler(events.onError, [signalR._.transportError(signalR.resources.sendFailed, connection.transport, error, xhr), data]);\r\n };\r\n\r\n\r\n xhr = transportLogic.ajax(connection, {\r\n url: url,\r\n type: connection.ajaxDataType === \"jsonp\" ? \"GET\" : \"POST\",\r\n contentType: signalR._.defaultContentType,\r\n data: {\r\n data: payload\r\n },\r\n success: function (result) {\r\n var res;\r\n\r\n if (result) {\r\n try {\r\n res = connection._parseResponse(result);\r\n }\r\n catch (error) {\r\n onFail(error, connection);\r\n connection.stop();\r\n return;\r\n }\r\n\r\n transportLogic.triggerReceived(connection, res);\r\n }\r\n },\r\n error: function (error, textStatus) {\r\n if (textStatus === \"abort\" || textStatus === \"parsererror\") {\r\n // The parsererror happens for sends that don't return any data, and hence\r\n // don't write the jsonp callback to the response. This is harder to fix on the server\r\n // so just hack around it on the client for now.\r\n return;\r\n }\r\n\r\n onFail(error, connection);\r\n }\r\n });\r\n\r\n return xhr;\r\n },\r\n\r\n ajaxAbort: function (connection, async) {\r\n if (typeof (connection.transport) === \"undefined\") {\r\n return;\r\n }\r\n\r\n // Async by default unless explicitly overidden\r\n async = typeof async === \"undefined\" ? true : async;\r\n\r\n var url = getAjaxUrl(connection, \"/abort\");\r\n\r\n transportLogic.ajax(connection, {\r\n url: url,\r\n async: true,\r\n timeout: 1000,\r\n type: \"POST\"\r\n });\r\n\r\n connection.log(\"Fired ajax abort async = \" + async + \".\");\r\n },\r\n\r\n ajaxStart: function (connection, onSuccess) {\r\n var rejectDeferred = function (error) {\r\n var deferred = connection._deferral;\r\n if (deferred) {\r\n deferred.reject(error);\r\n }\r\n },\r\n triggerStartError = function (error) {\r\n connection.log(\"The start request failed. Stopping the connection.\");\r\n $(connection).triggerHandler(events.onError, [error]);\r\n rejectDeferred(error);\r\n connection.stop();\r\n };\r\n\r\n connection._.startRequest = transportLogic.ajax(connection, {\r\n url: getAjaxUrl(connection, \"/start\"),\r\n success: function (result, statusText, xhr) {\r\n var data;\r\n\r\n try {\r\n data = connection._parseResponse(result);\r\n } catch (error) {\r\n triggerStartError(signalR._.error(\r\n signalR._.format(signalR.resources.errorParsingStartResponse, result),\r\n error, xhr));\r\n return;\r\n }\r\n\r\n if (data.Response === \"started\") {\r\n onSuccess();\r\n } else {\r\n triggerStartError(signalR._.error(\r\n signalR._.format(signalR.resources.invalidStartResponse, result),\r\n null /* error */, xhr));\r\n }\r\n },\r\n error: function (xhr, statusText, error) {\r\n if (statusText !== startAbortText) {\r\n triggerStartError(signalR._.error(\r\n signalR.resources.errorDuringStartRequest,\r\n error, xhr));\r\n } else {\r\n // Stop has been called, no need to trigger the error handler\r\n // or stop the connection again with onStartError\r\n connection.log(\"The start request aborted because connection.stop() was called.\");\r\n rejectDeferred(signalR._.error(\r\n signalR.resources.stoppedDuringStartRequest,\r\n null /* error */, xhr));\r\n }\r\n }\r\n });\r\n },\r\n\r\n tryAbortStartRequest: function (connection) {\r\n if (connection._.startRequest) {\r\n // If the start request has already completed this will noop.\r\n connection._.startRequest.abort(startAbortText);\r\n delete connection._.startRequest;\r\n }\r\n },\r\n\r\n tryInitialize: function (connection, persistentResponse, onInitialized) {\r\n if (persistentResponse.Initialized && onInitialized) {\r\n onInitialized();\r\n } else if (persistentResponse.Initialized) {\r\n connection.log(\"WARNING! The client received an init message after reconnecting.\");\r\n }\r\n\r\n },\r\n\r\n triggerReceived: function (connection, data) {\r\n if (!connection._.connectingMessageBuffer.tryBuffer(data)) {\r\n $(connection).triggerHandler(events.onReceived, [data]);\r\n }\r\n },\r\n\r\n processMessages: function (connection, minData, onInitialized) {\r\n var data;\r\n\r\n // Update the last message time stamp\r\n transportLogic.markLastMessage(connection);\r\n\r\n if (minData) {\r\n data = transportLogic.maximizePersistentResponse(minData);\r\n\r\n transportLogic.updateGroups(connection, data.GroupsToken);\r\n\r\n if (data.MessageId) {\r\n connection.messageId = data.MessageId;\r\n }\r\n\r\n if (data.Messages) {\r\n $.each(data.Messages, function (index, message) {\r\n transportLogic.triggerReceived(connection, message);\r\n });\r\n\r\n transportLogic.tryInitialize(connection, data, onInitialized);\r\n }\r\n }\r\n },\r\n\r\n monitorKeepAlive: function (connection) {\r\n var keepAliveData = connection._.keepAliveData;\r\n\r\n // If we haven't initiated the keep alive timeouts then we need to\r\n if (!keepAliveData.monitoring) {\r\n keepAliveData.monitoring = true;\r\n\r\n transportLogic.markLastMessage(connection);\r\n\r\n // Save the function so we can unbind it on stop\r\n connection._.keepAliveData.reconnectKeepAliveUpdate = function () {\r\n // Mark a new message so that keep alive doesn't time out connections\r\n transportLogic.markLastMessage(connection);\r\n };\r\n\r\n // Update Keep alive on reconnect\r\n $(connection).bind(events.onReconnect, connection._.keepAliveData.reconnectKeepAliveUpdate);\r\n\r\n connection.log(\"Now monitoring keep alive with a warning timeout of \" + keepAliveData.timeoutWarning + \", keep alive timeout of \" + keepAliveData.timeout + \" and disconnecting timeout of \" + connection.disconnectTimeout);\r\n } else {\r\n connection.log(\"Tried to monitor keep alive but it's already being monitored.\");\r\n }\r\n },\r\n\r\n stopMonitoringKeepAlive: function (connection) {\r\n var keepAliveData = connection._.keepAliveData;\r\n\r\n // Only attempt to stop the keep alive monitoring if its being monitored\r\n if (keepAliveData.monitoring) {\r\n // Stop monitoring\r\n keepAliveData.monitoring = false;\r\n\r\n // Remove the updateKeepAlive function from the reconnect event\r\n $(connection).unbind(events.onReconnect, connection._.keepAliveData.reconnectKeepAliveUpdate);\r\n\r\n // Clear all the keep alive data\r\n connection._.keepAliveData = {};\r\n connection.log(\"Stopping the monitoring of the keep alive.\");\r\n }\r\n },\r\n\r\n startHeartbeat: function (connection) {\r\n connection._.lastActiveAt = new Date().getTime();\r\n beat(connection);\r\n },\r\n\r\n markLastMessage: function (connection) {\r\n connection._.lastMessageAt = new Date().getTime();\r\n },\r\n\r\n markActive: function (connection) {\r\n if (transportLogic.verifyLastActive(connection)) {\r\n connection._.lastActiveAt = new Date().getTime();\r\n return true;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n isConnectedOrReconnecting: function (connection) {\r\n return connection.state === signalR.connectionState.connected ||\r\n connection.state === signalR.connectionState.reconnecting;\r\n },\r\n\r\n ensureReconnectingState: function (connection) {\r\n if (changeState(connection,\r\n signalR.connectionState.connected,\r\n signalR.connectionState.reconnecting) === true) {\r\n $(connection).triggerHandler(events.onReconnecting);\r\n }\r\n return connection.state === signalR.connectionState.reconnecting;\r\n },\r\n\r\n clearReconnectTimeout: function (connection) {\r\n if (connection && connection._.reconnectTimeout) {\r\n window.clearTimeout(connection._.reconnectTimeout);\r\n delete connection._.reconnectTimeout;\r\n }\r\n },\r\n\r\n verifyLastActive: function (connection) {\r\n if (new Date().getTime() - connection._.lastActiveAt >= connection.reconnectWindow) {\r\n var message = signalR._.format(signalR.resources.reconnectWindowTimeout, new Date(connection._.lastActiveAt), connection.reconnectWindow);\r\n connection.log(message);\r\n $(connection).triggerHandler(events.onError, [signalR._.error(message, /* source */ \"TimeoutException\")]);\r\n connection.stop(/* async */ false, /* notifyServer */ false);\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n\r\n reconnect: function (connection, transportName) {\r\n var transport = signalR.transports[transportName];\r\n\r\n // We should only set a reconnectTimeout if we are currently connected\r\n // and a reconnectTimeout isn't already set.\r\n if (transportLogic.isConnectedOrReconnecting(connection) && !connection._.reconnectTimeout) {\r\n // Need to verify before the setTimeout occurs because an application sleep could occur during the setTimeout duration.\r\n if (!transportLogic.verifyLastActive(connection)) {\r\n return;\r\n }\r\n\r\n connection._.reconnectTimeout = window.setTimeout(function () {\r\n if (!transportLogic.verifyLastActive(connection)) {\r\n return;\r\n }\r\n\r\n transport.stop(connection);\r\n\r\n if (transportLogic.ensureReconnectingState(connection)) {\r\n connection.log(transportName + \" reconnecting.\");\r\n transport.start(connection);\r\n }\r\n }, connection.reconnectDelay);\r\n }\r\n },\r\n\r\n handleParseFailure: function (connection, result, error, onFailed, context) {\r\n var wrappedError = signalR._.transportError(\r\n signalR._.format(signalR.resources.parseFailed, result),\r\n connection.transport,\r\n error,\r\n context);\r\n\r\n // If we're in the initialization phase trigger onFailed, otherwise stop the connection.\r\n if (onFailed && onFailed(wrappedError)) {\r\n connection.log(\"Failed to parse server response while attempting to connect.\");\r\n } else {\r\n $(connection).triggerHandler(events.onError, [wrappedError]);\r\n connection.stop();\r\n }\r\n },\r\n\r\n initHandler: function (connection) {\r\n return new InitHandler(connection);\r\n },\r\n\r\n foreverFrame: {\r\n count: 0,\r\n connections: {}\r\n }\r\n };\r\n\r\n}(window.jQuery, window));\r\n/* jquery.signalR.transports.webSockets.js */\r\n// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n\r\n\r\n/*global window:false */\r\n/// \r\n\r\n(function ($, window, undefined) {\r\n\r\n var signalR = $.signalR,\r\n events = $.signalR.events,\r\n changeState = $.signalR.changeState,\r\n transportLogic = signalR.transports._logic;\r\n\r\n signalR.transports.webSockets = {\r\n name: \"webSockets\",\r\n\r\n supportsKeepAlive: function () {\r\n return true;\r\n },\r\n\r\n send: function (connection, data) {\r\n var payload = transportLogic.stringifySend(connection, data);\r\n\r\n try {\r\n connection.socket.send(payload);\r\n } catch (ex) {\r\n $(connection).triggerHandler(events.onError,\r\n [signalR._.transportError(\r\n signalR.resources.webSocketsInvalidState,\r\n connection.transport,\r\n ex,\r\n connection.socket\r\n ),\r\n data]);\r\n }\r\n },\r\n\r\n start: function (connection, onSuccess, onFailed) {\r\n var url,\r\n opened = false,\r\n that = this,\r\n reconnecting = !onSuccess,\r\n $connection = $(connection);\r\n\r\n if (!window.WebSocket) {\r\n onFailed();\r\n return;\r\n }\r\n\r\n if (!connection.socket) {\r\n if (connection.webSocketServerUrl) {\r\n url = connection.webSocketServerUrl;\r\n } else {\r\n url = connection.wsProtocol + connection.host;\r\n }\r\n\r\n url += transportLogic.getUrl(connection, this.name, reconnecting);\r\n\r\n connection.log(\"Connecting to websocket endpoint '\" + url + \"'.\");\r\n connection.socket = new window.WebSocket(url);\r\n\r\n connection.socket.onopen = function () {\r\n opened = true;\r\n connection.log(\"Websocket opened.\");\r\n\r\n transportLogic.clearReconnectTimeout(connection);\r\n\r\n if (changeState(connection,\r\n signalR.connectionState.reconnecting,\r\n signalR.connectionState.connected) === true) {\r\n $connection.triggerHandler(events.onReconnect);\r\n }\r\n };\r\n\r\n connection.socket.onclose = function (event) {\r\n var error;\r\n\r\n // Only handle a socket close if the close is from the current socket.\r\n // Sometimes on disconnect the server will push down an onclose event\r\n // to an expired socket.\r\n\r\n if (this === connection.socket) {\r\n if (opened && typeof event.wasClean !== \"undefined\" && event.wasClean === false) {\r\n // Ideally this would use the websocket.onerror handler (rather than checking wasClean in onclose) but\r\n // I found in some circumstances Chrome won't call onerror. This implementation seems to work on all browsers.\r\n error = signalR._.transportError(\r\n signalR.resources.webSocketClosed,\r\n connection.transport,\r\n event);\r\n\r\n connection.log(\"Unclean disconnect from websocket: \" + (event.reason || \"[no reason given].\"));\r\n } else {\r\n connection.log(\"Websocket closed.\");\r\n }\r\n\r\n if (!onFailed || !onFailed(error)) {\r\n if (error) {\r\n $(connection).triggerHandler(events.onError, [error]);\r\n }\r\n\r\n that.reconnect(connection);\r\n }\r\n }\r\n };\r\n\r\n connection.socket.onmessage = function (event) {\r\n var data;\r\n\r\n try {\r\n data = connection._parseResponse(event.data);\r\n }\r\n catch (error) {\r\n transportLogic.handleParseFailure(connection, event.data, error, onFailed, event);\r\n return;\r\n }\r\n\r\n if (data) {\r\n // data.M is PersistentResponse.Messages\r\n if ($.isEmptyObject(data) || data.M) {\r\n transportLogic.processMessages(connection, data, onSuccess);\r\n } else {\r\n // For websockets we need to trigger onReceived\r\n // for callbacks to outgoing hub calls.\r\n transportLogic.triggerReceived(connection, data);\r\n }\r\n }\r\n };\r\n }\r\n },\r\n\r\n reconnect: function (connection) {\r\n transportLogic.reconnect(connection, this.name);\r\n },\r\n\r\n lostConnection: function (connection) {\r\n this.reconnect(connection);\r\n },\r\n\r\n stop: function (connection) {\r\n // Don't trigger a reconnect after stopping\r\n transportLogic.clearReconnectTimeout(connection);\r\n\r\n if (connection.socket) {\r\n connection.log(\"Closing the Websocket.\");\r\n connection.socket.close();\r\n connection.socket = null;\r\n }\r\n },\r\n\r\n abort: function (connection, async) {\r\n transportLogic.ajaxAbort(connection, async);\r\n }\r\n };\r\n\r\n}(window.jQuery, window));\r\n/* jquery.signalR.transports.serverSentEvents.js */\r\n// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n\r\n\r\n/*global window:false */\r\n/// \r\n\r\n(function ($, window, undefined) {\r\n\r\n var signalR = $.signalR,\r\n events = $.signalR.events,\r\n changeState = $.signalR.changeState,\r\n transportLogic = signalR.transports._logic,\r\n clearReconnectAttemptTimeout = function (connection) {\r\n window.clearTimeout(connection._.reconnectAttemptTimeoutHandle);\r\n delete connection._.reconnectAttemptTimeoutHandle;\r\n };\r\n\r\n signalR.transports.serverSentEvents = {\r\n name: \"serverSentEvents\",\r\n\r\n supportsKeepAlive: function () {\r\n return true;\r\n },\r\n\r\n timeOut: 3000,\r\n\r\n start: function (connection, onSuccess, onFailed) {\r\n var that = this,\r\n opened = false,\r\n $connection = $(connection),\r\n reconnecting = !onSuccess,\r\n url;\r\n\r\n if (connection.eventSource) {\r\n connection.log(\"The connection already has an event source. Stopping it.\");\r\n connection.stop();\r\n }\r\n\r\n if (!window.EventSource) {\r\n if (onFailed) {\r\n connection.log(\"This browser doesn't support SSE.\");\r\n onFailed();\r\n }\r\n return;\r\n }\r\n\r\n url = transportLogic.getUrl(connection, this.name, reconnecting);\r\n\r\n try {\r\n connection.log(\"Attempting to connect to SSE endpoint '\" + url + \"'.\");\r\n connection.eventSource = new window.EventSource(url, {withCredentials: connection.withCredentials});\r\n }\r\n catch (e) {\r\n connection.log(\"EventSource failed trying to connect with error \" + e.Message + \".\");\r\n if (onFailed) {\r\n // The connection failed, call the failed callback\r\n onFailed();\r\n } else {\r\n $connection.triggerHandler(events.onError, [signalR._.transportError(signalR.resources.eventSourceFailedToConnect, connection.transport, e)]);\r\n if (reconnecting) {\r\n // If we were reconnecting, rather than doing initial connect, then try reconnect again\r\n that.reconnect(connection);\r\n }\r\n }\r\n return;\r\n }\r\n\r\n if (reconnecting) {\r\n connection._.reconnectAttemptTimeoutHandle = window.setTimeout(function () {\r\n if (opened === false) {\r\n // If we're reconnecting and the event source is attempting to connect,\r\n // don't keep retrying. This causes duplicate connections to spawn.\r\n if (connection.eventSource.readyState !== window.EventSource.OPEN) {\r\n // If we were reconnecting, rather than doing initial connect, then try reconnect again\r\n that.reconnect(connection);\r\n }\r\n }\r\n },\r\n that.timeOut);\r\n }\r\n\r\n connection.eventSource.addEventListener(\"open\", function (e) {\r\n connection.log(\"EventSource connected.\");\r\n\r\n clearReconnectAttemptTimeout(connection);\r\n transportLogic.clearReconnectTimeout(connection);\r\n\r\n if (opened === false) {\r\n opened = true;\r\n\r\n if (changeState(connection,\r\n signalR.connectionState.reconnecting,\r\n signalR.connectionState.connected) === true) {\r\n $connection.triggerHandler(events.onReconnect);\r\n }\r\n }\r\n }, false);\r\n\r\n connection.eventSource.addEventListener(\"message\", function (e) {\r\n var res;\r\n\r\n // process messages\r\n if (e.data === \"initialized\") {\r\n return;\r\n }\r\n\r\n try {\r\n res = connection._parseResponse(e.data);\r\n }\r\n catch (error) {\r\n transportLogic.handleParseFailure(connection, e.data, error, onFailed, e);\r\n return;\r\n }\r\n\r\n transportLogic.processMessages(connection, res, onSuccess);\r\n }, false);\r\n\r\n connection.eventSource.addEventListener(\"error\", function (e) {\r\n var error = signalR._.transportError(\r\n signalR.resources.eventSourceError,\r\n connection.transport,\r\n e);\r\n\r\n // Only handle an error if the error is from the current Event Source.\r\n // Sometimes on disconnect the server will push down an error event\r\n // to an expired Event Source.\r\n if (this !== connection.eventSource) {\r\n return;\r\n }\r\n\r\n if (onFailed && onFailed(error)) {\r\n return;\r\n }\r\n\r\n connection.log(\"EventSource readyState: \" + connection.eventSource.readyState + \".\");\r\n\r\n if (e.eventPhase === window.EventSource.CLOSED) {\r\n // We don't use the EventSource's native reconnect function as it\r\n // doesn't allow us to change the URL when reconnecting. We need\r\n // to change the URL to not include the /connect suffix, and pass\r\n // the last message id we received.\r\n connection.log(\"EventSource reconnecting due to the server connection ending.\");\r\n that.reconnect(connection);\r\n } else {\r\n // connection error\r\n connection.log(\"EventSource error.\");\r\n $connection.triggerHandler(events.onError, [error]);\r\n }\r\n }, false);\r\n },\r\n\r\n reconnect: function (connection) {\r\n transportLogic.reconnect(connection, this.name);\r\n },\r\n\r\n lostConnection: function (connection) {\r\n this.reconnect(connection);\r\n },\r\n\r\n send: function (connection, data) {\r\n transportLogic.ajaxSend(connection, data);\r\n },\r\n\r\n stop: function (connection) {\r\n // Don't trigger a reconnect after stopping\r\n clearReconnectAttemptTimeout(connection);\r\n transportLogic.clearReconnectTimeout(connection);\r\n\r\n if (connection && connection.eventSource) {\r\n connection.log(\"EventSource calling close().\");\r\n connection.eventSource.close();\r\n connection.eventSource = null;\r\n delete connection.eventSource;\r\n }\r\n },\r\n\r\n abort: function (connection, async) {\r\n transportLogic.ajaxAbort(connection, async);\r\n }\r\n };\r\n\r\n}(window.jQuery, window));\r\n/* jquery.signalR.transports.foreverFrame.js */\r\n// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n\r\n\r\n/*global window:false */\r\n/// \r\n\r\n(function ($, window, undefined) {\r\n\r\n var signalR = $.signalR,\r\n events = $.signalR.events,\r\n changeState = $.signalR.changeState,\r\n transportLogic = signalR.transports._logic,\r\n createFrame = function () {\r\n var frame = window.document.createElement(\"iframe\");\r\n frame.setAttribute(\"style\", \"position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;\");\r\n return frame;\r\n },\r\n // Used to prevent infinite loading icon spins in older versions of ie\r\n // We build this object inside a closure so we don't pollute the rest of\r\n // the foreverFrame transport with unnecessary functions/utilities.\r\n loadPreventer = (function () {\r\n var loadingFixIntervalId = null,\r\n loadingFixInterval = 1000,\r\n attachedTo = 0;\r\n\r\n return {\r\n prevent: function () {\r\n // Prevent additional iframe removal procedures from newer browsers\r\n if (signalR._.ieVersion <= 8) {\r\n // We only ever want to set the interval one time, so on the first attachedTo\r\n if (attachedTo === 0) {\r\n // Create and destroy iframe every 3 seconds to prevent loading icon, super hacky\r\n loadingFixIntervalId = window.setInterval(function () {\r\n var tempFrame = createFrame();\r\n\r\n window.document.body.appendChild(tempFrame);\r\n window.document.body.removeChild(tempFrame);\r\n\r\n tempFrame = null;\r\n }, loadingFixInterval);\r\n }\r\n\r\n attachedTo++;\r\n }\r\n },\r\n cancel: function () {\r\n // Only clear the interval if there's only one more object that the loadPreventer is attachedTo\r\n if (attachedTo === 1) {\r\n window.clearInterval(loadingFixIntervalId);\r\n }\r\n\r\n if (attachedTo > 0) {\r\n attachedTo--;\r\n }\r\n }\r\n };\r\n })();\r\n\r\n signalR.transports.foreverFrame = {\r\n name: \"foreverFrame\",\r\n\r\n supportsKeepAlive: function () {\r\n return true;\r\n },\r\n\r\n // Added as a value here so we can create tests to verify functionality\r\n iframeClearThreshold: 50,\r\n\r\n start: function (connection, onSuccess, onFailed) {\r\n var that = this,\r\n frameId = (transportLogic.foreverFrame.count += 1),\r\n url,\r\n frame = createFrame(),\r\n frameLoadHandler = function () {\r\n connection.log(\"Forever frame iframe finished loading and is no longer receiving messages.\");\r\n if (!onFailed || !onFailed()) {\r\n that.reconnect(connection);\r\n }\r\n };\r\n\r\n if (window.EventSource) {\r\n // If the browser supports SSE, don't use Forever Frame\r\n if (onFailed) {\r\n connection.log(\"Forever Frame is not supported by SignalR on browsers with SSE support.\");\r\n onFailed();\r\n }\r\n return;\r\n }\r\n\r\n frame.setAttribute(\"data-signalr-connection-id\", connection.id);\r\n\r\n // Start preventing loading icon\r\n // This will only perform work if the loadPreventer is not attached to another connection.\r\n loadPreventer.prevent();\r\n\r\n // Build the url\r\n url = transportLogic.getUrl(connection, this.name);\r\n url += \"&frameId=\" + frameId;\r\n\r\n // add frame to the document prior to setting URL to avoid caching issues.\r\n window.document.documentElement.appendChild(frame);\r\n\r\n connection.log(\"Binding to iframe's load event.\");\r\n\r\n if (frame.addEventListener) {\r\n frame.addEventListener(\"load\", frameLoadHandler, false);\r\n } else if (frame.attachEvent) {\r\n frame.attachEvent(\"onload\", frameLoadHandler);\r\n }\r\n\r\n frame.src = url;\r\n transportLogic.foreverFrame.connections[frameId] = connection;\r\n\r\n connection.frame = frame;\r\n connection.frameId = frameId;\r\n\r\n if (onSuccess) {\r\n connection.onSuccess = function () {\r\n connection.log(\"Iframe transport started.\");\r\n onSuccess();\r\n };\r\n }\r\n },\r\n\r\n reconnect: function (connection) {\r\n var that = this;\r\n\r\n // Need to verify connection state and verify before the setTimeout occurs because an application sleep could occur during the setTimeout duration.\r\n if (transportLogic.isConnectedOrReconnecting(connection) && transportLogic.verifyLastActive(connection)) {\r\n window.setTimeout(function () {\r\n // Verify that we're ok to reconnect.\r\n if (!transportLogic.verifyLastActive(connection)) {\r\n return;\r\n }\r\n\r\n if (connection.frame && transportLogic.ensureReconnectingState(connection)) {\r\n var frame = connection.frame,\r\n src = transportLogic.getUrl(connection, that.name, true) + \"&frameId=\" + connection.frameId;\r\n connection.log(\"Updating iframe src to '\" + src + \"'.\");\r\n frame.src = src;\r\n }\r\n }, connection.reconnectDelay);\r\n }\r\n },\r\n\r\n lostConnection: function (connection) {\r\n this.reconnect(connection);\r\n },\r\n\r\n send: function (connection, data) {\r\n transportLogic.ajaxSend(connection, data);\r\n },\r\n\r\n receive: function (connection, data) {\r\n var cw,\r\n body,\r\n response;\r\n\r\n if (connection.json !== connection._originalJson) {\r\n // If there's a custom JSON parser configured then serialize the object\r\n // using the original (browser) JSON parser and then deserialize it using\r\n // the custom parser (connection._parseResponse does that). This is so we\r\n // can easily send the response from the server as \"raw\" JSON but still\r\n // support custom JSON deserialization in the browser.\r\n data = connection._originalJson.stringify(data);\r\n }\r\n\r\n response = connection._parseResponse(data);\r\n\r\n transportLogic.processMessages(connection, response, connection.onSuccess);\r\n\r\n // Protect against connection stopping from a callback trigger within the processMessages above.\r\n if (connection.state === $.signalR.connectionState.connected) {\r\n // Delete the script & div elements\r\n connection.frameMessageCount = (connection.frameMessageCount || 0) + 1;\r\n if (connection.frameMessageCount > signalR.transports.foreverFrame.iframeClearThreshold) {\r\n connection.frameMessageCount = 0;\r\n cw = connection.frame.contentWindow || connection.frame.contentDocument;\r\n if (cw && cw.document && cw.document.body) {\r\n body = cw.document.body;\r\n\r\n // Remove all the child elements from the iframe's body to conserver memory\r\n while (body.firstChild) {\r\n body.removeChild(body.firstChild);\r\n }\r\n }\r\n }\r\n }\r\n },\r\n\r\n stop: function (connection) {\r\n var cw = null;\r\n\r\n // Stop attempting to prevent loading icon\r\n loadPreventer.cancel();\r\n\r\n if (connection.frame) {\r\n if (connection.frame.stop) {\r\n connection.frame.stop();\r\n } else {\r\n try {\r\n cw = connection.frame.contentWindow || connection.frame.contentDocument;\r\n if (cw.document && cw.document.execCommand) {\r\n cw.document.execCommand(\"Stop\");\r\n }\r\n }\r\n catch (e) {\r\n connection.log(\"Error occurred when stopping foreverFrame transport. Message = \" + e.message + \".\");\r\n }\r\n }\r\n\r\n // Ensure the iframe is where we left it\r\n if (connection.frame.parentNode === window.document.body) {\r\n window.document.body.removeChild(connection.frame);\r\n }\r\n\r\n delete transportLogic.foreverFrame.connections[connection.frameId];\r\n connection.frame = null;\r\n connection.frameId = null;\r\n delete connection.frame;\r\n delete connection.frameId;\r\n delete connection.onSuccess;\r\n delete connection.frameMessageCount;\r\n connection.log(\"Stopping forever frame.\");\r\n }\r\n },\r\n\r\n abort: function (connection, async) {\r\n transportLogic.ajaxAbort(connection, async);\r\n },\r\n\r\n getConnection: function (id) {\r\n return transportLogic.foreverFrame.connections[id];\r\n },\r\n\r\n started: function (connection) {\r\n if (changeState(connection,\r\n signalR.connectionState.reconnecting,\r\n signalR.connectionState.connected) === true) {\r\n\r\n $(connection).triggerHandler(events.onReconnect);\r\n }\r\n }\r\n };\r\n\r\n}(window.jQuery, window));\r\n/* jquery.signalR.transports.longPolling.js */\r\n// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n\r\n\r\n/*global window:false */\r\n/// \r\n\r\n(function ($, window, undefined) {\r\n\r\n var signalR = $.signalR,\r\n events = $.signalR.events,\r\n changeState = $.signalR.changeState,\r\n isDisconnecting = $.signalR.isDisconnecting,\r\n transportLogic = signalR.transports._logic;\r\n\r\n signalR.transports.longPolling = {\r\n name: \"longPolling\",\r\n\r\n supportsKeepAlive: function () {\r\n return false;\r\n },\r\n\r\n reconnectDelay: 3000,\r\n\r\n start: function (connection, onSuccess, onFailed) {\r\n /// Starts the long polling connection\r\n /// The SignalR connection to start\r\n var that = this,\r\n fireConnect = function () {\r\n fireConnect = $.noop;\r\n\r\n connection.log(\"LongPolling connected.\");\r\n\r\n if (onSuccess) {\r\n onSuccess();\r\n } else {\r\n connection.log(\"WARNING! The client received an init message after reconnecting.\");\r\n }\r\n },\r\n tryFailConnect = function (error) {\r\n if (onFailed(error)) {\r\n connection.log(\"LongPolling failed to connect.\");\r\n return true;\r\n }\r\n\r\n return false;\r\n },\r\n privateData = connection._,\r\n reconnectErrors = 0,\r\n fireReconnected = function (instance) {\r\n window.clearTimeout(privateData.reconnectTimeoutId);\r\n privateData.reconnectTimeoutId = null;\r\n\r\n if (changeState(instance,\r\n signalR.connectionState.reconnecting,\r\n signalR.connectionState.connected) === true) {\r\n // Successfully reconnected!\r\n instance.log(\"Raising the reconnect event\");\r\n $(instance).triggerHandler(events.onReconnect);\r\n }\r\n },\r\n // 1 hour\r\n maxFireReconnectedTimeout = 3600000;\r\n\r\n if (connection.pollXhr) {\r\n connection.log(\"Polling xhr requests already exists, aborting.\");\r\n connection.stop();\r\n }\r\n\r\n connection.messageId = null;\r\n\r\n privateData.reconnectTimeoutId = null;\r\n\r\n privateData.pollTimeoutId = window.setTimeout(function () {\r\n (function poll(instance, raiseReconnect) {\r\n var messageId = instance.messageId,\r\n connect = (messageId === null),\r\n reconnecting = !connect,\r\n polling = !raiseReconnect,\r\n url = transportLogic.getUrl(instance, that.name, reconnecting, polling, true /* use Post for longPolling */),\r\n postData = {};\r\n\r\n if (instance.messageId) {\r\n postData.messageId = instance.messageId;\r\n }\r\n\r\n if (instance.groupsToken) {\r\n postData.groupsToken = instance.groupsToken;\r\n }\r\n\r\n // If we've disconnected during the time we've tried to re-instantiate the poll then stop.\r\n if (isDisconnecting(instance) === true) {\r\n return;\r\n }\r\n\r\n connection.log(\"Opening long polling request to '\" + url + \"'.\");\r\n instance.pollXhr = transportLogic.ajax(connection, {\r\n xhrFields: {\r\n onprogress: function () {\r\n transportLogic.markLastMessage(connection);\r\n }\r\n },\r\n url: url,\r\n type: \"POST\",\r\n contentType: signalR._.defaultContentType,\r\n data: postData,\r\n timeout: connection._.pollTimeout,\r\n success: function (result) {\r\n var minData,\r\n delay = 0,\r\n data,\r\n shouldReconnect;\r\n\r\n connection.log(\"Long poll complete.\");\r\n\r\n // Reset our reconnect errors so if we transition into a reconnecting state again we trigger\r\n // reconnected quickly\r\n reconnectErrors = 0;\r\n\r\n try {\r\n // Remove any keep-alives from the beginning of the result\r\n minData = connection._parseResponse(result);\r\n }\r\n catch (error) {\r\n transportLogic.handleParseFailure(instance, result, error, tryFailConnect, instance.pollXhr);\r\n return;\r\n }\r\n\r\n // If there's currently a timeout to trigger reconnect, fire it now before processing messages\r\n if (privateData.reconnectTimeoutId !== null) {\r\n fireReconnected(instance);\r\n }\r\n\r\n if (minData) {\r\n data = transportLogic.maximizePersistentResponse(minData);\r\n }\r\n\r\n transportLogic.processMessages(instance, minData, fireConnect);\r\n\r\n if (data &&\r\n $.type(data.LongPollDelay) === \"number\") {\r\n delay = data.LongPollDelay;\r\n }\r\n\r\n if (isDisconnecting(instance) === true) {\r\n return;\r\n }\r\n\r\n shouldReconnect = data && data.ShouldReconnect;\r\n if (shouldReconnect) {\r\n // Transition into the reconnecting state\r\n // If this fails then that means that the user transitioned the connection into a invalid state in processMessages.\r\n if (!transportLogic.ensureReconnectingState(instance)) {\r\n return;\r\n }\r\n }\r\n\r\n // We never want to pass a raiseReconnect flag after a successful poll. This is handled via the error function\r\n if (delay > 0) {\r\n privateData.pollTimeoutId = window.setTimeout(function () {\r\n poll(instance, shouldReconnect);\r\n }, delay);\r\n } else {\r\n poll(instance, shouldReconnect);\r\n }\r\n },\r\n\r\n error: function (data, textStatus) {\r\n var error = signalR._.transportError(signalR.resources.longPollFailed, connection.transport, data, instance.pollXhr);\r\n\r\n // Stop trying to trigger reconnect, connection is in an error state\r\n // If we're not in the reconnect state this will noop\r\n window.clearTimeout(privateData.reconnectTimeoutId);\r\n privateData.reconnectTimeoutId = null;\r\n\r\n if (textStatus === \"abort\") {\r\n connection.log(\"Aborted xhr request.\");\r\n return;\r\n }\r\n\r\n if (!tryFailConnect(error)) {\r\n\r\n // Increment our reconnect errors, we assume all errors to be reconnect errors\r\n // In the case that it's our first error this will cause Reconnect to be fired\r\n // after 1 second due to reconnectErrors being = 1.\r\n reconnectErrors++;\r\n\r\n if (connection.state !== signalR.connectionState.reconnecting) {\r\n connection.log(\"An error occurred using longPolling. Status = \" + textStatus + \". Response = \" + data.responseText + \".\");\r\n $(instance).triggerHandler(events.onError, [error]);\r\n }\r\n\r\n // We check the state here to verify that we're not in an invalid state prior to verifying Reconnect.\r\n // If we're not in connected or reconnecting then the next ensureReconnectingState check will fail and will return.\r\n // Therefore we don't want to change that failure code path.\r\n if ((connection.state === signalR.connectionState.connected ||\r\n connection.state === signalR.connectionState.reconnecting) &&\r\n !transportLogic.verifyLastActive(connection)) {\r\n return;\r\n }\r\n\r\n // Transition into the reconnecting state\r\n // If this fails then that means that the user transitioned the connection into the disconnected or connecting state within the above error handler trigger.\r\n if (!transportLogic.ensureReconnectingState(instance)) {\r\n return;\r\n }\r\n\r\n // Call poll with the raiseReconnect flag as true after the reconnect delay\r\n privateData.pollTimeoutId = window.setTimeout(function () {\r\n poll(instance, true);\r\n }, that.reconnectDelay);\r\n }\r\n }\r\n });\r\n\r\n // This will only ever pass after an error has occurred via the poll ajax procedure.\r\n if (reconnecting && raiseReconnect === true) {\r\n // We wait to reconnect depending on how many times we've failed to reconnect.\r\n // This is essentially a heuristic that will exponentially increase in wait time before\r\n // triggering reconnected. This depends on the \"error\" handler of Poll to cancel this\r\n // timeout if it triggers before the Reconnected event fires.\r\n // The Math.min at the end is to ensure that the reconnect timeout does not overflow.\r\n privateData.reconnectTimeoutId = window.setTimeout(function () {\r\n fireReconnected(instance);\r\n }, Math.min(1000 * (Math.pow(2, reconnectErrors) - 1), maxFireReconnectedTimeout));\r\n }\r\n }(connection));\r\n }, 250); // Have to delay initial poll so Chrome doesn't show loader spinner in tab\r\n },\r\n\r\n lostConnection: function (connection) {\r\n if (connection.pollXhr) {\r\n connection.pollXhr.abort(\"lostConnection\");\r\n }\r\n },\r\n\r\n send: function (connection, data) {\r\n transportLogic.ajaxSend(connection, data);\r\n },\r\n\r\n stop: function (connection) {\r\n /// Stops the long polling connection\r\n /// The SignalR connection to stop\r\n\r\n window.clearTimeout(connection._.pollTimeoutId);\r\n window.clearTimeout(connection._.reconnectTimeoutId);\r\n\r\n delete connection._.pollTimeoutId;\r\n delete connection._.reconnectTimeoutId;\r\n\r\n if (connection.pollXhr) {\r\n connection.pollXhr.abort();\r\n connection.pollXhr = null;\r\n delete connection.pollXhr;\r\n }\r\n },\r\n\r\n abort: function (connection, async) {\r\n transportLogic.ajaxAbort(connection, async);\r\n }\r\n };\r\n\r\n}(window.jQuery, window));\r\n/* jquery.signalR.hubs.js */\r\n// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n\r\n/*global window:false */\r\n/// \r\n\r\n(function ($, window, undefined) {\r\n\r\n var eventNamespace = \".hubProxy\",\r\n signalR = $.signalR;\r\n\r\n function makeEventName(event) {\r\n return event + eventNamespace;\r\n }\r\n\r\n // Equivalent to Array.prototype.map\r\n function map(arr, fun, thisp) {\r\n var i,\r\n length = arr.length,\r\n result = [];\r\n for (i = 0; i < length; i += 1) {\r\n if (arr.hasOwnProperty(i)) {\r\n result[i] = fun.call(thisp, arr[i], i, arr);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n function getArgValue(a) {\r\n return $.isFunction(a) ? null : ($.type(a) === \"undefined\" ? null : a);\r\n }\r\n\r\n function hasMembers(obj) {\r\n for (var key in obj) {\r\n // If we have any properties in our callback map then we have callbacks and can exit the loop via return\r\n if (obj.hasOwnProperty(key)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n function clearInvocationCallbacks(connection, error) {\r\n /// \r\n var callbacks = connection._.invocationCallbacks,\r\n callback;\r\n\r\n if (hasMembers(callbacks)) {\r\n connection.log(\"Clearing hub invocation callbacks with error: \" + error + \".\");\r\n }\r\n\r\n // Reset the callback cache now as we have a local var referencing it\r\n connection._.invocationCallbackId = 0;\r\n delete connection._.invocationCallbacks;\r\n connection._.invocationCallbacks = {};\r\n\r\n // Loop over the callbacks and invoke them.\r\n // We do this using a local var reference and *after* we've cleared the cache\r\n // so that if a fail callback itself tries to invoke another method we don't\r\n // end up with its callback in the list we're looping over.\r\n for (var callbackId in callbacks) {\r\n callback = callbacks[callbackId];\r\n callback.method.call(callback.scope, {E: error});\r\n }\r\n }\r\n\r\n // hubProxy\r\n function hubProxy(hubConnection, hubName) {\r\n /// \r\n /// Creates a new proxy object for the given hub connection that can be used to invoke\r\n /// methods on server hubs and handle client method invocation requests from the server.\r\n /// \r\n return new hubProxy.fn.init(hubConnection, hubName);\r\n }\r\n\r\n hubProxy.fn = hubProxy.prototype = {\r\n init: function (connection, hubName) {\r\n this.state = {};\r\n this.connection = connection;\r\n this.hubName = hubName;\r\n this._ = {\r\n callbackMap: {}\r\n };\r\n },\r\n\r\n constructor: hubProxy,\r\n\r\n hasSubscriptions: function () {\r\n return hasMembers(this._.callbackMap);\r\n },\r\n\r\n on: function (eventName, callback) {\r\n /// Wires up a callback to be invoked when a invocation request is received from the server hub.\r\n /// The name of the hub event to register the callback for.\r\n /// The callback to be invoked.\r\n var that = this,\r\n callbackMap = that._.callbackMap;\r\n\r\n // Normalize the event name to lowercase\r\n eventName = eventName.toLowerCase();\r\n\r\n // If there is not an event registered for this callback yet we want to create its event space in the callback map.\r\n if (!callbackMap[eventName]) {\r\n callbackMap[eventName] = {};\r\n }\r\n\r\n // Map the callback to our encompassed function\r\n callbackMap[eventName][callback] = function (e, data) {\r\n callback.apply(that, data);\r\n };\r\n\r\n $(that).bind(makeEventName(eventName), callbackMap[eventName][callback]);\r\n\r\n return that;\r\n },\r\n\r\n off: function (eventName, callback) {\r\n /// Removes the callback invocation request from the server hub for the given event name.\r\n /// The name of the hub event to unregister the callback for.\r\n /// The callback to be invoked.\r\n var that = this,\r\n callbackMap = that._.callbackMap,\r\n callbackSpace;\r\n\r\n // Normalize the event name to lowercase\r\n eventName = eventName.toLowerCase();\r\n\r\n callbackSpace = callbackMap[eventName];\r\n\r\n // Verify that there is an event space to unbind\r\n if (callbackSpace) {\r\n // Only unbind if there's an event bound with eventName and a callback with the specified callback\r\n if (callbackSpace[callback]) {\r\n $(that).unbind(makeEventName(eventName), callbackSpace[callback]);\r\n\r\n // Remove the callback from the callback map\r\n delete callbackSpace[callback];\r\n\r\n // Check if there are any members left on the event, if not we need to destroy it.\r\n if (!hasMembers(callbackSpace)) {\r\n delete callbackMap[eventName];\r\n }\r\n } else if (!callback) { // Check if we're removing the whole event and we didn't error because of an invalid callback\r\n $(that).unbind(makeEventName(eventName));\r\n\r\n delete callbackMap[eventName];\r\n }\r\n }\r\n\r\n return that;\r\n },\r\n\r\n invoke: function (methodName) {\r\n /// Invokes a server hub method with the given arguments.\r\n /// The name of the server hub method.\r\n\r\n var that = this,\r\n connection = that.connection,\r\n args = $.makeArray(arguments).slice(1),\r\n argValues = map(args, getArgValue),\r\n data = {H: that.hubName, M: methodName, A: argValues, I: connection._.invocationCallbackId},\r\n d = $.Deferred(),\r\n callback = function (minResult) {\r\n var result = that._maximizeHubResponse(minResult),\r\n source,\r\n error;\r\n\r\n // Update the hub state\r\n $.extend(that.state, result.State);\r\n\r\n if (result.Progress) {\r\n if (d.notifyWith) {\r\n // Progress is only supported in jQuery 1.7+\r\n d.notifyWith(that, [result.Progress.Data]);\r\n } else if (!connection._.progressjQueryVersionLogged) {\r\n connection.log(\"A hub method invocation progress update was received but the version of jQuery in use (\" + $.prototype.jquery + \") does not support progress updates. Upgrade to jQuery 1.7+ to receive progress notifications.\");\r\n connection._.progressjQueryVersionLogged = true;\r\n }\r\n } else if (result.Error) {\r\n // Server hub method threw an exception, log it & reject the deferred\r\n if (result.StackTrace) {\r\n connection.log(result.Error + \"\\n\" + result.StackTrace + \".\");\r\n }\r\n\r\n // result.ErrorData is only set if a HubException was thrown\r\n source = result.IsHubException ? \"HubException\" : \"Exception\";\r\n error = signalR._.error(result.Error, source);\r\n error.data = result.ErrorData;\r\n\r\n connection.log(that.hubName + \".\" + methodName + \" failed to execute. Error: \" + error.message);\r\n d.rejectWith(that, [error]);\r\n } else {\r\n // Server invocation succeeded, resolve the deferred\r\n connection.log(\"Invoked \" + that.hubName + \".\" + methodName);\r\n d.resolveWith(that, [result.Result]);\r\n }\r\n };\r\n\r\n connection._.invocationCallbacks[connection._.invocationCallbackId.toString()] = {\r\n scope: that,\r\n method: callback\r\n };\r\n connection._.invocationCallbackId += 1;\r\n\r\n if (!$.isEmptyObject(that.state)) {\r\n data.S = that.state;\r\n }\r\n\r\n connection.log(\"Invoking \" + that.hubName + \".\" + methodName);\r\n connection.send(data);\r\n\r\n return d.promise();\r\n },\r\n\r\n _maximizeHubResponse: function (minHubResponse) {\r\n return {\r\n State: minHubResponse.S,\r\n Result: minHubResponse.R,\r\n Progress: minHubResponse.P ? {\r\n Id: minHubResponse.P.I,\r\n Data: minHubResponse.P.D\r\n } : null,\r\n Id: minHubResponse.I,\r\n IsHubException: minHubResponse.H,\r\n Error: minHubResponse.E,\r\n StackTrace: minHubResponse.T,\r\n ErrorData: minHubResponse.D\r\n };\r\n }\r\n };\r\n\r\n hubProxy.fn.init.prototype = hubProxy.fn;\r\n\r\n // hubConnection\r\n function hubConnection(url, options) {\r\n /// Creates a new hub connection.\r\n /// [Optional] The hub route url, defaults to \"/signalr\".\r\n /// [Optional] Settings to use when creating the hubConnection.\r\n var settings = {\r\n qs: null,\r\n logging: false,\r\n useDefaultPath: true\r\n };\r\n\r\n $.extend(settings, options);\r\n\r\n if (!url || settings.useDefaultPath) {\r\n url = (url || \"\") + \"/signalr\";\r\n }\r\n return new hubConnection.fn.init(url, settings);\r\n }\r\n\r\n hubConnection.fn = hubConnection.prototype = $.connection();\r\n\r\n hubConnection.fn.init = function (url, options) {\r\n var settings = {\r\n qs: null,\r\n logging: false,\r\n useDefaultPath: true\r\n },\r\n connection = this;\r\n\r\n $.extend(settings, options);\r\n\r\n // Call the base constructor\r\n $.signalR.fn.init.call(connection, url, settings.qs, settings.logging);\r\n\r\n // Object to store hub proxies for this connection\r\n connection.proxies = {};\r\n\r\n connection._.invocationCallbackId = 0;\r\n connection._.invocationCallbacks = {};\r\n\r\n // Wire up the received handler\r\n connection.received(function (minData) {\r\n var data, proxy, dataCallbackId, callback, hubName, eventName;\r\n if (!minData) {\r\n return;\r\n }\r\n\r\n // We have to handle progress updates first in order to ensure old clients that receive\r\n // progress updates enter the return value branch and then no-op when they can't find\r\n // the callback in the map (because the minData.I value will not be a valid callback ID)\r\n if (typeof (minData.P) !== \"undefined\") {\r\n // Process progress notification\r\n dataCallbackId = minData.P.I.toString();\r\n callback = connection._.invocationCallbacks[dataCallbackId];\r\n if (callback) {\r\n callback.method.call(callback.scope, minData);\r\n }\r\n } else if (typeof (minData.I) !== \"undefined\") {\r\n // We received the return value from a server method invocation, look up callback by id and call it\r\n dataCallbackId = minData.I.toString();\r\n callback = connection._.invocationCallbacks[dataCallbackId];\r\n if (callback) {\r\n // Delete the callback from the proxy\r\n connection._.invocationCallbacks[dataCallbackId] = null;\r\n delete connection._.invocationCallbacks[dataCallbackId];\r\n\r\n // Invoke the callback\r\n callback.method.call(callback.scope, minData);\r\n }\r\n } else {\r\n data = this._maximizeClientHubInvocation(minData);\r\n\r\n // We received a client invocation request, i.e. broadcast from server hub\r\n connection.log(\"Triggering client hub event '\" + data.Method + \"' on hub '\" + data.Hub + \"'.\");\r\n\r\n // Normalize the names to lowercase\r\n hubName = data.Hub.toLowerCase();\r\n eventName = data.Method.toLowerCase();\r\n\r\n // Trigger the local invocation event\r\n proxy = this.proxies[hubName];\r\n\r\n // Update the hub state\r\n $.extend(proxy.state, data.State);\r\n $(proxy).triggerHandler(makeEventName(eventName), [data.Args]);\r\n }\r\n });\r\n\r\n connection.error(function (errData, origData) {\r\n var callbackId, callback;\r\n\r\n if (!origData) {\r\n // No original data passed so this is not a send error\r\n return;\r\n }\r\n\r\n callbackId = origData.I;\r\n callback = connection._.invocationCallbacks[callbackId];\r\n\r\n // Verify that there is a callback bound (could have been cleared)\r\n if (callback) {\r\n // Delete the callback\r\n connection._.invocationCallbacks[callbackId] = null;\r\n delete connection._.invocationCallbacks[callbackId];\r\n\r\n // Invoke the callback with an error to reject the promise\r\n callback.method.call(callback.scope, {E: errData});\r\n }\r\n });\r\n\r\n connection.reconnecting(function () {\r\n if (connection.transport && connection.transport.name === \"webSockets\") {\r\n clearInvocationCallbacks(connection, \"Connection started reconnecting before invocation result was received.\");\r\n }\r\n });\r\n\r\n connection.disconnected(function () {\r\n clearInvocationCallbacks(connection, \"Connection was disconnected before invocation result was received.\");\r\n });\r\n };\r\n\r\n hubConnection.fn._maximizeClientHubInvocation = function (minClientHubInvocation) {\r\n return {\r\n Hub: minClientHubInvocation.H,\r\n Method: minClientHubInvocation.M,\r\n Args: minClientHubInvocation.A,\r\n State: minClientHubInvocation.S\r\n };\r\n };\r\n\r\n hubConnection.fn._registerSubscribedHubs = function () {\r\n /// \r\n /// Sets the starting event to loop through the known hubs and register any new hubs\r\n /// that have been added to the proxy.\r\n /// \r\n var connection = this;\r\n\r\n if (!connection._subscribedToHubs) {\r\n connection._subscribedToHubs = true;\r\n connection.starting(function () {\r\n // Set the connection's data object with all the hub proxies with active subscriptions.\r\n // These proxies will receive notifications from the server.\r\n var subscribedHubs = [];\r\n\r\n $.each(connection.proxies, function (key) {\r\n if (this.hasSubscriptions()) {\r\n subscribedHubs.push({name: key});\r\n connection.log(\"Client subscribed to hub '\" + key + \"'.\");\r\n }\r\n });\r\n\r\n if (subscribedHubs.length === 0) {\r\n connection.log(\"No hubs have been subscribed to. The client will not receive data from hubs. To fix, declare at least one client side function prior to connection start for each hub you wish to subscribe to.\");\r\n }\r\n\r\n connection.data = connection.json.stringify(subscribedHubs);\r\n });\r\n }\r\n };\r\n\r\n hubConnection.fn.createHubProxy = function (hubName) {\r\n /// \r\n /// Creates a new proxy object for the given hub connection that can be used to invoke\r\n /// methods on server hubs and handle client method invocation requests from the server.\r\n /// \r\n /// \r\n /// The name of the hub on the server to create the proxy for.\r\n /// \r\n\r\n // Normalize the name to lowercase\r\n hubName = hubName.toLowerCase();\r\n\r\n var proxy = this.proxies[hubName];\r\n if (!proxy) {\r\n proxy = hubProxy(this, hubName);\r\n this.proxies[hubName] = proxy;\r\n }\r\n\r\n this._registerSubscribedHubs();\r\n\r\n return proxy;\r\n };\r\n\r\n hubConnection.fn.init.prototype = hubConnection.fn;\r\n\r\n $.hubConnection = hubConnection;\r\n\r\n}(window.jQuery, window));\r\n/* jquery.signalR.version.js */\r\n// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n\r\n\r\n/*global window:false */\r\n/// \r\n(function ($, undefined) {\r\n $.signalR.version = \"2.2.1\";\r\n}(window.jQuery));\r\n\r\nexports.hubConnection = window.jQuery.hubConnection;\r\nexports.signalR = window.jQuery.signalR;\n\n\n// WEBPACK FOOTER //\n// ./src/libs/jquery.signalR.js","import promisePolyfill from './promise.polyfill';\r\n\r\nfunction fetchPolyfill (self) {\r\n 'use strict';\r\n\r\n if (self.fetch) {\r\n return\r\n }\r\n\r\n if (!self.Promise) {\r\n promisePolyfill(self);\r\n }\r\n\r\n var support = {\r\n searchParams: 'URLSearchParams' in self,\r\n iterable: 'Symbol' in self && 'iterator' in Symbol,\r\n blob: 'FileReader' in self && 'Blob' in self && (function () {\r\n try {\r\n new Blob()\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n })(),\r\n formData: 'FormData' in self,\r\n arrayBuffer: 'ArrayBuffer' in self\r\n }\r\n\r\n if (support.arrayBuffer) {\r\n var viewClasses = [\r\n '[object Int8Array]',\r\n '[object Uint8Array]',\r\n '[object Uint8ClampedArray]',\r\n '[object Int16Array]',\r\n '[object Uint16Array]',\r\n '[object Int32Array]',\r\n '[object Uint32Array]',\r\n '[object Float32Array]',\r\n '[object Float64Array]'\r\n ]\r\n\r\n var isDataView = function (obj) {\r\n return obj && DataView.prototype.isPrototypeOf(obj)\r\n }\r\n\r\n var isArrayBufferView = ArrayBuffer.isView || function (obj) {\r\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\r\n }\r\n }\r\n\r\n function normalizeName(name) {\r\n if (typeof name !== 'string') {\r\n name = String(name)\r\n }\r\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\r\n throw new TypeError('Invalid character in header field name')\r\n }\r\n return name.toLowerCase()\r\n }\r\n\r\n function normalizeValue(value) {\r\n if (typeof value !== 'string') {\r\n value = String(value)\r\n }\r\n return value\r\n }\r\n\r\n // Build a destructive iterator for the value list\r\n function iteratorFor(items) {\r\n var iterator = {\r\n next: function () {\r\n var value = items.shift()\r\n return {done: value === undefined, value: value}\r\n }\r\n }\r\n\r\n if (support.iterable) {\r\n iterator[Symbol.iterator] = function () {\r\n return iterator\r\n }\r\n }\r\n\r\n return iterator\r\n }\r\n\r\n function Headers(headers) {\r\n this.map = {}\r\n\r\n if (headers instanceof Headers) {\r\n headers.forEach(function (value, name) {\r\n this.append(name, value)\r\n }, this)\r\n } else if (Array.isArray(headers)) {\r\n headers.forEach(function (header) {\r\n this.append(header[0], header[1])\r\n }, this)\r\n } else if (headers) {\r\n Object.getOwnPropertyNames(headers).forEach(function (name) {\r\n this.append(name, headers[name])\r\n }, this)\r\n }\r\n }\r\n\r\n Headers.prototype.append = function (name, value) {\r\n name = normalizeName(name)\r\n value = normalizeValue(value)\r\n var oldValue = this.map[name]\r\n this.map[name] = oldValue ? oldValue + ',' + value : value\r\n }\r\n\r\n Headers.prototype['delete'] = function (name) {\r\n delete this.map[normalizeName(name)]\r\n }\r\n\r\n Headers.prototype.get = function (name) {\r\n name = normalizeName(name)\r\n return this.has(name) ? this.map[name] : null\r\n }\r\n\r\n Headers.prototype.has = function (name) {\r\n return this.map.hasOwnProperty(normalizeName(name))\r\n }\r\n\r\n Headers.prototype.set = function (name, value) {\r\n this.map[normalizeName(name)] = normalizeValue(value)\r\n }\r\n\r\n Headers.prototype.forEach = function (callback, thisArg) {\r\n for (var name in this.map) {\r\n if (this.map.hasOwnProperty(name)) {\r\n callback.call(thisArg, this.map[name], name, this)\r\n }\r\n }\r\n }\r\n\r\n Headers.prototype.keys = function () {\r\n var items = []\r\n this.forEach(function (value, name) {\r\n items.push(name)\r\n })\r\n return iteratorFor(items)\r\n }\r\n\r\n Headers.prototype.values = function () {\r\n var items = []\r\n this.forEach(function (value) {\r\n items.push(value)\r\n })\r\n return iteratorFor(items)\r\n }\r\n\r\n Headers.prototype.entries = function () {\r\n var items = []\r\n this.forEach(function (value, name) {\r\n items.push([name, value])\r\n })\r\n return iteratorFor(items)\r\n }\r\n\r\n if (support.iterable) {\r\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\r\n }\r\n\r\n function consumed(body) {\r\n if (body.bodyUsed) {\r\n return Promise.reject(new TypeError('Already read'))\r\n }\r\n body.bodyUsed = true\r\n }\r\n\r\n function fileReaderReady(reader) {\r\n return new Promise(function (resolve, reject) {\r\n reader.onload = function () {\r\n resolve(reader.result)\r\n }\r\n reader.onerror = function () {\r\n reject(reader.error)\r\n }\r\n })\r\n }\r\n\r\n function readBlobAsArrayBuffer(blob) {\r\n var reader = new FileReader()\r\n var promise = fileReaderReady(reader)\r\n reader.readAsArrayBuffer(blob)\r\n return promise\r\n }\r\n\r\n function readBlobAsText(blob) {\r\n var reader = new FileReader()\r\n var promise = fileReaderReady(reader)\r\n reader.readAsText(blob)\r\n return promise\r\n }\r\n\r\n function readArrayBufferAsText(buf) {\r\n var view = new Uint8Array(buf)\r\n var chars = new Array(view.length)\r\n\r\n for (var i = 0; i < view.length; i++) {\r\n chars[i] = String.fromCharCode(view[i])\r\n }\r\n return chars.join('')\r\n }\r\n\r\n function bufferClone(buf) {\r\n if (buf.slice) {\r\n return buf.slice(0)\r\n } else {\r\n var view = new Uint8Array(buf.byteLength)\r\n view.set(new Uint8Array(buf))\r\n return view.buffer\r\n }\r\n }\r\n\r\n function Body() {\r\n this.bodyUsed = false\r\n\r\n this._initBody = function (body) {\r\n this._bodyInit = body\r\n if (!body) {\r\n this._bodyText = ''\r\n } else if (typeof body === 'string') {\r\n this._bodyText = body\r\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\r\n this._bodyBlob = body\r\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\r\n this._bodyFormData = body\r\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\r\n this._bodyText = body.toString()\r\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\r\n this._bodyArrayBuffer = bufferClone(body.buffer)\r\n // IE 10-11 can't handle a DataView body.\r\n this._bodyInit = new Blob([this._bodyArrayBuffer])\r\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\r\n this._bodyArrayBuffer = bufferClone(body)\r\n } else {\r\n throw new Error('unsupported BodyInit type')\r\n }\r\n\r\n if (!this.headers.get('content-type')) {\r\n if (typeof body === 'string') {\r\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\r\n } else if (this._bodyBlob && this._bodyBlob.type) {\r\n this.headers.set('content-type', this._bodyBlob.type)\r\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\r\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\r\n }\r\n }\r\n }\r\n\r\n if (support.blob) {\r\n this.blob = function () {\r\n var rejected = consumed(this)\r\n if (rejected) {\r\n return rejected\r\n }\r\n\r\n if (this._bodyBlob) {\r\n return Promise.resolve(this._bodyBlob)\r\n } else if (this._bodyArrayBuffer) {\r\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\r\n } else if (this._bodyFormData) {\r\n throw new Error('could not read FormData body as blob')\r\n } else {\r\n return Promise.resolve(new Blob([this._bodyText]))\r\n }\r\n }\r\n\r\n this.arrayBuffer = function () {\r\n if (this._bodyArrayBuffer) {\r\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\r\n } else {\r\n return this.blob().then(readBlobAsArrayBuffer)\r\n }\r\n }\r\n }\r\n\r\n this.text = function () {\r\n var rejected = consumed(this)\r\n if (rejected) {\r\n return rejected\r\n }\r\n\r\n if (this._bodyBlob) {\r\n return readBlobAsText(this._bodyBlob)\r\n } else if (this._bodyArrayBuffer) {\r\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\r\n } else if (this._bodyFormData) {\r\n throw new Error('could not read FormData body as text')\r\n } else {\r\n return Promise.resolve(this._bodyText)\r\n }\r\n }\r\n\r\n if (support.formData) {\r\n this.formData = function () {\r\n return this.text().then(decode)\r\n }\r\n }\r\n\r\n this.json = function () {\r\n return this.text().then(JSON.parse)\r\n }\r\n\r\n return this\r\n }\r\n\r\n // HTTP methods whose capitalization should be normalized\r\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\r\n\r\n function normalizeMethod(method) {\r\n var upcased = method.toUpperCase()\r\n return (methods.indexOf(upcased) > -1) ? upcased : method\r\n }\r\n\r\n function Request(input, options) {\r\n options = options || {}\r\n var body = options.body\r\n\r\n if (input instanceof Request) {\r\n if (input.bodyUsed) {\r\n throw new TypeError('Already read')\r\n }\r\n this.url = input.url\r\n this.credentials = input.credentials\r\n if (!options.headers) {\r\n this.headers = new Headers(input.headers)\r\n }\r\n this.method = input.method\r\n this.mode = input.mode\r\n if (!body && input._bodyInit != null) {\r\n body = input._bodyInit\r\n input.bodyUsed = true\r\n }\r\n } else {\r\n this.url = String(input)\r\n }\r\n\r\n this.credentials = options.credentials || this.credentials || 'omit'\r\n if (options.headers || !this.headers) {\r\n this.headers = new Headers(options.headers)\r\n }\r\n this.method = normalizeMethod(options.method || this.method || 'GET')\r\n this.mode = options.mode || this.mode || null\r\n this.referrer = null\r\n\r\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\r\n throw new TypeError('Body not allowed for GET or HEAD requests')\r\n }\r\n this._initBody(body)\r\n }\r\n\r\n Request.prototype.clone = function () {\r\n return new Request(this, {body: this._bodyInit})\r\n }\r\n\r\n function decode(body) {\r\n var form = new FormData()\r\n body.trim().split('&').forEach(function (bytes) {\r\n if (bytes) {\r\n var split = bytes.split('=')\r\n var name = split.shift().replace(/\\+/g, ' ')\r\n var value = split.join('=').replace(/\\+/g, ' ')\r\n form.append(decodeURIComponent(name), decodeURIComponent(value))\r\n }\r\n })\r\n return form\r\n }\r\n\r\n function parseHeaders(rawHeaders) {\r\n var headers = new Headers()\r\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\r\n // https://tools.ietf.org/html/rfc7230#section-3.2\r\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\r\n preProcessedHeaders.split(/\\r?\\n/).forEach(function (line) {\r\n var parts = line.split(':')\r\n var key = parts.shift().trim()\r\n if (key) {\r\n var value = parts.join(':').trim()\r\n headers.append(key, value)\r\n }\r\n })\r\n return headers\r\n }\r\n\r\n Body.call(Request.prototype)\r\n\r\n function Response(bodyInit, options) {\r\n if (!options) {\r\n options = {}\r\n }\r\n\r\n this.type = 'default'\r\n this.status = 'status' in options ? options.status : 200\r\n this.ok = this.status >= 200 && this.status < 300\r\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\r\n this.headers = new Headers(options.headers)\r\n this.url = options.url || ''\r\n this._initBody(bodyInit)\r\n }\r\n\r\n Body.call(Response.prototype)\r\n\r\n Response.prototype.clone = function () {\r\n return new Response(this._bodyInit, {\r\n status: this.status,\r\n statusText: this.statusText,\r\n headers: new Headers(this.headers),\r\n url: this.url\r\n })\r\n }\r\n\r\n Response.error = function () {\r\n var response = new Response(null, {status: 0, statusText: ''})\r\n response.type = 'error'\r\n return response\r\n }\r\n\r\n var redirectStatuses = [301, 302, 303, 307, 308]\r\n\r\n Response.redirect = function (url, status) {\r\n if (redirectStatuses.indexOf(status) === -1) {\r\n throw new RangeError('Invalid status code')\r\n }\r\n\r\n return new Response(null, {status: status, headers: {location: url}})\r\n }\r\n\r\n self.Headers = Headers\r\n self.Request = Request\r\n self.Response = Response\r\n\r\n self.fetch = function (input, init) {\r\n return new Promise(function (resolve, reject) {\r\n var request = new Request(input, init)\r\n var xhr = new XMLHttpRequest()\r\n\r\n xhr.onload = function () {\r\n var options = {\r\n status: xhr.status,\r\n statusText: xhr.statusText,\r\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\r\n }\r\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\r\n var body = 'response' in xhr ? xhr.response : xhr.responseText\r\n resolve(new Response(body, options))\r\n }\r\n\r\n xhr.onerror = function () {\r\n reject(new TypeError('Network request failed'))\r\n }\r\n\r\n xhr.ontimeout = function () {\r\n reject(new TypeError('Network request failed'))\r\n }\r\n\r\n xhr.open(request.method, request.url, true)\r\n\r\n if (request.credentials === 'include') {\r\n xhr.withCredentials = true\r\n } else if (request.credentials === 'omit') {\r\n xhr.withCredentials = false\r\n }\r\n\r\n if ('responseType' in xhr && support.blob) {\r\n xhr.responseType = 'blob'\r\n }\r\n\r\n request.headers.forEach(function (value, name) {\r\n xhr.setRequestHeader(name, value)\r\n })\r\n\r\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\r\n })\r\n }\r\n self.fetch.polyfill = true;\r\n}\r\n\r\nexport default fetchPolyfill;\n\n\n// WEBPACK FOOTER //\n// ./src/libs/fetch.polyfill.js","function promisePolyfill(root) {\r\n\r\n // Store setTimeout reference so promise-polyfill will be unaffected by\r\n // other code modifying setTimeout (like sinon.useFakeTimers())\r\n var setTimeoutFunc = setTimeout;\r\n\r\n function noop() {}\r\n\r\n // Polyfill for Function.prototype.bind\r\n function bind(fn, thisArg) {\r\n return function () {\r\n fn.apply(thisArg, arguments);\r\n };\r\n }\r\n\r\n function Promise(fn) {\r\n if (typeof this !== 'object') throw new TypeError('Promises must be constructed via new');\r\n if (typeof fn !== 'function') throw new TypeError('not a function');\r\n this._state = 0;\r\n this._handled = false;\r\n this._value = undefined;\r\n this._deferreds = [];\r\n\r\n doResolve(fn, this);\r\n }\r\n\r\n function handle(self, deferred) {\r\n while (self._state === 3) {\r\n self = self._value;\r\n }\r\n if (self._state === 0) {\r\n self._deferreds.push(deferred);\r\n return;\r\n }\r\n self._handled = true;\r\n Promise._immediateFn(function () {\r\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\r\n if (cb === null) {\r\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\r\n return;\r\n }\r\n var ret;\r\n try {\r\n ret = cb(self._value);\r\n } catch (e) {\r\n reject(deferred.promise, e);\r\n return;\r\n }\r\n resolve(deferred.promise, ret);\r\n });\r\n }\r\n\r\n function resolve(self, newValue) {\r\n try {\r\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\r\n if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.');\r\n if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {\r\n var then = newValue.then;\r\n if (newValue instanceof Promise) {\r\n self._state = 3;\r\n self._value = newValue;\r\n finale(self);\r\n return;\r\n } else if (typeof then === 'function') {\r\n doResolve(bind(then, newValue), self);\r\n return;\r\n }\r\n }\r\n self._state = 1;\r\n self._value = newValue;\r\n finale(self);\r\n } catch (e) {\r\n reject(self, e);\r\n }\r\n }\r\n\r\n function reject(self, newValue) {\r\n self._state = 2;\r\n self._value = newValue;\r\n finale(self);\r\n }\r\n\r\n function finale(self) {\r\n if (self._state === 2 && self._deferreds.length === 0) {\r\n Promise._immediateFn(function() {\r\n if (!self._handled) {\r\n Promise._unhandledRejectionFn(self._value);\r\n }\r\n });\r\n }\r\n\r\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\r\n handle(self, self._deferreds[i]);\r\n }\r\n self._deferreds = null;\r\n }\r\n\r\n function Handler(onFulfilled, onRejected, promise) {\r\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\r\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\r\n this.promise = promise;\r\n }\r\n\r\n /**\r\n * Take a potentially misbehaving resolver function and make sure\r\n * onFulfilled and onRejected are only called once.\r\n *\r\n * Makes no guarantees about asynchrony.\r\n */\r\n function doResolve(fn, self) {\r\n var done = false;\r\n try {\r\n fn(function (value) {\r\n if (done) return;\r\n done = true;\r\n resolve(self, value);\r\n }, function (reason) {\r\n if (done) return;\r\n done = true;\r\n reject(self, reason);\r\n });\r\n } catch (ex) {\r\n if (done) return;\r\n done = true;\r\n reject(self, ex);\r\n }\r\n }\r\n\r\n Promise.prototype['catch'] = function (onRejected) {\r\n return this.then(null, onRejected);\r\n };\r\n\r\n Promise.prototype.then = function (onFulfilled, onRejected) {\r\n var prom = new (this.constructor)(noop);\r\n\r\n handle(this, new Handler(onFulfilled, onRejected, prom));\r\n return prom;\r\n };\r\n\r\n Promise.all = function (arr) {\r\n var args = Array.prototype.slice.call(arr);\r\n\r\n return new Promise(function (resolve, reject) {\r\n if (args.length === 0) return resolve([]);\r\n var remaining = args.length;\r\n\r\n function res(i, val) {\r\n try {\r\n if (val && (typeof val === 'object' || typeof val === 'function')) {\r\n var then = val.then;\r\n if (typeof then === 'function') {\r\n then.call(val, function (val) {\r\n res(i, val);\r\n }, reject);\r\n return;\r\n }\r\n }\r\n args[i] = val;\r\n if (--remaining === 0) {\r\n resolve(args);\r\n }\r\n } catch (ex) {\r\n reject(ex);\r\n }\r\n }\r\n\r\n for (var i = 0; i < args.length; i++) {\r\n res(i, args[i]);\r\n }\r\n });\r\n };\r\n\r\n Promise.resolve = function (value) {\r\n if (value && typeof value === 'object' && value.constructor === Promise) {\r\n return value;\r\n }\r\n\r\n return new Promise(function (resolve) {\r\n resolve(value);\r\n });\r\n };\r\n\r\n Promise.reject = function (value) {\r\n return new Promise(function (resolve, reject) {\r\n reject(value);\r\n });\r\n };\r\n\r\n Promise.race = function (values) {\r\n return new Promise(function (resolve, reject) {\r\n for (var i = 0, len = values.length; i < len; i++) {\r\n values[i].then(resolve, reject);\r\n }\r\n });\r\n };\r\n\r\n // Use polyfill for setImmediate for performance gains\r\n Promise._immediateFn = (typeof setImmediate === 'function' && function (fn) { setImmediate(fn); }) ||\r\n function (fn) {\r\n setTimeoutFunc(fn, 0);\r\n };\r\n\r\n Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\r\n if (typeof console !== 'undefined' && console) {\r\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\r\n }\r\n };\r\n\r\n /**\r\n * Set the immediate function to execute callbacks\r\n * @param fn {function} Function to execute\r\n * @deprecated\r\n */\r\n Promise._setImmediateFn = function _setImmediateFn(fn) {\r\n Promise._immediateFn = fn;\r\n };\r\n\r\n /**\r\n * Change the function to execute on unhandled rejection\r\n * @param {function} fn Function to execute on unhandled rejection\r\n * @deprecated\r\n */\r\n Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) {\r\n Promise._unhandledRejectionFn = fn;\r\n };\r\n\r\n if (typeof module !== 'undefined' && module.exports) {\r\n module.exports = Promise;\r\n } else if (!root.Promise) {\r\n root.Promise = Promise;\r\n }\r\n\r\n}\r\n\r\nexport default promisePolyfill;\n\n\n// WEBPACK FOOTER //\n// ./src/libs/promise.polyfill.js","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/timers-browserify/main.js","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a