PageSourceSearch

https://iampho.ru/var/cache/asset20_f413ab60ba1b64fb9a6ff6e925d68fb5.js

js iampho.ru collected 2026-10-07 18:09:33 UTC 25,503 bytes, 247 lines download raw bytes

vendor: 8,528 bytes, line 1
1!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.vanillaTextMask=r():e.vanillaTextMask=r()}(this,function(){return function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=e,r.c=t,r.p="",r(0)}([function(e,r,t){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){var r=e.inputElement,t=(0,u.default)(e),n=function(e){var r=e.target.value;return t.update(r)};return r.addEventListener("input",n),t.update(r.value),{textMaskInputElement:t,destroy:function(){r.removeEventListener("input",n)}}}Object.defineProperty(r,"__esModule",{value:!0}),r.conformToMask=void 0,r.maskInput=o;var i=t(2);Object.defineProperty(r,"conformToMask",{enumerable:!0,get:function(){return n(i).default}});var a=t(5),u=n(a);r.default=o},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.placeholderChar="_",r.strFunction="function"},function(e,r,t){"use strict";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,i.isArray)(r)){if(("undefined"==typeof r?"undefined":o(r))!==a.strFunction)throw new Error("Text-mask:conformToMask; The mask property must be an array.");r=r(e,t),r=(0,i.processCaretTraps)(r).maskWithoutCaretTraps}var n=t.guide,s=void 0===n||n,f=t.previousConformedValue,d=void 0===f?l:f,c=t.placeholderChar,p=void 0===c?a.placeholderChar:c,v=t.placeholder,h=void 0===v?(0,i.convertMaskToPlaceholder)(r,p):v,m=t.currentCaretPosition,y=t.keepCharPositions,g=s===!1&&void 0!==d,b=e.length,C=d.length,k=h.length,x=r.length,P=b-C,T=P>0,O=m+(T?-P:0),M=O+Math.abs(P);if(y===!0&&!T){for(var w=l,S=O;S<M;S++)h[S]===p&&(w+=p);e=e.slice(0,O)+w+e.slice(O,b)}for(var _=e.split(l).map(function(e,r){return{char:e,isNew:r>=O&&r<M}}),j=b-1;j>=0;j--){var V=_[j].char;if(V!==p){var A=j>=O&&C===x;V===h[A?j-P:j]&&_.splice(j,1)}}var E=l,N=!1;e:for(var F=0;F<k;F++){var I=h[F];if(I===p){if(_.length>0)for(;_.length>0;){var L=_.shift(),R=L.char,J=L.isNew;if(R===p&&g!==!0){E+=p;continue e}if(r[F].test(R)){if(y===!0&&J!==!1&&d!==l&&s!==!1&&T){for(var W=_.length,q=null,z=0;z<W;z++){var B=_[z];if(B.char!==p&&B.isNew===!1)break;if(B.char===p){q=z;break}}null!==q?(E+=R,_.splice(q,1)):F--}else E+=R;continue e}N=!0}g===!1&&(E+=h.substr(F,k));break}E+=I}if(g&&T===!1){for(var D=null,G=0;G<E.length;G++)h[G]===p&&(D=G);E=null!==D?E.substr(0,D+1):l}return{conformedValue:E,meta:{someCharsRejected:N}}}Object.defineProperty(r,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r.default=n;var i=t(3),a=t(1),u=[],l=""},function(e,r,t){"use strict";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l.placeholderChar;if(!o(e))throw new Error("Text-mask:convertMaskToPlaceholder; The mask property must be an array.");if(e.indexOf(r)!==-1)throw new Error("Placeholder character must not be used as part of the mask. Please specify a character that is not present in your mask as your placeholder character.\n\n"+("The placeholder character that was received is: "+JSON.stringify(r)+"\n\n")+("The mask that was received is: "+JSON.stringify(e)));return e.map(function(e){return e instanceof RegExp?r:e}).join("")}function o(e){return Array.isArray&&Array.isArray(e)||e instanceof Array}function i(e){return"string"==typeof e||e instanceof String}function a(e){return"number"==typeof e&&void 0===e.length&&!isNaN(e)}function u(e){for(var r=[],t=void 0;t=e.indexOf(f),t!==-1;)r.push(t),e.splice(t,1);return{maskWithoutCaretTraps:e,indexes:r}}Object.defineProperty(r,"__esModule",{value:!0}),r.convertMaskToPlaceholder=n,r.isArray=o,r.isString=i,r.isNumber=a,r.processCaretTraps=u;var l=t(1),s=[],f="[]"},function(e,r){"use strict";function t(e){var r=e.previousConformedValue,t=void 0===r?o:r,i=e.previousPlaceholder,a=void 0===i?o:i,u=e.currentCaretPosition,l=void 0===u?0:u,s=e.conformedValue,f=e.rawValue,d=e.placeholderChar,c=e.placeholder,p=e.indexesOfPipedChars,v=void 0===p?n:p,h=e.caretTrapIndexes,m=void 0===h?n:h;if(0===l||!f.length)return 0;var y=f.length,g=t.length,b=c.length,C=s.length,k=y-g,x=k>0,P=0===g,T=k>1&&!x&&!P;if(T)return l;var O=x&&(t===s||s===c),M=0,w=void 0,S=void 0;if(O)M=l-k;else{var _=s.toLowerCase(),j=f.toLowerCase(),V=j.substr(0,l).split(o),A=V.filter(function(e){return _.indexOf(e)!==-1});S=A[A.length-1];var E=a.substr(0,A.length).split(o).filter(function(e){return e!==d}).length,N=c.substr(0,A.length).split(o).filter(function(e){return e!==d}).length,F=N!==E,I=void 0!==a[A.length-1]&&void 0!==c[A.length-2]&&a[A.length-1]!==d&&a[A.length-1]!==c[A.length-1]&&a[A.length-1]===c[A.length-2];!x&&(F||I)&&E>0&&c.indexOf(S)>-1&&void 0!==f[l]&&(w=!0,S=f[l]);for(var L=v.map(function(e){return _[e]}),R=L.filter(function(e){return e===S}).length,J=A.filter(function(e){return e===S}).length,W=c.substr(0,c.indexOf(d)).split(o).filter(function(e,r){return e===S&&f[r]!==e}).length,q=W+J+R+(w?1:0),z=0,B=0;B<C;B++){var D=_[B];if(M=B+1,D===S&&z++,z>=q)break}}if(x){for(var G=M,H=M;H<=b;H++)if(c[H]===d&&(G=H),c[H]===d||m.indexOf(H)!==-1||H===b)return G}else if(w){for(var K=M-1;K>=0;K--)if(s[K]===S||m.indexOf(K)!==-1||0===K)return K}else for(var Q=M;Q>=0;Q--)if(c[Q-1]===d||m.indexOf(Q)!==-1||0===Q)return Q}Object.defineProperty(r,"__esModule",{value:!0}),r.default=t;var n=[],o=""},function(e,r,t){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){var r={previousConformedValue:void 0,previousPlaceholder:void 0};return{state:r,update:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=n.inputElement,s=n.mask,d=n.guide,m=n.pipe,g=n.placeholderChar,b=void 0===g?v.placeholderChar:g,C=n.keepCharPositions,k=void 0!==C&&C,x=n.showMask,P=void 0!==x&&x;if("undefined"==typeof t&&(t=o.value),t!==r.previousConformedValue){("undefined"==typeof s?"undefined":l(s))===y&&void 0!==s.pipe&&void 0!==s.mask&&(m=s.pipe,s=s.mask);var T=void 0,O=void 0;if(s instanceof Array&&(T=(0,p.convertMaskToPlaceholder)(s,b)),s!==!1){var M=a(t),w=o.selectionEnd,S=r.previousConformedValue,_=r.previousPlaceholder,j=void 0;if(("undefined"==typeof s?"undefined":l(s))===v.strFunction){if(O=s(M,{currentCaretPosition:w,previousConformedValue:S,placeholderChar:b}),O===!1)return;var V=(0,p.processCaretTraps)(O),A=V.maskWithoutCaretTraps,E=V.indexes;O=A,j=E,T=(0,p.convertMaskToPlaceholder)(O,b)}else O=s;var N={previousConformedValue:S,guide:d,placeholderChar:b,pipe:m,placeholder:T,currentCaretPosition:w,keepCharPositions:k},F=(0,c.default)(M,O,N),I=F.conformedValue,L=("undefined"==typeof m?"undefined":l(m))===v.strFunction,R={};L&&(R=m(I,u({rawValue:M},N)),R===!1?R={value:S,rejected:!0}:(0,p.isString)(R)&&(R={value:R}));var J=L?R.value:I,W=(0,f.default)({previousConformedValue:S,previousPlaceholder:_,conformedValue:J,placeholder:T,rawValue:M,currentCaretPosition:w,placeholderChar:b,indexesOfPipedChars:R.indexesOfPipedChars,caretTrapIndexes:j}),q=J===T&&0===W,z=P?T:h,B=q?z:J;r.previousConformedValue=B,r.previousPlaceholder=T,o.value!==B&&(o.value=B,i(o,W))}}}}}function i(e,r){document.activeElement===e&&(g?b(function(){return e.setSelectionRange(r,r,m)},0):e.setSelectionRange(r,r,m))}function a(e){if((0,p.isString)(e))return e;if((0,p.isNumber)(e))return String(e);if(void 0===e||null===e)return h;throw new Error("The 'value' provided to Text Mask needs to be a string or a number. The value received was:\n\n "+JSON.stringify(e))}Object.defineProperty(r,"__esModule",{value:!0});var u=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r.default=o;var s=t(4),f=n(s),d=t(2),c=n(d),p=t(3),v=t(1),h="",m="none",y="object",g="undefined"!=typeof navigator&&/Android/i.test(navigator.userAgent),b="undefined"!=typeof requestAnimationFrame?requestAnimationFrame:setTimeout}])});
1app.profileFormUserpicComponent={props:['user','uploadUrl'],components:{uploadComponent:app.commonUploadComponent,spinner:app.commonSpinnerComponent,},data(){return{percent:'0%',uploading:!1,preview:''}},computed:{src(){return this.preview||this.user.userpic}},methods:{onError(){this.uploading=!1},onSuccess(response){this.preview=response.image.preview;this.$emit('userpicUploaded',response.image);this.uploading=!1},onProgress(progress){this.uploading=!0;this.percent=progress.value+'%'}},template:`
2        <div class="pUserpic" :class="{'pUserpic--filled': !!src}">
3        
4            <uploadComponent
5                @progress="onProgress"
6                @error="onError"
7                @success="onSuccess"
8                :multiple="false"
9                :url="uploadUrl">
10                
11                <div v-if="uploading"
12                    class="pUserpic__imgUploading">
13                    <spinner/>
14                    <div class="pUserpic__imgUploadingPercent">{{percent}}</div>
15                    
16                </div>
17                
18                <template v-if="src">
19                    <img :src="src" class="pUserpic__img">
20                    
21                    <div class="pUserpic__add">
22                        <svg width="22" height="21" viewBox="0 0 22 21" fill="none">
23                            <path fill-rule="evenodd" clip-rule="evenodd" d="M2.64724 7V5.25H0.882415C0.397087 5.25 0 4.85625 0 4.375C0 3.89375 0.397087 3.5 0.882415 3.5H2.64724V1.75C2.64724 1.26875 3.04433 0.875 3.52966 0.875C4.01499 0.875 4.41208 1.26875 4.41208 1.75V3.5H6.17691C6.66223 3.5 7.05932 3.89375 7.05932 4.375C7.05932 4.85625 6.66223 5.25 6.17691 5.25H4.41208V7C4.41208 7.48125 4.01499 7.875 3.52966 7.875C3.04433 7.875 2.64724 7.48125 2.64724 7ZM11.4714 14.875C10.0094 14.875 8.82415 13.6997 8.82415 12.25C8.82415 10.8003 10.0094 9.625 11.4714 9.625C12.9334 9.625 14.1186 10.8003 14.1186 12.25C14.1186 13.6997 12.9334 14.875 11.4714 14.875ZM18.5307 5.25C19.5014 5.25 20.2955 6.0375 20.2955 7V17.5C20.2955 18.4625 19.5014 19.25 18.5307 19.25H4.41208C3.44142 19.25 2.64724 18.4625 2.64724 17.5V8.505C2.91197 8.65375 3.20317 8.75 3.52966 8.75C4.50032 8.75 5.29449 7.9625 5.29449 7V6.125H6.17691C7.14756 6.125 7.94173 5.3375 7.94173 4.375C7.94173 4.05125 7.84467 3.7625 7.69466 3.5H13.3421C13.8363 3.5 14.3128 3.71 14.6393 4.06875L15.7335 5.25H18.5307ZM11.4714 16.625C13.9069 16.625 15.8835 14.665 15.8835 12.25C15.8835 9.835 13.9069 7.875 11.4714 7.875C9.03593 7.875 7.05932 9.835 7.05932 12.25C7.05932 14.665 9.03593 16.625 11.4714 16.625Z" fill="#FCF6ED"/>
24                        </svg>
25                    </div>
26
27                </template>
28
29
30                    
31                <svg v-else width="88" height="88" viewBox="0 0 88 88" fill="none" style="cursor: pointer">
32                    <g clip-path="url(#clip0_2001_100163)">
33                    <rect width="88" height="88" rx="44" fill="var(--profileUserpicEmptyIconBg)"/>
34                    <circle cx="44" cy="94.1211" r="38" fill="var(--profileUserpicEmptyIconFg)"/>
35                    <circle cx="44.0001" cy="37.6388" r="16.4337" fill="var(--profileUserpicEmptyIconFg)"/>
36                    </g>
37                    <defs>
38                    <clipPath id="clip0_2001_100163">
39                    <rect width="88" height="88" rx="44" fill="white"/>
40                    </clipPath>
41                    </defs>
42                </svg>
43            </uploadComponent>
44    
45        </div>
46    
47    `};app.profileFormSexComponent={components:{formInput:app.commonInputComponent,},props:['loc','value'],data(){return{FEMALE:1,MALE:2,}},computed:{caption(){return this.loc['profile/sex']},locFemale(){return this.loc['profile/female']},locMale(){return this.loc['profile/male']},isMaleSelected(){return this.value===this.MALE},isFemaleSelected(){return this.value===this.FEMALE}},methods:{onSelect(type){this.$emit('input',type)}},template:`
48    
49        <div class="pSex">
50            <div class="pSex__item" :class="{'pSex__item--selected': isMaleSelected}" @click="onSelect(MALE)">
51                <div class="pSex__input"><formInput :caption="caption" tabindex="-1" :value="locMale" /></div>
52                <div class="pSex__ico"></div>
53            </div>
54            
55            <div class="pSex__item" :class="{'pSex__item--selected': isFemaleSelected}" @click="onSelect(FEMALE)">
56                <div class="pSex__input"><formInput :caption="caption" tabindex="-1" :value="locFemale" /></div>
57                <div class="pSex__ico"></div>
58            </div>
59            
60        </div>
61    
62    `};app.profileFormReferrerComponent={components:{formInput:app.commonInputComponent,},props:['loc','value'],mounted(){Highway.subscribe('barcodeScanned',(response)=>{this.$emit('input',response.data)})},computed:{caption(){return this.loc['auth/referrerPhone']}
62},methods:{onInput(){this.$emit('input',this.value)},scanQr(){Highway.navigate('scanner')}},template:`
63        <div class="pRef">
64        
65            <div class="pRef__input">
66                 <formInput :caption="caption" inputmode="tel" @input="onInput" v-model="value" />
67            </div>
68            
69            <div class="pRef__scan" @click="scanQr" v-press>
70               <svg class="pRef__scanIco" width="90" height="90" viewBox="0 0 90 90" fill="none">
71                   <path d="M56.5 10.5H72.5C76.366 10.5 79.5 13.634 79.5 17.5V29.6667H71.8333V18.1667H56.5V10.5ZM33.5 10.5V18.1667H18.1667V29.6667H10.5V17.5C10.5 13.634 13.634 10.5 17.5 10.5H33.5ZM56.5 79.5V71.8333H71.8333V60.3333H79.5V72.5C79.5 76.366 76.366 79.5 72.5 79.5H56.5ZM33.5 79.5H17.5C13.634 79.5 10.5 76.366 10.5 72.5V60.3333H18.1667V71.8333H33.5V79.5ZM10.5 45C10.5 42.8829 12.2162 41.1667 14.3333 41.1667H75.6667C77.7838 41.1667 79.5 42.8829 79.5 45C79.5 47.1171 77.7838 48.8333 75.6667 48.8333H14.3333C12.2162 48.8333 10.5 47.1171 10.5 45Z" fill="currentColor"/>
72               </svg>
73            </div>
74              
75        </div>
76    `};app.profileFormFamilyComponent={components:{formInput:app.commonInputComponent,},props:['loc','value'],created(){if(this.value.length<5){this.value.push({id:0,date:''})}},computed:{locAbout(){return this.loc['profile/family/birthday/hint']},caption(){return this.loc['profile/birthdayOfALovedOne']}},methods:{onInput(index){const currentInput=this.value[index];const nextInput=this.value[index+1];if(currentInput.date.length===11){return}
77if(currentInput.date.length===10&&!nextInput&&index!==4){this.value.push({id:0,date:''})}else if(nextInput&&nextInput.date===''){this.value.splice(index+1,1)}
78this.$emit('input',this.value)},},directives:{mask(el){vanillaTextMask.maskInput({inputElement:el.querySelector('input'),guide:!1,mask:[/\d/,/\d/,'.',/\d/,/\d/,'.',/\d/,/\d/,/\d/,/\d/]})}},template:`
79
80        <div class="pFamily">
81
82            <div class="pFamily__about">
83
84                <svg class="pFamily__ico" width="29" height="29" viewBox="0 0 29 29" fill="none">
85                    <path d="M18.7337 22.5446C21.1177 21.574 22.6531 19.8114 22.1631 18.6078C21.6731 17.4042 19.3432 17.2154 16.9592 18.1859C14.5752 19.1565 13.0398 20.9191 13.5298 22.1227C14.0199 23.3263 16.3497 23.5152 18.7337 22.5446Z" fill="#378B4E"/>
86                    <path d="M13.5334 20.8859C13.8914 20.0066 12.7696 18.7189 11.0279 18.0097C9.28609 17.3006 7.58387 17.4386 7.22587 18.318C6.86786 19.1973 7.98963 20.485 9.73141 21.1941C11.4732 21.9033 13.1754 21.7653 13.5334 20.8859Z" fill="#378B4E"/>
87                    <path fill-rule="evenodd" clip-rule="evenodd" d="M13.0283 14.4736C13.0283 14.1921 13.2565 13.9639 13.5381 13.9639C13.8196 13.9639 14.0479 14.1921 14.0479 14.4736V27.8388C14.0479 28.1203 13.8196 28.3485 13.5381 28.3485C13.2565 28.3485 13.0283 28.1203 13.0283 27.8388V14.4736Z" fill="black"/>
88                    <path d="M17.151 7.80819C17.1589 3.86065 15.5496 0.65731 13.5567 0.653324C11.5637 0.649338 9.94162 3.84622 9.93373 7.79376C9.92583 11.7413 11.5351 14.9446 13.5281 14.9486C15.5211 14.9526 17.1431 11.7557 17.151 7.80819Z" fill="#F96B59"/>
89                    <path d="M13.519 14.9502C15.3645 14.1989 15.6542 10.6265 14.1659 6.97106C12.6777 3.31564 9.97519 0.96143 8.12968 1.71279C6.28417 2.46415 5.99453 6.03655 7.48275 9.69197C8.97097 13.3474 11.6735 15.7016 13.519 14.9502Z" fill="#F74933"/>
90                    <path d="M19.6298 9.75411C21.1614 6.11448 20.9134 2.53711 19.0759 1.76383C17.2383 0.990546 14.5071 3.31418 12.9754 6.95381C11.4438 10.5934 11.6918 14.1708 13.5293 14.9441C15.3668 15.7174 18.0981 13.3937 19.6298 9.75411Z" fill="#DE422E"/>
91                </svg>
92
93                <p class="pFamily__hint">{{locAbout}}</p>
94            </div>
95            
96            <div class="pFamily__fields">
97            
98                <div v-for="(dateItem, index) in value" 
99                    :key="index" 
100                    class="pFamily__field">
101                    
102                   <formInput 
103                        v-mask
104                        :caption="caption"
105                        v-model="dateItem.date" 
106                        :disabled="!!dateItem.id"
107                        @input="onInput(index)" />      
108                </div>
109              
110            </div>
111        
112        </div>
113
114
115    `};app.profileFormPolicyComponent={props:['value','loc'],data(){return{checked:!!this.value}},computed:{locPolicy(){return this.loc['auth2/policy'].replace(/\{/g,'<span>').replace(/\}/g,'</span>')},},methods:{onClick(){this.setValue(!this.checked)},setValue(value){this.checked=value;this.$emit('input',value)},navigate(e){if(e.target.nodeName==='SPAN'){if(e.target.previousElementSibling){this.$emit('navigateTerms')}else{this.$emit('navigateOffer')}
116return}
117this.setValue(!this.checked)},},template:`
118    
119        <div class="pPolicy" @click="onClick">
120         
121             <div class="pPolicy__checkbox" :class="{'pPolicy__checkbox--checked': checked}">
122                
123             </div>
124         
125             <div class="pPolicy__text" @click.stop="navigate" v-html="locPolicy"></div>
126        </div>
127    
128    `};app.profileFormSubmitComponent={props:['loc','saving','insets'],computed:{locSave(){return this.loc['btn/save']},insetsStyle(){const height=this.insets?this.insets.bottom:0;return{height:height+'px'}}},methods:{save(){this.$emit('save')}},template:`
129    
130        <div class="prfSubmit">
131            <div class="prfSubmit__button btload"
132                    :class="{'btload--loading': saving}"
133                    :data-text="locSave" 
134                    v-press
135                    @click="save">
136              <i class="btload__ico"></i>
137              <i class="btload__ico"></i>
138              <i class="btload__ico"></i>
139            </div>
140            
141            <div :style="insetsStyle"></div>
142        </div>
143    
144    `};app.profileFormMainComponent={props:['companyId','loc','insets','isWeb'],components:{spinner:app.commonSpinnerComponent,formUserpic:app.profileFormUserpicComponent,formInput:app.commonInputComponent,formSex:app.profileFormSexComponent,formReferrer:app.profileFormReferrerComponent,formFamily:app.profileFormFamilyComponent,formPolicy:app.profileFormPolicyComponent,formSubmit:app.profileFormSubmitComponent,},data(){return{disableBirthDateEdit:!1,disableEmailEdit:!1,loading:!0,loaded:!1,saving:!1,user:null,uploadUrl:null,isShowReferrerPhone:!1,isShowBdatesFamily:!1,policyAccepted:!1,newUserpic:null,}},mounted(){this.fetch()},computed:{locFirstName(){return this.loc['profile/first-name']},locLastName(){return this.loc['profile/surname']},locBirthDate(){return this.loc['profile/birth']},locBirthDateError(){return this.loc['profile/bdate/error']}},methods:{fetch(){this.loading=!0;const payload={meta:{company:this.companyId,}}
145app.fetch('/profile/form/get2',payload,(res)=>{if(res.error){this.$emit('error',res.message);return}
146this.user=res.user;this.uploadUrl=res.uploadUrl;this.isShowReferrerPhone=res.isShowReferrerPhone;this.isShowBdatesFamily=res.isShowBdatesFamily;if(this.user.bdate){this.disableBirthDateEdit=!0}
147if(!this.user.phone){this.disableEmailEdit=!0}
148this.loading=!1;setTimeout(()=>{this.loaded=!0},30)})},isValidDate(dateString){const splitDateString=dateString.trim();const regex=/^\d{2}\.\d{2}\.\d{4}$/;if(!regex.test(splitDateString)){return!1}
149const[day,month,year]=splitDateString.split('.').map(Number);const date=new Date(year,month-1,day);if(date.getFullYear()!==year||date.getMonth()+1!==month||date.getDate()!==day){return!1}
150if(month===2&&day===29){if((year%4!==0)||(year%100===0&&year%400!==0)){return!1}}
151return!0},save(){if(this.saving){return}
152if(!this.isValidDate(this.user.bdate)){this.$emit('alert',this.locBirthDateError)
153return}
154this.saving=!0;const user={...this.user};user.bdatesFamily=user.bdatesFamily.filter(item=>!!item.date);const payload={meta:{company:this.companyId,},user:user,policyAccepted:this.policyAccepted,newUserpic:this.newUserpic,}
155app.fetch('/profile/form/save2',payload,(res)=>{if(res.error){this.$emit('alert',res.message);this.saving=!1;return}
156if(res.data&&res.data.credentials){this.$emit('updateCredentials',res.data.credentials);if(this.newUserpic){this.$emit('newUserpic',this.newUserpic)}}
157PubSub.publish('refetchProfile');this.$emit('close')})},navigateOffer(){this.$emit('navigateOffer')},navigateTerms(){this.$emit('navigateTerms')},userpicUploaded(userpic){this.newUserpic=userpic}},directives:{mask(el){vanillaTextMask.maskInput({inputElement:el.querySelector('input'),guide:!1,mask:[/\d/,/\d/,'.',/\d/,/\d/,'.',/\d/,/\d/,/\d/,/\d/]})}},template:`
158<div class="pForm" :class="{'pForm--web': isWeb}">
159
160
161    <div v-if="loading" class="spinner">
162        <spinner />
163    </div>
164
165    <div v-else class="pForm__wrap" :class="{'pForm__wrap--loaded': loaded}">
166
167        <div class="pForm__content">
168
169            <div class="pForm__userpic">
170                <formUserpic
171                        :user="user"
172                        :uploadUrl="uploadUrl"
173                        @userpicUploaded="userpicUploaded"/>
174            </div>
175
176            <div class="pForm__field">
177                <formInput :caption="locFirstName" v-model="user.firstName"/>
178            </div>
179
180            <div class="pForm__field">
181                <formInput :caption="locLastName" v-model="user.lastName"/>
182            </div>
183
184            <div class="pForm__field">
185                <formSex :loc="loc" v-model="user.sex"/>
186            </div>
187
188            <div class="pForm__field">
189                <formInput
190                        :caption="locBirthDate"
191                        v-mask
192                        v-model="user.bdate"
193                        :disabled="disableBirthDateEdit"/>
194            </div>
195
196            <div class="pForm__field">
197                <formInput caption="Email" inputmode="email" v-model="user.email" :disabled="disableEmailEdit"/>
198            </div>
199
200            <div v-if="isShowReferrerPhone" class="pForm__field">
201                <formReferrer :loc="loc" v-model="user.referrerPhone"/>
202            </div>
203
204            <div v-if="isShowBdatesFamily" class="pForm__field pForm__field--bdates">
205                <formFamily :loc="loc" v-model="user.bdatesFamily"/>
206            </div>
207
208            <div class="pForm__field pForm__field--policy">
209                <formPolicy
210                        :loc="loc"
211                        @navigateOffer="navigateOffer"
212                        @navigateTerms="navigateTerms"
213                        v-model="policyAccepted"/>
214            </div>
215        </div>
216
217
218        <div class="pForm__submit">
219            <div class="pForm__submitBg">
220                <formSubmit
221                        :loc="loc"
222                        :saving="saving"
223                        :insets="insets"
224                        @save="save"
225                />
226            </div>
227        </div>
228
229    </div>
230
231</div>
232    `};app.addModule(()=>{PubSub.subscribe('showProfileForm',()=>{app.openViewer({mobile:{withTick:!0,maxHeight:'calc(100dvh - 20px)'},desktop:{maxWidth:'400px'},component:{components:{profileForm:app.profileFormMainComponent,},computed:{...Vuex.mapState(['loc','company']),locTitle(){return this.loc['tab/profile']}},methods:{close(){this.$emit('close')},onError(){this.close()},onAlert(message){app.growl(message,'danger')},navigateOffer(){window.open("/offer?version2","_blank")},navigateTerms(){window.open("/policy","_blank")},updateCredentials(credentials){},newUserpic(userpic){},},store:app.store,template:`
233                <div>
234                    <profileForm
235                        :companyId="company.id"
236                        :loc="loc"
237                        :isWeb="true"
238                        @close="close"
239                        @navigateOffer="navigateOffer"
240                        @navigateTerms="navigateTerms"
241                        @updateCredentials="updateCredentials"
242                        @newUserpic="newUserpic"
243                        @alert="onAlert"
244                        @error="onError"
245                    />
246                </div>
247`}})})});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.