@studio-west/employees 0.6.66 → 0.6.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SheetTable.cjs +1 -1
- package/dist/SheetTable.js +78 -78
- package/package.json +1 -1
package/dist/SheetTable.cjs
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
RussianNounsJS v2.5.0
|
|
3
3
|
Copyright (c) 2011-2026 Georgy Ustinov
|
|
4
4
|
Released under the MIT license
|
|
5
|
-
*/var sn=Ke.exports,Tt;function an(){return Tt||(Tt=1,function(te){(function(j,v){te.exports?te.exports=v():j.RussianNouns=v()})(typeof self<"u"?self:sn,function(){const j=Object.freeze(["именительный","родительный","дательный","винительный","творительный","предложный","местный"]),v=Object.freeze({NOMINATIVE:j[0],GENITIVE:j[1],DATIVE:j[2],ACCUSATIVE:j[3],INSTRUMENTAL:j[4],PREPOSITIONAL:j[5],LOCATIVE:j[6]}),f=Object.freeze(["женский","мужской","средний","общий"]),_=Object.freeze({FEMININE:f[0],MASCULINE:f[1],NEUTER:f[2],COMMON:f[3]});function ie(s){let t=new Array(s.length);for(let r=0;r<s.length;r++){let l=s.charCodeAt(r);l>=1040&&l<=1071?l+=32:l>=1024&&l<=1039&&(l+=80),t[r]=l}return String.fromCharCode.apply(null,t)}function X(s){if(s==null)return"No parameters specified.";for(let t of["pluraleTantum","indeclinable","animate","surname","name","transport"])if((l=>l!=null&&typeof l!="boolean")(s[t]))return""+t+" must be boolean.";if(s.text==null)return"A cyrillic word required.";if(!s.pluraleTantum){if(s.gender==null)return"A grammatical gender required.";if(!f.includes(s.gender))return"Bad grammatical gender."}return null}class q{constructor(t){t instanceof q?(this._txt=t._txt,this._lc=t._lc,this._hash=t._hash,this._flags=t._flags):(t.pluraleTantum?this._flags=5:this._flags=1+f.indexOf(t.gender),this._txt=t.text,this._lc=t.text.toLowerCase(),this._hash=fe(this._lc),this._flags|=8*(t.indeclinable&1),this._flags|=16*(t.animate&1),this._flags|=32*(t.surname&1),this._flags|=64*(t.name&1),this._flags|=128*(t.transport&1),this._flags|=65536*(2+et(this._lc,t.pluraleTantum,t.gender,t.indeclinable)))}static create(t){if(t instanceof this)return t;const r=X(t);if(r)throw new Error(r);return Object.freeze(new this(t))}static createOrNull(t){return X(t)===null?Object.freeze(new this(t)):null}newText(t){const r=new q(this);return r._txt=t(this),r._lc=r._txt.toLowerCase(),r._hash=fe(r.lower()),r._flags&=65535,r._flags|=65536*(2+et(r.lower(),r.isPluraleTantum(),r.getGender(),r.isIndeclinable())),Object.freeze(r)}newGender(t){const r=t(this);if(f.includes(r)){const l=new q(this);return l._flags&=65528,l._flags|=1+f.indexOf(r),l._flags|=65536*(2+et(l.lower(),l.isPluraleTantum(),r,l.isIndeclinable())),Object.freeze(l)}}equals(t){return t instanceof q&&this._flags===t._flags&&this.lower()===t.lower()}text(){return this._txt}lower(){return this._lc}isPluraleTantum(){return(7&this._flags)===5}getGender(){const t=7&this._flags;if(t>=1&&t<=4)return f[t-1]}isIndeclinable(){return(8&this._flags)!==0}isAnimate(){return(16&this._flags)!==0||this.isASurname()||this.isAName()}isASurname(){return(32&this._flags)!==0}isAName(){return(64&this._flags)!==0}isATransport(){return(128&this._flags)!==0}getDeclension(){return(this._flags>>16)-2}getSchoolDeclension(){const t=this.getDeclension();return t===1?2:t===2?1:t}}function R(s){const t=s.lower().includes("ё")&1;return((s._flags&65535)<<1|t)*4294967296+s._hash}function d(s){const t=s.charCodeAt(0)-1072;return t===33?32:t===(31&t)?1<<t:0}function k(s,t){return(s&d(t))!==0}const z=3892855073;function $(s){return k(z,ie(s))}function H(s){return k(66567902,s)}function ne(s){return k(66567390,s)}const M=(s,t)=>t===t.toUpperCase()?s.toUpperCase():s,ae=s=>s.split("").filter($).length,B=(s,t)=>s.substring(s.length-t),C=s=>B(s,1),x=(s,t)=>s.substring(0,s.length-t),p=s=>x(s,1);function Q(s,t){const r=s.length-t-1;return s.substring(r,r+1)}const A=(s,t)=>t.some(r=>s.endsWith(r)),be=s=>s.filter((t,r)=>s.indexOf(t)===r),de=s=>s.replaceAll("ё","е").replaceAll("Ё","Е"),ce=(s,t,r)=>(s.length?s:[!1]).map(n=>r(n?de(t):t,n));function fe(s){const t=s.replaceAll("ё","е");let r=t.length%2,l=1,n=5381;function S(){n=(n*33+(r&255))%4294967296,r=r>>8,l-=8}for(let N of t){const b=N.charCodeAt(0)-1072&31;r|=b<<l,l+=5,l>=8&&S()}l>0&&S();const E=t.charCodeAt(0)%2;return(2147483647&n)*2+E}function re(s){return s>>>22&2047^s>>>11&2047^s&2047}function ye(s){const t=s.padStart(3,"а");return(t.charCodeAt(0)&7)<<8|(t.charCodeAt(1)&15)<<4|t.charCodeAt(2)&15}function Se(s,t){return!!(s[t>>>3]>>>7-t%8&1)}function ge(s,t){const r=t>>>3;s[r]=s[r]|1<<7-t%8}function g(s){let t=new Map;for(let r of s){let l=t;for(let n=r.length-1;n>=0;n--){const S=r.charCodeAt(n);if(n>0){const E=l.get(S);if(E===0)break;E===void 0&&l.set(S,new Map),l=l.get(S)}else l.set(S,0)}}return t}function O(s,t){let r=t;for(let l=s.length-1;l>=0;l--){const n=s.charCodeAt(l);if(r.has(n)){const S=r.get(n);if(S===0)return!0;r=S}else return!1}}function we(s){const t=new Set;let r=0;for(let l of s)r+=l,t.add(r);return t}const xe=we([11720389,548,1024,1479,2622,2867,1222,2642,264,1328,137,123,397,65542229,212447047,31729170,8094836,1056,21701789,35520559,40358,21819,28248,119786,63892,31809,7356,74383,72369,5945,28902,90120738,21187517,91925642,3054826,1600765,65934,30948851,5569212,4205640,5412804,6787095,9749916,3940084,1511466,1303038,16090470,1376628,49919694,3827522,37915959,14032615,28701924,224587434,637275762,51079457,391103676,24108070,158999424,232633267,6058815,66599250,692781441,816204112,55209380,72754,90006,80058,45564,67845,42548,27193,21401,139393,750335,170896,4424,1566,6264,154969,17292,17229,175112,83011,117872,4183,13065,108972,108088,343663,66210,334,17090,380271,283272,59007,35796,230801,1067156,19992,157124,12433,252644,2626,23776,630482,531296,304718,90891,726,23116,47653,30493,167310,50156,123071,477118,241821,55660,908992,534269,205157,11218,2490,660,66391,46856,847526,68710,8450,36630,15642,109864,41716,354482,79820,51876,97325,5506,46436,191803,3957,40876,126323,2347821,338490,73216,475569,87602,29642,4220,10760,16896,50156,17424,35178,167244,126786,33643,30488,65045,35961,51453,55660,4,152461,138332,1958,34200,3709,61381,17424,30158,80591,11218,44099,260487]),m=we([11720389,548,1024,1060,4,5904,1848,4404,330555234,4691346,3365076,1045362,7414584,960432,10564312,253286,16178203,4357,4355,11350,31120,5248,40591,62367,54057,50487,13069,3664,39764,10263,3002,5810,8844,24551,4091,56761,21785,30553,55147139,15960625,1933097,12258067,16302047,54210486,45688435,1659767,4813249,33577763,2501798,10056946,672528,14209351,2012340,1655412,4652736,62568,148698,21186,71129124,260014161,108045611,1007583269,2026464,22799532,750068913,1499532,1285428194,74598,22348,6599,132273,309821,156816,397448,179394,148036,100257,21779,11218,36631,345954,50442,104394,2724,112115,30690,10552,31377,11286,7168,14612,51480,116537,192258,163145,65604,97951,1363157,212810,431243,2622,425588,275284,150351,570568,244701,16659,26136,130134,11040,159389,728373,3476,726,1290392,224730,189158,11218,2490,10750,21608,143747,65974,664563,84036,16283,17424,5758,45080,33066,1782,90658,37101,56107,233163,14216,5518,179264,2525,146957,111342,80594,2309,4217,25432,26905,29980,518951,1458289,523705,4202,477865,149368,126310,47828,212678,22744,269176,179119,4399,35997,69696,41777,41,127336,4202,73153,46372,114255,126869,23630,11218]),Ve=new Uint8ClampedArray(256);xe.forEach(s=>ge(Ve,re(s))),m.forEach(s=>ge(Ve,re(s)));const Ne=new Set(["бубен","бугор","ветер","вошь","вымысел","горшок","деготь","дёготь","дятел","домысел","замысел","кашель","коготь","лапоть","лоб","локоть","ломоть","молебен","мох","ноготь","овен","пепел","пес","пёс","петушок","помысел","порошок","промысел","псалом","пушок","ров","рожь","рот","сон","стебель","стишок","угол","умысел","хребет","церковь","шов","ковер","овес","костер"].map(fe)),Ce=new Uint8ClampedArray(256);Ne.forEach(s=>ge(Ce,re(s)));const Pe=g(["овёс","ковёр","костёр","шатер","шатёр","козел","козёл","котел","котёл","орел","орёл","осел","осёл","узел","уголь","чок","ешок","хол"]),Re=["ясень","бюллетень","олень","тюлень","гордень","пельмень","ячмень"],$e=g(["лапоток","желток","нишок","ришок","ишек"]),Ze=["поток","приток","переток","проток","биоток","электроток","восток","водосток","водоток","воток","знаток"],Te=["инок","исток","обморок","порок","пророк","сток","урок"],_e=new Set("клей,чай,дом,дух,дым,дымок,газ,год,горошек,жар,жир,квас,пар,пыл,род,рост,сахар,свет,сироп,смех,снег,снежок,сок,сор,спор,срок,соус,спирт,страх,суп,сыр,табак,творог,толк,торф,туман,убыток,укроп,уксус,ход,цемент,чеснок,шаг,шик,шиповник,шоколад,шорох,шум,яд".split(",")),Me=new Uint8ClampedArray(256);_e.forEach(s=>ge(Me,re(fe(s))));const De=g(["ое","нький","ский","ской","лстой","отой","утой","евой","овой","живой"]),ze=g(["ее","ое","нький","ский","ской","лстой","отой","утой"]),qe=g(["евой","овой","отой","живой"]),Ae=g(["шний","жний","щий","ший","жий","чий"]),Be=["божий","ажий","яжий","ужий","южий","бульдожий","кабарожий","медвежий","носорожий","миножий"],Qe=g(Be),i=g(Be.map(s=>x(s,2)+"ьи")),a=g(["мой","ной","дой","шой","жой","рзой","осой","хой","латой","витой","литой","питой","житой","отой","утой","ятой","лагой","рагой","огой","угой","лубой","любой","илой","ылой","злой","малой","овой","евой","живой","ской","акой","укой","нний","ский","йкий","цкий","зкий","ткий","лкий","мкий","хкий","оркий","аркий","яркий","ький","ёкий","бокий","оокий","cокий","токий","ликий","дикий","укий","ыкий","який","пкий","дкий","бкий","нкий","жкий","чкий","гкий","овкий","авкий"]),D=(s,t)=>B(t,2)==="ый"||(t.endsWith("кривой")||O(t,a))&&ae(t)>=2,c=g(["ий","ие","чье","тье","дье","вье","бье","жалованье","енье","ружье","божье","верье","мужье"]),w=g(["вое","лое","мое","ное","рое","тое","той","ый"]),u=Object.freeze({CONTAINER:1,LOCATION:2,STRUCTURE:4,SURFACE:8,WAY:16,OBJECT_WITH_FUNCTIONAL_SURFACE:32,SUBSTANCE:64,RESOURCE:128,CONDITION:256,EXPOSURE:512,MOTION:1024,EVENT:2048,WITH_ADJECTIVE:4096,WITHOUT_ADJECTIVE:8192,RELIGIOUS:16384}),o=Object.freeze({PREPOSITIONAL:1,U_SUFFIX:2}),y=Object.freeze({V:1,VO:2,NA:3});function Z(s,t,r){const l=t-1&7,n=s-1&7;return r<<6|n<<3|l}function le(s){return(s&7)+1}function K(s){switch((s>>3&7)+1){case y.V:return"в";case y.VO:return"во";case y.NA:return"на"}}function he(s){return s>>6}const oe=Object.freeze(h()),ee={Case:v,Gender:_,CASES:j,LocativeFormAttribute:u,LocativeForm:function(t,r,l){this.preposition=t,this.word=r,this.attributes=l},Lemma:q,createLemma:s=>q.create(s),createLemmaOrNull:s=>q.createOrNull(s),getDeclension:s=>q.create(s).getDeclension(),getSchoolDeclension:s=>q.create(s).getSchoolDeclension(),StressDictionary:function(){const t=new Map,r=Uint8ClampedArray.from(Ve),l=function(b){return(b._flags&31)*4294967296+b._hash},n=function(b){return b.lower().indexOf("ё")+1&255},S=b=>{const I=l(b),U=t.get(I);return U instanceof Array?U:[]},E=b=>{const I=b._flags&65504,U=S(b).filter(G=>(G[0]&I)<=I),L=U.filter(G=>G[0]>>16===n(b));if(L.length)return L[0][1];if(U.length)return U[0][1]};this.put=function(b,I){const U=I.split("-"),L=(P,Y)=>P.length!==Y||P.split("").some(J=>!"SsbeE".includes(J));if(U.length!==2||L(U[0],7)||L(U[1],6))throw new Error("Bad settings format.");const G=q.create(b),se=l(G);let W=t.get(se);W instanceof Array||(W=[],t.set(se,W));const ue=G._flags&65535|n(G)<<16,V=W.find(P=>ue===P[0]);V?V[1]=I:W.push([ue,I]),ge(r,re(G._hash))};const N=b=>{switch(b){case"E":return[!0];case"e":return[!0,!1];case"b":case"s":return[!1,!0];default:return[!1]}};this.hasStressedEndingSingular=function(b,I){if(Se(r,re(b._hash))){const U=j.indexOf(I);if(U>=0){let L=E(b);if(L){const G=L.split("-")[0];return N(G[U])}else if(b.getGender()===_.MASCULINE){if(xe.has(b._hash))return N("SEESEEE"[U]);if(m.has(b._hash))return N("SEEEEEE"[U])}}}return[]},this.hasStressedEndingPlural=function(b,I){if(Se(r,re(b._hash))){const U=j.indexOf(I);if(U>=0&&U<6){let L=E(b);if(L){const G=L.split("-")[1];return N(G[U])}else if(b.getGender()===_.MASCULINE&&(xe.has(b._hash)||b.isAnimate()&&m.has(b._hash)))return N("E")}}return[]}},Engine:class{constructor(){this.sd=me()}decline(t,r,l){const n=q.create(t);return Ut(this,n,r,l)}pluralize(t){const r=q.create(t);return r.isPluraleTantum()?[r.text()]:zt(this,r)}getLocativeForms(t){const r=this,l=q.create(t),n=l.getDeclension();if(n&&n>=0){const S=oe.get(R(l));if(S instanceof Array)return S.map(E=>new ee.LocativeForm(K(E),Ft(r,n,l,le(E)),he(E)))}return[]}}};function me(){function s(b,I,U,L){const G=L.split(",");for(let se of G){const W=Object.assign({},I);W.text=se,b.put(W,U)}}const t=new ee.StressDictionary,r=Object.freeze({gender:_.MASCULINE}),l=Object.freeze({gender:_.MASCULINE,animate:!0}),n=Object.freeze({gender:_.FEMININE}),S=Object.freeze({gender:_.FEMININE,animate:!0}),E=Object.freeze({gender:_.COMMON,animate:!0}),N=(b,I)=>s(t,r,b,I);return s(t,r,"SSSSSSS-SSSSSS","брёх,дёрн,идиш,имидж,мед,упрёк"),s(t,{pluraleTantum:!0},"SSSSSSS-SSSSSS","ножны"),s(t,r,"SSSSSSS-EEEEEE","адрес,век,вечер,город,детдом,поезд,спецсчёт,субсчёт"),s(t,r,"SSSSSSE-EEEEEE","берег,бок,вес,лес,снег,дом,катер,счёт,мёд"),s(t,l,"SSSSSSS-SSSSSS","балансёр,шофёр"),s(t,r,"SSSSSSS-bbbbbb","вексель,ветер"),N("SSSSSSE-ESEEEE","глаз"),N("SSSSSSE-bEEbEE","год"),N("SSSSSSb-bbbbbb","цех"),s(t,{gender:_.NEUTER},"EEEEEEE-SSSSSS","тесло,стекло,автостекло,бронестекло,оргстекло,пеностекло,смарт-стекло,спецстекло,бедро,берцо,блесна,чело,стегно,стебло"),s(t,n,"EEEbEEE-SSESEE","щека"),s(t,n,"EEEEEEE-SSESEE","слеза"),s(t,r,"SbbSbbb-bbbbbb","грош,шприц"),s(t,r,"SssSsss-ssssss","кишмиш,кряж,слеш,слэш"),s(t,l,"Sssssss-ssssss","паныч"),N("SEESeEE-EEEEEE","стеллаж"),N("SeeSeee-eeeeee","шиномонтаж"),s(t,{gender:_.NEUTER},"EEEEEEE-SsESEE","плечо"),s(t,E,"EEEEEEE-SSSSSS","судья"),s(t,E,"EEEEEEE-EEEEEE","левша"),s(t,n,"EEEEEEE-SESSSS","семья,макросемья"),s(t,n,"EEEEEEE-SEESEE","вожжа,свеча"),s(t,n,"EEESEEE-SSSSSS","душа"),s(t,S,"EEEEEEE-SESESS","свинья,овца"),s(t,n,"EEEEEEE-eEeeee","скамья"),s(t,n,"EEEEEEE-EEEEEE","башка,кишка,ладья,лапша,моча,пыльца,статья"),t}function h(){const s=new Map,t=Object.freeze({gender:_.MASCULINE}),r=Object.freeze({gender:_.MASCULINE,animate:!0});function l(I,U,L,G,se){const W=G.split(","),ue=se instanceof Array?se:[o.U_SUFFIX];for(let V of W){const P=Object.assign({},I);P.text=V;const Y=R(q.create(P));let J=s.get(Y);J||(J=[],s.set(Y,J));for(let Ee of L)for(let rt of ue)J.push(Z(Ee,rt,U))}}const n=Object.freeze([y.V]),S=Object.freeze([y.VO]),E=Object.freeze([y.NA]);l(t,u.CONTAINER,n,"мозг,пруд,стог,таз,год"),l(t,u.CONTAINER,S,"рот"),l(t,u.WAY,n,"год"),l(t,u.CONTAINER,n,"гроб"),l(t,u.CONTAINER|u.RELIGIOUS,S,"гроб",[o.PREPOSITIONAL]),l(t,u.LOCATION,n,"ад,бор,лес,порт,аэропорт,рай,сад,детсад,тыл,низ,хлев"),l(t,u.STRUCTURE,n,"круг,полк,артполк,ряд,род,строй,лад"),l(t,u.SURFACE,E,"баз,берег,бережок,вал,кон,круг,луг,пол,яр"),l(t,u.WAY,E,"век,день"),l(t,u.WAY,n,"час"),l(t,u.WAY,E,"корень"),l(r,u.OBJECT_WITH_FUNCTIONAL_SURFACE,E,"вор"),l(t,u.OBJECT_WITH_FUNCTIONAL_SURFACE,E,"повод,бочок,борт,воз,горб,кол,мост,плот,сук,хуй"),l(t,u.OBJECT_WITH_FUNCTIONAL_SURFACE,E,"крюк,болт",[o.PREPOSITIONAL,o.U_SUFFIX]);const N=",мёд,мех,пар,пух";l(t,u.SUBSTANCE,n,"дым,жир,мел,пушок"+N),l(t,u.RESOURCE,E,"газ,клей,спирт"+N),l(t,u.CONDITION,n,"бой,бред,быт,долг,плен,пыл,сок,ход,лад"),l(t,u.EXPOSURE,n.concat(E),"вид"),l(t,u.EXPOSURE,E,"слух,счёт,ветер,ветр,свет"),l(t,u.MOTION,E,"ход,бег,вес"),l(t,u.MOTION|u.WITH_ADJECTIVE,E,"шаг"),l(t,u.EVENT,E,"бал,пир"),l(t,u.CONDITION,E,"дух,плав"),l(t,u.MOTION|u.WITH_ADJECTIVE,E,"газ"),l(t,u.CONTAINER,n,"глаз,зоб,нос,шкаф"),l(t,u.CONTAINER,S,"лоб"),l(t,u.OBJECT_WITH_FUNCTIONAL_SURFACE,E,"глаз,лоб,нос,шкаф,холм");let b="бок,верх,зад,угол";return l(t,u.LOCATION,n,b),l(t,u.OBJECT_WITH_FUNCTIONAL_SURFACE,E,b),l(t,u.LOCATION|u.WITHOUT_ADJECTIVE,n,"край"),l(t,u.OBJECT_WITH_FUNCTIONAL_SURFACE|u.WITHOUT_ADJECTIVE,E,"край"),l(t,u.SURFACE,E,"лёд,мох,снег"),l(t,u.SUBSTANCE,S,"лёд,лён,мох"),l(t,u.SUBSTANCE,n,"снег"),s}const ve=s=>{const t=Math.max(s.toLowerCase().lastIndexOf("е"),s.toLowerCase().lastIndexOf("ё")),r=M("ё",s[t]);return s.substring(0,t)+r+s.substring(t+1)},Ue=s=>s.replace(/[^её]/g,"").length===1;function pe(s,t){const r=C(t);if(k(z|512,r)){if(k(z,Q(t,1))){const l=x(s,2);return O(t,Qe)?l+M("ь",l):l}else if(r!=="й")return p(s)}return s}function kt(s,t,r){const l=Q(t,1);return l==="ь"||r==="о"&&k(2504708,l)?p(s):pe(s,t)}function Ot(s,t,r){if(s.length>=4&&A(t,["рёк","нёк","лёк"])&&r!==!1)return x(s,2)+"ьк";if(t.endsWith("ёк")&&$(Q(s,2)))return x(s,2)+"йк"}function Vt(s,t,r){return Ne.has(s._hash)||O(r,Pe)?x(t,3)+Q(t,1):r.endsWith("ень")&&s.getGender()===_.MASCULINE&&!A(r,Re)?x(t,3)+"н":p(t)}function $t(s,t,r){return(199680&r)!==0&&O(t,Pe)&&!["новосел","новосёл"].includes(t)||(2571270&r)!==0&&(Se(Ce,re(s._hash))&&Ne.has(s._hash)||s.isAnimate()&&t.endsWith("посол"))}function Le(s,t,r){const l=s.text(),n=C(t),S=d(n);let E;return(z|512|1024|16|8192|4|1<<28)&S&&((z|512)&S?E=kt(l,t,n):n==="к"?E=Ot(l,t,r):n==="ь"?E=Vt(s,l,t):(["лёд","лед","лён"].includes(t)||t==="лев"&&s.isAnimate())&&(E=x(l,2)+M("ь",Q(l,1))+C(l))),E||($t(s,t,S)?E=x(l,2)+C(l):E=l),E}function et(s,t,r,l){if(t)return-2;if(l)return-1;const n=C(s);switch(r){case _.FEMININE:return n==="а"||n==="я"?2:H(n)?-1:3;case _.MASCULINE:return n==="а"||n==="я"?2:s==="путь"?0:1;case _.NEUTER:return["дитя","полудитя"].includes(s)?0:B(s,2)==="мя"?3:1;case _.COMMON:return n==="а"||n==="я"?2:n==="и"?-1:1;default:return-2}}function ke(s,t){const r=p(s),l=p(t.lower());if(C(l)==="а")return r;if(A(l,["зне","жне","гре","спе","мудре"])||B(p(l),3).split("").every(n=>ne(n))||t.isAName())return r;if(B(l,2)==="ле"){const n=Q(l,2);return $(n)||n==="л"?p(r)+"ь":r}else return $(C(l))&&C(l)!=="и"?$(C(p(l)))?x(s,2)+"й":A(t.lower(),["месяц"])?r:x(s,2):r}function Oe(s){return A(s,["чек","шек"])&&s.length>=6||O(s,$e)||s.endsWith("ок")&&!s.endsWith("шок")&&!Te.includes(s)&&!A(s,Ze)&&!$(Q(s,2))&&($(Q(s,3))||A(x(s,2),["ст","рт"]))&&s.length>=4}const tt=s=>C(s)==="ь"&&!s.endsWith("господь")||"её".includes(C(s))&&!A(s,["це","же"]);function ot(s){if(s.startsWith("пол")&&k(2550137089,C(s))&&s[3]!=="л"&&ae(s)>=2){let t=s.substring(3),r=t.search(/[а-яё]/);return r>=0&&H(t[r])}else return!1}function _t(s){return s.endsWith("полночь")||s.startsWith("пол")&&k(134217984,C(s))&&ae(s)>=2}function nt(s,t,r){const l=t.text(),n=t.lower();if(n.endsWith("путь"))return r===v.INSTRUMENTAL?p(l)+"ём":Fe(s,t,r);if(n.endsWith("дитя"))switch(r){case v.NOMINATIVE:case v.ACCUSATIVE:return l;case v.GENITIVE:case v.DATIVE:case v.PREPOSITIONAL:case v.LOCATIVE:return l+"ти";case v.INSTRUMENTAL:return[l+"тей",l+"тею"]}else throw new Error("unsupported")}function je(s,t){const r=new q(s);return r._txt=t,r._lc=t.toLowerCase(),r._hash=fe(r.lower()),Object.freeze(r)}function Ye(s,t,r,l){const n=()=>l!=="полминуты"?"полу"+t.text().substring(3):t.text();if(l==="полпути"){let S=je(t,p(n())+"ь");return nt(s,S,r)}else if(l.endsWith("зни")||l.endsWith("сти")){let S=je(t,p(n())+"ь");return Fe(s,S,r)}else{let S=je(t,p(n())+(B(l,2)==="ни"?"я":"а"));return st(s,S,r)}}const Mt=g(["й","ие","иё"]),Bt=g(["воробей","муравей","ручей","соловей","улей"]),ut=g(["ов","ев","ёв","ин","ын"]),dt=new Map;dt.set(1099,ut);function lt(s,t,r){const l=t.text(),n=t.lower(),S=C(n),E=t.getGender(),N=s.sd.hasStressedEndingSingular(t,r);let b=Le(t,n,N[0]),I=p(l);const U=ot(n);U&&(b="полу"+b.substring(3),I="полу"+I.substring(3));let L=ie(b);const G=()=>U&&n.endsWith("я")||tt(n),se=O(n,Mt),W=()=>O(n,Bt)?p(I)+M("ь",C(I)):I,ue=()=>"чщ".includes(C(L));function V(P){return!t.isAnimate()&&Se(Me,re(t._hash))&&_e.has(n)&&(S==="й"?P.push(p(l)+M("ю",C(l))):P=P.concat(ce(N,b,Y=>Y+M("у",C(Y))))),P}switch(r){case v.NOMINATIVE:return l;case v.GENITIVE:switch(S){case"и":case"ы":if(U)return Ye(s,t,r,n);break;case"й":case"е":if(se&&t.isASurname()||D(t,n)||O(n,De))return b+"ого";if(O(n,Ae)||n.endsWith("ее"))return b+"его";case"ё":case"я":case"ь":if(se){let J=[W()+"я"];return V(J)}else if(G()&&!ue())return b+"я";break;case"ц":return ke(l,t)+"ца";case"к":if(Oe(n))return p(I)+"ка";break;case"о":if(A(n,["шко"])&&_.MASCULINE===E)return I+"и";break}let P;return t.isASurname()||L.indexOf("ё")===-1?P=[b+"а"]:P=ce(N,b,J=>J+"а"),V(P);case v.DATIVE:switch(S){case"и":case"ы":if(U)return Ye(s,t,r,n);break;case"й":case"е":if(se&&t.isASurname()||D(t,n)||O(n,De))return b+"ому";if(O(n,Ae)||n.endsWith("ее"))return b+"ему";case"ё":case"я":case"ь":if(se)return W()+"ю";if(G()&&!ue())return b+"ю";break;case"ц":return ke(l,t)+"цу";case"к":if(Oe(n))return p(I)+"ку"}return t.isASurname()||L.indexOf("ё")===-1?b+"у":ce(N,b,J=>J+"у");case v.ACCUSATIVE:return E===_.NEUTER||"иы".includes(S)&&U?l:t.isAnimate()?lt(s,t,v.GENITIVE):l;case v.INSTRUMENTAL:switch(S){case"и":case"ы":if(U)return Ye(s,t,r,n);break;case"й":case"е":case"ё":case"я":case"ь":if(se&&t.isASurname()||O(n,ze))return O(n,w)?b+"ым":b+"им";if(D(t,n))return Q(n,1)==="и"||n.endsWith("хой")?b+"им":b+"ым";if(O(n,qe))return b+"ым";if(O(n,Ae))return b+"им";if(se)return W()+"ем";if(n.endsWith("це"))return l+"м";break;case"ц":return ce(N,l,(J,Ee)=>Ee?ke(J,t)+"цом":ke(J,t)+"цем");case"к":if(Oe(n))return p(I)+"ком";break;case"н":case"в":if(t.isASurname()&&O(n,ut))return l+"ым"}return G()||"жшчщ".includes(C(L))?ce(N,b,(J,Ee)=>Ee?J+"ом":J+"ем"):t.isASurname()||L.indexOf("ё")===-1?b+"ом":ce(N,b,J=>J+"ом");case v.LOCATIVE:if(n==="полпути")return l;const Y=oe.get(R(t));if(Y)return be(Y.map(Ee=>le(Ee))).map(Ee=>ct(s,t,Ee));case v.PREPOSITIONAL:switch(S){case"и":if(n==="полпути")return l;case"ы":if(U)return Ye(s,t,r,n);break;case"й":case"е":case"ё":case"я":case"ь":if(se&&t.isASurname()||D(t,n)||O(n,De))return b+"ом";if(O(n,Ae)||n.endsWith("ее"))return b+"ем";if(A(n,["воробей"])){const J=p(I);return J+M("ье",C(J))}else{if(O(n,c)&&!A(n,["запястье","здоровье","изголовье","платье"]))return I+"и";if(S==="й"||B(n,2)==="иё")return W()+"е"}break;case"ц":return ke(l,t)+"це";case"к":if(Oe(n))return p(I)+"ке"}return t.isASurname()||L.indexOf("ё")===-1?b+"е":ce(N,b,J=>J+"е")}}function st(s,t,r){const l=t.text(),n=t.lower(),S=Le(t,n),E=ie(S),N=p(l),b=p(n),I=()=>C(n)==="я",U=()=>n.endsWith("ая")&&!(ae(l)===2||$(C(S))),L=()=>n.endsWith("яя")&&!(ae(l)===2||$(C(S))),G=["жая","шая"];switch(r){case v.NOMINATIVE:return l;case v.GENITIVE:return L()||A(n,G)?S+"ей":U()?S+"ой":t.isASurname()&&!n.endsWith("да")?N+"ой":n.endsWith("ничья")?N+"ей":I()||k(60818504,C(E))?N+"и":N+"ы";case v.DATIVE:return L()||A(n,G)?S+"ей":U()?S+"ой":t.isASurname()&&!n.endsWith("да")?N+"ой":B(n,2)==="ия"?N+"и":n.endsWith("ничья")?N+"ей":N+"е";case v.ACCUSATIVE:return U()?S+"ую":L()?S+"юю":I()?N+"ю":N+"у";case v.INSTRUMENTAL:return L()||A(n,G)?S+"ею":U()?[S+"ой",S+"ою"]:I()||"жшчщц".includes(C(E))&&!s.sd.hasStressedEndingSingular(t,r).includes(!0)?C(b)==="и"?N+"ей":[N+"ей",N+"ею"]:[N+"ой",N+"ою"];case v.PREPOSITIONAL:case v.LOCATIVE:return L()||A(n,G)?S+"ей":U()?S+"ой":t.isASurname()&&!n.endsWith("да")?N+"ой":B(n,2)==="ия"?N+"и":n.endsWith("ничья")?N+"ей":N+"е"}}const He={дочь:"дочерь",мать:"матерь"};function Fe(s,t,r){const l=t.text(),n=t.lower();if(![v.NOMINATIVE,v.ACCUSATIVE].includes(r)&&Object.keys(He).includes(n)){const E=je(t,He[n]);return Fe(s,E,r)}let S=Le(t,n);if(_t(n)&&(S="полу"+S.substring(3)),B(n,2)==="мя")switch(r){case v.NOMINATIVE:case v.ACCUSATIVE:return l;case v.GENITIVE:case v.DATIVE:case v.PREPOSITIONAL:case v.LOCATIVE:return S+"ени";case v.INSTRUMENTAL:return S+"енем"}else switch(r){case v.NOMINATIVE:case v.ACCUSATIVE:return l;case v.GENITIVE:case v.DATIVE:case v.PREPOSITIONAL:case v.LOCATIVE:return S+"и";case v.INSTRUMENTAL:return A(n,["вошь","рожь","церковь"])?l+"ю":S+"ью"}}function Ut(s,t,r,l){const n=Lt(s,t,r,l);return n instanceof Array?n:[n]}function Lt(s,t,r,l){const n=t.text();if(t.isIndeclinable())return n;if(t.isPluraleTantum())return wt(s,t,r,n);if(l)return wt(s,t,r,l);switch(t.getDeclension()){case-1:return n;case 0:return nt(s,t,r);case 1:return lt(s,t,r);case 2:return st(s,t,r);case 3:return Fe(s,t,r)}}function ct(s,t,r){if(o.U_SUFFIX===r){const l=t.text(),n=t.lower();let S=Le(t,n),E=p(l);const b=ot(n)&&n.endsWith("я")||tt(n);return C(n)==="й"?de(E)+"ю":b?de(S)+"ю":Oe(n)?de(p(E))+"ку":de(S)+"у"}else if(o.PREPOSITIONAL===r)return lt(s,t,v.PREPOSITIONAL)}function Ft(s,t,r,l){switch(t){case 0:return nt(s,r,v.PREPOSITIONAL);case 1:return ct(s,r,l);case 2:return st(s,r,v.PREPOSITIONAL);case 3:return Fe(s,r,v.PREPOSITIONAL)}}const ft=new Uint8ClampedArray(256),ht=Object.freeze([[[_.MASCULINE,void 0],{болгарин:["болгары"],господин:["господа"],дядя:["дяди","дядья"],зуб:["зубы","зубья"],клок:["клочья","клоки"],князь:["князи","князья"],кол:["колы","колья"],месяц:["месяцы"],полдень:["полдни","полудни"],татарин:["татары"],хозяин:["хозяева"],цветок:["цветки","цветы"],черт:["черти"],чёрт:["черти"]}],[[_.MASCULINE,!0],{кондуктор:["кондуктора","кондукторы"],кум:["кумовья"],муж:["мужья","мужи"]}],[[_.FEMININE,void 0],{гроздь:["грозди","гроздья"],курица:["курицы","куры"],стая:["стаи"],щека:["щёки"],береста:["берёсты"],верста:["вёрсты"],десна:["дёсны"],жена:["жёны"],звезда:["звёзды"],кинозвезда:["кинозвёзды"],медсестра:["медсёстры"],метла:["мётлы"],пчела:["пчёлы"],сестра:["сёстры"],слеза:["слёзы"]}],[[_.NEUTER,void 0],{брюхо:["брюхи"],колено:["колена","колени","коленья"],древо:["древа","древеса"],ухо:["уши"],око:["очи"],дно:["донья"],чудо:["чудеса","чуда"],небо:["небеса"],бревно:["брёвна"],ведро:["вёдра"],веретено:["веретёна"],весло:["вёсла"],гнездо:["гнёзда"],зерно:["зёрна"],знамя:["знамёна"],колесо:["колёса"],облачко:["облачка"],озеро:["озёра"],полсотни:["полусотни"],ребро:["рёбра"],ремесло:["ремёсла"],седло:["сёдла"],село:["сёла"]}]]);for(const s of ht)Object.keys(s[1]).map(t=>ge(ft,re(fe(t))));const Wt=["зять","деверь","друг","брат","собрат","стул","брус","обод","полоз","струп","подмастерье","якорь","перо","шило"],Pt=new Set(["берег","бок","борт","век","вес","веер","вексель","вечер","глаз","голос","город","доктор","дом","детдом","егерь","жемчуг","катер","колокол","концлагерь","корм","короб","кузов","купол","лес","луг","мастер","номер","пояс","провод","рог","сахар","снег","сорт","стог","счет","счёт","спецсчет","спецсчёт","субсчет","субсчёт","терем","том","холод","цвет","череп"]),Rt=g(["округ","остров","отпуск","паспорт","парус","поезд","повар","погреб","рукав","цех","юнкер"]),gt=new Set(["адрес","договор","буфер","ворох","директор","инспектор","инструктор","корпус","крейсер","орден","ордер","прожектор","пропуск","род","свитер","сервер","тенор","тон","трактор","тормоз","ветер","верх","китель","мех","хлеб","юнкер","ястреб"]),vt=new Set(["бункер","вымпел","год","образ","омут","токарь","тополь","шторм","штуцер"]);function zt(s,t){const r=[],l=t.text(),n=t.lower(),S=s.sd.hasStressedEndingPlural(t,v.NOMINATIVE);Object.freeze(S);const E=Le(t,n,S[0]),N=ie(E);if(n.endsWith("яя"))return r.push(x(l,2)+"ие"),be(r);const b=V=>{const P=s.sd.hasStressedEndingPlural(t,v.NOMINATIVE).map(Y=>!Y);return P.length?P.map(Y=>Y?Ue(N)?V(ve(E)):V(E):V(de(E))):[V(E)]},I=t.getGender(),U=t.getDeclension(),L=(C(n)==="й"||$(C(l)))&&$(C(p(l)))?p(l):E,G=()=>(n.endsWith("евич")||n.endsWith("евна"))&&n.indexOf("ье")>=0;function se(){const V=L,P=ie(V).indexOf("ье"),Y=M("и",V[P]);return V.substring(0,P)+Y+V.substring(P+1)}function W(){k(60818504,C(N))||"яйь".includes(C(n))||A(n,["сосед"])?G()?(r.push(se()+"и"),r.push(L+"и")):Array.prototype.push.apply(r,ce(S,L,V=>V+"и")):C(n)==="ц"?r.push(ke(l,t)+"цы"):G()?(r.push(se()+"ы"),r.push(L+"ы")):Array.prototype.push.apply(r,ce(S,L,V=>V+"ы"))}if(Se(ft,re(t._hash)))for(const[V,P]of ht){const Y=V[0],J=V[1];if(I===Y&&(J==null||J===t.isAnimate())&&P.hasOwnProperty(n)){const Ee=P[n];for(let rt of Ee)r.push(rt);return be(r)}}const ue=C(N)==="ь"?E:C(N)==="к"?p(E)+"чь":C(N)==="г"?p(E)+"зь":C(n)==="й"?p(l):A(n,["рь","ль"])?E:E+"ь";switch(U){case-1:r.push(l);break;case 0:if(n==="путь")r.push("пути");else if(n.endsWith("дитя"))r.push(x(l,3)+"ети");else throw new Error("unsupported");break;case 1:if(Wt.includes(n))r.push(ue+"я");else if(_.MASCULINE===I){const V=["крюк","лист","лоскут","повод","прут","сук","учитель","флигель","штабель"],P=["клин","колос","ком","край","соболь"];n==="сын"?(r.push("сыновья"),W()):n==="человек"?(r.push("люди"),W()):V.includes(n)||n==="соболь"&&t.isAnimate()?(W(),r.push(ue+"я")):P.includes(n)?r.push(ue+"я"):Pt.has(n)||O(n,Rt)||gt.has(n)||vt.has(n)?(vt.has(n)&&W(),tt(n)?Array.prototype.push.apply(r,b(Y=>Y+"я")):S.includes(!0)?r.push(de(E)+"а"):r.push(E+"а"),gt.has(n)&&W()):(n.endsWith("анин")&&n.length>5||n.endsWith("янин"))&&!t.isAName()||["барин","боярин"].includes(n)?(r.push(x(l,2)+"е"),n==="барин"&&r.push(x(l,2)+"ы")):["цыган"].includes(n)?r.push(l+"е"):n==="щенок"?(r.push(x(l,2)+"ки"),r.push(x(l,2)+"ята")):(n.endsWith("ребёнок")||n.endsWith("ребенок"))&&!(n.endsWith("жеребёнок")||n.endsWith("жеребенок"))&&!(n.endsWith("ястребёнок")||n.endsWith("ястребенок"))?r.push(x(l,7)+"дети"):(n.endsWith("ёнок")||n.endsWith("енок"))&&t.isAnimate()?r.push(x(l,4)+"ята"):n.endsWith("ёночек")&&t.isAnimate()?r.push(x(l,6)+"ятки"):n.endsWith("онок")&&"жшч".includes(Q(n,4))&&t.isAnimate()?r.push(x(l,4)+"ата"):Oe(n)?r.push(x(l,2)+"ки"):O(n,Ae)?A(n,Be)?r.push(x(l,2)+"ьи"):r.push(p(l)+"е"):D(t,n)?n.endsWith("ый")||n.endsWith("ий")?r.push(p(l)+"е"):n.endsWith("ой")&&!A(n,["хой","ской"])?r.push(x(l,2)+"ые"):r.push(x(l,2)+"ие"):n.endsWith("его")?r.push(x(l,3)+"ие"):["воробей","муравей","ручей","соловей","улей","жеребей","ирей","репей","чирей"].includes(n)?r.push(x(l,2)+"ьи"):W()}else if(_.NEUTER===I)if(A(n,["ко","чо"])&&!A(n,["войско","облако"]))r.push(p(l)+"и");else if(n.endsWith("имое"))r.push(E+"ые");else if(n.endsWith("ее"))r.push(E+"ие");else if(n.endsWith("ое"))A(N,["г","к","ж","ш","х"])?r.push(E+"ие"):r.push(E+"ые");else if(A(n,["ие","иё"]))r.push(x(l,2)+"ия");else if(A(n,["ье","ьё"])){const V=x(l,2),P=["безделье","варенье","воскресенье","жалованье","запястье","застолье","затишье","здоровье","зелье","изголовье","новоселье","одночасье","печенье","платье","побережье","поголовье","подворье","подземелье","подполье","поместье","предплечье","раздумье","сиденье","средневековье","увечье","угодье","устье"].includes(n);C(n)==="е"&&!P&&r.push(V+"ия"),r.push(V+"ья")}else A(n,["дерево","звено","крыло"])?r.push(E+"ья"):A(n,["ле","ре"])?r.push(E+"я"):n.endsWith("судно")&&t.isATransport()?r.push(x(l,2)+"а"):(Array.prototype.push.apply(r,b(V=>V+"а")),A(n,["щупальце"])&&W());else r.push(E+"и");break;case 2:n==="заря"?r.push("зори"):n.endsWith("ая")&&!n.endsWith("свая")?"жхчшщ".includes(C(N))||A(N,["вк","гк","ск","цк","ньк"])?r.push(E+"ие"):r.push(E+"ые"):W();break;case 3:B(n,2)==="мя"?r.push(E+"ена"):Object.keys(He).includes(n)?r.push(p(He[n])+"и"):_.FEMININE===I?r.push(L+"и"):C(L)==="и"?r.push(L+"я"):r.push(L+"а");break}return be(r)}const pt=g(["ли","си","би","ви","ди","ти","пи","ри","ни","фи","зи","ьи","ья","ия","ря","ля","ая","аи","ои","уи","эи","ыи","яи","ёи","юи","еи","ии"]),at=["беготни","болтовни","будни","вожжи","возни","доли","лапши","левши","люди","марли","моря","мощи","ноздри","пени","пятерни","распри","родни","сакли","сени","ступни","судьи","фигни","чукчи"],mt=["головы","громадины","детины","деревенщины","дохлятины","дубины","ехидины","жадины","зверины","идиотины","кислятины","молодчины","орясины","остолопины","сиротины","скотины","старейшины","старины","старшины","уродины"],jt=g(mt),yt=["адреса","паспорта","поезда","цеха","снега","бункера","буфера","берега","вымпела","голоса","города","директора","договора","доктора","жемчуга","инспектора","инструктора","колокола","кондуктора","короба","корпуса","крейсера","кузова","леса","мастера","номера","облачка","острова","отпуска","паруса","повара","погреба","пояса","провода","прожектора","пропуска","рукава","сахара","свитера","сервера","счета","трактора","тормоза","холода","цвета","черепа","шторма","штуцера","юнкера","ястреба","суда","корм"],Yt=g(yt),Et=new Set(yt.concat(["бега","беглецы","близнецы","бойцы","бока","борта","борцы","бруствера","брюшки","веера","века","венцы","верха","веса","весы","вечера","вороха","глупцы","года","гонцы","дворцы","дельцы","детдома","детдомы","дома","жеребцы","жильцы","жрецы","затишки","зубцы","излишки","истцы","катера","концы","корма","кузнецы","купола","купцы","лишки","луга","мертвецы","меха","мудрецы","облака","образа","образцы","огурцы","округа","омута","ордена","ордера","отцы","очки","певцы","песцы","пловцы","подлецы","продавцы","птенцы","резцы","рога","рода","рубцы","самцы","свинцы","сорта","соуса","спецы","стога","столбцы","стрельцы","творцы","тельцы","тенора","терема","тома","тона","торцы","хлеба","штришки","юнцы"])),bt=new Set(["авары","аланы","аршины","баклажаны","буквы","гольфы","граммы","гусары","дела","кадеты","килограммы","омы","помидоры","рентгены","ботинки","человеки","чулки","шорты"]),St=new Set(["гектары","рельсы"]),Ge=new Uint8ClampedArray(256);Et.forEach(s=>ge(Ge,ye(s))),bt.forEach(s=>ge(Ge,ye(s))),St.forEach(s=>ge(Ge,ye(s)));const Ct=new Set(mt.concat(["абазины","авы","аввы","бедняги","бедолаги","болгары","бродяги","брызги","брюки","брюхи","будды","бусы","валенки","веки","вельможи","верзилы","вилы","владыки","воеводы","волосы","вояки","главы","грузины","задворки","задиры","железы","жилы","зануды","зеваки","именины","калеки","кальсоны","каникулы","колготки","коллеги","крохи","курицы","куры","ладоши","ламы","лыки","макароны","мужчины","нападки","нары","непоседы","носилки","ножны","папы","папаши","таты","падлы","партизаны","погоны","поминки","посиделки","похороны","предтечи","работяги","разы","ребятки","румыны","самоубийцы","санки","убийцы","сапоги","сатаны","сироты","сливки","слуги","солдаты","старосты","сумерки","сутки","татары","телеса","хитрюги","четвереньки","шляпы","шмотки","яблоки","дядьки","дяденьки","зайки","кроссовки","малютки","малолетки","попки","турки","узы","хлопоты","шахматы"])),xt=new Uint8ClampedArray(256);Ct.forEach(s=>ge(xt,ye(s)));const Je=["х","ых","их","м","ым","им","х","ых","их","ми","ыми","ими","х","ых","их"],Xe=["ям","ам","","","ями","ами","ях","ах"],Ht=g(["вна","вца","вцы","пла","дца","дра","судна","рки","рцы","тлы","рна","тна","енца","десны","дёсны","рёбра","ребра","сосны"]),Gt=g(["жи","ши","чи","ля","ли","чи","ри","ти","ди","сани","борщи","клещи","товарищи","плащи","прыщи","хрящи"]),Jt=g(["братья","брусья","деревья","донья","звенья","клинья","клочья","коленья","колосья","колья","комья","крылья","крючья","листья","лоскутья","лохмотья","перья","платья","поводья","прутья","стулья","сучья","хлопья","шилья"]),Xt=g(["ишки","дружки","тки","папочки","дедушки","дядюшки","батюшки","катанки","петрушки","шестерки"]),Kt=g(["жки","шки","чки","рки","натки","хатки","ятки","етки","чётки","мки","нки","педки","илки"]),Zt=g(["шок","щок","жок","зок","аток","яток","еток"]);function wt(s,t,r,l){const n=ie(l),S=C(n),E=d(S),N=j.indexOf(r)+1;if(N===1||N===4&&!t.isAnimate())return l;if(134217984&E){if(N===2||N===4){if(A(n,["овичи","евичи"]))return p(l)+"ей";if(A(n,["вны","полусотни"])&&n!=="овны")return x(l,2)+"ен"}else if(N===5){if(A(n,["дети","люди"])&&!A(n,["нелюди"]))return p(l)+"ьми";if(A(n,["вери","дочери"]))return[p(l)+"ями",p(l)+"ьми"]}}const b=t.getGender(),I=n.endsWith("цы")?p(l):pe(l,n),U=O(n,dt)&&(t.isASurname()||b===_.COMMON)&&!O(n,jt),L=3,G=L*Math.min(Math.round(Je.length/L-1),N-2);if(U||n.endsWith("ничьи"))return l+Je[G];if(n.endsWith("ые"))return x(l,2)+Je[G+1];if(n.endsWith("ие")||O(n,i))return I+Je[G+2];if(N>2&&N!==4){const W=2*Math.min(Math.round(Xe.length/2-1),N-3);return O(n,pt)?p(l)+Xe[W]:s.sd.hasStressedEndingPlural(t,r).includes(!0)?de(I)+Xe[W+1]:I+Xe[W+1]}else{const se=t.getDeclension(),W=()=>{const V=ie(I),P=["жки","шки","чки","ножны"];if(A(V,["кн","кл","дк","нк","пк","зк","рк","тк","вк","лк","мк"])&&!A(n,["сумерки"])||V==="зл"||A(n,P)&&s.sd.hasStressedEndingPlural(t,r).includes(!0)){const Y=C(I);return p(I)+M("о",Y)+Y}else if(O(n,Ht)&&!n.endsWith("недра")||A(n,P)){const Y=Q(l,1);return x(l,2)+M("е",Y)+Y}else if(A(n,["сестры","сёстры","серьги"])){const Y=Q(l,1);return(Q(n,2)==="ь"?de(x(l,3)):de(x(l,2)))+M("ё",Y)+Y}else if(A(V,["льц","сьм","деньг","ьк","йк","дьб"])){const Y=C(I);return x(I,2)+M("е",Y)+Y}else return A(n,["сла","слы"])?p(I)+"ел":I};if([3,0].includes(se)){if(n.endsWith("и"))return p(l)+"ей";if(["гроздья"].includes(n))return p(l)+"ев"}const ue=Q(n,2);if(_.FEMININE!==b){const V=ye(n),P=Se(Ge,V);if(P&&Et.has(n))return p(l)+"ов";if(P&&bt.has(n)&&!t.isAName())return[W(),p(l)+"ов"];if(P&&St.has(n))return[p(l)+"ов",W()];if(b===_.COMMON&&!A(n,at)&&!"жшч".includes(ue)||Se(xt,V)&&Ct.has(n)||t.isAName()&&b===_.MASCULINE&&t.lower().endsWith("а")||t.lower()==="барин")return W();switch(S){case"и":case"я":if(O(n,Gt)||n==="щи"||at.includes(n)||t.lower().endsWith("ь")&&!A(t.lower(),["зять","деверь"]))return(C(p(n))==="ь"?x(l,2):p(l))+"ей";if(S==="и")return n.endsWith("ульи")?p(l)+"ев":n.endsWith("ьи")?_.MASCULINE===b?p(l)+"ёв":x(l,2)+"ей":["ча","кле","холу","ху"].includes(p(n))?p(l)+"ёв":n.endsWith("ищи")?W():n.endsWith("мессии")?p(l)+"й":$(Q(n,1))?p(l)+"ев":O(n,Kt)&&(_.MASCULINE!==b||O(de(n),Xt))&&!O(t.lower(),Zt)?W():p(l)+"ов";if(O(n,Jt))return p(l)+"ев";if(A(n,["зятья","кумовья","деверья","края","острия"]))return p(l)+"ёв";if(A(n,["ья","ия"]))return _.MASCULINE===b?x(l,2)+"ей":x(l,2)+"ий";break;case"а":return A(n,["семена","стремена"])?x(l,3)+"ян":n.endsWith("мена")?x(l,3)+"ён":t.lower().endsWith("яйцо")?M("яиц",p(l)):n.endsWith("нца")?[W(),p(l)+"ев"]:O(n,Yt)?p(l)+"ов":W();case"ы":return A(n,["ницы","лицы","пицы","бицы"])?p(l):n.endsWith("цы")?p(l)+"ев":p(l)+"ов";default:if(n.endsWith("не"))return W()}}if(n.endsWith("йки"))return x(l,3)+"ек";if(n.endsWith("ки"))if(ue==="ь"){const V=C(p(l));return x(l,3)+M("е",V)+V}else{if("жшч".includes(ue))return W();if(ne(ue))return x(l,2)+"ок"}if(at.includes(n))return p(l)+"ей";if(A(n,["аи","ои","еи","эи","уи"]))return p(l)+"й";if(n==="свечи")return[p(l),p(l)+"ей"];if(n==="пригоршни")return[p(l)+"ей",x(l,2)+"ен"];if(n==="тихони")return[x(l,2)+"нь",p(l)+"ей"];if(A(n,["ьи","ии"]))return s.sd.hasStressedEndingSingular(t,r).includes(!0)?x(l,2)+"ей":x(l,2)+"ий";if(n.endsWith("ни")&&ne(Q(n,2)))return["барышни","боярышни","деревни"].includes(n)?x(l,2)+"ень":n.endsWith("кухни")?x(l,2)+"онь":n==="сотни"?[x(l,2),x(l,2)+"ен"]:x(l,2)+"ен";if(ie(I).endsWith("ийк"))return x(I,2)+"ек";if(I.length===n.length-1&&O(n,pt))if("ьй".includes(ie(Q(I,1)))&&!t.isAnimate()){const V=C(I);return x(I,2)+M("е",V)+V}else return A(n,["земли","петли","пли","вли"])?p(I)+"ель":I+"ь";else return W()}}return Object.freeze(ee)})}(Ke)),Ke.exports}var rn=an();const We=Dt(rn),on={class:"nav"},un={style:{height:"20px",width:"100%",display:"inline-block"}},dn={style:{height:"20px",width:"100%",display:"inline-block"}},cn={class:"label"},fn={key:0,style:{padding:"0 1rem .5rem"}},hn={key:1,style:{padding:"0 1rem .5rem"}},gn={__name:"SheetTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"},group:String,date:String,logo:{type:URL,default:"#"},editor:{type:Object,default:()=>({})}},setup(te){const j=new We.Engine,v=te,{t:f,d:_}=qt.useI18n(),ie=e.ref(!1),X=e.ref([]),q=e.ref("0"),R=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(q.value))),d=e.ref([]),k=e.ref([]),z=e.ref("100%"),$=e.ref("true"),H=e.ref([]),ne=e.ref([{value:"Я",label:f("sheet.valid.1")},{value:"К",label:f("sheet.valid.2")},{value:"ОТ",label:f("sheet.valid.3")},{value:"ДО",label:f("sheet.valid.4")},{value:"Р",label:f("sheet.valid.5")},{value:"ОЖ",label:f("sheet.valid.6")},{value:"Б",label:f("sheet.valid.7")},{value:"НН",label:f("sheet.valid.8")},{value:"ПР",label:f("sheet.valid.9")},{value:"У",label:f("sheet.valid.10")},{value:"УД",label:f("sheet.valid.11")},{value:"Г",label:f("sheet.valid.12")}]),M=e.ref([]),ae=e.ref(0),B=e.ref(9),C=e.ref(8),x=e.ref(0),p=e.ref(0),Q=e.ref([]),A=e.ref(!1),be=e.ref(!1),de=e.ref([]),ce=e.ref([]),fe=e.ref(!1),re=e.ref(!1),ye=e.ref(1),Se=e.ref(null),ge=e.ref({zIndex:3,minWidth:230,x:500,y:200}),g=e.ref({name:"",length:0,code:""}),O=e.ref([]),we=e.ref(""),xe=e.ref("_____"),m=e.computed(()=>X.value.flatMap((i,a)=>{const D=O.value.find(u=>u.code===i.code),c=new Map;i.days.forEach(u=>c.set(u.day,{...u})),D&&D.days.forEach(u=>c.set(u.day,{...u}));const w=Array.from(c.values());return[{...i,days:w,key:0,ids:a,numberNonAppearing:[0,0]},{...i,days:w,key:1,ids:a,numberNonAppearing:[0,0]}]}));e.watch(k,async(i,a)=>{i!==a&&(Q.value=[],v.odata.personal.forEach(D=>{i.includes(D.divisionName)&&(Q.value.some(c=>(c==null?void 0:c.activeText)===D.roleName)||Q.value.push({val:!0,activeText:D.roleName}))}),$e())}),e.watch(q,i=>{R.value=new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(i)),Re(),$e()}),e.watch(C,()=>A.value=fe.value),e.watch(B,()=>A.value=fe.value),e.watch(ye,()=>A.value=fe.value);const Ve=async(i,a,D,c)=>{var le,K,he,oe;if(a.level!==3||a.labelClassName==="turn"||a.no===15||a.no>d.value.length||!v.checkEdit)return"";g.value.ids=i.ids,g.value.key=i.key,g.value.day=a.no<15?a.no:a.no-1;let w=[0,0];if(g.value.day>0)w[0]=((le=m.value[i.ids*2].days[g.value.day-1])==null?void 0:le.overtime)??0;else{const ee=T.parseTime(new Date(R.value).setDate(0),"{Y}-{m}-{dd}"),me=await v.workSchedule.getWorkSheet({code:i.code,date:ee});if(me[0]!==null){const h=me[0].data.days.find(ve=>ve.day===ee);w[0]=(h==null?void 0:h.overtime)??0}else w[0]=0}if(g.value.day<d.value.length-1)w[1]=((K=m.value[i.ids*2].days[g.value.day+1])==null?void 0:K.overtime)??0;else{const ee=T.parseTime(new Date(R.value).setDate(d.value.length),"{Y}-{m}-{dd}"),me=await v.workSchedule.getWorkSheet({code:i.code,date:ee});if(me[0]!==null){const h=me[0].data.days.find(ve=>ve.day===ee);w[1]=(h==null?void 0:h.overtime)??0}else w[1]=0}console.log(w),g.value.limit=X.value[i.ids].days[g.value.day].time+4-T.clamp(w[0],w[1],4);const u=new Date(R.value),o=`${u.getFullYear()}-${(u.getMonth()+1).toString().padStart(2,"0")}-${(g.value.day+1).toString().padStart(2,"0")}`,y=O.value.findIndex(ee=>ee.code===i.code);g.value.id=y!==-1?O.value[y].days.findIndex(ee=>(ee==null?void 0:ee.day)===o):y,B.value=typeof i.days[g.value.day].tips>"u"?9:parseInt(i.days[g.value.day].tips.match(/(\d{1,2})/)),x.value=parseInt(((he=i.days[g.value.day])==null?void 0:he.night)??0),p.value=parseInt(((oe=i.days[g.value.day])==null?void 0:oe.overtime)??0),C.value=i.days[g.value.day].time!=="-"?parseInt(i.days[g.value.day].time):8;const Z=i.days.findIndex(ee=>ee.day===o);g.value.failure=i.days[Z].state,ge.value.y=c.clientY,ge.value.x=c.clientX,g.value.rest=y!==-1&&g.value.id!==-1,g.value.name=T.byInitials(i.fio),fe.value=!0,await e.nextTick(),A.value=!1},Ne=i=>{const a=new Date(R.value),D=`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${(g.value.day+1).toString().padStart(2,"0")}`;let c=O.value.findIndex(K=>K.code===X.value[g.value.ids].code);g.value.id=c!==-1?O.value[c].days.findIndex(K=>(K==null?void 0:K.day)===`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${(g.value.day+1).toString().padStart(2,"0")}`):c;let w=X.value[g.value.ids].days[g.value.day].state,u=i,o="-",y,Z,le;switch(i){case"Я":w==="В"&&(u="РВ"),o=8;break;case"КВ":case"К":w==="В"||w==="КВ"?u="КВ":u="К";break;case"save":let K=Ce.value.split('"');u=K[1],A.value=!1,K[2]!==""&&(o=C.value,le="("+K[2].split("(")[1],y=x.value,Z=p.value)}i==="reset"?(u=w,O.value[c].days.splice(g.value.id,1)):c===-1?O.value.push({code:X.value[g.value.ids].code,days:[{day:D,state:u,time:o,night:y,overtime:Z,tips:le}]}):g.value.id===-1?O.value[c].days.push({day:D,state:u,time:o,night:y,overtime:Z,tips:le}):O.value[c].days[g.value.id]={day:D,state:u,time:o,night:y,overtime:Z,tips:le},c=O.value.findIndex(K=>K.code===X.value[g.value.ids].code),v.workSchedule.addWorkSheet({date:T.parseTime(new Date(R.value),"{Y}-{m}-{dd}"),data:[{name:X.value[g.value.ids].fio,days:O.value[c].days,code:X.value[g.value.ids].code}]}),g.value.failure=u,ye.value>1&&(ye.value--,g.value.day++,Ne(u)),_e()},Ce=e.computed(()=>{re.value=!1;let i=X.value[g.value.ids].days[g.value.day],a="";x.value=0,p.value=0;let D=C.value>=22?B.value+C.value+2:C.value>4?B.value+C.value+1:B.value+C.value,c=g.value.failure.split("/")[0];c=/^Н(?!Н$)С?$/.test(c)?i.state!=="В"?"Я":"РВ":c,/^(|Я|РВ)$/.test(c)&&((B.value<6||D>22)&&(a="Н",x.value=B.value<6?Math.min(6,D)-B.value:0,D<=6&&(x.value=C.value,c=""),D===7&&x.value>4&&x.value--,x.value+=Math.max(22,D)-22),C.value>i.time&&c!=="РВ"&&(a+="С",re.value=!0,p.value=C.value-i.time,p.value>4&&(C.value=i.time+4,p.value=4)),/РВ/.test(c)&&(re.value=!0)),a.length>0&&c.length>0&&(a="/"+a);let w=`(${B.value}:00 - ${C.value>=22?B.value+C.value+2:C.value>4?B.value+C.value+1:B.value+C.value}:00)`,u=m.value[g.value.ids*2].days[g.value.day].time!=="-"?" "+C.value+" "+w:"";return'"'+c+a+'"'+u}),Pe=i=>{if(i.columnIndex<2||i.columnIndex>d.value.length+3&&i.columnIndex<d.value.length+9||i.columnIndex>d.value.length+11)return m.value[i.rowIndex].key===0?{rowspan:2,colspan:1}:{rowspan:0,colspan:0}},Re=()=>{const i=new Date(R.value),a=new Date(i.getFullYear(),i.getMonth()+1,0).getDate();let D=[],c=0;for(let w=1;w<=a;w++){const u=T.parseTime(i.setDate(w),"{Y}-{m}-{dd}");c+=M.value.nowork.includes(u)||M.value.holidays.includes(u)?0:M.value.preholidays.includes(u)?7:8;let o=M.value.nowork.includes(u)?"nowork":M.value.holidays.includes(u)?"holiday":M.value.preholidays.includes(u)?"preholiday":"";D.push({day:w,holidays:o,weekday:_(new Date(i.getFullYear(),i.getMonth(),w),"day")})}return ae.value=c,d.value=D,v.odata.getPersonal({dismissed:"false"}).then(w=>{var u;k.value.length===0&&(k.value=[(u=w.find(o=>o.employeeName===v.fullName&&o.dismissalDate.length===0))==null?void 0:u.divisionName]),w.forEach(o=>{H.value.some(y=>o.dismissalDate.length>0&&new Date(o.dismissalDate)<new Date(R.value)||(y==null?void 0:y.value)===o.divisionName)||H.value.push({value:o.divisionName,label:o.divisionName,key:o.divisionName})})}),!0},$e=()=>{X.value=[],ce.value=[],de.value=[],v.odata.personal.forEach(i=>{if(k.value.includes(i.divisionName)&&Q.value.some(a=>a.val&&a.activeText===i.roleName)&&(i.dismissalDate.length===0||new Date(i.dismissalDate)>new Date(R.value))){let a=T.byInitials(i.employeeName);i.employeeName===v.fullName&&(xe.value=i.roleName),X.value.push({fio:i.employeeName,name:a+" ("+i.roleName+")",code:i.employeeKey,days:[],contHour:0,id:!1,employmentDate:T.parseTime(new Date(i.employmentDate),"{Y}-{m}-{dd}T00:00:00"),dismissalDate:i.dismissalDate})}}),X.value.sort((i,a)=>i.fio<a.fio?-1:i.fio>a.fio?1:0),X.value.forEach((i,a)=>{i.ids=a,ce.value.push(i.code)}),v.workSchedule.getUsersYear({code:ce.value,year:new Date(R.value).getFullYear()}).then(i=>{i.forEach(a=>{a.dateStart&&de.value.push({code:a.code,dateStart:a.dateStart,dateEnd:a.dateEnd})}),Ze()})},Ze=()=>{v.workSchedule.getWorkSheet({code:ce.value,date:T.parseTime(new Date(R.value),"{Y}-{m}-{dd}")}).then(i=>{O.value=[],i.forEach(a=>{a!==null&&O.value.push({code:a.code,days:a.data.days})}),v.workSchedule.getWorkSchedule({code:ce.value,date:T.parseTime(new Date(R.value),"{Y}-{m}-{dd}")}).then(a=>{a.forEach((D,c)=>{var u,o;if(D!==null){X.value[c].days=[],D.data.days.forEach(y=>y.state="Я");for(let y=1;y<=d.value.length;y++){let Z=T.parseTime(new Date(R.value).setDate(y),"{Y}-{m}-{dd}");const le=(u=D.data)==null?void 0:u.days.findIndex(K=>K.day===Z);le===-1?Te(y,c,"-","В"):X.value[c].days.push((o=D.data)==null?void 0:o.days[le])}}else for(let y=1;y<=d.value.length;y++)d.value[y-1].holidays===""?Te(y,c,8):d.value[y-1].holidays==="preholiday"?Te(y,c,7):Te(y,c,"-","В");const w=X.value[c];if(w.employmentDate||w.dismissalDate)for(let y=1;y<=d.value.length;y++){const Z=new Date(new Date(R.value).setDate(y)),le=T.parseTime(Z,"{Y}-{m}-{dd}"),K=w.employmentDate&&Z<new Date(w.employmentDate),he=w.dismissalDate&&Z>=new Date(w.dismissalDate).setSeconds(0);if(K||he){const oe=w.days.findIndex(ee=>ee.day===le);oe!==-1&&(w.days[oe].state="-",w.days[oe].time="-")}}for(let y=1;y<=d.value.length;y++){let Z=new Date(new Date(R.value).getFullYear(),new Date(R.value).getMonth(),y).getTime()+1e3;for(let le of de.value){const{dateStart:K,dateEnd:he,code:oe}=le;if(K&&he&&oe===X.value[c].code){const ee=new Date(T.parseDate(K)).getTime(),me=new Date(T.parseDate(he)).getTime();if(Z>=ee&&Z<=me){const h=T.parseTime(new Date(R.value).setDate(y),"{Y}-{m}-{dd}"),ve=X.value[c].days.findIndex(Ue=>Ue.day===h);ve!==-1?X.value[c].days[ve]={day:h,time:"-",state:"ОТ"}:X.value[c].days.push({day:h,time:"-",state:"ОТ"})}}}}}),_e()})})},Te=(i,a,D,c="Я")=>{const w=T.parseTime(new Date(R.value).setDate(i),"{Y}-{m}-{dd}");X.value[a].days.push({day:w,time:D,state:c})},_e=()=>{m.value.forEach(i=>{i.hourI=0,i.hourII=0,i.halfII=0,i.halfI=0,i.weekend=0,i.weekendDays=0,i.overtime=0,i.night=0,i.appearing={code:"-",count:"-"};const a=Object.entries(i.days.reduce((u,o)=>{if(o.hasOwnProperty("state")&&/^(|К|КВ|ОТ|Б|Р|ПР|ОЖ|НН|У|ДО|УД|Г)$/.test(o.state)){const y=o.state;u[y]=(u[y]||0)+1}return u},{})).map(([u,o])=>({code:u,count:o}));i.numberNonAppearing=[a.reduce((u,o)=>u+o.count,0),0];const D=Math.ceil(a.length/2),c=a.slice(0,D),w=a.slice(D);i.key===0&&c.length>0&&(i.appearing={code:c.map(u=>u.code).join("/"),count:c.map(u=>u.count).join("/")}),i.key===1&&w.length>0&&(i.appearing={code:w.map(u=>u.code).join("/"),count:w.map(u=>u.count).join("/")});for(let u=0;u<i.days.length;u++)u<15&&i.days[u].time!=="-"&&(i.hourI+=Number(i.days[u].time),i.halfI++),u>=15&&i.days[u].time!=="-"&&(i.hourII+=Number(i.days[u].time),i.halfII++),i.days[u].night&&(i.night+=Number(i.days[u].night)),i.days[u].overtime&&(i.overtime+=Number(i.days[u].overtime)),/{|РВ|}/.test(i.days[u].state)&&(i.weekend+=Number(i.days[u].time)),i.days[u].state==="В"&&i.weekendDays++;i.contDays=i.halfI+i.halfII,i.contHour=i.hourI+i.hourII})},Me=(i,a)=>{var y,Z,le,K,he;if(a===-1)return"";const D=m.value[a],c=new Date(R.value),w=`${c.getFullYear()}-${(c.getMonth()+1).toString().padStart(2,"0")}-${i.toString().padStart(2,"0")}`,u=D.days.findIndex(oe=>oe.day===w);let o=0;return(y=D.days[u])!=null&&y.overtime&&(o+=D.days[u].overtime),u===-1?"":D.key===0?(Z=D.days[u])==null?void 0:Z.state:((le=D.days[u])==null?void 0:le.time)===0?o===0?"-":o:o===0?(K=D.days[u])==null?void 0:K.time:`${((he=D.days[u])==null?void 0:he.time)-o}/${o}`};v.group&&(k.value[0]=v.group),v.date&&(q.value=new Date(v.date+"T00:00:01").getMonth()),T.holidays().then(i=>{M.value=i,Re()});const De=i=>new Date(R.value).getMonth()===new Date().getMonth()&&i===new Date().getDate()?" today":"",ze=()=>{let i=Ce.value.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/),a=X.value[g.value.ids].days[g.value.day+1].tips;return a=typeof a<"u"?a.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/):[0,9,18],Number(i[1])<Number(a[1])?`${i[1]}:00 по ${Number(i[1])+p.value}:00`:`${Number(i[2])-p.value}:00 по ${i[2]}:00`},qe=()=>{let i=/РВ/.test(Ce.value),a=m.value[g.value.ids*2].name.match(/\(([^)]+)\)/)[1].split(" "),D="";a.forEach(Z=>{D+=`${j.decline({text:Z,gender:We.Gender.MASCULINE},We.Case.ACCUSATIVE)} `});let c=m.value[g.value.ids*2].fio.split(" ");c=At({last:c[0],first:c[1],middle:c[2]},"accusative");let w=v.fullName.split(" ");w=At({last:w[0],first:w[1],middle:w[2]},"genitive");let u=xe.value.split(" "),o="";u.forEach(Z=>{o+=`${j.decline({text:Z,gender:We.Gender.MASCULINE},We.Case.GENITIVE)} `});let y=i?Ce.value.match(/\(([^)]+)\)/)[1].replace("-"," по "):ze();we.value=`<p style="position: absolute;"><img src="https://cp.avanta-telecom.ru${v.logo}" style="height: 3rem;"></p><div style="display:inline-block;margin-left:66%;width:34%;">Директору<br>ООО "АВАНТА ТЕЛЕКОМ" Пунину Д. В.<br><br>от ${D} ${T.byInitials(`${w.last} ${w.first} ${w.middle}`)}</div><p>${k.value[0]}<br>СЛУЖЕБНАЯ ЗАПИСКА<br>${T.parseTime(new Date(R.value).setDate(g.value.day+1),'"{dd}" {F} {Y}')}г.</p><p style="text-align:center;">Уважаемый Дмитрий Владимирович!</p><p>В связи с производственной необходимостью З_А_П_О_Л_Н_И_Т_Ь_! , прошу привлечь к ${i?"работе в выходной день":"сверхурочной работе"}, ${T.parseTime(new Date(R.value).setDate(g.value.day+1),"{dd}.{m}.{Y}")} c ${y}, ${D} ${c.last} ${c.first} ${c.middle} для выполнения вышеуказанных работ с ${(c==null?void 0:c.gender)==="male"?"его":"её"} письменного согласия.</p><p>${xe.value} ________________ ${T.byInitials(v.fullName)}</p>`},Ae=()=>{let i=/РВ/.test(Ce.value),a=i?Ce.value.match(/\(([^)]+)\)/)[1].replace("-"," по "):ze();we.value=`<style> @page{size: A4 portrait;margin-top: 20pt;} @media print{.no-print{display: none !important;}} </style><body style="font:9pt/1.08;"><h1 style="text-align: center;"><img style="margin-bottom: 20pt;" src="https://avanta-telecom.ru/local/templates/main/images/Logo-hs.png" width="174" height="51" alt="logo" /><br/>Общество с ограниченной ответственностью «АВАНТА ТЕЛЕКОМ»<br>(ООО «АВАНТА ТЕЛЕКОМ»)</h1><table width="100%" border="0" cellspacing="0" cellpadding="0"><col width="50%"/><col width="50%"/><tr><td align="left "><span>г.Краснодар</span></td><td align="right"><span>________________ года</span></td></tr></table><p style="text-align:center;margin: 0 0 .26cm;"><b>УВЕДОМЛЕНИЕ</br>${i?"о работе в выходной день":"о привлечении к сверхурочной работе "}</b></p><p style="text-align:center;margin: 0 0 .26cm;">Уважаемый ${m.value[g.value.ids*2].fio}!</p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Уведомляю Вас, что в связи с производственной необходимостью возникла необходимость ${i?"работы в выходной день,"+T.parseTime(new Date(R.value).setDate(g.value.day+1),"{dd}.{m}.{Y}"):"Вас "+T.parseTime(new Date(R.value).setDate(g.value.day+1),"{dd}.{m}.{Y}")+"г. к сверхурочной работе"} с ${a} часов${i?" (с перерывом на отдых и прием пищи 1 час)":""}.</p>${i?'<p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Прошу дать согласие на работу в вышеназванный выходной день.</p>':""}<p style="margin: 0 0 .26cm;text-indent: 20px each-line;">${i?"":"После ознакомления прошу сделать в настоящем уведомлении отметку о согласии/несогласии. "}Если есть запрет на привлечение Вас к работе ${i?"в выходной день":"сверхурочно"} (по состоянию здоровья в соответствии с медицинским заключением), прошу сообщить об этом.</p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Сообщаю, что за работу ${i?"в выходной день полагается оплата в двойном размере. По Вашему желанию вместо двойной оплаты может быть предоставлен день отдыха – в этом случае работа в выходной день будет оплачена в одинарном размере, а день отдыха оплате не подлежит.":"сверхурочно"}<br/></p><table width="100%" border="0" cellspacing="0" cellpadding="0"><col width="50%"/><col width="50%"/><tr><td align="center"><span>Директор</span></td><td align="center"><span>Пунин Д.В</span></td></tr></table><p style="text-align:center;margin: 0 0 .26cm;"><br/></p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Я, ${m.value[g.value.ids*2].fio} настоящим сообщаю следующее:</p><p style="margin: 0 0 .26cm;">1. На привлечение к ${i?"работе в выходной день,":"сверхурочной работе"} ${T.parseTime(new Date(R.value).setDate(g.value.day+1),"{dd}.{m}.{Y}")} :</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>согласен</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">2. С правом отказаться от ${i?"работы в выходные дни":"сверхурочной работы"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>ознакомлен</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">3. Запрет на работу ${i?"в выходные дни,":"сверхурочно"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>отсутствует</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;" align="center"><p>(если есть запрет, указать какой)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">4. ${i?"Работу в выходные дни,":"Работу сверхурочно"} прошу компенсировать:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>${i?"Оплатой в двойном размере":"Оплатой в повышенном размере"}</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">5. Экземпляр уведомления о работе ${i?"в выходные дни":"сверхурочно"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>получил</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table>`},Be=async()=>{var he,oe,ee,me;ie.value=!0;const i=new tn.Workbook,a=i.addWorksheet(_(R.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),D={vertical:"middle",horizontal:"center"},c={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},w={vertical:"middle",horizontal:"center",wrapText:!0};a.mergeCells(`A1:${T.cellsDynamically("A1",d.value.length+15)}1`),a.mergeCells("A2:A4"),a.mergeCells("B2:B4"),a.mergeCells("C2:C4"),a.mergeCells("D5:R5"),a.mergeCells(`D2:${T.cellsDynamically("D2",d.value.length+2)}2`),a.mergeCells(`${T.cellsDynamically("D2",d.value.length+3)}2:${T.cellsDynamically("D2",d.value.length+8)}2`),a.mergeCells(`${T.cellsDynamically("D2",d.value.length+9)}2:${T.cellsDynamically("D2",d.value.length+9)}4`),a.mergeCells(`${T.cellsDynamically("D2",d.value.length+10)}2:${T.cellsDynamically("D2",d.value.length+11)}2`),a.mergeCells(`${T.cellsDynamically("D2",d.value.length+12)}2:${T.cellsDynamically("D2",d.value.length+12)}4`),a.mergeCells(`${T.cellsDynamically("D3",d.value.length+3)}3:${T.cellsDynamically("D3",d.value.length+3)}4`),a.mergeCells(`${T.cellsDynamically("D3",d.value.length+4)}3:${T.cellsDynamically("D3",d.value.length+8)}3`),a.mergeCells(`${T.cellsDynamically("D3",d.value.length+10)}3:${T.cellsDynamically("D3",d.value.length+10)}4`),a.mergeCells(`${T.cellsDynamically("D3",d.value.length+11)}3:${T.cellsDynamically("D3",d.value.length+11)}4`),a.mergeCells(`T5:${T.cellsDynamically("D5",d.value.length+1)}5`);for(let h=1;h<=d.value.length+2;h++)a.mergeCells(`${T.cellsDynamically("D3",h)}3:${T.cellsDynamically("D4",h)}4`),a.getColumn(h+3).width=5,a.getColumn(h+3).alignment=w,a.getCell(3,h+3).border=c,h<16&&(a.getCell(3,h+3).value=h),h>16&&(a.getCell(3,h+3).value=h-1);a.getCell("A1").value=f("sheet.title",{name:k.value[0]})+_(R.value,"month"),a.getCell("A2").value=f("sheet.listNumber"),a.getCell("B2").value=f("sheet.employee"),a.getCell("C2").value=f("sheet.personnelNumber"),a.getCell("D2").value=f("sheet.marks"),a.getCell("S3").value=f("sheet.halfMonth",{half:"I"}),a.getCell("A5").value="1",a.getCell("B5").value="2",a.getCell("C5").value="3",a.getCell("D5").value="4",a.getCell("S5").value="5",a.getCell("T5").value="6",a.getCell(5,d.value.length+5).value="7",a.getCell(2,d.value.length+6).value=f("sheet.workedMonth"),a.getCell(2,d.value.length+12).value=f("sheet.numberNonAppearing"),a.getCell(2,d.value.length+13).value=f("sheet.them"),a.getCell(2,d.value.length+15).value=f("sheet.countWeekend"),a.getCell(3,d.value.length+5).value=f("sheet.halfMonth",{half:"II"}),a.getCell(3,d.value.length+6).value=f("sheet.days"),a.getCell(3,d.value.length+7).value=f("sheet.hours"),a.getCell(4,d.value.length+7).value=f("sheet.all"),a.getCell(4,d.value.length+8).value=f("sheet.overtime"),a.getCell(4,d.value.length+9).value=f("sheet.night"),a.getCell(4,d.value.length+10).value=f("sheet.weekend"),a.getCell(4,d.value.length+13).value=f("sheet.code"),a.getCell(4,d.value.length+14).value=f("sheet.count"),a.getRow(1).height=40,a.getRow(2).height=32,a.getRow(3).height=20,a.getRow(4).height=60,a.getColumn(1).width=6,a.getColumn(2).width=30,a.getColumn(3).width=17,a.getColumn(19).width=12,a.getColumn(d.value.length+5).width=12,a.getColumn(d.value.length+12).width=11,a.getColumn(d.value.length+15).width=11,a.getCell("A1").alignment=D,a.getColumn(1).alignment=w,a.getColumn(2).alignment=w,a.getColumn(3).alignment=w;for(let h=6;h<=15;h++)a.getCell(5,d.value.length+h).value=h+2,a.getColumn(d.value.length+h).alignment=w,a.getCell(4,d.value.length+h).border=c,a.getCell(5,d.value.length+h).border=c;a.getCell("A2").border=c,a.getCell("B2").border=c,a.getCell("C2").border=c,a.getCell("D2").border=c,a.getCell("D2").border=c,a.getCell("A5").border=c,a.getCell("B5").border=c,a.getCell("C5").border=c,a.getCell("D5").border=c,a.getCell("S5").border=c,a.getCell("T5").border=c,a.getCell(2,d.value.length+6).border=c,a.getCell(2,d.value.length+12).border=c,a.getCell(2,d.value.length+13).border=c,a.getCell(2,d.value.length+15).border=c,a.getCell(3,d.value.length+7).border=c;let u=1,o=5,y=!0;for(const h of m.value){let ve=[u,h.name,h.code];for(let pe=0;pe<d.value.length;pe++)pe===15&&ve.push(y?(h==null?void 0:h.halfI)||"":(h==null?void 0:h.hourI)||""),ve.push(y?((he=h.days[pe])==null?void 0:he.state)||"":((oe=h.days[pe])==null?void 0:oe.time)||"");ve.push(y?(h==null?void 0:h.halfII)||0:(h==null?void 0:h.hourII)||0,(h==null?void 0:h.contDays)||0,(h==null?void 0:h.contHour)||0,(h==null?void 0:h.overtime)||0,(h==null?void 0:h.night)||0,(h==null?void 0:h.weekend)||0,"",y?(h==null?void 0:h.numberNonAppearing[0])||"":(h==null?void 0:h.numberNonAppearing[1])||0,((ee=h==null?void 0:h.appearing)==null?void 0:ee.code)||"-",((me=h==null?void 0:h.appearing)==null?void 0:me.count)||"-",(h==null?void 0:h.weekendDays)||0);const Ue=a.addRow(ve);if(Ue.border=c,!y){a.mergeCells(`A${o+u*2-1}:A${o+u*2}`),a.mergeCells(`B${o+u*2-1}:B${o+u*2}`),a.mergeCells(`C${o+u*2-1}:C${o+u*2}`);for(let pe=d.value.length+3;pe<=d.value.length+8;pe++)a.mergeCells(`${T.cellsDynamically("D",pe)}${o+u*2-1}:${T.cellsDynamically("D",pe)}${o+u*2}`);a.mergeCells(`${T.cellsDynamically("D",d.value.length+12)}${o+u*2-1}:${T.cellsDynamically("D",d.value.length+12)}${o+u*2}`),u++}y=!y}let Z="Калач В. В.";v.odata.personal.forEach(h=>{h.roleName==="Специалист по кадрам и кадровому делопроизводству"&&(h.dismissalDate.length===0||new Date(h.dismissalDate)>new Date(R.value))&&(Z=h.employeeName)}),a.mergeCells(`A${m.value.length+7}:B${m.value.length+7}`),a.mergeCells(`C${m.value.length+7}:G${m.value.length+7}`),a.mergeCells(`H${m.value.length+7}:M${m.value.length+7}`),a.mergeCells(`O${m.value.length+7}:T${m.value.length+7}`),a.mergeCells(`V${m.value.length+7}:AC${m.value.length+7}`),a.mergeCells(`AD${m.value.length+7}:AI${m.value.length+7}`),a.mergeCells(`AJ${m.value.length+7}:AL${m.value.length+7}`),a.mergeCells(`AM${m.value.length+7}:AP${m.value.length+7}`),a.mergeCells(`V${m.value.length+9}:AC${m.value.length+9}`),a.mergeCells(`AD${m.value.length+9}:AI${m.value.length+9}`),a.mergeCells(`AJ${m.value.length+9}:AL${m.value.length+9}`),a.mergeCells(`AM${m.value.length+9}:AP${m.value.length+9}`),a.getCell(`A${m.value.length+7}`).value=f("sheet.responsiblePerson"),a.getCell(`V${m.value.length+7}`).value=f("sheet.headStructural"),a.getCell(`C${m.value.length+7}`).value=xe.value+":",a.getCell(`O${m.value.length+7}`).value=T.byInitials(v.fullName),a.getCell(`AD${m.value.length+7}`).value=xe.value+":",a.getCell(`AM${m.value.length+7}`).value=T.byInitials(v.fullName),a.getCell(`V${m.value.length+9}`).value=f("sheet.HREmployee"),a.getCell(`AD${m.value.length+9}`).value="Специалист по кадрам и кадровому делопроизводству:",a.getCell(`AM${m.value.length+9}`).value=T.byInitials(Z),a.getCell(`A${m.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`C${m.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`O${m.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},a.getCell(`V${m.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AD${m.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AM${m.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},a.getCell(`V${m.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AD${m.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AM${m.value.length+9}`).alignment={vertical:"middle",horizontal:"left"},a.getCell(`H${m.value.length+7}`).border={bottom:{style:"thin"}},a.getCell(`AJ${m.value.length+7}`).border={bottom:{style:"thin"}},a.getCell(`AJ${m.value.length+9}`).border={bottom:{style:"thin"}};const le=`export_${T.parseTime(Date.now(),"{dd}.{m}.{Y}")}.xlsx`,K=await i.xlsx.writeBuffer();Nt.saveAs(new Blob([K]),le),ie.value=!1},Qe=()=>{let i=new Blob([we.value],{type:"text/plain;charset=utf-8"});Nt.saveAs(i,`Служебка_${T.byInitials(m.value[g.value.ids*2].fio)}_${T.parseTime(Date.now(),"{dd}.{m}.{Y}")}.html`)};return(i,a)=>{const D=e.resolveComponent("el-form-item"),c=e.resolveComponent("svg-icon"),w=e.resolveComponent("el-slider"),u=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",on,[te.checkEdit?(e.openBlock(),e.createBlock(e.unref(F.ElSelect),{key:0,modelValue:k.value,"onUpdate:modelValue":a[0]||(a[0]=o=>k.value=o),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"Select",style:{width:"240px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(H.value,o=>(e.openBlock(),e.createBlock(e.unref(F.ElOption),{key:o.value,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),te.checkEdit?(e.openBlock(),e.createBlock(e.unref(F.ElButton),{key:1,plain:"",onClick:a[1]||(a[1]=o=>be.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("workSchedule.jobTitle")),1)]),_:1})):e.createCommentVNode("",!0),a[20]||(a[20]=e.createElementVNode("div",{class:"expander"},null,-1)),te.checkEdit?(e.openBlock(),e.createBlock(e.unref(F.ElSwitch),{key:2,modelValue:q.value,"onUpdate:modelValue":a[2]||(a[2]=o=>q.value=o),"active-text":e.unref(f)("workSchedule.currentMonth"),"active-value":"0","inactive-value":"-1"},null,8,["modelValue","active-text"])):e.createCommentVNode("",!0),e.createVNode(e.unref(F.ElSwitch),{modelValue:z.value,"onUpdate:modelValue":a[3]||(a[3]=o=>z.value=o),"active-text":i.$t("sheet.currentHeight"),"active-value":"100%","inactive-value":"calc(100vh - var(--el-component-size)*5 - var(--el-main-padding)*2 - var(--header-height))"},null,8,["modelValue","active-text"]),e.createVNode(e.unref(F.ElSwitch),{modelValue:$.value,"onUpdate:modelValue":a[4]||(a[4]=o=>$.value=o),"active-text":i.$t("sheet.simplified"),"active-value":"true","inactive-value":"false"},null,8,["modelValue","active-text"])]),e.createVNode(e.unref(F.ElTable),{id:"printTable",data:m.value,"span-method":Pe,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(f)("sheet.emptyText"),align:"center",onCellClick:Ve,"max-height":z.value,"default-sort":{prop:"mame",order:"descending"},class:"sheet-table"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.title",{name:k.value[0]})+e.unref(_)(R.value,"month"),align:"center",height:"10"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.employee"),width:$.value==="false"?180:i.auto,align:"center"},{default:e.withCtx(o=>[e.createTextVNode(e.toDisplayString(m.value[o.$index].name),1)]),_:1},8,["label","width"]),e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.personnelNumber"),align:"center",width:"108"},{default:e.withCtx(o=>[e.createTextVNode(e.toDisplayString(m.value[o.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.marks"),align:"center"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,o=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:o.day},[o.day<=15?(e.openBlock(),e.createBlock(e.unref(F.ElTableColumn),{key:0,width:"39","class-name":o.holidays+De(o.day),align:"center",label:o.day.toString()+`
|
|
5
|
+
*/var sn=Ke.exports,Tt;function an(){return Tt||(Tt=1,function(te){(function(j,v){te.exports?te.exports=v():j.RussianNouns=v()})(typeof self<"u"?self:sn,function(){const j=Object.freeze(["именительный","родительный","дательный","винительный","творительный","предложный","местный"]),v=Object.freeze({NOMINATIVE:j[0],GENITIVE:j[1],DATIVE:j[2],ACCUSATIVE:j[3],INSTRUMENTAL:j[4],PREPOSITIONAL:j[5],LOCATIVE:j[6]}),f=Object.freeze(["женский","мужской","средний","общий"]),_=Object.freeze({FEMININE:f[0],MASCULINE:f[1],NEUTER:f[2],COMMON:f[3]});function ie(s){let t=new Array(s.length);for(let r=0;r<s.length;r++){let l=s.charCodeAt(r);l>=1040&&l<=1071?l+=32:l>=1024&&l<=1039&&(l+=80),t[r]=l}return String.fromCharCode.apply(null,t)}function X(s){if(s==null)return"No parameters specified.";for(let t of["pluraleTantum","indeclinable","animate","surname","name","transport"])if((l=>l!=null&&typeof l!="boolean")(s[t]))return""+t+" must be boolean.";if(s.text==null)return"A cyrillic word required.";if(!s.pluraleTantum){if(s.gender==null)return"A grammatical gender required.";if(!f.includes(s.gender))return"Bad grammatical gender."}return null}class q{constructor(t){t instanceof q?(this._txt=t._txt,this._lc=t._lc,this._hash=t._hash,this._flags=t._flags):(t.pluraleTantum?this._flags=5:this._flags=1+f.indexOf(t.gender),this._txt=t.text,this._lc=t.text.toLowerCase(),this._hash=fe(this._lc),this._flags|=8*(t.indeclinable&1),this._flags|=16*(t.animate&1),this._flags|=32*(t.surname&1),this._flags|=64*(t.name&1),this._flags|=128*(t.transport&1),this._flags|=65536*(2+et(this._lc,t.pluraleTantum,t.gender,t.indeclinable)))}static create(t){if(t instanceof this)return t;const r=X(t);if(r)throw new Error(r);return Object.freeze(new this(t))}static createOrNull(t){return X(t)===null?Object.freeze(new this(t)):null}newText(t){const r=new q(this);return r._txt=t(this),r._lc=r._txt.toLowerCase(),r._hash=fe(r.lower()),r._flags&=65535,r._flags|=65536*(2+et(r.lower(),r.isPluraleTantum(),r.getGender(),r.isIndeclinable())),Object.freeze(r)}newGender(t){const r=t(this);if(f.includes(r)){const l=new q(this);return l._flags&=65528,l._flags|=1+f.indexOf(r),l._flags|=65536*(2+et(l.lower(),l.isPluraleTantum(),r,l.isIndeclinable())),Object.freeze(l)}}equals(t){return t instanceof q&&this._flags===t._flags&&this.lower()===t.lower()}text(){return this._txt}lower(){return this._lc}isPluraleTantum(){return(7&this._flags)===5}getGender(){const t=7&this._flags;if(t>=1&&t<=4)return f[t-1]}isIndeclinable(){return(8&this._flags)!==0}isAnimate(){return(16&this._flags)!==0||this.isASurname()||this.isAName()}isASurname(){return(32&this._flags)!==0}isAName(){return(64&this._flags)!==0}isATransport(){return(128&this._flags)!==0}getDeclension(){return(this._flags>>16)-2}getSchoolDeclension(){const t=this.getDeclension();return t===1?2:t===2?1:t}}function R(s){const t=s.lower().includes("ё")&1;return((s._flags&65535)<<1|t)*4294967296+s._hash}function d(s){const t=s.charCodeAt(0)-1072;return t===33?32:t===(31&t)?1<<t:0}function k(s,t){return(s&d(t))!==0}const z=3892855073;function $(s){return k(z,ie(s))}function H(s){return k(66567902,s)}function ne(s){return k(66567390,s)}const M=(s,t)=>t===t.toUpperCase()?s.toUpperCase():s,ae=s=>s.split("").filter($).length,B=(s,t)=>s.substring(s.length-t),C=s=>B(s,1),x=(s,t)=>s.substring(0,s.length-t),p=s=>x(s,1);function Q(s,t){const r=s.length-t-1;return s.substring(r,r+1)}const A=(s,t)=>t.some(r=>s.endsWith(r)),be=s=>s.filter((t,r)=>s.indexOf(t)===r),de=s=>s.replaceAll("ё","е").replaceAll("Ё","Е"),ce=(s,t,r)=>(s.length?s:[!1]).map(n=>r(n?de(t):t,n));function fe(s){const t=s.replaceAll("ё","е");let r=t.length%2,l=1,n=5381;function S(){n=(n*33+(r&255))%4294967296,r=r>>8,l-=8}for(let N of t){const b=N.charCodeAt(0)-1072&31;r|=b<<l,l+=5,l>=8&&S()}l>0&&S();const E=t.charCodeAt(0)%2;return(2147483647&n)*2+E}function re(s){return s>>>22&2047^s>>>11&2047^s&2047}function ye(s){const t=s.padStart(3,"а");return(t.charCodeAt(0)&7)<<8|(t.charCodeAt(1)&15)<<4|t.charCodeAt(2)&15}function Se(s,t){return!!(s[t>>>3]>>>7-t%8&1)}function ge(s,t){const r=t>>>3;s[r]=s[r]|1<<7-t%8}function g(s){let t=new Map;for(let r of s){let l=t;for(let n=r.length-1;n>=0;n--){const S=r.charCodeAt(n);if(n>0){const E=l.get(S);if(E===0)break;E===void 0&&l.set(S,new Map),l=l.get(S)}else l.set(S,0)}}return t}function O(s,t){let r=t;for(let l=s.length-1;l>=0;l--){const n=s.charCodeAt(l);if(r.has(n)){const S=r.get(n);if(S===0)return!0;r=S}else return!1}}function we(s){const t=new Set;let r=0;for(let l of s)r+=l,t.add(r);return t}const xe=we([11720389,548,1024,1479,2622,2867,1222,2642,264,1328,137,123,397,65542229,212447047,31729170,8094836,1056,21701789,35520559,40358,21819,28248,119786,63892,31809,7356,74383,72369,5945,28902,90120738,21187517,91925642,3054826,1600765,65934,30948851,5569212,4205640,5412804,6787095,9749916,3940084,1511466,1303038,16090470,1376628,49919694,3827522,37915959,14032615,28701924,224587434,637275762,51079457,391103676,24108070,158999424,232633267,6058815,66599250,692781441,816204112,55209380,72754,90006,80058,45564,67845,42548,27193,21401,139393,750335,170896,4424,1566,6264,154969,17292,17229,175112,83011,117872,4183,13065,108972,108088,343663,66210,334,17090,380271,283272,59007,35796,230801,1067156,19992,157124,12433,252644,2626,23776,630482,531296,304718,90891,726,23116,47653,30493,167310,50156,123071,477118,241821,55660,908992,534269,205157,11218,2490,660,66391,46856,847526,68710,8450,36630,15642,109864,41716,354482,79820,51876,97325,5506,46436,191803,3957,40876,126323,2347821,338490,73216,475569,87602,29642,4220,10760,16896,50156,17424,35178,167244,126786,33643,30488,65045,35961,51453,55660,4,152461,138332,1958,34200,3709,61381,17424,30158,80591,11218,44099,260487]),m=we([11720389,548,1024,1060,4,5904,1848,4404,330555234,4691346,3365076,1045362,7414584,960432,10564312,253286,16178203,4357,4355,11350,31120,5248,40591,62367,54057,50487,13069,3664,39764,10263,3002,5810,8844,24551,4091,56761,21785,30553,55147139,15960625,1933097,12258067,16302047,54210486,45688435,1659767,4813249,33577763,2501798,10056946,672528,14209351,2012340,1655412,4652736,62568,148698,21186,71129124,260014161,108045611,1007583269,2026464,22799532,750068913,1499532,1285428194,74598,22348,6599,132273,309821,156816,397448,179394,148036,100257,21779,11218,36631,345954,50442,104394,2724,112115,30690,10552,31377,11286,7168,14612,51480,116537,192258,163145,65604,97951,1363157,212810,431243,2622,425588,275284,150351,570568,244701,16659,26136,130134,11040,159389,728373,3476,726,1290392,224730,189158,11218,2490,10750,21608,143747,65974,664563,84036,16283,17424,5758,45080,33066,1782,90658,37101,56107,233163,14216,5518,179264,2525,146957,111342,80594,2309,4217,25432,26905,29980,518951,1458289,523705,4202,477865,149368,126310,47828,212678,22744,269176,179119,4399,35997,69696,41777,41,127336,4202,73153,46372,114255,126869,23630,11218]),Ve=new Uint8ClampedArray(256);xe.forEach(s=>ge(Ve,re(s))),m.forEach(s=>ge(Ve,re(s)));const Ne=new Set(["бубен","бугор","ветер","вошь","вымысел","горшок","деготь","дёготь","дятел","домысел","замысел","кашель","коготь","лапоть","лоб","локоть","ломоть","молебен","мох","ноготь","овен","пепел","пес","пёс","петушок","помысел","порошок","промысел","псалом","пушок","ров","рожь","рот","сон","стебель","стишок","угол","умысел","хребет","церковь","шов","ковер","овес","костер"].map(fe)),Ce=new Uint8ClampedArray(256);Ne.forEach(s=>ge(Ce,re(s)));const Pe=g(["овёс","ковёр","костёр","шатер","шатёр","козел","козёл","котел","котёл","орел","орёл","осел","осёл","узел","уголь","чок","ешок","хол"]),Re=["ясень","бюллетень","олень","тюлень","гордень","пельмень","ячмень"],$e=g(["лапоток","желток","нишок","ришок","ишек"]),Ze=["поток","приток","переток","проток","биоток","электроток","восток","водосток","водоток","воток","знаток"],Te=["инок","исток","обморок","порок","пророк","сток","урок"],_e=new Set("клей,чай,дом,дух,дым,дымок,газ,год,горошек,жар,жир,квас,пар,пыл,род,рост,сахар,свет,сироп,смех,снег,снежок,сок,сор,спор,срок,соус,спирт,страх,суп,сыр,табак,творог,толк,торф,туман,убыток,укроп,уксус,ход,цемент,чеснок,шаг,шик,шиповник,шоколад,шорох,шум,яд".split(",")),Me=new Uint8ClampedArray(256);_e.forEach(s=>ge(Me,re(fe(s))));const De=g(["ое","нький","ский","ской","лстой","отой","утой","евой","овой","живой"]),ze=g(["ее","ое","нький","ский","ской","лстой","отой","утой"]),qe=g(["евой","овой","отой","живой"]),Ae=g(["шний","жний","щий","ший","жий","чий"]),Be=["божий","ажий","яжий","ужий","южий","бульдожий","кабарожий","медвежий","носорожий","миножий"],Qe=g(Be),i=g(Be.map(s=>x(s,2)+"ьи")),a=g(["мой","ной","дой","шой","жой","рзой","осой","хой","латой","витой","литой","питой","житой","отой","утой","ятой","лагой","рагой","огой","угой","лубой","любой","илой","ылой","злой","малой","овой","евой","живой","ской","акой","укой","нний","ский","йкий","цкий","зкий","ткий","лкий","мкий","хкий","оркий","аркий","яркий","ький","ёкий","бокий","оокий","cокий","токий","ликий","дикий","укий","ыкий","який","пкий","дкий","бкий","нкий","жкий","чкий","гкий","овкий","авкий"]),D=(s,t)=>B(t,2)==="ый"||(t.endsWith("кривой")||O(t,a))&&ae(t)>=2,c=g(["ий","ие","чье","тье","дье","вье","бье","жалованье","енье","ружье","божье","верье","мужье"]),w=g(["вое","лое","мое","ное","рое","тое","той","ый"]),u=Object.freeze({CONTAINER:1,LOCATION:2,STRUCTURE:4,SURFACE:8,WAY:16,OBJECT_WITH_FUNCTIONAL_SURFACE:32,SUBSTANCE:64,RESOURCE:128,CONDITION:256,EXPOSURE:512,MOTION:1024,EVENT:2048,WITH_ADJECTIVE:4096,WITHOUT_ADJECTIVE:8192,RELIGIOUS:16384}),o=Object.freeze({PREPOSITIONAL:1,U_SUFFIX:2}),y=Object.freeze({V:1,VO:2,NA:3});function Z(s,t,r){const l=t-1&7,n=s-1&7;return r<<6|n<<3|l}function le(s){return(s&7)+1}function K(s){switch((s>>3&7)+1){case y.V:return"в";case y.VO:return"во";case y.NA:return"на"}}function he(s){return s>>6}const oe=Object.freeze(h()),ee={Case:v,Gender:_,CASES:j,LocativeFormAttribute:u,LocativeForm:function(t,r,l){this.preposition=t,this.word=r,this.attributes=l},Lemma:q,createLemma:s=>q.create(s),createLemmaOrNull:s=>q.createOrNull(s),getDeclension:s=>q.create(s).getDeclension(),getSchoolDeclension:s=>q.create(s).getSchoolDeclension(),StressDictionary:function(){const t=new Map,r=Uint8ClampedArray.from(Ve),l=function(b){return(b._flags&31)*4294967296+b._hash},n=function(b){return b.lower().indexOf("ё")+1&255},S=b=>{const I=l(b),U=t.get(I);return U instanceof Array?U:[]},E=b=>{const I=b._flags&65504,U=S(b).filter(G=>(G[0]&I)<=I),L=U.filter(G=>G[0]>>16===n(b));if(L.length)return L[0][1];if(U.length)return U[0][1]};this.put=function(b,I){const U=I.split("-"),L=(P,Y)=>P.length!==Y||P.split("").some(J=>!"SsbeE".includes(J));if(U.length!==2||L(U[0],7)||L(U[1],6))throw new Error("Bad settings format.");const G=q.create(b),se=l(G);let W=t.get(se);W instanceof Array||(W=[],t.set(se,W));const ue=G._flags&65535|n(G)<<16,V=W.find(P=>ue===P[0]);V?V[1]=I:W.push([ue,I]),ge(r,re(G._hash))};const N=b=>{switch(b){case"E":return[!0];case"e":return[!0,!1];case"b":case"s":return[!1,!0];default:return[!1]}};this.hasStressedEndingSingular=function(b,I){if(Se(r,re(b._hash))){const U=j.indexOf(I);if(U>=0){let L=E(b);if(L){const G=L.split("-")[0];return N(G[U])}else if(b.getGender()===_.MASCULINE){if(xe.has(b._hash))return N("SEESEEE"[U]);if(m.has(b._hash))return N("SEEEEEE"[U])}}}return[]},this.hasStressedEndingPlural=function(b,I){if(Se(r,re(b._hash))){const U=j.indexOf(I);if(U>=0&&U<6){let L=E(b);if(L){const G=L.split("-")[1];return N(G[U])}else if(b.getGender()===_.MASCULINE&&(xe.has(b._hash)||b.isAnimate()&&m.has(b._hash)))return N("E")}}return[]}},Engine:class{constructor(){this.sd=me()}decline(t,r,l){const n=q.create(t);return Ut(this,n,r,l)}pluralize(t){const r=q.create(t);return r.isPluraleTantum()?[r.text()]:zt(this,r)}getLocativeForms(t){const r=this,l=q.create(t),n=l.getDeclension();if(n&&n>=0){const S=oe.get(R(l));if(S instanceof Array)return S.map(E=>new ee.LocativeForm(K(E),Ft(r,n,l,le(E)),he(E)))}return[]}}};function me(){function s(b,I,U,L){const G=L.split(",");for(let se of G){const W=Object.assign({},I);W.text=se,b.put(W,U)}}const t=new ee.StressDictionary,r=Object.freeze({gender:_.MASCULINE}),l=Object.freeze({gender:_.MASCULINE,animate:!0}),n=Object.freeze({gender:_.FEMININE}),S=Object.freeze({gender:_.FEMININE,animate:!0}),E=Object.freeze({gender:_.COMMON,animate:!0}),N=(b,I)=>s(t,r,b,I);return s(t,r,"SSSSSSS-SSSSSS","брёх,дёрн,идиш,имидж,мед,упрёк"),s(t,{pluraleTantum:!0},"SSSSSSS-SSSSSS","ножны"),s(t,r,"SSSSSSS-EEEEEE","адрес,век,вечер,город,детдом,поезд,спецсчёт,субсчёт"),s(t,r,"SSSSSSE-EEEEEE","берег,бок,вес,лес,снег,дом,катер,счёт,мёд"),s(t,l,"SSSSSSS-SSSSSS","балансёр,шофёр"),s(t,r,"SSSSSSS-bbbbbb","вексель,ветер"),N("SSSSSSE-ESEEEE","глаз"),N("SSSSSSE-bEEbEE","год"),N("SSSSSSb-bbbbbb","цех"),s(t,{gender:_.NEUTER},"EEEEEEE-SSSSSS","тесло,стекло,автостекло,бронестекло,оргстекло,пеностекло,смарт-стекло,спецстекло,бедро,берцо,блесна,чело,стегно,стебло"),s(t,n,"EEEbEEE-SSESEE","щека"),s(t,n,"EEEEEEE-SSESEE","слеза"),s(t,r,"SbbSbbb-bbbbbb","грош,шприц"),s(t,r,"SssSsss-ssssss","кишмиш,кряж,слеш,слэш"),s(t,l,"Sssssss-ssssss","паныч"),N("SEESeEE-EEEEEE","стеллаж"),N("SeeSeee-eeeeee","шиномонтаж"),s(t,{gender:_.NEUTER},"EEEEEEE-SsESEE","плечо"),s(t,E,"EEEEEEE-SSSSSS","судья"),s(t,E,"EEEEEEE-EEEEEE","левша"),s(t,n,"EEEEEEE-SESSSS","семья,макросемья"),s(t,n,"EEEEEEE-SEESEE","вожжа,свеча"),s(t,n,"EEESEEE-SSSSSS","душа"),s(t,S,"EEEEEEE-SESESS","свинья,овца"),s(t,n,"EEEEEEE-eEeeee","скамья"),s(t,n,"EEEEEEE-EEEEEE","башка,кишка,ладья,лапша,моча,пыльца,статья"),t}function h(){const s=new Map,t=Object.freeze({gender:_.MASCULINE}),r=Object.freeze({gender:_.MASCULINE,animate:!0});function l(I,U,L,G,se){const W=G.split(","),ue=se instanceof Array?se:[o.U_SUFFIX];for(let V of W){const P=Object.assign({},I);P.text=V;const Y=R(q.create(P));let J=s.get(Y);J||(J=[],s.set(Y,J));for(let Ee of L)for(let rt of ue)J.push(Z(Ee,rt,U))}}const n=Object.freeze([y.V]),S=Object.freeze([y.VO]),E=Object.freeze([y.NA]);l(t,u.CONTAINER,n,"мозг,пруд,стог,таз,год"),l(t,u.CONTAINER,S,"рот"),l(t,u.WAY,n,"год"),l(t,u.CONTAINER,n,"гроб"),l(t,u.CONTAINER|u.RELIGIOUS,S,"гроб",[o.PREPOSITIONAL]),l(t,u.LOCATION,n,"ад,бор,лес,порт,аэропорт,рай,сад,детсад,тыл,низ,хлев"),l(t,u.STRUCTURE,n,"круг,полк,артполк,ряд,род,строй,лад"),l(t,u.SURFACE,E,"баз,берег,бережок,вал,кон,круг,луг,пол,яр"),l(t,u.WAY,E,"век,день"),l(t,u.WAY,n,"час"),l(t,u.WAY,E,"корень"),l(r,u.OBJECT_WITH_FUNCTIONAL_SURFACE,E,"вор"),l(t,u.OBJECT_WITH_FUNCTIONAL_SURFACE,E,"повод,бочок,борт,воз,горб,кол,мост,плот,сук,хуй"),l(t,u.OBJECT_WITH_FUNCTIONAL_SURFACE,E,"крюк,болт",[o.PREPOSITIONAL,o.U_SUFFIX]);const N=",мёд,мех,пар,пух";l(t,u.SUBSTANCE,n,"дым,жир,мел,пушок"+N),l(t,u.RESOURCE,E,"газ,клей,спирт"+N),l(t,u.CONDITION,n,"бой,бред,быт,долг,плен,пыл,сок,ход,лад"),l(t,u.EXPOSURE,n.concat(E),"вид"),l(t,u.EXPOSURE,E,"слух,счёт,ветер,ветр,свет"),l(t,u.MOTION,E,"ход,бег,вес"),l(t,u.MOTION|u.WITH_ADJECTIVE,E,"шаг"),l(t,u.EVENT,E,"бал,пир"),l(t,u.CONDITION,E,"дух,плав"),l(t,u.MOTION|u.WITH_ADJECTIVE,E,"газ"),l(t,u.CONTAINER,n,"глаз,зоб,нос,шкаф"),l(t,u.CONTAINER,S,"лоб"),l(t,u.OBJECT_WITH_FUNCTIONAL_SURFACE,E,"глаз,лоб,нос,шкаф,холм");let b="бок,верх,зад,угол";return l(t,u.LOCATION,n,b),l(t,u.OBJECT_WITH_FUNCTIONAL_SURFACE,E,b),l(t,u.LOCATION|u.WITHOUT_ADJECTIVE,n,"край"),l(t,u.OBJECT_WITH_FUNCTIONAL_SURFACE|u.WITHOUT_ADJECTIVE,E,"край"),l(t,u.SURFACE,E,"лёд,мох,снег"),l(t,u.SUBSTANCE,S,"лёд,лён,мох"),l(t,u.SUBSTANCE,n,"снег"),s}const ve=s=>{const t=Math.max(s.toLowerCase().lastIndexOf("е"),s.toLowerCase().lastIndexOf("ё")),r=M("ё",s[t]);return s.substring(0,t)+r+s.substring(t+1)},Ue=s=>s.replace(/[^её]/g,"").length===1;function pe(s,t){const r=C(t);if(k(z|512,r)){if(k(z,Q(t,1))){const l=x(s,2);return O(t,Qe)?l+M("ь",l):l}else if(r!=="й")return p(s)}return s}function kt(s,t,r){const l=Q(t,1);return l==="ь"||r==="о"&&k(2504708,l)?p(s):pe(s,t)}function Ot(s,t,r){if(s.length>=4&&A(t,["рёк","нёк","лёк"])&&r!==!1)return x(s,2)+"ьк";if(t.endsWith("ёк")&&$(Q(s,2)))return x(s,2)+"йк"}function Vt(s,t,r){return Ne.has(s._hash)||O(r,Pe)?x(t,3)+Q(t,1):r.endsWith("ень")&&s.getGender()===_.MASCULINE&&!A(r,Re)?x(t,3)+"н":p(t)}function $t(s,t,r){return(199680&r)!==0&&O(t,Pe)&&!["новосел","новосёл"].includes(t)||(2571270&r)!==0&&(Se(Ce,re(s._hash))&&Ne.has(s._hash)||s.isAnimate()&&t.endsWith("посол"))}function Le(s,t,r){const l=s.text(),n=C(t),S=d(n);let E;return(z|512|1024|16|8192|4|1<<28)&S&&((z|512)&S?E=kt(l,t,n):n==="к"?E=Ot(l,t,r):n==="ь"?E=Vt(s,l,t):(["лёд","лед","лён"].includes(t)||t==="лев"&&s.isAnimate())&&(E=x(l,2)+M("ь",Q(l,1))+C(l))),E||($t(s,t,S)?E=x(l,2)+C(l):E=l),E}function et(s,t,r,l){if(t)return-2;if(l)return-1;const n=C(s);switch(r){case _.FEMININE:return n==="а"||n==="я"?2:H(n)?-1:3;case _.MASCULINE:return n==="а"||n==="я"?2:s==="путь"?0:1;case _.NEUTER:return["дитя","полудитя"].includes(s)?0:B(s,2)==="мя"?3:1;case _.COMMON:return n==="а"||n==="я"?2:n==="и"?-1:1;default:return-2}}function ke(s,t){const r=p(s),l=p(t.lower());if(C(l)==="а")return r;if(A(l,["зне","жне","гре","спе","мудре"])||B(p(l),3).split("").every(n=>ne(n))||t.isAName())return r;if(B(l,2)==="ле"){const n=Q(l,2);return $(n)||n==="л"?p(r)+"ь":r}else return $(C(l))&&C(l)!=="и"?$(C(p(l)))?x(s,2)+"й":A(t.lower(),["месяц"])?r:x(s,2):r}function Oe(s){return A(s,["чек","шек"])&&s.length>=6||O(s,$e)||s.endsWith("ок")&&!s.endsWith("шок")&&!Te.includes(s)&&!A(s,Ze)&&!$(Q(s,2))&&($(Q(s,3))||A(x(s,2),["ст","рт"]))&&s.length>=4}const tt=s=>C(s)==="ь"&&!s.endsWith("господь")||"её".includes(C(s))&&!A(s,["це","же"]);function ot(s){if(s.startsWith("пол")&&k(2550137089,C(s))&&s[3]!=="л"&&ae(s)>=2){let t=s.substring(3),r=t.search(/[а-яё]/);return r>=0&&H(t[r])}else return!1}function _t(s){return s.endsWith("полночь")||s.startsWith("пол")&&k(134217984,C(s))&&ae(s)>=2}function nt(s,t,r){const l=t.text(),n=t.lower();if(n.endsWith("путь"))return r===v.INSTRUMENTAL?p(l)+"ём":Fe(s,t,r);if(n.endsWith("дитя"))switch(r){case v.NOMINATIVE:case v.ACCUSATIVE:return l;case v.GENITIVE:case v.DATIVE:case v.PREPOSITIONAL:case v.LOCATIVE:return l+"ти";case v.INSTRUMENTAL:return[l+"тей",l+"тею"]}else throw new Error("unsupported")}function je(s,t){const r=new q(s);return r._txt=t,r._lc=t.toLowerCase(),r._hash=fe(r.lower()),Object.freeze(r)}function Ye(s,t,r,l){const n=()=>l!=="полминуты"?"полу"+t.text().substring(3):t.text();if(l==="полпути"){let S=je(t,p(n())+"ь");return nt(s,S,r)}else if(l.endsWith("зни")||l.endsWith("сти")){let S=je(t,p(n())+"ь");return Fe(s,S,r)}else{let S=je(t,p(n())+(B(l,2)==="ни"?"я":"а"));return st(s,S,r)}}const Mt=g(["й","ие","иё"]),Bt=g(["воробей","муравей","ручей","соловей","улей"]),ut=g(["ов","ев","ёв","ин","ын"]),dt=new Map;dt.set(1099,ut);function lt(s,t,r){const l=t.text(),n=t.lower(),S=C(n),E=t.getGender(),N=s.sd.hasStressedEndingSingular(t,r);let b=Le(t,n,N[0]),I=p(l);const U=ot(n);U&&(b="полу"+b.substring(3),I="полу"+I.substring(3));let L=ie(b);const G=()=>U&&n.endsWith("я")||tt(n),se=O(n,Mt),W=()=>O(n,Bt)?p(I)+M("ь",C(I)):I,ue=()=>"чщ".includes(C(L));function V(P){return!t.isAnimate()&&Se(Me,re(t._hash))&&_e.has(n)&&(S==="й"?P.push(p(l)+M("ю",C(l))):P=P.concat(ce(N,b,Y=>Y+M("у",C(Y))))),P}switch(r){case v.NOMINATIVE:return l;case v.GENITIVE:switch(S){case"и":case"ы":if(U)return Ye(s,t,r,n);break;case"й":case"е":if(se&&t.isASurname()||D(t,n)||O(n,De))return b+"ого";if(O(n,Ae)||n.endsWith("ее"))return b+"его";case"ё":case"я":case"ь":if(se){let J=[W()+"я"];return V(J)}else if(G()&&!ue())return b+"я";break;case"ц":return ke(l,t)+"ца";case"к":if(Oe(n))return p(I)+"ка";break;case"о":if(A(n,["шко"])&&_.MASCULINE===E)return I+"и";break}let P;return t.isASurname()||L.indexOf("ё")===-1?P=[b+"а"]:P=ce(N,b,J=>J+"а"),V(P);case v.DATIVE:switch(S){case"и":case"ы":if(U)return Ye(s,t,r,n);break;case"й":case"е":if(se&&t.isASurname()||D(t,n)||O(n,De))return b+"ому";if(O(n,Ae)||n.endsWith("ее"))return b+"ему";case"ё":case"я":case"ь":if(se)return W()+"ю";if(G()&&!ue())return b+"ю";break;case"ц":return ke(l,t)+"цу";case"к":if(Oe(n))return p(I)+"ку"}return t.isASurname()||L.indexOf("ё")===-1?b+"у":ce(N,b,J=>J+"у");case v.ACCUSATIVE:return E===_.NEUTER||"иы".includes(S)&&U?l:t.isAnimate()?lt(s,t,v.GENITIVE):l;case v.INSTRUMENTAL:switch(S){case"и":case"ы":if(U)return Ye(s,t,r,n);break;case"й":case"е":case"ё":case"я":case"ь":if(se&&t.isASurname()||O(n,ze))return O(n,w)?b+"ым":b+"им";if(D(t,n))return Q(n,1)==="и"||n.endsWith("хой")?b+"им":b+"ым";if(O(n,qe))return b+"ым";if(O(n,Ae))return b+"им";if(se)return W()+"ем";if(n.endsWith("це"))return l+"м";break;case"ц":return ce(N,l,(J,Ee)=>Ee?ke(J,t)+"цом":ke(J,t)+"цем");case"к":if(Oe(n))return p(I)+"ком";break;case"н":case"в":if(t.isASurname()&&O(n,ut))return l+"ым"}return G()||"жшчщ".includes(C(L))?ce(N,b,(J,Ee)=>Ee?J+"ом":J+"ем"):t.isASurname()||L.indexOf("ё")===-1?b+"ом":ce(N,b,J=>J+"ом");case v.LOCATIVE:if(n==="полпути")return l;const Y=oe.get(R(t));if(Y)return be(Y.map(Ee=>le(Ee))).map(Ee=>ct(s,t,Ee));case v.PREPOSITIONAL:switch(S){case"и":if(n==="полпути")return l;case"ы":if(U)return Ye(s,t,r,n);break;case"й":case"е":case"ё":case"я":case"ь":if(se&&t.isASurname()||D(t,n)||O(n,De))return b+"ом";if(O(n,Ae)||n.endsWith("ее"))return b+"ем";if(A(n,["воробей"])){const J=p(I);return J+M("ье",C(J))}else{if(O(n,c)&&!A(n,["запястье","здоровье","изголовье","платье"]))return I+"и";if(S==="й"||B(n,2)==="иё")return W()+"е"}break;case"ц":return ke(l,t)+"це";case"к":if(Oe(n))return p(I)+"ке"}return t.isASurname()||L.indexOf("ё")===-1?b+"е":ce(N,b,J=>J+"е")}}function st(s,t,r){const l=t.text(),n=t.lower(),S=Le(t,n),E=ie(S),N=p(l),b=p(n),I=()=>C(n)==="я",U=()=>n.endsWith("ая")&&!(ae(l)===2||$(C(S))),L=()=>n.endsWith("яя")&&!(ae(l)===2||$(C(S))),G=["жая","шая"];switch(r){case v.NOMINATIVE:return l;case v.GENITIVE:return L()||A(n,G)?S+"ей":U()?S+"ой":t.isASurname()&&!n.endsWith("да")?N+"ой":n.endsWith("ничья")?N+"ей":I()||k(60818504,C(E))?N+"и":N+"ы";case v.DATIVE:return L()||A(n,G)?S+"ей":U()?S+"ой":t.isASurname()&&!n.endsWith("да")?N+"ой":B(n,2)==="ия"?N+"и":n.endsWith("ничья")?N+"ей":N+"е";case v.ACCUSATIVE:return U()?S+"ую":L()?S+"юю":I()?N+"ю":N+"у";case v.INSTRUMENTAL:return L()||A(n,G)?S+"ею":U()?[S+"ой",S+"ою"]:I()||"жшчщц".includes(C(E))&&!s.sd.hasStressedEndingSingular(t,r).includes(!0)?C(b)==="и"?N+"ей":[N+"ей",N+"ею"]:[N+"ой",N+"ою"];case v.PREPOSITIONAL:case v.LOCATIVE:return L()||A(n,G)?S+"ей":U()?S+"ой":t.isASurname()&&!n.endsWith("да")?N+"ой":B(n,2)==="ия"?N+"и":n.endsWith("ничья")?N+"ей":N+"е"}}const He={дочь:"дочерь",мать:"матерь"};function Fe(s,t,r){const l=t.text(),n=t.lower();if(![v.NOMINATIVE,v.ACCUSATIVE].includes(r)&&Object.keys(He).includes(n)){const E=je(t,He[n]);return Fe(s,E,r)}let S=Le(t,n);if(_t(n)&&(S="полу"+S.substring(3)),B(n,2)==="мя")switch(r){case v.NOMINATIVE:case v.ACCUSATIVE:return l;case v.GENITIVE:case v.DATIVE:case v.PREPOSITIONAL:case v.LOCATIVE:return S+"ени";case v.INSTRUMENTAL:return S+"енем"}else switch(r){case v.NOMINATIVE:case v.ACCUSATIVE:return l;case v.GENITIVE:case v.DATIVE:case v.PREPOSITIONAL:case v.LOCATIVE:return S+"и";case v.INSTRUMENTAL:return A(n,["вошь","рожь","церковь"])?l+"ю":S+"ью"}}function Ut(s,t,r,l){const n=Lt(s,t,r,l);return n instanceof Array?n:[n]}function Lt(s,t,r,l){const n=t.text();if(t.isIndeclinable())return n;if(t.isPluraleTantum())return wt(s,t,r,n);if(l)return wt(s,t,r,l);switch(t.getDeclension()){case-1:return n;case 0:return nt(s,t,r);case 1:return lt(s,t,r);case 2:return st(s,t,r);case 3:return Fe(s,t,r)}}function ct(s,t,r){if(o.U_SUFFIX===r){const l=t.text(),n=t.lower();let S=Le(t,n),E=p(l);const b=ot(n)&&n.endsWith("я")||tt(n);return C(n)==="й"?de(E)+"ю":b?de(S)+"ю":Oe(n)?de(p(E))+"ку":de(S)+"у"}else if(o.PREPOSITIONAL===r)return lt(s,t,v.PREPOSITIONAL)}function Ft(s,t,r,l){switch(t){case 0:return nt(s,r,v.PREPOSITIONAL);case 1:return ct(s,r,l);case 2:return st(s,r,v.PREPOSITIONAL);case 3:return Fe(s,r,v.PREPOSITIONAL)}}const ft=new Uint8ClampedArray(256),ht=Object.freeze([[[_.MASCULINE,void 0],{болгарин:["болгары"],господин:["господа"],дядя:["дяди","дядья"],зуб:["зубы","зубья"],клок:["клочья","клоки"],князь:["князи","князья"],кол:["колы","колья"],месяц:["месяцы"],полдень:["полдни","полудни"],татарин:["татары"],хозяин:["хозяева"],цветок:["цветки","цветы"],черт:["черти"],чёрт:["черти"]}],[[_.MASCULINE,!0],{кондуктор:["кондуктора","кондукторы"],кум:["кумовья"],муж:["мужья","мужи"]}],[[_.FEMININE,void 0],{гроздь:["грозди","гроздья"],курица:["курицы","куры"],стая:["стаи"],щека:["щёки"],береста:["берёсты"],верста:["вёрсты"],десна:["дёсны"],жена:["жёны"],звезда:["звёзды"],кинозвезда:["кинозвёзды"],медсестра:["медсёстры"],метла:["мётлы"],пчела:["пчёлы"],сестра:["сёстры"],слеза:["слёзы"]}],[[_.NEUTER,void 0],{брюхо:["брюхи"],колено:["колена","колени","коленья"],древо:["древа","древеса"],ухо:["уши"],око:["очи"],дно:["донья"],чудо:["чудеса","чуда"],небо:["небеса"],бревно:["брёвна"],ведро:["вёдра"],веретено:["веретёна"],весло:["вёсла"],гнездо:["гнёзда"],зерно:["зёрна"],знамя:["знамёна"],колесо:["колёса"],облачко:["облачка"],озеро:["озёра"],полсотни:["полусотни"],ребро:["рёбра"],ремесло:["ремёсла"],седло:["сёдла"],село:["сёла"]}]]);for(const s of ht)Object.keys(s[1]).map(t=>ge(ft,re(fe(t))));const Wt=["зять","деверь","друг","брат","собрат","стул","брус","обод","полоз","струп","подмастерье","якорь","перо","шило"],Pt=new Set(["берег","бок","борт","век","вес","веер","вексель","вечер","глаз","голос","город","доктор","дом","детдом","егерь","жемчуг","катер","колокол","концлагерь","корм","короб","кузов","купол","лес","луг","мастер","номер","пояс","провод","рог","сахар","снег","сорт","стог","счет","счёт","спецсчет","спецсчёт","субсчет","субсчёт","терем","том","холод","цвет","череп"]),Rt=g(["округ","остров","отпуск","паспорт","парус","поезд","повар","погреб","рукав","цех","юнкер"]),gt=new Set(["адрес","договор","буфер","ворох","директор","инспектор","инструктор","корпус","крейсер","орден","ордер","прожектор","пропуск","род","свитер","сервер","тенор","тон","трактор","тормоз","ветер","верх","китель","мех","хлеб","юнкер","ястреб"]),vt=new Set(["бункер","вымпел","год","образ","омут","токарь","тополь","шторм","штуцер"]);function zt(s,t){const r=[],l=t.text(),n=t.lower(),S=s.sd.hasStressedEndingPlural(t,v.NOMINATIVE);Object.freeze(S);const E=Le(t,n,S[0]),N=ie(E);if(n.endsWith("яя"))return r.push(x(l,2)+"ие"),be(r);const b=V=>{const P=s.sd.hasStressedEndingPlural(t,v.NOMINATIVE).map(Y=>!Y);return P.length?P.map(Y=>Y?Ue(N)?V(ve(E)):V(E):V(de(E))):[V(E)]},I=t.getGender(),U=t.getDeclension(),L=(C(n)==="й"||$(C(l)))&&$(C(p(l)))?p(l):E,G=()=>(n.endsWith("евич")||n.endsWith("евна"))&&n.indexOf("ье")>=0;function se(){const V=L,P=ie(V).indexOf("ье"),Y=M("и",V[P]);return V.substring(0,P)+Y+V.substring(P+1)}function W(){k(60818504,C(N))||"яйь".includes(C(n))||A(n,["сосед"])?G()?(r.push(se()+"и"),r.push(L+"и")):Array.prototype.push.apply(r,ce(S,L,V=>V+"и")):C(n)==="ц"?r.push(ke(l,t)+"цы"):G()?(r.push(se()+"ы"),r.push(L+"ы")):Array.prototype.push.apply(r,ce(S,L,V=>V+"ы"))}if(Se(ft,re(t._hash)))for(const[V,P]of ht){const Y=V[0],J=V[1];if(I===Y&&(J==null||J===t.isAnimate())&&P.hasOwnProperty(n)){const Ee=P[n];for(let rt of Ee)r.push(rt);return be(r)}}const ue=C(N)==="ь"?E:C(N)==="к"?p(E)+"чь":C(N)==="г"?p(E)+"зь":C(n)==="й"?p(l):A(n,["рь","ль"])?E:E+"ь";switch(U){case-1:r.push(l);break;case 0:if(n==="путь")r.push("пути");else if(n.endsWith("дитя"))r.push(x(l,3)+"ети");else throw new Error("unsupported");break;case 1:if(Wt.includes(n))r.push(ue+"я");else if(_.MASCULINE===I){const V=["крюк","лист","лоскут","повод","прут","сук","учитель","флигель","штабель"],P=["клин","колос","ком","край","соболь"];n==="сын"?(r.push("сыновья"),W()):n==="человек"?(r.push("люди"),W()):V.includes(n)||n==="соболь"&&t.isAnimate()?(W(),r.push(ue+"я")):P.includes(n)?r.push(ue+"я"):Pt.has(n)||O(n,Rt)||gt.has(n)||vt.has(n)?(vt.has(n)&&W(),tt(n)?Array.prototype.push.apply(r,b(Y=>Y+"я")):S.includes(!0)?r.push(de(E)+"а"):r.push(E+"а"),gt.has(n)&&W()):(n.endsWith("анин")&&n.length>5||n.endsWith("янин"))&&!t.isAName()||["барин","боярин"].includes(n)?(r.push(x(l,2)+"е"),n==="барин"&&r.push(x(l,2)+"ы")):["цыган"].includes(n)?r.push(l+"е"):n==="щенок"?(r.push(x(l,2)+"ки"),r.push(x(l,2)+"ята")):(n.endsWith("ребёнок")||n.endsWith("ребенок"))&&!(n.endsWith("жеребёнок")||n.endsWith("жеребенок"))&&!(n.endsWith("ястребёнок")||n.endsWith("ястребенок"))?r.push(x(l,7)+"дети"):(n.endsWith("ёнок")||n.endsWith("енок"))&&t.isAnimate()?r.push(x(l,4)+"ята"):n.endsWith("ёночек")&&t.isAnimate()?r.push(x(l,6)+"ятки"):n.endsWith("онок")&&"жшч".includes(Q(n,4))&&t.isAnimate()?r.push(x(l,4)+"ата"):Oe(n)?r.push(x(l,2)+"ки"):O(n,Ae)?A(n,Be)?r.push(x(l,2)+"ьи"):r.push(p(l)+"е"):D(t,n)?n.endsWith("ый")||n.endsWith("ий")?r.push(p(l)+"е"):n.endsWith("ой")&&!A(n,["хой","ской"])?r.push(x(l,2)+"ые"):r.push(x(l,2)+"ие"):n.endsWith("его")?r.push(x(l,3)+"ие"):["воробей","муравей","ручей","соловей","улей","жеребей","ирей","репей","чирей"].includes(n)?r.push(x(l,2)+"ьи"):W()}else if(_.NEUTER===I)if(A(n,["ко","чо"])&&!A(n,["войско","облако"]))r.push(p(l)+"и");else if(n.endsWith("имое"))r.push(E+"ые");else if(n.endsWith("ее"))r.push(E+"ие");else if(n.endsWith("ое"))A(N,["г","к","ж","ш","х"])?r.push(E+"ие"):r.push(E+"ые");else if(A(n,["ие","иё"]))r.push(x(l,2)+"ия");else if(A(n,["ье","ьё"])){const V=x(l,2),P=["безделье","варенье","воскресенье","жалованье","запястье","застолье","затишье","здоровье","зелье","изголовье","новоселье","одночасье","печенье","платье","побережье","поголовье","подворье","подземелье","подполье","поместье","предплечье","раздумье","сиденье","средневековье","увечье","угодье","устье"].includes(n);C(n)==="е"&&!P&&r.push(V+"ия"),r.push(V+"ья")}else A(n,["дерево","звено","крыло"])?r.push(E+"ья"):A(n,["ле","ре"])?r.push(E+"я"):n.endsWith("судно")&&t.isATransport()?r.push(x(l,2)+"а"):(Array.prototype.push.apply(r,b(V=>V+"а")),A(n,["щупальце"])&&W());else r.push(E+"и");break;case 2:n==="заря"?r.push("зори"):n.endsWith("ая")&&!n.endsWith("свая")?"жхчшщ".includes(C(N))||A(N,["вк","гк","ск","цк","ньк"])?r.push(E+"ие"):r.push(E+"ые"):W();break;case 3:B(n,2)==="мя"?r.push(E+"ена"):Object.keys(He).includes(n)?r.push(p(He[n])+"и"):_.FEMININE===I?r.push(L+"и"):C(L)==="и"?r.push(L+"я"):r.push(L+"а");break}return be(r)}const pt=g(["ли","си","би","ви","ди","ти","пи","ри","ни","фи","зи","ьи","ья","ия","ря","ля","ая","аи","ои","уи","эи","ыи","яи","ёи","юи","еи","ии"]),at=["беготни","болтовни","будни","вожжи","возни","доли","лапши","левши","люди","марли","моря","мощи","ноздри","пени","пятерни","распри","родни","сакли","сени","ступни","судьи","фигни","чукчи"],mt=["головы","громадины","детины","деревенщины","дохлятины","дубины","ехидины","жадины","зверины","идиотины","кислятины","молодчины","орясины","остолопины","сиротины","скотины","старейшины","старины","старшины","уродины"],jt=g(mt),yt=["адреса","паспорта","поезда","цеха","снега","бункера","буфера","берега","вымпела","голоса","города","директора","договора","доктора","жемчуга","инспектора","инструктора","колокола","кондуктора","короба","корпуса","крейсера","кузова","леса","мастера","номера","облачка","острова","отпуска","паруса","повара","погреба","пояса","провода","прожектора","пропуска","рукава","сахара","свитера","сервера","счета","трактора","тормоза","холода","цвета","черепа","шторма","штуцера","юнкера","ястреба","суда","корм"],Yt=g(yt),Et=new Set(yt.concat(["бега","беглецы","близнецы","бойцы","бока","борта","борцы","бруствера","брюшки","веера","века","венцы","верха","веса","весы","вечера","вороха","глупцы","года","гонцы","дворцы","дельцы","детдома","детдомы","дома","жеребцы","жильцы","жрецы","затишки","зубцы","излишки","истцы","катера","концы","корма","кузнецы","купола","купцы","лишки","луга","мертвецы","меха","мудрецы","облака","образа","образцы","огурцы","округа","омута","ордена","ордера","отцы","очки","певцы","песцы","пловцы","подлецы","продавцы","птенцы","резцы","рога","рода","рубцы","самцы","свинцы","сорта","соуса","спецы","стога","столбцы","стрельцы","творцы","тельцы","тенора","терема","тома","тона","торцы","хлеба","штришки","юнцы"])),bt=new Set(["авары","аланы","аршины","баклажаны","буквы","гольфы","граммы","гусары","дела","кадеты","килограммы","омы","помидоры","рентгены","ботинки","человеки","чулки","шорты"]),St=new Set(["гектары","рельсы"]),Ge=new Uint8ClampedArray(256);Et.forEach(s=>ge(Ge,ye(s))),bt.forEach(s=>ge(Ge,ye(s))),St.forEach(s=>ge(Ge,ye(s)));const Ct=new Set(mt.concat(["абазины","авы","аввы","бедняги","бедолаги","болгары","бродяги","брызги","брюки","брюхи","будды","бусы","валенки","веки","вельможи","верзилы","вилы","владыки","воеводы","волосы","вояки","главы","грузины","задворки","задиры","железы","жилы","зануды","зеваки","именины","калеки","кальсоны","каникулы","колготки","коллеги","крохи","курицы","куры","ладоши","ламы","лыки","макароны","мужчины","нападки","нары","непоседы","носилки","ножны","папы","папаши","таты","падлы","партизаны","погоны","поминки","посиделки","похороны","предтечи","работяги","разы","ребятки","румыны","самоубийцы","санки","убийцы","сапоги","сатаны","сироты","сливки","слуги","солдаты","старосты","сумерки","сутки","татары","телеса","хитрюги","четвереньки","шляпы","шмотки","яблоки","дядьки","дяденьки","зайки","кроссовки","малютки","малолетки","попки","турки","узы","хлопоты","шахматы"])),xt=new Uint8ClampedArray(256);Ct.forEach(s=>ge(xt,ye(s)));const Je=["х","ых","их","м","ым","им","х","ых","их","ми","ыми","ими","х","ых","их"],Xe=["ям","ам","","","ями","ами","ях","ах"],Ht=g(["вна","вца","вцы","пла","дца","дра","судна","рки","рцы","тлы","рна","тна","енца","десны","дёсны","рёбра","ребра","сосны"]),Gt=g(["жи","ши","чи","ля","ли","чи","ри","ти","ди","сани","борщи","клещи","товарищи","плащи","прыщи","хрящи"]),Jt=g(["братья","брусья","деревья","донья","звенья","клинья","клочья","коленья","колосья","колья","комья","крылья","крючья","листья","лоскутья","лохмотья","перья","платья","поводья","прутья","стулья","сучья","хлопья","шилья"]),Xt=g(["ишки","дружки","тки","папочки","дедушки","дядюшки","батюшки","катанки","петрушки","шестерки"]),Kt=g(["жки","шки","чки","рки","натки","хатки","ятки","етки","чётки","мки","нки","педки","илки"]),Zt=g(["шок","щок","жок","зок","аток","яток","еток"]);function wt(s,t,r,l){const n=ie(l),S=C(n),E=d(S),N=j.indexOf(r)+1;if(N===1||N===4&&!t.isAnimate())return l;if(134217984&E){if(N===2||N===4){if(A(n,["овичи","евичи"]))return p(l)+"ей";if(A(n,["вны","полусотни"])&&n!=="овны")return x(l,2)+"ен"}else if(N===5){if(A(n,["дети","люди"])&&!A(n,["нелюди"]))return p(l)+"ьми";if(A(n,["вери","дочери"]))return[p(l)+"ями",p(l)+"ьми"]}}const b=t.getGender(),I=n.endsWith("цы")?p(l):pe(l,n),U=O(n,dt)&&(t.isASurname()||b===_.COMMON)&&!O(n,jt),L=3,G=L*Math.min(Math.round(Je.length/L-1),N-2);if(U||n.endsWith("ничьи"))return l+Je[G];if(n.endsWith("ые"))return x(l,2)+Je[G+1];if(n.endsWith("ие")||O(n,i))return I+Je[G+2];if(N>2&&N!==4){const W=2*Math.min(Math.round(Xe.length/2-1),N-3);return O(n,pt)?p(l)+Xe[W]:s.sd.hasStressedEndingPlural(t,r).includes(!0)?de(I)+Xe[W+1]:I+Xe[W+1]}else{const se=t.getDeclension(),W=()=>{const V=ie(I),P=["жки","шки","чки","ножны"];if(A(V,["кн","кл","дк","нк","пк","зк","рк","тк","вк","лк","мк"])&&!A(n,["сумерки"])||V==="зл"||A(n,P)&&s.sd.hasStressedEndingPlural(t,r).includes(!0)){const Y=C(I);return p(I)+M("о",Y)+Y}else if(O(n,Ht)&&!n.endsWith("недра")||A(n,P)){const Y=Q(l,1);return x(l,2)+M("е",Y)+Y}else if(A(n,["сестры","сёстры","серьги"])){const Y=Q(l,1);return(Q(n,2)==="ь"?de(x(l,3)):de(x(l,2)))+M("ё",Y)+Y}else if(A(V,["льц","сьм","деньг","ьк","йк","дьб"])){const Y=C(I);return x(I,2)+M("е",Y)+Y}else return A(n,["сла","слы"])?p(I)+"ел":I};if([3,0].includes(se)){if(n.endsWith("и"))return p(l)+"ей";if(["гроздья"].includes(n))return p(l)+"ев"}const ue=Q(n,2);if(_.FEMININE!==b){const V=ye(n),P=Se(Ge,V);if(P&&Et.has(n))return p(l)+"ов";if(P&&bt.has(n)&&!t.isAName())return[W(),p(l)+"ов"];if(P&&St.has(n))return[p(l)+"ов",W()];if(b===_.COMMON&&!A(n,at)&&!"жшч".includes(ue)||Se(xt,V)&&Ct.has(n)||t.isAName()&&b===_.MASCULINE&&t.lower().endsWith("а")||t.lower()==="барин")return W();switch(S){case"и":case"я":if(O(n,Gt)||n==="щи"||at.includes(n)||t.lower().endsWith("ь")&&!A(t.lower(),["зять","деверь"]))return(C(p(n))==="ь"?x(l,2):p(l))+"ей";if(S==="и")return n.endsWith("ульи")?p(l)+"ев":n.endsWith("ьи")?_.MASCULINE===b?p(l)+"ёв":x(l,2)+"ей":["ча","кле","холу","ху"].includes(p(n))?p(l)+"ёв":n.endsWith("ищи")?W():n.endsWith("мессии")?p(l)+"й":$(Q(n,1))?p(l)+"ев":O(n,Kt)&&(_.MASCULINE!==b||O(de(n),Xt))&&!O(t.lower(),Zt)?W():p(l)+"ов";if(O(n,Jt))return p(l)+"ев";if(A(n,["зятья","кумовья","деверья","края","острия"]))return p(l)+"ёв";if(A(n,["ья","ия"]))return _.MASCULINE===b?x(l,2)+"ей":x(l,2)+"ий";break;case"а":return A(n,["семена","стремена"])?x(l,3)+"ян":n.endsWith("мена")?x(l,3)+"ён":t.lower().endsWith("яйцо")?M("яиц",p(l)):n.endsWith("нца")?[W(),p(l)+"ев"]:O(n,Yt)?p(l)+"ов":W();case"ы":return A(n,["ницы","лицы","пицы","бицы"])?p(l):n.endsWith("цы")?p(l)+"ев":p(l)+"ов";default:if(n.endsWith("не"))return W()}}if(n.endsWith("йки"))return x(l,3)+"ек";if(n.endsWith("ки"))if(ue==="ь"){const V=C(p(l));return x(l,3)+M("е",V)+V}else{if("жшч".includes(ue))return W();if(ne(ue))return x(l,2)+"ок"}if(at.includes(n))return p(l)+"ей";if(A(n,["аи","ои","еи","эи","уи"]))return p(l)+"й";if(n==="свечи")return[p(l),p(l)+"ей"];if(n==="пригоршни")return[p(l)+"ей",x(l,2)+"ен"];if(n==="тихони")return[x(l,2)+"нь",p(l)+"ей"];if(A(n,["ьи","ии"]))return s.sd.hasStressedEndingSingular(t,r).includes(!0)?x(l,2)+"ей":x(l,2)+"ий";if(n.endsWith("ни")&&ne(Q(n,2)))return["барышни","боярышни","деревни"].includes(n)?x(l,2)+"ень":n.endsWith("кухни")?x(l,2)+"онь":n==="сотни"?[x(l,2),x(l,2)+"ен"]:x(l,2)+"ен";if(ie(I).endsWith("ийк"))return x(I,2)+"ек";if(I.length===n.length-1&&O(n,pt))if("ьй".includes(ie(Q(I,1)))&&!t.isAnimate()){const V=C(I);return x(I,2)+M("е",V)+V}else return A(n,["земли","петли","пли","вли"])?p(I)+"ель":I+"ь";else return W()}}return Object.freeze(ee)})}(Ke)),Ke.exports}var rn=an();const We=Dt(rn),on={class:"nav"},un={style:{height:"20px",width:"100%",display:"inline-block"}},dn={style:{height:"20px",width:"100%",display:"inline-block"}},cn={class:"label"},fn={key:0,style:{padding:"0 1rem .5rem"}},hn={key:1,style:{padding:"0 1rem .5rem"}},gn={__name:"SheetTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"},group:String,date:String,logo:{type:URL,default:"#"},editor:{type:Object,default:()=>({})}},setup(te){const j=new We.Engine,v=te,{t:f,d:_}=qt.useI18n(),ie=e.ref(!1),X=e.ref([]),q=e.ref("0"),R=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(q.value))),d=e.ref([]),k=e.ref([]),z=e.ref("100%"),$=e.ref("true"),H=e.ref([]),ne=e.ref([{value:"Я",label:f("sheet.valid.1")},{value:"К",label:f("sheet.valid.2")},{value:"ОТ",label:f("sheet.valid.3")},{value:"ДО",label:f("sheet.valid.4")},{value:"Р",label:f("sheet.valid.5")},{value:"ОЖ",label:f("sheet.valid.6")},{value:"Б",label:f("sheet.valid.7")},{value:"НН",label:f("sheet.valid.8")},{value:"ПР",label:f("sheet.valid.9")},{value:"У",label:f("sheet.valid.10")},{value:"УД",label:f("sheet.valid.11")},{value:"Г",label:f("sheet.valid.12")}]),M=e.ref([]),ae=e.ref(0),B=e.ref(9),C=e.ref(8),x=e.ref(0),p=e.ref(0),Q=e.ref([]),A=e.ref(!1),be=e.ref(!1),de=e.ref([]),ce=e.ref([]),fe=e.ref(!1),re=e.ref(!1),ye=e.ref(1),Se=e.ref(null),ge=e.ref({zIndex:3,minWidth:230,x:500,y:200}),g=e.ref({name:"",length:0,code:""}),O=e.ref([]),we=e.ref(""),xe=e.ref("_____"),m=e.computed(()=>X.value.flatMap((i,a)=>{const D=O.value.find(u=>u.code===i.code),c=new Map;i.days.forEach(u=>c.set(u.day,{...u})),D&&D.days.forEach(u=>c.set(u.day,{...u}));const w=Array.from(c.values());return[{...i,days:w,key:0,ids:a,numberNonAppearing:[0,0]},{...i,days:w,key:1,ids:a,numberNonAppearing:[0,0]}]}));e.watch(k,async(i,a)=>{i!==a&&(Q.value=[],v.odata.personal.forEach(D=>{i.includes(D.divisionName)&&(Q.value.some(c=>(c==null?void 0:c.activeText)===D.roleName)||Q.value.push({val:!0,activeText:D.roleName}))}),$e())}),e.watch(q,i=>{R.value=new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(i)),Re(),$e()}),e.watch(C,()=>A.value=fe.value),e.watch(B,()=>A.value=fe.value),e.watch(ye,()=>A.value=fe.value);const Ve=async(i,a,D,c)=>{var le,K,he,oe;if(a.level!==3||a.labelClassName==="turn"||a.no===15||a.no>d.value.length||!v.checkEdit)return"";g.value.ids=i.ids,g.value.key=i.key,g.value.day=a.no<15?a.no:a.no-1;let w=[0,0];if(g.value.day>0)w[0]=((le=m.value[i.ids*2].days[g.value.day-1])==null?void 0:le.overtime)??0;else{const ee=T.parseTime(new Date(R.value).setDate(0),"{Y}-{m}-{dd}"),me=await v.workSchedule.getWorkSheet({code:i.code,date:ee});if(me[0]!==null){const h=me[0].data.days.find(ve=>ve.day===ee);w[0]=(h==null?void 0:h.overtime)??0}else w[0]=0}if(g.value.day<d.value.length-1)w[1]=((K=m.value[i.ids*2].days[g.value.day+1])==null?void 0:K.overtime)??0;else{const ee=T.parseTime(new Date(R.value).setDate(d.value.length),"{Y}-{m}-{dd}"),me=await v.workSchedule.getWorkSheet({code:i.code,date:ee});if(me[0]!==null){const h=me[0].data.days.find(ve=>ve.day===ee);w[1]=(h==null?void 0:h.overtime)??0}else w[1]=0}console.log(w),g.value.limit=X.value[i.ids].days[g.value.day].time+4-T.clamp(w[0],w[1],4);const u=new Date(R.value),o=`${u.getFullYear()}-${(u.getMonth()+1).toString().padStart(2,"0")}-${(g.value.day+1).toString().padStart(2,"0")}`,y=O.value.findIndex(ee=>ee.code===i.code);g.value.id=y!==-1?O.value[y].days.findIndex(ee=>(ee==null?void 0:ee.day)===o):y,B.value=typeof i.days[g.value.day].tips>"u"?9:parseInt(i.days[g.value.day].tips.match(/(\d{1,2})/)),x.value=parseInt(((he=i.days[g.value.day])==null?void 0:he.night)??0),p.value=parseInt(((oe=i.days[g.value.day])==null?void 0:oe.overtime)??0),C.value=i.days[g.value.day].time!=="-"?parseInt(i.days[g.value.day].time):8;const Z=i.days.findIndex(ee=>ee.day===o);g.value.failure=i.days[Z].state,ge.value.y=c.clientY,ge.value.x=c.clientX,g.value.rest=y!==-1&&g.value.id!==-1,g.value.name=T.byInitials(i.fio),fe.value=!0,await e.nextTick(),A.value=!1},Ne=i=>{const a=new Date(R.value),D=`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${(g.value.day+1).toString().padStart(2,"0")}`;let c=O.value.findIndex(K=>K.code===X.value[g.value.ids].code);g.value.id=c!==-1?O.value[c].days.findIndex(K=>(K==null?void 0:K.day)===`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${(g.value.day+1).toString().padStart(2,"0")}`):c;let w=X.value[g.value.ids].days[g.value.day].state,u=i,o="-",y,Z,le;switch(i){case"Я":w==="В"&&(u="РВ"),o=8;break;case"КВ":case"К":w==="В"||w==="КВ"?u="КВ":u="К";break;case"save":let K=Ce.value.split('"');u=K[1],A.value=!1,K[2]!==""&&(o=C.value,le="("+K[2].split("(")[1],y=x.value,Z=p.value)}i==="reset"?(u=w,O.value[c].days.splice(g.value.id,1)):c===-1?O.value.push({code:X.value[g.value.ids].code,days:[{day:D,state:u,time:o,night:y,overtime:Z,tips:le}]}):g.value.id===-1?O.value[c].days.push({day:D,state:u,time:o,night:y,overtime:Z,tips:le}):O.value[c].days[g.value.id]={day:D,state:u,time:o,night:y,overtime:Z,tips:le},c=O.value.findIndex(K=>K.code===X.value[g.value.ids].code),v.workSchedule.addWorkSheet({date:T.parseTime(new Date(R.value),"{Y}-{m}-{dd}"),data:[{name:X.value[g.value.ids].fio,days:O.value[c].days,code:X.value[g.value.ids].code}]}),g.value.failure=u,ye.value>1&&(ye.value--,g.value.day++,Ne(u)),_e()},Ce=e.computed(()=>{re.value=!1;let i=X.value[g.value.ids].days[g.value.day],a="";x.value=0,p.value=0;let D=C.value>=22?B.value+C.value+2:C.value>4?B.value+C.value+1:B.value+C.value,c=g.value.failure.split("/")[0];c=/^Н(?!Н$)С?$/.test(c)?i.state!=="В"?"Я":"РВ":c,/^(|Я|РВ)$/.test(c)&&((B.value<6||D>22)&&(a="Н",x.value=B.value<6?Math.min(6,D)-B.value:0,D<=6&&(x.value=C.value,c=""),D===7&&x.value>4&&x.value--,x.value+=Math.max(22,D)-22),C.value>i.time&&c!=="РВ"&&(a+="С",re.value=!0,p.value=C.value-i.time,p.value>4&&(C.value=i.time+4,p.value=4)),/РВ/.test(c)&&(re.value=!0)),a.length>0&&c.length>0&&(a="/"+a);let w=`(${B.value}:00 - ${C.value>=22?B.value+C.value+2:C.value>4?B.value+C.value+1:B.value+C.value}:00)`,u=m.value[g.value.ids*2].days[g.value.day].time!=="-"?" "+C.value+" "+w:"";return'"'+c+a+'"'+u}),Pe=i=>{if(i.columnIndex<2||i.columnIndex>d.value.length+3&&i.columnIndex<d.value.length+9||i.columnIndex>d.value.length+11)return m.value[i.rowIndex].key===0?{rowspan:2,colspan:1}:{rowspan:0,colspan:0}},Re=()=>{const i=new Date(R.value),a=new Date(i.getFullYear(),i.getMonth()+1,0).getDate();let D=[],c=0;for(let w=1;w<=a;w++){const u=T.parseTime(i.setDate(w),"{Y}-{m}-{dd}");c+=M.value.nowork.includes(u)||M.value.holidays.includes(u)?0:M.value.preholidays.includes(u)?7:8;let o=M.value.nowork.includes(u)?"nowork":M.value.holidays.includes(u)?"holiday":M.value.preholidays.includes(u)?"preholiday":"";D.push({day:w,holidays:o,weekday:_(new Date(i.getFullYear(),i.getMonth(),w),"day")})}return ae.value=c,d.value=D,v.odata.getPersonal({dismissed:"false"}).then(w=>{var u;k.value.length===0&&(k.value=[(u=w.find(o=>o.employeeName===v.fullName&&o.dismissalDate.length===0))==null?void 0:u.divisionName]),w.forEach(o=>{H.value.some(y=>o.dismissalDate.length>0&&new Date(o.dismissalDate)<new Date(R.value)||(y==null?void 0:y.value)===o.divisionName)||H.value.push({value:o.divisionName,label:o.divisionName,key:o.divisionName})})}),!0},$e=()=>{X.value=[],ce.value=[],de.value=[],v.odata.personal.forEach(i=>{if(k.value.includes(i.divisionName)&&Q.value.some(a=>a.val&&a.activeText===i.roleName)&&(i.dismissalDate.length===0||new Date(i.dismissalDate)>new Date(R.value))){let a=T.byInitials(i.employeeName);i.employeeName===v.fullName&&(xe.value=i.roleName),X.value.push({fio:i.employeeName,name:a+" ("+i.roleName+")",code:i.employeeKey,days:[],contHour:0,id:!1,employmentDate:T.parseTime(new Date(i.employmentDate),"{Y}-{m}-{dd}T00:00:00"),dismissalDate:i.dismissalDate})}}),X.value.sort((i,a)=>i.fio<a.fio?-1:i.fio>a.fio?1:0),X.value.forEach((i,a)=>{i.ids=a,ce.value.push(i.code)}),v.workSchedule.getUsersYear({code:ce.value,year:new Date(R.value).getFullYear()}).then(i=>{i.forEach(a=>{a.dateStart&&de.value.push({code:a.code,dateStart:a.dateStart,dateEnd:a.dateEnd})}),Ze()})},Ze=()=>{v.workSchedule.getWorkSheet({code:ce.value,date:T.parseTime(new Date(R.value),"{Y}-{m}-{dd}")}).then(i=>{O.value=[],i.forEach(a=>{a!==null&&O.value.push({code:a.code,days:a.data.days})}),v.workSchedule.getWorkSchedule({code:ce.value,date:T.parseTime(new Date(R.value),"{Y}-{m}-{dd}")}).then(a=>{a.forEach((D,c)=>{var u,o;if(D!==null){X.value[c].days=[],D.data.days.forEach(y=>y.state="Я");for(let y=1;y<=d.value.length;y++){let Z=T.parseTime(new Date(R.value).setDate(y),"{Y}-{m}-{dd}");const le=(u=D.data)==null?void 0:u.days.findIndex(K=>K.day===Z);le===-1?Te(y,c,"-","В"):X.value[c].days.push((o=D.data)==null?void 0:o.days[le])}}else for(let y=1;y<=d.value.length;y++)d.value[y-1].holidays===""?Te(y,c,8):d.value[y-1].holidays==="preholiday"?Te(y,c,7):Te(y,c,"-","В");const w=X.value[c];if(w.employmentDate||w.dismissalDate)for(let y=1;y<=d.value.length;y++){const Z=new Date(new Date(R.value).setDate(y)),le=T.parseTime(Z,"{Y}-{m}-{dd}"),K=w.employmentDate&&Z<new Date(w.employmentDate),he=w.dismissalDate&&Z>=new Date(w.dismissalDate).setSeconds(0);if(K||he){const oe=w.days.findIndex(ee=>ee.day===le);oe!==-1&&(w.days[oe].state="-",w.days[oe].time="-")}}for(let y=1;y<=d.value.length;y++){let Z=new Date(new Date(R.value).getFullYear(),new Date(R.value).getMonth(),y).getTime()+1e3;for(let le of de.value){const{dateStart:K,dateEnd:he,code:oe}=le;if(K&&he&&oe===X.value[c].code){const ee=new Date(T.parseDate(K)).getTime(),me=new Date(T.parseDate(he)).getTime();if(Z>=ee&&Z<=me){const h=T.parseTime(new Date(R.value).setDate(y),"{Y}-{m}-{dd}"),ve=X.value[c].days.findIndex(Ue=>Ue.day===h);ve!==-1?X.value[c].days[ve]={day:h,time:"-",state:"ОТ"}:X.value[c].days.push({day:h,time:"-",state:"ОТ"})}}}}}),_e()})})},Te=(i,a,D,c="Я")=>{const w=T.parseTime(new Date(R.value).setDate(i),"{Y}-{m}-{dd}");X.value[a].days.push({day:w,time:D,state:c})},_e=()=>{m.value.forEach(i=>{i.hourI=0,i.hourII=0,i.halfII=0,i.halfI=0,i.weekend=0,i.weekendDays=0,i.overtime=0,i.night=0,i.appearing={code:"-",count:"-"};const a=Object.entries(i.days.reduce((u,o)=>{if(o.hasOwnProperty("state")&&/^(|К|КВ|ОТ|Б|Р|ПР|ОЖ|НН|У|ДО|УД|Г)$/.test(o.state)){const y=o.state;u[y]=(u[y]||0)+1}return u},{})).map(([u,o])=>({code:u,count:o}));i.numberNonAppearing=[a.reduce((u,o)=>u+o.count,0),0];const D=Math.ceil(a.length/2),c=a.slice(0,D),w=a.slice(D);i.key===0&&c.length>0&&(i.appearing={code:c.map(u=>u.code).join("/"),count:c.map(u=>u.count).join("/")}),i.key===1&&w.length>0&&(i.appearing={code:w.map(u=>u.code).join("/"),count:w.map(u=>u.count).join("/")});for(let u=0;u<i.days.length;u++)u<15&&i.days[u].time!=="-"&&(i.hourI+=Number(i.days[u].time),i.halfI++),u>=15&&i.days[u].time!=="-"&&(i.hourII+=Number(i.days[u].time),i.halfII++),i.days[u].night&&(i.night+=Number(i.days[u].night)),i.days[u].overtime&&(i.overtime+=Number(i.days[u].overtime)),/{|РВ|}/.test(i.days[u].state)&&(i.weekend+=Number(i.days[u].time)),i.days[u].state==="В"&&i.weekendDays++;i.contDays=i.halfI+i.halfII,i.contHour=i.hourI+i.hourII})},Me=(i,a)=>{var y,Z,le,K,he;if(a===-1)return"";const D=m.value[a],c=new Date(R.value),w=`${c.getFullYear()}-${(c.getMonth()+1).toString().padStart(2,"0")}-${i.toString().padStart(2,"0")}`,u=D.days.findIndex(oe=>oe.day===w);let o=0;return(y=D.days[u])!=null&&y.overtime&&(o+=D.days[u].overtime),u===-1?"":D.key===0?(Z=D.days[u])==null?void 0:Z.state:((le=D.days[u])==null?void 0:le.time)===0?o===0?"-":o:o===0?(K=D.days[u])==null?void 0:K.time:`${((he=D.days[u])==null?void 0:he.time)-o}/${o}`};v.group&&(k.value[0]=v.group),v.date&&(q.value=new Date(v.date+"T00:00:01").getMonth()),T.holidays().then(i=>{M.value=i,Re()});const De=i=>new Date(R.value).getMonth()===new Date().getMonth()&&i===new Date().getDate()?" today":"",ze=()=>{let i=Ce.value.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/),a=X.value[g.value.ids].days[g.value.day+1].tips;return a=typeof a<"u"?a.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/):[0,9,18],Number(i[1])<Number(a[1])?`${i[1]}:00 по ${Number(i[1])+p.value}:00`:`${Number(i[2])-p.value}:00 по ${i[2]}:00`},qe=()=>{let i=/РВ/.test(Ce.value),a=m.value[g.value.ids*2].name.match(/\(([^)]+)\)/)[1].split(" "),D="";a.forEach(Z=>{D+=`${j.decline({text:Z,gender:We.Gender.NEUTER},We.Case.ACCUSATIVE)} `});let c=m.value[g.value.ids*2].fio.split(" ");c=At({last:c[0],first:c[1],middle:c[2]},"accusative");let w=v.fullName.split(" ");w=At({last:w[0],first:w[1],middle:w[2]},"genitive");let u=xe.value.split(" "),o="";u.forEach(Z=>{o+=`${j.decline({text:Z,gender:We.Gender.NEUTER},We.Case.GENITIVE)} `});let y=i?Ce.value.match(/\(([^)]+)\)/)[1].replace("-"," по "):ze();we.value=`<p style="position: absolute;"><img src="https://cp.avanta-telecom.ru${v.logo}" style="height: 3rem;"></p><div style="display:inline-block;margin-left:66%;width:34%;">Директору<br>ООО "АВАНТА ТЕЛЕКОМ" Пунину Д. В.<br><br>от ${D} ${T.byInitials(`${w.last} ${w.first} ${w.middle}`)}</div><p>${k.value[0]}<br>СЛУЖЕБНАЯ ЗАПИСКА<br>${T.parseTime(new Date(R.value).setDate(g.value.day+1),'"{dd}" {F} {Y}')}г.</p><p style="text-align:center;">Уважаемый Дмитрий Владимирович!</p><p>В связи с производственной необходимостью З_А_П_О_Л_Н_И_Т_Ь_! , прошу привлечь к ${i?"работе в выходной день":"сверхурочной работе"}, ${T.parseTime(new Date(R.value).setDate(g.value.day+1),"{dd}.{m}.{Y}")} c ${y}, ${D} ${c.last} ${c.first} ${c.middle} для выполнения вышеуказанных работ с ${(c==null?void 0:c.gender)==="male"?"его":"её"} письменного согласия.</p><p>${xe.value} ________________ ${T.byInitials(v.fullName)}</p>`},Ae=()=>{let i=/РВ/.test(Ce.value),a=i?Ce.value.match(/\(([^)]+)\)/)[1].replace("-"," по "):ze();we.value=`<style> @page{size: A4 portrait;margin-top: 20pt;} @media print{.no-print{display: none !important;}} </style><body style="font:9pt/1.08;"><h1 style="text-align: center;"><img style="margin-bottom: 20pt;" src="https://avanta-telecom.ru/local/templates/main/images/Logo-hs.png" width="174" height="51" alt="logo" /><br/>Общество с ограниченной ответственностью «АВАНТА ТЕЛЕКОМ»<br>(ООО «АВАНТА ТЕЛЕКОМ»)</h1><table width="100%" border="0" cellspacing="0" cellpadding="0"><col width="50%"/><col width="50%"/><tr><td align="left "><span>г.Краснодар</span></td><td align="right"><span>________________ года</span></td></tr></table><p style="text-align:center;margin: 0 0 .26cm;"><b>УВЕДОМЛЕНИЕ</br>${i?"о работе в выходной день":"о привлечении к сверхурочной работе "}</b></p><p style="text-align:center;margin: 0 0 .26cm;">Уважаемый ${m.value[g.value.ids*2].fio}!</p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Уведомляю Вас, что в связи с производственной необходимостью возникла необходимость ${i?"работы в выходной день,"+T.parseTime(new Date(R.value).setDate(g.value.day+1),"{dd}.{m}.{Y}"):"Вас "+T.parseTime(new Date(R.value).setDate(g.value.day+1),"{dd}.{m}.{Y}")+"г. к сверхурочной работе"} с ${a} часов${i?" (с перерывом на отдых и прием пищи 1 час)":""}.</p>${i?'<p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Прошу дать согласие на работу в вышеназванный выходной день.</p>':""}<p style="margin: 0 0 .26cm;text-indent: 20px each-line;">${i?"":"После ознакомления прошу сделать в настоящем уведомлении отметку о согласии/несогласии. "}Если есть запрет на привлечение Вас к работе ${i?"в выходной день":"сверхурочно"} (по состоянию здоровья в соответствии с медицинским заключением), прошу сообщить об этом.</p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Сообщаю, что за работу ${i?"в выходной день полагается оплата в двойном размере. По Вашему желанию вместо двойной оплаты может быть предоставлен день отдыха – в этом случае работа в выходной день будет оплачена в одинарном размере, а день отдыха оплате не подлежит.":"сверхурочно"}<br/></p><table width="100%" border="0" cellspacing="0" cellpadding="0"><col width="50%"/><col width="50%"/><tr><td align="center"><span>Директор</span></td><td align="center"><span>Пунин Д.В</span></td></tr></table><p style="text-align:center;margin: 0 0 .26cm;"><br/></p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Я, ${m.value[g.value.ids*2].fio} настоящим сообщаю следующее:</p><p style="margin: 0 0 .26cm;">1. На привлечение к ${i?"работе в выходной день,":"сверхурочной работе"} ${T.parseTime(new Date(R.value).setDate(g.value.day+1),"{dd}.{m}.{Y}")} :</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>согласен</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">2. С правом отказаться от ${i?"работы в выходные дни":"сверхурочной работы"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>ознакомлен</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">3. Запрет на работу ${i?"в выходные дни,":"сверхурочно"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>отсутствует</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;" align="center"><p>(если есть запрет, указать какой)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">4. ${i?"Работу в выходные дни,":"Работу сверхурочно"} прошу компенсировать:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>${i?"Оплатой в двойном размере":"Оплатой в повышенном размере"}</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">5. Экземпляр уведомления о работе ${i?"в выходные дни":"сверхурочно"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>получил</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table>`},Be=async()=>{var he,oe,ee,me;ie.value=!0;const i=new tn.Workbook,a=i.addWorksheet(_(R.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),D={vertical:"middle",horizontal:"center"},c={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},w={vertical:"middle",horizontal:"center",wrapText:!0};a.mergeCells(`A1:${T.cellsDynamically("A1",d.value.length+15)}1`),a.mergeCells("A2:A4"),a.mergeCells("B2:B4"),a.mergeCells("C2:C4"),a.mergeCells("D5:R5"),a.mergeCells(`D2:${T.cellsDynamically("D2",d.value.length+2)}2`),a.mergeCells(`${T.cellsDynamically("D2",d.value.length+3)}2:${T.cellsDynamically("D2",d.value.length+8)}2`),a.mergeCells(`${T.cellsDynamically("D2",d.value.length+9)}2:${T.cellsDynamically("D2",d.value.length+9)}4`),a.mergeCells(`${T.cellsDynamically("D2",d.value.length+10)}2:${T.cellsDynamically("D2",d.value.length+11)}2`),a.mergeCells(`${T.cellsDynamically("D2",d.value.length+12)}2:${T.cellsDynamically("D2",d.value.length+12)}4`),a.mergeCells(`${T.cellsDynamically("D3",d.value.length+3)}3:${T.cellsDynamically("D3",d.value.length+3)}4`),a.mergeCells(`${T.cellsDynamically("D3",d.value.length+4)}3:${T.cellsDynamically("D3",d.value.length+8)}3`),a.mergeCells(`${T.cellsDynamically("D3",d.value.length+10)}3:${T.cellsDynamically("D3",d.value.length+10)}4`),a.mergeCells(`${T.cellsDynamically("D3",d.value.length+11)}3:${T.cellsDynamically("D3",d.value.length+11)}4`),a.mergeCells(`T5:${T.cellsDynamically("D5",d.value.length+1)}5`);for(let h=1;h<=d.value.length+2;h++)a.mergeCells(`${T.cellsDynamically("D3",h)}3:${T.cellsDynamically("D4",h)}4`),a.getColumn(h+3).width=5,a.getColumn(h+3).alignment=w,a.getCell(3,h+3).border=c,h<16&&(a.getCell(3,h+3).value=h),h>16&&(a.getCell(3,h+3).value=h-1);a.getCell("A1").value=f("sheet.title",{name:k.value[0]})+_(R.value,"month"),a.getCell("A2").value=f("sheet.listNumber"),a.getCell("B2").value=f("sheet.employee"),a.getCell("C2").value=f("sheet.personnelNumber"),a.getCell("D2").value=f("sheet.marks"),a.getCell("S3").value=f("sheet.halfMonth",{half:"I"}),a.getCell("A5").value="1",a.getCell("B5").value="2",a.getCell("C5").value="3",a.getCell("D5").value="4",a.getCell("S5").value="5",a.getCell("T5").value="6",a.getCell(5,d.value.length+5).value="7",a.getCell(2,d.value.length+6).value=f("sheet.workedMonth"),a.getCell(2,d.value.length+12).value=f("sheet.numberNonAppearing"),a.getCell(2,d.value.length+13).value=f("sheet.them"),a.getCell(2,d.value.length+15).value=f("sheet.countWeekend"),a.getCell(3,d.value.length+5).value=f("sheet.halfMonth",{half:"II"}),a.getCell(3,d.value.length+6).value=f("sheet.days"),a.getCell(3,d.value.length+7).value=f("sheet.hours"),a.getCell(4,d.value.length+7).value=f("sheet.all"),a.getCell(4,d.value.length+8).value=f("sheet.overtime"),a.getCell(4,d.value.length+9).value=f("sheet.night"),a.getCell(4,d.value.length+10).value=f("sheet.weekend"),a.getCell(4,d.value.length+13).value=f("sheet.code"),a.getCell(4,d.value.length+14).value=f("sheet.count"),a.getRow(1).height=40,a.getRow(2).height=32,a.getRow(3).height=20,a.getRow(4).height=60,a.getColumn(1).width=6,a.getColumn(2).width=30,a.getColumn(3).width=17,a.getColumn(19).width=12,a.getColumn(d.value.length+5).width=12,a.getColumn(d.value.length+12).width=11,a.getColumn(d.value.length+15).width=11,a.getCell("A1").alignment=D,a.getColumn(1).alignment=w,a.getColumn(2).alignment=w,a.getColumn(3).alignment=w;for(let h=6;h<=15;h++)a.getCell(5,d.value.length+h).value=h+2,a.getColumn(d.value.length+h).alignment=w,a.getCell(4,d.value.length+h).border=c,a.getCell(5,d.value.length+h).border=c;a.getCell("A2").border=c,a.getCell("B2").border=c,a.getCell("C2").border=c,a.getCell("D2").border=c,a.getCell("D2").border=c,a.getCell("A5").border=c,a.getCell("B5").border=c,a.getCell("C5").border=c,a.getCell("D5").border=c,a.getCell("S5").border=c,a.getCell("T5").border=c,a.getCell(2,d.value.length+6).border=c,a.getCell(2,d.value.length+12).border=c,a.getCell(2,d.value.length+13).border=c,a.getCell(2,d.value.length+15).border=c,a.getCell(3,d.value.length+7).border=c;let u=1,o=5,y=!0;for(const h of m.value){let ve=[u,h.name,h.code];for(let pe=0;pe<d.value.length;pe++)pe===15&&ve.push(y?(h==null?void 0:h.halfI)||"":(h==null?void 0:h.hourI)||""),ve.push(y?((he=h.days[pe])==null?void 0:he.state)||"":((oe=h.days[pe])==null?void 0:oe.time)||"");ve.push(y?(h==null?void 0:h.halfII)||0:(h==null?void 0:h.hourII)||0,(h==null?void 0:h.contDays)||0,(h==null?void 0:h.contHour)||0,(h==null?void 0:h.overtime)||0,(h==null?void 0:h.night)||0,(h==null?void 0:h.weekend)||0,"",y?(h==null?void 0:h.numberNonAppearing[0])||"":(h==null?void 0:h.numberNonAppearing[1])||0,((ee=h==null?void 0:h.appearing)==null?void 0:ee.code)||"-",((me=h==null?void 0:h.appearing)==null?void 0:me.count)||"-",(h==null?void 0:h.weekendDays)||0);const Ue=a.addRow(ve);if(Ue.border=c,!y){a.mergeCells(`A${o+u*2-1}:A${o+u*2}`),a.mergeCells(`B${o+u*2-1}:B${o+u*2}`),a.mergeCells(`C${o+u*2-1}:C${o+u*2}`);for(let pe=d.value.length+3;pe<=d.value.length+8;pe++)a.mergeCells(`${T.cellsDynamically("D",pe)}${o+u*2-1}:${T.cellsDynamically("D",pe)}${o+u*2}`);a.mergeCells(`${T.cellsDynamically("D",d.value.length+12)}${o+u*2-1}:${T.cellsDynamically("D",d.value.length+12)}${o+u*2}`),u++}y=!y}let Z="Калач В. В.";v.odata.personal.forEach(h=>{h.roleName==="Специалист по кадрам и кадровому делопроизводству"&&(h.dismissalDate.length===0||new Date(h.dismissalDate)>new Date(R.value))&&(Z=h.employeeName)}),a.mergeCells(`A${m.value.length+7}:B${m.value.length+7}`),a.mergeCells(`C${m.value.length+7}:G${m.value.length+7}`),a.mergeCells(`H${m.value.length+7}:M${m.value.length+7}`),a.mergeCells(`O${m.value.length+7}:T${m.value.length+7}`),a.mergeCells(`V${m.value.length+7}:AC${m.value.length+7}`),a.mergeCells(`AD${m.value.length+7}:AI${m.value.length+7}`),a.mergeCells(`AJ${m.value.length+7}:AL${m.value.length+7}`),a.mergeCells(`AM${m.value.length+7}:AP${m.value.length+7}`),a.mergeCells(`V${m.value.length+9}:AC${m.value.length+9}`),a.mergeCells(`AD${m.value.length+9}:AI${m.value.length+9}`),a.mergeCells(`AJ${m.value.length+9}:AL${m.value.length+9}`),a.mergeCells(`AM${m.value.length+9}:AP${m.value.length+9}`),a.getCell(`A${m.value.length+7}`).value=f("sheet.responsiblePerson"),a.getCell(`V${m.value.length+7}`).value=f("sheet.headStructural"),a.getCell(`C${m.value.length+7}`).value=xe.value+":",a.getCell(`O${m.value.length+7}`).value=T.byInitials(v.fullName),a.getCell(`AD${m.value.length+7}`).value=xe.value+":",a.getCell(`AM${m.value.length+7}`).value=T.byInitials(v.fullName),a.getCell(`V${m.value.length+9}`).value=f("sheet.HREmployee"),a.getCell(`AD${m.value.length+9}`).value="Специалист по кадрам и кадровому делопроизводству:",a.getCell(`AM${m.value.length+9}`).value=T.byInitials(Z),a.getCell(`A${m.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`C${m.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`O${m.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},a.getCell(`V${m.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AD${m.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AM${m.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},a.getCell(`V${m.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AD${m.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AM${m.value.length+9}`).alignment={vertical:"middle",horizontal:"left"},a.getCell(`H${m.value.length+7}`).border={bottom:{style:"thin"}},a.getCell(`AJ${m.value.length+7}`).border={bottom:{style:"thin"}},a.getCell(`AJ${m.value.length+9}`).border={bottom:{style:"thin"}};const le=`export_${T.parseTime(Date.now(),"{dd}.{m}.{Y}")}.xlsx`,K=await i.xlsx.writeBuffer();Nt.saveAs(new Blob([K]),le),ie.value=!1},Qe=()=>{let i=new Blob([we.value],{type:"text/plain;charset=utf-8"});Nt.saveAs(i,`Служебка_${T.byInitials(m.value[g.value.ids*2].fio)}_${T.parseTime(Date.now(),"{dd}.{m}.{Y}")}.html`)};return(i,a)=>{const D=e.resolveComponent("el-form-item"),c=e.resolveComponent("svg-icon"),w=e.resolveComponent("el-slider"),u=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",on,[te.checkEdit?(e.openBlock(),e.createBlock(e.unref(F.ElSelect),{key:0,modelValue:k.value,"onUpdate:modelValue":a[0]||(a[0]=o=>k.value=o),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"Select",style:{width:"240px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(H.value,o=>(e.openBlock(),e.createBlock(e.unref(F.ElOption),{key:o.value,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),te.checkEdit?(e.openBlock(),e.createBlock(e.unref(F.ElButton),{key:1,plain:"",onClick:a[1]||(a[1]=o=>be.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("workSchedule.jobTitle")),1)]),_:1})):e.createCommentVNode("",!0),a[20]||(a[20]=e.createElementVNode("div",{class:"expander"},null,-1)),te.checkEdit?(e.openBlock(),e.createBlock(e.unref(F.ElSwitch),{key:2,modelValue:q.value,"onUpdate:modelValue":a[2]||(a[2]=o=>q.value=o),"active-text":e.unref(f)("workSchedule.currentMonth"),"active-value":"0","inactive-value":"-1"},null,8,["modelValue","active-text"])):e.createCommentVNode("",!0),e.createVNode(e.unref(F.ElSwitch),{modelValue:z.value,"onUpdate:modelValue":a[3]||(a[3]=o=>z.value=o),"active-text":i.$t("sheet.currentHeight"),"active-value":"100%","inactive-value":"calc(100vh - var(--el-component-size)*5 - var(--el-main-padding)*2 - var(--header-height))"},null,8,["modelValue","active-text"]),e.createVNode(e.unref(F.ElSwitch),{modelValue:$.value,"onUpdate:modelValue":a[4]||(a[4]=o=>$.value=o),"active-text":i.$t("sheet.simplified"),"active-value":"true","inactive-value":"false"},null,8,["modelValue","active-text"])]),e.createVNode(e.unref(F.ElTable),{id:"printTable",data:m.value,"span-method":Pe,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(f)("sheet.emptyText"),align:"center",onCellClick:Ve,"max-height":z.value,"default-sort":{prop:"mame",order:"descending"},class:"sheet-table"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.title",{name:k.value[0]})+e.unref(_)(R.value,"month"),align:"center",height:"10"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.employee"),width:$.value==="false"?180:i.auto,align:"center"},{default:e.withCtx(o=>[e.createTextVNode(e.toDisplayString(m.value[o.$index].name),1)]),_:1},8,["label","width"]),e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.personnelNumber"),align:"center",width:"108"},{default:e.withCtx(o=>[e.createTextVNode(e.toDisplayString(m.value[o.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.marks"),align:"center"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,o=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:o.day},[o.day<=15?(e.openBlock(),e.createBlock(e.unref(F.ElTableColumn),{key:0,width:"39","class-name":o.holidays+De(o.day),align:"center",label:o.day.toString()+`
|
|
6
6
|
`+o.weekday},{default:e.withCtx(y=>[e.createElementVNode("div",un,e.toDisplayString(Me(o.day,y.$index)||" "),1)]),_:2},1032,["class-name","label"])):e.createCommentVNode("",!0),o.day===15?(e.openBlock(),e.createBlock(e.unref(F.ElTableColumn),{key:1,label:e.unref(f)("sheet.halfMonth",{half:"I"}),align:"center",width:"120"},{default:e.withCtx(y=>[e.createTextVNode(e.toDisplayString(m.value[y.$index].key===0?m.value[y.$index].halfI:m.value[y.$index].hourI),1)]),_:1},8,["label"])):e.createCommentVNode("",!0),o.day>15?(e.openBlock(),e.createBlock(e.unref(F.ElTableColumn),{key:2,width:"39","class-name":o.holidays+De(o.day),align:"center",label:o.day.toString()+`
|
|
7
7
|
`+o.weekday},{default:e.withCtx(y=>[e.createElementVNode("div",dn,e.toDisplayString(Me(o.day,y.$index)||" "),1)]),_:2},1032,["class-name","label"])):e.createCommentVNode("",!0)],64))),128)),e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.halfMonth",{half:"II"}),align:"center",width:"120"},{default:e.withCtx(o=>[e.createTextVNode(e.toDisplayString(m.value[o.$index].key===0?m.value[o.$index].halfII:m.value[o.$index].hourII),1)]),_:1},8,["label"])]),_:1},8,["label"]),$.value==="false"?(e.openBlock(),e.createBlock(e.unref(F.ElTableColumn),{key:0,label:e.unref(f)("sheet.workedMonth"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.days"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(o=>[e.createTextVNode(e.toDisplayString(m.value[o.$index].contDays),1)]),_:1},8,["label"]),e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.hours"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.all"),align:"center","label-class-name":"turn",width:"40"},{default:e.withCtx(o=>[e.createTextVNode(e.toDisplayString(m.value[o.$index].contHour),1)]),_:1},8,["label"]),e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.overtime"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(o=>[e.createTextVNode(e.toDisplayString(m.value[o.$index].overtime),1)]),_:1},8,["label"]),e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.night"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(o=>[e.createTextVNode(e.toDisplayString(m.value[o.$index].night),1)]),_:1},8,["label"]),e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.weekend"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(o=>[e.createTextVNode(e.toDisplayString(m.value[o.$index].weekend),1)]),_:1},8,["label"])]),_:1},8,["label"])]),_:1},8,["label"])):e.createCommentVNode("",!0),$.value==="false"?(e.openBlock(),e.createBlock(e.unref(F.ElTableColumn),{key:1,label:e.unref(f)("sheet.numberNonAppearing"),align:"center"},{default:e.withCtx(o=>{var y;return[e.createTextVNode(e.toDisplayString((y=m.value[o.$index])==null?void 0:y.numberNonAppearing[m.value[o.$index].key]),1)]}),_:1},8,["label"])):e.createCommentVNode("",!0),$.value==="false"?(e.openBlock(),e.createBlock(e.unref(F.ElTableColumn),{key:2,label:e.unref(f)("sheet.them"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.code"),align:"center","label-class-name":"turn",width:"30"},{default:e.withCtx(o=>{var y;return[e.createTextVNode(e.toDisplayString((y=m.value[o.$index].appearing)==null?void 0:y.code),1)]}),_:1},8,["label"]),e.createVNode(e.unref(F.ElTableColumn),{label:e.unref(f)("sheet.count"),align:"center","label-class-name":"turn",width:"30"},{default:e.withCtx(o=>{var y;return[e.createTextVNode(e.toDisplayString((y=m.value[o.$index].appearing)==null?void 0:y.count),1)]}),_:1},8,["label"])]),_:1},8,["label"])):e.createCommentVNode("",!0),$.value==="false"?(e.openBlock(),e.createBlock(e.unref(F.ElTableColumn),{key:3,label:e.unref(f)("sheet.countWeekend"),align:"center"},{default:e.withCtx(o=>[e.createTextVNode(e.toDisplayString(m.value[o.$index].weekendDays),1)]),_:1},8,["label"])):e.createCommentVNode("",!0)]),_:1},8,["label"])]),_:1},8,["data","empty-text","max-height"]),e.withDirectives((e.openBlock(),e.createBlock(e.unref(F.ElButton),{disabled:ie.value,plain:"",onClick:Be,style:{"margin-top":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("workSchedule.exportExcel")),1)]),_:1},8,["disabled"])),[[u,ie.value]]),e.createVNode(e.unref(F.ElDialog),{title:e.unref(f)("workSchedule.jobTitle"),modelValue:be.value,"onUpdate:modelValue":a[7]||(a[7]=o=>be.value=o),width:"400px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(F.ElButton),{onClick:a[5]||(a[5]=o=>be.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(F.ElButton),{size:"default",type:"primary",onClick:a[6]||(a[6]=o=>{$e(),be.value=!1})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(F.ElForm),{ref:"dialogForm",model:Q.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Q.value,o=>(e.openBlock(),e.createBlock(D,null,{default:e.withCtx(()=>[e.createVNode(e.unref(F.ElSwitch),{modelValue:o.val,"onUpdate:modelValue":y=>o.val=y,"active-text":o.activeText},null,8,["modelValue","onUpdate:modelValue","active-text"])]),_:2},1024))),256))]),_:1},8,["model"])]),_:1},8,["title","modelValue"]),e.createVNode(e.unref(Ie.ContextMenu),{show:fe.value,"onUpdate:show":a[17]||(a[17]=o=>fe.value=o),options:ge.value},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"mx-context-menu-item",onClick:a[8]||(a[8]=o=>fe.value=!1)},[e.createElementVNode("span",cn,e.toDisplayString(g.value.name),1),a[21]||(a[21]=e.createElementVNode("div",{class:"expander"},null,-1)),e.createVNode(c,{"icon-class":"cross"})]),e.createVNode(e.unref(Ie.ContextMenuSeparator)),e.createElementVNode("div",null,[e.createElementVNode("div",null,[e.createVNode(e.unref(Ie.ContextMenuGroup),{label:Ce.value,style:{padding:"0 0 .5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ne.value,o=>(e.openBlock(),e.createBlock(e.unref(Ie.ContextMenuItem),{key:o.value,label:o.label,onClick:y=>{g.value.rest=!0,A.value=!1,Ne(o.value)},clickClose:!1},null,8,["label","onClick"]))),128))]),_:1},8,["label"])]),/^(РВ|Я|Н(?![Н])).*$/.test(g.value.failure)?(e.openBlock(),e.createElementBlock("div",fn,[e.createVNode(e.unref(Ie.ContextMenuItem),{clickClose:!1},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(f)("workSchedule.with"))+":",1)]),_:1}),e.createVNode(w,{modelValue:B.value,"onUpdate:modelValue":a[9]||(a[9]=o=>B.value=o),step:1,min:0,max:23,style:{width:"100%"}},null,8,["modelValue"]),e.createVNode(e.unref(Ie.ContextMenuItem),{clickClose:!1},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(f)("workSchedule.duration"))+":",1)]),_:1}),e.createVNode(w,{modelValue:C.value,"onUpdate:modelValue":a[10]||(a[10]=o=>C.value=o),step:1,min:1,max:e.unref(T.clamp)(/^РВ.*$/.test(g.value.failure)?23-B.value:g.value.limit,1,22)},null,8,["modelValue","max"])])):e.createCommentVNode("",!0),/^(|К|КВ|ОТ|Б|Р|ОЖ|У|ДО|УД|Г)$/.test(g.value.failure)?(e.openBlock(),e.createElementBlock("div",hn,[e.createVNode(e.unref(Ie.ContextMenuItem),{clickClose:!1},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(f)("sheet.count"))+":",1)]),_:1}),e.createVNode(w,{modelValue:ye.value,"onUpdate:modelValue":a[11]||(a[11]=o=>ye.value=o),step:1,min:1,max:d.value.length-g.value.day,style:{width:"100%"}},null,8,["modelValue","max"])])):e.createCommentVNode("",!0),e.createVNode(e.unref(Ie.ContextMenuItem),{class:"wrap"},{default:e.withCtx(()=>[g.value.rest?(e.openBlock(),e.createBlock(e.unref(F.ElButton),{key:0,onClick:a[12]||(a[12]=o=>Ne("reset"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("sheet.reset")),1)]),_:1})):e.createCommentVNode("",!0),A.value?(e.openBlock(),e.createBlock(e.unref(F.ElButton),{key:1,onClick:a[13]||(a[13]=o=>Ne("save"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("sheet.save")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(F.ElButton),{onClick:a[14]||(a[14]=o=>fe.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("sheet.cancel")),1)]),_:1}),re.value?(e.openBlock(),e.createBlock(e.unref(F.ElButton),{key:2,onClick:a[15]||(a[15]=o=>qe()),popovertarget:"my-service"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("sheet.service")),1)]),_:1})):e.createCommentVNode("",!0),re.value?(e.openBlock(),e.createBlock(e.unref(F.ElButton),{key:3,onClick:a[16]||(a[16]=o=>Ae()),popovertarget:"my-service"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)("sheet.consent")),1)]),_:1})):e.createCommentVNode("",!0)]),_:1})])]),_:1},8,["show","options"]),e.createElementVNode("div",{id:"my-service",class:"sw-popover",popover:"",ref_key:"myService",ref:Se},[a[22]||(a[22]=e.createElementVNode("header",null,"Служебная записка",-1)),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.editor),{modelValue:we.value,"onUpdate:modelValue":a[18]||(a[18]=o=>we.value=o)},null,8,["modelValue"])),e.createElementVNode("footer",null,[e.createVNode(e.unref(F.ElButton),{onClick:a[19]||(a[19]=o=>Se.value.hidePopover()),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("calendar.cancel")),1)]),_:1}),e.createVNode(e.unref(F.ElButton),{type:"success",plain:"",onClick:Qe},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("calendar.save")),1)]),_:1})])],512)],64)}}};module.exports=gn;
|
package/dist/SheetTable.js
CHANGED
|
@@ -64,7 +64,7 @@ function Un() {
|
|
|
64
64
|
else if (window) window.petrovich = h;
|
|
65
65
|
else throw new Error("Unknown environment");
|
|
66
66
|
function M(u, O, B, _) {
|
|
67
|
-
for (var j =
|
|
67
|
+
for (var j = P[_], re = O.split("-"), U = [], fe = 0; fe < re.length; fe++) {
|
|
68
68
|
var L = re[fe], C = fe === 0 && re.size > 1, w = ve(
|
|
69
69
|
u,
|
|
70
70
|
L,
|
|
@@ -141,7 +141,7 @@ function Un() {
|
|
|
141
141
|
}
|
|
142
142
|
return u;
|
|
143
143
|
}
|
|
144
|
-
var
|
|
144
|
+
var P = {
|
|
145
145
|
lastname: {
|
|
146
146
|
exceptions: [
|
|
147
147
|
{
|
|
@@ -1419,7 +1419,7 @@ function Wn() {
|
|
|
1419
1419
|
return e === 1 ? 2 : e === 2 ? 1 : e;
|
|
1420
1420
|
}
|
|
1421
1421
|
}
|
|
1422
|
-
function
|
|
1422
|
+
function P(l) {
|
|
1423
1423
|
const e = l.lower().includes("ё") & 1;
|
|
1424
1424
|
return ((l._flags & 65535) << 1 | e) * 4294967296 + l._hash;
|
|
1425
1425
|
}
|
|
@@ -1956,7 +1956,7 @@ function Wn() {
|
|
|
1956
1956
|
"водоток",
|
|
1957
1957
|
"воток",
|
|
1958
1958
|
"знаток"
|
|
1959
|
-
],
|
|
1959
|
+
], Re = [
|
|
1960
1960
|
"инок",
|
|
1961
1961
|
"исток",
|
|
1962
1962
|
"обморок",
|
|
@@ -1966,7 +1966,7 @@ function Wn() {
|
|
|
1966
1966
|
"урок"
|
|
1967
1967
|
], Ge = new Set("клей,чай,дом,дух,дым,дымок,газ,год,горошек,жар,жир,квас,пар,пыл,род,рост,сахар,свет,сироп,смех,снег,снежок,сок,сор,спор,срок,соус,спирт,страх,суп,сыр,табак,творог,толк,торф,туман,убыток,укроп,уксус,ход,цемент,чеснок,шаг,шик,шиповник,шоколад,шорох,шум,яд".split(",")), Je = new Uint8ClampedArray(256);
|
|
1968
1968
|
Ge.forEach((l) => Ae(Je, he(Se(l))));
|
|
1969
|
-
const
|
|
1969
|
+
const Pe = f([
|
|
1970
1970
|
"ое",
|
|
1971
1971
|
"нький",
|
|
1972
1972
|
"ский",
|
|
@@ -2225,13 +2225,13 @@ function Wn() {
|
|
|
2225
2225
|
return V[0][1];
|
|
2226
2226
|
};
|
|
2227
2227
|
this.put = function(y, x) {
|
|
2228
|
-
const V = x.split("-"), W = (
|
|
2228
|
+
const V = x.split("-"), W = (R, Y) => R.length !== Y || R.split("").some((G) => !"SsbeE".includes(G));
|
|
2229
2229
|
if (V.length !== 2 || W(V[0], 7) || W(V[1], 6))
|
|
2230
2230
|
throw new Error("Bad settings format.");
|
|
2231
2231
|
const H = ne.create(y), oe = n(H);
|
|
2232
2232
|
let F = e.get(oe);
|
|
2233
2233
|
F instanceof Array || (F = [], e.set(oe, F));
|
|
2234
|
-
const me = H._flags & 65535 | t(H) << 16, D = F.find((
|
|
2234
|
+
const me = H._flags & 65535 | t(H) << 16, D = F.find((R) => me === R[0]);
|
|
2235
2235
|
D ? D[1] = x : F.push([me, x]), Ae(a, he(H._hash));
|
|
2236
2236
|
};
|
|
2237
2237
|
const I = (y) => {
|
|
@@ -2329,7 +2329,7 @@ function Wn() {
|
|
|
2329
2329
|
getLocativeForms(e) {
|
|
2330
2330
|
const a = this, n = ne.create(e), t = n.getDeclension();
|
|
2331
2331
|
if (t && t >= 0) {
|
|
2332
|
-
const S = pe.get(
|
|
2332
|
+
const S = pe.get(P(n));
|
|
2333
2333
|
if (S instanceof Array)
|
|
2334
2334
|
return S.map((E) => new se.LocativeForm(
|
|
2335
2335
|
Q(E),
|
|
@@ -2417,9 +2417,9 @@ function Wn() {
|
|
|
2417
2417
|
function n(x, V, W, H, oe) {
|
|
2418
2418
|
const F = H.split(","), me = oe instanceof Array ? oe : [i.U_SUFFIX];
|
|
2419
2419
|
for (let D of F) {
|
|
2420
|
-
const
|
|
2421
|
-
|
|
2422
|
-
const Y =
|
|
2420
|
+
const R = Object.assign({}, x);
|
|
2421
|
+
R.text = D;
|
|
2422
|
+
const Y = P(ne.create(R));
|
|
2423
2423
|
let G = l.get(Y);
|
|
2424
2424
|
G || (G = [], l.set(Y, G));
|
|
2425
2425
|
for (let Oe of W)
|
|
@@ -2547,7 +2547,7 @@ function Wn() {
|
|
|
2547
2547
|
} else return _(C(n)) && C(n) !== "и" ? _(C(g(n))) ? w(l, 2) + "й" : N(e.lower(), ["месяц"]) ? a : w(l, 2) : a;
|
|
2548
2548
|
}
|
|
2549
2549
|
function Be(l) {
|
|
2550
|
-
return N(l, ["чек", "шек"]) && l.length >= 6 || $(l, He) || l.endsWith("ок") && !l.endsWith("шок") && !
|
|
2550
|
+
return N(l, ["чек", "шек"]) && l.length >= 6 || $(l, He) || l.endsWith("ок") && !l.endsWith("шок") && !Re.includes(l) && !N(l, gt) && !_(le(l, 2)) && (_(le(l, 3)) || N(w(l, 2), ["ст", "рт"])) && l.length >= 4;
|
|
2551
2551
|
}
|
|
2552
2552
|
const Et = (l) => C(l) === "ь" && !l.endsWith("господь") || "её".includes(C(l)) && !N(l, ["це", "же"]);
|
|
2553
2553
|
function xt(l) {
|
|
@@ -2606,8 +2606,8 @@ function Wn() {
|
|
|
2606
2606
|
V && (y = "полу" + y.substring(3), x = "полу" + x.substring(3));
|
|
2607
2607
|
let W = ve(y);
|
|
2608
2608
|
const H = () => V && t.endsWith("я") || Et(t), oe = $(t, nn), F = () => $(t, ln) ? g(x) + U("ь", C(x)) : x, me = () => "чщ".includes(C(W));
|
|
2609
|
-
function D(
|
|
2610
|
-
return !e.isAnimate() && _e(Je, he(e._hash)) && Ge.has(t) && (S === "й" ?
|
|
2609
|
+
function D(R) {
|
|
2610
|
+
return !e.isAnimate() && _e(Je, he(e._hash)) && Ge.has(t) && (S === "й" ? R.push(g(n) + U("ю", C(n))) : R = R.concat(be(I, y, (Y) => Y + U("у", C(Y))))), R;
|
|
2611
2611
|
}
|
|
2612
2612
|
switch (a) {
|
|
2613
2613
|
case b.NOMINATIVE:
|
|
@@ -2621,7 +2621,7 @@ function Wn() {
|
|
|
2621
2621
|
break;
|
|
2622
2622
|
case "й":
|
|
2623
2623
|
case "е":
|
|
2624
|
-
if (oe && e.isASurname() || T(e, t) || $(t,
|
|
2624
|
+
if (oe && e.isASurname() || T(e, t) || $(t, Pe))
|
|
2625
2625
|
return y + "ого";
|
|
2626
2626
|
if ($(t, Fe) || t.endsWith("ее"))
|
|
2627
2627
|
return y + "его";
|
|
@@ -2645,8 +2645,8 @@ function Wn() {
|
|
|
2645
2645
|
return x + "и";
|
|
2646
2646
|
break;
|
|
2647
2647
|
}
|
|
2648
|
-
let
|
|
2649
|
-
return e.isASurname() || W.indexOf("ё") === -1 ?
|
|
2648
|
+
let R;
|
|
2649
|
+
return e.isASurname() || W.indexOf("ё") === -1 ? R = [y + "а"] : R = be(I, y, (G) => G + "а"), D(R);
|
|
2650
2650
|
case b.DATIVE:
|
|
2651
2651
|
switch (S) {
|
|
2652
2652
|
case "и":
|
|
@@ -2656,7 +2656,7 @@ function Wn() {
|
|
|
2656
2656
|
break;
|
|
2657
2657
|
case "й":
|
|
2658
2658
|
case "е":
|
|
2659
|
-
if (oe && e.isASurname() || T(e, t) || $(t,
|
|
2659
|
+
if (oe && e.isASurname() || T(e, t) || $(t, Pe))
|
|
2660
2660
|
return y + "ому";
|
|
2661
2661
|
if ($(t, Fe) || t.endsWith("ее"))
|
|
2662
2662
|
return y + "ему";
|
|
@@ -2717,7 +2717,7 @@ function Wn() {
|
|
|
2717
2717
|
case b.LOCATIVE:
|
|
2718
2718
|
if (t === "полпути")
|
|
2719
2719
|
return n;
|
|
2720
|
-
const Y = pe.get(
|
|
2720
|
+
const Y = pe.get(P(e));
|
|
2721
2721
|
if (Y)
|
|
2722
2722
|
return De(Y.map((Oe) => ie(Oe))).map((Oe) => Ot(l, e, Oe));
|
|
2723
2723
|
// Fall through
|
|
@@ -2735,7 +2735,7 @@ function Wn() {
|
|
|
2735
2735
|
case "ё":
|
|
2736
2736
|
case "я":
|
|
2737
2737
|
case "ь":
|
|
2738
|
-
if (oe && e.isASurname() || T(e, t) || $(t,
|
|
2738
|
+
if (oe && e.isASurname() || T(e, t) || $(t, Pe))
|
|
2739
2739
|
return y + "ом";
|
|
2740
2740
|
if ($(t, Fe) || t.endsWith("ее"))
|
|
2741
2741
|
return y + "ем";
|
|
@@ -3092,14 +3092,14 @@ function Wn() {
|
|
|
3092
3092
|
if (t.endsWith("яя"))
|
|
3093
3093
|
return a.push(w(n, 2) + "ие"), De(a);
|
|
3094
3094
|
const y = (D) => {
|
|
3095
|
-
const
|
|
3096
|
-
return
|
|
3095
|
+
const R = l.sd.hasStressedEndingPlural(e, b.NOMINATIVE).map((Y) => !Y);
|
|
3096
|
+
return R.length ? R.map(
|
|
3097
3097
|
(Y) => Y ? Ke(I) ? D(Ie(E)) : D(E) : D(ye(E))
|
|
3098
3098
|
) : [D(E)];
|
|
3099
3099
|
}, x = e.getGender(), V = e.getDeclension(), W = (C(t) === "й" || _(C(n))) && _(C(g(n))) ? g(n) : E, H = () => (t.endsWith("евич") || t.endsWith("евна")) && t.indexOf("ье") >= 0;
|
|
3100
3100
|
function oe() {
|
|
3101
|
-
const D = W,
|
|
3102
|
-
return D.substring(0,
|
|
3101
|
+
const D = W, R = ve(D).indexOf("ье"), Y = U("и", D[R]);
|
|
3102
|
+
return D.substring(0, R) + Y + D.substring(R + 1);
|
|
3103
3103
|
}
|
|
3104
3104
|
function F() {
|
|
3105
3105
|
O(60818504, C(I)) || "яйь".includes(C(t)) || N(t, ["сосед"]) ? H() ? (a.push(oe() + "и"), a.push(W + "и")) : Array.prototype.push.apply(
|
|
@@ -3111,10 +3111,10 @@ function Wn() {
|
|
|
3111
3111
|
);
|
|
3112
3112
|
}
|
|
3113
3113
|
if (_e($t, he(e._hash)))
|
|
3114
|
-
for (const [D,
|
|
3114
|
+
for (const [D, R] of Dt) {
|
|
3115
3115
|
const Y = D[0], G = D[1];
|
|
3116
|
-
if (x === Y && (G == null || G === e.isAnimate()) &&
|
|
3117
|
-
const Oe =
|
|
3116
|
+
if (x === Y && (G == null || G === e.isAnimate()) && R.hasOwnProperty(t)) {
|
|
3117
|
+
const Oe = R[t];
|
|
3118
3118
|
for (let wt of Oe)
|
|
3119
3119
|
a.push(wt);
|
|
3120
3120
|
return De(a);
|
|
@@ -3147,14 +3147,14 @@ function Wn() {
|
|
|
3147
3147
|
"учитель",
|
|
3148
3148
|
"флигель",
|
|
3149
3149
|
"штабель"
|
|
3150
|
-
],
|
|
3150
|
+
], R = [
|
|
3151
3151
|
"клин",
|
|
3152
3152
|
"колос",
|
|
3153
3153
|
"ком",
|
|
3154
3154
|
"край",
|
|
3155
3155
|
"соболь"
|
|
3156
3156
|
];
|
|
3157
|
-
t === "сын" ? (a.push("сыновья"), F()) : t === "человек" ? (a.push("люди"), F()) : D.includes(t) || t === "соболь" && e.isAnimate() ? (F(), a.push(me + "я")) :
|
|
3157
|
+
t === "сын" ? (a.push("сыновья"), F()) : t === "человек" ? (a.push("люди"), F()) : D.includes(t) || t === "соболь" && e.isAnimate() ? (F(), a.push(me + "я")) : R.includes(t) ? a.push(me + "я") : un.has(t) || $(t, dn) || _t.has(t) || kt.has(t) ? (kt.has(t) && F(), Et(t) ? Array.prototype.push.apply(a, y((Y) => Y + "я")) : S.includes(!0) ? a.push(ye(E) + "а") : a.push(E + "а"), _t.has(t) && F()) : (t.endsWith("анин") && t.length > 5 || t.endsWith("янин")) && !e.isAName() || ["барин", "боярин"].includes(t) ? (a.push(w(n, 2) + "е"), t === "барин" && a.push(w(n, 2) + "ы")) : ["цыган"].includes(t) ? a.push(n + "е") : t === "щенок" ? (a.push(w(n, 2) + "ки"), a.push(w(n, 2) + "ята")) : (t.endsWith("ребёнок") || t.endsWith("ребенок")) && !(t.endsWith("жеребёнок") || t.endsWith("жеребенок")) && !(t.endsWith("ястребёнок") || t.endsWith("ястребенок")) ? a.push(w(n, 7) + "дети") : (t.endsWith("ёнок") || t.endsWith("енок")) && e.isAnimate() ? a.push(w(n, 4) + "ята") : t.endsWith("ёночек") && e.isAnimate() ? a.push(w(n, 6) + "ятки") : t.endsWith("онок") && "жшч".includes(le(t, 4)) && e.isAnimate() ? a.push(w(n, 4) + "ата") : Be(t) ? a.push(w(n, 2) + "ки") : $(t, Fe) ? N(t, Xe) ? a.push(w(n, 2) + "ьи") : a.push(g(n) + "е") : T(e, t) ? t.endsWith("ый") || t.endsWith("ий") ? a.push(g(n) + "е") : t.endsWith("ой") && !N(t, ["хой", "ской"]) ? a.push(w(n, 2) + "ые") : a.push(w(n, 2) + "ие") : t.endsWith("его") ? a.push(w(n, 3) + "ие") : [
|
|
3158
3158
|
"воробей",
|
|
3159
3159
|
"муравей",
|
|
3160
3160
|
"ручей",
|
|
@@ -3180,7 +3180,7 @@ function Wn() {
|
|
|
3180
3180
|
else if (N(t, ["ие", "иё"]))
|
|
3181
3181
|
a.push(w(n, 2) + "ия");
|
|
3182
3182
|
else if (N(t, ["ье", "ьё"])) {
|
|
3183
|
-
const D = w(n, 2),
|
|
3183
|
+
const D = w(n, 2), R = [
|
|
3184
3184
|
"безделье",
|
|
3185
3185
|
"варенье",
|
|
3186
3186
|
"воскресенье",
|
|
@@ -3213,7 +3213,7 @@ function Wn() {
|
|
|
3213
3213
|
"угодье",
|
|
3214
3214
|
"устье"
|
|
3215
3215
|
].includes(t);
|
|
3216
|
-
C(t) === "е" && !
|
|
3216
|
+
C(t) === "е" && !R && a.push(D + "ия"), a.push(D + "ья");
|
|
3217
3217
|
} else N(t, [
|
|
3218
3218
|
"дерево",
|
|
3219
3219
|
"звено",
|
|
@@ -3466,7 +3466,7 @@ function Wn() {
|
|
|
3466
3466
|
"рельсы"
|
|
3467
3467
|
]), ot = new Uint8ClampedArray(256);
|
|
3468
3468
|
Vt.forEach((l) => Ae(ot, Te(l))), Wt.forEach((l) => Ae(ot, Te(l))), Ft.forEach((l) => Ae(ot, Te(l)));
|
|
3469
|
-
const
|
|
3469
|
+
const Rt = new Set(Ut.concat([
|
|
3470
3470
|
"абазины",
|
|
3471
3471
|
"авы",
|
|
3472
3472
|
"аввы",
|
|
@@ -3561,8 +3561,8 @@ function Wn() {
|
|
|
3561
3561
|
"узы",
|
|
3562
3562
|
"хлопоты",
|
|
3563
3563
|
"шахматы"
|
|
3564
|
-
])),
|
|
3565
|
-
|
|
3564
|
+
])), Pt = new Uint8ClampedArray(256);
|
|
3565
|
+
Rt.forEach((l) => Ae(Pt, Te(l)));
|
|
3566
3566
|
const ut = [
|
|
3567
3567
|
"х",
|
|
3568
3568
|
"ых",
|
|
@@ -3718,11 +3718,11 @@ function Wn() {
|
|
|
3718
3718
|
return $(t, Mt) ? g(n) + dt[F] : l.sd.hasStressedEndingPlural(e, a).includes(!0) ? ye(x) + dt[F + 1] : x + dt[F + 1];
|
|
3719
3719
|
} else {
|
|
3720
3720
|
const oe = e.getDeclension(), F = () => {
|
|
3721
|
-
const D = ve(x),
|
|
3722
|
-
if (N(D, ["кн", "кл", "дк", "нк", "пк", "зк", "рк", "тк", "вк", "лк", "мк"]) && !N(t, ["сумерки"]) || D === "зл" || N(t,
|
|
3721
|
+
const D = ve(x), R = ["жки", "шки", "чки", "ножны"];
|
|
3722
|
+
if (N(D, ["кн", "кл", "дк", "нк", "пк", "зк", "рк", "тк", "вк", "лк", "мк"]) && !N(t, ["сумерки"]) || D === "зл" || N(t, R) && l.sd.hasStressedEndingPlural(e, a).includes(!0)) {
|
|
3723
3723
|
const Y = C(x);
|
|
3724
3724
|
return g(x) + U("о", Y) + Y;
|
|
3725
|
-
} else if ($(t, gn) && !t.endsWith("недра") || N(t,
|
|
3725
|
+
} else if ($(t, gn) && !t.endsWith("недра") || N(t, R)) {
|
|
3726
3726
|
const Y = le(n, 1);
|
|
3727
3727
|
return w(n, 2) + U("е", Y) + Y;
|
|
3728
3728
|
} else if (N(t, [
|
|
@@ -3745,20 +3745,20 @@ function Wn() {
|
|
|
3745
3745
|
}
|
|
3746
3746
|
const me = le(t, 2);
|
|
3747
3747
|
if (M.FEMININE !== y) {
|
|
3748
|
-
const D = Te(t),
|
|
3749
|
-
if (
|
|
3748
|
+
const D = Te(t), R = _e(ot, D);
|
|
3749
|
+
if (R && Vt.has(t))
|
|
3750
3750
|
return g(n) + "ов";
|
|
3751
|
-
if (
|
|
3751
|
+
if (R && Wt.has(t) && !e.isAName())
|
|
3752
3752
|
return [
|
|
3753
3753
|
F(),
|
|
3754
3754
|
g(n) + "ов"
|
|
3755
3755
|
];
|
|
3756
|
-
if (
|
|
3756
|
+
if (R && Ft.has(t))
|
|
3757
3757
|
return [
|
|
3758
3758
|
g(n) + "ов",
|
|
3759
3759
|
F()
|
|
3760
3760
|
];
|
|
3761
|
-
if (y === M.COMMON && !N(t, Ct) && !"жшч".includes(me) || _e(
|
|
3761
|
+
if (y === M.COMMON && !N(t, Ct) && !"жшч".includes(me) || _e(Pt, D) && Rt.has(t) || e.isAName() && y === M.MASCULINE && e.lower().endsWith("а") || e.lower() === "барин")
|
|
3762
3762
|
return F();
|
|
3763
3763
|
switch (S) {
|
|
3764
3764
|
case "и":
|
|
@@ -3828,7 +3828,7 @@ function Wn() {
|
|
|
3828
3828
|
}(ht)), ht.exports;
|
|
3829
3829
|
}
|
|
3830
3830
|
var Fn = Wn();
|
|
3831
|
-
const tt = /* @__PURE__ */ Kt(Fn),
|
|
3831
|
+
const tt = /* @__PURE__ */ Kt(Fn), Rn = { class: "nav" }, Pn = { style: { height: "20px", width: "100%", display: "inline-block" } }, zn = { style: { height: "20px", width: "100%", display: "inline-block" } }, Bn = { class: "label" }, Yn = {
|
|
3832
3832
|
key: 0,
|
|
3833
3833
|
style: { padding: "0 1rem .5rem" }
|
|
3834
3834
|
}, jn = {
|
|
@@ -3847,7 +3847,7 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
3847
3847
|
editor: { type: Object, default: () => ({}) }
|
|
3848
3848
|
},
|
|
3849
3849
|
setup(ge) {
|
|
3850
|
-
const K = new tt.Engine(), b = ge, { t: h, d: M } = An(), ve = J(!1), Z = J([]), ne = J("0"),
|
|
3850
|
+
const K = new tt.Engine(), b = ge, { t: h, d: M } = An(), ve = J(!1), Z = J([]), ne = J("0"), P = J(new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1).setMonth((/* @__PURE__ */ new Date()).getMonth() + Number(ne.value))), u = J([]), O = J([]), B = J("100%"), _ = J("true"), j = J([]), re = J([
|
|
3851
3851
|
{ value: "Я", label: h("sheet.valid.1") },
|
|
3852
3852
|
{ value: "К", label: h("sheet.valid.2") },
|
|
3853
3853
|
{ value: "ОТ", label: h("sheet.valid.3") },
|
|
@@ -3886,7 +3886,7 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
3886
3886
|
r.includes(T.divisionName) && (le.value.some((d) => (d == null ? void 0 : d.activeText) === T.roleName) || le.value.push({ val: !0, activeText: T.roleName }));
|
|
3887
3887
|
}), He());
|
|
3888
3888
|
}), qe(ne, (r) => {
|
|
3889
|
-
|
|
3889
|
+
P.value = new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1).setMonth((/* @__PURE__ */ new Date()).getMonth() + Number(r)), lt(), He();
|
|
3890
3890
|
}), qe(C, () => N.value = Se.value), qe(L, () => N.value = Se.value), qe(Te, () => N.value = Se.value);
|
|
3891
3891
|
const je = async (r, s, T, d) => {
|
|
3892
3892
|
var ie, Q, Ce, pe;
|
|
@@ -3896,7 +3896,7 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
3896
3896
|
if (f.value.day > 0)
|
|
3897
3897
|
A[0] = ((ie = p.value[r.ids * 2].days[f.value.day - 1]) == null ? void 0 : ie.overtime) ?? 0;
|
|
3898
3898
|
else {
|
|
3899
|
-
const se = ce(new Date(
|
|
3899
|
+
const se = ce(new Date(P.value).setDate(0), "{Y}-{m}-{dd}"), Ne = await b.workSchedule.getWorkSheet({ code: r.code, date: se });
|
|
3900
3900
|
if (Ne[0] !== null) {
|
|
3901
3901
|
const c = Ne[0].data.days.find((Ie) => Ie.day === se);
|
|
3902
3902
|
A[0] = (c == null ? void 0 : c.overtime) ?? 0;
|
|
@@ -3906,7 +3906,7 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
3906
3906
|
if (f.value.day < u.value.length - 1)
|
|
3907
3907
|
A[1] = ((Q = p.value[r.ids * 2].days[f.value.day + 1]) == null ? void 0 : Q.overtime) ?? 0;
|
|
3908
3908
|
else {
|
|
3909
|
-
const se = ce(new Date(
|
|
3909
|
+
const se = ce(new Date(P.value).setDate(u.value.length), "{Y}-{m}-{dd}"), Ne = await b.workSchedule.getWorkSheet({ code: r.code, date: se });
|
|
3910
3910
|
if (Ne[0] !== null) {
|
|
3911
3911
|
const c = Ne[0].data.days.find((Ie) => Ie.day === se);
|
|
3912
3912
|
A[1] = (c == null ? void 0 : c.overtime) ?? 0;
|
|
@@ -3914,12 +3914,12 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
3914
3914
|
A[1] = 0;
|
|
3915
3915
|
}
|
|
3916
3916
|
console.log(A), f.value.limit = Z.value[r.ids].days[f.value.day].time + 4 - jt(A[0], A[1], 4);
|
|
3917
|
-
const o = new Date(
|
|
3917
|
+
const o = new Date(P.value), i = `${o.getFullYear()}-${(o.getMonth() + 1).toString().padStart(2, "0")}-${(f.value.day + 1).toString().padStart(2, "0")}`, m = $.value.findIndex((se) => se.code === r.code);
|
|
3918
3918
|
f.value.id = m !== -1 ? $.value[m].days.findIndex((se) => (se == null ? void 0 : se.day) === i) : m, L.value = typeof r.days[f.value.day].tips > "u" ? 9 : parseInt(r.days[f.value.day].tips.match(/(\d{1,2})/)), w.value = parseInt(((Ce = r.days[f.value.day]) == null ? void 0 : Ce.night) ?? 0), g.value = parseInt(((pe = r.days[f.value.day]) == null ? void 0 : pe.overtime) ?? 0), C.value = r.days[f.value.day].time !== "-" ? parseInt(r.days[f.value.day].time) : 8;
|
|
3919
3919
|
const q = r.days.findIndex((se) => se.day === i);
|
|
3920
3920
|
f.value.failure = r.days[q].state, Ae.value.y = d.clientY, Ae.value.x = d.clientX, f.value.rest = m !== -1 && f.value.id !== -1, f.value.name = We(r.fio), Se.value = !0, await wn(), N.value = !1;
|
|
3921
3921
|
}, Le = (r) => {
|
|
3922
|
-
const s = new Date(
|
|
3922
|
+
const s = new Date(P.value), T = `${s.getFullYear()}-${(s.getMonth() + 1).toString().padStart(2, "0")}-${(f.value.day + 1).toString().padStart(2, "0")}`;
|
|
3923
3923
|
let d = $.value.findIndex((Q) => Q.code === Z.value[f.value.ids].code);
|
|
3924
3924
|
f.value.id = d !== -1 ? $.value[d].days.findIndex((Q) => (Q == null ? void 0 : Q.day) === `${s.getFullYear()}-${(s.getMonth() + 1).toString().padStart(2, "0")}-${(f.value.day + 1).toString().padStart(2, "0")}`) : d;
|
|
3925
3925
|
let A = Z.value[f.value.ids].days[f.value.day].state, o = r, i = "-", m, q, ie;
|
|
@@ -3936,7 +3936,7 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
3936
3936
|
o = Q[1], N.value = !1, Q[2] !== "" && (i = C.value, ie = "(" + Q[2].split("(")[1], m = w.value, q = g.value);
|
|
3937
3937
|
}
|
|
3938
3938
|
r === "reset" ? (o = A, $.value[d].days.splice(f.value.id, 1)) : d === -1 ? $.value.push({ code: Z.value[f.value.ids].code, days: [{ day: T, state: o, time: i, night: m, overtime: q, tips: ie }] }) : f.value.id === -1 ? $.value[d].days.push({ day: T, state: o, time: i, night: m, overtime: q, tips: ie }) : $.value[d].days[f.value.id] = { day: T, state: o, time: i, night: m, overtime: q, tips: ie }, d = $.value.findIndex((Q) => Q.code === Z.value[f.value.ids].code), b.workSchedule.addWorkSheet({
|
|
3939
|
-
date: ce(new Date(
|
|
3939
|
+
date: ce(new Date(P.value), "{Y}-{m}-{dd}"),
|
|
3940
3940
|
data: [{
|
|
3941
3941
|
name: Z.value[f.value.ids].fio,
|
|
3942
3942
|
days: $.value[d].days,
|
|
@@ -3961,7 +3961,7 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
3961
3961
|
colspan: 0
|
|
3962
3962
|
};
|
|
3963
3963
|
}, lt = () => {
|
|
3964
|
-
const r = new Date(
|
|
3964
|
+
const r = new Date(P.value), s = new Date(r.getFullYear(), r.getMonth() + 1, 0).getDate();
|
|
3965
3965
|
let T = [], d = 0;
|
|
3966
3966
|
for (let A = 1; A <= s; A++) {
|
|
3967
3967
|
const o = ce(r.setDate(A), "{Y}-{m}-{dd}");
|
|
@@ -3972,12 +3972,12 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
3972
3972
|
return fe.value = d, u.value = T, b.odata.getPersonal({ dismissed: "false" }).then((A) => {
|
|
3973
3973
|
var o;
|
|
3974
3974
|
O.value.length === 0 && (O.value = [(o = A.find((i) => i.employeeName === b.fullName && i.dismissalDate.length === 0)) == null ? void 0 : o.divisionName]), A.forEach((i) => {
|
|
3975
|
-
j.value.some((m) => i.dismissalDate.length > 0 && new Date(i.dismissalDate) < new Date(
|
|
3975
|
+
j.value.some((m) => i.dismissalDate.length > 0 && new Date(i.dismissalDate) < new Date(P.value) || (m == null ? void 0 : m.value) === i.divisionName) || j.value.push({ value: i.divisionName, label: i.divisionName, key: i.divisionName });
|
|
3976
3976
|
});
|
|
3977
3977
|
}), !0;
|
|
3978
3978
|
}, He = () => {
|
|
3979
3979
|
Z.value = [], be.value = [], ye.value = [], b.odata.personal.forEach((r) => {
|
|
3980
|
-
if (O.value.includes(r.divisionName) && le.value.some((s) => s.val && s.activeText === r.roleName) && (r.dismissalDate.length === 0 || new Date(r.dismissalDate) > new Date(
|
|
3980
|
+
if (O.value.includes(r.divisionName) && le.value.some((s) => s.val && s.activeText === r.roleName) && (r.dismissalDate.length === 0 || new Date(r.dismissalDate) > new Date(P.value))) {
|
|
3981
3981
|
let s = We(r.employeeName);
|
|
3982
3982
|
r.employeeName === b.fullName && (Me.value = r.roleName), Z.value.push({
|
|
3983
3983
|
fio: r.employeeName,
|
|
@@ -3993,47 +3993,47 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
3993
3993
|
}
|
|
3994
3994
|
}), Z.value.sort((r, s) => r.fio < s.fio ? -1 : r.fio > s.fio ? 1 : 0), Z.value.forEach((r, s) => {
|
|
3995
3995
|
r.ids = s, be.value.push(r.code);
|
|
3996
|
-
}), b.workSchedule.getUsersYear({ code: be.value, year: new Date(
|
|
3996
|
+
}), b.workSchedule.getUsersYear({ code: be.value, year: new Date(P.value).getFullYear() }).then((r) => {
|
|
3997
3997
|
r.forEach((s) => {
|
|
3998
3998
|
s.dateStart && ye.value.push({ code: s.code, dateStart: s.dateStart, dateEnd: s.dateEnd });
|
|
3999
3999
|
}), gt();
|
|
4000
4000
|
});
|
|
4001
4001
|
}, gt = () => {
|
|
4002
|
-
b.workSchedule.getWorkSheet({ code: be.value, date: ce(new Date(
|
|
4002
|
+
b.workSchedule.getWorkSheet({ code: be.value, date: ce(new Date(P.value), "{Y}-{m}-{dd}") }).then(
|
|
4003
4003
|
(r) => {
|
|
4004
4004
|
$.value = [], r.forEach((s) => {
|
|
4005
4005
|
s !== null && $.value.push({ code: s.code, days: s.data.days });
|
|
4006
|
-
}), b.workSchedule.getWorkSchedule({ code: be.value, date: ce(new Date(
|
|
4006
|
+
}), b.workSchedule.getWorkSchedule({ code: be.value, date: ce(new Date(P.value), "{Y}-{m}-{dd}") }).then(
|
|
4007
4007
|
(s) => {
|
|
4008
4008
|
s.forEach((T, d) => {
|
|
4009
4009
|
var o, i;
|
|
4010
4010
|
if (T !== null) {
|
|
4011
4011
|
Z.value[d].days = [], T.data.days.forEach((m) => m.state = "Я");
|
|
4012
4012
|
for (let m = 1; m <= u.value.length; m++) {
|
|
4013
|
-
let q = ce(new Date(
|
|
4013
|
+
let q = ce(new Date(P.value).setDate(m), "{Y}-{m}-{dd}");
|
|
4014
4014
|
const ie = (o = T.data) == null ? void 0 : o.days.findIndex((Q) => Q.day === q);
|
|
4015
|
-
ie === -1 ?
|
|
4015
|
+
ie === -1 ? Re(m, d, "-", "В") : Z.value[d].days.push((i = T.data) == null ? void 0 : i.days[ie]);
|
|
4016
4016
|
}
|
|
4017
4017
|
} else
|
|
4018
4018
|
for (let m = 1; m <= u.value.length; m++)
|
|
4019
|
-
u.value[m - 1].holidays === "" ?
|
|
4019
|
+
u.value[m - 1].holidays === "" ? Re(m, d, 8) : u.value[m - 1].holidays === "preholiday" ? Re(m, d, 7) : Re(m, d, "-", "В");
|
|
4020
4020
|
const A = Z.value[d];
|
|
4021
4021
|
if (A.employmentDate || A.dismissalDate)
|
|
4022
4022
|
for (let m = 1; m <= u.value.length; m++) {
|
|
4023
|
-
const q = new Date(new Date(
|
|
4023
|
+
const q = new Date(new Date(P.value).setDate(m)), ie = ce(q, "{Y}-{m}-{dd}"), Q = A.employmentDate && q < new Date(A.employmentDate), Ce = A.dismissalDate && q >= new Date(A.dismissalDate).setSeconds(0);
|
|
4024
4024
|
if (Q || Ce) {
|
|
4025
4025
|
const pe = A.days.findIndex((se) => se.day === ie);
|
|
4026
4026
|
pe !== -1 && (A.days[pe].state = "-", A.days[pe].time = "-");
|
|
4027
4027
|
}
|
|
4028
4028
|
}
|
|
4029
4029
|
for (let m = 1; m <= u.value.length; m++) {
|
|
4030
|
-
let q = new Date(new Date(
|
|
4030
|
+
let q = new Date(new Date(P.value).getFullYear(), new Date(P.value).getMonth(), m).getTime() + 1e3;
|
|
4031
4031
|
for (let ie of ye.value) {
|
|
4032
4032
|
const { dateStart: Q, dateEnd: Ce, code: pe } = ie;
|
|
4033
4033
|
if (Q && Ce && pe === Z.value[d].code) {
|
|
4034
4034
|
const se = new Date(Yt(Q)).getTime(), Ne = new Date(Yt(Ce)).getTime();
|
|
4035
4035
|
if (q >= se && q <= Ne) {
|
|
4036
|
-
const c = ce(new Date(
|
|
4036
|
+
const c = ce(new Date(P.value).setDate(m), "{Y}-{m}-{dd}"), Ie = Z.value[d].days.findIndex((Ke) => Ke.day === c);
|
|
4037
4037
|
Ie !== -1 ? Z.value[d].days[Ie] = { day: c, time: "-", state: "ОТ" } : Z.value[d].days.push({ day: c, time: "-", state: "ОТ" });
|
|
4038
4038
|
}
|
|
4039
4039
|
}
|
|
@@ -4044,8 +4044,8 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
4044
4044
|
);
|
|
4045
4045
|
}
|
|
4046
4046
|
);
|
|
4047
|
-
},
|
|
4048
|
-
const A = ce(new Date(
|
|
4047
|
+
}, Re = (r, s, T, d = "Я") => {
|
|
4048
|
+
const A = ce(new Date(P.value).setDate(r), "{Y}-{m}-{dd}");
|
|
4049
4049
|
Z.value[s].days.push({
|
|
4050
4050
|
day: A,
|
|
4051
4051
|
time: T,
|
|
@@ -4082,20 +4082,20 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
4082
4082
|
}, Je = (r, s) => {
|
|
4083
4083
|
var m, q, ie, Q, Ce;
|
|
4084
4084
|
if (s === -1) return "";
|
|
4085
|
-
const T = p.value[s], d = new Date(
|
|
4085
|
+
const T = p.value[s], d = new Date(P.value), A = `${d.getFullYear()}-${(d.getMonth() + 1).toString().padStart(2, "0")}-${r.toString().padStart(2, "0")}`, o = T.days.findIndex((pe) => pe.day === A);
|
|
4086
4086
|
let i = 0;
|
|
4087
4087
|
return (m = T.days[o]) != null && m.overtime && (i += T.days[o].overtime), o === -1 ? "" : T.key === 0 ? (q = T.days[o]) == null ? void 0 : q.state : ((ie = T.days[o]) == null ? void 0 : ie.time) === 0 ? i === 0 ? "-" : i : i === 0 ? (Q = T.days[o]) == null ? void 0 : Q.time : `${((Ce = T.days[o]) == null ? void 0 : Ce.time) - i}/${i}`;
|
|
4088
4088
|
};
|
|
4089
4089
|
b.group && (O.value[0] = b.group), b.date && (ne.value = (/* @__PURE__ */ new Date(b.date + "T00:00:01")).getMonth()), In().then((r) => {
|
|
4090
4090
|
U.value = r, lt();
|
|
4091
4091
|
});
|
|
4092
|
-
const
|
|
4092
|
+
const Pe = (r) => new Date(P.value).getMonth() === (/* @__PURE__ */ new Date()).getMonth() && r === (/* @__PURE__ */ new Date()).getDate() ? " today" : "", st = () => {
|
|
4093
4093
|
let r = ke.value.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/), s = Z.value[f.value.ids].days[f.value.day + 1].tips;
|
|
4094
4094
|
return s = typeof s < "u" ? s.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/) : [0, 9, 18], Number(r[1]) < Number(s[1]) ? `${r[1]}:00 по ${Number(r[1]) + g.value}:00` : `${Number(r[2]) - g.value}:00 по ${r[2]}:00`;
|
|
4095
4095
|
}, vt = () => {
|
|
4096
4096
|
let r = /РВ/.test(ke.value), s = p.value[f.value.ids * 2].name.match(/\(([^)]+)\)/)[1].split(" "), T = "";
|
|
4097
4097
|
s.forEach((q) => {
|
|
4098
|
-
T += `${K.decline({ text: q, gender: tt.Gender.
|
|
4098
|
+
T += `${K.decline({ text: q, gender: tt.Gender.NEUTER }, tt.Case.ACCUSATIVE)} `;
|
|
4099
4099
|
});
|
|
4100
4100
|
let d = p.value[f.value.ids * 2].fio.split(" ");
|
|
4101
4101
|
d = Jt({ last: d[0], first: d[1], middle: d[2] }, "accusative");
|
|
@@ -4103,21 +4103,21 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
4103
4103
|
A = Jt({ last: A[0], first: A[1], middle: A[2] }, "genitive");
|
|
4104
4104
|
let o = Me.value.split(" "), i = "";
|
|
4105
4105
|
o.forEach((q) => {
|
|
4106
|
-
i += `${K.decline({ text: q, gender: tt.Gender.
|
|
4106
|
+
i += `${K.decline({ text: q, gender: tt.Gender.NEUTER }, tt.Case.GENITIVE)} `;
|
|
4107
4107
|
});
|
|
4108
4108
|
let m = r ? ke.value.match(/\(([^)]+)\)/)[1].replace("-", " по ") : st();
|
|
4109
|
-
Ue.value = `<p style="position: absolute;"><img src="https://cp.avanta-telecom.ru${b.logo}" style="height: 3rem;"></p><div style="display:inline-block;margin-left:66%;width:34%;">Директору<br>ООО "АВАНТА ТЕЛЕКОМ" Пунину Д. В.<br><br>от ${T} ${We(`${A.last} ${A.first} ${A.middle}`)}</div><p>${O.value[0]}<br>СЛУЖЕБНАЯ ЗАПИСКА<br>${ce(new Date(
|
|
4109
|
+
Ue.value = `<p style="position: absolute;"><img src="https://cp.avanta-telecom.ru${b.logo}" style="height: 3rem;"></p><div style="display:inline-block;margin-left:66%;width:34%;">Директору<br>ООО "АВАНТА ТЕЛЕКОМ" Пунину Д. В.<br><br>от ${T} ${We(`${A.last} ${A.first} ${A.middle}`)}</div><p>${O.value[0]}<br>СЛУЖЕБНАЯ ЗАПИСКА<br>${ce(new Date(P.value).setDate(f.value.day + 1), '"{dd}" {F} {Y}')}г.</p><p style="text-align:center;">Уважаемый Дмитрий Владимирович!</p><p>В связи с производственной необходимостью З_А_П_О_Л_Н_И_Т_Ь_! , прошу привлечь к ${r ? "работе в выходной день" : "сверхурочной работе"}, ${ce(new Date(P.value).setDate(f.value.day + 1), "{dd}.{m}.{Y}")} c ${m}, ${T} ${d.last} ${d.first} ${d.middle} для выполнения вышеуказанных работ с ${(d == null ? void 0 : d.gender) === "male" ? "его" : "её"} письменного согласия.</p><p>${Me.value} ________________ ${We(b.fullName)}</p>`;
|
|
4110
4110
|
}, Fe = () => {
|
|
4111
4111
|
let r = /РВ/.test(ke.value), s = r ? ke.value.match(/\(([^)]+)\)/)[1].replace("-", " по ") : st();
|
|
4112
|
-
Ue.value = `<style> @page{size: A4 portrait;margin-top: 20pt;} @media print{.no-print{display: none !important;}} </style><body style="font:9pt/1.08;"><h1 style="text-align: center;"><img style="margin-bottom: 20pt;" src="https://avanta-telecom.ru/local/templates/main/images/Logo-hs.png" width="174" height="51" alt="logo" /><br/>Общество с ограниченной ответственностью «АВАНТА ТЕЛЕКОМ»<br>(ООО «АВАНТА ТЕЛЕКОМ»)</h1><table width="100%" border="0" cellspacing="0" cellpadding="0"><col width="50%"/><col width="50%"/><tr><td align="left "><span>г.Краснодар</span></td><td align="right"><span>________________ года</span></td></tr></table><p style="text-align:center;margin: 0 0 .26cm;"><b>УВЕДОМЛЕНИЕ</br>${r ? "о работе в выходной день" : "о привлечении к сверхурочной работе "}</b></p><p style="text-align:center;margin: 0 0 .26cm;">Уважаемый ${p.value[f.value.ids * 2].fio}!</p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Уведомляю Вас, что в связи с производственной необходимостью возникла необходимость ${r ? "работы в выходной день," + ce(new Date(
|
|
4112
|
+
Ue.value = `<style> @page{size: A4 portrait;margin-top: 20pt;} @media print{.no-print{display: none !important;}} </style><body style="font:9pt/1.08;"><h1 style="text-align: center;"><img style="margin-bottom: 20pt;" src="https://avanta-telecom.ru/local/templates/main/images/Logo-hs.png" width="174" height="51" alt="logo" /><br/>Общество с ограниченной ответственностью «АВАНТА ТЕЛЕКОМ»<br>(ООО «АВАНТА ТЕЛЕКОМ»)</h1><table width="100%" border="0" cellspacing="0" cellpadding="0"><col width="50%"/><col width="50%"/><tr><td align="left "><span>г.Краснодар</span></td><td align="right"><span>________________ года</span></td></tr></table><p style="text-align:center;margin: 0 0 .26cm;"><b>УВЕДОМЛЕНИЕ</br>${r ? "о работе в выходной день" : "о привлечении к сверхурочной работе "}</b></p><p style="text-align:center;margin: 0 0 .26cm;">Уважаемый ${p.value[f.value.ids * 2].fio}!</p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Уведомляю Вас, что в связи с производственной необходимостью возникла необходимость ${r ? "работы в выходной день," + ce(new Date(P.value).setDate(f.value.day + 1), "{dd}.{m}.{Y}") : "Вас " + ce(new Date(P.value).setDate(f.value.day + 1), "{dd}.{m}.{Y}") + "г. к сверхурочной работе"} с ${s} часов${r ? " (с перерывом на отдых и прием пищи 1 час)" : ""}.</p>${r ? '<p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Прошу дать согласие на работу в вышеназванный выходной день.</p>' : ""}<p style="margin: 0 0 .26cm;text-indent: 20px each-line;">${r ? "" : "После ознакомления прошу сделать в настоящем уведомлении отметку о согласии/несогласии. "}Если есть запрет на привлечение Вас к работе ${r ? "в выходной день" : "сверхурочно"} (по состоянию здоровья в соответствии с медицинским заключением), прошу сообщить об этом.</p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Сообщаю, что за работу ${r ? "в выходной день полагается оплата в двойном размере. По Вашему желанию вместо двойной оплаты может быть предоставлен день отдыха – в этом случае работа в выходной день будет оплачена в одинарном размере, а день отдыха оплате не подлежит." : "сверхурочно"}<br/></p><table width="100%" border="0" cellspacing="0" cellpadding="0"><col width="50%"/><col width="50%"/><tr><td align="center"><span>Директор</span></td><td align="center"><span>Пунин Д.В</span></td></tr></table><p style="text-align:center;margin: 0 0 .26cm;"><br/></p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Я, ${p.value[f.value.ids * 2].fio} настоящим сообщаю следующее:</p><p style="margin: 0 0 .26cm;">1. На привлечение к ${r ? "работе в выходной день," : "сверхурочной работе"} ${ce(new Date(P.value).setDate(f.value.day + 1), "{dd}.{m}.{Y}")} :</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>согласен</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">2. С правом отказаться от ${r ? "работы в выходные дни" : "сверхурочной работы"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>ознакомлен</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">3. Запрет на работу ${r ? "в выходные дни," : "сверхурочно"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>отсутствует</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;" align="center"><p>(если есть запрет, указать какой)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">4. ${r ? "Работу в выходные дни," : "Работу сверхурочно"} прошу компенсировать:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>${r ? "Оплатой в двойном размере" : "Оплатой в повышенном размере"}</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">5. Экземпляр уведомления о работе ${r ? "в выходные дни" : "сверхурочно"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>получил</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table>`;
|
|
4113
4113
|
}, Xe = async () => {
|
|
4114
4114
|
var Ce, pe, se, Ne;
|
|
4115
4115
|
ve.value = !0;
|
|
4116
|
-
const r = new Mn.Workbook(), s = r.addWorksheet(M(
|
|
4116
|
+
const r = new Mn.Workbook(), s = r.addWorksheet(M(P.value, "month"), { pageSetup: { paperSize: 9, orientation: "landscape", fitToPage: !0 } }), T = { vertical: "middle", horizontal: "center" }, d = { top: { style: "thin" }, left: { style: "thin" }, bottom: { style: "thin" }, right: { style: "thin" } }, A = { vertical: "middle", horizontal: "center", wrapText: !0 };
|
|
4117
4117
|
s.mergeCells(`A1:${te("A1", u.value.length + 15)}1`), s.mergeCells("A2:A4"), s.mergeCells("B2:B4"), s.mergeCells("C2:C4"), s.mergeCells("D5:R5"), s.mergeCells(`D2:${te("D2", u.value.length + 2)}2`), s.mergeCells(`${te("D2", u.value.length + 3)}2:${te("D2", u.value.length + 8)}2`), s.mergeCells(`${te("D2", u.value.length + 9)}2:${te("D2", u.value.length + 9)}4`), s.mergeCells(`${te("D2", u.value.length + 10)}2:${te("D2", u.value.length + 11)}2`), s.mergeCells(`${te("D2", u.value.length + 12)}2:${te("D2", u.value.length + 12)}4`), s.mergeCells(`${te("D3", u.value.length + 3)}3:${te("D3", u.value.length + 3)}4`), s.mergeCells(`${te("D3", u.value.length + 4)}3:${te("D3", u.value.length + 8)}3`), s.mergeCells(`${te("D3", u.value.length + 10)}3:${te("D3", u.value.length + 10)}4`), s.mergeCells(`${te("D3", u.value.length + 11)}3:${te("D3", u.value.length + 11)}4`), s.mergeCells(`T5:${te("D5", u.value.length + 1)}5`);
|
|
4118
4118
|
for (let c = 1; c <= u.value.length + 2; c++)
|
|
4119
4119
|
s.mergeCells(`${te("D3", c)}3:${te("D4", c)}4`), s.getColumn(c + 3).width = 5, s.getColumn(c + 3).alignment = A, s.getCell(3, c + 3).border = d, c < 16 && (s.getCell(3, c + 3).value = c), c > 16 && (s.getCell(3, c + 3).value = c - 1);
|
|
4120
|
-
s.getCell("A1").value = h("sheet.title", { name: O.value[0] }) + M(
|
|
4120
|
+
s.getCell("A1").value = h("sheet.title", { name: O.value[0] }) + M(P.value, "month"), s.getCell("A2").value = h("sheet.listNumber"), s.getCell("B2").value = h("sheet.employee"), s.getCell("C2").value = h("sheet.personnelNumber"), s.getCell("D2").value = h("sheet.marks"), s.getCell("S3").value = h("sheet.halfMonth", { half: "I" }), s.getCell("A5").value = "1", s.getCell("B5").value = "2", s.getCell("C5").value = "3", s.getCell("D5").value = "4", s.getCell("S5").value = "5", s.getCell("T5").value = "6", s.getCell(5, u.value.length + 5).value = "7", s.getCell(2, u.value.length + 6).value = h("sheet.workedMonth"), s.getCell(2, u.value.length + 12).value = h("sheet.numberNonAppearing"), s.getCell(2, u.value.length + 13).value = h("sheet.them"), s.getCell(2, u.value.length + 15).value = h("sheet.countWeekend"), s.getCell(3, u.value.length + 5).value = h("sheet.halfMonth", { half: "II" }), s.getCell(3, u.value.length + 6).value = h("sheet.days"), s.getCell(3, u.value.length + 7).value = h("sheet.hours"), s.getCell(4, u.value.length + 7).value = h("sheet.all"), s.getCell(4, u.value.length + 8).value = h("sheet.overtime"), s.getCell(4, u.value.length + 9).value = h("sheet.night"), s.getCell(4, u.value.length + 10).value = h("sheet.weekend"), s.getCell(4, u.value.length + 13).value = h("sheet.code"), s.getCell(4, u.value.length + 14).value = h("sheet.count"), s.getRow(1).height = 40, s.getRow(2).height = 32, s.getRow(3).height = 20, s.getRow(4).height = 60, s.getColumn(1).width = 6, s.getColumn(2).width = 30, s.getColumn(3).width = 17, s.getColumn(19).width = 12, s.getColumn(u.value.length + 5).width = 12, s.getColumn(u.value.length + 12).width = 11, s.getColumn(u.value.length + 15).width = 11, s.getCell("A1").alignment = T, s.getColumn(1).alignment = A, s.getColumn(2).alignment = A, s.getColumn(3).alignment = A;
|
|
4121
4121
|
for (let c = 6; c <= 15; c++)
|
|
4122
4122
|
s.getCell(5, u.value.length + c).value = c + 2, s.getColumn(u.value.length + c).alignment = A, s.getCell(4, u.value.length + c).border = d, s.getCell(5, u.value.length + c).border = d;
|
|
4123
4123
|
s.getCell("A2").border = d, s.getCell("B2").border = d, s.getCell("C2").border = d, s.getCell("D2").border = d, s.getCell("D2").border = d, s.getCell("A5").border = d, s.getCell("B5").border = d, s.getCell("C5").border = d, s.getCell("D5").border = d, s.getCell("S5").border = d, s.getCell("T5").border = d, s.getCell(2, u.value.length + 6).border = d, s.getCell(2, u.value.length + 12).border = d, s.getCell(2, u.value.length + 13).border = d, s.getCell(2, u.value.length + 15).border = d, s.getCell(3, u.value.length + 7).border = d;
|
|
@@ -4150,7 +4150,7 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
4150
4150
|
}
|
|
4151
4151
|
let q = "Калач В. В.";
|
|
4152
4152
|
b.odata.personal.forEach((c) => {
|
|
4153
|
-
c.roleName === "Специалист по кадрам и кадровому делопроизводству" && (c.dismissalDate.length === 0 || new Date(c.dismissalDate) > new Date(
|
|
4153
|
+
c.roleName === "Специалист по кадрам и кадровому делопроизводству" && (c.dismissalDate.length === 0 || new Date(c.dismissalDate) > new Date(P.value)) && (q = c.employeeName);
|
|
4154
4154
|
}), s.mergeCells(`A${p.value.length + 7}:B${p.value.length + 7}`), s.mergeCells(`C${p.value.length + 7}:G${p.value.length + 7}`), s.mergeCells(`H${p.value.length + 7}:M${p.value.length + 7}`), s.mergeCells(`O${p.value.length + 7}:T${p.value.length + 7}`), s.mergeCells(`V${p.value.length + 7}:AC${p.value.length + 7}`), s.mergeCells(`AD${p.value.length + 7}:AI${p.value.length + 7}`), s.mergeCells(`AJ${p.value.length + 7}:AL${p.value.length + 7}`), s.mergeCells(`AM${p.value.length + 7}:AP${p.value.length + 7}`), s.mergeCells(`V${p.value.length + 9}:AC${p.value.length + 9}`), s.mergeCells(`AD${p.value.length + 9}:AI${p.value.length + 9}`), s.mergeCells(`AJ${p.value.length + 9}:AL${p.value.length + 9}`), s.mergeCells(`AM${p.value.length + 9}:AP${p.value.length + 9}`), s.getCell(`A${p.value.length + 7}`).value = h("sheet.responsiblePerson"), s.getCell(`V${p.value.length + 7}`).value = h("sheet.headStructural"), s.getCell(`C${p.value.length + 7}`).value = Me.value + ":", s.getCell(`O${p.value.length + 7}`).value = We(b.fullName), s.getCell(`AD${p.value.length + 7}`).value = Me.value + ":", s.getCell(`AM${p.value.length + 7}`).value = We(b.fullName), s.getCell(`V${p.value.length + 9}`).value = h("sheet.HREmployee"), s.getCell(`AD${p.value.length + 9}`).value = "Специалист по кадрам и кадровому делопроизводству:", s.getCell(`AM${p.value.length + 9}`).value = We(q), s.getCell(`A${p.value.length + 7}`).alignment = { vertical: "middle", horizontal: "right", wrapText: !0 }, s.getCell(`C${p.value.length + 7}`).alignment = { vertical: "middle", horizontal: "right", wrapText: !0 }, s.getCell(`O${p.value.length + 7}`).alignment = { vertical: "middle", horizontal: "left" }, s.getCell(`V${p.value.length + 7}`).alignment = { vertical: "middle", horizontal: "right", wrapText: !0 }, s.getCell(`AD${p.value.length + 7}`).alignment = { vertical: "middle", horizontal: "right", wrapText: !0 }, s.getCell(`AM${p.value.length + 7}`).alignment = { vertical: "middle", horizontal: "left" }, s.getCell(`V${p.value.length + 9}`).alignment = { vertical: "middle", horizontal: "right", wrapText: !0 }, s.getCell(`AD${p.value.length + 9}`).alignment = { vertical: "middle", horizontal: "right", wrapText: !0 }, s.getCell(`AM${p.value.length + 9}`).alignment = { vertical: "middle", horizontal: "left" }, s.getCell(`H${p.value.length + 7}`).border = { bottom: { style: "thin" } }, s.getCell(`AJ${p.value.length + 7}`).border = { bottom: { style: "thin" } }, s.getCell(`AJ${p.value.length + 9}`).border = { bottom: { style: "thin" } };
|
|
4155
4155
|
const ie = `export_${ce(Date.now(), "{dd}.{m}.{Y}")}.xlsx`, Q = await r.xlsx.writeBuffer();
|
|
4156
4156
|
Ht(new Blob([Q]), ie), ve.value = !1;
|
|
@@ -4161,7 +4161,7 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
4161
4161
|
return (r, s) => {
|
|
4162
4162
|
const T = At("el-form-item"), d = At("svg-icon"), A = At("el-slider"), o = bn("loading");
|
|
4163
4163
|
return ee(), Ve(Ye, null, [
|
|
4164
|
-
we("div",
|
|
4164
|
+
we("div", Rn, [
|
|
4165
4165
|
ge.checkEdit ? (ee(), de(v(xn), {
|
|
4166
4166
|
key: 0,
|
|
4167
4167
|
modelValue: O.value,
|
|
@@ -4231,7 +4231,7 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
4231
4231
|
}, {
|
|
4232
4232
|
default: k(() => [
|
|
4233
4233
|
z(v(ue), {
|
|
4234
|
-
label: v(h)("sheet.title", { name: O.value[0] }) + v(M)(
|
|
4234
|
+
label: v(h)("sheet.title", { name: O.value[0] }) + v(M)(P.value, "month"),
|
|
4235
4235
|
align: "center",
|
|
4236
4236
|
height: "10"
|
|
4237
4237
|
}, {
|
|
@@ -4267,13 +4267,13 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
4267
4267
|
i.day <= 15 ? (ee(), de(v(ue), {
|
|
4268
4268
|
key: 0,
|
|
4269
4269
|
width: "39",
|
|
4270
|
-
"class-name": i.holidays +
|
|
4270
|
+
"class-name": i.holidays + Pe(i.day),
|
|
4271
4271
|
align: "center",
|
|
4272
4272
|
label: i.day.toString() + `
|
|
4273
4273
|
` + i.weekday
|
|
4274
4274
|
}, {
|
|
4275
4275
|
default: k((m) => [
|
|
4276
|
-
we("div",
|
|
4276
|
+
we("div", Pn, X(Je(i.day, m.$index) || " "), 1)
|
|
4277
4277
|
]),
|
|
4278
4278
|
_: 2
|
|
4279
4279
|
}, 1032, ["class-name", "label"])) : Ee("", !0),
|
|
@@ -4291,7 +4291,7 @@ const tt = /* @__PURE__ */ Kt(Fn), Pn = { class: "nav" }, Rn = { style: { height
|
|
|
4291
4291
|
i.day > 15 ? (ee(), de(v(ue), {
|
|
4292
4292
|
key: 2,
|
|
4293
4293
|
width: "39",
|
|
4294
|
-
"class-name": i.holidays +
|
|
4294
|
+
"class-name": i.holidays + Pe(i.day),
|
|
4295
4295
|
align: "center",
|
|
4296
4296
|
label: i.day.toString() + `
|
|
4297
4297
|
` + i.weekday
|