Plugin Directory

Changeset 2639060


Ignore:
Timestamp:
12/03/2021 11:19:58 AM (4 years ago)
Author:
loymax
Message:

#99324 Изменить название операции с Начисления на Активация

Location:
loymaxapp/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • loymaxapp/trunk/custom-templates/en.yml

    r2638420 r2639060  
    298298  gift: "Gift"
    299299  charging: "Deposit"
     300 rewardData:
     301  bonus: "Accrual"
     302  activation: "Activation"
     303  charging: "Accrual"
     304 withdrawData:
     305  bonus: "Deduction"
     306  expiration: "Expiration"
    300307merchants:
    301308 title: &merchants "Points of sale"
  • loymaxapp/trunk/custom-templates/ru.yml

    r2638420 r2639060  
    298298  gift: "Подарок"
    299299  charging: "Начисление"
     300 rewardData:
     301  bonus: "Начисление"
     302  activation: "Активация"
     303  charging: "Начисление"
     304 withdrawData:
     305  bonus: "Списание"
     306  expiration: "Сгорание"
    300307merchants:
    301308 title: &merchants "Магазины"
  • loymaxapp/trunk/loymax-app.php

    r2638420 r2639060  
    44 * Plugin Name: LoymaxWebApp
    55 * Description: Loymax loyalty program User Portal configuration.
    6  * Version: 3.2.7
     6 * Version: 3.2.8
    77 * Author URI:  https://loymax.ru/
    88 * Author: Loymax solutions
  • loymaxapp/trunk/public/app.min.js

    r2638420 r2639060  
    11/**
    2  * Loymax v2.2.20211202 (http://loymax.ru)
     2 * Loymax v2.2.20211203 (http://loymax.ru)
    33 * Copyright 2011-2021 Loymax, Inc.
    44 * License: MIT
     
    93079307"use strict";!function(n){n.module("lmxApp").service("changeEmailService",["$http","configurationService",function(n,e){function r(n){d=n}function t(){return f(n.get(m,{area:d}))}function i(n){return c(m,{email:n})}function o(){return c(m+"SendConfirmCode")}function u(n){return c(m+"Confirm",{confirmCode:n})}function a(){return c(m+"CancelChange")}function c(e,r){return f(n.post(e,r,{area:d}))}function f(n){return s.inProgress=!0,n.then(function(n){return n.data})["finally"](function(){s.inProgress=!1})}function l(n){s=n}var s,d,m=e.host+"api/User/Email/";return{setArea:r,getState:t,sendCode:i,reSendCode:o,confirmEmail:u,cancelChangeEmail:a,bindLoader:l}}])}(angular);
    93089308"use strict";!function(e){e.module("lmxApp").directive("lmxUserEmail",["$rootScope","authService","changeEmailService","localStorageService","notification","routingService","userAlertService","translateFilter","resendService",function(i,t,a,n,r,o,s,l,c){return{restrict:"E",replace:!0,scope:{registration:"=",emailSkippable:"=",alertModal:"="},templateUrl:"app/directives/userEmail/userEmail.html",link:function(m){function d(){m.step=1,m.alertModal||(m.isChangeProcessStarted=!1),m.model.newEmail="",m.model.confirmationCode="",m.alertModal&&i.$broadcast("dismissModal")}var u=m.registration?"registration":"userEmail";a.setArea(u),n.get("isConfirmEmailSuccess")&&(n.remove("isConfirmEmailSuccess"),s(l("contacts.userEmail.alerts.emailUpdated"),"success")),m.isChangeProcessStarted=!!m.alertModal,m.step=1,m.newEmail="",m.model={newEmail:"",confirmationCode:""},m.loader={inProgress:!m.alertModal},m.resendTimer=c.getTimer(c.requestEnums.sendConfirmCodeMail),a.bindLoader(m.loader),m.alertModal||a.getState().then(function(i){m.currentEmail=i.currentEmail,e.isObject(i.newEmail)&&i.newEmail.email?(m.newEmail=i.newEmail.email,m.step+=1,m.openForm()):m.currentEmail?m.isChangeProcessStarted=!1:m.openForm()}),m.openForm=function(){m.isChangeProcessStarted=!0},m.closeForm=function(e){r.clearNotifications(u),m.registration?m.emailSkippable&&2===m.step?a.cancelChangeEmail().then(function(){t.clearAuthData(),o.goToLogin()}):(t.clearAuthData(),o.goToLogin()):m.isChangeProcessStarted&&!e?1===m.step?d():a.cancelChangeEmail().then(d):m.isChangeProcessStarted=!1},m.reEnterEmail=function(e){r.clearNotifications(u),e.$submitted=!1,m.model.confirmationCode="",!m.registration||m.emailSkippable?a.cancelChangeEmail().then(function(){m.step=1}):m.step=1},m.next=function(e){1===m.step?(m.sendCode(),e.$submitted=!1):m.confirmEmail()},m.sendCode=function(){a.sendCode(m.model.newEmail).then(function(){c.setTimer(c.requestEnums.sendConfirmCodeMail),m.newEmail=m.model.newEmail,m.step+=1})},m.reSendCode=function(){a.reSendCode().then(function(){c.setTimer(c.requestEnums.sendConfirmCodeMail),r.addMessage(l((m.registration?"registration.emailStep":"contacts.userEmail")+".alerts.codeSent"),u)})},m.confirmEmail=function(){a.confirmEmail(m.model.confirmationCode).then(function(){m.currentEmail=m.newEmail,i.$broadcast("emailIsSet"),m.registration?n.set("forceEmailStepHasCode",!0):(s(l("contacts.userEmail.alerts.emailUpdated"),"success"),d(),m.closeForm(!0))})},m.skipStep=function(){n.set("forceEmailStepSkipped",!0),i.$broadcast("emailIsSet")}}}}])}(angular);
    9309 "use strict";!function(e){e.module("lmxApp").directive("lmxUserEmailModal",["$rootScope","modalService","changeEmailService","configurationService","localStorageService",function(e,o,t,a,l){return{restrict:"E",replace:!0,link:function(r){function i(){u=l.get("emailModalCounter")?l.get("emailModalCounter"):0,s=e.isAuth()&&g&&u<E}r.loader={inProgress:!0},t.bindLoader(r.loader),t.setArea("userEmail");var n,m,u,s,d=1e3*a.common.modalShowTimeout,c=3600*a.common.modalShowInterval*1e3,g=a.common.turnOnOfferModal,E=a.common.maxPopupNumber;l.get("userEmailModalClosed")&&(m=l.get("userEmailModalClosed"));var M=function(){return e.wasLogout?void(e.wasLogout=!1):void(e.isAuth()&&t.getState().then(function(e){n=e.currentEmail&&e.currentEmail.length,n||o.open({templateUrl:"app/directives/userEmailModal/userEmailModal.html",controller:"userEmailModalController",backdrop:!1,keyboard:!0,resolve:{isChangeProcessStarted:!0}}).closed.then(function(){l.set("userEmailModalClosed",(new Date).getTime()),l.set("emailModalCounter",l.get("emailModalCounter")+1),i(),f()})}))},f=function(){if(s)if(l.get("userEmailModalClosed")){m=l.get("userEmailModalClosed");var e=m+c-(new Date).getTime();e<=0&&(e=d),setTimeout(M,e)}else setTimeout(M,d)};i(),f()}}}])}(angular);
     9309"use strict";!function(e){e.module("lmxApp").directive("lmxUserEmailModal",["$rootScope","modalService","changeEmailService","configurationService","localStorageService",function(e,o,t,a,l){return{restrict:"E",replace:!0,link:function(r){function i(){m=l.get("emailModalCounter")?l.get("emailModalCounter"):0,s=e.isAuth()&&p&&m<g}r.loader={inProgress:!0},t.bindLoader(r.loader),t.setArea("userEmail");var n,u,m,s,d=1e3*a.common.modalShowTimeout,c=3600*a.common.modalShowInterval*1e3,p=a.common.turnOnOfferModal,g=a.common.maxPopupNumber;l.get("userEmailModalClosed")&&(u=l.get("userEmailModalClosed"));var E=function(){return e.wasLogout?void(e.wasLogout=!1):void(e.isAuth()&&t.getState().then(function(e){n=e.currentEmail&&e.currentEmail.length,n||o.open({templateUrl:"app/directives/userEmailModal/userEmailModal.html",controller:"userEmailModalController",backdrop:!1,keyboard:!0,resolve:{isChangeProcessStarted:!0}}).closed.then(function(){l.set("userEmailModalClosed",(new Date).getTime()),l.set("emailModalCounter",l.get("emailModalCounter")+1),i(),r.popup()})}))};r.popup=function(){if(s)if(l.get("userEmailModalClosed")){u=l.get("userEmailModalClosed");var e=u+c-(new Date).getTime();e<=0&&(e=d),setTimeout(E,e)}else setTimeout(E,d)},i(),r.popup()}}}])}(angular);
    93109310"use strict";!function(o){o.module("lmxApp").controller("userEmailModalController",["$scope","$uibModalInstance","configurationService",function(o,s,i){o.popupText=i.common.popupText,o.$on("dismissModal",s.dismiss),o.close=s.dismiss}])}(angular);
    93119311"use strict";!function(e){e.module("lmxApp").directive("lmxUserInfo",["$q","$window","configurationService","routingService",function(t,r,n,o){return{restrict:"E",replace:!0,templateUrl:"app/directives/userInfo/userInfo.html",link:function(i,s,a){i.isInfoLoaded=void 0,i.baseUrl=a.baseUrl||"",i.balanceUrl=o.pages.balance,i.isPassiveLogout=e.isDefined(a.passiveLogout)&&i.baseUrl.replace(/^\//,"")!==r.location.pathname.replace(/^\//,"");var u,l=n.common.userStatusAttributeName,c=n.common.userPurchasesAmountAttributeName;if(i.userInfo)u=t.when();else{var f=t.defer();u=f.promise;var m=i.$on("loadUserInfo",function(){f.resolve(),m()})}u.then(function(){i.statusAttribute=l?i.userInfo.attributes[l]:null,i.purchasesAttribute=c?i.userInfo.attributes[c]:null})["finally"](function(){i.isInfoLoaded=!0})}}}])}(angular);
     
    93909390"use strict";!function(t){t.module("lmxApp").service("userService",["$http","$q","$rootScope","configurationService","backendEnumsService",function(n,e,r,u,a){function c(){var t={userInfo:i(),userBalance:s()};return e.all(t).then(function(t){var n=t.userInfo;return n.balanceAccounts=t.userBalance,n.baseBalanceAccount=n.balanceAccounts[0],n})}function i(t){if(S)return e.when(S);var r={};return t&&(r.headers={Authorization:t.data.token_type+" "+t.data.access_token}),n.get(v,r).then(function(t){return t.data.state&&t.data.state===a.enums.userStatus.registered&&(S=t.data),t.data})}function o(){S=null}function s(){return n.get(m+"Balance").then(function(t){return t.data})}function f(){return n.get(v+"DetailedBalance").then(function(t){return t.data})}function l(){return n.get(v+"Attributes").then(function(n){var e={};return t.forEach(n.data,function(t){e[t.info.logicalName]=t}),e})}function d(t){return n.get(v+"Subscriptions",{params:{subscriptionExternalIds:t}}).then(function(t){return t.data})}function h(){return n.post(u.host+"/v1.2/User/Subscriptions/Reject",{}).then(function(t){return t.data})}function p(){return n.post(u.host+"/v1.2/User/Subscriptions/Confirm",{}).then(function(t){return t.data})}function g(t){return n.post(v+"Subscriptions",t).then(function(t){return t})}function b(){return n.get(v+"Status").then(function(t){return t.data})}var S,v=u.host+"api/User/",m=u.host+"v1.1/User/";return{getUserInfo:c,getDetailedBalance:f,getBalance:s,getAttributes:l,getSubscriptions:d,setSubscriptions:g,getUserStatus:b,getUser:i,removeUserData:o,rejectAllSubscriptions:h,confirmAllSubscription:p}}])}(angular);
    93919391angular.module("templateCache").run(["$templateCache",function(n){n.put("app/directives/announcement/modal/announcementModal.html",'<div>\r\n    <div class="modal-header">\r\n        <div class="lmx-modal-closer" ng-click="close()"></div>\r\n        <h2>{{:: announcement.attributes.OfferTitle.value}}</h2>\r\n    </div>\r\n\r\n    <div class="modal-content-wrapper">\r\n        <div class="modal-body">\r\n            <div class="lmx-image">\r\n                <img ng-src="{{:: getAnnouncementImagePath(announcement.attributes.OfferImage.value)}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="">\r\n            </div>\r\n            <div class="lmx-description">{{:: announcement.attributes.OfferDescription.value}}</div>\r\n        </div>\r\n        <div class="modal-footer lmx-btn-container">\r\n            <button type="button" ng-click="close()">{{\'buttons.close\' | translate}}</button>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/announcement/modal/authAnnouncementModal.html",'<div>\r\n    <div class="lmx-modal-closer" ng-click="close()"></div>\r\n    <div loader="inProgress">\r\n        <div ng-if="!inProgress" class="modal-content-wrapper">\r\n            <div class="modal-body">\r\n                <a href="#/offers">\r\n                    <div class="lmx-image">\r\n                        <img ng-src="{{:: getAnnouncementImagePath(announcement.attributesDictionary.OfferImage.value)}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="" ng-click="openOffer()">\r\n                    </div>\r\n                </a>\r\n            </div>\r\n            <div class="modal-footer lmx-btn-container">\r\n                <button type="button" ng-click="close()">{{\'buttons.close\' | translate}}</button>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/announcement/offerSpace.html",'<div class="lmx-container lmx-announcements">\r\n    <section>\r\n        <h2>{{\'announcement.title\' | translate}}</h2>\r\n        <div loader="isProgress" class="lmx-announcements-list">\r\n            <article ng-repeat="announcement in announcements track by announcement.id" ng-click="openAnnouncementModal(announcement)" class="lmx-announcement lmx-card">\r\n                <div class="lmx-card-image">\r\n                    <img ng-src="{{:: getAnnouncementImagePath(announcement.attributes.OfferImage.value)}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="">\r\n                </div>\r\n                <div class="lmx-card-content">\r\n                    <div class="lmx-card-title" title="{{:: announcement.attributes.OfferTitle.value}}">\r\n                        {{:: announcement.attributes.OfferTitle.value}}\r\n                    </div>\r\n                    <div class="lmx-card-description">\r\n                        {{:: announcement.attributes.OfferDescription.value}}\r\n                    </div>\r\n                </div>\r\n            </article>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/anonymousFeedback/anonymousFeedback.html",'<div class="lmx-container lmx-anonymous-feedback">\r\n    <section>\r\n        <h2>{{\'anonymousFeedback.title\' | translate}}:</h2>\r\n        <div class="lmx-hint">\r\n            <p ng-bind-html="\'anonymousFeedback.hint\' | translate"></p>\r\n        </div>\r\n        <form novalidate="" name="anonFeedbackForm" ng-submit="anonFeedbackForm.$valid && sendMail(anonFeedbackForm)">\r\n            <form-group label-text="{{\'anonymousFeedback.theme\' | translate}}">\r\n                <input type="text" id="lmx-subject" ng-model="messageModel.subject" name="subject" required="">\r\n            </form-group>\r\n            <form-group label-text="{{\'anonymousFeedback.message\' | translate}}">\r\n                <textarea id="lmx-msg-textarea" ng-model="messageModel.message" name="msg-textarea" ng-trim="false" required="">\r\n                </textarea>\r\n            </form-group>\r\n            <div class="lmx-btn-container">\r\n                <button type="submit" class="lmx-right">{{\'buttons.send\' | translate}}</button>\r\n            </div>\r\n        </form>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/authentication/authentication.html",'<div class="lmx-container lmx-auth">\r\n    <h2>{{\'authentication.title\' | translate}}</h2>\r\n    <lmx-notifications area="login"></lmx-notifications>\r\n\r\n    <identifiers ng-if=":: identifiers.arr !== undefined" ng-hide="cvcRequired" identifiers="identifiers.arr" ng-model="model.identifier" ng-change="resetFormModels()"></identifiers>\r\n\r\n    <form novalidate="" method="post" name="loginForm" ng-submit="loginForm.$valid && login()" id="lmx-loginForm">\r\n        <div ng-if="cvcRequired">\r\n            <p>{{cvcMessage}}</p>\r\n            <form-group label-text="{{\'authentication.code\' | translate}}">\r\n                <input type="text" ng-model="model.cvcData.password" id="lmx-cvc" name="cvc" ng-disabled="authInProgress" required="">\r\n            </form-group>\r\n            <div>\r\n                <a id="lmx-confirm-code-repeated" ng-click="!resendTimer.time && resendCode()" ng-hide="authInProgress" href="">\r\n                    {{\'resetPassword.resendCode\' | translate}}\r\n                    <span ng-if="resendTimer.time">({{resendTimer.time}})</span>\r\n                </a>\r\n            </div>\r\n        </div>\r\n        <div ng-if="!cvcRequired">\r\n            <form-group ng-if="model.identifier === IDENTIFIERS.phone" label-text="{{\'identifiers.\' + model.identifier | translate}}">\r\n                <phone-input ng-model="model.loginData.login" id="lmx-login_{{model.identifier}}" name="login" ng-disabled="authInProgress" required="" autofocus=""></phone-input>\r\n            </form-group>\r\n            <form-group ng-if="model.identifier === IDENTIFIERS.email" label-text="{{\'identifiers.\' + model.identifier | translate}}">\r\n                <input type="email" ng-model="model.loginData.login" id="lmx-login_{{model.identifier}}" name="login" placeholder="[email protected]" required="">\r\n            </form-group>\r\n            <form-group ng-if="model.identifier === IDENTIFIERS.card" label-text="{{\'identifiers.\' + model.identifier | translate}}">\r\n                <input type="text" ng-model="model.loginData.login" id="lmx-login_{{model.identifier}}" name="login" ng-disabled="authInProgress" placeholder="0000 0000 0000 0000" mask="9999 9999 9999 9999" clean="true" validate="false" restrict="reject" required="">\r\n            </form-group>\r\n            <form-group label-text="{{\'authentication.password\' | translate}}">\r\n                <input type="password" ng-model="model.loginData.password" id="lmx-password" name="password" ng-disabled="authInProgress" required="">\r\n            </form-group>\r\n            <div ng-if="!cvcRequired" class="lmx-auth-links lmx-row" ng-class="{\'lmx-invisible\': authInProgress}">\r\n                <div>\r\n                    <a ng-click="resetPassword()" href="">{{\'authentication.forgotPassword\' | translate}}</a>\r\n                </div>\r\n                <div>\r\n                    <a href="{{:: registrationUrl}}">{{\'authentication.register\' | translate}}</a>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class="lmx-btn-container">\r\n            <button type="reset" ng-hide="authInProgress" ng-if="cvcRequired" ng-click="cancelCvcConfirmation()">\r\n                {{\'buttons.cancel\' | translate}}\r\n            </button>\r\n            <button type="submit" ng-hide="authInProgress">\r\n                {{\'authentication.login\' | translate}}\r\n            </button>\r\n\r\n            <inline-loader line="">authInProgress</inline-loader>\r\n        </div>\r\n        <lmx-social ng-if="!cvcRequired" ng-hide="authInProgress"></lmx-social>\r\n    </form>\r\n</div>\r\n'),n.put("app/directives/balance/balance.html",'<div class="lmx-container lmx-balance">\r\n    <section>\r\n        <h2>{{\'balance.title\' | translate}}</h2>\r\n        <div loader="inProgress">\r\n            <div ng-if="!inProgress" ng-switch="!!balanceAccounts.length">\r\n                <div ng-switch-when="true" class="lmx-balance-block">\r\n                    <lmx-tabs list="balanceAccounts" ng-model="selectedAccount" view-field="title">\r\n                    </lmx-tabs>\r\n                    <balance-info></balance-info>\r\n                    <div class="lmx-balance-accordion-wrap">\r\n                        <uib-accordion class="lmx-balance-accordion">\r\n                            <uib-accordion-group ng-repeat="selectedAccount in balanceAccounts" class="lmx-balance-accordion-group">\r\n                                <uib-accordion-heading class="lmx-balance-header">\r\n                                    <span>{{::selectedAccount.title}}</span>\r\n                                    <span class="glyphicon glyphicon-chevron-down"></span>\r\n                                    <span class="glyphicon glyphicon-chevron-up"></span>\r\n                                </uib-accordion-heading>\r\n                                <balance-info></balance-info>\r\n                            </uib-accordion-group>\r\n                        </uib-accordion>\r\n                    </div>\r\n                </div>\r\n                <div ng-switch-when="false" class="lmx-no-balance-block">\r\n                    {{\'balance.infoNotFound\' | translate}}\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/balance/balanceInfo.html",'<div class="lmx-balance-tab-content">\r\n    <h3>{{selectedAccount.currency.name}}</h3>\r\n    <div class="lmx-account-description">{{selectedAccount.currency.description}}</div>\r\n    <div class="lmx-account-details">\r\n        <div>\r\n            <b>{{\'balance.amount\' | translate}}</b>: {{selectedAccount.amount | number: 2}}\r\n            {{selectedAccount.currency.nameCases[getCurrencyNameCase(selectedAccount.amount)]}}\r\n        </div>\r\n        <div>\r\n            <b>{{\'balance.notActivatedAmount\' | translate}}</b>:\r\n            {{selectedAccount.notActivatedAmount | number: 2}}\r\n            {{selectedAccount.currency.nameCases[getCurrencyNameCase(selectedAccount.notActivatedAmount)]}}\r\n        </div>\r\n    </div>\r\n    <table ng-if="selectedAccount.lifeTimesByTime.length">\r\n        <tr>\r\n            <th>{{\'balance.lastWeekChanges\' | translate}}</th>\r\n            <th>{{\'balance.date\' | translate}}</th>\r\n        </tr>\r\n        <tr ng-repeat="lifeTime in selectedAccount.lifeTimesByTime track by $index">\r\n            <td class="lmx-for-desktop">\r\n                {{lifeTime.amount | number:\r\n                2}}&nbsp;{{selectedAccount.currency.nameCases[getCurrencyNameCase(lifeTime.amount)]}}\r\n            </td>\r\n            <td class="lmx-for-mobile">\r\n                {{lifeTime.amount | number: 2}}\r\n                <span class="lmx-amount-name">{{selectedAccount.currency.nameCases[getCurrencyNameCase(lifeTime.amount)]}}</span>\r\n            </td>\r\n            <td>{{lifeTime.date | toUTC | shortDateTime}}</td>\r\n        </tr>\r\n    </table>\r\n\r\n    <table ng-if="selectedAccount.lifeTimesByPeriod.length">\r\n        <tr>\r\n            <th>{{\'balance.period\' | translate}}</th>\r\n            <th>{{\'balance.activationAmount\' | translate}}</th>\r\n            <th>{{\'balance.expirationAmount\' | translate}}</th>\r\n        </tr>\r\n        <tr ng-repeat="lifeTime in selectedAccount.lifeTimesByPeriod track by $index">\r\n            <td>\r\n                {{(\'balance.lifeTimePeriod.\' + (lifeTime.period | lowerCamelCase)) | translate}}\r\n            </td>\r\n            <td class="lmx-for-desktop">\r\n                {{lifeTime.activationAmount | number:\r\n                2}}&nbsp;{{selectedAccount.currency.nameCases[getCurrencyNameCase(lifeTime.activationAmount)]}}\r\n            </td>\r\n            <td class="lmx-for-mobile">\r\n                {{lifeTime.activationAmount | number: 2}}\r\n                <span class="lmx-amount-name">{{selectedAccount.currency.nameCases[getCurrencyNameCase(lifeTime.activationAmount)]}}</span>\r\n            </td>\r\n            <td class="lmx-for-desktop">\r\n                {{lifeTime.expirationAmount | number:\r\n                2}}&nbsp;{{selectedAccount.currency.nameCases[getCurrencyNameCase(lifeTime.expirationAmount)]}}\r\n            </td>\r\n            <td class="lmx-for-mobile">\r\n                {{lifeTime.expirationAmount | number: 2}}\r\n                <span class="lmx-amount-name">{{selectedAccount.currency.nameCases[getCurrencyNameCase(lifeTime.expirationAmount)]}}</span>\r\n            </td>\r\n        </tr>\r\n    </table>\r\n</div>\r\n'),n.put("app/directives/balanceChanges/balanceChanges.html",'<div class="lmx-container lmx-balance-changes">\r\n    <div class="lmx-balance-changes-table">\r\n        <div class="lmx-balance-changes-operations-list lmx-margin-bottom" loader="inProgress">\r\n            <div>\r\n                <table>\r\n                    <tbody>\r\n                        <tr class="lmx-purchase-amount-row">\r\n                            <td class="lmx-identity">\r\n                                {{\'balanceChanges.purchaseAmount\' | translate}}:\r\n                            </td>\r\n                            <td class="lmx-amount" ng-switch="model.aggregateWithdrawRewardPurchase.purchaseAmount.length" colspan="2">\r\n                                <p class="lmx-amount-text" ng-switch-when="0">0</p>\r\n                                <p ng-repeat="item in model.aggregateWithdrawRewardPurchase.purchaseAmount" class="lmx-amount-text" ng-switch-default="">\r\n                                    {{:: item.amount.amount}} {{:: item.amount.currency}}\r\n                                </p>\r\n                            </td>\r\n                        </tr>\r\n                        <tr class="lmx-rewards-row">\r\n                            <td class="lmx-identity">{{\'balanceChanges.rewards\' | translate}}:</td>\r\n                            <td class="lmx-amount" ng-switch="model.aggregateWithdrawRewardPurchase.rewards.length" colspan="2">\r\n                                <p class="lmx-amount-text" ng-switch-when="0">0</p>\r\n                                <p ng-switch-default="" ng-repeat="reward in model.aggregateWithdrawRewardPurchase.rewards" class="lmx-amount-text">\r\n                                    {{:: reward.amount.amount}} {{:: reward.amount.currency}}\r\n                                </p>\r\n                            </td>\r\n                        </tr>\r\n                        <tr class="lmx-withdraws-row">\r\n                            <td class="lmx-identity">{{\'balanceChanges.withdraws\' | translate}}:</td>\r\n                            <td class="lmx-amount" colspan="2" ng-switch="model.aggregateWithdrawRewardPurchase.withdraws.length">\r\n                                <p class="lmx-amount-text" ng-switch-when="0">0</p>\r\n                                <p ng-repeat="withdraw in model.aggregateWithdrawRewardPurchase.withdraws" class="lmx-amount-text" ng-switch-default="">\r\n                                    {{:: withdraw.amount.amount}} {{:: withdraw.amount.currency}}\r\n                                </p>\r\n                            </td>\r\n                        </tr>\r\n                        <tr ng-if="model.percentageOfBonuses.length" class="lmx-operation-info" class-toggle-click="percent-opened" ng-class="::{\'lmx-only-one-element\': model.percentageOfBonuses.length === 1}" ng-click="changeLimit()">\r\n                            <td class="lmx-identity">{{\'balanceChanges.percent\' | translate}}:</td>\r\n                            <td class="date-range">\r\n                                <p class="lmx-amount-text lmx-percent-info" ng-repeat="item in model.percentageOfBonuses | limitTo: limit">\r\n                                    <span class="lmx-operation-info-date">\r\n                                        {{item.createDateTime | toUTC | dateRange:\r\n                                        (item.changeDateTime | toUTC):true | capitalize}}\r\n                                    </span>\r\n                                    <span class="lmx-operation-info-value">\r\n                                        {{item.attributeValue}}\r\n                                    </span>\r\n                                </p>\r\n                            </td>\r\n                            <td class="lmx-percent-info-expander"></td>\r\n                        </tr>\r\n                        <tr ng-if="!model.percentageOfBonuses.length" class="lmx-not-found-row">\r\n                            <td class="lmx-identity">{{\'balanceChanges.percent\' | translate}}:</td>\r\n                            <td class="lmx-amount" colspan="2">\r\n                                {{\'balanceChanges.notFound\' | translate}}\r\n                            </td>\r\n                        </tr>\r\n                    </tbody>\r\n                </table>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/birthdayPicker/birthdayPicker.html",'<div class="lmx-birthday-picker">\r\n    <div class="lmx-birthday-picker-wrapper lmx-day">\r\n        <div lmx-custom-select="" ng-model="date" repeat="dates" placeholder="{{\'datePicker.day\' | translate}}" options="d for d in dates track by d" is-disabled="disabled"></div>\r\n    </div>\r\n    <div class="lmx-birthday-picker-wrapper lmx-month">\r\n        <div lmx-custom-select="" ng-model="month" repeat="months" placeholder="{{\'datePicker.month\' | translate}}" options="m.value as m.name for m in months" is-disabled="disabled"></div>\r\n    </div>\r\n    <div class="lmx-birthday-picker-wrapper lmx-year">\r\n        <div lmx-custom-select="" ng-model="year" repeat="years" placeholder="{{\'datePicker.year\' | translate}}" options="y for y in years" is-disabled="disabled"></div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/brand/brand.html",'<div class="lmx-container lmx-brand">\r\n    <section>\r\n        <h2>{{::brand.name}}</h2>\r\n        <p>{{::brand.description}}</p>\r\n        <div class="lmx-content">\r\n            <div class="lmx-image">\r\n                <img ng-src="{{:: brand.imgUrl}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="">\r\n            </div>\r\n            <a ng-href="{{::brand.url}}">{{\'brands.site\' | translate}}</a>\r\n            <div ng-if="merchants.length">\r\n                <p>{{\'brands.locations\' | translate}}:</p>\r\n                <div ng-repeat="merchant in merchants track by merchant.id">\r\n                    <span>{{::merchant.location.description}}</span>\r\n                </div>\r\n                <lmx-map class="lmx-map" data="merchants" options="{\r\n                                    markerImg: brand.markerUrl,\r\n                                    markerSize: [29, 32]\r\n                                   }">\r\n                </lmx-map>\r\n            </div>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/brands/brands.html",'<div>\r\n    <div class="lmx-container lmx-brands" ng-if="!appLocationParts[1]">\r\n        <section>\r\n            <h2>{{\'brands.title\' | translate}}</h2>\r\n            <div loader="inProgress">\r\n                <!-- TODO width: 400px; height: 400px; -->\r\n                <div class="lmx-card" style="width: 400px; height: 400px;" ng-repeat="brand in brands track by brand.id" ng-click="changeLocation(\'brands/\' + brand.id)">\r\n                    <div>\r\n                        <img ng-src="{{:: brand.imgUrl}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="" style="height: 250px; padding: 10px">\r\n                    </div>\r\n                    <div class="lmx-card-content">\r\n                        <span class="lmx-card-title">{{:: brand.name}}</span>\r\n                        <div class="lmx-description">{{::brand.description}}</div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </section>\r\n    </div>\r\n    <brand ng-if="appLocationParts[1]" brand-id="appLocationParts[1]"></brand>\r\n</div>\r\n'),n.put("app/directives/brandsNames/brandsNames.html",'<div class="lmx-brands-names" ng-class="{\'lmx-one-brand\': brands.length === 1}">\r\n    <div ng-if="brands.length > 1">\r\n        <span ng-repeat="brand in brands track by brand.id">\r\n            {{::brand.name | nbspSpaces}}<span ng-show="!$last">, </span>\r\n        </span>\r\n    </div>\r\n    <div ng-if="brands.length === 1" ng-switch=":: !!brands[0].imgUrl && brands[0].imgUrl !== \'undefined\'">\r\n        <span ng-switch-when="false">{{:: brands[0].name | nbspSpaces}}</span>\r\n        <img ng-switch-when="true" class="lmx-brand-img" ng-src="{{:: brands[0].imgUrl}}" fallback-image="" alt="" title="{{:: brands[0].name}}">\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/cards/card/card.html",'<div>\r\n    <div class="lmx-card-item__image" ng-class="{\'lmx-blocked\': card.block}">\r\n        <img ng-src="{{ card.imageUrl}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="">\r\n    </div>\r\n    <div class="lmx-card-item__info" ng-switch=":: !!cardNumberGraphicalCodes.length && !card.isInGroup">\r\n        <div ng-switch-when="true">\r\n            <!-- Пробел после :: в {{::cardNumberGraphicalCodes.join(\' \')}} сводит префиксер с ума -->\r\n            <div class="lmx-card-number lmx-card-code lmx-{{::cardNumberGraphicalCodes.join(\' lmx-\')}}" ng-click="displayCodes(card)">\r\n                <a class="lmx-pseudolink">{{:: card.number | charsDivide: 4}}</a>\r\n            </div>\r\n        </div>\r\n        <div ng-switch-when="false" class="lmx-card-number">{{:: card.number | charsDivide: 4}}</div>\r\n\r\n        <div class="lmx-card-category" ng-hide="::card.cardCategory.title.toLowerCase() === \'стандартная\'">\r\n            {{:: card.cardCategory.title}}\r\n        </div>\r\n        <div class="lmx-card-blocked-state-info" ng-if="::card.block">\r\n            {{\'cards.info.blocked\' | translate}}\r\n        </div>\r\n\r\n        <dl class="lmx-card-owner" ng-if="::card.cardOwnerInfo.firstName || card.cardOwnerInfo.lastName || card.patronymicName">\r\n            <dt>{{\'cards.info.owner\' | translate}}:</dt>\r\n            <dd>\r\n                <span>{{:: card.cardOwnerInfo.lastName}}</span>\r\n                <span>{{:: card.cardOwnerInfo.firstName}}</span>\r\n                <span>{{:: card.cardOwnerInfo.patronymicName}}</span>\r\n            </dd>\r\n        </dl>\r\n        <dl class="lmx-card-paid">\r\n            <dt>{{\'cards.info.paid\' | translate}}:</dt>\r\n            <dd>\r\n                <span>{{:: card.paid.amount | number: 2}}</span>\r\n                <span>{{:: card.paid.currencyInfo.nameCases.abbreviation}}</span>\r\n            </dd>\r\n        </dl>\r\n        <div ng-if=":: !card.isInGroup" class="lmx-card-actions">\r\n            <button ng-class="card.block ? \'lmx-card-action__unblock\' : \'lmx-card-action__block\'" class="lmx-block-btn" ng-if="card.cardActionAccessInfo.canBlock" ng-click="blockStateChange(card)" type="button">\r\n                {{card.block ? \'cards.actions.unblock\' : \'cards.actions.block\' | translate}}\r\n            </button>\r\n            <button ng-if="card.cardActionAccessInfo.canReplace" ng-click="replaceCard(card)" type="button" class="lmx-replace-btn">\r\n                {{\'cards.actions.replace\' | translate}}\r\n            </button>\r\n            <a ng-if="card.walletUrl && !card.block && platfotm.currentPlatform" ng-href="{{::card.walletUrl}}" target="_blank" class="lmx-wallet-btn lmx-{{::platfotm.currentPlatform}}-wallet-btn"></a>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/cards/cards.html",'<div class="lmx-container lmx-cards">\r\n    <section>\r\n        <h2>{{\'cards.title\' | translate}}</h2>\r\n        <div loader="inProgress">\r\n            <div ng-if="!inProgress">\r\n                <lmx-tabs ng-if="isAttachCardAvailable" list="tabs" ng-model="selectedTab.value" view-field="name">\r\n                </lmx-tabs>\r\n                <div ng-show="selectedTab.value === tabs.personalCards" ng-class="::{\'lmx-no-add-card-button\': !maxCountOfMainCardsForUserNotReached}" class="lmx-personal-cards">\r\n                    <p ng-bind-html="\'cards.replaceHint\' | translate"></p>\r\n\r\n                    <div class="lmx-card-item-wrap" ng-repeat="card in cards.personal track by card.id">\r\n                        <card card="card" class="lmx-card-item"></card>\r\n                    </div>\r\n                    <div class="lmx-add-card-buttons" ng-if="maxCountOfMainCardsForUserNotReached">\r\n                        <button ng-click="setCard()" type="button" class="lmx-set-card-btn">\r\n                            {{\'cards.actions.set\' | translate}}\r\n                        </button>\r\n                    </div>\r\n                </div>\r\n\r\n                <div ng-show="selectedTab.value === tabs.accountCards" class="lmx-account-cards">\r\n                    <div ng-repeat="card in cards.group track by card.id">\r\n                        <card card="card" class="lmx-card-item" in-group=""></card>\r\n                    </div>\r\n                    <div class="lmx-add-card-buttons">\r\n                        <button ng-click="attachCard()" type="button" class="lmx-attach-btn">\r\n                            {{\'cards.actions.attach\' | translate}}\r\n                        </button>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/cards/modal/modalAttachCard.html",'<div class="lmx-attach-card-modal">\r\n    <div class="modal-header">\r\n        <h2>{{\'cards.attachCardModal.title\' | translate}}</h2>\r\n    </div>\r\n\r\n    <lmx-notifications area="cardModal"></lmx-notifications>\r\n    <div loader="confirmForm === undefined">\r\n        <div ng-hide="confirmForm === undefined" class="lmx-hint lmx-modal-description lmx-row">\r\n            <div>{{\'cards.attachCardModal.separationImpossible\' | translate}}</div>\r\n            <div ng-if="confirmForm" ng-bind-html="\'cards.attachCardModal.confirmCode\' | translate"></div>\r\n        </div>\r\n        <form novalidate="" ng-if="confirmForm === false" name="attachCardForm" ng-submit="attachCardForm.$valid && startAttachCard()">\r\n            <div class="modal-content-wrapper">\r\n                <div class="modal-body">\r\n                    <form-group label-text="{{\'cards.attachCardModal.cardNumber\' | translate}}">\r\n                        <input type="text" ng-model="model.cardNumber" ng-disabled="inProgress" id="lmx-cardnumber" name="cardnumber" required="" autofocus="">\r\n                    </form-group>\r\n                    <form-group label-text="{{\'cards.attachCardModal.password\' | translate}}">\r\n                        <input type="password" ng-model="model.password" ng-disabled="inProgress" id="lmx-password" name="password" autocomplete="off" required="">\r\n                    </form-group>\r\n                </div>\r\n                <div class="modal-footer lmx-btn-container">\r\n                    <div ng-hide="inProgress">\r\n                        <button class="lmx-btn-cancel" type="button" ng-click="cancel()">\r\n                            {{\'buttons.cancel\' | translate}}\r\n                        </button>\r\n                        <button type="submit">{{\'buttons.next\' | translate}}</button>\r\n                    </div>\r\n                    <inline-loader>inProgress</inline-loader>\r\n                </div>\r\n            </div>\r\n        </form>\r\n\r\n        <form novalidate="" ng-if="confirmForm" name="attachCardConfirmForm" ng-submit="attachCardConfirmForm.$valid && confirm()">\r\n            <div class="modal-content-wrapper">\r\n                <div class="modal-body">\r\n                    <form-group label-text="{{\'cards.attachCardModal.code\' | translate}}">\r\n                        <input type="text" ng-model="model.confirmCode" ng-disabled="inProgress" id="lmx-confirmCode" name="confirmCode" required="" autofocus="">\r\n                    </form-group>\r\n                    <div ng-hide="inProgress">\r\n                        <a ng-click="!resendTimer.time && sendConfirmCode()" href="">\r\n                            {{\'cards.attachCardModal.resendConfirmCode\' | translate}}\r\n                            <span ng-if="resendTimer.time">({{resendTimer.time}})</span>\r\n                        </a>\r\n                    </div>\r\n                </div>\r\n                <div class="modal-footer lmx-btn-container">\r\n                    <div ng-hide="inProgress">\r\n                        <button class="lmx-btn-cancel" ng-click="cancelAttachCard()" type="button">\r\n                            {{\'buttons.cancel\' | translate}}\r\n                        </button>\r\n                        <button type="submit">{{\'cards.actions.attach\' | translate}}</button>\r\n                    </div>\r\n                    <inline-loader>inProgress</inline-loader>\r\n                </div>\r\n            </div>\r\n        </form>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/cards/modal/modalBlockStateChange.html",'<div class="lmx-block-state-change-modal">\r\n    <div class="modal-header">\r\n        <h2>\r\n            {{\'cards.blockCardModal.\' + (isBlocked ? \'unblockTitle\' : \'blockTitle\') | translate}}\r\n        </h2>\r\n    </div>\r\n    <lmx-notifications area="cardModal"></lmx-notifications>\r\n    <form novalidate="" name="blockCardForm" ng-submit="blockCardForm.$valid && blockStateChange()">\r\n        <div class="modal-content-wrapper">\r\n            <div class="modal-body">\r\n                <form-group label-text="{{\'cards.blockCardModal.password\' | translate}}">\r\n                    <input type="password" ng-model="model.password" ng-disabled="inProgress" id="lmx-userPassword" name="userPassword" autocomplete="off" required="" autofocus="">\r\n                </form-group>\r\n            </div>\r\n            <div class="modal-footer lmx-btn-container">\r\n                <div ng-hide="inProgress">\r\n                    <button class="lmx-btn-cancel" ng-click="cancel()" type="button">\r\n                        {{\'buttons.cancel\' | translate}}\r\n                    </button>\r\n                    <button type="submit">\r\n                        {{isBlocked ? \'cards.actions.unblock\' : \'cards.actions.block\' | translate}}\r\n                    </button>\r\n                </div>\r\n                <inline-loader>inProgress</inline-loader>\r\n            </div>\r\n        </div>\r\n    </form>\r\n</div>\r\n'),n.put("app/directives/cards/modal/modalGraphicalCodes.html",'<div class="lmx-card-codes-modal">\r\n    <div class="modal-body">\r\n        <section ng-if=":: displayBarCode" class="lmx-bar-code lmx-margin-bottom">\r\n            <h2>{{\'cards.graphicalCodesModal.barCode\' | translate}}</h2>\r\n            <angular-barcode ng-model="card.barCode" bc-type="svg"></angular-barcode>\r\n        </section>\r\n\r\n        <section ng-if=":: displayQrCode" class="lmx-qr-code">\r\n            <h2>{{\'cards.graphicalCodesModal.qrCode\' | translate}}</h2>\r\n            <qrcode data="{{:: card.number}}" size="222"></qrcode>\r\n        </section>\r\n    </div>\r\n\r\n    <div class="modal-footer lmx-btn-container">\r\n        <button type="button" ng-click="close()">{{\'buttons.close\' | translate}}</button>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/cards/modal/modalReplaceCard.html",'<div class="lmx-replace-card-modal">\r\n    <div class="modal-header">\r\n        <h2>{{\'cards.replaceCardModal.title\' | translate}}</h2>\r\n    </div>\r\n    <lmx-notifications area="cardModal"></lmx-notifications>\r\n    <form novalidate="" name="replaceCardForm" ng-submit="replaceCardForm.$valid && replaceCard()">\r\n        <div class="modal-content-wrapper">\r\n            <div class="modal-body">\r\n                <form-group label-text="{{\'cards.replaceCardModal.cardNumber\' | translate}}">\r\n                    <input type="text" ng-model="model.cardNumber" ng-disabled="inProgress" id="lmx-cardNumber" name="cardNumber" required="" autofocus="">\r\n                </form-group>\r\n                <form-group ng-if="cvcCodeCardsRegistration" label-text="{{\'cards.replaceCardModal.cvcCode\' | translate}}">\r\n                    <input type="number" ng-model="model.cvcCode" ng-disabled="inProgress" id="lmx-cvcCode" name="cvcCode">\r\n                </form-group>\r\n                <form-group label-text="{{\'cards.replaceCardModal.password\' | translate}}">\r\n                    <input type="password" ng-model="model.password" ng-disabled="inProgress" id="lmx-password" name="password" autocomplete="off" required="">\r\n                </form-group>\r\n            </div>\r\n            <div class="modal-footer lmx-btn-container">\r\n                <div ng-hide="inProgress">\r\n                    <button class="lmx-btn-cancel" ng-click="cancel()" type="button">\r\n                        {{\'buttons.cancel\' | translate}}\r\n                    </button>\r\n                    <button type="submit">\r\n                        {{\'cards.actions.replace\' | translate}}\r\n                    </button>\r\n                </div>\r\n                <inline-loader>inProgress</inline-loader>\r\n            </div>\r\n        </div>\r\n    </form>\r\n</div>\r\n'),
    9392 n.put("app/directives/cards/modal/modalSetCard.html",'<div class="lmx-set-card-modal">\r\n    <div class="modal-header">\r\n        <h2>{{\'cards.setCardModal.title\' | translate}}</h2>\r\n    </div>\r\n\r\n    <lmx-notifications area="cardModal"></lmx-notifications>\r\n\r\n    <form novalidate="" name="setCardForm" ng-submit="setCardForm.$valid && setCard()">\r\n        <div class="modal-content-wrapper">\r\n            <div class="modal-body">\r\n                <form-group label-text="{{\'cards.setCardModal.cardNumber\' | translate}}">\r\n                    <input type="text" ng-model="model.cardNumber" ng-disabled="inProgress" id="lmx-cardNumber" name="cardNumber" required="" autofocus="">\r\n                </form-group>\r\n                <form-group ng-if="cvcCodeCardsRegistration" label-text="{{\'registration.cardStep.cvcCode\' | translate}}">\r\n                    <input type="number" ng-model="model.cvcCode" ng-disabled="inProgress" id="lmx-cvcCode" name="cvcCode">\r\n                </form-group>\r\n            </div>\r\n            <div class="modal-footer lmx-btn-container">\r\n                <div ng-hide="inProgress">\r\n                    <button class="lmx-btn-cancel" ng-click="cancel()" type="button">\r\n                        {{\'buttons.cancel\' | translate}}\r\n                    </button>\r\n                    <button type="submit">\r\n                        {{\'cards.actions.set\' | translate}}\r\n                    </button>\r\n                </div>\r\n                <inline-loader>inProgress</inline-loader>\r\n            </div>\r\n        </div>\r\n    </form>\r\n</div>\r\n'),n.put("app/directives/coupon/coupon.html",'<div class="lmx-card" style="width: 400px; height: 400px;">\r\n    <div class="lmx-card-image">\r\n        <img ng-src="{{::coupon.imageUri || \'undefined\'}}" fallback-image="" fallback-title="{{\'coupons.imageNotFound\' | translate}}" alt="" style="height: 250px; padding: 10px">\r\n    </div>\r\n    <div class="lmx-card-content">\r\n        <span class="lmx-card-title">{{coupon.name}}</span>\r\n        <span><b>{{\'coupons.price\' | translate}}:</b> {{coupon.price}} RUB</span>\r\n    </div>\r\n    <div class="lmx-card-reveal">\r\n        <span class="lmx-card-title"><span class="glyphicon glyphicon-remove"></span>{{coupon.name}}</span>\r\n        <p>\r\n            <span><b>{{\'coupons.description\' | translate}}:</b>{{:: couponInfo.description ||\r\n                (\'coupons.noDescription\' | translate)}}</span>\r\n        </p>\r\n        <button ng-if=":: loggedIn" type="button" ng-click="openBuyCouponModal(coupon)">\r\n            <div>\r\n                {{\'coupons.buy\' | translate}}\r\n                <span class="lmx-price">{{ coupon.price | zeroFill: 2 }}</span>\r\n            </div>\r\n        </button>\r\n        <button ng-if=":: !loggedIn" type="button" ng-click="goToLogin()">\r\n            <div>{{\'coupons.login\' | translate}}</div>\r\n        </button>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/coupons/coupons.html",'<div class="lmx-container lmx-coupons">\r\n    <h2>{{\'coupons.title\' | translate}}</h2>\r\n    <div loader="inProgress">\r\n        <div class="lmx-coupon lmx-card" ng-repeat="coupon in coupons track by coupon.id" ng-click="openCouponInfo(coupon)">\r\n            <div class="lmx-card-code">\r\n                <div class="lmx-image-block">\r\n                    <img ng-src="data:{{::coupon.imageFile.mimeType}};charset=utf-8;base64, {{::coupon.imageFile.content}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="" style="height: 100px; padding: 10px">\r\n                </div>\r\n            </div>\r\n            <div class="lmx-card-content">\r\n                <div class="lmx-coupon-details">\r\n                    <div class="lmx-coupon-title">\r\n                        <h2>{{ coupon.emissionTitle }}</h2>\r\n                    </div>\r\n                    <div class="lmx-coupon-description">{{ coupon.shortDescription}}</div>\r\n                    <div class="lmx-coupon-content">\r\n                        <div class="lmx-coupon-code">\r\n                            <qrcode data="{{:: coupon.code }}" size="100"></qrcode>\r\n                        </div>\r\n                        <div class="lmx-coupon-period">\r\n                            <span>Номер купона: {{ coupon.code }}</span>\r\n\r\n                            <div ng-if="coupon.expiryDate && offerProceed(coupon.activationDate) && !lessThanWeek(coupon.expiryDate)" class="lmx-rating-container">\r\n                                <span ng-if="offerStartedToday(coupon.activationDate)">\r\n                                    {{ \'coupons.expirationDate\' | translate}}: {{:: coupon.expiryDate | toUTC | shortDate }}\r\n                                </span>\r\n                                <span ng-if="!offerStartedToday(coupon.activationDate)">\r\n                                    {{ \'coupons.offerStartFrom\' | translate }} {{:: coupon.activationDate | toUTC | shortDateTime }}\r\n                                    {{ \'dateRange.to\' | translate }}\r\n                                    {{:: coupon.expiryDate | toUTC | shortDate }}\r\n                                </span>\r\n                            </div>\r\n\r\n                            <div ng-if="coupon.expiryDate && lessThanWeek(coupon.expiryDate) && offerProceed(coupon.activationDate)">\r\n                                {{ \'coupons.offerPeriod.left\' | translate }}:\r\n                                {{ leftDays }} {{\'coupons.offerPeriod.leftDays\' | translate }}\r\n                                {{ leftHours }} {{\'coupons.offerPeriod.leftHours\' | translate }}\r\n                            </div>\r\n\r\n                            <div ng-if="coupon.expiryDate && !offerProceed(coupon.activationDate)">\r\n                                {{ \'coupons.offerStartFrom\' | translate }}\r\n                                {{ coupon.activationDate | toUTC | shortDate }}\r\n                                {{ \'dateRange.to\' | translate }}\r\n                                {{ coupon.expiryDate | toUTC | shortDate }}\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/coupons/modal/couponViewModal.html",'<div class="lmx-coupon-modal">\r\n    <div class="modal-header">\r\n        <div class="lmx-modal-closer" ng-click="cancel()"></div>\r\n        <h2>{{:: coupon.emissionTitle }}</h2>\r\n    </div>\r\n\r\n    <div class="modal-content-wrapper">\r\n        <div class="lmx-coupon-modal">\r\n            <div class="modal-body">\r\n                <qrcode data="{{:: coupon.code }}" href="{{ coupon.qrContent }}" size="200"></qrcode>\r\n\r\n                <div ng-if="coupon.expiryDate && offerProceed(coupon.activationDate) && !lessThanWeek(coupon.expiryDate)" class="lmx-rating-container">\r\n                    <span ng-if="offerStartedToday(coupon.activationDate)">\r\n                        {{ \'coupons.expirationDate\' | translate}}: {{:: coupon.expiryDate | toUTC | shortDate }}\r\n                    </span>\r\n                    <span ng-if="!offerStartedToday(coupon.activationDate)">\r\n                        {{ \'coupons.offerStartFrom\' | translate }} {{:: coupon.activationDate | toUTC | shortDateTime }}\r\n                        {{ \'dateRange.to\' | translate }}\r\n                        {{:: coupon.expiryDate | toUTC | shortDate }}\r\n                    </span>\r\n                </div>\r\n\r\n                <div ng-if="coupon.expiryDate && lessThanWeek(coupon.expiryDate) && offerProceed(coupon.activationDate)">\r\n                    {{ \'coupons.offerPeriod.left\' | translate }}:\r\n                    {{ leftDays }} {{\'coupons.offerPeriod.leftDays\' | translate}}\r\n                    {{ leftHours }} {{\'coupons.offerPeriod.leftHours\' | translate}}\r\n                    <div class="lmx-bar">\r\n                        <span class="lmx-left-time" ng-style="{ width: expiryTimePercent + \'%\'}"></span>\r\n                    </div>\r\n                </div>\r\n\r\n                <div ng-if="coupon.expiryDate && !offerProceed(coupon.activationDate)">\r\n                    {{ \'coupons.offerStartFrom\' | translate }}\r\n                    {{ coupon.activationDate | toUTC | shortDate }}\r\n                    {{ \'dateRange.to\' | translate }}\r\n                    {{ coupon.expiryDate | toUTC | shortDate }}\r\n                </div>\r\n\r\n                <div class="lmx-coupon-description">\r\n                    {{ coupon.description }}\r\n                </div>\r\n\r\n                <div class="lmx-coupon-hint">\r\n                    {{ \'coupons.hint\' | translate }}\r\n                </div>\r\n            </div>\r\n            <div class="modal-footer lmx-btn-container">\r\n                <button type="button" ng-click="cancel()">{{\'buttons.close\' | translate}}</button>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/datePicker/datePickerView.html",'<span class="date-picker-wrap" outside-click="toggleCalendar($event, false)">\r\n    <div class="toggler" ng-click="toggleCalendar($event)">\r\n        <span class="glyphicon glyphicon-calendar"></span>\r\n    </div>\r\n\r\n    <input type="text" ng-class="\'lmx-\'+inputClass" datetime-picker="{{dateFormat}}" ng-model="model" ng-keyup="validateModel($event)" ng-model-options="modelOptions" datepicker-options="options" button-bar="{show:false}" is-open="isOpen" enable-time="false">\r\n</span>\r\n'),n.put("app/directives/dateTimePicker/datetimePickerView.html",'<span class="date-picker-wrap" outside-click="toggleCalendar($event, false)">\r\n    <div class="toggler glyphicon glyphicon-calendar" ng-click="toggleCalendar($event)"></div>\r\n\r\n    <input type="text" ng-if=":: timepickerOptions" ng-class="\'lmx-\'+inputClass" datetime-picker="{{dateFormat}}" ng-model="model" ng-keyup="checkModel($event)" ng-model-options="modelOptions" button-bar="buttonsOptions" initial-picker="date" re-open-default="date" datepicker-options="{showWeeks:false}" timepicker-options="timepickerOptions" is-open="isOpen">\r\n</span>\r\n'),n.put("app/directives/favoriteGoods/favoriteGood/favoriteGood.html",'<div class="lmx-favorite-goods-item">\r\n    <div class="lmx-favorite-goods-item__image">\r\n        <img ng-src="{{:: favoriteGoodsImagesUrl}}{{:: favoriteGood.good ? favoriteGood.good.codeGood : \'undefined\'}}.png" fallback-image="" fallback-title="Изображение отсутствует" alt="">\r\n    </div>\r\n    <p ng-if=":: !favoriteGood.good || favoriteGood.good.id === 0">\r\n        {{\'favoriteGoods.noFavoriteGood\' | translate}}\r\n    </p>\r\n    <p ng-if=":: favoriteGood.good && favoriteGood.good.id !== 0">{{:: favoriteGood.good.name}}</p>\r\n    <button class="lmx-btn lmx-change-favorite-good-btn" ng-click="changeGood(favoriteGood)" ng-if=":: favoriteGood.allowChange" type="button">\r\n        {{\'favoriteGoods.actions.edit\' | translate}}\r\n    </button>\r\n    <small>\r\n        <p class="lmx-favorite-goods-already-changed" ng-if=":: !favoriteGood.allowChange">\r\n            {{\'favoriteGoods.alreadyChanged\' | translate}}\r\n        </p>\r\n    </small>\r\n</div>\r\n'),n.put("app/directives/favoriteGoods/favoriteGoods.html",'<div class="lmx-container lmx-favorite-goods" ng-class="{\'lmx-empty\': !inProgress && !favoriteGoods}">\r\n    <section>\r\n        <h2>{{\'favoriteGoods.title\' | translate}}</h2>\r\n        <div loader="inProgress">\r\n            <div ng-if="!inProgress">\r\n                <div>\r\n                    <p>{{\'favoriteGoods.info.description\' | translate}}.</p>\r\n                    <p>\r\n                        {{\'favoriteGoods.info.limitation.part1\' | translate}}\r\n                        <a href="#offers">{{\'favoriteGoods.info.limitation.part2\' | translate}}</a>.\r\n                    </p>\r\n                </div>\r\n                <div class="lmx-favorite-goods-list">\r\n                    <p ng-if="!(favoriteGoods && favoriteGoods.goods && favoriteGoods.goods.length)">\r\n                        {{\'favoriteGoods.favoriteGoodsEmpty\' | translate}}\r\n                    </p>\r\n                    <favorite-good favorite-good="favoriteGoodsItem" change-good="changeGood" ng-repeat="favoriteGoodsItem in favoriteGoods.goods" loader="goodsInProgres_{{:: favoriteGoodsItem.position}}"></favorite-good>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/favoriteGoods/modal/goodsOrCategory/goodsOrCategory.html",'<ul class="lmx-goods-or-category-item">\r\n    <li ng-if=":: isCategory" class="lmx-category-item-li">\r\n        <div>\r\n            <div class="lmx-category-item">\r\n                <p class="material-icons">folder</p>\r\n                <p class="lmx-category-item-name" ng-click="changeVisibilityCategoryList()">\r\n                    {{:: goodsOrCategory.name}}\r\n                </p>\r\n            </div>\r\n            <div ng-if=":: !inProgress">\r\n                <goods-or-category ng-show="isShow" goods-group-id="goodsGroupId" goods-or-category="item" ng-repeat="item in nodeItems track by item.id"></goods-or-category>\r\n            </div>\r\n            <inline-loader>inProgress</inline-loader>\r\n        </div>\r\n    </li>\r\n    <li ng-if=":: !isCategory" class="lmx-good-item-li">\r\n        <p ng-click="selectNewFavoriteGood()" class="lmx-good-item">\r\n            {{:: goodsOrCategory.name}}\r\n        </p>\r\n    </li>\r\n</ul>\r\n'),n.put("app/directives/favoriteGoods/modal/modalSelectNewFavoriteGood.html",'<div class="modal-content-favorite-goods">\r\n    <div class="lmx-modal-closer" ng-click="cancel()"></div>\r\n    <div loader="inProgress" class="lmx-modal-favorite-goods-container">\r\n        <div ng-if="!inProgress" class="lmx-modal-favorite-goods-content">\r\n            <div class="modal-header">\r\n                <h2>{{\'favoriteGoods.modal.selectGood\' | translate}}</h2>\r\n            </div>\r\n            <div class="lmx-content lmx-select-new-favorite-good">\r\n                <div class="lmx-categories-list">\r\n                    <goods-or-category goods-group-id="goodsGroupId" goods-or-category="goodsOrCategory" ng-repeat="goodsOrCategory in categories track by goodsOrCategory.id"></goods-or-category>\r\n                </div>\r\n                <button class="lmx-btn lmx-close-modal-btn" ng-click="cancel()" type="button">\r\n                    {{\'favoriteGoods.modal.close\' | translate}}\r\n                </button>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/feedback/feedback.html",'<div class="lmx-container lmx-feedback">\r\n    <section>\r\n        <h2>{{\'feedback.title\' | translate}}</h2>\r\n        <lmx-notifications area="feedback"></lmx-notifications>\r\n\r\n        <div loader="inProgress && messages === undefined">\r\n            <div ng-show="!inProgress || messages !== undefined">\r\n                <div class="lmx-hint">\r\n                    <p>{{\'feedback.askQuestion\' | translate}}:</p>\r\n                </div>\r\n\r\n                <form novalidate="" name="feedbackForm" ng-submit="feedbackForm.$valid && send(feedbackForm)">\r\n                    <form-group>\r\n                        <textarea ng-disabled="sendInProgress" id="lmx-msgTextarea" name="msgTextarea" ng-model="messageModel.text" placeholder="{{\'feedback.typeText\' | translate}}" required="">\r\n                        </textarea>\r\n                    </form-group>\r\n\r\n                    <inline-loader line="">sendInProgress</inline-loader>\r\n\r\n                    <div class="lmx-file-input-and-submitter lmx-clearfix lmx-margin-bottom" ng-if="!sendInProgress">\r\n                        <file-input ng-model="messageModel.attachment" class="lmx-left"></file-input>\r\n                        <button type="submit" class="lmx-right lmx-row">\r\n                            {{\'buttons.send\' | translate}}\r\n                        </button>\r\n                    </div>\r\n                </form>\r\n\r\n                <div class="lmx-message-history" loader="sendInProgress || inProgress">\r\n                    <lmx-scroller>\r\n                        <div class="lmx-chat-message-line lmx-clearfix" ng-repeat="item in messages track by item.message.id">\r\n                            <div ng-class="{\'lmx-outcoming\': item.isUserMessage}" class="lmx-chat-message">\r\n                                <div class="lmx-from">\r\n                                    {{\'feedback.\' + (item.isUserMessage ? \'you\' : \'operator\') |\r\n                                    translate}}\r\n                                </div>\r\n                                <div class="lmx-text">{{::item.message.message}}</div>\r\n                                <div class="lmx-file-name" ng-if="item.message.fileName">\r\n                                    {{\'feedback.file\' | translate}}: {{::item.message.fileName}}\r\n                                </div>\r\n                                <div class="date">\r\n                                    {{::item.message.dateTime | toUTC | shortDateTime}}\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </lmx-scroller>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/fileInput/fileInput.html",'<div class="lmx-file-input">\r\n    <form-group>\r\n        <inline-loader>loader</inline-loader>\r\n        <input type="file" ng-model="attachment.fileInfo" id="lmx-file-input" ng-attr-name="{{inputName}}" base-sixty-four-input="" maxsize="5120" do-not-parse-if-oversize="" onloadstart="onFileLoadStart" onerror="onFileLoadError" onload="onFileLoadSuccess">\r\n        <label for="lmx-file-input" ng-switch="loadError.value" ng-hide="loader" ng-click="clearAttachment(); loadError.value = false;">\r\n            <a>{{\'buttons.attachFile\' | translate}}</a>\r\n            <span class="lmx-file-input-span"></span>\r\n            <span ng-switch-when="false" ng-if="attachment.fileInfo" class="lmx-attachment">\r\n                <span class="lmx-attachment-name" ng-attr-title="{{attachment.fileInfo.filename}}">{{attachment.fileInfo.filename}}</span>\r\n                <span ng-click="clearAttachment($event)" class="lmx-attachment-remove glyphicon glyphicon-remove"></span>\r\n            </span>\r\n            <span ng-switch-when="true" class="lmx-attachment-error">{{loadError.text || (\'file.error\' | translate)}}</span>\r\n        </label>\r\n    </form-group>\r\n</div>\r\n'),n.put("app/directives/formGroup/formGroupTemplate.html",'<div class="lmx-form-group lmx-clearfix lmx-row" ng-class="{\'lmx-has-error\': form.$submitted && model.$invalid}">\r\n    <div ng-if="labelText !== undefined" class="lmx-label-container">\r\n        <label class="lmx-form-group-label lmx-{{:: lmx-labelAlign+\'align\'}}" for="{{itemId}}">{{labelText}}</label>\r\n    </div>\r\n    <div class="lmx-input-container">\r\n        <div><ng-transclude></ng-transclude></div>\r\n        <div class="lmx-help-block" ng-if="form.$submitted">\r\n            <div class="lmx-help-block__error" ng-if="model.$error.validationErrors" ng-repeat="error in model.$error.validationErrors">\r\n                <div>{{error}}</div>\r\n            </div>\r\n            <div class="lmx-help-block__error" ng-if="!model.$error.validationErrors" ng-repeat="(error, value) in model.$error">\r\n                <div>{{errorMessage(error, model.$viewValue)}}</div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/history/history.html",'<div class="lmx-container lmx-history">\r\n    <section>\r\n        <h2 ng-if=":: !isPreview">{{\'history.title\' | translate}}</h2>\r\n        <div loader="history === undefined">\r\n            <div ng-show=":: history">\r\n                <div ng-show=":: !isPreview" class="lmx-history-filters lmx-clearfix lmx-margin-bottom">\r\n                    <div class="date-filters">\r\n                        <div class="date-filter lmx-since-date-filter">\r\n                            <span class="lmx-pretext">{{\'history.fromDate\' | translate}}</span>\r\n                            <date-picker ng-model="fromDate" ng-change="reloadHistory()">\r\n                            </date-picker>\r\n                        </div>\r\n                        <div class="date-filter lmx-to-date-filter">\r\n                            <span class="lmx-pretext">{{\'history.toDate\' | translate}}</span>\r\n                            <date-picker ng-model="toDate" ng-change="reloadHistory()">\r\n                            </date-picker>\r\n                        </div>\r\n                    </div>\r\n                    <div class="lmx-card-filter">\r\n                        <inline-loader>cardsInProgress</inline-loader>\r\n                        <div ng-hide="cardsInProgress">\r\n                            <select ng-model="selectedCard" ng-change="reloadHistory()" id="lmx-cardFilter" name="cardFilter">\r\n                                <option ng-value="0">{{\'history.allCards\' | translate}}</option>\r\n                                <option ng-repeat="card in cards" ng-value="card.id">{{:: card.number | charsDivide: 4}}</option>\r\n                            </select>\r\n                        </div>\r\n                    </div>\r\n                    <div class="lmx-reset-filters">\r\n                        <a ng-click="resetFilters()" class="lmx-pseudolink" href="">{{\'history.resetFilters\' | translate}}</a>\r\n                    </div>\r\n                </div>\r\n                <lmx-tabs ng-if="balanceChangeHistory" list="tabs" ng-model="selectedTab.value" view-field="name">\r\n                </lmx-tabs>\r\n                <div ng-show="!balanceChangeHistory || selectedTab.value === tabs.operations">\r\n                    <div class="lmx-history-table" ng-show="history.allCount || inProgress">\r\n                        <div class="lmx-operations-list lmx-margin-bottom" loader="inProgress && (isPaginated || isReload)">\r\n                            <div ng-class="{\'lmx-loading\': inProgress}" ng-hide="inProgress && isReload">\r\n                                <table ng-if="history.rows.length">\r\n                                    <thead>\r\n                                        <tr>\r\n                                            <th>{{\'history.date\' | translate}}</th>\r\n                                            <th>{{\'history.cardNumber\' | translate}}</th>\r\n                                            <th>{{\'history.description\' | translate}}</th>\r\n                                            <th>{{\'history.operation\' | translate}}</th>\r\n                                            <th>{{\'history.amount\' | translate}}</th>\r\n                                            <th></th>\r\n                                        </tr>\r\n                                    </thead>\r\n                                    <tbody ng-repeat="item in history.rows track by item.id" class-toggle-click="cheque-opened" ng-class="::{\'lmx-empty-cheque\': !item.data.chequeItems.length}">\r\n                                        <tr class="lmx-operation-info">\r\n                                            <td class="date-time" ng-attr-title="{{:: item.dateTime | toUTCTemporarySolution | shortDateTime}}">\r\n                                                {{:: item.dateTime | toUTCTemporarySolution |\r\n                                                shortDateTime}}\r\n                                            </td>\r\n                                            <td class="lmx-identity" ng-attr-title="{{:: item.identity ? (\'**** \' + (item.identity | lastCount: 4)) : undefined}}">\r\n                                                <span ng-if="::item.identity">****\r\n                                                    <b>{{:: item.identity | lastCount: 4 }}</b></span>\r\n                                            </td>\r\n                                            <td class="lmx-description" ng-attr-title="{{:: item.description}}">\r\n                                                <img ng-if=":: item.logoSquareUrl" ng-src="{{:: item.logoSquareUrl}}" class="lmx-logo-square" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="">\r\n                                                <span class="lmx-description-text">{{:: item.description}}</span>\r\n                                            </td>\r\n                                            <td class="lmx-withdraws lmx-text">\r\n                                                <div ng-if=":: item.data.withdraws.length" ng-repeat="wdrw in item.data.withdraws" ng-attr-title="{{\'history.gift\' + (item.data.isRefund ? \'Refund\' : \'\' ) + \'.withdraw\' | translate}}" class="lmx-text-overflow-ellipsis">\r\n                                                    {{\'history.gift\' + (item.data.isRefund ?\r\n                                                    \'Refund\' : \'\' ) + \'.withdraw\' | translate}}\r\n                                                </div>\r\n                                                <div ng-if=":: item.data.rewards.length" ng-repeat="(type, values) in item.rewardsResult">\r\n                                                    <div ng-repeat="(currency, value) in values" ng-attr-title="{{\'history.gift\' + (item.data.isRefund ? \'Refund.\' : \'.\') + (type | lowerCamelCase) | translate}}" class="lmx-text-overflow-ellipsis">\r\n                                                        {{\'history.gift\' + (item.data.isRefund ?\r\n                                                        \'Refund.\' : \'.\') + (type | lowerCamelCase) |\r\n                                                        translate}}\r\n                                                    </div>\r\n                                                </div>\r\n                                                <div ng-if=":: item.type == \'RewardData\' || item.type == \'WithdrawData\'" ng-attr-title="{{\'history.gift\' + (item.data.isRefund ? \'Refund.\' : \'.\') + (item.type | lowerCamelCase) | translate}}" class="lmx-text-overflow-ellipsis">\r\n                                                    {{\'history.gift\' + (item.data.isRefund ?\r\n                                                    \'Refund.\' : \'.\') + (item.type | lowerCamelCase)\r\n                                                    | translate}}\r\n                                                </div>\r\n                                            </td>\r\n                                            <td class="lmx-withdraws lmx-amount">\r\n                                                <div ng-if=":: item.data.withdraws.length" ng-repeat="wdrw in item.data.withdraws" ng-attr-title="{{:: (item.data.isRefund ? wdrw.amount.amount * -1 : wdrw.amount.amount) | number: 2}} {{:: wdrw.amount.currency }}" class="lmx-text-overflow-ellipsis">\r\n                                                    {{:: (item.data.isRefund ? wdrw.amount.amount *\r\n                                                    -1 : wdrw.amount.amount) | number: 2}} {{::\r\n                                                    wdrw.amount.currency }}\r\n                                                </div>\r\n                                                <div ng-if=":: item.data.rewards.length" ng-repeat="(type, values) in item.rewardsResult">\r\n                                                    <div ng-repeat="(currency, value) in values" ng-attr-title="{{:: (item.data.isRefund ? value * -1 : value) | number: 2}} {{:: currency }}" class="lmx-text-overflow-ellipsis">\r\n                                                        {{:: (item.data.isRefund ? value * -1 :\r\n                                                        value) | number: 2}} {{:: currency }}\r\n                                                    </div>\r\n                                                </div>\r\n                                                <div ng-if=":: item.type == \'RewardData\' || item.type == \'WithdrawData\'" ng-attr-title="{{:: (item.data.isRefund ? item.data.amount.amount * -1 : item.data.amount.amount) | number: 2}} {{:: item.data.amount.currency }}" class="lmx-text-overflow-ellipsis">\r\n                                                    {{:: (item.data.isRefund ?\r\n                                                    item.data.amount.amount * -1 :\r\n                                                    item.data.amount.amount) | number: 2}} {{::\r\n                                                    item.data.amount.currency }}\r\n                                                </div>\r\n                                            </td>\r\n                                            <td class="lmx-cheque-expander"></td>\r\n                                        </tr>\r\n                                        <tr class="lmx-cheque-info" ng-if="item.data.chequeItems.length">\r\n                                            <td colspan="6">\r\n                                                <div class="lmx-cheque-content">\r\n                                                    <div class="lmx-cheque-line" ng-repeat="chequeItem in item.data.chequeItems">\r\n                                                        <span class="lmx-cheque-item">{{::chequeItem.description |\r\n                                                            nbspSpaces}}</span>\r\n                                                        <span class="lmx-cheque-count">{{::chequeItem.count}}\r\n                                                            <span ng-if=":: chequeItem.unit" class="lmx-cheque-unit">{{:: chequeItem.unit}}</span></span>\r\n                                                    </div>\r\n                                                    <div class="lmx-cheque-total">\r\n                                                        {{::item.data.amount.amount | number: 2}}\r\n                                                        {{:: item.data.amount.currency }}\r\n                                                    </div>\r\n                                                </div>\r\n                                            </td>\r\n                                        </tr>\r\n                                    </tbody>\r\n                                </table>\r\n                            </div>\r\n                        </div>\r\n                        <div ng-show=":: !isPreview" ng-switch=":: !!isPaginated">\r\n                            <uib-pagination ng-switch-when="true" ng-show="!isReload && history.allCount > onPage" total-items="history.allCount" ng-model="$parent.currentPage" max-size="4" items-per-page="{{:: onPage}}" class="lmx-pagination" boundary-links="true" boundary-link-numbers="true" direction-links="false" force-ellipses="true" first-text="<<" last-text=">>" ng-change="paginationChange()"></uib-pagination>\r\n                            <div ng-switch-when="false">\r\n                                <a class="lmx-pseudolink lmx-right" ng-if="!inProgress && (from + onPage < history.allCount)" ng-click="increaseFrom()" href="">{{\'history.showMore\' | translate}}</a>\r\n                                <inline-loader line="">inProgress && !isReload</inline-loader>\r\n                            </div>\r\n                        </div>\r\n                        <a ng-if=":: isPreview" href="{{:: historyUrl}}" class="lmx-pseudolink">{{\'history.goToFullHistory\' | translate}}</a>\r\n                    </div>\r\n                    <div class="lmx-history-not-found" ng-if="!history.allCount && !inProgress">\r\n                        {{\'history.notFound\' | translate}}\r\n                    </div>\r\n                    <a ng-if="balanceChangeHistory && !history.allCount && !inProgress && !balanceChangesIsEmpty" href="" ng-click="changeTab(tabs.balanceChanges)">{{\'history.showBalanceChange\' | translate}}</a>\r\n                </div>\r\n                <div ng-if="balanceChangeHistory" ng-show="selectedTab.value === tabs.balanceChanges">\r\n                    <lmx-balance-changes from-date="fromDate" to-date="toDate" card-id="selectedCard"></lmx-balance-changes>\r\n                    <a ng-if="balanceChangeHistory && history.allCount && !inProgress && balanceChangesIsEmpty" href="" ng-click="changeTab(tabs.operations)">{{\'history.showOperations\' | translate}}</a>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),
     9392n.put("app/directives/cards/modal/modalSetCard.html",'<div class="lmx-set-card-modal">\r\n    <div class="modal-header">\r\n        <h2>{{\'cards.setCardModal.title\' | translate}}</h2>\r\n    </div>\r\n\r\n    <lmx-notifications area="cardModal"></lmx-notifications>\r\n\r\n    <form novalidate="" name="setCardForm" ng-submit="setCardForm.$valid && setCard()">\r\n        <div class="modal-content-wrapper">\r\n            <div class="modal-body">\r\n                <form-group label-text="{{\'cards.setCardModal.cardNumber\' | translate}}">\r\n                    <input type="text" ng-model="model.cardNumber" ng-disabled="inProgress" id="lmx-cardNumber" name="cardNumber" required="" autofocus="">\r\n                </form-group>\r\n                <form-group ng-if="cvcCodeCardsRegistration" label-text="{{\'registration.cardStep.cvcCode\' | translate}}">\r\n                    <input type="number" ng-model="model.cvcCode" ng-disabled="inProgress" id="lmx-cvcCode" name="cvcCode">\r\n                </form-group>\r\n            </div>\r\n            <div class="modal-footer lmx-btn-container">\r\n                <div ng-hide="inProgress">\r\n                    <button class="lmx-btn-cancel" ng-click="cancel()" type="button">\r\n                        {{\'buttons.cancel\' | translate}}\r\n                    </button>\r\n                    <button type="submit">\r\n                        {{\'cards.actions.set\' | translate}}\r\n                    </button>\r\n                </div>\r\n                <inline-loader>inProgress</inline-loader>\r\n            </div>\r\n        </div>\r\n    </form>\r\n</div>\r\n'),n.put("app/directives/coupon/coupon.html",'<div class="lmx-card" style="width: 400px; height: 400px;">\r\n    <div class="lmx-card-image">\r\n        <img ng-src="{{::coupon.imageUri || \'undefined\'}}" fallback-image="" fallback-title="{{\'coupons.imageNotFound\' | translate}}" alt="" style="height: 250px; padding: 10px">\r\n    </div>\r\n    <div class="lmx-card-content">\r\n        <span class="lmx-card-title">{{coupon.name}}</span>\r\n        <span><b>{{\'coupons.price\' | translate}}:</b> {{coupon.price}} RUB</span>\r\n    </div>\r\n    <div class="lmx-card-reveal">\r\n        <span class="lmx-card-title"><span class="glyphicon glyphicon-remove"></span>{{coupon.name}}</span>\r\n        <p>\r\n            <span><b>{{\'coupons.description\' | translate}}:</b>{{:: couponInfo.description ||\r\n                (\'coupons.noDescription\' | translate)}}</span>\r\n        </p>\r\n        <button ng-if=":: loggedIn" type="button" ng-click="openBuyCouponModal(coupon)">\r\n            <div>\r\n                {{\'coupons.buy\' | translate}}\r\n                <span class="lmx-price">{{ coupon.price | zeroFill: 2 }}</span>\r\n            </div>\r\n        </button>\r\n        <button ng-if=":: !loggedIn" type="button" ng-click="goToLogin()">\r\n            <div>{{\'coupons.login\' | translate}}</div>\r\n        </button>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/coupons/coupons.html",'<div class="lmx-container lmx-coupons">\r\n    <h2>{{\'coupons.title\' | translate}}</h2>\r\n    <div loader="inProgress">\r\n        <div class="lmx-coupon lmx-card" ng-repeat="coupon in coupons track by coupon.id" ng-click="openCouponInfo(coupon)">\r\n            <div class="lmx-card-code">\r\n                <div class="lmx-image-block">\r\n                    <img ng-src="data:{{::coupon.imageFile.mimeType}};charset=utf-8;base64, {{::coupon.imageFile.content}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="" style="height: 100px; padding: 10px">\r\n                </div>\r\n            </div>\r\n            <div class="lmx-card-content">\r\n                <div class="lmx-coupon-details">\r\n                    <div class="lmx-coupon-title">\r\n                        <h2>{{ coupon.emissionTitle }}</h2>\r\n                    </div>\r\n                    <div class="lmx-coupon-description">{{ coupon.shortDescription}}</div>\r\n                    <div class="lmx-coupon-content">\r\n                        <div class="lmx-coupon-code">\r\n                            <qrcode data="{{:: coupon.code }}" size="100"></qrcode>\r\n                        </div>\r\n                        <div class="lmx-coupon-period">\r\n                            <span>Номер купона: {{ coupon.code }}</span>\r\n\r\n                            <div ng-if="coupon.expiryDate && offerProceed(coupon.activationDate) && !lessThanWeek(coupon.expiryDate)" class="lmx-rating-container">\r\n                                <span ng-if="offerStartedToday(coupon.activationDate)">\r\n                                    {{ \'coupons.expirationDate\' | translate}}: {{:: coupon.expiryDate | toUTC | shortDate }}\r\n                                </span>\r\n                                <span ng-if="!offerStartedToday(coupon.activationDate)">\r\n                                    {{ \'coupons.offerStartFrom\' | translate }} {{:: coupon.activationDate | toUTC | shortDateTime }}\r\n                                    {{ \'dateRange.to\' | translate }}\r\n                                    {{:: coupon.expiryDate | toUTC | shortDate }}\r\n                                </span>\r\n                            </div>\r\n\r\n                            <div ng-if="coupon.expiryDate && lessThanWeek(coupon.expiryDate) && offerProceed(coupon.activationDate)">\r\n                                {{ \'coupons.offerPeriod.left\' | translate }}:\r\n                                {{ leftDays }} {{\'coupons.offerPeriod.leftDays\' | translate }}\r\n                                {{ leftHours }} {{\'coupons.offerPeriod.leftHours\' | translate }}\r\n                            </div>\r\n\r\n                            <div ng-if="coupon.expiryDate && !offerProceed(coupon.activationDate)">\r\n                                {{ \'coupons.offerStartFrom\' | translate }}\r\n                                {{ coupon.activationDate | toUTC | shortDate }}\r\n                                {{ \'dateRange.to\' | translate }}\r\n                                {{ coupon.expiryDate | toUTC | shortDate }}\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/coupons/modal/couponViewModal.html",'<div class="lmx-coupon-modal">\r\n    <div class="modal-header">\r\n        <div class="lmx-modal-closer" ng-click="cancel()"></div>\r\n        <h2>{{:: coupon.emissionTitle }}</h2>\r\n    </div>\r\n\r\n    <div class="modal-content-wrapper">\r\n        <div class="lmx-coupon-modal">\r\n            <div class="modal-body">\r\n                <qrcode data="{{:: coupon.code }}" href="{{ coupon.qrContent }}" size="200"></qrcode>\r\n\r\n                <div ng-if="coupon.expiryDate && offerProceed(coupon.activationDate) && !lessThanWeek(coupon.expiryDate)" class="lmx-rating-container">\r\n                    <span ng-if="offerStartedToday(coupon.activationDate)">\r\n                        {{ \'coupons.expirationDate\' | translate}}: {{:: coupon.expiryDate | toUTC | shortDate }}\r\n                    </span>\r\n                    <span ng-if="!offerStartedToday(coupon.activationDate)">\r\n                        {{ \'coupons.offerStartFrom\' | translate }} {{:: coupon.activationDate | toUTC | shortDateTime }}\r\n                        {{ \'dateRange.to\' | translate }}\r\n                        {{:: coupon.expiryDate | toUTC | shortDate }}\r\n                    </span>\r\n                </div>\r\n\r\n                <div ng-if="coupon.expiryDate && lessThanWeek(coupon.expiryDate) && offerProceed(coupon.activationDate)">\r\n                    {{ \'coupons.offerPeriod.left\' | translate }}:\r\n                    {{ leftDays }} {{\'coupons.offerPeriod.leftDays\' | translate}}\r\n                    {{ leftHours }} {{\'coupons.offerPeriod.leftHours\' | translate}}\r\n                    <div class="lmx-bar">\r\n                        <span class="lmx-left-time" ng-style="{ width: expiryTimePercent + \'%\'}"></span>\r\n                    </div>\r\n                </div>\r\n\r\n                <div ng-if="coupon.expiryDate && !offerProceed(coupon.activationDate)">\r\n                    {{ \'coupons.offerStartFrom\' | translate }}\r\n                    {{ coupon.activationDate | toUTC | shortDate }}\r\n                    {{ \'dateRange.to\' | translate }}\r\n                    {{ coupon.expiryDate | toUTC | shortDate }}\r\n                </div>\r\n\r\n                <div class="lmx-coupon-description">\r\n                    {{ coupon.description }}\r\n                </div>\r\n\r\n                <div class="lmx-coupon-hint">\r\n                    {{ \'coupons.hint\' | translate }}\r\n                </div>\r\n            </div>\r\n            <div class="modal-footer lmx-btn-container">\r\n                <button type="button" ng-click="cancel()">{{\'buttons.close\' | translate}}</button>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/datePicker/datePickerView.html",'<span class="date-picker-wrap" outside-click="toggleCalendar($event, false)">\r\n    <div class="toggler" ng-click="toggleCalendar($event)">\r\n        <span class="glyphicon glyphicon-calendar"></span>\r\n    </div>\r\n\r\n    <input type="text" ng-class="\'lmx-\'+inputClass" datetime-picker="{{dateFormat}}" ng-model="model" ng-keyup="validateModel($event)" ng-model-options="modelOptions" datepicker-options="options" button-bar="{show:false}" is-open="isOpen" enable-time="false">\r\n</span>\r\n'),n.put("app/directives/dateTimePicker/datetimePickerView.html",'<span class="date-picker-wrap" outside-click="toggleCalendar($event, false)">\r\n    <div class="toggler glyphicon glyphicon-calendar" ng-click="toggleCalendar($event)"></div>\r\n\r\n    <input type="text" ng-if=":: timepickerOptions" ng-class="\'lmx-\'+inputClass" datetime-picker="{{dateFormat}}" ng-model="model" ng-keyup="checkModel($event)" ng-model-options="modelOptions" button-bar="buttonsOptions" initial-picker="date" re-open-default="date" datepicker-options="{showWeeks:false}" timepicker-options="timepickerOptions" is-open="isOpen">\r\n</span>\r\n'),n.put("app/directives/favoriteGoods/favoriteGood/favoriteGood.html",'<div class="lmx-favorite-goods-item">\r\n    <div class="lmx-favorite-goods-item__image">\r\n        <img ng-src="{{:: favoriteGoodsImagesUrl}}{{:: favoriteGood.good ? favoriteGood.good.codeGood : \'undefined\'}}.png" fallback-image="" fallback-title="Изображение отсутствует" alt="">\r\n    </div>\r\n    <p ng-if=":: !favoriteGood.good || favoriteGood.good.id === 0">\r\n        {{\'favoriteGoods.noFavoriteGood\' | translate}}\r\n    </p>\r\n    <p ng-if=":: favoriteGood.good && favoriteGood.good.id !== 0">{{:: favoriteGood.good.name}}</p>\r\n    <button class="lmx-btn lmx-change-favorite-good-btn" ng-click="changeGood(favoriteGood)" ng-if=":: favoriteGood.allowChange" type="button">\r\n        {{\'favoriteGoods.actions.edit\' | translate}}\r\n    </button>\r\n    <small>\r\n        <p class="lmx-favorite-goods-already-changed" ng-if=":: !favoriteGood.allowChange">\r\n            {{\'favoriteGoods.alreadyChanged\' | translate}}\r\n        </p>\r\n    </small>\r\n</div>\r\n'),n.put("app/directives/favoriteGoods/favoriteGoods.html",'<div class="lmx-container lmx-favorite-goods" ng-class="{\'lmx-empty\': !inProgress && !favoriteGoods}">\r\n    <section>\r\n        <h2>{{\'favoriteGoods.title\' | translate}}</h2>\r\n        <div loader="inProgress">\r\n            <div ng-if="!inProgress">\r\n                <div>\r\n                    <p>{{\'favoriteGoods.info.description\' | translate}}.</p>\r\n                    <p>\r\n                        {{\'favoriteGoods.info.limitation.part1\' | translate}}\r\n                        <a href="#offers">{{\'favoriteGoods.info.limitation.part2\' | translate}}</a>.\r\n                    </p>\r\n                </div>\r\n                <div class="lmx-favorite-goods-list">\r\n                    <p ng-if="!(favoriteGoods && favoriteGoods.goods && favoriteGoods.goods.length)">\r\n                        {{\'favoriteGoods.favoriteGoodsEmpty\' | translate}}\r\n                    </p>\r\n                    <favorite-good favorite-good="favoriteGoodsItem" change-good="changeGood" ng-repeat="favoriteGoodsItem in favoriteGoods.goods" loader="goodsInProgres_{{:: favoriteGoodsItem.position}}"></favorite-good>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/favoriteGoods/modal/goodsOrCategory/goodsOrCategory.html",'<ul class="lmx-goods-or-category-item">\r\n    <li ng-if=":: isCategory" class="lmx-category-item-li">\r\n        <div>\r\n            <div class="lmx-category-item">\r\n                <p class="material-icons">folder</p>\r\n                <p class="lmx-category-item-name" ng-click="changeVisibilityCategoryList()">\r\n                    {{:: goodsOrCategory.name}}\r\n                </p>\r\n            </div>\r\n            <div ng-if=":: !inProgress">\r\n                <goods-or-category ng-show="isShow" goods-group-id="goodsGroupId" goods-or-category="item" ng-repeat="item in nodeItems track by item.id"></goods-or-category>\r\n            </div>\r\n            <inline-loader>inProgress</inline-loader>\r\n        </div>\r\n    </li>\r\n    <li ng-if=":: !isCategory" class="lmx-good-item-li">\r\n        <p ng-click="selectNewFavoriteGood()" class="lmx-good-item">\r\n            {{:: goodsOrCategory.name}}\r\n        </p>\r\n    </li>\r\n</ul>\r\n'),n.put("app/directives/favoriteGoods/modal/modalSelectNewFavoriteGood.html",'<div class="modal-content-favorite-goods">\r\n    <div class="lmx-modal-closer" ng-click="cancel()"></div>\r\n    <div loader="inProgress" class="lmx-modal-favorite-goods-container">\r\n        <div ng-if="!inProgress" class="lmx-modal-favorite-goods-content">\r\n            <div class="modal-header">\r\n                <h2>{{\'favoriteGoods.modal.selectGood\' | translate}}</h2>\r\n            </div>\r\n            <div class="lmx-content lmx-select-new-favorite-good">\r\n                <div class="lmx-categories-list">\r\n                    <goods-or-category goods-group-id="goodsGroupId" goods-or-category="goodsOrCategory" ng-repeat="goodsOrCategory in categories track by goodsOrCategory.id"></goods-or-category>\r\n                </div>\r\n                <button class="lmx-btn lmx-close-modal-btn" ng-click="cancel()" type="button">\r\n                    {{\'favoriteGoods.modal.close\' | translate}}\r\n                </button>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/feedback/feedback.html",'<div class="lmx-container lmx-feedback">\r\n    <section>\r\n        <h2>{{\'feedback.title\' | translate}}</h2>\r\n        <lmx-notifications area="feedback"></lmx-notifications>\r\n\r\n        <div loader="inProgress && messages === undefined">\r\n            <div ng-show="!inProgress || messages !== undefined">\r\n                <div class="lmx-hint">\r\n                    <p>{{\'feedback.askQuestion\' | translate}}:</p>\r\n                </div>\r\n\r\n                <form novalidate="" name="feedbackForm" ng-submit="feedbackForm.$valid && send(feedbackForm)">\r\n                    <form-group>\r\n                        <textarea ng-disabled="sendInProgress" id="lmx-msgTextarea" name="msgTextarea" ng-model="messageModel.text" placeholder="{{\'feedback.typeText\' | translate}}" required="">\r\n                        </textarea>\r\n                    </form-group>\r\n\r\n                    <inline-loader line="">sendInProgress</inline-loader>\r\n\r\n                    <div class="lmx-file-input-and-submitter lmx-clearfix lmx-margin-bottom" ng-if="!sendInProgress">\r\n                        <file-input ng-model="messageModel.attachment" class="lmx-left"></file-input>\r\n                        <button type="submit" class="lmx-right lmx-row">\r\n                            {{\'buttons.send\' | translate}}\r\n                        </button>\r\n                    </div>\r\n                </form>\r\n\r\n                <div class="lmx-message-history" loader="sendInProgress || inProgress">\r\n                    <lmx-scroller>\r\n                        <div class="lmx-chat-message-line lmx-clearfix" ng-repeat="item in messages track by item.message.id">\r\n                            <div ng-class="{\'lmx-outcoming\': item.isUserMessage}" class="lmx-chat-message">\r\n                                <div class="lmx-from">\r\n                                    {{\'feedback.\' + (item.isUserMessage ? \'you\' : \'operator\') |\r\n                                    translate}}\r\n                                </div>\r\n                                <div class="lmx-text">{{::item.message.message}}</div>\r\n                                <div class="lmx-file-name" ng-if="item.message.fileName">\r\n                                    {{\'feedback.file\' | translate}}: {{::item.message.fileName}}\r\n                                </div>\r\n                                <div class="date">\r\n                                    {{::item.message.dateTime | toUTC | shortDateTime}}\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </lmx-scroller>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/fileInput/fileInput.html",'<div class="lmx-file-input">\r\n    <form-group>\r\n        <inline-loader>loader</inline-loader>\r\n        <input type="file" ng-model="attachment.fileInfo" id="lmx-file-input" ng-attr-name="{{inputName}}" base-sixty-four-input="" maxsize="5120" do-not-parse-if-oversize="" onloadstart="onFileLoadStart" onerror="onFileLoadError" onload="onFileLoadSuccess">\r\n        <label for="lmx-file-input" ng-switch="loadError.value" ng-hide="loader" ng-click="clearAttachment(); loadError.value = false;">\r\n            <a>{{\'buttons.attachFile\' | translate}}</a>\r\n            <span class="lmx-file-input-span"></span>\r\n            <span ng-switch-when="false" ng-if="attachment.fileInfo" class="lmx-attachment">\r\n                <span class="lmx-attachment-name" ng-attr-title="{{attachment.fileInfo.filename}}">{{attachment.fileInfo.filename}}</span>\r\n                <span ng-click="clearAttachment($event)" class="lmx-attachment-remove glyphicon glyphicon-remove"></span>\r\n            </span>\r\n            <span ng-switch-when="true" class="lmx-attachment-error">{{loadError.text || (\'file.error\' | translate)}}</span>\r\n        </label>\r\n    </form-group>\r\n</div>\r\n'),n.put("app/directives/formGroup/formGroupTemplate.html",'<div class="lmx-form-group lmx-clearfix lmx-row" ng-class="{\'lmx-has-error\': form.$submitted && model.$invalid}">\r\n    <div ng-if="labelText !== undefined" class="lmx-label-container">\r\n        <label class="lmx-form-group-label lmx-{{:: lmx-labelAlign+\'align\'}}" for="{{itemId}}">{{labelText}}</label>\r\n    </div>\r\n    <div class="lmx-input-container">\r\n        <div><ng-transclude></ng-transclude></div>\r\n        <div class="lmx-help-block" ng-if="form.$submitted">\r\n            <div class="lmx-help-block__error" ng-if="model.$error.validationErrors" ng-repeat="error in model.$error.validationErrors">\r\n                <div>{{error}}</div>\r\n            </div>\r\n            <div class="lmx-help-block__error" ng-if="!model.$error.validationErrors" ng-repeat="(error, value) in model.$error">\r\n                <div>{{errorMessage(error, model.$viewValue)}}</div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/history/history.html",'<div class="lmx-container lmx-history">\r\n    <section>\r\n        <h2 ng-if=":: !isPreview">{{\'history.title\' | translate}}</h2>\r\n        <div loader="history === undefined">\r\n            <div ng-show=":: history">\r\n                <div ng-show=":: !isPreview" class="lmx-history-filters lmx-clearfix lmx-margin-bottom">\r\n                    <div class="date-filters">\r\n                        <div class="date-filter lmx-since-date-filter">\r\n                            <span class="lmx-pretext">{{\'history.fromDate\' | translate}}</span>\r\n                            <date-picker ng-model="fromDate" ng-change="reloadHistory()">\r\n                            </date-picker>\r\n                        </div>\r\n                        <div class="date-filter lmx-to-date-filter">\r\n                            <span class="lmx-pretext">{{\'history.toDate\' | translate}}</span>\r\n                            <date-picker ng-model="toDate" ng-change="reloadHistory()">\r\n                            </date-picker>\r\n                        </div>\r\n                    </div>\r\n                    <div class="lmx-card-filter">\r\n                        <inline-loader>cardsInProgress</inline-loader>\r\n                        <div ng-hide="cardsInProgress">\r\n                            <select ng-model="selectedCard" ng-change="reloadHistory()" id="lmx-cardFilter" name="cardFilter">\r\n                                <option ng-value="0">{{\'history.allCards\' | translate}}</option>\r\n                                <option ng-repeat="card in cards" ng-value="card.id">{{:: card.number | charsDivide: 4}}</option>\r\n                            </select>\r\n                        </div>\r\n                    </div>\r\n                    <div class="lmx-reset-filters">\r\n                        <a ng-click="resetFilters()" class="lmx-pseudolink" href="">{{\'history.resetFilters\' | translate}}</a>\r\n                    </div>\r\n                </div>\r\n                <lmx-tabs ng-if="balanceChangeHistory" list="tabs" ng-model="selectedTab.value" view-field="name">\r\n                </lmx-tabs>\r\n                <div ng-show="!balanceChangeHistory || selectedTab.value === tabs.operations">\r\n                    <div class="lmx-history-table" ng-show="history.allCount || inProgress">\r\n                        <div class="lmx-operations-list lmx-margin-bottom" loader="inProgress && (isPaginated || isReload)">\r\n                            <div ng-class="{\'lmx-loading\': inProgress}" ng-hide="inProgress && isReload">\r\n                                <table ng-if="history.rows.length">\r\n                                    <thead>\r\n                                        <tr>\r\n                                            <th>{{\'history.date\' | translate}}</th>\r\n                                            <th>{{\'history.cardNumber\' | translate}}</th>\r\n                                            <th>{{\'history.description\' | translate}}</th>\r\n                                            <th>{{\'history.operation\' | translate}}</th>\r\n                                            <th>{{\'history.amount\' | translate}}</th>\r\n                                            <th></th>\r\n                                        </tr>\r\n                                    </thead>\r\n                                    <tbody ng-repeat="item in history.rows track by item.id" class-toggle-click="cheque-opened" ng-class="::{\'lmx-empty-cheque\': !item.data.chequeItems.length}">\r\n                                        <tr class="lmx-operation-info">\r\n                                            <td class="date-time" ng-attr-title="{{:: item.dateTime | toUTCTemporarySolution | shortDateTime}}">\r\n                                                {{:: item.dateTime | toUTCTemporarySolution |\r\n                                                shortDateTime}}\r\n                                            </td>\r\n                                            <td class="lmx-identity" ng-attr-title="{{:: item.identity ? (\'**** \' + (item.identity | lastCount: 4)) : undefined}}">\r\n                                                <span ng-if="::item.identity">****\r\n                                                    <b>{{:: item.identity | lastCount: 4 }}</b></span>\r\n                                            </td>\r\n                                            <td class="lmx-description" ng-attr-title="{{:: item.description}}">\r\n                                                <img ng-if=":: item.logoSquareUrl" ng-src="{{:: item.logoSquareUrl}}" class="lmx-logo-square" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="">\r\n                                                <span class="lmx-description-text">{{:: item.description}}</span>\r\n                                            </td>\r\n                                            <td class="lmx-withdraws lmx-text">\r\n                                                <div ng-if=":: item.data.withdraws.length" ng-repeat="wdrw in item.data.withdraws" ng-attr-title="{{\'history.gift\' + (item.data.isRefund ? \'Refund\' : \'\' ) + \'.withdraw\' | translate}}" class="lmx-text-overflow-ellipsis">\r\n                                                    {{\'history.gift\' + (item.data.isRefund ?\r\n                                                    \'Refund\' : \'\' ) + \'.withdraw\' | translate}}\r\n                                                </div>\r\n                                                <div ng-if=":: item.data.rewards.length" ng-repeat="(type, values) in item.rewardsResult">\r\n                                                    <div ng-repeat="(currency, value) in values" ng-attr-title="{{\'history.gift\' + (item.data.isRefund ? \'Refund.\' : \'.\') + (type | lowerCamelCase) | translate}}" class="lmx-text-overflow-ellipsis">\r\n                                                        {{\'history.gift\' + (item.data.isRefund ?\r\n                                                        \'Refund.\' : \'.\') + (type | lowerCamelCase) |\r\n                                                        translate}}\r\n                                                    </div>\r\n                                                </div>\r\n                                                <div ng-if=":: item.type == \'RewardData\'" ng-attr-title="{{\'history.rewardData.\' + (item.data.rewardType | lowerCamelCase) | translate}}" class="lmx-text-overflow-ellipsis">\r\n                                                    {{\'history.rewardData.\' + (item.data.rewardType\r\n                                                    | lowerCamelCase) | translate}}\r\n                                                </div>\r\n                                                <div ng-if=":: item.type == \'WithdrawData\'" ng-attr-title="{{\'history.withdrawData.\' + (item.data.withdrawType | lowerCamelCase) | translate}}" class="lmx-text-overflow-ellipsis">\r\n                                                    {{\'history.withdrawData.\' +\r\n                                                    (item.data.withdrawType | lowerCamelCase) |\r\n                                                    translate}}\r\n                                                </div>\r\n                                            </td>\r\n                                            <td class="lmx-withdraws lmx-amount">\r\n                                                <div ng-if=":: item.data.withdraws.length" ng-repeat="wdrw in item.data.withdraws" ng-attr-title="{{:: (item.data.isRefund ? wdrw.amount.amount * -1 : wdrw.amount.amount) | number: 2}} {{:: wdrw.amount.currency }}" class="lmx-text-overflow-ellipsis">\r\n                                                    {{:: (item.data.isRefund ? wdrw.amount.amount *\r\n                                                    -1 : wdrw.amount.amount) | number: 2}} {{::\r\n                                                    wdrw.amount.currency }}\r\n                                                </div>\r\n                                                <div ng-if=":: item.data.rewards.length" ng-repeat="(type, values) in item.rewardsResult">\r\n                                                    <div ng-repeat="(currency, value) in values" ng-attr-title="{{:: (item.data.isRefund ? value * -1 : value) | number: 2}} {{:: currency }}" class="lmx-text-overflow-ellipsis">\r\n                                                        {{:: (item.data.isRefund ? value * -1 :\r\n                                                        value) | number: 2}} {{:: currency }}\r\n                                                    </div>\r\n                                                </div>\r\n                                                <div ng-if=":: item.type == \'RewardData\' || item.type == \'WithdrawData\'" ng-attr-title="{{:: (item.data.isRefund ? item.data.amount.amount * -1 : item.data.amount.amount) | number: 2}} {{:: item.data.amount.currency }}" class="lmx-text-overflow-ellipsis">\r\n                                                    {{:: (item.data.isRefund ?\r\n                                                    item.data.amount.amount * -1 :\r\n                                                    item.data.amount.amount) | number: 2}} {{::\r\n                                                    item.data.amount.currency }}\r\n                                                </div>\r\n                                            </td>\r\n                                            <td class="lmx-cheque-expander"></td>\r\n                                        </tr>\r\n                                        <tr class="lmx-cheque-info" ng-if="item.data.chequeItems.length">\r\n                                            <td colspan="6">\r\n                                                <div class="lmx-cheque-content">\r\n                                                    <div class="lmx-cheque-line" ng-repeat="chequeItem in item.data.chequeItems">\r\n                                                        <span class="lmx-cheque-item">{{::chequeItem.description |\r\n                                                            nbspSpaces}}</span>\r\n                                                        <span class="lmx-cheque-count">{{::chequeItem.count}}\r\n                                                            <span ng-if=":: chequeItem.unit" class="lmx-cheque-unit">{{:: chequeItem.unit}}</span></span>\r\n                                                    </div>\r\n                                                    <div class="lmx-cheque-total">\r\n                                                        {{::item.data.amount.amount | number: 2}}\r\n                                                        {{:: item.data.amount.currency }}\r\n                                                    </div>\r\n                                                </div>\r\n                                            </td>\r\n                                        </tr>\r\n                                    </tbody>\r\n                                </table>\r\n                            </div>\r\n                        </div>\r\n                        <div ng-show=":: !isPreview" ng-switch=":: !!isPaginated">\r\n                            <uib-pagination ng-switch-when="true" ng-show="!isReload && history.allCount > onPage" total-items="history.allCount" ng-model="$parent.currentPage" max-size="4" items-per-page="{{:: onPage}}" class="lmx-pagination" boundary-links="true" boundary-link-numbers="true" direction-links="false" force-ellipses="true" first-text="<<" last-text=">>" ng-change="paginationChange()"></uib-pagination>\r\n                            <div ng-switch-when="false">\r\n                                <a class="lmx-pseudolink lmx-right" ng-if="!inProgress && (from + onPage < history.allCount)" ng-click="increaseFrom()" href="">{{\'history.showMore\' | translate}}</a>\r\n                                <inline-loader line="">inProgress && !isReload</inline-loader>\r\n                            </div>\r\n                        </div>\r\n                        <a ng-if=":: isPreview" href="{{:: historyUrl}}" class="lmx-pseudolink">{{\'history.goToFullHistory\' | translate}}</a>\r\n                    </div>\r\n                    <div class="lmx-history-not-found" ng-if="!history.allCount && !inProgress">\r\n                        {{\'history.notFound\' | translate}}\r\n                    </div>\r\n                    <a ng-if="balanceChangeHistory && !history.allCount && !inProgress && !balanceChangesIsEmpty" href="" ng-click="changeTab(tabs.balanceChanges)">{{\'history.showBalanceChange\' | translate}}</a>\r\n                </div>\r\n                <div ng-if="balanceChangeHistory" ng-show="selectedTab.value === tabs.balanceChanges">\r\n                    <lmx-balance-changes from-date="fromDate" to-date="toDate" card-id="selectedCard"></lmx-balance-changes>\r\n                    <a ng-if="balanceChangeHistory && history.allCount && !inProgress && balanceChangesIsEmpty" href="" ng-click="changeTab(tabs.operations)">{{\'history.showOperations\' | translate}}</a>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),
    93939393n.put("app/directives/identifiers/identifiers.html",'<div>\r\n    <div class="lmx-identifier-types lmx-row" ng-if=":: identifiers.length > 1">\r\n        <div class="lmx-identifier-type-radio" ng-repeat="identifier in identifiers track by $index">\r\n            <input type="radio" ng-model="model.currentIdentifier" value="{{identifier}}" id="lmx-{{identifier}}" ng-disabled="authInProgress" name="{{identifier}}">\r\n            <label for="lmx-{{identifier}}">{{\'identifiers.\' + identifier | translate}}</label>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/limiters/repeatLimitDirective.html",'<ul ng-if="::items.length > 0" class="lmx-repeat-limit">\r\n    <li ng-repeat="item in items | limitTo: limit track by $index" class="lmx-repeat-limit-item">\r\n        <span ng-if="!textLimit">{{::item}}</span>\r\n        <text-limit ng-if="textLimit" limit="{{textLimit}}" text="item"></text-limit>\r\n        <span ng-if="::delimiter " class="lmx-repeat-limit-item-delimiter" ng-class="{\'lmx-hide\': $index === items.length - 1}">{{::delimiter}}&nbsp;</span>\r\n    </li>\r\n    <li class="lmx-toggle-limit-btn" ng-click="toggleLimit()" ng-if="items.length > limit">\r\n        {{ limit ? \'showAll\' : \'hide\' | translate | lowercase }}\r\n        <span ng-if="limit"> ({{:: items.length}})</span>\r\n    </li>\r\n</ul>\r\n<span ng-if="::items.length === 0 && defaultMessage">{{:: defaultMessage}}</span>\r\n'),n.put("app/directives/limiters/textLimitDirective.html",'<span>\r\n    {{:: framing}}{{ text | limitTo: limit }}\r\n    <span ng-if="::framing && text.length < limit">{{:: framing}}</span>\r\n    <span ng-if="::framing && text.length > limit">{{limit ? \'\' : framing}}</span>\r\n</span>\r\n<span ng-click="toggleLimit()" ng-if="text.length > limit" class="lmx-toggle-limit-btn">\r\n    <span ng-if="limit">\r\n        ...\r\n        <span ng-if="::framing">{{limit ? framing : \'\'}}</span>\r\n    </span>\r\n    {{ limit ? \'show\' : \'hide\' | translate | lowercase}}\r\n</span>\r\n'),n.put("app/directives/lmxApp/lmxApp.html",'<div class="loymax-container">\r\n    <div class="lmx-body-loader" ng-hide="allRequestsCompleted"></div>\r\n    <div class="lmx-main-block lmx-embedded-user-info lmx-clearfix">\r\n        <lmx-user-info></lmx-user-info>\r\n    </div>\r\n    <nav class="lmx-main-block lmx-embedded-menu lmx-base-menu" ng-if="allRequestsCompleted">\r\n        <ul class="lmx-side-nav">\r\n            <li class="lmx-hide-when-authed">\r\n                <a href="#login"><i class="material-icons">input</i>{{\'menu.authentication\' | translate}}</a>\r\n            </li>\r\n            <li class="lmx-hide-when-authed">\r\n                <a href="#registration"><i class="material-icons">person_add</i>{{\'menu.registration\' | translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#contacts"><i class="material-icons">settings</i>{{\'menu.settings\' | translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#balance"><i class="material-icons">account_balance_wallet</i>{{\'menu.balance\' |\r\n                    translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#cards"><i class="material-icons">card_membership</i>{{\'menu.cards\' | translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#coupons"><i class="material-icons">card_giftcard</i>{{\'menu.coupons\' | translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#history"><i class="material-icons">card_membership</i>{{\'menu.history\' | translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#personal"><i class="material-icons">question_answer</i>{{\'menu.personalData\' |\r\n                    translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#personal-offers" style="{{noPersonalOffers ? \'color:gray\' : \'\'}}"><i class="material-icons">shopping_cart</i>{{\'menu.personalOffers\' |\r\n                    translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#personal-goods" style="{{noPersonalGoods ? \'color:gray\' : \'\'}}"><i class="material-icons">add_shopping_cart</i>{{\'menu.personalGoods\' |\r\n                    translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#favorite-goods"><i class="material-icons">shopping_cart</i>{{\'menu.favoriteGoods\' |\r\n                    translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#accounts"><i class="material-icons">people</i>{{\'menu.socials\' | translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#message"><i class="material-icons" style="{{hasMessages ? \'color:red\' : \'\'}}">notifications</i>{{\'menu.messages\' | translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#feedback"><i class="material-icons">feedback</i>{{\'menu.feedback\' | translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#user-status"><i class="material-icons">shopping_cart</i>{{\'menu.status\' | translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#user-info"><i class="material-icons">shopping_cart</i>{{\'menu.userInfo\' | translate}}</a>\r\n            </li>\r\n            <li>\r\n                <a href="#anonymous-feedback"><i class="material-icons">feedback</i>{{\'menu.anonymousFeedback\' |\r\n                    translate}}</a>\r\n            </li>\r\n            <li>\r\n                <a href="#offers"><i class="material-icons">local_offer</i>{{\'menu.offers\' | translate}}</a>\r\n            </li>\r\n            <li>\r\n                <a href="#brands"><i class="material-icons">thumb_up</i>{{\'menu.brands\' | translate}}</a>\r\n            </li>\r\n            <li>\r\n                <a href="#announcement"><i class="material-icons">loyalty</i>{{\'menu.announcement\' | translate}}</a>\r\n            </li>\r\n            <li>\r\n                <a href="#merchants"><i class="material-icons">store</i>{{\'menu.merchants\' | translate}}</a>\r\n            </li>\r\n            <li>\r\n                <a href="#options"><i class="material-icons">settings</i>Опции сайта</a>\r\n            </li>\r\n        </ul>\r\n    </nav>\r\n    <div class="lmx-main-block lmx-section" ng-cloak="" ng-if="allRequestsCompleted">\r\n        <div ng-switch="appLocationParts[0]">\r\n            <lmx-user-email-modal></lmx-user-email-modal>\r\n            <lmx-authentication ng-switch-when="login"></lmx-authentication>\r\n            <lmx-reset-password ng-switch-when="reset-password"></lmx-reset-password>\r\n            <lmx-registration ng-switch-when="registration"></lmx-registration>\r\n            <lmx-offers ng-switch-when="offers"></lmx-offers>\r\n            <lmx-feedback ng-switch-when="feedback"></lmx-feedback>\r\n            <lmx-anonymous-feedback ng-switch-when="anonymous-feedback"></lmx-anonymous-feedback>\r\n            <lmx-message ng-switch-when="message"></lmx-message>\r\n            <lmx-user-status ng-switch-when="user-status"></lmx-user-status>\r\n            <lmx-cards ng-switch-when="cards" card-number-graphical-code="bar,qr"></lmx-cards>\r\n            <lmx-coupons ng-switch-when="coupons"></lmx-coupons>\r\n            <lmx-favorite-goods ng-switch-when="favorite-goods"></lmx-favorite-goods>\r\n            <lmx-balance ng-switch-when="balance"></lmx-balance>\r\n            <lmx-history ng-switch-when="history"></lmx-history>\r\n            <lmx-merchant filter-by-region="" ng-switch-when="merchants"></lmx-merchant>\r\n            <lmx-user-info ng-switch-when="user-info"></lmx-user-info>\r\n            <lmx-announcement ng-switch-when="announcement" space="offerSpace"></lmx-announcement>\r\n\r\n            <div class="lmx-settings" ng-if="[\'personal\', \'contacts\', \'accounts\'].contains(currentLocation)">\r\n                <nav class="lmx-menu grid lmx-clearfix lmx-margin-bottom">\r\n                    <a class="lmx-col4" ng-class="{\'active\': currentLocation == \'personal\'}" ng-click="changeLocation(\'personal\')" href="">{{\'menu.personalData\' | translate}}</a>\r\n                    <a class="lmx-col4" ng-class="{\'active\': currentLocation == \'contacts\'}" ng-click="changeLocation(\'contacts\')" href="">{{\'contacts.title\' | translate}}</a>\r\n                    <a class="lmx-col4" ng-class="{\'active\': currentLocation == \'accounts\'}" ng-click="changeLocation(\'accounts\')" href="">{{\'settings.accountsTitle\' | translate}}</a>\r\n                </nav>\r\n            </div>\r\n\r\n            <div ng-switch-when="contacts">\r\n                <div class="lmx-container lmx-contacts">\r\n                    <lmx-user-phone></lmx-user-phone>\r\n                    <lmx-user-email></lmx-user-email>\r\n                    <lmx-subscriptions subscription-types="Advertisement" notification-types="smsNotification,emailNotification"></lmx-subscriptions>\r\n                </div>\r\n            </div>\r\n            <div ng-switch-when="accounts">\r\n                <div class="lmx-container lmx-accounts">\r\n                    <lmx-user-password></lmx-user-password>\r\n                    <lmx-social is-binding=""></lmx-social>\r\n                    <lmx-unregistration></lmx-unregistration>\r\n                </div>\r\n            </div>\r\n            <div ng-switch-when="personal">\r\n                <div class="lmx-container lmx-personal">\r\n                    <h2>{{\'questionnaire.title\' | translate}}</h2>\r\n                    <lmx-questionnaire registration="false"></lmx-questionnaire>\r\n                </div>\r\n            </div>\r\n            <lmx-options ng-switch-when="options"></lmx-options>\r\n\r\n            <lmx-brands ng-switch-when="brands"></lmx-brands>\r\n            <lmx-personal-offers ng-switch-when="personal-offers"></lmx-personal-offers>\r\n            <lmx-personal-goods ng-switch-when="personal-goods"></lmx-personal-goods>\r\n\r\n            <div ng-switch-when="logout" ng-init="logout()"></div>\r\n\r\n            <div ng-switch-default="" ng-init="goToDefaultPage()"></div>\r\n        </div>\r\n    </div>\r\n    <lmx-notifications></lmx-notifications>\r\n    <re-captcha></re-captcha>\r\n</div>\r\n'),n.put("app/directives/lmxAppMenu/lmxAppMenu.html",'<div class="lmx-loymax-menu-container">\r\n    <nav ng-if="allRequestsCompleted" class="lmx-base-menu">\r\n        <ul class="lmx-side-nav">\r\n            <li class="lmx-hide-when-authed">\r\n                <a href="#login"><i class="material-icons">input</i>Вход</a>\r\n            </li>\r\n            <li class="lmx-hide-when-authed">\r\n                <a href="#registration"><i class="material-icons">person_add</i>Регистрация</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#personal"><i class="material-icons">settings</i>Настройки</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#balance"><i class="material-icons">account_balance_wallet</i>Детальный баланс</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#cards"><i class="material-icons">card_membership</i>Карты</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#coupons"><i class="material-icons">card_giftcard</i>{{\'menu.coupons\' | translate}}</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#history"><i class="material-icons">card_membership</i>История операций</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#history-load-more-button"><i class="material-icons">card_membership</i>История операций (подгрузка)</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#personal"><i class="material-icons">question_answer</i>Анкета</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#personal-offers" style="{{noPersonalOffers ? \'color:gray\' : \'\'}}"><i class="material-icons">shopping_cart</i>Персональные предложения</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#personal-goods" style="{{noPersonalGoods ? \'color:gray\' : \'\'}}"><i class="material-icons">add_shopping_cart</i>Персональные товары</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#favorite-goods"><i class="material-icons">shopping_cart</i>Любимые вкусы</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#social-binding"><i class="material-icons">people</i>Привязка соц-сетей</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#message"><i class="material-icons" style="{{hasMessages ? \'color:red\' : \'\'}}">notifications</i>Уведомления</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#feedback"><i class="material-icons">feedback</i>Обратная связь</a>\r\n            </li>\r\n            <li ng-if="userStatus" class="lmx-show-when-authed">\r\n                <a href="#user-status"><i class="material-icons">shopping_cart</i>Статус пользователя</a>\r\n            </li>\r\n            <li class="lmx-show-when-authed">\r\n                <a href="#user-info"><i class="material-icons">shopping_cart</i>User Info</a>\r\n            </li>\r\n            <li>\r\n                <a href="#anonymous-feedback"><i class="material-icons">feedback</i>Бесплатная обратная связь</a>\r\n            </li>\r\n            <li>\r\n                <a href="#offers"><i class="material-icons">local_offer</i>Рекламные материалы</a>\r\n            </li>\r\n            <li>\r\n                <a href="#showcase"><i class="material-icons">shopping_basket</i>Витрина</a>\r\n            </li>\r\n            <li>\r\n                <a href="#brands"><i class="material-icons">thumb_up</i>Бренды</a>\r\n            </li>\r\n            <li>\r\n                <a href="#announcement"><i class="material-icons">loyalty</i>Реклама</a>\r\n            </li>\r\n            <li>\r\n                <a href="#merchants"><i class="material-icons">store</i>Магазины</a>\r\n            </li>\r\n            <li>\r\n                <a href="#merchants-filter-by-region"><i class="material-icons">store</i>Магазины по регионам</a>\r\n            </li>\r\n        </ul>\r\n    </nav>\r\n</div>\r\n'),n.put("app/directives/lmxScroller/lmxScroller.html",'<div class="scroller-wrapper">\r\n    <div class="scroller">\r\n        <div ng-transclude=""></div>\r\n    </div>\r\n    <div class="scroller-track">\r\n        <div class="scroller-bar"></div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/lmxTabs/lmxTabs.html",'<ul class="lmx-tabs-container">\r\n    <!-- TODO ng-class \'active\' не срабатывает на внешние события (изменения URL, например) !-->\r\n    <!-- После исправления - обновить page.html в плагине (меню в разделе "Настройки" -> на эти табы) !-->\r\n    <li ng-repeat="item in list track by $index" ng-click="selectItem(item)" ng-class="{\'active\': selectedItem === item}">\r\n        {{viewField ? item[viewField] : item}}\r\n    </li>\r\n</ul>\r\n'),n.put("app/directives/localeSwitcher/localeSwitcher.html",'<div class="lmx-locale-switcher">\r\n    <div ng-repeat="locale in ::availableLanguages track by $index" ng-class="{\'active\': isCurrentLocale(locale)}" ng-click="!isCurrentLocale(locale) && switchLocale(locale)">\r\n        <span ng-class="::\'lmx-\'+locale + \'-locale\'">{{:: locale}}</span>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/merchant/merchant.html",'<div class="lmx-container lmx-merchants">\r\n    <section>\r\n        <h2>{{\'merchants.title\' | translate}}</h2>\r\n\r\n        <div loader="loaders.inProgress">\r\n            <div ng-if="!loaders.inProgress" ng-switch="!!merchants.length" class="lmx-merchants-by-regions__wrapper">\r\n                <div ng-if=":: filterByRegion" class="lmx-row lmx-merchants-by-regions__filterByRegion">\r\n                    <div class="lmx-merchant-filter" ng-if=":: regions.length">\r\n                        <div lmx-custom-select="" ng-model="region.id" repeat="regions" placeholder="{{\'merchants.chooseRegion\' | translate}}" options="r.id as r.name for r in regions"></div>\r\n                        <div lmx-custom-select="" ng-model="city.id" repeat="cities" placeholder="{{\'merchants.chooseCity\' | translate}}" options="c.id as c.name for c in cities" loader="loaders.cities"></div>\r\n                    </div>\r\n                    <div ng-if="!regions.length">{{\'merchants.noRegionInfo\' | translate}}</div>\r\n                </div>\r\n\r\n                <div ng-switch-when="true" class="lmx-merchants-map-row" ng-class="{\'lmx-list-tab-selected\': selectedTab.value === tabs.asList}" loader="loaders.brands || loaders.ymaps || loaders.merchantsList">\r\n                    <lmx-tabs ng-hide="loaders.merchantsList" list="tabs" ng-model="selectedTab.value" view-field="name">\r\n                    </lmx-tabs>\r\n\r\n                    <div class="lmx-merchant-list">\r\n                        <lmx-scroller ng-hide="loaders.merchantsList">\r\n                            <ul>\r\n                                <li ng-repeat="merchant in merchants | limitTo: merchantsLimit track by merchant.id" ng-init="isUnclickable = !merchant.location" ng-class="::{\'lmx-unclickable\': isUnclickable}" ng-click="!isUnclickable && showMerchantOnMap($index)">\r\n                                    <p>\r\n                                        {{:: merchant.title}}{{:: merchant.location ? (\', \' +\r\n                                        merchant.location.description) : \'\'}}\r\n                                    </p>\r\n                                </li>\r\n                            </ul>\r\n\r\n                            <a class="lmx-pseudolink" ng-if="merchants.length > merchantsLimit" ng-click="changeListExpansionState(true)" href="">\r\n                                <span ng-if="merchantsCountText">{{\'merchants.showAll\' | translate}}\r\n                                    <span ng-bind-html="merchantsCountText"></span></span>\r\n                            </a>\r\n                            <a class="lmx-pseudolink" ng-if="merchantsLimit === merchants.length" ng-click="changeListExpansionState()" href="">\r\n                                {{\'merchants.hide\' | translate}}\r\n                            </a>\r\n                        </lmx-scroller>\r\n                    </div>\r\n\r\n                    <lmx-map class="lmx-map" data="merchants" ng-if="merchants.length && !loaders.brands"></lmx-map>\r\n\r\n                    <script type="text/javascript">\r\n                        document.addEventListener("lmxMapReady", function() {\r\n                            var map = window.lmxMap;\r\n                            map.balloon.events.add("open", function() {\r\n                                $(".ymaps-2-1-74-panel-pane").addClass("panel-opened");\r\n                                $(".ymaps-2-1-74-panel-pane").removeClass("panel-closed");\r\n                                $(".ymaps-2-1-74-copyrights-pane").addClass("copyrights-hidden");\r\n                            });\r\n                            map.balloon.events.add("close", function() {\r\n                                $(".ymaps-2-1-74-panel-pane").addClass("panel-closed");\r\n                                $(".ymaps-2-1-74-panel-pane").removeClass("panel-opened");\r\n                                $(".ymaps-2-1-74-copyrights-pane").removeClass("copyrights-hidden");\r\n                            });\r\n                        });\r\n                    </script>\r\n                    <style>\r\n                        @media (max-width: 450px) {\r\n                            .ymaps-2-1-74-panel-pane.panel-opened,\r\n                            .ymaps-2-1-74-panel-pane.panel-opened\r\n                                .ymaps-2-1-74-balloon-panel\r\n                                .ymaps-2-1-74-balloon {\r\n                                top: 10px;\r\n                                left: 10px;\r\n                                right: 10px;\r\n                                bottom: 10px;\r\n                            }\r\n                            .ymaps-2-1-74-panel-pane.panel-opened\r\n                                .ymaps-2-1-74-balloon-panel\r\n                                .ymaps-2-1-74-balloon__content\r\n                                ymaps {\r\n                                overflow-y: visible !important;\r\n                                height: 100% !important;\r\n                            }\r\n                            .ymaps-2-1-74-copyrights-pane.copyrights-hidden {\r\n                                z-index: -1 !important;\r\n                            }\r\n                        }\r\n                    </style>\r\n                </div>\r\n                <div ng-if="!merchants.length && !loaders.merchantsList">\r\n                    {{\'merchants.\' + (filterByRegion ? \'filteredNotFound\' : \'notFound\') |\r\n                    translate}}\r\n                </div>\r\n\r\n                <div class="lmx-offers lmx-row" ng-if="offers.length" loader="loaders.offers">\r\n                    <h3>\r\n                        {{\'merchants.offers\' | translate}} &laquo;{{titleOfMerchantOffers}}&raquo;\r\n                    </h3>\r\n                    <offers-list offers="offers"></offers-list>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/message/message.html",'<div class="lmx-container lmx-message">\r\n    <section>\r\n        <h2>{{\'messages.title\' | translate}}</h2>\r\n\r\n        <div ng-if="messages.length || state.isProgress" loader="isProgress" class="lmx-messages-container">\r\n            <article ng-repeat="message in messages">\r\n                <div class="date">{{:: message.creationDate | shortDate }}</div>\r\n\r\n                <div class="lmx-remove" ng-click="remove(message);">\r\n                    {{\'buttons.delete\' | translate | lowercase}}\r\n                </div>\r\n\r\n                <h4 class="lmx-title" ng-class="{\'lmx-notRead\': !message.isReaded}">\r\n                    <span ng-click="toggleView(message);">{{:: message.title }}</span>\r\n                </h4>\r\n\r\n                <div class="lmx-text" ng-if="message._isShowText">\r\n                    <p>{{:: message.body }}</p>\r\n                </div>\r\n            </article>\r\n        </div>\r\n\r\n        <p ng-if="!messages.length && !isProgress">{{\'messages.notFound\' | translate}}</p>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/notifications/notificationsView.html",'<div class="lmx-notifications">\r\n    <div ng-repeat="(text, type) in notifications.value">\r\n        <div class="lmx-alert" ng-class="::{\'lmx-alert-info\': type == notificationTypes.message,\'lmx-alert-warning\': type == notificationTypes.error,\'lmx-alert-danger\': type == notificationTypes.critical}">\r\n            <span class="lmx-close-btn" ng-click="clearNotifications(area)" ng-if="!notificationsAreEmpty()">&times;</span>\r\n            <span ng-bind-html=":: text"></span>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/offers/modal/offerModal.html",'<div>\r\n    <div class="lmx-modal-closer" ng-click="cancel()"></div>\r\n    <div loader="inProgress">\r\n        <div ng-if="!inProgress">\r\n            <div class="modal-header">\r\n                <h2>{{:: offer.title}}</h2>\r\n            </div>\r\n\r\n            <div class="modal-body">\r\n                <div class="lmx-image">\r\n                    <img ng-src="{{::offer.imgUrl}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="">\r\n\r\n                    <div class="lmx-reward-thumbnail" ng-if=":: offer.rewardThumbnail" ng-switch="rewardThumbnailTypes[offer.rewardThumbnail.$type]">\r\n                        <div class="lmx-thumbnail lmx-two-line-text" ng-switch-when="twoLineText">\r\n                            <div title="{{::offer.rewardThumbnail.firstLine}}" class="lmx-first-line">\r\n                                {{::offer.rewardThumbnail.firstLine}}\r\n                            </div>\r\n                            <div title="{{::offer.rewardThumbnail.secondLine}}" class="lmx-second-line">\r\n                                {{::offer.rewardThumbnail.secondLine}}\r\n                            </div>\r\n                        </div>\r\n                        <div class="lmx-thumbnail lmx-image-with-text" ng-switch-when="imageWithText">\r\n                            <div title="{{::offer.rewardThumbnail.header}}">\r\n                                {{::offer.rewardThumbnail.header}}\r\n                            </div>\r\n                            <div class="lmx-reward-image">\r\n                                <img ng-src="{{::offer.rewardThumbnail.imgUrl || \'undefined\'}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="">\r\n                            </div>\r\n                            <div title="{{::offer.rewardThumbnail.footer}}">\r\n                                {{::offer.rewardThumbnail.footer}}\r\n                            </div>\r\n                        </div>\r\n                        <div class="lmx-thumbnail lmx-old-new-price" ng-switch-when="oldNewPrice">\r\n                            <div title="{{::offer.rewardThumbnail.oldPrice}}" class="lmx-old-price">\r\n                                {{::offer.rewardThumbnail.oldPrice}}\r\n                            </div>\r\n                            <div title="{{::offer.rewardThumbnail.newPrice}}" class="lmx-new-price">\r\n                                {{::offer.rewardThumbnail.newPrice}}\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n                <div class="lmx-details">\r\n                    <div>\r\n                        <div class="lmx-offer-title">{{\'offers.date\' | translate}}:</div>\r\n                        <div>{{:: (offer.begin | toUTC) | timeRange: (offer.end | toUTC)}}</div>\r\n                    </div>\r\n\r\n                    <section ng-if=":: offer.description">\r\n                        <div class="lmx-offer-title">{{\'offers.description\' | translate}}:</div>\r\n                        <div ng-bind-html="offer.description | markdown"></div>\r\n                    </section>\r\n\r\n                    <section ng-if=":: offer.instructions.length">\r\n                        <div class="lmx-offer-title">{{\'offers.instructions\' | translate}}:</div>\r\n                        <ol>\r\n                            <li ng-repeat="item in offer.instructions track by $index">\r\n                                {{::item }}\r\n                            </li>\r\n                        </ol>\r\n                    </section>\r\n\r\n                    <section ng-if=":: offer.merchants.length" ng-init="merchantsLimit = (offer.merchants.length === 4 ? 4 : 3)">\r\n                        <div class="lmx-offer-title">{{\'offers.merchants\' | translate}}:</div>\r\n                        <ul>\r\n                            <li ng-repeat="merchant in offer.merchants | limitTo: merchantsLimit track by merchant.id">\r\n                                {{:: merchant.title}}{{:: merchant.location ? (\', \' +\r\n                                merchant.location.description) : \'\'}}\r\n                            </li>\r\n                        </ul>\r\n                        <a class="lmx-pseudolink" ng-if="merchantsLimit !== offer.merchants.length && offer.merchants.length > 4" ng-click="$parent.merchantsLimit = offer.merchants.length" href="">\r\n                            <span ng-if="merchantsCountText">{{\'offers.showAllMerchants\' | translate}}\r\n                                <span ng-bind-html="merchantsCountText"></span></span>\r\n                        </a>\r\n                        <a class="lmx-pseudolink" ng-if="merchantsLimit === offer.merchants.length && offer.merchants.length > 4" ng-click="$parent.merchantsLimit = 3" href="">\r\n                            {{\'offers.hideMerchants\' | translate}}\r\n                        </a>\r\n                    </section>\r\n                </div>\r\n            </div>\r\n\r\n            <div class="modal-footer lmx-btn-container">\r\n                <button type="button" ng-click="cancel()">{{\'buttons.close\' | translate}}</button>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/offers/offers.html",'<div class="lmx-container lmx-offers">\r\n    <section>\r\n        <h2>{{\'offers.title\' | translate}}</h2>\r\n        <div loader="inProgress">\r\n            <div ng-if="!inProgress" class="lmx-offers-list">\r\n                <offers-list offers="offers"></offers-list>\r\n            </div>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/offers/offersList.html",'<div class="lmx-offers-list">\r\n    <div ng-repeat="offer in offers track by offer.id" ng-click="openCommunicationOfferModal(offer)" class="lmx-offer lmx-card">\r\n        <div class="lmx-card-image">\r\n            <img ng-src="{{::offer.imgUrl}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="">\r\n        </div>\r\n        <div class="lmx-content">\r\n            <div class="lmx-reward-thumbnail" ng-if=":: offer.rewardThumbnail" ng-switch="rewardThumbnailTypes[offer.rewardThumbnail.$type]">\r\n                <div class="lmx-two-line-text" ng-switch-when="twoLineText">\r\n                    <div title="{{::offer.rewardThumbnail.firstLine}}" class="lmx-first-line">\r\n                        {{::offer.rewardThumbnail.firstLine}}\r\n                    </div>\r\n                    <div title="{{::offer.rewardThumbnail.secondLine}}" class="lmx-second-line">\r\n                        {{::offer.rewardThumbnail.secondLine}}\r\n                    </div>\r\n                </div>\r\n                <div class="lmx-image-with-text" ng-switch-when="imageWithText">\r\n                    <div title="{{::offer.rewardThumbnail.header}}">\r\n                        {{::offer.rewardThumbnail.header}}\r\n                    </div>\r\n                    <div class="lmx-reward-image">\r\n                        <img ng-src="{{::offer.rewardThumbnail.imgUrl}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="">\r\n                    </div>\r\n                    <div title="{{::offer.rewardThumbnail.footer}}">\r\n                        {{::offer.rewardThumbnail.footer}}\r\n                    </div>\r\n                </div>\r\n                <div class="lmx-old-new-price" ng-switch-when="oldNewPrice">\r\n                    <div title="{{::offer.rewardThumbnail.oldPrice}}" class="lmx-old-price">\r\n                        {{::offer.rewardThumbnail.oldPrice}}\r\n                    </div>\r\n                    <div title="{{::offer.rewardThumbnail.newPrice}}" class="lmx-new-price">\r\n                        {{::offer.rewardThumbnail.newPrice}}\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            <div class="lmx-card-content">\r\n                <div class="lmx-card-title" title="{{::offer.title}}">{{::offer.title}}</div>\r\n                <div class="lmx-card-description">{{:: offer.shortDescription}}</div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <div ng-if="!offers.length">\r\n        {{\'offers.\' + (offerState === states.active ? \'noActiveOffers\' : \'noFutureOffers\') |\r\n        translate}}\r\n    </div>\r\n</div>\r\n'),
    93949394n.put("app/directives/options/options.html",'<div class="lmx-container lmx-options">\r\n    <section>\r\n        <h2>Параметры сайта</h2>\r\n\r\n        <table>\r\n            <tr>\r\n                <td>\r\n                    <input type="text" id="lmx-api" ng-model="api">\r\n                    <label for="lmx-api">API</label>\r\n                </td>\r\n                <td>\r\n                    <button type="button" ng-click="saveConfiguration(\'host\', api)">\r\n                        {{\'buttons.save\' | translate}}\r\n                    </button>\r\n                </td>\r\n            </tr>\r\n            <tr>\r\n                <td>\r\n                    <input type="text" id="lmx-showcaseApi" ng-model="showcaseApi">\r\n                    <label for="lmx-showcaseApi">ShowcaseAPI</label>\r\n                </td>\r\n                <td>\r\n                    <button type="button" ng-click="saveConfiguration(\'showcaseHost\', showcaseApi)">\r\n                        {{\'buttons.save\' | translate}}\r\n                    </button>\r\n                </td>\r\n            </tr>\r\n            <tr>\r\n                <td>\r\n                    <input type="text" id="lmx-locales" ng-model="locales" required="">\r\n                    <label for="lmx-locales">Локализации</label>\r\n                </td>\r\n                <td>\r\n                    <button type="button" ng-click="saveConfiguration(\'locales\', locales)">\r\n                        {{\'buttons.save\' | translate}}\r\n                    </button>\r\n                </td>\r\n            </tr>\r\n            <tr>\r\n                <td>\r\n                    <input type="text" id="lmx-reCaptchaSiteKey" ng-model="reCaptchaSiteKey">\r\n                    <label for="lmx-reCaptchaSiteKey">reCaptchaSiteKey</label>\r\n                </td>\r\n                <td>\r\n                    <button type="button" ng-click="saveConfiguration(\'reCaptchaSiteKey\', reCaptchaSiteKey)">\r\n                        {{\'buttons.save\' | translate}}\r\n                    </button>\r\n                </td>\r\n            </tr>\r\n            <tr>\r\n                <td>\r\n                    <input type="text" id="lmx-oAuthClientId" ng-model="oAuthClientId">\r\n                    <label ng-class="{\'active\': oAuthClientId}" for="lmx-oAuthClientId">oAuthClientId</label>\r\n                </td>\r\n                <td>\r\n                    <button type="button" ng-click="saveConfiguration(\'oAuthClientId\', oAuthClientId)">\r\n                        {{\'buttons.save\' | translate}}\r\n                    </button>\r\n                </td>\r\n            </tr>\r\n        </table>\r\n\r\n        <h2>Опции компонент</h2>\r\n        <div>\r\n            <table ng-repeat="(key, value) in components">\r\n                <th>{{optionsNames[key]}}</th>\r\n\r\n                <tr ng-repeat="(compKey, compValue) in value">\r\n                    <td>{{compKey}}</td>\r\n                    <td ng-init="inputType = getType(compValue)" ng-switch="inputType">\r\n                        <textarea ng-switch-when="textarea" ng-attr-id="{{compKey}}" readonly="">\r\n{{value[compKey] | json}}</textarea>\r\n                        <input ng-switch-default="" ng-attr-id="{{compKey}}" ng-attr-type="{{inputType}}" ng-class="\'lmx-\'+getClass(compValue)" ng-model="value[compKey]">\r\n                        <label ng-attr-for="{{compKey}}"></label>\r\n                    </td>\r\n                    <td>{{optionsNames[compKey]}}</td>\r\n                </tr>\r\n            </table>\r\n\r\n            <button type="button" ng-click="saveComponentsOptions()">\r\n                {{\'buttons.save\' | translate}}\r\n            </button>\r\n        </div>\r\n\r\n        <h2>Общие опции</h2>\r\n        <div>\r\n            <table>\r\n                <tr ng-repeat="(key, value) in common">\r\n                    <td>{{key}}</td>\r\n                    <td ng-init="inputType = getType(value)" ng-switch="inputType">\r\n                        <textarea ng-switch-when="textarea" ng-attr-id="{{key}}" readonly="">\r\n{{common[key] | json}}</textarea>\r\n                        <input ng-switch-default="" ng-attr-id="{{key}}" ng-attr-type="{{inputType}}" ng-class="\'lmx-\'+getClass(value)" ng-model="common[key]">\r\n                        <label ng-attr-for="{{key}}"></label>\r\n                    </td>\r\n                    <td>{{optionsNames[key]}}</td>\r\n                </tr>\r\n            </table>\r\n\r\n            <button type="button" ng-click="saveCommonOptions()">\r\n                {{\'buttons.save\' | translate}}\r\n            </button>\r\n        </div>\r\n    </section>\r\n</div>\r\n'),n.put("app/directives/personalGoods/personalGoods.html",'<div>\r\n    <div class="lmx-container lmx-personal-goods" ng-if="!appLocationParts[1]">\r\n        <h2>{{\'personalGoods.title\' | translate}}</h2>\r\n\r\n        <div loader="inProgress">\r\n            <div ng-show="!inProgress">\r\n                <section class="lmx-my-goods lmx-margin-bottom" ng-if="approvedPersonalOffers.length">\r\n                    <h3>{{\'personalGoods.myGoodsOffers\' | translate}}:</h3>\r\n                    <personal-goods-offer-info ng-repeat="offer in approvedPersonalOffers track by offer.id" offer="offer" goods-preview=""></personal-goods-offer-info>\r\n                </section>\r\n\r\n                <section class="lmx-current-goods lmx-margin-bottom">\r\n                    <h3>{{\'personalGoods.activeOffers\' | translate}}:</h3>\r\n                    <div ng-if="activePersonalOffers.length">\r\n                        <personal-goods-offer-info ng-repeat="offer in activePersonalOffers track by offer.id" offer="offer"></personal-goods-offer-info>\r\n                    </div>\r\n                    <div ng-if="!activePersonalOffers.length">\r\n                        {{\'personalGoods.noActiveOffers\' | translate}}\r\n                    </div>\r\n                </section>\r\n\r\n                <section class="lmx-future-goods lmx-margin-bottom" ng-if="futurePersonalOffers.length">\r\n                    <h3>{{\'personalGoods.futureOffers\' | translate}}:</h3>\r\n                    <personal-goods-offer-info ng-repeat="offer in futurePersonalOffers track by offer.id" offer="offer"></personal-goods-offer-info>\r\n                </section>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <personal-goods-offer ng-if="appLocationParts[1]" offer-id="appLocationParts[1]" show-full-description="true"></personal-goods-offer>\r\n</div>\r\n'),n.put("app/directives/personalGoods/personalGoodsOffer/personalGoodsOffer.html",'<div class="lmx-container lmx-personal-goods-offer" loader="inProgress">\r\n    <div class="lmx-margin-bottom" ng-show="!inProgress">\r\n        <div class="lmx-margin-bottom">\r\n            <a href="{{:: personalGoodsUrl}}">&larr; {{\'buttons.backToList\' | translate}}</a>\r\n        </div>\r\n\r\n        <personal-goods-offer-info offer="offer" class="lmx-margin-bottom" show-full-description="showFullDescription"></personal-goods-offer-info>\r\n\r\n        <div class="lmx-personal-goods-offer__goods-list lmx-card" ng-class="{\'lmx-unselectable\': !selectableGoodsCount,\'lmx-readonly\': !offer.canSelectGoods,\'lmx-many-goods\': offerGoods.length > 9}" loader="offerDetailsInProgress">\r\n            <div class="lmx-approve lmx-card-action">\r\n                <div class="lmx-available-amount-hint">\r\n                    {{selectableGoodsCount ? (\'personalGoods.availableGoodsCount\' | translate:\r\n                    {availableCount: selectableGoodsCount || 0, maxGoodsCount:\r\n                    offer.attribute.maxGoodsCount}) : (\'personalGoods.maxGoodsCount\' | translate)}}\r\n                </div>\r\n                <button type="button" ng-if="availableGoodsCount" ng-click="approveSelectedGoods()" ng-disabled="!selectedGoods.length">\r\n                    {{\'buttons.approve\' | translate}}\r\n                </button>\r\n            </div>\r\n            <div class="lmx-card-content">\r\n                <div ng-repeat="goods in offerGoods track by goods.id" ng-click="changeSelectedGoods(goods)" ng-class="{\'lmx-approved\': goods.selected,\'lmx-selected\': selectedGoods.contains(goods)}" class="lmx-goods">\r\n                    <div class="lmx-img-wrapper">\r\n                        <img ng-src="{{:: goods.imgUrl}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="">\r\n                    </div>\r\n                    <div class="lmx-goods__title" title="{{:: goods.title}}">{{:: goods.title}}</div>\r\n                    <div ng-if="goods.typeRewardThumbnail" ng-switch="goods.typeRewardThumbnail">\r\n                        <div ng-switch-when="oldNewPrice" class="lmx-old-new-price">\r\n                            <span class="lmx-new-price">{{:: goods.rewardThumbnail.newPrice}}</span>\r\n                            <span class="lmx-old-price">{{:: goods.rewardThumbnail.oldPrice}}</span>\r\n                        </div>\r\n                        <div ng-switch-when="imageWithText" class="lmx-image-with-text">\r\n                            <div title="{{::goods.rewardThumbnail.header}}">\r\n                                {{::goods.rewardThumbnail.header}}\r\n                            </div>\r\n                            <div class="lmx-reward-image">\r\n                                <img ng-src="{{::goods.rewardThumbnail.imgUrl}}" fallback-image="" fallback-title="{{\'imageNotFound\' | translate}}" alt="">\r\n                            </div>\r\n                            <div title="{{::goods.rewardThumbnail.footer}}">\r\n                                {{::goods.rewardThumbnail.footer}}\r\n                            </div>\r\n                        </div>\r\n                        <div ng-switch-when="twoLineText" class="lmx-two-line-text">\r\n                            <div title="{{:: goods.rewardThumbnail.firstLine}}" class="lmx-first-line">\r\n                                {{:: goods.rewardThumbnail.firstLine}}\r\n                            </div>\r\n                            <div title="{{:: goods.rewardThumbnail.secondLine}}" class="lmx-second-line">\r\n                                {{:: goods.rewardThumbnail.secondLine}}\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            <div ng-if="availableGoodsCount" class="lmx-approve lmx-card-action lmx-approve-footer-duplicate lmx-clearfix">\r\n                <button type="button" ng-click="approveSelectedGoods()" ng-disabled="!selectedGoods.length">\r\n                    {{\'buttons.approve\' | translate}}\r\n                </button>\r\n            </div>\r\n            <div class="lmx-goods-list-overlayer">\r\n                <p ng-bind-html="(\'personalGoods.editingNotAvailable\' | translate) + \': \' + ((offer.attribute.startFillDate | toUTC | timeRange: (offer.attribute.endFillDate | toUTC)) | nbspSpaces)"></p>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/personalGoods/personalGoodsOfferInfo/personalGoodsOfferInfo.html",'<div class="lmx-personal-goods-offer__info" ng-class="::{\'lmx-card\': isPreview}">\r\n    <div class="lmx-card-content lmx-clearfix">\r\n        <div ng-if=":: goodsPreview" class="lmx-goods-preview">\r\n            <div class="lmx-selected-count">\r\n                {{(\'personalGoods.goodsSelected\' | translate: {approvedCount:\r\n                offer.approvedGoodsCount, maxGoodsCount: offer.attribute.maxGoodsCount})}}\r\n            </div>\r\n            <div ng-repeat="goods in offer.approvedGoods track by goods.id" class="lmx-goods">\r\n                <img ng-src="{{:: goods.imgUrl}}" fallback-image="" alt="" title="{{:: goods.title}}">\r\n            </div>\r\n        </div>\r\n\r\n        <brands-names brands="offer.brands"></brands-names>\r\n\r\n        <div class="lmx-title-wrap" ng-switch=":: isPreview">\r\n            <h2 ng-switch-when="false" class="lmx-title">{{:: offer.title}}</h2>\r\n            <h4 ng-switch-when="true" class="lmx-title">{{:: offer.title}}</h4>\r\n        </div>\r\n\r\n        <div ng-if="showFullDescription" class="lmx-description lmx-row" ng-bind-html="offer.description | markdown"></div>\r\n        <div ng-if="!showFullDescription" class="lmx-description lmx-row">\r\n            {{:: offer.shortDescription}}\r\n        </div>\r\n        <div class="lmx-duration lmx-row">\r\n            <b>{{\'personalGoods.offerPeriod\' | translate}}:</b>\r\n            <div>{{:: offer.begin | toUTC | timeRange: (offer.end | toUTC) | capitalize}}</div>\r\n        </div>\r\n        <div class="lmx-edit-duration lmx-row">\r\n            <b ng-bind-html="(\'personalGoods.editingNotAvailable\' | translate) + \':\'"></b>\r\n            <div>\r\n                {{:: offer.attribute.startFillDate | toUTC | timeRange: (offer.attribute.endFillDate\r\n                | toUTC) | capitalize}}\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <div class="lmx-card-action lmx-clearfix">\r\n        <button type="button" ng-click=":: changeLocation(\'personal-goods/\' + offer.id)">\r\n            {{\'buttons.viewMore\' | translate}}\r\n        </button>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/personalOffers/personalOffer/modal/personalOfferMapModal.html",'<div class="lmx-personal-offers-map">\r\n    <div loader="inProgress" class="modal-body">\r\n        <lmx-map ng-if="merchants.length" class="lmx-map" data="merchants"> </lmx-map>\r\n    </div>\r\n    <div class="modal-footer lmx-btn-container">\r\n        <button type="button" ng-click="cancel()">{{\'buttons.close\' | translate}}</button>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/personalOffers/personalOffer/personalOffer.html",'<div class="lmx-container lmx-personal-offer" loader="inProgress">\r\n    <div ng-if="!inProgress">\r\n        <div class="lmx-margin-bottom">\r\n            <a href="{{:: personalOffersUrl}}" class="lmx-go-back-link">&larr; {{\'buttons.backToList\' | translate}}</a>\r\n        </div>\r\n\r\n        <personal-offer-content class="lmx-margin-bottom" personal-offer="personalOffer" show-full-description="true"></personal-offer-content>\r\n\r\n        <div ng-if=":: offerDetails.length" class="lmx-offer-details-container lmx-margin-bottom">\r\n            <uib-accordion class="lmx-offer-details-accordion">\r\n                <uib-accordion-group ng-repeat="offerDetail in offerDetails" class="lmx-offer-details-accordion-group">\r\n                    <uib-accordion-heading class="lmx-offer-details-header">\r\n                        <span>{{::offerDetail.title}}</span>\r\n                        <span class="glyphicon glyphicon-chevron-down"></span>\r\n                        <span class="glyphicon glyphicon-chevron-up"></span>\r\n                    </uib-accordion-heading>\r\n                    <dl class="lmx-offer-details-list">\r\n                        <dt class="lmx-offer-detail__title">{{\'personalOffers.offer\' | translate}}:</dt>\r\n                        <dd class="lmx-offer-detail__description">{{::offerDetail.description}}</dd>\r\n\r\n                        <dt class="lmx-offer-detail__title">\r\n                            {{\'personalOffers.details\' | translate}}:\r\n                        </dt>\r\n                        <dd class="lmx-offer-detail__values">\r\n                            <personal-offer-discount-view ng-if="offerDetail.discount" value="offerDetail.discount.value" type="offerDetail.discount.$type" measure-amount="offerDetail.discount.measureAmount" discount-type="offerDetail.discount.discountType"></personal-offer-discount-view>\r\n                            <div>{{::offerDetail.annotation}}</div>\r\n                        </dd>\r\n\r\n                        <dt class="lmx-offer-detail__title lmx-_interval" ng-if="offerDetail.detailBeginLocalDate || offerDetail.detailEndLocalDate">\r\n                            {{\'personalOffers.detailPeriodTitle\' | translate}}:\r\n                        </dt>\r\n                        <dd class="lmx-offer-detail__dates" ng-if="offerDetail.detailBeginLocalDate || offerDetail.detailEndLocalDate">\r\n                            <span ng-if="offerDetail.detailBeginLocalDate && !offerDetail.detailEndLocalDate">\r\n                                {{(\'personalOffers.detailPeriod\' | translate: {offerBeginning:\r\n                                (offerDetail.detailBeginLocalDate | toUTC | shortDate), offerEnd:\r\n                                (\'personalOffers.offerEnd\' | translate)})}}\r\n                            </span>\r\n                            <span ng-if="!offerDetail.detailBeginLocalDate && offerDetail.detailEndLocalDate">\r\n                                {{(\'personalOffers.detailPeriod\' | translate: {offerBeginning:\r\n                                (\'personalOffers.offerBeginning\' | translate), offerEnd:\r\n                                (offerDetail.detailEndLocalDate | toUTC | shortDate)})}}\r\n                            </span>\r\n                            <span ng-if="offerDetail.detailBeginLocalDate && offerDetail.detailEndLocalDate">\r\n                                {{(\'personalOffers.detailPeriod\' | translate: {offerBeginning:\r\n                                (offerDetail.detailBeginLocalDate | toUTC | shortDate), offerEnd:\r\n                                (offerDetail.detailEndLocalDate | toUTC | shortDate)})}}\r\n                            </span>\r\n                        </dd>\r\n\r\n                        <dt class="lmx-offer-detail__title">\r\n                            {{\'personalOffers.goodsCode\' | translate}}:\r\n                        </dt>\r\n                        <dd class="lmx-offer-detail__codes">\r\n                            <repeat-limit list="offerDetail.codes" delimiter="," limit="3" field="value"></repeat-limit>\r\n                        </dd>\r\n                    </dl>\r\n                    <div class="lmx-btn-container lmx-offer-details-map">\r\n                        <button type="button" ng-show="offerDetail.hasMerchants" ng-click="openPersonalOfferMapModal(offerDetail.id)">\r\n                            {{\'personalOffers.viewOnMap\' | translate}}\r\n                        </button>\r\n                    </div>\r\n                </uib-accordion-group>\r\n            </uib-accordion>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/personalOffers/personalOfferContentView/personalOfferContent.html",'<div class="lmx-offer-content-container lmx-card-content lmx-clearfix">\r\n    <brands-names brands="personalOffer.brands"></brands-names>\r\n\r\n    <div class="lmx-personal-offer__title-container" ng-switch=":: isPreview">\r\n        <h2 ng-switch-when="false" class="lmx-personal-offer__title">{{:: personalOffer.title}}</h2>\r\n        <h4 ng-switch-when="true" class="lmx-card-title lmx-personal-offer__title">\r\n            {{:: personalOffer.title}}\r\n        </h4>\r\n    </div>\r\n\r\n    <div class="lmx-personal-offer__map-link">\r\n        <a ng-click="openPersonalOfferMapModal()" class="lmx-pseudolink" href="">{{\'personalOffers.showOnMap\' | translate}}</a>\r\n    </div>\r\n    <div ng-if=":: showFullDescription" class="lmx-personal-offer__description lmx-row" ng-bind-html="personalOffer.description | markdown"></div>\r\n    <div ng-if=":: !showFullDescription" class="lmx-personal-offer__description lmx-row">\r\n        {{:: personalOffer.shortDescription}}\r\n    </div>\r\n    <div class="lmx-personal-offer__duration lmx-row">\r\n        <b>{{\'personalOffers.offerPeriod\' | translate}}:</b>\r\n        <div>\r\n            {{:: personalOffer.begin | toUTC | timeRange: (personalOffer.end | toUTC) | capitalize}}\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/personalOffers/personalOfferDiscountView/personalOfferDiscountView.html",'<div class="lmx-discount-view" ng-switch=":: discountEnums[type]">\r\n    <span ng-switch-default="">{{:: discountView}}</span>\r\n    <div ng-switch-when="pricePerUnit">\r\n        <span>{{::discountView}}</span>\r\n        <span class="lmx-tooltip glyphicon glyphicon-question-sign" uib-tooltip="{{\'personalOffers.pricePerUnitDiscountHint.\' + (discountType | lowerCamelCase) | translate }}" tooltip-placement="right"></span>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/personalOffers/personalOffers.html",'<div>\r\n    <div class="lmx-container lmx-personal-offers" ng-if="!appLocationParts[1]">\r\n        <h2>{{\'personalOffers.title\' | translate}}</h2>\r\n        <div loader="inProgress">\r\n            <div class="lmx-margin-bottom" ng-if="!inProgress">\r\n                <div ng-repeat="personalOffer in personalOffers track by personalOffer.id" class="lmx-card">\r\n                    <personal-offer-content personal-offer="personalOffer"></personal-offer-content>\r\n                    <div class="lmx-card-action lmx-clearfix">\r\n                        <button type="button" ng-click="openOffer(personalOffer.id)">\r\n                            {{\'buttons.viewMore\' | translate}}\r\n                        </button>\r\n                    </div>\r\n                </div>\r\n                <div ng-if=":: !personalOffers.length">\r\n                    {{\'personalOffers.noActiveOffers\' | translate}}\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <personal-offer ng-if="appLocationParts[1]" offer-id="appLocationParts[1]"></personal-offer>\r\n</div>\r\n'),n.put("app/directives/phoneInput/phoneInput.html",'<input ng-transclude="" ng-keypress="keyPress($event)" ng-paste="paste($event)" type="text" mask="{{phoneSettings.prefix}} {{phoneSettings.mask}}" clean="true" validate="false" restrict="reject" is-phone="" placeholder="{{phoneSettings.prefix}} {{phoneSettings.mask}}">\r\n'),n.put("app/directives/questionnaire/questionCancel.html",'<div class="lmx-cancel-link">\r\n    <a ng-click="cancelForm()" href="">{{\'buttons.cancel\' | translate}}</a>\r\n</div>\r\n'),n.put("app/directives/questionnaire/questionEdit.html",'<div>\r\n    <a ng-click="openForm()" href="">{{\'buttons.change\'|translate}}</a>\r\n</div>\r\n'),n.put("app/directives/questionnaire/questionErrors.html",'<div class="lmx-questionnaire-error" ng-repeat="message in errors">\r\n    <span>{{::message}}</span>\r\n</div>\r\n'),n.put("app/directives/questionnaire/questionnaire.html",'<div>\r\n    <div ng-if=":: registration">\r\n        <h2>{{\'personal.title\' | translate}}</h2>\r\n    </div>\r\n    <div class="lmx-questionnaire" loader="loader.templatesInProgress" ng-class="::{\'lmx-questionnaire-edit\': !registration}">\r\n        <div ng-hide="loader.templatesInProgress">\r\n            <div ng-repeat="questionnaireBlock in questionnaire track by $index">\r\n                <div ng-if="questionnaireBlock.type === questionnaireItemTypes.question">\r\n                    <questionnaire-item question="questionnaireBlock"></questionnaire-item>\r\n                </div>\r\n                <div ng-if="questionnaireBlock.type === questionnaireItemTypes.questionGroup">\r\n                    <questionnaire-group group="questionnaireBlock" class="lmx-questionnaire-column"></questionnaire-group>\r\n                </div>\r\n                <div ng-if="questionnaireBlock.type === questionnaireItemTypes.questionMultipleGroup">\r\n                    <questionnaire-block block="questionnaireBlock" class="lmx-questionnaire-column"></questionnaire-block>\r\n                </div>\r\n            </div>\r\n        </div>\r\n\r\n        <lmx-notifications ng-if=":: registration" area="registration"></lmx-notifications>\r\n        <lmx-notifications area="questionnaire"></lmx-notifications>\r\n        <div ng-if="!loader.templatesInProgress">\r\n            <div class="lmx-btn-container">\r\n                <div ng-hide="loader.saveInProgress">\r\n                    <button type="button" ng-if=":: registration" class="lmx-btn-cancel" ng-click="cancelForm()" id="lmx-registration-questionnaire__cancel">\r\n                        {{\'buttons.cancel\' | translate}}\r\n                    </button>\r\n                    <button type="button" ng-click="saveQuestionnaire()" id="lmx-registration-questionnaire__submit" ng-class="::{\'lmx-right\': !registration}">\r\n                        {{(registration ? \'buttons.next\' : \'buttons.save\') |translate}}\r\n                    </button>\r\n                </div>\r\n                <inline-loader>loader.saveInProgress</inline-loader>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/questionnaire/questionnaireBlock.html",'<div>\r\n    <h3>{{::block.name}}</h3>\r\n    <div class="lmx-add-block-button">\r\n        <button ng-click="addBlock()" ng-disabled="block.answers.length === block.maxAnswersCount">\r\n            {{:: \'buttons.add\' | translate }}\r\n        </button>\r\n    </div>\r\n\r\n    <div>\r\n        <span ng-if="block.answers.length === 0">{{:: \'questionnaire.noQuestionBlocks\' | translate }}</span>\r\n        <span ng-if="block.answers.length > 0">{{:: \'questionnaire.repliesAdded\' | translate }}</span>\r\n        ({{ block.answers.length }}/{{ block.maxAnswersCount }})\r\n    </div>\r\n\r\n    <div ng-repeat="row in block.answers track by row.number" class="lmx-questions-row">\r\n        <div class="lmx-remove-block-button">\r\n            <button ng-click="removeBlock(row)">{{:: \'buttons.delete\' | translate }}</button>\r\n        </div>\r\n        <div ng-repeat="question in block.questions | orderBy: \'order\' track by question.id">\r\n            <questionnaire-item question="question" question-block="block" question-id="block.id" answer="row.answers.getObjectByField(\'questionId\', question.id)"></questionnaire-item>\r\n        </div>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/questionnaire/questionnaireGroup.html",'<div>\r\n    <h3>{{::group.name}}</h3>\r\n    <div ng-repeat="question in group.questions | orderBy: \'order\' track by question.id">\r\n        <questionnaire-item question="question" question-id="group.id"></questionnaire-item>\r\n    </div>\r\n</div>\r\n'),n.put("app/directives/questionnaire/questionSave.html",'<div>\r\n    <inline-loader line="">inProgress</inline-loader>\r\n    <button type="submit" ng-hide="inProgress">{{\'buttons.save\'|translate}}</button>\r\n</div>\r\n'),n.put("app/directives/questionnaire/questionTypes/Boolean.html",'<div class="lmx-question-boolean">\r\n    <form novalidate="" name="questionnaireForm" ng-submit="questionnaireForm.$valid && save()">\r\n        <form-group ng-init="registerForm(questionnaireForm)" ng-class="::{\'lmx-required\': question.isRequired}">\r\n            <input type="checkbox" ng-attr-id="{{::question.logicalName}}_{{answer.number}}" name="{{::question.logicalName}}" ng-model="answer.value" ng-disabled="question.isReadOnly || disabled">\r\n            <label ng-attr-for="{{::question.logicalName}}_{{answer.number}}" class="lmx-checkbox-item-label">\r\n                {{::question.name}}\r\n            </label>\r\n\r\n            <question-errors></question-errors>\r\n        </form-group>\r\n    </form>\r\n</div>\r\n'),n.put("app/directives/questionnaire/questionTypes/Date.html",'<div class="lmx-question-date">\r\n    <form novalidate="" name="questionnaireForm" ng-submit="questionnaireForm.$valid && save()">\r\n        <form-group label-text="{{::question.name}}" ng-init="registerForm(questionnaireForm)" ng-class="::{\'lmx-required\': question.isRequired}">\r\n            <birthday-picker ng-attr-id="{{:: question.logicalName}}" ng-attr-name="{{:: question.logicalName}}" ng-model="answer.value" ng-required="::question.isRequired" is-disabled="question.isReadOnly || disabled" ng-class="{\'disabled\': question.isReadOnly || disabled}"></birthday-picker>\r\n\r\n            <question-errors></question-errors>\r\n        </form-group>\r\n    </form>\r\n</div>\r\n'),n.put("app/directives/questionnaire/questionTypes/Double.html",'<div class="lmx-question-double">\r\n    <form novalidate="" name="questionnaireForm" ng-submit="questionnaireForm.$valid && save()">\r\n        <form-group ng-init="registerForm(questionnaireForm)" ng-class="::{\'lmx-required\': question.isRequired}" ng-attr-title="{{:: question.name.length > 30 ? question.name : \'\'}}" label-text="{{::question.name}}">\r\n            <input type="number" ng-model="answer.value" name="{{::question.logicalName}}" id="lmx-{{::question.logicalName}}" ng-disabled="question.isReadOnly || disabled" ng-required="::question.isRequired" ng-pattern=":: question.regexp" ng-pattern-message="{{:: question.regexpErrorMessage}}">\r\n            <question-errors></question-errors>\r\n        </form-group>\r\n    </form>\r\n</div>\r\n'),n.put("app/directives/questionnaire/questionTypes/Int.html",'<div class="lmx-question-int">\r\n    <form novalidate="" name="questionnaireForm" ng-submit="questionnaireForm.$valid && save()">\r\n        <form-group ng-init="registerForm(questionnaireForm)" ng-class="::{\'lmx-required\': question.isRequired}" ng-attr-title="{{:: question.name.length > 30 ? question.name : \'\'}}" label-text="{{::question.name}}">\r\n            <input type="number" ng-model="answer.value" ng-attr-name="{{::question.logicalName}}" ng-attr-id="{{::question.logicalName}}" ng-disabled="question.isReadOnly || disabled" ng-required="::question.isRequired" ng-pattern=":: question.regexp" ng-pattern-message="{{:: question.regexpErrorMessage}}" integer="">\r\n\r\n            <question-errors></question-errors>\r\n        </form-group>\r\n    </form>\r\n</div>\r\n'),n.put("app/directives/questionnaire/questionTypes/Select.html",'<div ng-class="::{\'lmx-question-radio\': !question.isMultiSelect,\'lmx-question-checkbox\': question.isMultiSelect,\'lmx-question-custom\': question.hasCustomAnswer}">\r\n    <form novalidate="" name="questionnaireForm" ng-submit="questionnaireForm.$valid && save()">\r\n        <form-group label-text="{{::question.name}}" ng-init="registerForm(questionnaireForm)" ng-class="::{\'lmx-required\': question.isRequired}">\r\n            <input type="hidden" ng-model="answer.value" ng-attr-id="{{::question.logicalName}}" ng-attr-name="{{::question.logicalName}}" ng-required="::question.isRequired">\r\n            <!-- select (if answers > 5) -->\r\n            <div ng-if=":: question.fixedAnswers.length > 5 && !question.isMultiSelect">\r\n                <div ng-init="lmxCustomSelectValue = getFixedAnswerByProperty(\'isSelected\', true).id" lmx-custom-select="" ng-model="lmxCustomSelectValue" repeat="answer.fixedAnswers" ng-change="updateAnswerObject(lmxCustomSelectValue)" options="q.id as q.name for q in answer.fixedAnswers"></div>\r\n                <input ng-show="answer.radioValue.isCustom" type="text" ng-attr-name="{{::question.logicalName+\'_custom\'}}" ng-model="answer.value" placeholder="{{\'questionnaire.customAnswerPlaceholder\' | translate}}" ng-required="answer.radioValue.isCustom" ng-pattern="question.regexp" class="lmx-question-custom__text">\r\n            </div>\r\n\r\n            <div ng-repeat="item in answer.fixedAnswers" ng-init="elementId = question.logicalName+\'_\'+item.id+\'_\'+answer.number" ng-class="::{\'lmx-question-radio-item\': !question.isMultiSelect,\'lmx-question-checkbox-item\': question.isMultiSelect}">\r\n                <!-- radio (if answers < 6) -->\r\n                <div ng-if="!question.isMultiSelect && question.fixedAnswers.length <= 5">\r\n                    <input type="radio" ng-model="answer.radioValue" ng-value="item" ng-change="updateRadioValues(item)" ng-disabled="item.isReadOnly || disabled" ng-attr-id="{{::elementId}}">\r\n                    <label class="lmx-radio-item-label" ng-attr-for="{{::elementId}}">\r\n                        {{::item.name}}\r\n                    </label>\r\n                    <input ng-if="item.isCustom" type="text" placeholder="{{\'questionnaire.customAnswerPlaceholder\' | translate}}" ng-attr-name="{{::question.logicalName+\'_custom\'}}" ng-model="answer.value" ng-click="answer.radioValue = item" ng-required="answer.radioValue === item" ng-disabled="disabled || answer.radioValue !== item" ng-pattern="answer.radioValue === item ? question.regexp : undefined" class="lmx-question-custom__text">\r\n                </div>\r\n\r\n                <!-- checkBox -->\r\n                <div ng-if=":: question.isMultiSelect">\r\n                    <input type="checkbox" ng-attr-id="{{::elementId}}" ng-model="item.isSelected" ng-change="updateCheckBoxValues(true)" ng-disabled="item.isReadOnly || disabled">\r\n                    <label ng-attr-for="{{::elementId}}" class="lmx-checkbox-item-label">\r\n                        {{::item.name}}\r\n                    </label>\r\n                    <input ng-if="item.isCustom" type="text" name="{{::question.logicalName+\'_custom\'}}" ng-model="answer.value" ng-click="item.isSelected = true" ng-required="item.isSelected" ng-disabled="disabled || !item.isSelected" ng-pattern="item.isSelected ? question.regexp : undefined" class="lmx-question-custom__text">\r\n                </div>\r\n            </div>\r\n            <question-errors></question-errors>\r\n        </form-group>\r\n    </form>\r\n</div>\r\n'),
     
    96969696  gift: "Подарок"
    96979697  charging: "Начисление"
     9698 rewardData:
     9699  bonus: "Начисление"
     9700  activation: "Активация"
     9701  charging: "Начисление"
     9702 withdrawData:
     9703  bonus: "Списание"
     9704  expiration: "Сгорание"
    96989705merchants:
    96999706 title: &merchants "Магазины"
  • loymaxapp/trunk/public/css/style.min.css

    r2638420 r2639060  
    11/**
    2  * Loymax v2.2.20211202 (http://loymax.ru)
     2 * Loymax v2.2.20211203 (http://loymax.ru)
    33 * Copyright 2011-2021 Loymax, Inc.
    44 * License: MIT
  • loymaxapp/trunk/public/locale/en.yml

    r2638420 r2639060  
    298298  gift: "Gift"
    299299  charging: "Deposit"
     300 rewardData:
     301  bonus: "Accrual"
     302  activation: "Activation"
     303  charging: "Accrual"
     304 withdrawData:
     305  bonus: "Deduction"
     306  expiration: "Expiration"
    300307merchants:
    301308 title: &merchants "Points of sale"
  • loymaxapp/trunk/public/locale/ru.yml

    r2638420 r2639060  
    298298  gift: "Подарок"
    299299  charging: "Начисление"
     300 rewardData:
     301  bonus: "Начисление"
     302  activation: "Активация"
     303  charging: "Начисление"
     304 withdrawData:
     305  bonus: "Списание"
     306  expiration: "Сгорание"
    300307merchants:
    301308 title: &merchants "Магазины"
  • loymaxapp/trunk/readme.txt

    r2638420 r2639060  
    3737
    3838== Changelog ==
     39= 3.2.8 =
     40* Переименованы "Начисления" на "Активация"
    3941= 3.2.7 =
    4042* Добавлены блоки вопросов в анкете
Note: See TracChangeset for help on using the changeset viewer.